> ## 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 Notes - August 21, 2026

> August 21, 2026 release notes: amortization approvals, multi-period purchase orders, statistical account filters, MCP connector fixes, and more.

## Features

* **Amortization approvals from the list view** - Amortization forms now show Approve and Reject actions directly, and the list refreshes automatically after you act on an item.
* **Multi-period purchase orders** - You can now create and edit purchase orders that span multiple periods directly in the UI.
* **Statistical account balance filters** - The statistical account balance table now supports filtering by account, classification, and classification line, with the selected period shown as a chip.
* **Owner panel CSV export** - You can export an owner's ownership records to CSV directly from the expanded owner panel in the Ownership module.
* **Edit scheduled agents from chat** - You can now edit a scheduled agent directly from the chat title dropdown.
* **New items mapping step for QuickBooks Online migrations** - Migrations from QuickBooks Online now include an optional step to map items during setup.
* **NextDay migration item mapping** - You can now map items during a NextDay migration.
* **New prospect seeding flow** - A new onboarding flow lets you seed a prospect organization with sample data before go-live.
* **Bring-your-own credentials for MCP connectors** - You can now supply your own credentials when connecting an MCP server, and a warning now appears in the Authenticate status for BYO servers that need attention.
* **Approval strictness setting** - Organization settings now include an approval strictness setting to control how strictly approval rules are enforced.
* **Audit trail search by user** - Search on the audit trail page now matches by user, making it easier to find actions taken by a specific person.
* **Duplicate classification names blocked** - Creating or editing a classification now requires a unique name, checked case-insensitively, so you can no longer create accidental duplicates.
* **Phone number extensions** - Customer and vendor phone fields now accept an extension after the number (for example, x123 or ext. 123) in addition to standard number formats.
* **Owner Portfolio report** - A new Owner Portfolio report shows an owner's direct holdings and average ownership percentage as of a selected date, with PDF and Excel export support.
* **Deel credit account overrides** - Deel journal entries now support mapped credit account overrides, so statement lines can route to specific accounts instead of the default.
* **Copilot artifact cards show icon, title, and time** - Chat artifacts now display as a compact card with a type icon, title, and the time the message was created, instead of a plain "View visualization" link.
* **Resizable copilot table columns** - Columns in copilot flat-table artifacts can now be resized by dragging.
* **Condensed scheduled agent messages** - Scheduled agent chat messages now show the task and run time in a compact bubble instead of the full scheduled-tick context.
* **SFTP bank connections** - You can now connect a bank via SFTP, providing the bank name, URL, and credentials directly in the connect flow.
* **Ownership bulk import** - You can now bulk import owners and ownerships using a CSV template.
* **Deel cutoff date flexibility** - Deel settings now support shorter cutoff dates, and related settings have been simplified.

## Fixes

* **Reconciliation deletion** - You can now delete reconciliations directly in the UI without contacting support.
* **Reconciliation account hierarchy** - The reconciliation view now reflects account hierarchy instead of showing accounts as a flat list.
* **Reconciliation column resizing** - Columns in the reconciliation view can now be resized narrower than before.
* **Date filters allow future dates** - Date filters no longer block future-dated records, so you can filter and find them as expected.
* **Revenue items can now be set to Milestone** - Creating a new revenue item no longer prevents you from selecting Milestone recognition.
* **Recognition batch search** - Searching within recognition batches now returns correct results.
* **Product tax code dropdown** - The Code dropdown on product tax codes no longer gets stuck on "No Results," and you can now type a custom code.
* **Consolidated exchange rates support more precision** - Consolidated exchange rate fields now accept up to 9 decimal places.
* **Customers and vendors restricted by company** - Customer and vendor lists now correctly respect company-level restrictions.
* **Empty-state create actions restored** - The "For Approval" tab across several modules now shows the create action when the list is empty.
* **Classification "Required On" layout** - The Classification drawer now splits "Required On" into two columns with clearer grouping.
* **Zero quantity allowed on invoice lines** - You can now save an invoice line item with a quantity of 0.
* **Vendor search by Vendor ID** - Searching vendors by Vendor ID now returns the expected results.
* **Payment Methods and Terms tab navigation** - The active tab now highlights correctly when navigating Payment Methods and Terms.
* **Bill creation from purchase orders** - Creating a bill from a purchase order no longer incorrectly blocks on a "quantity must be greater than zero" error when the quantity is valid.
* **Payment Methods filters** - Filters on the Payment Methods list now work correctly.
* **Company field clears properly** - Clearing the Company field on recurring journal entries, invoices, cash sales, bills, direct expenses, and currency revaluations now removes the displayed value.
* **Multiple customer credits from one cash sale** - Creating multiple customer credits from a single draft cash sale no longer causes errors.
* **Migration completion accuracy** - Migrations no longer report 100% completion when no data was actually pulled into the organization.
* **NetSuite subsidiary tree mapping** - Partial NetSuite subsidiary tree maps are now blocked to prevent incomplete migrations.
* **Ownership Allocation report totals** - The Allocation report's Total row now displays a solid background and the correct column divider, so it reads clearly as a summary row.
* **Ownership sticky column dividers** - Sticky column dividers in Ownership tables are now a consistent 1px, matching other column borders.
* **Ownership avatar and text styling** - Company avatars in Ownership lists use a neutral color, and owner and company names now display with clearer emphasis.
* **Pivot layout toggle** - Toggling pivot layout in reports no longer silently moves row classifications to the column axis.
* **Custom Field Lines filter** - This filter is now disabled with helper text until a Custom Field is selected, preventing invalid filter states.
* **Custom Reporting pivot fields** - Adding pivot fields to Custom Reporting no longer displays "\$NaN" values.
* **Report package company scope popover** - The Cancel and Apply buttons in the company scope popover are no longer hidden, so report packages can be saved.
* **Report column picker accessibility** - The column picker's drag handle now has an accessible name for screen readers and disables itself while a search filter is active.
* **Nexus tax agency field styling** - The tax agency field on nexus settings now matches the label style used by other company and account fields.
* **Classification form width in drawer** - Classification forms and their values table now stay within the drawer's intended width instead of overflowing.
* **Paper check footer layout** - Fixed a layout issue in the paper check footer.
* **Recurring transaction date range validation** - Error messages on recurring transaction date ranges no longer shift other fields out of alignment.
* **Contract change order summary frames** - Fixed display issues in the change order summary frames for Ramp contract groups.
* **Phone field validation** - Corrected validation on the phone number field.
* **Asset class list ordering** - Asset class lists now display in the order returned by the system instead of an incorrect client-side sort that broke pagination.
* **Organization checkbox filter** - Fixed a checkbox filter that was not applying correctly in organization management.
* **MCP connector logos** - Connector logos in the MCP tools browser are now properly sized within their frames instead of appearing oversized.
* **Copilot composer send button** - The send button in the copilot composer now matches the styling of other toolbar icon buttons.
* **Missing metrics button on For Approval tab** - The metrics button now appears correctly on the "For Approval" tab.
* **Stylesheets loading from the asset CDN** - Fixed an issue where some page styles failed to load when served from the asset CDN, which could cause pages to appear unstyled.
* **Ownership reports now show live data** - The Allocation and Effective Ownership reports now pull figures from your organization's actual data instead of sample data, and the PDF and Excel export buttons now generate real exports.
* **Ramp vendor matching** - Ramp transactions now resolve to the correct vendor when a same-named vendor is already mapped, even if the card merchant name differs slightly.
* **GitHub MCP connector authentication** - The GitHub MCP connector now authenticates correctly using its own OAuth client credentials instead of failing during setup.
* **Product tax code deletion message** - Deleting a product tax code that is still linked to records no longer shows a success message, since the linked codes are not actually deleted.
* **Currency revaluation search by ID** - Searching by currency revaluation ID in the Currency Revaluations Process and Transaction tabs now returns matching results.
* **Project search bar** - The search bar in the Project Overview and Archive tabs now filters results correctly.
* **Invoice memo no longer required via API** - The invoice memo field is no longer required when creating or updating an invoice through the API, matching the UI behavior.
* **Contract status no longer reverts** - Completed contracts synced from an integration no longer revert to Active status, so the activity log no longer shows duplicate status changes.
* **Brex sync tolerates malformed records** - Brex accounting record sync no longer drops an entire page of records when one record is malformed; the remaining records still import.
* **QuickBooks refund receipts to Undeposited Funds** - QuickBooks refund receipts that deposit to Undeposited Funds are now skipped instead of repeatedly failing to sync.
* **Migrations recover from temporary database contention** - Migrations experiencing temporary database contention now retry automatically instead of failing the entire migration run.
* **Bank match archiving** - You can now archive a transaction that still has a draft bank match instead of being blocked.
* **Faster payee matching during bank sync** - Payee matching during bank sync is now faster, without changing which payees are suggested.
* **Stripe refund recording** - Refunds on Stripe charges are now recorded correctly even when the related payment intent can't be retrieved.
* **Stripe customer sync name conflicts** - Stripe customer sync now recovers automatically when a customer's display name was already used by another mapped customer.
* **Copilot chat no longer hangs after Slack approval** - The chat interface no longer freezes after a message is approved from Slack.
* **Copilot message retries** - Copilot now only resets its retry counter after a message succeeds, preventing repeated retries from being miscounted.
* **Notification creation error** - Fixed an issue where creating a notification could fail with an ambiguous error.
* **Bills custom saved view persistence** - Custom saved views on the Bills list no longer disappear when you switch list tabs.
* **Vendor payment open transactions refresh on company change** - Open transactions on vendor payments now refresh correctly when you change the company, instead of showing stale or placeholder data.
* **Sandbox creation form validation** - The Provision new sandbox form now shows only the inline validation message when required fields are missing, instead of also showing the browser's native validation bubble.
* **MCP connector installation reliability** - Several MCP connectors that previously failed to install from the Browse Tools list, including Dropbox, now install correctly.
* **Multi-line FX bill payment rounding** - Vendor payments on multi-line foreign currency bills no longer leave a small unresolved rounding residual.
* **Audit trail tab filters** - Search filters on the Audit Trail tabs now work correctly.
* **API reconciliation reconnect messaging** - Reconciling from the API now clears expired QuickBooks or Xero connections and shows the correct reconnect message instead of failing silently.
* **Bulk import failed filter accuracy** - The Failed status filter in Bulk Import now shows only fully failed imports, not partially completed ones.
* **OP Bank search** - OP Bank and other similarly named institutions now rank correctly in bank connection search results.
* **Income Statement row and column placement** - Adding a classification to both rows and columns on the Income Statement no longer forces both into the column axis.
* **Faster Income Statement loading** - Income Statement reports with a reporting currency different from the base currency now load faster.
* **Xero item sync fallback account** - Xero items without a mapped sales, purchase, or asset account now sync using the default income account instead of failing.
* **Stripe invoice sync error messaging** - Stripe invoice sync now shows a clear setup message when a required account mapping is missing, instead of failing silently.
* **Stripe clearing account setup** - Setting up the Stripe integration no longer fails when creating the clearing bank account if the integration company belongs to a different organization.
* **Ramp vendor mapping sync accuracy** - Ramp sync no longer reports a vendor mapping as missing when it is already mapped in DualEntry.
* **Ramp bill sync with amortizable assets** - Ramp bill sync no longer fails when updating a bill that drops a line already linked to an amortizable asset.
* **Public API v2 list responses** - The public API v2 endpoints now return inline list items again, matching prior behavior.
