Full bank transaction lifecycle management:

  • POST /bank-transactions - Create a bank transaction
  • GET /bank-transactions - List all bank transactions
  • GET /bank-transactions/{bank_transaction_id} - Retrieve a bank transaction
  • PUT /bank-transactions/{bank_transaction_id} - Update a bank transaction
  • DELETE /bank-transactions/{bank_transaction_id} - Delete a bank transaction

Filter reporting journal entries by their posting date:

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

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

New endpoints to create and delete bank accounts:

  • POST /bank-accounts - Create a new bank account
  • DELETE /bank-accounts/{bank_account_id} - Delete a bank account

Added account mask and name fields to bank account responses.

A new endpoint to retrieve a cash flow statement report for a specified date range:

  • GET /reports/cash-flow-statement - Returns a cash flow statement report

Supports optional subsidiary_id and breakdown_by parameters.

A new endpoint to retrieve an income statement report for a specified date range:

  • GET /reports/income-statement - Returns an income statement report

Supports optional subsidiary_id and breakdown_by parameters.

Improved error handling for invalid input on Products and Contracts endpoints:

  • Invalid account codes on product creation/update now return 400 Bad Request instead of 500 Internal Server Error
  • Invalid contract status filter values now return 400 Bad Request instead of 500 Internal Server Error

Contract usage billing configuration has been restructured into a single usage_configuration object:

  • Breaking Change: The usage_overage_invoicing and usage_commitment top-level fields on the Contract response have been replaced by usage_configuration
  • The new usage_configuration object contains:
    • usage_invoicing - Usage invoicing frequency, payment terms, invoice date, and cycle
    • minimum_commitment_invoicing - Commitment invoicing frequency and payment terms (only present when a minimum commitment is configured)
    • minimum_commitment_cycle - How often the minimum commitment resets (MONTHLY or CONTRACT)
    • contract_level_minimum_commitment - Shared minimum commitment across all usage items
  • Item-level minimum commitments: Contract items with usage pricing now support usage_minimum_commitment for per-item commitments
  • The interval field has been removed from UsageCommitment; use minimum_commitment_cycle instead

List journal entries with line item amounts converted to the subsidiary's reporting currency:

  • GET /reports/journal-entries - Returns reporting journal entries with local and reporting currency amounts
  • Supports pagination via limit and cursor parameters
  • Filter by subsidiary_id or updated.gt timestamp
  • Sort by created (default) or updated

List all available tax rates via the API:

  • GET /tax-rates - Returns all tax rates with their IDs, codes, country, description, and percentage
  • GET /tax-rates?country=US - Filter tax rates by country using a two-letter country code (ISO 3166-1 alpha-2)

Use the returned tax rate IDs when creating bills with specific tax codes.

Bill line items now accept an optional tax_code to reference a predefined tax rate:

  • Added optional tax_code field to the tax rate object on bill line items
  • When provided, the predefined rate's percentage, country, and description are used instead of the inline values