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.
Release - April 28, 2026
Features
- AI Copilot: Interactive drill-down on charts and tables - Clicking a numeric value in Copilot scorecards, charts, and tables now opens the corresponding filtered report (Income Statement, Sales by Customer, and others). Drill-down is available for expense, revenue, and vendor-level views across Q11–Q16.
-
BAI bank statement imports - The financial transactions bulk import now accepts BAI bank statement files (
.bai,.bai2,.txt) in addition to CSV and Excel. Use this to import bank transactions directly from your financial institution’s BAI export. - Payment Method: “Exclude from 1099” flag - You can now mark a payment method as excluded from 1099 reporting. This flag is available when creating or editing a payment method and is reflected in vendor payment records.
- Payment Method audit log - Changes to payment methods are now recorded in the audit log, giving you a full history of who created, modified, or deleted each payment method.
- Migrations: Sync outstanding transactions only - The data migration sync trigger now supports a “Sync all outstanding transactions” mode that re-syncs only records in Ready-to-sync or Error status, skipping rows that are already mapped. This reduces sync time after fixing mapping errors.
- Bank Rules permissions - Access to Bank Rules is now governed by role-based permissions, giving administrators control over who can create and manage bank matching rules.
- Brex: Accounting entity push sync - DualEntry now pushes company and accounting entity data to Brex during integration sync, keeping your Brex configuration aligned with your DualEntry entity structure.
- Xero: VAT support for vendor credits - Vendor credits synced through the Xero integration now include VAT data, ensuring credit notes are reflected accurately in your tax records.
- HubSpot: Contracts now appear in list responses - HubSpot-sourced records are now included when retrieving contract lists, so your HubSpot-linked contracts are visible alongside natively created contracts.
- Journal Entries: Bulk update via CSV import - You can now update multiple journal entries at once by uploading a CSV, matching the existing bulk update flow available for bills, accounts, vendors, and customers.
- HR user role - A new built-in HR role is available for users who manage HRIS integrations. The HR role includes view access to chart of accounts, classifications, and company settings, plus permission to create and manage integrations.
- Stripe: Auto-create customer payments from Payment Links - When a customer pays via a Stripe Payment Link, DualEntry now automatically creates the corresponding customer payment record, removing the need for manual entry.
- Ramp: Intercompany vendor payment support - The Ramp integration now detects and records cross-company vendor payments as intercompany transactions, keeping your intercompany accounting accurate when payments are made across entities.
- Xero migration: VAT rates imported as line-level tax - When migrating from Xero, VAT rates are now brought into DualEntry as proper per-line tax amounts rather than separate liability line items, ensuring VAT is correctly reflected in tax reports and eliminating double-counting on inclusive invoices.
- Dashboard: Faster AR and AP aging widgets - The Outstanding and Overdue AR/AP aging widgets on the default dashboard view now load significantly faster, with load times reduced by approximately 3× for large data sets.
- Customer statements - DualEntry now supports customer statement records, giving you a structured view of outstanding balances and transaction history per customer.
Fixes
- Dashboard: Incorrect currency display - The dashboard was showing amounts in the wrong currency for some multi-currency setups. Amounts now display in the correct currency.
- Customer and vendor outstanding balances: Consolidated exchange rate - Outstanding balances for customers and vendors now use the consolidated exchange rate, matching the values shown in AR and AP aging reports.
- Contracts: Locked-period validation with cutover date - Contracts with a cutover date were incorrectly blocked by locked-period validation for dates before the cutover, even though no records would be created for those periods. The validation now only checks dates on or after the cutover date.
- Bulk import CSV templates: Standardized column names and date format - Bulk import CSV templates now use consistent column names and a uniform date format. Previously downloaded templates continue to work - old column names remain supported.
- Bill.com: Connection failures on reconnect - Reconnecting a Bill.com integration was failing when the company ID was not in the expected format. The reconnect flow now accepts the credentials Bill.com provides without requiring manual reformatting.
- Plaid: Incorrect last-synced timestamp - Plaid bank connections were recording the sync timestamp as the current time rather than the actual aggregation time, causing sync status to appear more recent than it was. The timestamp is now set correctly.
- Stripe: Sync errors on locked periods - The Stripe integration was encountering errors when syncing contracts whose revenue recognition or invoice dates fell within a locked period. These sync errors are now handled gracefully.
- Stripe: Payment Link fee recording - Fees recorded via Stripe Payment Link webhooks were being applied incorrectly in some cases. Fee amounts are now recorded accurately, and stale payment intent records no longer cause sync failures.
- Cubby: Account type filtering in account picker - When editing a Cubby account mapping, the account picker was showing all account types instead of filtering to the correct type. The picker now correctly filters based on the source account type from Cubby.
- Cash flow waterfall chart: Opening balance display - The opening cash balance bar was not reliably appearing in the waterfall chart due to an internal comparison issue. The opening balance now renders correctly in all cases.
- Migrations: SQL format errors - Certain data migration operations were failing due to a SQL formatting issue. Affected migrations now complete successfully.
- Bank Match AI: Performance improvements - Matching suggestions now load faster. Several database query inefficiencies in the AI matching process have been resolved, reducing the number of queries executed per matched payment.
- Bill.com: Sync errors from skipped account mappings - The Bill.com sync was failing when item imports encountered skipped or stale account mappings, causing records to not be created. Skipped mappings are now handled correctly and no longer block the sync.
- Fixed assets: Spurious archive error message - Archiving a fixed asset from the Asset Overview was displaying a “Failed to archive fixed asset” error even when the archive succeeded. The error no longer appears, and archiving now correctly cascades to associated disposals and recalculations.
- Fixed assets: Half-month and mid-month depreciation convention calculations - Depreciation amounts calculated using the half-month and mid-month conventions were incorrect in some cases. Calculations now produce the correct values.
- Plaid: Stale sync cursors not cleared on pagination errors - Plaid transaction sync was not correctly recognizing cursor invalidation errors during pagination, causing stale cursors to persist and preventing fresh transaction data from loading. Cursors are now cleared correctly when Plaid signals invalidation.
- AI Copilot: Analytics table rendering - Aggregate and breakdown tables in the AI Copilot were rendering incorrectly due to schema mismatches, including string-formatted currency values and missing column type hints. Tables now render correctly with properly formatted numbers and totals.
- Zoho: Invoice items failing to sync - Zoho invoice items with names exceeding field length limits were failing to create master records in DualEntry, which also blocked the creation of associated customer payments. Item names are now trimmed automatically during sync.
- HR role: Access to recurring transactions - Users assigned the HR role were unable to view recurring transactions. HR users can now view recurring transactions, consistent with all other non-admin roles.
- Ramp: Vendor payment sync errors - The Ramp integration was failing in certain cases when optional vendor payment detail fields were absent. These fields now default correctly, preventing sync errors.
- Bank connections: Daily health check retry behavior - The bank connection health check task was re-entering its lock window immediately on retry, causing retries to no-op. Retry timing is now aligned with the lock duration so retries execute as expected.
- Integrations: Transient sync failures during daily transaction sync - Some bank connections were experiencing 502 errors during daily transaction sync due to transient provider errors. The sync now retries automatically on these errors, reducing failed syncs.
