Skip to main content

Features

  • Find records by external ID: You can now look up invoices and other records using an external integration ID, such as a Stripe ID, instead of searching by internal reference only.
  • Billable expense fields on the public API: The public API now exposes is_billable, customer, project, and markup percentage fields on the bill, direct expense, vendor credit, purchase order, and journal entry write endpoints.
  • Bulk archive and recover for more record types: Direct expenses and vendor payments now support bulk archive and recover, and bulk actions for billable expenses now work across all source transaction types.
  • Send invoices from the public API: You can now send an invoice to a customer directly through the public API instead of sending it from the app.
  • Custom views for billable expense lines: You can now create and save custom views for billable expense lines, the same way you can for other list views.
  • VAT and GST rates in bulk import: Bulk Import and Update V2 for bills and invoices now supports VAT and GST rate fields, so you no longer need to set tax rates manually after importing.
  • Billable expense and intercompany data on detail reports: The general ledger, income statement, and balance sheet detail reports now show billable expense fields and a link to the related intercompany invoice.
  • EBITDA income statement detail view: The EBITDA income statement report now has a Detail tab, so you can drill down from a summary line into the underlying transactions again.
  • Clearer EBITDA view toggle labels: The EBITDA report’s view toggle now reads “Net Income to EBITDA” and “EBITDA to Net Income” instead of “Reconciliation” and “P&L View”, so it’s clear which direction each view reads.
  • Exclude inactive companies from reports: You can now exclude inactive companies when viewing consolidated reports and dashboards.
  • CTA Balance Audit report available to more users: The CTA Balance Audit report now appears in the Report Center for every user with financial statement access, instead of a limited group.
  • Yapily hosted bank connection flow: Connecting a bank account through Yapily now uses a hosted consent redirect flow, including support for two-factor authentication during setup.

Fixes

  • Stuck scheduled agent runs: Scheduled agent runs that were left stuck in a running state after a crash are now automatically detected and recovered.
  • Bulk import exchange rate precision: The bulk import exchange rate field no longer caps values at 6 decimal places, so imported rates now match the precision used elsewhere in the system.
  • Currency revaluation archive messages: Archiving or recovering a currency revaluation from its detail page no longer shows an error message alongside the success message.
  • Custom field validation on recurring records: Recurring records now correctly validate required custom fields before saving.
  • Global search record labels: Global search now labels customer and vendor records as “Customer” and “Vendor” instead of “Company” when the record belongs to a company.
  • Dashboard filters not refreshing data: Changing a filter on the dashboard, such as by customer, now updates the numbers shown without requiring a page reload.
  • Chart of accounts number range: Entering an account number outside the suggested range for its type now shows a hint instead of blocking you from saving the account.
  • PDF attachment icon: The attachment icon for PDF files now displays correctly instead of showing the wrong icon.
  • Opening a workbook from any row cell: You can now open a workbook by clicking anywhere in its row, not only on the workbook name.
  • Account merge drawer button alignment: The Merge button in the account merge drawer now aligns to the right of the footer, consistent with other drawers.
Last modified on September 22, 2026