> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Invoice sending API and EBITDA drill-down (Sep 22, 2026)

> Release notes for September 22, 2026

## 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.
* **Sync invoice billing details to HubSpot**: DualEntry now syncs invoice billed, paid, and balance due amounts, along with status and aging buckets, to HubSpot as payments and archive changes occur.
* **Yapily transaction sync**: Bank transactions from accounts connected through Yapily now sync automatically, including an initial backfill of transaction history.

## 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 six 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.
* **Stripe invoice line order**: Invoice lines synced from Stripe now keep a stable order instead of reordering unpredictably.
* **Invoice email sending timeout**: Sending a public invoice email no longer times out and fails silently in some cases.
