Features
- Period locking from chat - You can now lock accounting periods directly through the AI copilot, streamlining the period-end close process.
- Workflow engine - New generic workflow engine enables organizations to define, validate, and execute custom workflow DAGs with detailed run and step tracking.
- Benchmark organization snapshot history - Added snapshot history view and the ability to restore specific versions of benchmark organizations.
- Account mapping sorting - Account mapping pages now support sorting by transaction count to prioritize high-volume accounts during setup.
- Paper check recovery - Archived paper checks can now be restored through a new recovery endpoint, returning them to their previous printed or not-printed state.
- Stripe payment method visibility - Customer payments synced from Stripe now display the payment method (ACH, card, etc.) in the memo field for better transaction visibility.
- Custom domain for attachments - File attachments are now served from https://cdn.dualentry.com/attachments/ instead of raw S3 URLs.
- Future posting dates validation - Added organization-level setting to control how far in the future transaction dates can be posted.
- Revenue recognition contract cutover automation - Stripe-synced contracts now automatically map their cutover date from the integration’s initial cut-off date when revenue recognition is disabled.
- User role bulk permission editing - Role management now includes “Select all” toggles for each permission column, allowing administrators to quickly grant or revoke permissions across all modules.
- Customer and vendor hierarchy filters - Filter dropdowns for customers and vendors now display parent-child relationships with expandable trees and “Include children” options for easier selection of related entities.
- Customer Credits visibility improvement - The Customer Credits section now only appears on contract overview pages when credits exist, reducing clutter for contracts without credits.
- Copilot product analytics - Enhanced tracking of AI copilot usage patterns through improved event capture for better product insights.
- Default AR account configuration for contracts - Contract and contract template forms now support configuring default accounts receivable accounts, with AR account editing enabled on contract-generated invoices.
Fixes
- Bank reconciliation variance alignment - Fixed reconciliation General Ledger Balance to read from the same trusted source as legacy reports, eliminating variance discrepancies.
- Copilot session interruption - Resolved issue where interrupted first turns in chat sessions would break session data and prevent title generation.
- Invoice API performance - Optimized slow invoice queries by removing unnecessary joins from amount_due filters, reducing response times from 2+ seconds.
- Multi-year revenue recognition calculation - Fixed ARR calculation error for performance obligations spanning multiple years.
- Bank match task performance - Resolved intermittent slowdowns caused by bank match background tasks holding database locks too long.
- Multi-company Balance Sheet currency display - Fixed issue where multi-company Balance Sheets showed local currency amounts instead of converted reporting currency.
- Flux report subtotal removal - Fixed bug where removing subtotals in report settings did not actually remove them from the display.
- Custom Trial Balance formula errors - Resolved “error fetching report data” failures in custom Trial Balance reports with specific formula column combinations.
- Custom formula row positioning - Fixed incorrect insertion position for custom formula rows in reports.
- Xero migration deep links - Repaired broken hyperlinks on Xero migration data sync tabs by fixing URL encoding and making links subtype-aware.
- Bill.com vendor mapping errors - Improved error messages when Bill.com bills reference unmapped vendors, now showing vendor display names and clear remediation steps.
- Archive from list validation - Fixed “Field required” validation errors when archiving or recovering records from list views across multiple record types.
- Items archived tab visibility - Archived items now properly appear in the Archived tab regardless of their active status.
- Brex exchange rate error handling - Improved exchange rate error capture and surfacing without generating unnecessary Sentry alerts.
- Bulk import item field requirements - Fixed requiredness validation for item fields in bill imports.
- Cross-tenant isolation test - Resolved failing paper check template test by using proper organization factory methods.
- VAT and GST rate status display - Fixed issue where edit drawers for VAT rates and GST rates always showed “Active” label regardless of the actual active/inactive status.
- VAT rate description clearing - Resolved bug where clearing the description field in VAT rate edit drawer appeared to save but actually preserved the old value.
- Customer detail page navigation - Fixed issue where customer detail pages became unavailable when accessed from list view or kebab menu options.
- Copilot interrupt button errors - Resolved errors that occurred when clicking the interrupt submit button during AI copilot conversations.
- Artifacts search field clarity - Removed duplicate clear (X) icons from the artifacts search field to eliminate visual confusion.
- Report Center description field - Fixed overlapping placeholder text on the textarea border in New Package form description field.
- Deel integration connection errors - Improved error messaging for failed Deel OAuth connections to provide clearer troubleshooting information.
- Required classification validation - Fixed validation of company-required classifications for customer credits to properly check requirements when company selection changes.
- Revenue recognition Edit group button visibility - Removed inappropriate Edit group button from revenue recognition summary pages.
- Revenue recognition item name loading flash - Eliminated skeleton loading flash for item names in revenue recognition performance obligations.
- Date validation during manual entry - Fixed misleading “Date cannot be before 01/01/1990” error messages that appeared while typing future dates, now deferring validation until complete year entry.
- Column resizing in contract approval tables - Fixed Date and Amount column resizing functionality in revenue recognition contract approval workflows.
- Asset revaluation account visibility - Inactive accounts are now properly hidden from the Revaluation Offset Account dropdown in asset revaluation forms.
- Journal entry classification validation - Fixed validation of required classifications when company selection changes in journal entries.
- Vendor credit classification validation - Fixed validation of required classifications when company selection changes in vendor credits.
