Filter journal entries by their posting date (the date the entry impacts the general ledger):

  • GET /journal-entries?date.gte=2023-12-01&date.lte=2023-12-31 - All JEs posted in December 2023

Supports date.gte and date.lte parameters, which can be combined to define a date window.

Subscribe to journal entry lifecycle events:

  • journal-entry-created - Triggered when a journal entry is created
  • journal-entry-updated - Triggered when a journal entry is updated
  • journal-entry-deleted - Triggered when a journal entry is deleted

Custom fields now include timestamps and support filtering by last update time:

  • Fields now include an updated_at field in API responses showing when the field was last modified
  • GET /fields?updated.gt={timestamp} - Filter fields updated after a specific timestamp

This allows you to efficiently synchronize custom field definitions by fetching only recently modified fields.

Filter accounts by their last update time using the updated.gt parameter:

  • GET /accounts?updated.gt={timestamp} - Accounts updated after timestamp

This allows you to efficiently synchronize account data by fetching only recently modified accounts.

Accounts now include an updated_at field in API responses. This field contains a timestamp of when the account was last modified.

This aligns accounts with other entities (Customer, Invoice, Payment, Credit Memo, Journal Entry) that already include updated_at.

A new endpoint to retrieve a balance sheet report as of a specified date:

  • GET /reports/balance-sheet - Returns a balance sheet report with assets, liabilities, and equity sections

Supports optional subsidiary_id and breakdown_by parameters.

A new endpoint to retrieve a trial balance report for a specified date range:

  • GET /reports/trial-balance - Returns account balances including beginning balance, debits, credits, and ending balance for each account

Supports optional subsidiary_id parameter to filter results by subsidiary.

Filter accounts payable entities by their last update time using the updated.gt parameter:

  • GET /vendors?updated.gt={timestamp} - Vendors updated after timestamp
  • GET /bills?updated.gt={timestamp} - Bills updated after timestamp
  • GET /charges?updated.gt={timestamp} - Charges updated after timestamp
  • GET /reimbursements?updated.gt={timestamp} - Reimbursements updated after timestamp

Journal entries now support exchange rates for multi-currency scenarios:

  • Added optional exchange_rate parameter when creating journal entries
  • If provided, the specified exchange rate will be used for currency conversion
  • If not provided, the system will use the default FX rates

Contracts now support exchange rates for multi-currency scenarios:

  • Added optional exchange_rate parameter when creating contracts
  • If provided, the specified exchange rate will be used for currency conversion
  • If not provided, the system will look up the default exchange rate
  • Improved error message when no exchange rate is available