- Fix: Custom external references on products were silently dropped. They are now persisted correctly.
- Fix: Custom field values on invoice and credit memo items are now included in GET responses.
A new endpoint to retrieve an executive profit and loss report:
GET /reports/executive-pl- Returns an executive P&L report with margins for a specified date range
Supports optional subsidiary_id, breakdown_by, consolidated, and currency parameters.
Fix: include fields, description, and exchange_rate in the JE line items
Full bank transaction lifecycle management:
POST /bank-transactions- Create a bank transactionGET /bank-transactions- List all bank transactionsGET /bank-transactions/{bank_transaction_id}- Retrieve a bank transactionPUT /bank-transactions/{bank_transaction_id}- Update a bank transactionDELETE /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 accountDELETE /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 Requestinstead of500 Internal Server Error - Invalid contract status filter values now return
400 Bad Requestinstead of500 Internal Server Error
Contract usage billing configuration has been restructured into a single usage_configuration object:
- Breaking Change: The
usage_overage_invoicingandusage_commitmenttop-level fields on the Contract response have been replaced byusage_configuration - The new
usage_configurationobject contains:usage_invoicing- Usage invoicing frequency, payment terms, invoice date, and cycleminimum_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 (MONTHLYorCONTRACT)contract_level_minimum_commitment- Shared minimum commitment across all usage items
- Item-level minimum commitments: Contract items with usage pricing now support
usage_minimum_commitmentfor per-item commitments - The
intervalfield has been removed fromUsageCommitment; useminimum_commitment_cycleinstead
