B

Balances

What's new

What we've shipped, improved, and fixed.

May 2026
May 19, 2026
Redesigned For Review, Wave Account Mapping & Clearer Cash Flow
  • Redesigned "For Review" on the Transactions page. Reviewing bank transactions is faster and happens entirely in the table row. Every suggestion type — invoice matches, transfer matches, and new categorizations — has a one-click green checkmark to approve directly in the row, with no detail drawer required. Clicking a contact or category chip turns it into a searchable dropdown in place, a single unified Suggestion column replaces the old Type + Suggestion layout, and each row shows the full institution and account name instead of just the last four digits.
  • Wave migration: choose how your accounts map. A new Map Accounts step lets you control how each Wave account maps into your Balances chart of accounts — let Balances decide automatically, map to an existing account, or create a new one. This keeps your chart clean and avoids duplicate accounts during migration.
  • Cash Flow Statement: credit-card balances under Operating Activities. Credit-card balance changes are reported under Operating Activities — Changes in Credit Card Balances, keeping card-funded purchases in one economic picture and matching how QuickBooks and other major tools present them. Any remaining working-capital movement rolls up into a standard "Other working capital changes" line. Presentation only — your numbers are unchanged.
  • Cleaner transfer reconciliation. The Transfer tab on the reconciliation panel resets cleanly when you switch between transactions, and a note you enter while recording a Money-in-Transit transfer is preserved on both sides once the transfer completes.
May 18, 2026
Catch-Up Reminders, Chart of Accounts from Chat & Bulk Contact Actions
  • Catch-up reminders for overdue invoices. Turning on reminders for an invoice that's already well past due now kicks off a real chase — three emails over two weeks, escalating from a gentle nudge to a firm final notice, scheduled on business days only so nothing lands on a weekend. You see a preview of every email before enabling, and bulk-enabling from the Reminders page steps you through each invoice one at a time.
  • Manage your chart of accounts from chat. Ask the assistant to create, rename, or deactivate accounts — e.g., "Create an Office Supplies expense account under Operating Expenses." It stages the change, explains what it's about to do, and waits for your approval before applying. Hard-deleting an account stays a Settings-only action; the assistant recommends deactivation (which preserves history) instead.
  • Reminders confirm your business timezone. When you first turn on reminders, an inline timezone picker — pre-filled from your browser — lets you confirm in one click, so follow-ups always go out at a sensible hour in your customers' time zone. If you've already set your timezone in Settings, nothing changes.
  • Bulk deactivate and reactivate on the Contacts page. The Contacts page now uses the same floating action bar as Transactions — select one or more contacts to Merge (2+ selected), Deactivate, or Reactivate. Mixed selections show both buttons with counts so you can manage active and inactive contacts in one pass.
  • Wave migration: smarter tax rates, merchants, and review. When a Wave tax rate shares a name with one of yours but uses a different percentage, the importer creates a clearly-labeled separate rate (e.g., "GST (13.5%)") so every taxed invoice imports cleanly. Bank transactions imported from Wave get real merchant names extracted from the description, the same way Plaid-synced transactions do. And transactions Wave itself never categorized land in your Needs Review queue instead of arriving pre-reconciled.
  • Smarter agent bulk updates. When you ask the assistant to update many records at once (contacts, accounts, or transactions), it only offers fields that can actually be changed — so the plan you approve always applies cleanly.
May 17, 2026
Data Export, Smarter Agent File Handling & Cleaner Contact Merges
  • Data Export — download your books as CSV. Export your workspace's invoices, bills, bank transactions, chart of accounts, and general ledger as a single ZIP of CSV files from Settings → Data Export. Exports run in the background so they never block your work, finished exports stay available for re-download, and the files are spreadsheet-safe — amounts stay numeric and no cell can accidentally trigger a formula.
  • Smarter file understanding for the assistant. When you upload a CSV or Excel spreadsheet to chat, the assistant immediately sees a summary — row count and column names — without opening the whole file. Questions like "how many rows does this have?" are answered instantly, and file-heavy conversations are noticeably faster and cheaper: a file's contents are included only on the turn it's read, then referenced by a lightweight pointer, with the assistant able to re-read on demand.
  • Cleaner contact merges. Merging duplicate contacts reassigns every related record to the surviving contact — estimates, jobs, reconciliations, and reimbursements, alongside invoices and bills. Stale AI predictions are cleared for re-evaluation, and any customer-statement share link on the merged-away contact is invalidated (you can re-share from the surviving contact).
May 16, 2026
Per-Invoice Payment Reminders, Instant ACH Payments & the Reminders Worklist
  • Per-invoice payment reminders (opt-in). You now choose exactly which invoices get automated follow-ups — check "Send payment reminders" when sending an invoice, or toggle it from the invoice detail page anytime. The assistant can do it too: "turn on reminders for invoice INV-1024." Reminders are controlled entirely per invoice, so if an invoice has them on, they fire.
  • Reminders Worklist. The Reminders page is now an actionable worklist with three views: Upcoming reminders (when each will fire and at which tier), Overdue invoices with reminders off (sorted by how overdue they are), and Recent activity. You can bulk-enable reminders on overdue invoices straight from the page — select them and click "Turn on for N invoices."
  • Default invoice email message and signature. Set a default "Message to customer" and email signature under Sales → Customize Invoices. Every invoice email pre-fills with your default message and appends your signature — no more retyping the same note each time.
  • ACH payments mark invoices Paid immediately. When a customer pays via ACH bank transfer through Stripe, the invoice shows as Paid the moment they complete authorization, instead of sitting in "Awaiting Payment" for the 2–5 business days the transfer takes to settle. The merchant fee is recorded separately once the transfer settles, and if the bank returns the ACH, the payment is automatically voided and the invoice returns to "Awaiting Payment."
  • Mobile capture review overhaul (private beta). The iOS app now has a full capture review screen matching the web — categorize captures with vendor, category, amount, date, and memo, then approve with one tap, or hand a complex item to your assistant. A new money chip shows amounts with clear in/out indicators across the review feed. The mobile app is in private beta — get in touch if you'd like access.
  • Wave migration auto-merges matching accounts. When a Wave account name matches one you already use, the importer merges them automatically instead of stopping — and the import preview shows you exactly which accounts will merge, so there are no surprises.
  • Cash Flow Statement (indirect view) anchored to actual cash. The indirect-view operating section is built directly from your real cash transactions, and when cash moves against an uncategorized account it surfaces as an explicit Unclassified row rather than quietly distorting the bridge between net income and cash from operations.
  • Chip-style inline categorization. The contact and category editors on the banking transactions and review screens use a compact chip design — each chip shows the current selection with a clear (×) to clear it — and the Approve button stays visible on the review screen.
  • Reliable large file uploads in chat. Dragging a big batch of files into the assistant uploads them smoothly in smart batches, and if one file can't be processed you get a clear error for just that file while the rest go through.
May 15, 2026
More Forgiving Plaid Connections & Polished Payment Emails
  • More forgiving Plaid connections. Connecting Plaid to an existing bank account is more flexible: when the last 4 digits Plaid reports don't exactly match, the mapping screen lets you confirm the match yourself with a clear warning, and each account shows its currency so you pick the right target. Connection errors explain what to do instead of a generic "please try again."
  • Plaid reconnection shows your country's institutions. The "reconnect" and "connect to Plaid" options on an existing account show the full institution list for your deployment's country — so customers outside the US see their local banks in every entry point, not just when adding a brand-new bank.
  • Polished payment notification emails. Individual and digest payment emails show correctly formatted amounts with the right currency symbol, thousands separators, and decimal places, and invoice numbers appear as clearly-labeled clickable links. The "N invoices were paid" digest leads with the total received (e.g., "$2,200.00 landed — 21 customer payments"), shows the date alongside each payment, and totals mixed-currency bursts per currency.
May 14, 2026
Inline Bank Transaction Editing, Agent-Assisted Invoice Setup & Mobile Navigation (private beta)
  • Inline contact and category editing on bank transactions. Edit the Contact and Category directly in the transaction row — pick a contact, pick a category, and the transaction reconciles when you tab away, with no separate categorization panel. (Rolling out gradually.)
  • Agent-assisted invoice customization. The assistant can walk you through customizing invoices end to end — set your logo by dropping an image into chat, choose brand colors, add payment instructions, and configure default payment terms. During onboarding it also infers your industry from your business description, so that's one less field to fill in.
  • Polished public invoice and PDF. Shared invoice links and PDF downloads use your accent and primary colors throughout, with text colors chosen automatically for readability. The Amount Due is prominently displayed on every unpaid invoice (not just those with online payment enabled), payment terms are shown clearly, and milestone invoices show each milestone's percentage of the total.
  • Mobile navigation redesign (private beta). The iOS app gains a persistent workspace header showing which workspace you're in, a dedicated Sales tab for invoices and estimates, and a + button to quick-create invoices, bills, and journal entries from any screen. Switching workspaces is one tap away. The mobile app is in private beta — get in touch if you'd like access.
  • Single summary email for batched payments. When several invoices are paid in quick succession — such as batch-approving bank-feed matches — you get one summary email listing all the payments instead of one per payment. Individual payments still send their own notification.
  • Canadian recoverable tax rates fully supported. Recoverable tax rates where one liability account holds both collected tax and input tax credits — the standard setup for Canadian GST/HST — are supported directly.
  • Broader Wave migration file support. The Wave importer handles every file encoding Wave produces (including UTF-16 auxiliary CSVs), and customer shipping addresses import correctly.
May 13, 2026
Stripe Dashboard Panel, Customer & Vendor Roles, Direct-Method Cash Flow & Mobile Invoice Parity
  • Stripe Dashboard panel. A new Stripe card on your Dashboard answers "What money is coming from Stripe?" at a glance. Three sections: Coming to your bank groups Stripe charges by the date they'll be available, Just arrived shows recent payouts with status chips indicating whether each deposit has been matched to your bank feed, and Needs attention surfaces payouts overdue for bank matching. Appears only on workspaces with Stripe connected.
  • Contacts as both customers and vendors. A single contact now appears in every role they have — if they have invoices they show up as a customer, if they have bills they show up as a vendor, and if both, they appear in both views. The Contacts page has new tabs (All, Customers, Vendors, Both, Neither) with live counts, and contact pickers on forms prioritize the relevant role (customer contacts surface first when creating an invoice).
  • Direct-method Cash Flow Statement. The Cash Flow Statement is now driven by actual cash journal entries — each line shows the specific account the cash moved to or from, and the math identity (Operating + Investing + Financing = Net Change in Cash) holds by construction. A new Unclassified section surfaces any accounts that need a cash flow category assigned.
  • Due date pre-fills from your default payment terms. With a workspace default set (Net 30, Net 60, Due on receipt, etc.), new invoices pre-fill the Due Date automatically, and the due date moves with the invoice date until you manually edit it — at which point it stays where you put it.
  • Mobile invoices: tax-inclusive mode, discounts, and compound rates. The mobile invoice form now matches the web form — tax-inclusive/exclusive toggles, per-line percentage discounts, and compound tax rates, all with decimal-precision math to avoid rounding errors. The mobile app is in private beta — get in touch if you'd like access.
  • Invoice PDF polish: branded link color and larger invoice numbers. Clickable links on invoice PDFs and shared web invoices inherit your accent color by default, and can be set to a custom color in Settings → Customize Invoices. Invoice numbers are also larger and more prominent on the PDF.
  • Customize Invoices page reorganized. Sections now follow the order a customer reads an invoice: Business identity (logo, address) → Brand colorsInvoice content (payment instructions, footer) → Review linksInvoicing defaults.
  • Plaid reconnection polish. Plaid's own sign-in window opens directly without an intermediate loading overlay. When your bank returns multiple accounts during reconnection, the account matching your existing connection (by last 4 digits) is pre-selected and the others are dimmed with a clear explanation.
  • "Connect to Plaid" on the homepage. The option to connect a manual bank account to Plaid is now in the bank account action menu on both the homepage panel and the Banking dashboard, with the menu items matching across both surfaces.
  • Cmd-click and middle-click on bank account rows. Cmd-click (Mac) or Ctrl-click (Windows) a bank account row to open its transactions in a new tab — matching standard browser behavior.
  • Resilient AI batch categorization. When the agent categorizes a batch of transactions, items that target a valid account reconcile successfully even if another item in the batch points at an account that has since been deactivated — the deactivated item is flagged for re-categorization while the rest go through.
  • Wave migration: re-zipped exports. The importer now recognizes the Wave CSV files inside a ZIP regardless of folder structure, including ZIPs created by macOS with extra system files — useful if you opened the export to inspect it before uploading.
  • Credit note application via chat goes through preview. Ask the agent to apply a credit note to an invoice and it shows a preview card with the source credit note, destination document, and amount before executing — matching the propose-review-confirm flow used for every other financial action.
  • Wave migration: standalone credit notes and refunds. Wave imports now bring across customer and vendor credit notes — including cash refunds — as proper Credit Note documents that appear in AR/AP aging and can be applied to future invoices.
  • Wave migration scoped to business workspaces. The Migrate from Wave option only appears on business workspaces, since the importer creates company-only accounting structures.
  • Opening-balance invoices and bills in the list views. Opening-balance invoices and bills (from Settings → Opening Balances) now appear on the Invoices and Bills list pages with an Opening balance chip. Edits and voids are routed through Settings → Opening Balances to keep the opening-balance reconciliation intact.
  • Customize Invoices available everywhere. Invoice branding (logo, colors, footer, payment instructions, default terms) is generally available — non-admin users see a read-only view so they can review settings without changing them.
  • Tax-inclusive invoices show the price you entered. With tax-inclusive pricing (common in Australia, New Zealand, the UK, and India), invoices display the gross unit price you typed across the PDF, the online invoice your customer sees, and the email — with an "Includes Tax" row breaking out how much of the total is tax, matching the layout used by Xero, QuickBooks, and FreshBooks.
  • Full foreign-currency revaluation across banking account types. Foreign-currency credit card, loan, investment, and payment-platform balances revalue at the current exchange rate on the Balance Sheet and Trial Balance — the same treatment as checking and savings — and appear in the correct asset or liability section.
  • Contact picker grouped by role. When categorizing transactions or creating documents, the contact dropdown groups contacts under Customers, Vendors, Both, and Other, with the order following context — vendors lead on a bill or expense, customers lead on an invoice or deposit.
  • The assistant asks instead of guessing. When you reference something ambiguous — a number that could be a bank account or a liability account, say — the assistant shows the matching candidates and asks which one you meant rather than picking silently.
  • Brand-colored customer emails. If you've set a primary brand color in Customize Invoices, your customer-facing emails (invoice sends, payment requests, reminders, estimates) use it for the card background and call-to-action button, with colors auto-adjusted for readability and contrast-checked button text.
  • Per-type email unsubscribe. Unsubscribe links in notification emails turn off just that one type of email, and you can re-enable any type anytime from Settings → Notifications. Your email client's native unsubscribe button (Gmail, Apple Mail) is supported too.
May 12, 2026
Plaid for Manual Accounts, Invoice Review Links, Mobile Invoices (private beta) & Credit Notes from Chat
  • Connect Plaid to your existing bank accounts. If you imported transactions via CSV or created bank accounts manually, you can now connect them to Plaid without starting over. From any manual account's menu on the banking dashboard, choose Connect to Plaid, sign in to your institution, and map each Plaid account to the right row. Balances sets a cutoff date automatically so your manual history stays intact and Plaid picks up right where you left off, with no duplicate transactions. Multi-account institutions can be mapped in one session, accounts auto-match by last 4 digits, and currency mismatches, account-type conflicts, and overlapping date ranges are caught before anything is saved.
  • Review links on invoices. Add your Google, Yelp, Facebook, Trustpilot, or Houzz review-page links in Settings → Sales → Customize Invoices → Review links and they appear as polished "Review us on Google"-style buttons at the bottom of every invoice you send — on both the PDF and the shareable web page.
  • Clickable links and contact info on invoices. Write [Leave a review](https://...) in your invoice footer or payment instructions and it renders as a named, clickable link for your customers (plain URLs stay as-is — use the bracket syntax when you want a polished label). On shared invoices, your phone, email, and website are tappable — customers on mobile can call, email, or visit your site directly from the invoice.
  • Default payment terms for invoices. Set workspace-wide default payment terms in Sales → Customize Invoices — choose from Due on receipt, Net 15, Net 30, Net 45, Net 60, or enter custom days. Every new invoice picks up your default when you don't specify a due date. Changing the default only affects future invoices; existing invoices are never modified.
  • Invoices on iPhone (private beta). The iOS app now supports the full invoice workflow — browse invoices with status filters, create and edit drafts with multi-line items, post, and send directly from your phone. Multi-currency invoices are supported with currency-precision-aware rounding. The mobile app is in private beta — get in touch if you'd like access.
  • Credit notes from chat. Ask the agent to issue a customer credit memo or vendor credit — e.g., "Issue Acme a $250 credit memo for their unused retainer." The agent validates contacts, currencies, and source documents, then shows a preview before creating. Both standalone credits and credits against a specific document are supported.
  • Tax on standalone credit notes. The standalone credit note dialog now includes a per-line tax rate selector and tax mode toggle (exclusive, inclusive, or no tax) — so tax-bearing credits can be issued directly from the standalone form.
  • Cross-currency credit note refunds. Issue a credit note in one currency and reconcile it against a bank transaction in another (e.g., a GBP credit note settled by a USD bank withdrawal) — the exchange rate difference is automatically captured as a Realized FX Gain or Loss, the same way regular cross-currency payment settlements are handled.
  • Post and void documents from chat. Ask the agent to post a draft invoice or void a posted document — it shows the GL impact in a preview card and goes through the same propose-review-confirm flow as other agent actions.
  • Compact toolbar on Review and Transactions. Both pages now use a single-line toolbar with tabs, filter chips, and action buttons, so your bank transactions and review items are visible immediately on page load instead of below a tall header.
  • Agent file uploads persist across long conversations. Files you upload to chat stay accessible for the entire conversation regardless of length, even after a long thread compacts. The agent has a new read_agent_file tool for reading CSV, text, and Excel files with pagination support for large files.
  • Wave migration: smart invoice due dates. The migration wizard now lets you pick default payment terms (Net 30 by default), and each imported invoice's due date is calculated from its issue date plus that many days. Individual invoices can be adjusted afterward.
  • Wave migration: broader Canadian export support. Canadian Wave migrations now handle 15 additional account types correctly (sales tax payable, customer prepayments, accumulated depreciation, and more). Processor settlement transactions (Stripe/PayPal payouts) are paired and categorized correctly, and invoices with cross-account discounts and tax are handled via credit note application.
  • Wave importer in Settings. The Wave migration page is now in Settings → Connections → Migrate from Wave — discoverable directly from settings rather than only through the in-app prompt.
  • Clearer tag filters across the app. The cascading tag filter (Invoices, Bills, Expenses, Credit Notes, Transactions, and all reports) now labels the first dropdown Tag group, and the value dropdown is always visible with a "Pick a tag group first" placeholder until you choose one.
  • "Customize invoices" shortcut on the Invoices page. A new button in the Invoices page header links straight to invoice branding settings (logo, colors, footer, payment instructions, default terms).
  • "Setup payments" label on the Invoices page. The button that links to Stripe connector setup is now labeled Setup payments instead of "Collect payments" — clearer about what it opens.
  • Any currency on new workspace creation. The currency picker in the Create Workspace drawer shows the full currency list regardless of which workspace you're currently in — so a single-currency CAD workspace can spin up a USD workspace without switching first.
  • Quantity column on mobile invoices and estimates. The Qty column on invoice and estimate forms is now visible on every screen size.
  • Mobile review feed polish. Tapping Approve all shows the spinner on just the button you tapped instead of every button on the page. Bulk action labels show the count (Approve 5 / Reject 5), and categorized rows on the transactions list are visually de-emphasized so items that need your attention stand out.
  • Invoice and estimate PDFs use the document number as the filename. Downloads name files as Invoice-INV-1024.pdf using the actual document number, and on iOS the Share Sheet shares the file itself. Report exports follow the same convention.
  • Negative bank balances stay on one line. Overdrawn and credit-card balances on the Banking dashboard render the sign and amount together at every column width.
  • Workspace Settings: tighter action bar. Save, Deactivate, and Delete buttons share one consolidated action bar instead of floating in a separate footer.
May 11, 2026
Wave Migration Wizard, Standalone Credit Notes & Opening Balance Credits
  • Standalone Credit Notes and Vendor Credits. Create customer credit notes and vendor credits directly from their list pages — no need to start from an existing invoice or bill. The new New Credit Memo and New Vendor Credit buttons open a streamlined form with contact, date, currency, and multi-line item entry.
  • Wave Migration Wizard. The Wave import experience is now a guided 5-step flow: Upload your Wave export ZIP, Review the account mapping and flag items that need attention, Configure import settings (including a new import-through date for mid-month migrations where recent activity stays in Wave), Watch progress in real time as each stage completes, and Review results with clear summaries of what was imported. Large imports (6–12 minutes) run in the background and can be safely re-opened.
  • Richer Wave data preservation. Wave imports now bring across substantially more detail — transaction notes and memos carry over as descriptions, contact details include website, mobile, fax, and shipping address, bill line items arrive with real product names, quantities, and unit prices, bill due dates come from Wave directly, and contact first/last names land in dedicated fields. Accounts that lack a clear mapping land in a Wave Uncategorized Activity bucket with a clear description.
  • Opening balance credit notes. You can now record customer and vendor credit notes as part of your opening balances — two new tabs in Settings → Opening Balances. Especially useful when migrating from another system with outstanding credits at your books start date. They flow through to your AR/AP balances and the Opening Balance Equity reconciliation. The agent can also create and manage opening credit notes via chat.
  • Wave migration handles more transaction shapes. Full-history Wave imports now natively handle Wave Payments processor charges, overpayments, year-end accountant adjustments, and edge-case discount structures. A new Wave Migration Adjustments holding account captures any residual amounts for easy post-migration cleanup.
  • Tracking dimensions as inline pills. On the invoice and bill detail view, tracking dimensions (jobs, locations, classes) display as compact pills under each line item description instead of taking up separate columns — a cleaner, more compact layout, especially on documents with many dimensions.
  • Banking decoder and vendor rules from chat. Create, update, and delete both decoder rules and vendor rules directly through the agent, alongside the existing UI — e.g., "Create a rule that categorizes Acme charges as Office Supplies." The agent stages a proposal for your review before applying.
  • Activity comments from chat. Ask the agent to add notes to invoices, contacts, banking transactions, or any other entity. You can also ask it to edit, resolve, or re-open comments — useful for tracking follow-ups and keeping context anchored to the right record.
  • Service item updates from chat. Ask the agent to update a service item's pricing, accounts, or description, or to archive services you no longer offer — e.g., "Bump the Consulting hourly rate to $175" or "Archive the discontinued Phone Support service."
  • Review queue actions from chat. Approve or reject individual AI-categorization suggestions in the review queue, approve or reject grouped batches, or flag specific transactions for individual review — e.g., "Approve the suggestion on that Acme inflow" or "Reject that — wrong contact."
  • Bank retraction auto-cleanup. When your bank retracts a previously synced transaction (correcting a duplicate, reversing a pending charge), Balances automatically unwinds any reconciliation and journal entries tied to it, posts an activity note documenting the correction, and notifies your team. Transactions protected by a statement reconciliation or period lock are left intact with a flag for manual review.
  • Expense reclassification guardrail. Posted expense line items can be reclassified to other expense or revenue accounts, but not to banking-linked accounts (checking, savings, credit card) or AR/AP — the system points you to the right workflow when you try. The agent applies the same guardrail when you ask it to recategorize.
  • $0 promotional checkout. Customers with a 100% discount promo code can complete checkout without entering credit card information.
May 10, 2026
Per-Line Discounts, Credit Note Cash Refunds & Invoice Lifecycle from Chat
  • Per-line discounts on invoices, estimates, bills, and expenses. Add discount amounts to individual line items, and the discount appears everywhere the document does — detail-view tables show a Discount column when any line has one, the totals breakdown reads Subtotal → Discount → Tax → Total, and PDF downloads and customer share links pick up the new column. Estimate-to-Invoice conversion preserves every line's discount.
  • Credit note cash refunds. Credit notes now support cash refunds end-to-end. Issue standalone credit notes (e.g., refunding unused retainer hours) without linking to a specific invoice. Match a money-out bank transaction directly to a customer credit note to record the refund — Balances posts DR AR / CR Bank automatically. A single credit note can be drained across multiple bank transfers, or partially refunded via bank and partially applied to a future invoice.
  • Recurring invoice management from chat. Ask the agent to create, edit, or cancel a recurring invoice schedule — e.g., "Set up a $5,000 monthly retainer for Acme Corp starting next month" or "Switch that retainer to bimonthly." Preview-and-confirm before any change applies.
  • Send invoices and estimates from chat. Ask the agent "Send INV-1042 to billing@acme.com" and it shows you the recipient list and email body before sending. Explicit confirmation required, with checks for overlapping to/cc/bcc addresses and non-existent document numbers.
  • Convert accepted estimates to invoices from chat. Ask the agent to invoice an accepted estimate — full line-item traceability is preserved, and milestone billing is supported (the same estimate can generate multiple invoices over time).
  • Email template management from chat. Create, edit, and manage your transactional email templates (invoice reminders, estimates, etc.) directly through the agent.
  • Wave migration handles multi-line documents and GL-settled payments natively. Multi-line invoices, multi-line bills, GL-settled payments (e.g., a shareholder loan paying an invoice), and tax lines (HST/GST) now translate into the appropriate Balances entity rather than collapsing to journal entries. A 10-year, 2,400-transaction import that previously created 69 journal entries now creates only 3 — the rest arrive as proper invoices, bills, and payments.
  • Wave migration mode protection. If you've already run a Wave import in one mode (e.g., Full History), attempting to re-run with a different mode shows a clear error. Delete the import and start fresh to switch modes.
  • Redesigned invoice line item form. Line items now render as three clear rows in calculator order: What (description + account), How much (Qty × Unit Price − Discount + Tax = Item Total), and Where (department / job / location, shown only when tracking dimensions are configured). The financial chain reads left-to-right without wrapping, and column headers appear once at the top instead of repeating on every line.
  • Mobile-friendly transaction reconciliation. The Transaction Details drawer (Categorize / Match / Transfer) is now usable on mobile — tab labels shorten on small screens ("Match" instead of "Match Document"), the shortfall/options row stacks vertically instead of overflowing, and footer action buttons wrap cleanly at narrow widths. Desktop layout is unchanged.
  • AI chat panel at narrow viewports. Between 600–900px (common in split-screen setups), opening the chat panel takes the full row and hides the navigation sidebar; the full-screen Agents page swaps between sidebar and chat views instead of cramming both into tiny columns.
  • Generalized processor payment support. The payment system now supports any payment processor (Wave Payments, Square, PayPal, Helcim) with the same fee-aware posting that Stripe uses — a clean 3-leg journal entry that posts the net deposit to clearing, the fee to merchant-fees expense, and the AR reduction.
  • Travel and Meals & Entertainment split in the default chart. New company workspaces separate Travel (Schedule C line 24a, 100% deductible) from Meals & Entertainment (line 24b, 50% deductible), matching the IRS form structure so there's no manual split at tax time. Existing workspaces are unchanged.
  • PDF bank statement extraction in the Inbox. Upload a PDF bank statement and Balances extracts each transaction into a review card you can categorize, just like CSV imports. Capped at 100 transactions per PDF; larger statements prompt you to use CSV instead.
  • System-managed accounts protected from manual posts. Retained Earnings and Realized/Unrealized FX Gains/Losses are now closed to manual posts (and to AI categorization), with a clear message pointing to the right alternative account. These are updated automatically by year-end close and FX revaluation.
May 9, 2026
Wave Migration in the App, Opening Balance Reconstruction & HEIC Inbox Previews
  • Wave Accounting migration — now in the app. A new Migrate page lets you upload your Wave Data Export ZIP and pick between cutover mode (everything before a chosen date becomes opening balances; everything after replays transaction-by-transaction) and full-history mode (every Wave transaction replays as a native Balances entity). The page shows exactly what was imported — every invoice, bill, payment, bank transaction, transfer, and journal entry — so you can verify your books before moving forward. Re-running is safe: already-imported items are skipped automatically.
  • Opening balance reconstruction for Wave migrations. The importer reconstructs your opening balances at the cutover date — GL account balances, bank and credit card starting balances, Retained Earnings (absorbing pre-cutover P&L), and all open invoices and bills carried forward as opening balance documents — so your trial balance in Balances matches your pre-cutover Wave books.
  • HEIC photo previews in the Inbox. iPhone photos (HEIC format) render directly in the Inbox preview panel — open a capture taken on an iPhone and you see the full receipt image alongside the extracted vendor, amount, and date.
  • Create service catalog items from chat. Ask the agent "Create a service called 'Hourly Consulting' for $100" and it confirms the details and income account before saving. The new service immediately appears in Settings → Services and the line-item picker on invoices.
  • Set starting balances from chat. The agent can set starting balances on bank accounts for mid-period cutover scenarios, in addition to the existing opening balance tool.
  • Smarter agent account creation. Asking the agent to "create a new expense account under Expenses" resolves directly to the top-level chart category instead of stalling with a clarification question listing sub-accounts.
  • Sharper agent invoice and bill handling. When posting a bill that's missing a number, the agent asks for the vendor's bill/invoice number rather than generating one — preserving your AP audit trail. Invoice numbering suggestions match your existing sequence when one is visible in the conversation. Document status queries ("unpaid invoices," "open bills") work consistently.
  • Wider PDF previews in the Inbox. Multi-page PDFs in the Inbox preview open with the thumbnail sidebar collapsed by default, leaving the full panel for the document itself. You can still open the sidebar from the toolbar if you need it.
  • Settings save bar polish. The save/cancel action bar on Workspace Settings, Agent Settings, and Customize Invoices stays pinned to the bottom of the page without overlapping the AI assistant panel.
May 8, 2026
Wave Accounting Migration, Inline Agent Approvals & Persistent Inbox Upload
  • Wave Accounting migration (Phase 1). With Wave Accounting shutting down, we've built a structured import path for Wave's Data Export ZIP files. Phase 1 covers parsing, classification, and chart-of-accounts + contacts materialization — your Wave accounts are mapped to the right Balances account types, contacts carry over with phone and address details, and bank accounts are linked. Phase 2 (opening balances and document reconstruction) is coming next.
  • Persistent Upload in the Inbox. A permanent Upload button now sits in the Inbox header, with a full-page drag-and-drop overlay when you drag files anywhere on the page — adding documents stays one click away even when your queue is busy.
  • Inline agent approvals. The agent's approval experience now lives inside the chat — the agent describes what it plans to do, you reply with "yes" or "looks good," and it applies exactly that. A single conversational flow in place of a separate approval card.
  • Streamlined save buttons across settings. Workspace Settings, Invoice Customization, and Agent Settings use a consistent save button at the bottom of the form for a tighter, more predictable save experience.
  • Smarter contact resolution from chat. Type an exact contact name and the agent picks the exact match directly. Genuinely ambiguous fragments (like "Acme" when you have Acme Corporation and Acme Industries) still prompt for clarification.
  • Bank CSV imports handle 2-digit year dates. CSV exports from Chase, TD, and RBC that use shortened date formats (e.g., 01/15/24) parse cleanly into the import.
  • Invoice PDF accent color. The Accent Color you set in Sales → Customize Invoices applies to the table header and the Amount Due section on every invoice PDF.
  • Service catalog polish. The service item dropdown on invoices shows a placeholder hint when your catalog has services, and adding a taxable service automatically enables tax-exclusive mode so GST is applied to the line.
  • Agent handles large data sets gracefully. When a tool returns a very large result (e.g., listing hundreds of transactions), the agent summarizes with counts and a sample rather than processing the entire result — keeping bulk queries fast and on-topic.
May 7, 2026
Self-Serve Workspace & Account Deletion, Mobile Review Tab (private beta) & Smarter Account Lookups
  • Self-serve workspace and account deletion. Workspace owners can schedule a workspace for deletion with a 30-day grace period from Workspace Settings. From Profile → Account you can schedule your own account, which also schedules workspaces you solely own. A banner shows the scheduled purge date with a Cancel button so you can reverse the decision anytime within the grace period. Co-owned workspaces are left untouched when you delete your account.
  • Mobile app — Review tab and capture flow (private beta). The iPhone app now has near-complete parity with the web app for day-to-day bookkeeping:
    • Review tab in the bottom nav — see transactions, batches, reimbursements, and draft documents that need attention, and approve or reject directly.
    • Capture flow — photograph a receipt or invoice, review the extracted details (amount, date, counterparty, memo), and file it as an expense, bill, deposit, or invoice payment with one tap.
    • Full reconciliation from the transaction detail screen — categorize, match to documents, mark as transfers, or exclude.
    • Status badges on the transactions list show whether each row is categorized, has a suggested match, or needs review.
    • Offline banner when your device loses connectivity, plus larger touch targets and screen reader labels throughout.
    Get in touch if you'd like access.
  • Account references by name or code in chat. Tell the agent to categorize something to "Software Subscriptions" or to 5100 and it resolves to the right account directly. Works across vendor rules, tax rates, and opening balances.
  • Smarter handling of fee splits in chat. Describe income or expenses that involve fees, retainers, or net-vs-gross splits ("rental income of $1,000 minus 10% management fee") and the agent picks the right structure — an invoice with a separate payment, a bill, or a journal entry — so each amount lines up cleanly against the matching bank deposit.
  • Cleaner agent language across plans, statuses, and progress updates. Plan actions read as "propose changes" and "apply proposed changes"; statuses use plain words like "queued," "applied," and "approved"; categorization progress is described as "auto-categorization."
May 6, 2026
Live Bank Import Progress & Inbox Drawer Polish
  • Live bank import progress. When you connect a new bank, the Banking dashboard shows a status indicator while historical transactions import — under a minute for most institutions; for those on a slower data path, you'll see a note explaining the longer timeline. The indicator clears automatically once your transactions arrive.
  • Inbox capture review fits narrow drawers. The Amount and Date fields in the capture review card share the row evenly at all viewport widths, so the layout stays readable in side-by-side workflows.
May 5, 2026
Per-User Agent Personality, Smarter Inbox Review & Per-Line Splits in Chat
  • Per-user AI agent personality. In multi-user workspaces, each team member now gets their own agent name and personality. Personalize from Settings → Agent or just tell the agent in chat — your "Captain Hook" stays yours, and teammates see a friendly prompt to pick their own name on first chat.
  • Smarter Inbox file review. The capture review drawer got a round of polish: vendor name auto-fills from OCR (and a missing vendor is created automatically when you approve), the Job field is now optional, an Activity tab matches every other detail surface in the app, and after review you see a card showing exactly what was created (e.g., "Bill #1234 — Created from this file") with an "Open" button to jump directly to it.
  • Per-line splits in agent categorization. Ask the assistant to categorize a transaction across multiple accounts with per-line tax rates, contacts, and tags — e.g., "split this $1,200 charge: $800 to Software Subscriptions tagged Project Alpha, $400 to Marketing with 5% GST." The assistant can also override the transaction date or exclude rows mid-batch.
  • Broader bank CSV format support. Bank CSV imports now accept amounts with currency prefixes — $1,554.35, C$100.00, and similar formats common in RBC and other Canadian-bank statements.
  • Clearer error messages on locked-period actions. When you try to modify a transaction in a locked accounting period, the message now tells you the lock date and the offending transaction date — e.g., "Books locked through Jan 31, 2026. This is dated Jan 15, 2026 — use a later date or update the lock in Settings." Applies everywhere: approvals, journal entries, payments, reconciliation.
  • More natural agent prose. Lighter, less verbose prompting with a guardrail that catches and rewrites any internal interface terminology before the assistant's response reaches you, so chat always reads in plain user-facing language.
May 4, 2026
Invoice Branding & Customization, Customer-Email Rebrand & Mobile Polish
  • Invoice Branding & Customization. A new Sales → Customize Invoices page lets you upload your logo, set primary and accent brand colors, add a footer message, and display your business contact details (address, phone, email, website) on every invoice PDF and email your customers receive. Branding flows through to estimates, statements, and reminder emails too.
  • Send a preview to yourself before sending to a customer. From the Send Invoice dialog (or via the AI assistant), you can now send a preview copy to your own inbox — same PDF, same email layout, same branding — with a [PREVIEW] tag so you can verify everything looks right before it goes out.
  • Update branding & request previews from the AI assistant. Ask the assistant to "change my invoice colors to dark red" or "send me a preview of INV-0186" and it handles it.
  • Your business name and address on customer emails. Invoices, reminders, payment requests, statements, and estimates now show your business name and address in the email header and footer. Reply-to is set to your workspace email so customer replies reach you directly.
  • Customer-facing emails sent from invoices@app.balances.ai. Customer-facing communications (invoices, reminders, statements, estimates) now send from invoices@app.balances.ai — making it clear the email is a billing communication, not a support message.
  • Refreshed payment reminder copy. Reminder emails have been rewritten — more direct and professional, with a clear invitation to reply if anything is holding up payment.
  • Rotate customer statement share links from chat. Ask the assistant to rotate a customer statement's share link — invalidating the previous link for anyone who has it. The assistant confirms before acting.
  • Promote and dismiss Inbox items from chat. Ask the assistant to promote items from your Inbox into expenses, bills, deposits, or reimbursements, or to dismiss irrelevant items. Each action flows through the standard preview-and-confirm workflow.
  • Inbox: actionable next steps for PDF bank statements. When you upload a PDF bank statement, the Inbox shows two clear paths: connect via Plaid (recommended) or upload the CSV export from your bank.
  • Inbox: queue depth at a glance. The Processed tab now shows a count (e.g., Processed (12)), matching the existing To Review (3) format. While a file is being processed, the drawer shows a friendly "Processing your file…" message.
  • Clickable preview links in the AI chat. When the assistant creates a contact, account, invoice, or journal entry, the chat shows clickable preview links (e.g., Created INV-001) that open the record directly. Invoice previews display the document number instead of an internal ID.
  • Nested document navigation in the contact drawer. Click a transaction inside the Contact drawer and the document opens in a nested drawer overlay — close the document and you're right back where you were. Cmd-click and middle-click still open in a new tab. Edits made in the nested drawer (posting, voiding) reflect in the contact's transaction list immediately.
  • Mobile-friendly Chart of Accounts. On phones, the chart shows only the essential columns (Account, Type, Actions) without horizontal scrolling. Account hierarchy with indentation and expand/collapse stays visible. Tablets and desktop show all columns as before.
  • Mobile drawer & dialog polish. Save/Update buttons in slide-out panels stay visible above the soft keyboard; confirmation dialogs, drawers, and overlays render above the sidebar (with the nav collapse button still accessible); and page header buttons (like "New Invoice") no longer break onto multiple lines on narrow screens.
  • Cleaner deploy-time UX. When a new version of Balances deploys while you have a tab open, navigation triggers a brief unobtrusive prompt. A silent auto-recovery rolling out alongside reloads the page in the background so you land where you were heading with no interruption at all.
May 3, 2026
Unified Inbox, Em-Dash Zeros, Account Deactivation Preview & Milestones in Chat
  • Unified Inbox. Every file entering Balances — uploaded, mobile-snapped, or attached in agent chat — now appears on a single Inbox page with three tabs (To Review, Processed, Auto-imported), URL-synced filters by source / document type / date / free-text search, and a side-drawer review experience modeled on Hubdoc, Dext, and Ramp. Replaces the separate Captures and Files pages, and the nav badge updates live.
  • Drop-zone on the empty Inbox Review tab. When the Inbox Review tab is empty, the empty state itself becomes the upload target — drag a file or several onto the dashed zone (or click to open the file picker) and they appear in the list within a second.
  • Tab-aware transaction action menu. The three-dot menu on each transaction row is now a complete inventory of what's available, ordered by frequency. Review rows offer Accept Suggestion, Categorize, Match Document, Transfer, Recharge, Exclude, and Discuss; categorized rows offer Recategorize, Uncategorize, Set Tags, Set Billed-to-Client, and Discuss; excluded rows offer Include — each option deep-links the reconciliation drawer to the matching tab.
  • Account deactivation preview. Deactivating an account from the chart of accounts now opens a typed confirmation modal that surfaces every consequence — open balance, blocked Plaid feeds, child accounts, dependent journal entries, and required follow-up actions — before you confirm. The agent's preview cards show the same payload, so chat and UI never disagree on consequences.
  • Em-dash zero amounts on reports. P&L, Balance Sheet, Trial Balance, Cash Flow, and AR/AP Aging now render zero amounts as instead of $0.00, matching the convention QuickBooks Online and Xero use. On the Trial Balance, hovering a dash reveals why the cell is zero — "No activity in this period" or "Net of N transactions" — surfacing offsetting activity that's normally invisible without drilling in.
  • iOS push notifications across workspaces. The iOS app now delivers push notifications for any workspace you have financial-read access to, regardless of which workspace you originally registered the device under.
  • Manage invoice milestones from chat. Ask the assistant to create, cancel, or mark-paid a milestone on an existing invoice — e.g., "create a 25% deposit milestone on INV-1024" or "mark milestone 1 on INV-1024 as paid." With this, the entire invoice-milestone surface — create, send, manage — is now agent-driven.
  • Conversation continuity across follow-up turns. Reference a document, account, or contact in a follow-up message ("mark INV-0001 paid against Customer Prepayments") and the assistant resolves the right entity every time, across the full surface of invoices, bills, payments, accounts, contacts, journal entries, and more.
  • Drag-and-drop uploads in the chat composer. Drop a receipt, statement, or document onto the chat to attach it instantly — same 10 MB limit and file types as the paperclip and clipboard-paste paths.
  • "Ask Anything" until you personalize the agent. New workspaces show "Agents" in the sidebar until you open the agent and either accept the suggested name or type your own. No silent renames from a seeded default.
May 2, 2026
Send Invoices & Statements from Chat, $0 Line Items, Mobile Workspace Switcher
  • Send invoices, statements, and milestone payment requests from chat. Email any of the three on your behalf — "send the deposit request to Acme" or "email the August statement to Globex." A confirmation card shows the recipient, amount, and document reference before delivery, so nothing leaves your workspace without your explicit approval.
  • $0 line items on invoices, bills, expenses, and estimates. Add equity vesting lines, included warranty items, "consultation — included," or third-party charges passed through at cost — without resorting to a $0.01 placeholder.
  • Faster onboarding conversations. The assistant asks fewer upfront questions when setting up a new workspace and lifts business name and industry directly from your replies, moving quickly to the practical setup steps — entity type, chart of accounts, bank connection.
  • Migrating from Wave, QuickBooks, Xero, or FreshBooks. Mention your prior software and the assistant walks you through a proven changeover-date approach: bring across only what's open (unpaid invoices, unpaid bills, bank balances) and let your prior system serve as the historical archive.
  • Capture photos can record bill and invoice payments. Photograph a receipt or check that pays an existing bill or invoice and classify it directly as a bill or invoice payment from the captures queue. The system creates a pending payment that auto-settles when the matching bank transaction arrives — no duplicate entries, no manual reconciliation.
  • Reimbursement destination for captures. Out-of-pocket purchases can be promoted directly to reimbursements from the captures queue, with the employee and merchant tracked separately.
  • Amount-range filters in agent transaction search. Ask the assistant things like "show me all transactions between $500 and $2,000 last quarter" — the search tool now accepts min_amount and max_amount filters.
  • One-click customer statement viewing. The "view your statement" link in customer emails opens directly to the live AR view — no login required, scoped to just that customer's account, and revocable from the contact drawer if you ever need to rotate the link.
  • Persist your last-visited workspace. Returning users land in the workspace they were last active in, with a preference for non-demo workspaces when ambiguous.
  • Mobile profile menu and workspace switcher. The top-right avatar on mobile now opens the full profile menu and workspace switcher, matching the desktop experience.
  • Polished customer-facing pages. Public invoice and statement views render in light mode for clean PDF printing and consistent contrast across email clients, and tenant brand colors load before the page paints — so the version your customer sees matches what you expect every time.
  • Tax Estimate redesign with current-year brackets. The Tax Estimate report has been redesigned for clarity and now uses 2026 federal brackets.
  • Pay button at the top of customer invoices. When customers view a shared invoice link, the Pay and Download PDF buttons now sit at the top-right — payment is immediately visible without scrolling, especially on longer invoices.
  • iPhone photos in agent chat. Attach HEIC and HEIF photos from iPhone (and WebP from anywhere) directly to the chat composer — they're processed natively, so you can drop in receipts, invoices, or bills without converting first.
  • Lighter drawer backdrop. Side drawers (account details, customer details) now use a subtler overlay that keeps the page behind more visible.
  • Cleaner chat interface. Feedback buttons (thumbs up/down) tuck inside message bubbles and only appear on hover; the approval prompt for agent actions reads more cleanly below the agent's explanation; and the message composer aligns with the message column for a cohesive layout.
May 1, 2026
Estimate-to-Invoice, Service Catalog, Slash Commands & Plan Approval
  • Estimate to Invoice — one click from quote to bill. When a customer accepts an estimate, you can now create a draft invoice directly from it. Click Create Invoice on any accepted estimate — all line items (description, quantity, price, tax, discount, account) carry over automatically. Edit anything that's changed, then post when ready. The same estimate can generate multiple invoices for milestone billing, and each invoice line tracks which estimate line it came from for full traceability.
  • Service Catalog — define your line items once, reuse them everywhere. A new Settings → Services page lets you save your common line items as reusable templates with name, income account, default price, and tax rate. When creating an invoice, start typing in a line item description and your saved services appear as suggestions — selecting one fills in the account, price, and tax rate automatically. Free-text entry still works exactly as before if you don't use the catalog.
  • Estimate decision notifications. When a customer accepts or declines your estimate via the share link, you'll receive an in-app notification, a push notification, and (for accepted estimates) an email with the estimate number, amount, and a direct link to view it — so you can follow up and send the invoice without delay. Notifications only fire for customer actions via the share link, not when you mark estimates accepted yourself.
  • Slash commands in the AI assistant chat. Type / in the composer to access /new, /stop, /archive, /rename, /close, and /help instantly without sending a message to the assistant. Slash commands appear above skills in the autocomplete menu and work entirely keyboard-first.
  • Estimate line items on the Job page. Open a job that was created from an estimate and see the full estimate scope — line items, quantities, unit prices, and totals — directly on the job's Overview tab. No more switching between the job and estimate to compare promised vs. actual. If multiple estimates are linked to one job, each shows as its own card.
  • Invoice sent-status at a glance. The invoice list now shows a "Sent" chip on invoices you've already emailed, with the send count and last-sent date in a tooltip. The Send button label switches to "Resend" after the first send — making it obvious whether you're about to send for the first time or follow up.
  • Agent: settle bills from non-bank accounts. You can now ask the assistant to settle bills, reimbursements, or mixed batches against shareholder loans, owner's draw, petty cash, or any other GL account. Just describe the payment naturally — "mark these reimbursements paid against the shareholder loan" — and the assistant proposes the right GL payment for review.
  • Agent: multi-step plan approval. The assistant can now break complex workflows into grouped steps that you approve individually. Instead of one all-or-nothing approval for a large batch of changes, you can review each group, approve the ones you want, and skip the rest.
  • Agent: convert estimate to invoice via chat. Ask the assistant to "create an invoice from EST-XXXX" and it converts the estimate using the same workflow as the UI button, with a preview card for your approval before any changes are committed.
  • Agent: clean rejection of preview cards. Saying "no" or "cancel" to a preview now cleanly dismisses it so you can move on. Previously, rejected previews could stay pending with no clear way to close them.
  • ACH payment status accuracy on shared invoices. After completing Stripe Checkout via ACH (bank transfer), the shared invoice page now shows the actual payment status — "succeeded" for card payments, "processing" for pending ACH, or "action required" for microdeposit verification. ACH transfers take 3-5 business days to settle, and the page now reflects that honestly instead of showing immediate confirmation.
  • Smarter PDF bank statement imports. When you upload a bank statement PDF where dates show only month and day (e.g., 12/08), the assistant now correctly infers the year from the statement period header — including year-boundary statements where some transactions fall in December and others in January. The import flow is also simpler: preview and confirm in two steps instead of three.
  • Stripe Clearing on the Banking dashboard. The Stripe Clearing row now shows your books balance as the primary number with clear labels — "Customer payments", "Fees + payouts to bank", "Held by Stripe" — matching what the row actually represents for a payment processor.
  • "Connect a bank" call-to-action on the Review page. When your workspace has no bank account connected, the Review page shows a clear button to connect one, matching the guidance already on the Dashboard and Transactions pages.
April 2026
April 30, 2026
Customer Statement Portal, Stripe Clearing, MCP for Claude.ai & Mobile Vision
  • Customer Statement Portal. Every customer now gets a durable, bookmarkable portal URL where they can see their live AR position with you — total balance, open invoices, what's overdue, and recent payments. Send the link from the contact drawer (Active customers only) with an optional personal note, or rotate the link to invalidate the old one. Unlike snapshot statements you'd find in QuickBooks, Xero, or Wave, this portal always reflects what's true right now — the link in the email is anchored to the send-date balance for an audit reference, but the page itself stays live.
  • Statement portal link in invoice & reminder emails. Invoices and payment reminders now include a small secondary "See your full account" link below the primary Pay button, routed through the customer's durable portal token. Customers who pay an invoice can self-serve and see what else they owe without waiting for you to send a separate statement. The link is suppressed on CC'd, BCC'd, and proxy-sent emails so the full-AR view doesn't land in a colleague's inbox.
  • Hosted MCP Connector — Claude.ai integration. Connect your Balances workspace to claude.ai (or Claude Desktop, or any MCP HTTP client) so your assistant can answer questions and take actions across surfaces, not just inside the Balances app. Settings → AI & Automation → MCP Tokens lets you mint scoped Personal Access Tokens (READ / WRITE / ADMIN, expirable, revocable). Claude.ai's connector picker uses OAuth 2.1 with Dynamic Client Registration — click Connect in claude.ai, consent on the Balances side, and you're done. Tokens never grant more authority than your UI role.
  • Stripe Clearing — proper end-to-end accounting. Each Stripe charge now posts net to Stripe Clearing with the fee captured separately to merchant fees; each Stripe payout, when its deposit lands in your bank, is auto-matched (date, amount, currency) and the settlement journal entry posts on approval. Books equal bank on Stripe Clearing, by construction.
  • Per-connector "Accept credit cards" toggle. On the Connectors page, each Stripe connector now has an Accept credit cards switch. Turn it off to restrict that connector's hosted Checkout to ACH only on USD invoices — skipping the ~2.9% + 30¢ card fee on bigger service-business invoices. Cards stay on by default; ACH-only is opt-in.
  • Pay button gates on Stripe account readiness. Stripe Connect accounts can be connected but not actually able to charge cards (Restricted status, paused capabilities, missing business website). The Pay button now only renders when Stripe will accept a charge. Customers see a graceful "this merchant hasn't finished setting up online payments — please contact them" message; merchants see a yellow Setup needed banner on Connectors with a one-click path to fix it in Stripe.
  • Mobile photo triage queue with auto vision extraction. Snap a photo on mobile, walk away. The capture lands in a server-side queue, vision extraction runs async (~10s), and the row populates with kind, amount, date, vendor / payer / payee, memo, and a confidence score. High-confidence rows surface for one-click Accept; ambiguous ones show as Pending for review. Works for receipts and paper checks, and rejects blurry or non-document shots cleanly. iPhone HEIC photos work natively now — the server transcodes to JPEG so iPhone captures auto-extract instead of being stuck as Skipped.
  • Reconciliation plans support partial approval. When the AI assistant presents a batch of suggested reconciliations (bill matches, invoice matches, categorizations), you can now approve only the items you want. Previously, approving any part of a plan executed all items — now the assistant processes only the specific items you confirm and reports skipped items so you can handle them separately.
  • Contact Transactions tab. Open a contact in the drawer and click Transactions to see every invoice, bill, expense, deposit, credit memo, and vendor credit tied to them in one chronological table. Each row shows date, number, type, status, and amount and links through to the underlying document. Paginated (10/25/50). Replaces the previous flow of leaving the drawer and filtering each list separately.
  • Hierarchical mobile account picker. The mobile categorize-transaction flow now matches the web's nested account selector — P&L and Balance Sheet sections, indented hierarchy, parent/system accounts visible-but-disabled with an explanatory icon. You can no longer accidentally tap a non-postable parent account.
  • Invoice engagement tracking. When you send an invoice, the invoice detail page now shows whether your customer has viewed the share link, how many times, and when they last looked at it. This appears in a new "Customer engagement" section in the Details card — so you can tell at a glance whether to follow up.
  • Customer view tracking in activity history. The first time a customer opens your invoice via the share link, a "Customer viewed invoice" entry appears in the invoice's activity feed. If a customer clicks a specific payment request link, each click is also recorded — giving you a clear audit trail of customer engagement without cluttering the feed with repeat views.
  • Payment Schedule on customer invoices and PDFs. When you send an invoice that includes payment requests (milestones), customers now see a Payment Schedule table directly on the invoice page — showing each payment request's description, amount, and status (Requested, Paid, or Cancelled). The same schedule appears on the PDF attachment so forwarded invoices carry the full payment context.
  • Pay button front and center on invoice pages. When your clients view a payment link, the Pay button is now the clear primary action — larger, branded, and positioned above the fold. Download PDF is still available but no longer competes for attention. For milestone payment requests, the Pay button now appears right next to the amount due instead of being buried below the line items.
  • Non-payable invoice status banners. When a customer visits a share link for an invoice that's already been paid, voided, or is still in draft, they now see a clear status message explaining why the Pay button isn't available — instead of just a missing button with no explanation.
  • Smarter contact and account matching. The AI assistant now matches contacts and accounts case-insensitively — typing "acme corp" correctly finds "Acme Corp" without failing. When multiple contacts or accounts share the same name, the assistant asks you to clarify which one you mean instead of silently picking one — so invoices never get accidentally assigned to the wrong contact.
  • Apply payment with credit, write-off, or FX. The agent's apply_payment tool now exposes difference_handling (credit / write-off / FX) and deposit_account options — the same options the UI's Add Payment dialog has. When a customer overpays, you can now route the residual to a customer credit or write-off, not just FX Gain/Loss.
  • Pending-decode awareness on aggregate questions. When you ask the assistant aggregate questions like "what's my total revenue this quarter?", it now warns you if there are bank transactions still pending decode that could affect the numbers, including the date range and count.
  • Conversation polish. New AI assistant conversations no longer self-introduce — the workspace already knows who Sam is. User-renamed conversations are preserved through the auto-title generator instead of being silently overwritten. Conversation tabs now have subtle dividers between them, and long titles are capped at a readable length with a tooltip showing the full title on hover.
  • Demo refresh. The demo workspace is now called "Demo Company" and ships a US tradie persona with seeded jobs, estimates, CA sales tax, and a populated review feed showing realistic invoice and bill matches. Demo workspace setup is also more resilient to retries — duplicate creation attempts are safely ignored.
  • Faster app cold-start. Public routes are now lazy-loaded and vendor chunks are split, so the app mounts faster on first visit. The AI assistant also defers loading 63 of 79 tools until needed, reducing cold-start latency.
  • OTP code input handles spaces. Pasting a code that contains spaces (e.g. from an email "1 2 3 4 5 6") now works. Previously the input was capped to 6 characters and dropped the spaces.
April 28, 2026
1099-NEC Tracking, Milestone Payments, Estimate Acceptance & Mobile Capture
  • Form 1099-NEC tracking & year-end report. Full support for tracking 1099 vendors and generating year-end reports. You can now mark contacts as 1099 vendors, securely store their TIN (SSN/EIN/ITIN), upload W-9 documents, and flag expense accounts as 1099-reportable. The new Reports → Form 1099-NEC page shows a summary of vendor payments with filing status, warnings for missing information, and a Track1099-format CSV download for easy filing. The report handles proportional allocation when a bill has both reportable and non-reportable line items. Your AI assistant can also generate 1099 reports and update vendor tax information.
  • Invoice Milestone Payment Requests. For project-based billing, you can now create milestone payment requests on invoices. Set milestones as a percentage or fixed amount (e.g., "50% deposit", "$2,000 pre-start"), then send payment request emails directly to your customer with a single click. Milestones track requested, paid, and cancelled states with a rollup summary showing how much has been requested, paid, and what's still available. Over-collection is automatically prevented.
  • Estimate sending & customer acceptance. Estimates can now be sent to customers via email with a PDF attachment and a public share link. Customers see a branded page where they can Accept or Decline the estimate. Accepting flips the status so you know it's ready to convert to a job or invoice. The status palette shows at a glance: blue for sent, green for accepted, red for declined.
  • Estimate & Job detail drawers. Estimates and jobs now open in detail drawers (like invoices and bills do) with tabs for details, line items, and activity history. Activity events are now tracked for the full lifecycle — created, sent, accepted, declined, converted to job, voided, completed, reopened, and cancelled.
  • Firm Task discussions. Firm-managed workspaces now have threaded discussions on transactions. Either the accountant or the client can start a conversation, reply, and resolve — right from the transaction detail view. Messages show who said what (firm vs. client) with clear visual distinction.
  • Inspectable change previews. When your AI assistant proposes a change (applying a payment, voiding a document, deactivating an account), you now see a detailed, typed preview showing exactly what will change — with before/after balances, status transitions, and affected documents. Click "Inspect details" for a full breakdown in a side panel. Replaces the previous generic approval card and covers payments, documents, contacts, accounts, vendor rules, journal entries, estimates, and recurring invoices.
  • Mobile photo capture for checks & receipts. The mobile camera tab now supports both receipt and check capture with a mode toggle. After taking a photo, you'll see a scanning animation followed by extracted field details. You can tag captures to active jobs before saving. Recent captures (up to 6) are shown for quick reference.
  • Smarter scope handling. The AI assistant no longer refuses workspace-data queries just because the search terms sound medical, legal, or unusual. Searching for "Prescriptions", "Pet Care", or "Cannabis Inventory" now works as expected — your chart of accounts and transaction labels can be anything.
  • Uncategorized transaction awareness. When you ask aggregate questions ("what's my total revenue?"), the AI assistant now tells you if there are uncategorized bank transactions that could affect the numbers, including the date range and count.
  • Session cost protection. Long agent sessions now have a token cap that pauses the conversation with a friendly message instead of silently continuing and accruing costs. Previously, a single session could consume significant resources through silent auto-continuation.
  • Consistent empty states. All list and table pages now share a unified empty-state design with clear icons, descriptions, and action buttons. Whether you're looking at an empty contacts list, chart of accounts, or transactions table, the experience is consistent.
  • Clearer banking terminology. Replaced internal jargon "historical transactions" with the self-explanatory "excluded from the books" across the transactions page, CSV uploader, Plaid connection flow, and starting balance dialog. Fresh workspaces with no excluded transactions no longer mention exclusion at all.
  • Settings pages use drawers. Tags, Tax Rates, and Agent Skills settings now open in slide-out drawers instead of popup dialogs, matching the rest of the app.
  • Responsive agent panel. On narrow screens (tablets, small laptops), the AI assistant panel now fills the full width instead of overlapping with the main content. The panel takes over the view cleanly, and main content reappears when you close it.
  • Shared email recipient fields. Invoice sending and milestone payment requests now share a unified email recipient component with To/CC/BCC fields and a "Save email to contact" toggle that updates the contact record when you enter a new address.
  • Timezone-aware "today" for financial operations. Five places in the app previously used the server's UTC date as "today" instead of your workspace's timezone. For users in timezones far from UTC, this could cause valid same-day operations (like setting an opening balance date) to be rejected around midnight. The app now uses your workspace timezone everywhere it checks "today."
April 27, 2026
Books Start Date Setup, Per-Account Opening Balances & Agent Memory
  • Books start date setup presets. When setting your Books start date for the first time, you now see guided options — Start of this year, Start of last year, Start of this month, or Custom — instead of a blank date picker. Each option includes a brief explanation to help you choose the right date for your business.
  • Per-account opening balance dates. Bank accounts can now have their own opening balance date, independent of your workspace Books start date. If you added an account after your Books start date, you can set its opening balance as of the date the account started — and Plaid syncs, CSV imports, and reconciliation all respect that date automatically.
  • Base currency columns on the FX Gains & Losses report. Two new columns — Base Currency and Base Currency Amount — now appear on both the realized and unrealized tables. This shows the amount as recorded in your books (in your workspace currency), so you can tie each row directly back to your P&L, Balance Sheet, Trial Balance, and aging reports without doing manual FX math. The Excel export includes the new columns too.
  • Books start date is now a boundary, not a setting. In Workspace Settings, Books start date is displayed as read-only with a "Review" button that takes you to Opening Balances — where you can see the accounting context before making changes. On the Opening Balances page, the date shows as "Books live from [date]" with an explicit "Change" action, and the change dialog explains what will be affected.
  • Name your agent during your first conversation. When you start a new workspace, your agent now introduces itself by asking what you'd like to call it — right in the chat, no settings detour needed. Give it a name (or a personality like "Captain Hook the pirate"), and it sticks. If you'd rather skip, the default name Sam stays put and the agent moves on without asking again.
  • AI assistant: automatic memory. The assistant now automatically remembers useful context from your conversations — your workspace preferences, common workflows, and patterns — so future interactions are more personalized without you needing to repeat yourself.
  • AI assistant: payment void previews. When you ask the assistant to void a payment, it now shows you a preview of what will change (which ledger entries will be reversed) before executing. This gives you a chance to review before committing to a destructive action.
  • Smarter agent safety checks on destructive actions. When the agent voids a payment, deletes a document, or deactivates a contact, the confirmation system now produces specific messages explaining exactly what's being checked and why. The assistant also checks whether you've actually discussed an entity in the conversation before performing destructive actions — if you ask to void a payment you haven't mentioned, it asks you to confirm which one you mean.
  • Smoother onboarding when setting your Books start date to today. The AI assistant previously could get stuck asking you to repeat yourself when you confirmed you wanted to start your books today. Now natural replies like "yes, that's fine" or "just set my start date to today" are accepted immediately after one clear confirmation. The language around what happens to bank transactions before your start date is also clearer — they'll be excluded from your books unless you move the date back later.
  • Stale tab now shows a friendly update prompt. If you left a Balances tab open and a new version shipped, returning to that tab could previously show a scary error page with a technical URL. It now shows a friendly "A new version of Balances is available" message with a Refresh button. Your work is safe — just click Refresh.
  • Empty For Review tab explains why. When the transaction Review tab is empty, it now explains the likely reason — whether transactions are in the Excluded tab, whether they're before your Books start date, or whether you need to connect accounts.
  • CSV upload distinguishes pre-Books-start-date rows. When uploading a CSV, rows before your Books start date were previously grouped with other "skipped" transactions. The upload result now clearly separates "X rows before Books start date were not imported" from duplicates and other skipped rows.
  • Plaid import history choice is explicit. When connecting a bank via Plaid, the import history choice (full history vs. start from a specific date) is now an explicit step in the flow rather than a default that's easy to miss.
  • "GL accounts" renamed to "accounts." References to "GL accounts" have been replaced with plain "accounts" (or "ledger accounts" where it helps distinguish from bank accounts). This affects the Opening Balances page, bank account settings, activity logs, agent conversations, and API documentation. No changes to how anything works — just clearer language.
  • Cleaner, more consistent corner radii throughout the app. Buttons, inputs, message bubbles, sidebar items, cards, and chips now follow a deliberate 3-step scale. The result is a tighter, more precise look — particularly noticeable in the agent chat panel where the "Ask anything" button and composer now match exactly.
  • Reimbursement Approved filter cleanup. The Status dropdown on the Reimbursements page previously included an "Approved" option that always showed an empty list — because approved reimbursements immediately transition to "Awaiting Payment" rather than resting in Approved. The filter has been removed; use Awaiting Payment to find approved reimbursements.
  • Workspace Settings action bar respects the sidebar. The Save/Cancel bar at the bottom of Workspace Settings was previously spanning the full browser width, overlapping the sidebar navigation on wider screens. It now stays within the settings column.
  • Faster AI assistant responses. The assistant no longer opens a background database connection on every message to check if conversation history needs compacting. It now checks in-memory first, eliminating unnecessary work on the vast majority of messages.
April 25, 2026
One-Click Void, Invoice Payment Notifications & Auto-Posting Opening Balances
  • Void reconciled transactions in one step. Previously, voiding an expense or deposit that was linked to a bank reconciliation required you to navigate to the Banking tab, find the transaction, unreconcile it, then navigate back to void the document — three separate steps. Now, when you void a reconciled document, Balances shows a confirmation dialog asking if you'd like to void and unreconcile in one action. Click confirm and both happen atomically. Your books stay balanced throughout.
  • Invoice payment notifications. When a customer pays an invoice through your Stripe-powered payment link, admin users now receive an in-app notification: "Acme Corp paid $1,250.00 — Invoice INV-0042 was paid online." No more checking invoices manually to see if payment arrived. Duplicate webhook deliveries are handled gracefully — you'll only see one notification per payment.
  • Opening balances post automatically. The Opening Balance wizard's Post/Reopen ceremony is gone. Creating an opening invoice or bill now immediately posts the corresponding journal entry — just like QuickBooks and Xero. Editing voids and reposts atomically; deleting voids and removes. If you're on a workspace that used the older batched format, your first edit transparently migrates to the new per-document format with no action required.
  • Reconciliation form notes no longer carry over between transactions. When switching between bank transactions in the reconciliation drawer, notes, exclude reasons, and billable contact selections from the previous transaction could appear on the next one. The form now correctly resets when you switch transactions, and your in-progress edits are preserved when the page refreshes in the background.
  • PDF and Excel reports now match exactly. Previously, PDF and Excel exports of the same report could differ in subtle but important ways: the Balance Sheet duplicated parent accounts in both formats, Excel labelled the Balance Sheet's aggregate column "Total" (incorrect — a Balance Sheet is a point-in-time snapshot, not a sum), and section headers like "Operating Activities" vs. "Cash Flows from Operating Activities" varied between formats. All five cross-format reports (Profit & Loss, Balance Sheet, Cash Flow, Trial Balance, Statement of Changes in Equity) now render identically in both PDF and Excel, with consistent column headers, section labels, and line items.
  • Statement reconciliation balances display correctly. The bank balance reconciliation preview is now formatted with the correct decimal precision for your account's currency — 2 for USD, 0 for JPY, 3 for KWD.
  • Mobile accessibility improvements. All interactive buttons in the transaction detail, receipt capture, and AI assistant screens now have proper accessibility labels for VoiceOver navigation. Error messages now appear as animated in-screen banners instead of blocking alert dialogs, following iOS Human Interface Guidelines for inline error feedback.
  • Updated Plaid and Stripe SDKs. Plaid integration upgraded to v39 and the Stripe billing integration to v15 for continued reliability and access to the latest API features.
  • Foundation for smarter agent interactions. Laid the groundwork for the next generation of AI assistant capabilities with a new type-safe architecture for agent tool contracts. The agent now uses strongly-typed references (accepting names, IDs, or objects interchangeably) and a unified change system that will enable more reliable multi-step operations in upcoming releases. Current agent functionality is unchanged — these improvements will power new capabilities in future updates.
April 24, 2026
Trial Global Switching, Reminder Mute & Bank Transaction Agent
  • Try Global features during your trial. If you're on a Pro trial, you can now switch to the Global plan to evaluate multi-currency features (foreign-currency accounts, exchange rates, FX revaluation) without entering a credit card. Switch back and forth as many times as you want during your 14-day trial. Your foreign-currency data is preserved when you switch back to Pro — it's just hidden until you re-enable Global. At the end of your trial, whichever plan you're on becomes your default at checkout.
  • Proactive per-customer mute on the Reminders page. You can now mute reminders for any customer directly from the Reminders page without waiting for an invoice to be sent — useful when you know a customer is in a payment plan or you're actively working things out with them.
  • Invoice reminder and retry emails show your company name. When invoice retries or automated reminders go out, the "From" name now consistently shows your company name (e.g., "Acme Co via Balances") instead of just "Balances" — matching the original invoice send so customers recognize the sender on follow-ups.
  • Ask the AI assistant to create raw bank transactions. You can now tell the assistant things like "add a bank transaction, money in $100 on Chase Checking" and it correctly creates a raw bank transaction in your Review queue — instead of silently creating a deposit categorized to "Other Income." The assistant clearly distinguishes between banking transactions (uncategorized entries on your bank ledger) and deposits (income documents that post to the general ledger with a P&L category). Created bank transactions also appear as clickable links in the chat that open the transaction detail drawer inline.
  • Per-row tags and billable-to on reconciliation. When categorizing bank transactions on the reconciliation drawer, you can now set tags and the billable-to client per row — without leaving the reconciliation flow. The agent also keeps CSV category context when continuing a categorize-from-CSV conversation.
  • Sort tag options alphabetically. Tag option dropdowns now sort alphabetically by default, making it much faster to find an option in tags with many values (Department, Project, Location, Job Phase, etc.).
  • Hide deactivated accounts from filter dropdowns. Deactivated bank accounts no longer appear in account filter and picker dropdowns across the app. They remain visible (with an "Inactive" badge) on the Chart of Accounts and via the "Show inactive" toggle, where you'd expect to manage them.
  • Allow tag edits on paid invoices. Tags on invoices and bills can now be edited even after the document has been paid. Previously, paying an invoice locked tag edits, which made it hard to correct a project tag after the fact.
  • Paid documents default to view mode. Opening an expense or deposit drawer for a document that's already been paid now defaults to view mode rather than edit mode. The Edit toggle is one click away — but most of the time when you open a paid document, you want to look at it, not edit it.
  • Pay button text contrast on public invoice page. Tightened the Pay button's text contrast on the public invoice page so the call-to-action stays unambiguous on light and dark workspace brand colors alike.
  • Softer drawer backdrop in dark mode. Side drawers (invoice details, journal entries, contacts, etc.) now use a lighter, slightly blurred backdrop in dark mode. The content behind the drawer stays readable as context instead of appearing blacked out.
  • Agent page matches the rest of the app. The full-page AI chat view previously stretched edge-to-edge, looking disconnected from the app's chrome. It now sits inside the same rounded content container as every other page.
  • Conversation tab titles stay readable. Long conversation titles in the AI chat panel are now capped at a readable length with a tooltip showing the full title on hover. Prevents tab overflow and keeps the tab strip clean. Auto-generated titles also no longer surface error text — if the AI can't generate a title, you'll see "New Chat" instead.
  • Surface "Billed To Client" filter on expenses. The expenses list now has a dedicated Billed To Client filter alongside the existing Paid From filter, so you can find every expense billable to a specific client with one click.
  • Cross-currency allocation precision. When reconciling bank transactions against invoices in different currencies, allocations are now quantized to the destination currency's precision (2 decimal places for USD, 0 for JPY, 3 for KWD) at every step. Multi-document allocations across one bank deposit are now more precise and deterministic.
  • Plaid connections paused when workspaces deactivate. Deactivating a workspace now automatically pauses all of its Plaid connections rather than leaving them active. Re-activating the workspace later doesn't auto-restore the connections — you decide which ones to bring back, giving you control over the resume.
April 21, 2026
Mobile App: Dark Mode, Offline Support & Native Polish
  • Mobile app: dark mode, accessibility, and Dynamic Type. The mobile app now follows your iOS system appearance — switch to dark mode and every screen adapts automatically. Full VoiceOver support with clear labels on every interactive element. Dynamic Type so the app respects your preferred iOS text size.
  • Mobile app: haptics, animations, and offline support. The app feels noticeably more responsive with haptic feedback on taps, smooth spring animations, and loading skeletons instead of spinners. Most importantly, the app works offline — cached data from your last session is available without a connection, and a banner lets you know when you're offline.
  • Mobile app: deep links. balances://accounts, balances://chat, and similar URLs open the app directly to the right screen.
  • Bank Accounts screen gets a signature look. A new animated balance hero collapses smoothly as you scroll on the mobile Bank Accounts screen.
  • Balances logo navigates to Agents. Clicking the Balances wordmark in the header now navigates to the Agents page — the AI-powered surface we want front and center. The top-level nav item has also been renamed from "Agent" to Agents. (Employees in company workspaces continue to land on Reimbursements, their primary workspace.)
  • Opening Balance Equity chip on the Dashboard. If your workspace has a non-zero Opening Balance Equity at your conversion date, you'll see an informational banner showing the amount with a link to review your opening balances. Advisory only — a non-zero OBE is expected and represents your starting equity.
  • Opening Balances page polish. Tab labels better describe what they do: "Balances" (was "Accounts") and "Review & Post Invoices / Bills" (was "Review & Post"), reflecting that bank and GL balances save as you enter them — only invoices and bills need a post step.
  • Per-account opening balance activity trail. Setting, updating, or clearing a GL opening balance now produces its own activity card with the account name, old and new values, and a direct link to the account. Posting opening invoices and bills produces a single card showing AR/AP totals with a link to the journal entry.
  • Accounts tab stays editable after posting invoices & bills. On workspaces using per-account opening balances, posting your opening invoices and bills no longer locks the GL and bank account rows. Each balance lives on its own independent journal entry, so you can edit them at any time.
  • Reconciliation works for accounts with zero transactions. You can now reconcile a $0 statement on a new or dormant bank account — useful for establishing a clean audit trail when onboarding a new account.
  • Match card improvements on the Review page. Reimbursement and expense match cards now show the document date, so you can assess temporal plausibility without clicking through. Clicking a reimbursement link (e.g., REIMB-1024) opens the reimbursement detail drawer. The AI no longer suggests matches between transactions and documents more than 90 days apart.
  • Reconciliation attachments are now discoverable. PDF bank statements attached during reconciliation now appear on your Files page. The Balance Reconciliation page also shows a paperclip icon with a count on past-statement rows that have attachments.
  • Redesigned batch group headers in the assistant feed. Section headers above grouped approvals (e.g., "5 Bill Payments") are now more prominent — larger text, title case, and a small color-coded dot that matches the action type (blue for matches, green for approvals).
April 20, 2026
Tax Estimate Breakdown, Reminder Activity Feed & Cross-Workspace Email Links
  • Tax estimate dialog shows the full calculation. The "Estimate Federal Tax" dialog now shows you exactly how your quarterly payment is calculated, with a step-by-step bridge from your YTD tax to the projected full-year tax to the quarterly installment, with the exact formula visible (e.g., "YTD × 365 ÷ 110 days elapsed"). A prior-quarter warning appears if an earlier deadline has passed. Due dates now display in human-readable format. Every number in the dialog can be verified by hand.
  • Invoice reminder activity in the dashboard feed. Automated invoice reminders now appear in your main activity feed. Sent reminders show who was emailed, the outstanding balance, and which tier fired (e.g., "3 days before due" or "14 days overdue"). Failed reminders appear as alerts with the failure reason. Actionable skips explain why a reminder was held (e.g., "Skipped because the customer has no email on file"). Toggling Invoice Reminders on or off in workspace settings is also recorded.
  • Email links open the correct workspace. Clicking a link in a Balances email (daily digest, billing notices, banking alerts) while signed into a different account now shows a clear prompt: "This link was sent to a different account" with options to sign out and switch, or continue with your current account.
  • Zero opening balances are recognized as complete. Setting a bank account's opening balance to $0.00 — a deliberate action confirming the account started at zero — now clears the "Draft OB" badge and allows reconciliation to proceed normally. No action is needed if you were affected.
  • "Reactivate Workspace" button works in one click. The Reactivate Workspace button in the orange banner on deactivated workspaces now reactivates your workspace directly, with clear feedback while the action completes.
  • Banking dashboard balance tooltips are clearly readable. Hovering over Bank Balance or Books Balance now shows the register breakdown (opening balance, money in, money out, closing balance) in a clean solid popover. Hovering anywhere within the balance cell triggers the tooltip.
  • More resilient Stripe Connect payment processing. Strengthened the Stripe Connect integration so invoice payments collected through Stripe Connect update invoice status reliably — with added type-safety measures to prevent similar issues from recurring.
  • Credit cards no longer show a warning dot by default. A positive balance on a credit card is the normal state. Orange indicators are now reserved for things that actually need action (uncategorized transactions or bank/books mismatches). Genuinely unusual states — overdrawn checking, credit balance on a card — still get clear labels.
April 19, 2026
Opening Balances Overhaul, Ask-Client Flags & Smarter Contact Detection
  • Per-account opening balance editing. Opening balances can now be set and edited individually per account — for bank accounts and GL accounts. Changes save automatically as you tab between fields, so editing one account's balance no longer touches any other. No more staging and posting as a batch.
  • Inline opening balance on bank account creation. When adding a manual bank account, you can now enter the opening balance directly on the creation form instead of navigating to a separate page afterward.
  • Plaid-derived opening balance suggestions. For Plaid-linked bank accounts, Balances can now compute a suggested opening balance from your synced transaction history. The AI assistant walks you through the math before committing — nothing is changed without your confirmation.
  • Start date change safety. Changing your books start date now shows you exactly what will be affected — including any reconciled statement periods — and handles the cleanup atomically.
  • One-click re-verify for drifted reconciliations. If you edit an opening balance after reconciling a statement period, that reconciliation may drift. A new Re-verify button appears on affected periods, letting you repair them without re-running the full reconciliation wizard.
  • Ask Client About a Transaction. You can now flag a transaction as "needs clarification from the client" directly from the transaction drawer. An orange badge appears on flagged transactions so you can track which items are waiting for a response.
  • Report adjustment disclosures. Balance Sheet and Trial Balance reports now include a collapsible panel explaining which live adjustments are baked into the numbers — current-year net income, cash-basis AR/AP reclassification, FX revaluation gains/losses. The panel only appears when adjustments are present.
  • Bank account register summary. Bank account balance information is now presented consistently across the app using a unified register view showing opening balance, money in, money out, and closing balance — with correct sign handling for credit cards and loans.
  • Contact propagates with category during categorization. When you categorize a bank transaction and select a contact, identical transactions in your queue now pre-fill both the category and contact — not just the category. You only need to do it once.
  • Smarter contact detection from category names. When the AI categorizes a transaction to an account like "Shareholder Loan Owing to [name]", it now automatically suggests the corresponding contact. Works with "Due to", "Due from", "Loan to", "Payable to", and "Receivable from" patterns.
  • Firm client invitations are more resilient. Re-inviting a client who previously declined or whose invitation expired now works seamlessly. Email-based invitations also verify that the accepting user matches the invited email.
  • "New Chat" in the assistant always starts fresh. Clicking the + button now reliably starts a brand-new conversation every time.
April 18, 2026
Firm Tasks, Promo Code Passthrough & Reconciliation Safeguards
  • Firm Tasks. A new Tasks page (/tasks) lets accounting firms create, assign, and resolve tasks for each client workspace. Tasks can be categorized as transaction questions, file requests, document reviews, or general to-dos, and anchored to a specific transaction, document, or contact for context. Filter by owner (Firm or Client) and toggle resolved tasks on or off. The AI assistant can create, list, and resolve tasks too.
  • Marketing promo codes carry through to Stripe checkout. When you arrive at Balances from a marketing link with a plan and promo code (e.g. ?plan=pro&promo=TAXDAY75), the selected plan and discount are now preserved through the entire signup flow — including Google sign-in — and pre-applied at Stripe checkout.
  • Invoice emails now include a PDF attachment. When you send an invoice, the email carries the rendered invoice as a PDF attachment alongside the "View Invoice Online" link.
  • Pay links stay in sync with invoice edits. Editing an invoice amount now automatically expires the old Stripe pay link. The next time your customer opens the link, a fresh session is created at the correct amount.
  • Inline opening balance form on the reconciliation page. The "Reconcile a Statement" button is now disabled until an opening balance is set. A new inline form lets you enter it directly on the reconciliation page — no detour to Settings.
  • Reconciliation warnings when changing opening balances. If you change an opening balance that affects prior reconciliations, the form lists the specific reconciliations that will be invalidated before you commit.
  • Opening balances now respect the books lock date. Consistent with how every other ledger write already behaves.
  • Negative opening balances supported for bank accounts. Useful for overdrawn checking accounts or credit balances on credit cards.
  • Credit card and checking status pills. Credit cards with outstanding balances show an "OWING" pill, credit balances show a green "CREDIT" pill, and overdrawn checking accounts show a red "OVERDRAWN" pill.
  • Demo Company pinned slot in the workspace switcher. The demo workspace now always sits at the bottom of the dropdown with an orange DEMO chip.
  • Reconciliation action bar is sticky. The "Reconcile a Statement" button stays visible while scrolling.
  • The AI assistant prompts for an opening balance after creating a bank account, preventing reconciliation problems later.
April 17, 2026
Review Page Redesign, Vendor Rules in AI & Onboarding Polish
  • Review page redesigned with sticky headers and cleaner cards. Batch groups render as collapsible trays with individual decisions shown as distinct inset cards. The bulk "Looks Good" button is integrated into each batch, and each item shows a single primary action. Group headers stay pinned at the top of the screen while you scroll.
  • Manage vendor rules from the AI assistant. Say "always categorize [merchant] as Meals & Entertainment" and the assistant sets up the rule and recategorizes matching transactions. All the same operations available in Settings → Vendor Rules now work through the assistant.
  • Custom assistant personalities are now consistent. If you've set a custom personality for your assistant (custom name, tone), it stays in character across every response.
  • Review page works properly in split-screen. Stats summary and batch headers respond correctly to the narrower content area when the assistant chat panel is open alongside the Review page.
  • Smarter onboarding for returning team members. When a new team member joins a workspace where onboarding has already been completed, the assistant greets them with context-aware messaging acknowledging what's already been set up.
  • Clearer passkey error messages. Passkey failures now show specific, actionable messages — e.g., if your account doesn't have a passkey registered, you'll know to sign in another way and set one up from Settings.
  • Leaner agent context for faster responses. Internal AI agent instructions were streamlined from ~63KB to ~27KB of always-loaded context — faster and more focused responses.
April 16, 2026
Vendor Rules & Faster Reports
  • Vendor Rules — pin merchants to categories. Pin recurring merchants to a specific category so future transactions are categorized automatically with 100% confidence — no AI guessing. Pin from the For Review tab or check "Always use this category for this merchant" in the transaction detail panel. Manage rules under Banking → Vendor Rules.
  • Real Connector OAuth flows are now live. The Connectors page now connects to real Stripe and Gmail accounts via OAuth.
  • Faster financial reports. Trial Balance, Balance Sheet, Profit & Loss, and Cash Flow reports now fetch account data in a single database query instead of 2–5 separate queries. Especially noticeable for workspaces with large charts of accounts.
  • Dashboard cards reflow at narrow widths. Summary cards gracefully reflow from 4 columns down to 1 when the AI assistant panel is open. Metric values scale smoothly so large amounts always fit cleanly.
  • Wider AI assistant panel. The panel opens at 50% width instead of a narrow fixed size. The top nav stays visible and clickable when side drawers are open.
  • Personalized AI onboarding. When you create a new workspace, the AI assistant greets you by name and references your workspace.
  • Mobile agent approve button inline. Approve buttons now appear inline in the mobile chat when the assistant needs approval. Tool calls also show human-friendly status messages like "Searching your records..." instead of internal function names.
April 15, 2026
Online Invoice Payments, Mobile App Launch & Reminder Controls
  • Online Invoice Payments via Stripe. Your clients can now pay invoices directly from the shared invoice page. When you connect your Stripe account (Settings → Connectors), a Pay Now button appears on every outstanding invoice you share. Your client clicks it, pays via Stripe Checkout, and the payment is automatically recorded in your books — journal entries posted, invoice status updated, no manual data entry. Supports all currencies including zero-decimal (JPY) and three-decimal (KWD).
  • Mobile app: full authentication parity. The mobile app now supports all the same login methods as the web app — Google OAuth, passkeys, magic link codes, and two-factor authentication.
  • Mobile app: transaction categorization. Categorize bank transactions directly from your phone. The app shows AI-suggested categories that you can accept with one tap, or manually search and pick an account and contact.
  • Mobile app: conversation history synced with web. Agent conversations are now saved and accessible from the Agent tab. Start a conversation on the web, continue it on mobile.
  • Mobile app: visual refresh with native iOS styling. Proper safe area handling, system icons replacing emoji tab icons, date-grouped transaction lists, and an iMessage-style agent chat.
  • Invoice reminder suppression controls. Mute invoice reminders toggle in the contact drawer silences all reminders for a specific customer. Pause reminders toggle on individual invoices stops reminders for a single invoice. Inline action buttons on the Reminders activity page let you mute/pause/unmute/resume directly. You can also ask the AI assistant: "mute reminders for [customer]".
  • Slash-command autocomplete in agent chat. Type / to see a list of your workspace skills. Select one with keyboard arrows or click to invoke it instantly.
  • Streamlined login flow. Login is now two clear steps: enter your email, then choose your sign-in method (password, passkey, magic link). If your browser supports passkey autofill (1Password, iCloud Keychain), you can still sign in directly from step 1.
  • Redesigned tax estimate dialog. The estimated tax amount now appears in a polished summary card with your business net income and effective rate side-by-side.
  • Wider agent chat panel. The panel opens at a more comfortable width (600px, up from 450px). Drag to resize as before.
April 14, 2026
Session Reconciliation, Dedicated Agent Page & Smarter "Do My Books"
  • Session-based statement reconciliation. Bank statement reconciliation now happens in a focused, full-page session. Enter your statement date and ending balance, then check off transactions one by one with a live running difference that updates as you go. Transactions outside the reconciliation period are dimmed, cleared rows are highlighted, and the Finish button only activates when the difference hits zero.
  • Dedicated Agent page. The AI assistant now has its own full-page view, accessible from the new "Agent" item at the top of the left navigation. You can still use the side panel for quick questions, but the full page gives you more room for longer conversations and onboarding.
  • Smarter "do my books" workflow. When you ask the AI assistant to process your transactions, it now works through them in the same intelligent order as the Review page: matched invoices and bills first (instant wins), then transfers, then large groups of similar expenses. The agent also presents transactions in groups (e.g., "5 purchases → Coffee Expense") so you can approve entire batches at once.
  • AI assistant remembers your business profile across chats. The assistant now remembers your industry, entity type, country, accounting basis, fiscal year, and goals across all conversations — not just during onboarding.
  • Consistent empty states across all listing pages. Documents, Contacts, Chart of Accounts, Files, Jobs, Estimates, and Banking Imports pages all show a clean, helpful empty state with an icon and a call-to-action. The Documents page distinguishes between "you have no documents" and "no documents match your current filters" — with a one-click Clear filters button.
  • Firms clearly labeled in the workspace selector. If you're part of an accounting firm, the firm entry in the workspace dropdown shows a small FIRM badge.
  • Cleaner new-workspace onboarding. Creating a new workspace no longer shows double notifications or pops the sidebar in and out. The experience is smooth and focused.
  • Refreshed agent personality. The AI assistant no longer introduces itself as "your bookkeeper" (you're the bookkeeper!) — it now presents itself as an accounting assistant.
  • Mobile users can now access the conversation list in the AI assistant. A toggle button in the chat header opens your full conversation list.
April 13, 2026
Tax Support, Job Tracking, Gmail Receipts, Invoice Reminders & Much More
  • Tax estimation for US small businesses (preview). Balances can now estimate your federal and state tax liability based on your books. This is a preview feature — early access is available for US-based workspaces. Tax estimates appear alongside your financial reports and update as your books change.
  • Sales tax on invoices and bank transactions. You can now add tax rates to invoices and bank transaction categorizations. Tax rates are fully configurable in Settings → Tax Rates, with a default tax mode (inclusive or exclusive) that applies across the app. Posted invoices show a detailed tax breakdown. New tax rates default to your Sales Tax Payable account. The AI assistant can also create and apply tax rates on your behalf.
  • Job tracking for per-job profitability. Track revenue and expenses by job or project. Create jobs from Sales → Jobs, link invoices and expenses, and see per-job P&L at a glance. You can also convert estimates into jobs and filter the job list by customer. The AI assistant understands jobs and can create, search, and report on them.
  • Estimates UI. A dedicated Estimates page lets you create, manage, and convert estimates to jobs or invoices — completing the quote-to-cash pipeline announced with Estimates & Quotes earlier this month.
  • Automated invoice reminders. Balances can now automatically remind your customers about unpaid invoices. A 4-tier reminder system sends emails at configurable intervals before and after the due date. Safety checks prevent sending reminders for disputed, partially paid, or recently reminded invoices.
  • Gmail connector with receipt extraction. Connect your Gmail account from Settings → Connectors and Balances will automatically find receipt emails, extract transaction details, and match them to your bank transactions as hints — giving the AI decoder richer context for categorization.
  • Quarterly and yearly grouping on Profit & Loss. The P&L report now supports Quarter, Year, and Fiscal Year column grouping in addition to monthly — making it easy to compare performance across broader time periods.
  • P&L drill-down improvements. Clicking into a P&L account now shows line-item granularity with vendor names per line. Clicking a row opens the source document in a drawer without leaving the report.
  • Bank account last-4 digits on Review feed and reports. The Review feed, Balance Sheet, and Trial Balance now display the last four digits of each bank account, making it easy to distinguish between similarly named accounts.
  • "Credit Notes" renamed to "Credit Memos." Credit Notes are now called Credit Memos throughout the app — matching the terminology most US businesses are familiar with.
  • Accounting firm users get full role-based access. Firm members accessing a client workspace now have the same role-based permissions as direct workspace members — Admin, Member, or Viewer — giving firms the access they need without workarounds.
  • Resizable agent chat panel. Drag the edge of the AI assistant panel to resize it. Your preferred width is remembered across sessions.
  • Thumbs up/down feedback on agent messages. React to any agent response with a thumbs up or down to help us improve the assistant's quality over time.
  • Friendlier tool status labels in agent chat. When the assistant uses a tool, the status label now shows a human-readable description instead of a raw function name.
  • Agentic onboarding. New users now get a conversational onboarding experience — the AI assistant walks you through connecting your bank, setting up your chart of accounts, and understanding your workspace. The assistant explains why each step matters and summarizes what it set up for you.
  • Debit/Credit columns in agent journal entry previews. When the assistant proposes a journal entry, the preview card now shows Debit and Credit columns so you can verify the entry at a glance before approving.
  • Compact document drawer layout. Document detail drawers (invoices, bills, expenses) now use a more compact layout with inline action buttons, giving you more room to review content.
  • Starting balance override available to all workspace types. The ability to set a custom starting balance on bank accounts — previously limited to personal workspaces — is now available for business workspaces too.
  • Categorization memory. The AI decoder now remembers how you categorized transactions from known merchants and skips the LLM call entirely for repeat merchants, making categorization faster and more consistent.
  • Reconciliation is more discoverable. Improved navigation and standardized terminology make it clearer how to reconcile your bank statements, especially for users new to Balances.
  • Dismissible trial banner and toast notifications. The trial banner and all toast notifications can now be dismissed with a click.
  • Invoice sharing improvements. Shared invoice pages now display the correct locale currency symbol, show your payment instructions, and render in the Geist font for a cleaner look.
  • Faster app startup and navigation. Routes are now code-split so you only download what you need, and database queries across several hot paths have been batched — resulting in noticeably faster page loads.
  • Login redirect preservation. If you're redirected to the login page, you're now returned to your original destination after signing in instead of landing on the default page.
April 11, 2026
Flexible Reimbursement Accounts, Persistent Page Sizes & Smarter AI Recovery
  • Reimbursements can now be categorized to any account type. The account dropdown on reimbursement line items is no longer restricted to Expense accounts. You can now assign reimbursement line items to any postable account — including balance sheet accounts like Equipment, Deposits, or Prepaid Expenses — matching the flexibility available in bank transaction categorization. The inline "create account" option still defaults to Expense for convenience.
  • Page size preferences now persist across all listing pages. When you change the number of rows displayed (10, 25, 50, or 100) on any listing page — Invoices, Bills, Expenses, Reimbursements, Payments, and others — your choice is now remembered across navigations and browser refreshes. Each page stores its setting independently, so you can have 50 rows on Invoices and 25 on Bills.
  • AI assistant account reparenting. You can now ask the assistant to move an account under a different parent (e.g., "Move Office Supplies under Cost of Goods Sold"). The assistant shows you a preview of the change before applying it.
  • Smarter error recovery in the AI assistant. When the assistant encounters a minor field issue, it now automatically retries with corrected values instead of showing you a generic error message. This means fewer failed operations and a smoother experience when creating or searching for documents, accounts, and contacts.
April 10, 2026
Connected Workspaces, 6-Digit Sign-In & Import Date Control
  • Connected Workspaces. If you run multiple entities (a personal workspace and a company, a holding company with subsidiaries), you can now formally connect them under Settings → Connected Workspaces. An admin sends an invitation, the other workspace's admin accepts, and from that point forward your teams can push documents between workspaces without needing accounts in both. Each side keeps full control of their own chart of accounts — no data is shared without explicit approval.
  • Sign in with a 6-digit code. You can now sign in by entering a 6-digit code from your email instead of clicking a magic link. This is especially useful on mobile devices where magic links sometimes open in the wrong app. After entering your email, choose "Sign in with code," check your inbox, and type the code. Codes expire after 15 minutes.
  • Import transactions from a specific date. When connecting a new bank account via Plaid, you can now choose a start date for transaction imports. This prevents Plaid from pulling in months or years of old transactions you don't need, saving you from manually excluding irrelevant history during reconciliation.
  • Accumulated Depreciation & Amortization accounts. New workspaces now include Accumulated Depreciation and Accumulated Amortization contra-asset accounts in the default chart of accounts, so you can record depreciation journal entries properly — both through the AI assistant and manually.
  • Opening balances now include system accounts. You can now set opening balances for Retained Earnings, Accumulated Depreciation, and other system-managed accounts that were previously missing from the Opening Balances page.
  • Grouped settings navigation. Settings items are now organized into logical groups: Organization, Accounting, Connections, and AI & Automation. Finding the right setting should be noticeably faster.
  • Subscription cancellation visibility. When you cancel your subscription, the billing page now clearly shows a "Cancelling" badge and tells you exactly when your access ends.
  • Faster workspace switcher. The workspace selector dropdown now opens instantly instead of waiting for a network round trip. Cached results display immediately while fresh data loads in the background.
  • Inline contact creation in split transactions. When splitting a bank transaction across multiple line items, you can now create a new contact directly from each line's contact dropdown — just like every other contact picker in the app.
  • Faster payment processing. System account lookups are now cached per request, eliminating redundant database queries during multi-payment reconciliation batches. Payment-heavy operations are up to 6.5x faster.
  • AI assistant handles depreciation entries. The assistant can now post journal entries to Depreciation Expense and Accumulated Depreciation/Amortization accounts. Say "Post $2,500 depreciation on equipment" and it handles both sides of the entry.
  • Clearer document creation responses from the assistant. When the assistant creates an invoice or bill, it now tells you the document is in DRAFT status and explains how to post it, so there's no confusion about why it doesn't appear in reports yet.
April 9, 2026
Tags (Formerly Dimensions), Reimbursement Dashboard & Bulk Un-Exclude
  • "Dimensions" are now called "Tags." We've renamed Dimensions to Tags throughout the app — matching how most users already refer to the feature. Classification labels like Department, Project, Location, or Cost Center that you attach to line items for tracking and reporting now appear under Settings → Tags, and report filters say "Tag" instead of "Dimension." The AI assistant uses "tags" in its responses too. No data has changed — all your existing tags and their assigned values are preserved.
  • Tag limit increased from 6 to 20. You can now create up to 20 active tags per workspace, up from 6. This gives services firms and larger teams room to track more classification axes — Department, Location, Project, Client, Cost Center, and Job Phase all at once without hitting the cap.
  • Reimbursement list page overhaul. The Reimbursements page now gives finance managers the tools to quickly answer "what do I owe?" and "what's stuck?" — including aggregate totals for Awaiting Payment, Awaiting Approval, and All Reimbursements at the top. Full-text search across reimbursement numbers, descriptions, vendor names, and employee names. Amount range filters. A vendor column with a "+N" indicator for multi-vendor reimbursements. Stale item indicators (7+ days awaiting approval, 14+ days awaiting payment) so nothing falls through the cracks. Receipt attachment indicators and recharge source labels.
  • AI assistant generates tag-filtered reports. You can now ask things like "Show me a P&L for Department = Sales last month" and the assistant will generate a properly filtered report. If you request a tag filter on a report type that doesn't support it, the assistant will explain why and suggest alternatives.
  • Tag-filtered report drilldowns now show correct numbers. When filtering reports by a tag (e.g. Department = Sales), clicking into an individual account on the Profit & Loss report now correctly shows only the filtered transactions, matching the section-level totals.
  • Bulk un-exclude bank transactions. You can now reverse bulk-excluded transactions in one click. On the Excluded tab, select the transactions you want to bring back, click Include Selected, and they'll return to the For Review tab ready to be categorized. This is an all-or-nothing operation — if any transaction can't be included (e.g., it's in a verified statement), the entire batch is left untouched.
  • Improved passkey sign-in compatibility. Passkey sign-in now works smoothly with 1Password, iCloud Keychain, and YubiKey — your password manager's prompt appears as expected instead of Chrome's generic QR code modal. Cross-device passkey flows (scanning a QR code on your phone) also have a more generous timeout to accommodate slower connections.
  • Transfer matching works within verified statement periods. You can now match transfers and complete "Money in Transit" partial transfers even when one side falls within a verified statement period. This works because un-reconciling only removes the accounting link — it doesn't change your verified bank balance.
  • Clearer bank transaction status labels. "Categorized" now replaces "Reconciled" for transactions matched to a document, transfer, or journal entry. "In Transit" replaces "Partial" for transfers awaiting their matching leg. The dashboard tooltip now shows "No difference" instead of "Reconciled ✓" when your bank and book balances match. This reserves "Reconciled" exclusively for formal statement reconciliation — matching standard accounting terminology.
  • Real-time updates in the Assistant Feed now connect reliably across all environments, so transaction approvals and document posting updates appear instantly without needing a page refresh.
April 8, 2026
Invoice Payment Instructions, 8-Digit Date Entry & Smarter Period Lock
  • Invoice payment instructions. You can now add standing payment instructions — ACH details, wire info, "mail check to…" — to your workspace that automatically appear on every invoice PDF and public invoice page. Set them once in Settings > Workspace > Invoices and never retype your bank details again. Multi-line formatting is supported for clear remittance information.
  • 8-digit date entry across the app. Type a date as a continuous 8-digit string (e.g. 01152024 for January 15, 2024) in any date field — including the invoice due date — and Balances will parse it based on your locale. Compact ISO format (20250105) also works. A common pattern from QuickBooks and Xero now feels native.
  • Plaid check numbers shown on bank transactions. Bank transactions synced via Plaid for checks now display the actual check number (e.g. "CHECK #4208") instead of an empty placeholder, making it much easier to match checks to payees.
  • Activity feed shows who applied payments. Payment application and voiding activities now correctly attribute the action to the person who performed them. The same applies to CSV bank imports and exchange rate overrides.
  • Recategorize transactions in verified statement periods. You can now change how a transaction is categorized — even after the statement has been verified — because the bank balance doesn't change, only the accounting classification. Previously, you had to void and re-verify the entire statement just to fix a categorization. Standalone unreconcile and deletion remain blocked in verified periods.
  • "Period Lock" renamed to "Balance Reconciled Period." The AI assistant and related features now use the term Balance Reconciled Period — a more accurate description of what it means: transactions fall within a reconciled statement, not that someone manually locked them.
  • Multi-month report headers now use consistent formatting. Column headers on multi-month Profit & Loss, Cash Flow, and Equity Statement reports now consistently display in uppercase (e.g. "JAN 2025") matching the documented standard.
  • Faster workspace loading and Profit & Loss reports. Eliminated unnecessary database work on every authenticated request and consolidated redundant queries in the P&L report generator. Multi-currency workspaces generating P&L reports should see the most noticeable improvement.
  • Cross-tenant recharge category picker prevents invalid selections. The category picker when recharging transactions between workspaces now uses the same nested, hierarchical account selector as the rest of the app. Parent and system accounts are no longer selectable, preventing journal entries from being posted to invalid categories in the receiving workspace.
  • Chart of Accounts now opens to Profit & Loss by default. Most day-to-day account management happens with revenue and expense categories, so the COA page now opens to the P&L tab. Balance Sheet is still one click away.
April 7, 2026
Faster Reconciliation, Tooltips & Categorization Rule Progress
  • Faster reconciliation panel loading. When you open a bank transaction to reconcile it, the form now loads noticeably faster. We eliminated redundant API calls by caching account, contact, and reconciliation data intelligently. Whether you're matching to a document, categorizing, or reviewing an exclusion, the pre-populated form fields appear quicker.
  • Faster contacts list, batch decoder review, and reimbursement queries. We identified and fixed several slow-query hotspots — the Contacts page loads significantly faster, batch approve/reject of AI-categorized transactions is now a single efficient query, and reimbursement filtering by status or submitter is faster with new database indexes.
  • Categorization rules now show re-analysis progress. When you add, edit, or delete a categorization rule, you'll now see a live progress banner showing the decoder re-analyzing your unreconciled transactions with the updated rules. Previously there was no feedback after a rule change.
  • Tooltips for truncated text in the reconciliation table. Long contact and category names in the bank reconciliation table now show the full text on hover, instead of being silently cut off.
  • More resilient AI features under load. The AI decoder, transaction clustering, and expense insights now retry more aggressively when hitting rate limits, reducing failures during large batch operations.
  • Personal workspace billing page updated. The Features and Billing settings pages for personal workspaces now accurately reflect that multi-currency is freely toggleable, and the billing copy no longer references "Pro features."
April 6, 2026
AI Recovery, Reimbursement Progress & Activity Audit Trails
  • AI categorization automatically recovers from interruptions. If the AI decoder is interrupted mid-run (e.g. by a timeout), the system now automatically picks up where it left off on the next run, ensuring transactions reliably make their way to your review queue.
  • Reimbursement bulk actions now show progress tracking. When approving, rejecting, or marking multiple reimbursements as paid, you'll see a progress dialog showing how many items have been processed — the same experience you're used to from bulk transaction operations.
  • Reimbursement cards in the review feed now show a preview of the first line item, making it easier to identify reimbursements at a glance without opening them.
  • Activity logs include document numbers and amounts. Previously, activity entries showed generic messages like "Reimbursement submitted." They now include the specific document number and amount — for example, "REIMB-1024 approved for $250.00." This applies to reimbursement submissions, approvals, rejections, payments, invoice sharing, and bank account updates, giving you a clearer audit trail.
  • Onboarding now reliably loads after signup. New users signing up with passkeys (and in some cases, other methods) were occasionally being redirected away from the onboarding page before they could set up their workspace. All signup methods (email, passkey, Google) now reliably land on the onboarding page where you can choose to start a free trial or explore the demo.
  • Faster batch reimbursement approval with per-item error isolation. Approving a large batch of reimbursements now processes all items efficiently. If one reimbursement fails (e.g., due to a lock date restriction), the rest still go through. Lock date violations now show the specific reason instead of a generic error message.
  • Clearer messaging when the AI assistant creates draft journal entries. The assistant now explicitly tells you when journal entries are drafts and explains that drafts won't appear on your P&L, Balance Sheet, or any financial reports until posted. It also offers to post them for you right away.
April 5, 2026
Reimbursement Workflow Overhaul
  • One-click "Submit & Approve" for reimbursements. Admins processing recharged expenses no longer need to submit and then separately approve each reimbursement. Select multiple draft reimbursements and click "Submit & Approve" to process them in a single pass — they'll be submitted, approved, and posted to your general ledger all at once. You can also choose "Submit for Approval" if you want them reviewed first.
  • Batch approve and reject reimbursements. You can now select multiple reimbursements and approve or reject them all at once. A floating action bar shows how many items are selected with "Approve All" and "Reject All" buttons. If some items fail (e.g., already approved), you'll see a clear breakdown of what succeeded and what didn't.
  • Always-visible batch actions on the Reimbursements page. Selection checkboxes now appear on all actionable rows — drafts, awaiting approval, and rejected items. The batch action bar adapts to your selection: drafts show submit actions, approval-ready items show approve/reject, mixed selections show a combined "Submit & Approve All" option.
  • Inline approve and submit on reimbursement rows. Quick-action icons now appear on each row — a quick-approve button for pending items and a quick-submit button for drafts — so you can act on individual items without opening the detail drawer.
  • Prev/next navigation in reimbursement detail. When reviewing a reimbursement, arrow buttons and a position counter ("3 of 12") let you step through the list without closing and reopening the drawer. Left/right arrow keys work in view mode too.
  • Description column on reimbursements. The reimbursement list now shows what each item is for — the first line item description with a "+N more" badge when there are multiple items.
  • Recharge description is now optional. When recharging bank transactions to another workspace, the description field is no longer required. If left blank, Balances automatically uses the original bank transaction description — reducing friction when processing recharges in bulk.
  • Better employee names on reimbursements. The employee column now shows actual user names instead of workspace names, making it easier to see who submitted what at a glance.
April 4, 2026
Credit Notes, Invoice Number Reservations & Onboarding Polish
  • Refined credit note status tracking. Credit notes now smoothly progress through Draft → Awaiting Payment → Partial → Paid as you apply them to invoices and bills. Statuses update on the next allocation.
  • Invoice number reservation. When you open the invoice creation form, the next available number is now reserved for your session. If a teammate opens the form at the same time, they'll see a different number — useful when multiple users create invoices concurrently. The number availability checker also detects reserved numbers in real time.
  • Unsettled allocations dashboard now shows all documents. Expenses and deposits created without a contact were silently missing from the unsettled allocations view. They now appear as expected.
  • Accrual document pagination fixed. Browsing paginated lists of invoices and bills (e.g., navigating to page 2) could occasionally show duplicates or skip documents. This has been corrected.
  • Passkey signup flow improvements. Users signing up with a passkey are now consistently taken through the welcome page where they can choose how to get started, instead of being dropped directly into the demo. We also fixed an issue where double-clicking the passkey signup button could trigger duplicate registration attempts.
  • Signup confirmation emails now sent for all registration methods. Some signup methods were not sending the welcome email. All registration methods (email, Google, passkey) now consistently send the confirmation email after signup.
  • Cleaner Dashboard layout. Simplified the Dashboard header to read "Your finances at a glance" and removed redundant "As of today" and "Real-time balance" labels from the bank balance card.
  • Smarter chart of accounts creation via the AI assistant. When asked to set up a chart of accounts, the assistant could previously get stuck trying to create system-managed account types like Accounts Receivable that already exist in every workspace. It now understands which account types are system-managed and uses the correct alternative — significantly reducing failed attempts and speeding up COA setup.
April 3, 2026
Bulk Operations Reliability, Drawer Polish & Smarter AI
  • More reliable bulk operations on large selections. Bulk categorize and other batch actions are now more resilient when processing large selections. The progress dialog accurately reports how many items succeeded and how many failed, with clear "Completed with Errors" messaging when individual items can't be processed.
  • Transfer reconciliation works even when the matching transaction is already categorized. If you tried to reconcile two bank transactions as a transfer and the matching transaction already had a categorization, the operation would fail. The existing categorization is now automatically cleaned up before creating the transfer pair. Transfer recategorization is also now allowed within verified statement periods, with lock date enforcement applied to both sides.
  • Consistent drawer panels across banking features. Set Dimensions, Set Billed to Client, Batch Reconciliation, and Batch Recharge panels now all use the same slide-out drawer design instead of a mix of popup dialogs. This means a consistent look and feel when performing bulk actions, with standardized button placement and clearer loading indicators.
  • Drawer panels display correctly over dialogs. Side panels opened from within a dialog (e.g., to look up a contact or account) now always render above the content that triggered them — previously they could appear behind the dialog and become inaccessible.
  • Quick deselect for transaction selections. When you've selected transactions on the Banking page, you can now click the "X" next to "N transactions selected" in the action bar to instantly clear your selection. Previously, you had to deselect transactions one by one.
  • Batch override now uses a slide-out panel. When changing the category or contact for a group of transactions in the AI Assistant, the popup has been replaced with a slide-out drawer consistent with the rest of the app. Dropdown menus inside the panel now correctly appear above it instead of being hidden behind it.
  • Smarter transaction categorization via account descriptions. The AI banking decoder now sees your account descriptions (not just account names) when categorizing transactions. If you've added descriptions to your chart of accounts — like "Office supplies, furniture, and equipment" on Office Expenses — the AI uses that context for more accurate suggestions.
  • Floating action bar centering fix. The bulk action bar that appears when you select transactions now stays reliably centered in the content area when resizing your browser or toggling the sidebar. Action button text no longer wraps to two lines on smaller screens.
April 2, 2026
Bulk Exclude, Plaid Descriptions & Sortable Reconciliation
  • Bulk exclude bank transactions. You can now select multiple transactions and exclude them all at once with a shared reason — handy for duplicates, internal transfers, or other items you want to skip. If any transaction in the batch can't be excluded, the entire batch is rolled back so nothing is partially applied.
  • Fuller transaction descriptions from your bank. Transactions synced via Plaid now show the complete bank description — including merchant details and location — instead of a shortened merchant name, making it easier to identify and categorize transactions. The improvement applies to newly synced transactions going forward.
  • Excluded transactions hidden by default in reconciliation. Excluded transactions previously appeared alongside active ones during bank reconciliation, making it harder to focus. They're now hidden by default, with a "Show Excluded" checkbox if you need to see them.
  • Sortable columns on the reconciliation page. You can now click column headers to sort transactions by date, amount, or description — making it much easier to trace discrepancies when reconciling.
  • Bank account switcher on the Reconciliation page. A new dropdown in the reconciliation page header lets you quickly jump between bank accounts without navigating back to the dashboard first.
  • Smarter CSV duplicate detection for Plaid accounts. When importing a CSV statement for a bank account that also uses Plaid, transactions with a 1-day date difference (common when Plaid records the authorization date but the bank records the posting date) are now correctly detected as duplicates. False positives from previously excluded transactions have also been resolved.
  • Split categorization in batch operations works correctly. Previously, when you selected multiple bank transactions and categorized them with a split (e.g., $600 to Office Supplies and $400 to Travel), the split was silently flattened into a single line item. All split categorizations now correctly produce multi-line-item documents.
  • Wider bank account filter on the Transactions page, comfortably displaying full account names like "Chase - Business Checking (x5678)" without truncation.
April 1, 2026
Bank Account Naming, Trial Banner Fixes & Smarter Search
  • Bank accounts identified with last-4 digits everywhere. Bank accounts now consistently show as "Chase - Business Checking (x5678)" across the AI assistant, the reconciliation page, opening balances, and transaction filters — making it much easier to tell similarly-named accounts apart at a glance.
  • Review feed scroll fix for large lists. If you had hundreds of uncategorized transactions on the Review page, the feed could stop rendering items after scrolling past the first few — and 2,500+ item lists could show blank space deep in the list. The feed now scrolls smoothly regardless of how many transactions you have.
  • Trial banner persisting after subscribing. Some users who completed checkout (particularly with promo codes) continued seeing the "Trial — X days left" banner even though they were paying customers. Checkout now correctly marks your account as active immediately, regardless of discount amount.
  • Faster AI bookkeeping for larger transaction volumes. The AI assistant's "do my books" feature could time out when processing workspaces with 50+ unreconciled transactions. Reconciliation plans now execute significantly faster by processing categorizations in bulk rather than one at a time.
  • AI assistant can create depreciation accounts. Asking the assistant to create accounts like "Section 179 Depreciation Expense" or "Vehicle Depreciation" was previously blocked. These are legitimate accounts bookkeepers commonly need, and the assistant can now create them. System-only accounts (Accounts Receivable, Accounts Payable, clearing accounts) remain appropriately restricted.
  • Helpful tooltips on disabled actions. The Delete and Exclude buttons on the reconciliation page now show a tooltip explaining why they're greyed out — for example, "Unmatch this transaction before deleting" — instead of just appearing disabled with no explanation.
  • Contact search now matches from the start of words. Searching for "Acme" no longer incorrectly returns "Headache Remedies Co." just because the letters happen to appear mid-word. Contact search now matches from the beginning of the name or any word in the name — so "Acme" finds "Acme Corp" and "Acme Industries", but not contacts that merely contain those letters.
  • Agent date filtering works reliably. Asking the AI assistant to search for transactions, journal entries, or payments within a date range (e.g., "Show me bank transactions from January 2026") could previously fail with an internal error. Date-based agent searches now work reliably and are case-insensitive.
March 2026
March 31, 2026
Pro & Global Plans, Estimates & Quotes
  • Pro and Global plans with 14-day free trial. Balances now has two pricing tiers: Pro ($20/mo) includes the full accounting suite — unlimited bank accounts, AI transaction categorization, and financial reports. Global ($40/mo) adds multi-currency invoicing, foreign currency bank accounts, automatic FX gain/loss tracking, and live exchange rates. Every new company workspace starts with a 14-day free trial with full access — when your trial ends, your data is preserved. Personal workspaces remain free with no billing required. Manage your subscription anytime from Settings > Billing.
  • Estimates & Quotes. You can now create estimates to send pricing proposals to clients before invoicing. Estimates support full lifecycle management (create drafts, send, track acceptance, convert to invoices), multi-currency with automatic exchange rate fetching, AI assistant integration (ask the agent to create or look up estimates), and automatic sequential numbering (EST-0001, EST-0002…). Conversion to invoices is coming next.
  • Multi-currency is now properly gated to the Global plan. The multi-currency toggle in Settings > Features is now restricted to Global tier subscribers, with a clear upgrade prompt for Pro users.
  • Workspace Settings shows your actual plan. The Plan section now displays your real tier (Pro/Global), subscription status, and trial days remaining instead of a hardcoded "Free Plan" label.
  • Inline account creation in batch categorization. When categorizing multiple bank transactions at once, you can now create new GL accounts directly from the batch dialog without leaving the flow. The account type defaults intelligently — Expense for outgoing, Revenue for incoming.
  • Smarter account code suggestions. Account code auto-suggestions now follow standard accounting conventions. When your parent account ends in trailing zeros (like "5000" or "5900"), child accounts are suggested at the appropriate hierarchy level — "5000" suggests "5100", "5200"; "5900" suggests "5910", "5920".
  • Decoder reliability improvements. The AI decoder no longer times out on large transaction batches (500+) and now automatically retries if interrupted by a server restart. Decoder results are saved incrementally as each transaction completes — a restart only requires re-processing the remaining transactions, not the entire batch. The Decoder History page also now shows estimated LLM cost per job, clearer progress summaries, and renamed action buttons ("Decode new" / "Decode unreconciled" / "Decode all").
  • Plaid sync now reports accurate counts. The "Force Sync" action on connected bank accounts was incorrectly reporting 0 transactions added/modified/removed even when transactions were synced. Counts are now reported correctly.
  • Asset account validation for company recharges. Company-to-company recharges now properly require an asset account. Personal-to-company recharges remain unrestricted.
  • Larger bank account imports process reliably. Connecting a bank account with a very large transaction history (3,000+ transactions) now automatically breaks the job into smaller chunks, making steady progress until all transactions are processed. If you previously connected a large account and noticed missing suggestions, they should now appear automatically.
March 30, 2026
Group by Contact, Workspace Search & Bulk Auto-Close
  • Group transactions by Contact in the Review feed. Toggle between grouping by Category (default) and grouping by Contact. Contact grouping puts all transactions from the same vendor together — even across different suggested categories — so you can review and approve them as a batch. Your preference is remembered between sessions.
  • Search-first Workspace Switcher. The workspace dropdown now has a search input at the top. Start typing to instantly filter your workspaces instead of scrolling through long lists. Users with more than 10 workspaces can now see all of them.
  • Bulk operation modal auto-closes on success. When you bulk-categorize, accept, or recategorize transactions and everything succeeds, the progress dialog now automatically dismisses — no more clicking "Done" every time. If any items were skipped or an error occurred, the dialog stays open so you can review.
  • Action menus now include section headers. Context menus throughout the app now display a subtle "Actions" header for clearer visual hierarchy.
  • Faster transaction approvals. Single-item approvals in the Review feed are noticeably faster. Batch reconciliation also uses fewer database queries, reducing processing time for bulk operations.
March 28, 2026
Smarter CSV Date Detection
  • Smarter date format detection in CSV uploads. When importing a bank statement CSV, Balances now detects the date format at the file level rather than row by row — avoiding misinterpretation when dates are ambiguous (e.g., 03/04 could be March 4 or April 3).
March 27, 2026
iPhone App, File Filters, Faster CSV Imports & Bulk Progress
  • Balances on iPhone (private beta). Our new iPhone app — currently in private beta — lets you review transactions, capture receipts with your camera, and chat with the AI assistant from your phone. Push notifications alert you when new pending transactions arrive from your bank. Get in touch if you'd like access.
  • Files page now has filters. Filter your uploaded files by source (bank import, agent upload, direct upload), file type, and date range.
  • Bank statement imports are faster and more reliable. Importing a CSV through the AI assistant now shows a preview with duplicate detection before creating transactions, and processes them directly on the server — significantly faster for large files.
  • Bulk operations now show progress. When accepting suggestions, categorizing, or uncategorizing many transactions at once, a progress bar shows exactly how far along the operation is.
  • Hierarchical parent account selector. When editing an account's parent, you now get a searchable tree view of your chart of accounts instead of a flat dropdown. The selector also prevents circular references.
  • Entity type pills in activity feed. Activity items now show a color-coded pill (Invoice, Bill, Expense, etc.) so you can quickly scan what type of document each activity relates to.
  • Smarter account creation from the selector. The "+ Create" option now hides if your search exactly matches an existing account, pre-fills the name from your search text, and defaults the account type based on transaction direction.
  • Better line item readability. Split line items now have alternating row backgrounds. The Description column is hidden by default and available on demand via "+ Add descriptions."
  • Confidence scores removed from AI suggestions. The percentage confidence scores next to AI categorization suggestions have been removed — they weren't well-calibrated and could be misleading.
  • Dark mode improvements. Several report pages (Accounts Receivable, Accounts Payable, Activity History, Opening Balances) and the Payment Matching table now render correctly in dark mode.
  • Account codes are auto-assigned consistently. When creating a sub-account under a parent, the system now automatically suggests the next sequential account code — regardless of whether you create it from the Chart of Accounts, the API, or the AI assistant.
  • Improved bank connection reliability. Connecting to your bank via Plaid is now significantly more reliable, particularly during slower API responses.
  • Improved transaction categorization accuracy. The AI assistant now distinguishes between bank-provided metadata (treated as a hint) and your own notes (treated as authoritative context), leading to more accurate categorization suggestions.
  • Bulk approval is ~30% faster. Approving many transactions at once now uses optimized batch queries, reducing approval time from ~12 seconds to ~8 seconds for a batch of 16.
March 19, 2026
Clone Documents, Running Balances, Batch AI Suggestions & Inline Account Creation
  • Clone invoices and bills. Open the action menu on any invoice or bill and choose Clone to create a new draft with all the same line items, contact, accounts, and notes pre-filled. Edit before saving.
  • Running balances in report drilldowns. When you drill into any P&L, Balance Sheet, or Trial Balance account, a new Balance column shows the cumulative running total transaction by transaction — making it easy to spot when a large swing occurred.
  • Excel export from report drilldowns. Drilldown modals now include an Excel download button. Get a .xlsx file with all transaction rows including Contact, Account, and Dimension columns.
  • Batch accept AI suggestions. Select multiple transactions that have AI-suggested categories and click Accept Suggestions to categorize them all at once. A checkmark icon on each row lets you accept individually without opening the detail panel.
  • Invoices and bills clickable in AP/AR reports. Every row in the Accounts Payable and Accounts Receivable aging reports is now clickable — open the full document in a drawer without losing your place.
  • Invoices and bills clickable in bank reconciliation. Document numbers in the Transaction Detail Drawer and the bank transaction matcher are now clickable links, opening the document in a nested drawer.
  • Create accounts during reconciliation. The account selector in the reconciliation panel now supports inline account creation — no need to navigate away to the Chart of Accounts first.
  • Agent understands your enabled features. The AI assistant now knows which features are enabled in your workspace (Billable Expenses, Multi-Currency, etc.). When you ask for something that requires a disabled feature, the agent offers to enable it — with your confirmation — rather than returning an error.
  • Agent plans dependencies upfront. The agent now identifies all required contacts, accounts, and other dependencies before previewing or creating documents, reducing back-and-forth during complex tasks.
  • Sortable columns in transaction drilldown. Click any column header in the drilldown modal (Date, Type, Contact, Amount) to sort. Click again to reverse.
  • Professional fonts in PDF exports. Invoices and financial reports now render in Inter — the same font used in the web app — instead of a system font. Exported PDFs look noticeably cleaner when shared with clients.
March 18, 2026
Split Transactions by Contact, P&L Totals Drilldown & Richer Activity History
  • Split bank transactions across multiple contacts. When categorizing a bank transaction with a split, you can now assign different contacts to each line. Balances automatically creates separate documents per contact — useful for deposits that combine payments from multiple clients.
  • Drill down into P&L total rows. The Total Revenue and Total Expenses rows in the Profit & Loss report are now clickable. See all the transactions that make up those totals, just like individual account rows.
  • Transfer matching window expanded to 21 days. When matching the two sides of a bank transfer, Balances now searches up to 21 days (previously 7) to find the matching transaction — covering real-world cases where international transfers take time to settle.
  • Voiding expenses and deposits handles payments automatically. Voiding an expense or deposit now cleans up the associated payment automatically instead of requiring you to remove it first.
  • More complete activity timeline. Actions like posting opening balances, changing user roles, removing users, and connecting banks via Plaid now all appear in your activity history. Reconciliation entries include clickable links to related transactions and documents.
  • Richer change descriptions in activity history. When records are updated, the activity timeline now shows what specifically changed — e.g., "Name changed from 'Acme Corp' to 'Acme Inc'" instead of just "Updated fields: name".
  • Multi-currency is now a toggleable setting. Enable or disable multi-currency support in Settings > Features. When disabled, foreign currency selectors and FX navigation are hidden, keeping your workspace simpler if you only work in one currency.
March 17, 2026
Split Transactions, Contact Merge, Inline Account Creation & 60% Faster AI
  • Split bank transactions across categories. When categorizing a bank transaction, click "Split transaction" to break it into separate line items — each with its own category, amount, description, and dimensions. A live balance indicator shows when your split amounts add up correctly.
  • Contact merge. Select two or more duplicate contacts from the Contacts page, click Merge, choose which one to keep, and all associated invoices, bills, and expenses are automatically reassigned.
  • Inline account creation. Create a new account directly from any account selector dropdown without leaving your current workflow. Scroll to the bottom of any account picker and select "Create account."
  • Automated Expense Insights. Expense insights now run automatically on the 2nd of each month so you always have fresh spending analysis. Manual re-analysis is available once per hour.
  • Expense insights vendor drilldown. Click into a vendor group on the Expense Insights page to see the individual transactions that make up that vendor's spending.
  • Features Settings page. A new Settings > Features page gives you a dedicated place to enable or disable optional workspace features — including a new Multi-currency toggle and the Billable Expenses toggle.
  • AI assistant costs reduced up to 60%. Simple agent interactions now use a faster, more efficient model. Complex requests automatically escalate to the full model. No change in response quality.
  • Clickable links in agent chat. When the AI assistant creates accounts, invoices, contacts, or other entities, the confirmation message now includes clickable links to open the detail view directly.
  • Billable expense traceability. When you add billable expenses to an invoice, each line item shows a clickable "From EXP-XXX" chip linking back to the original expense.
  • Batch approval progress indicator. When approving batches on the Review page, you now see immediate feedback: item count updates, a progress bar, and a spinner — no more wondering if your click registered.
  • Friendly file download names. Downloaded attachments, receipts, and PDFs now use readable filenames (like the invoice number) instead of technical identifiers.
March 16, 2026
Billable Expenses on Invoices, Pending Transactions & Claude Code Integration
  • Billable expenses on invoices. When creating an invoice for a client, click "Add Billable Expenses" to see all unbilled expenses for that contact and add them as line items. Expenses are automatically tracked to prevent double-billing — voiding the invoice makes them available for billing again.
  • Pending bank transactions. Balances now shows pending transactions from your bank as soon as they appear, clearly marked and automatically updated when they settle. They're excluded from financial reports and reconciliation until settled.
  • Agent: opening balances and decoder rules. Ask your AI agent to show opening balances or list active decoder rules directly in the chat.
  • Agent: deposit settlement accounts. You can now tell the agent which account to debit when recording a deposit (e.g., "record a $5,000 deposit from the owner into Owner's Loan").
  • Bank transaction details on documents. Expenses and deposits created through bank reconciliation now show a "Bank Transaction" card with the original bank memo, payee, date, and account — making it easy to trace a document back to its source.
  • Claude Code integration (private beta). Balances now connects to Claude Code via the Model Context Protocol (MCP), enabling AI-assisted accounting workflows directly from the IDE. Currently in private beta — get in touch if you'd like access.
  • More reliable agent approvals. Pending agent previews now survive page refreshes — the Approve/Reject buttons stay visible if you navigate away and return. Creating a new preview automatically dismisses any previous unapproved one.
March 15, 2026
AP/AR Total Columns, Flexible Chart of Accounts & Richer Report Details
  • Total column on AP/AR aging reports. The Accounts Payable and Accounts Receivable aging reports now include a Total column showing each document's full outstanding balance alongside the aging buckets. A summary total row is included at the bottom, and it appears in Excel exports too.
  • Any account can be a parent. The Chart of Accounts parent dropdown now shows all active, same-type accounts — not just header accounts. Nest posting accounts under other posting accounts to reorganize your COA however you like. Circular references are still prevented automatically.
  • Bank-reconciled entries show full document details. Account Activity, General Ledger, and Transaction Detail reports now display the actual document created during reconciliation — including document number, type, and contact name — instead of just the raw bank description. Entries are clickable to open the source document.
  • Agent approval cards show specifics. When the agent proposes creating an account or other entity, the approval card now displays the specific details (e.g., "Create account: Tenant Deposits (Current Liability)") instead of a generic message.
  • Activity by Contact filter layout. The Activity Type dropdown has been moved into the top filter bar for a cleaner layout.
  • Larger report action buttons. The PDF, Excel, and Print buttons on report pages are now medium-sized for easier clicking, with improved alignment and spacing.
March 14, 2026
AI Financial Reports, Full Screen Mode & Redesigned Approval Cards
  • Ask the AI assistant for any financial report. You can now ask the assistant to pull up Profit & Loss, Balance Sheet, Cash Flow, Trial Balance, General Ledger, and AR/AP Aging reports — and it will return the actual numbers directly in the chat. Ask things like "Show me P&L for last quarter" or "Who owes us money?" and get structured financial data you can discuss and dig into.
  • Full screen mode for reports. All report pages now have a Full Screen button next to Print. Click it to hide the sidebar and header, giving you the full width of your screen. Press Escape or click Exit to return. Especially useful for reports with many accounts or monthly comparison columns.
  • Redesigned preview approval cards. When the AI assistant proposes an action, you now see a purpose-built approval card showing what's being proposed, color-coded operation chips (create/update/delete counts), the GL impact amount, any warnings, and prominent Approve and Reject buttons.
  • Approve agent previews with natural language. Type "do it", "yes", "approved", or similar instead of only using the Approve button. If you say "no, change the amount", it correctly treats that as a modification request.
March 13, 2026
Bulk Imports, Duplicate Detection, Dimensions & Screenshot Pasting
  • Bulk transaction import. Importing bank transactions from CSV files is now dramatically faster. Imports that previously processed one transaction at a time now handle them in efficient batches — a 350-transaction import completes in seconds.
  • Smart duplicate detection for Plaid accounts. If you connect your bank via Plaid and also import CSV statements, Balances now intelligently detects duplicates even when the transaction descriptions differ between sources.
  • Bulk dimension assignment. Assign dimensions (like Department, Location, or Project) to multiple documents at once. Select documents using checkboxes on any document list, then apply dimension values in one click. Your AI agent can do this too.
  • Screenshot pasting in agent chat. Paste screenshots and images directly into the agent chat using Cmd+V (or Ctrl+V). Images are automatically added as file attachments — no need to use the upload button.
  • Natural language entity references. Reference documents, contacts, accounts, and other entities by name when chatting with your agent. Say "show me INV-2026-001" or "get the balance for Accounts Receivable" instead of needing internal IDs.
  • Multi-currency support for AI agent. The agent now understands currency codes natively. Say "create an invoice in EUR" instead of looking up currency IDs. Exchange rates are automatically resolved and shown in the preview.
  • Upload button on Transactions page. Start a CSV upload directly from the Transactions page. If you have a bank account filter active, it will be pre-selected in the upload form.
  • Opening balance in dashboard tooltip. Hovering over a bank balance on the Banking dashboard now shows a breakdown including the opening balance amount, making it clear where the balance comes from.
  • Payee information in transaction cards. Bank transaction cards in the assistant feed now display payee information, making it easier to identify transactions at a glance.
  • Smarter document matching. The banking decoder now pre-filters candidate documents by direction, currency, date range, and exact amount before consulting the AI — improving both speed and accuracy.
  • Real-time UI updates from agent actions. When the agent creates or modifies invoices, contacts, journal entries, or other entities, the corresponding list pages now refresh immediately.
  • Notifications moved to top-right. Toast notifications now appear in the top-right corner of the screen instead of the bottom-right, making them more immediately visible.
  • Recurring invoices page redesign. Cleaner layout with improved loading states, responsive filter controls, and better visual consistency.
  • Activity feed cleanup. Activity items now have a cleaner, more consistent look with unified title formatting and smaller avatars.
  • Updated agent knowledge base. The agent's product knowledge has been comprehensively updated to reflect all current features.
  • Dimension filter on Account Activity report. Filter the Account Activity report by dimension option — see only transactions tagged with a specific department, location, or project. Works on both the on-screen report and Excel download.
  • Dimension columns on document line items. When viewing an invoice, bill, expense, or deposit, the line items table now shows columns for any dimensions you've assigned. Only dimensions with values appear, keeping the table clean.
  • Dimension filtering on Billable Expenses report. Filter the Billable Expenses report by dimension (e.g., by project). The report also now shows a per-contact net total with color-coded styling — green when positive, red when negative.
  • Bank payee names in reports. When a ledger entry originates from a reconciled bank transaction with no source document, reports now display the bank payee name instead of a generic reference. These are also clickable to open the banking transaction detail.
  • Extended AI agent capabilities. The agent can now search and manage recurring invoices, payments, and credit notes. New actions include pausing/resuming recurring invoices, voiding payments, deactivating/reactivating accounts and contacts, and applying credit notes.
  • Agent conversation compaction. Long agent conversations no longer degrade in quality. When a conversation grows past ~60 messages, older messages are automatically summarized so the agent retains full context. A divider shows where summarization occurred.
  • Rename agent conversations. Right-click any conversation in the agent sidebar to rename it.
  • Smarter account search. Searching in any account selector now flattens results and shows a breadcrumb trail (e.g., "Operating Expenses > Marketing") so you can quickly identify the right account in a deep chart of accounts.
  • Sort transaction matches. The multi-transaction matcher now lets you sort by date, description, or amount when reconciling a document against multiple bank transactions.
  • Formatted agent responses in activity feed. Agent-generated activity entries now render with proper formatting — bold text, bullet points, and structured layouts.
  • Stronger preview enforcement. The agent's propose-review-execute workflow is now enforced at the framework level. The agent cannot execute changes without your explicit approval.
March 12, 2026
Personal Finance Mode, Direct Method Cash Flow & AI Agent Customization
  • Personal Finance Mode. Personal workspaces now use terminology that makes sense for individuals. Navigation shows Income and Spending instead of Sales and Purchases, the Profit & Loss report becomes Income & Expenses, and your dashboard shows Net Savings instead of Total Profit.
  • Direct Method Cash Flow Statement. You can now generate cash flow statements using the Direct Method (ASC 230), showing actual cash receipts and payments — Cash Received from Customers, Cash Paid to Suppliers, and Cash Paid for Operating Expenses. Both Direct and Indirect methods are available.
  • Personalize your AI agent. Head to Settings > Agent to give your agent a name and personality. Choose from preset personalities — Sam (friendly and clear), Jackson (concise and direct), or Jo (warm and detailed) — or create your own custom persona.
  • Agent approve/reject buttons. When the AI assistant proposes changes, you now see explicit Approve and Reject buttons directly in the chat. A two-phase preview system shows exactly what will happen before anything executes.
  • Manual journal entries in cash basis reports. Manual journal entries now appear in cash basis Profit & Loss reports and drilldowns, matching the behavior of QuickBooks and Xero.
  • Smarter agent search. The agent can now search up to 500 entities at once for bulk operations and 50 results for individual searches, making requests like "approve all draft invoices" much more reliable.
  • Agent unreconcile action. You can now ask the AI assistant to unreconcile bank transactions directly from the chat.
  • Batch reconciliation progress. When categorizing multiple bank transactions at once, you now see a progress bar and status updates.
  • Agent execution summaries. After the AI assistant executes a plan, it now reports specifically what was created (e.g., "Created 3 accounts: Utilities, Insurance, Professional Fees") instead of a generic summary.
March 11, 2026
Report Polish, Multi-Currency Aging & Excel Export Fixes
  • Opening Balances setup guide. First-time users now see a guided setup flow on the Opening Balances page with a step-by-step preview and a clear date picker.
  • Report date presets with memory. The as-of date selector on Trial Balance, Balance Sheet, Equity Statement, and other reports now offers quick presets (Today, End of Last Month/Quarter/Year, Custom) and remembers your last selection.
  • Cleaner single-child account display. When a parent account has only one child and no balance of its own, the redundant parent row is now hidden — matching how QuickBooks and Xero handle this.
  • Excel exports work in Google Sheets. Nested account indentation in P&L and Balance Sheet Excel exports now renders correctly when opened in Google Sheets.
  • Variance columns on comparison reports. Period comparison reports now show consistent variance calculations with expense-aware coloring — green for favorable, red for unfavorable.
  • Settlement account protection. Documents created through bank reconciliation can no longer have their payment account changed, which would break the ledger link. Un-reconcile first if you need to change the account.
  • Equity Statement: Opening Balance Equity column. The Statement of Changes in Equity now includes a dedicated Opening Balance Equity column in both PDF and Excel exports.
  • Multi-currency aging reports. AR and AP aging reports now show Currency and Original Amount columns for foreign-currency documents.
  • Compact PDF tables for wide reports. PDF reports with 6+ monthly columns now use a compact number format to prevent overflow with currencies that have long symbols or large nominal values.
March 10, 2026
AI Memory, @agent Comments, Expense Reclassification & Contact Search
  • AI Assistant Memory. Your AI assistant can now remember facts and preferences across conversations within your workspace, available in select workspaces. Tell it things like "our fiscal year starts in April" or "always use account 5100 for office supplies" and it will recall them in future chats.
  • @agent mentions in comments. Type @agent in any activity comment thread to ask the AI agent a question or request an action. The agent responds directly in the thread, so your team can see the context and the answer together.
  • Reclassify expense and deposit line items. You can now reclassify line items on posted expenses and deposits, just like invoices and bills. If an expense was assigned to the wrong account, move it to the correct one without voiding — Balances creates the correcting journal entry behind the scenes.
  • Search documents by contact name. You can now search for bills, expenses, deposits, credit notes, and vendor credits by the name of the associated contact or vendor — no need to remember document numbers. Also available through the AI assistant (e.g., "show me all Acme Corp expenses").
  • Reconciliation filters. Filter reconciled bank transactions by how they were reconciled (Match, Categorize, Transfer, or Recharge) and by which account they were categorized to. Makes it easy to review your reconciliation work.
  • Smarter AI deletion and deactivation. The assistant now understands how to delete drafts, void posted documents, and deactivate contacts and accounts — routing to the correct action automatically.
  • Filter expenses by "Paid From" and "Billed To". New dropdown filters on the expenses page let you find all expenses charged to a specific bank account or credit card, or all expenses billable to a specific client.
  • "Date Added" column on expenses and deposits. A new sortable column shows when each expense or deposit was created in Balances — useful for finding the most recent batch when the AI agent creates many at once.
  • Custom "As Of" dates on AR/AP reports. The Accounts Receivable and Accounts Payable ageing reports now support picking any specific date, not just presets like "End of last month."
  • Updated AI models. All AI-powered features have been updated to the latest Anthropic Claude models — the chat assistant, document classification, bank statement decoding, and expense insights.
  • "Review" replaces "Assistant." The sidebar link and page formerly called "Assistant Feed" is now called Review, which better describes its purpose as a review and approval queue.
  • Accounting basis badge on reports. All financial reports now show the current accounting basis (Accrual or Cash) as a badge next to the report title, so you always know which basis you're viewing.
  • Contact type filtering. The Contacts page now has a Type dropdown to filter by Customer, Vendor, Employee, or Other.
  • Payment search and date filtering. Search payments by contact name and filter by date range on the Payments page.
  • Recurring invoices search and filtering. The Recurring Invoices page now supports searching by invoice number or contact name, filtering by status, and pagination.
  • Report filter feedback. When you click "Apply Filters" on any report, the button now shows a loading spinner while data loads, then confirms with a green "Applied" checkmark.
  • Report exports respect inactive accounts filter. PDF and Excel exports now match what you see on screen when the "Include inactive accounts" toggle is on.
March 9, 2026
Transaction Detail Drawer, Natural Language Dates & Chart of Accounts Improvements
  • Transaction Detail Drawer with inline editing. Click the three-dot menu on any bank transaction row and select "Details" to open a slide-out panel showing the amount, date, bank account, reconciliation summary with linked documents and dimension tags, and a full activity history. Click the description or payee to edit inline — just type and press Enter. All existing transaction links (from Payments, Decoder History, and Import pages) now open the new drawer automatically.
  • Natural language date input. Date fields throughout the app now accept natural language input. Type dates however feels natural — 1/15/2024, jan 15 2024, 2024-01-15, or even "last friday" — and the field will parse it automatically. The calendar picker is still available for those who prefer it.
  • AI assistant can manage your chart of accounts. Ask the assistant to create accounts under specific parents ("Create a Consulting Fees account under Operating Expenses"), deactivate or reactivate accounts, and move accounts between parents. It will ask you to clarify if there are multiple matches.
  • Monthly breakdowns from the AI assistant. Ask for monthly breakdowns of account activity — try "show me revenue by month this year" or "which months had Other Income activity?" The assistant returns a month-by-month table.
  • Account reparenting. You can now move accounts between parent groupings directly from the account edit form. Previously, the parent account was locked after creation.
  • Show inactive accounts across all reports. A new "Include inactive accounts" checkbox on every financial report lets you show deactivated accounts with historical data. The Chart of Accounts page also gains a "Show inactive" toggle.
  • Inactive account visibility in Chart of Accounts. Inactive accounts now appear with a subtle "Inactive" badge and dimmed styling instead of disappearing entirely. A Reactivate option in the account menu lets you bring them back without contacting support.
  • Improved Activity by Contact report. Multi-month reports now use stacked rows per contact — Revenue, Expenses, and a color-coded Net row — with a single column per month. Much easier to scan trends and spot which months were profitable for each contact.
  • Smarter invoice matching. Improved confidence scoring for automatic invoice-to-transaction matching. The system now weighs transaction amount more heavily and recognizes unambiguous single-match scenarios — fewer obvious matches stuck in "Needs Review."
  • Better report printing. Multi-period reports now fit more cleanly when printed or exported to PDF. Column sizing is more predictable and long account names wrap gracefully.
  • Workspace name in browser tabs. Each tab now shows the page and workspace name (e.g., "Dashboard - Acme Corp | Balances") so you can tell multiple workspaces apart.
  • Persistent page size preference. Your preferred number of rows per page on the Transactions table now persists across sessions.
March 8, 2026
Faster Cash Flow, Reports Navigation & Data Freshness
  • Faster Cash Flow Statement. Multi-month Cash Flow Statements now load significantly faster — we reduced the number of database queries per month from ~14 to 5 by batching related account lookups together. You'll notice the biggest improvement on year-long reports.
  • Reports navigation reordered. Accounts Receivable and Accounts Payable reports now appear alongside other core financial statements (P&L, Balance Sheet, Cash Flow) in the Reports menu, making it faster to jump between related reports during month-end review.
  • Improved data freshness across the app. We rebuilt how the app refreshes data after you make changes — creating documents, reconciling transactions, managing contacts, and other actions. All related views now update together automatically, so you always see the latest data no matter where you navigate.
  • Other Investing Activities. The Cash Flow Statement now includes an Other Investing Activities category under Investing Activities, capturing changes in accounts like loan receivables and intangible assets — giving you a more complete picture of investing cash flows per accounting standards.
  • Expanded Cash Flow classification. The Cash Flow Statement now correctly classifies credit card balances, dividend payments, and treasury stock under Financing Activities, and employee advances, sales tax payable, income tax payable, and payroll liabilities under Operating Activities. If you use any of these account types, your Cash Flow Statement is now more complete — no action needed.
  • Real-time overdue invoice status. Overdue status on invoices is now computed in real-time from the due date and payment status, instead of being stored as a fixed flag. This means the overdue indicator always reflects the current date accurately, and overdue invoices that haven't received payments are now editable again.
March 7, 2026
Agent Skills, Edit Posted Expenses & Expense Settlement Accounts
  • Agent Skills — teach your AI assistant custom workflows. Create reusable "skills" that teach the assistant how to handle your specific workflows. For example, "Always amortize software subscriptions over 12 months" or "Use account 6100 for office supplies." Skills can be scoped to your entire firm, a specific workspace, or just you personally. Create and manage skills from Settings → Agent Skills, or ask the assistant to create them directly in chat.
  • Edit posted expenses and deposits. You can now correct the amount, line items, date, settlement account, and other details on expenses and deposits that have already been posted — without needing to void and re-enter them manually. Balances handles the reversal and re-posting automatically while preserving the settlement account and enforcing lock dates.
  • Expense settlement accounts ("Paid From"). When recording an expense, you can now specify which account to credit using the new "Paid from" field. This is useful when company expenses are paid with a personal card or owner's loan — instead of posting to Expenses Clearing, the expense credits the account you choose (e.g., "Owner's Loan"), immediately tracking what the company owes. Also available through the AI assistant — say "paid with my personal card" and it sets the right account.
  • Contact filter on Activity by Contact report. The Activity by Contact report now includes a contact dropdown filter, letting you quickly view activity for a single contact instead of scrolling through everyone. The filter also applies to Excel downloads.
  • Date range persistence across reports. Your last-selected date range (e.g., "Year to Date", "Last 3 Months") is now remembered across reports and sessions. When you open a new report, it defaults to your most recent selection instead of the system default.
  • Payments page cleanup. The Payments page previously mixed bank-feed categorizations in with formal payment workflows like invoice matching and GL payments. It now shows only deliberate payment activities — categorized transactions still appear in the Banking section where they belong.
  • Billable contact visibility on expenses. Expenses now display the billed-to client in list views (as a new "Billed to" column) and detail views. Bank transaction reconciliation details also show which client an expense is billed to.
  • Cash Flow Statement cash reconciliation. The Cash Flow Statement now shows Beginning Cash Balance, Ending Cash Balance, and (for multi-currency workspaces) the Effect of Exchange Rate Changes on Cash at the bottom of the report, completing the standard cash flow presentation.
  • Account Activity Report. A new report designed for non-accountants who want to understand what happened in each account without thinking in debits and credits. Transactions show as positive or negative amounts — positive means the balance increased, negative means it decreased. Includes contact filtering, source type filtering, a summarize mode for quick opening/closing balances, and Excel export. Find it under Reports → Account Activity.
  • Monthly subtotals in Contact Activity reports. When viewing a Contact Activity report over a multi-month date range, the totals row now shows per-month subtotals alongside the grand total, making it easier to see period-by-period trends at a glance.
  • "Paid from" account visible on expenses and deposits. If you use custom settlement accounts (e.g., recording expenses paid from an Owner's Loan account), you can now see which account was used directly in expense and deposit lists and detail views — no need to check the journal entry.
  • Agent auto-posts expenses with settlement accounts. When you ask the AI agent to create an expense or deposit and specify a "Paid From" account (like a credit card), the transaction is now automatically posted instead of being left as a draft.
  • Faster GL and Cash Flow reports. Optimized database queries for both reports to eliminate redundant lookups. The General Ledger now fetches all account balances in bulk, and the Cash Flow report caches account data across monthly calculations.
  • Cleaner reports by default. Reports now hide zero-balance rows by default, giving you a cleaner view focused on accounts with activity. You can still toggle them on when needed.
  • Better PDF report formatting. Long account names in exported PDF reports now truncate cleanly with an ellipsis instead of breaking the table layout, particularly in multi-month reports with many columns.
  • Toast notifications always visible. Success and error notifications now always appear above drawers and modals so you never miss important feedback.
March 6, 2026
Custom Dimensions, Central File System & Bulk AI Reclassification
  • Custom dimensions. Define your own classification axes (e.g., Class, Location, Department) and assign values to line items across invoices, bills, expenses, deposits, and bank reconciliation. Filter your P&L by dimension to see breakdowns by project, department, or any category you define. Manage dimensions and their options in Settings.
  • Central file system. Every file that enters Balances — bank imports, agent uploads, receipts, attachments — is now preserved in a searchable file registry. Files are automatically classified by AI (document type, entities, date range, summary). Browse them all from the new Files page with filters, search, and a detail drawer.
  • Reclassify line items on posted documents. Change the GL account on individual line items of posted invoices, bills, credit notes, and reimbursements without voiding the entire document. Balances creates a correcting journal entry behind the scenes. Also available through the AI agent using natural language (e.g., "reclassify the office supplies line to Marketing").
  • Bulk reclassification with the AI agent. Ask the assistant to reclassify multiple line items at once (e.g., "reclassify all these consulting expenses to Service Revenue"). The assistant shows you a preview of all changes before applying them. Multi-entity operations are also significantly faster — the agent can now fetch up to 50 entities in a single request, so conversations that previously required 30+ back-and-forth steps now complete in under 10.
  • Agent file attachments. The AI agent can now attach uploaded files (PDFs, images) to bills, invoices, expenses, and deposits it creates on your behalf. It also extracts document numbers from uploaded files, so a scanned bill keeps its original bill number.
  • Smarter AI responses. The assistant now interprets your financial data instead of just reporting numbers — comparing to previous periods, flagging anomalies, and suggesting next actions. For conversations that matter most, it automatically uses a more capable model while keeping routine tasks fast.
  • Dimensions visible on reconciled transactions. Reconciled bank transactions now show their assigned dimension values (e.g., "Department: Marketing") directly in the transaction table, so you can see how transactions were categorized without opening them.
  • Redesigned workspace switcher. The workspace selection modal has been refreshed with a cleaner, more compact layout, improved visual hierarchy, and simpler navigation when you have many workspaces.
March 5, 2026
Plaid History Expansion, Billable Expenses Everywhere & Email Redesign
  • Override starting balance for personal accounts. Individual workspace users connecting via Plaid get ~90 days of transactions but no starting balance, making running balances meaningless. Now you can set a starting balance per bank account at a specific date. Transactions before that date are automatically excluded.
  • Full 2-year Plaid transaction history. Plaid previously returned only the last 90 days by default. We now request the maximum 730 days of history when you connect a bank account, giving you a much more complete picture from day one.
  • Billable expenses everywhere. The "Billed to client" field now works on manually-created expenses (not just bank-linked ones), in bulk categorize, bulk recategorize, and the Recharge tab. Expense and deposit numbers are now optional to reduce friction. The Billable Expenses report includes deposits as revenue, and you can export it to Excel.
  • Smarter decoder matching. The bank feed decoder can now suggest matches for paid expenses, deposits sitting in clearing, and awaiting-payment reimbursements — not just invoices and bills.
  • Filter bank transactions by amount. You can now filter by minimum and/or maximum amount, making it easier to find specific transactions in large lists.
  • Payee search. The bank transaction search bar now searches across description, reference number, and payee name — previously it only covered description and reference number.
  • Stale app detection. When we ship a new version, the app now detects it and shows a "refresh to update" banner instead of mysterious blank screens.
  • Refreshed email design. All email templates have been updated with a refined color palette, improved typography, better visual hierarchy, and improved accessibility meeting WCAG AA standards.
  • Clearer labels in payment matching. "Total Allocated" and "Remaining" have been renamed to "Selected Total" and "Difference" — more intuitive when you're matching bank transactions to documents.
  • Cleaner Chart of Accounts. Deactivating a banking account now automatically deactivates its linked GL account, removing phantom entries that previously appeared on the Chart of Accounts and Balance Sheet.
March 4, 2026
Billable Expenses, Receipt Attachments, Stripe OAuth & Agent Resilience
  • Track billable expenses by client. A new optional feature lets you tag bank transaction expenses as "billed to" a specific client during categorization. A new Billable Expenses report shows revenue and expenses per client side by side, so you can see net profitability at a glance. Enable it in Workspace Settings → Features — it's off by default so it won't clutter your workflow if you don't need it.
  • Attach receipts to bank transactions. Upload receipt PDFs and images directly on the Categorize tab when reviewing bank transactions. Attachments work for both new categorizations and already-reconciled transactions.
  • Stripe OAuth integration. The connectors system now supports real OAuth-connected integrations, starting with Stripe. Connect your Stripe account from Settings → Connectors, and Balances automatically creates the clearing and fee accounts.
  • Agent chat survives deploys. If the server restarts while the agent is answering, the chat now recovers automatically — no duplicate messages, no lost responses.
  • Decoder history visible to everyone. All users can now see the Decoder History page. The table now has sortable columns.
  • View and reactivate deactivated contacts. Deactivated contacts were previously impossible to view. Now you can open them, see an inactive banner, and reactivate directly from the contact drawer or the overflow menu.
  • Voided transactions hidden by default. The expenses and deposits pages now filter out voided entries by default. You can still see them via the "All (incl. Voided)" dropdown option.
  • Bank account last-4 digits everywhere. Multiple bank-linked GL accounts with the same name (e.g., two "CREDIT CARD" accounts from Chase) are now distinguishable across account selectors, Chart of Accounts, and Opening Balances — all show the last 4 digits of the account number.
  • Decoder improvements. Resumable batches, chunked large file imports, smarter categorization, and faster batch reconciliation.
March 1, 2026
10x Faster Decoder, Statement Verification, Passkeys & Partial Transfers
  • Bank transaction decoder is ~10x faster. We overhauled the AI decoder that categorizes your bank transactions. Similar transactions are now clustered together (so the AI only needs to decode one representative per group), and up to 5 transactions are processed in parallel instead of one at a time. A batch of 600 transactions that used to take ~50 minutes now completes in ~3–4 minutes. Results are saved incrementally, so even if something goes wrong mid-run, you keep everything that's already been processed.
  • Verify bank statements with AI. Upload a PDF bank statement in the agent chat, and the agent will extract all transactions, compare them against your records, and report any discrepancies. Uses a three-pass matching algorithm to handle date variations and rounding differences.
  • Passkeys, magic links, and two-factor authentication. Sign in with a passkey (fingerprint or Face ID), receive a magic link by email, or add TOTP two-factor authentication (Google Authenticator, 1Password, etc.) to your account. All three methods are available from your Profile → Security tab.
  • Complete partial transfers. When a bank transfer was only half-matched (Money in Transit), you previously had to undo it and start over. Now you can select the matching transaction directly from the Transfer tab to complete it. The "Reconciled To" column shows the actual target account name (e.g., "→ Business Checking ••0000") instead of the generic "Internal transfer."
  • Override categories and contacts in bulk. The assistant feed's batch groups now have a three-dot overflow menu with "Change category" and "Change contact" options that apply your choice to every transaction in the batch at once.
  • Exchange rate staleness alerts. When exchange rates are more than 24 hours old, reports and dashboards show a warning banner with the last-updated timestamp so you know the numbers may be slightly off.
  • Dashboard tuned for personal accounts. Individual (non-business) workspaces now see a dashboard without invoices and bills cards, with labels like "Total Income" instead of "Total Revenue."
February 2026
February 28, 2026
Transfer Tab Redesign, Dashboard Performance & Third-Party Connectors
  • Redesigned Transfer tab. The Transfer tab on the reconciliation page now shows matching candidates immediately from all bank accounts — no need to select a target account first. Already-reconciled matches show a clear badge so you can tell at a glance what's been handled. This makes inter-account transfer reconciliation significantly faster.
  • Faster dashboard. Dashboard metrics load significantly faster (P95 latency dropped from 2.2s to ~800ms) thanks to consolidated batch queries replacing individual per-card queries. Everything from revenue summaries to expense breakdowns now loads in under a second.
  • Third-party connectors. A new Connectors page under Settings lets you manage integrations with Stripe, Gmail, Gusto, and other providers.
  • Profile page redesign. Your profile is now organized into tabs — Profile, Security, and Preferences — with a cleaner card-based layout that makes it easier to find what you're looking for.
  • Mobile improvements. Improved mobile layouts for the assistant and transaction list, making the app more usable on phones and tablets.
February 27, 2026
Rebrand, Period Lock Enforcement & Firm Invites
  • We're now just "Balances." The ".ai" suffix has been removed from the product name across the entire app — page titles, emails, PDFs, and the logo. Domains and email addresses remain unchanged.
  • Lock date now enforced on reconciliation. Unreconcile, reconcile, and transfer operations now respect your lock date and period lock settings. The UI disables locked actions with clear tooltips explaining why, and batch operations warn you before proceeding if any items fall within a locked period.
  • Invite clients by email. Firm admins can now invite clients by email without knowing their workspace ID. The client receives a link, picks which workspace to share, and accepts. Invites expire after 7 days and can be resent if needed.
  • Invoice notes visible online. The notes field on invoices (e.g., payment instructions, bank details) now appears on the public online invoice view — it was previously only on the PDF. Your customers can now see payment instructions when viewing an invoice in their browser.
  • Smarter, faster AI. The agent and bank transaction decoder now know your workspace name and team members for better context. The agent can open Plaid's bank connection flow directly when you ask to connect a bank. The Assistant feed loads faster with fewer database queries per page load.
  • Notes fields auto-expand. The Notes field on invoices, bills, expenses, and deposits now starts at 3 lines and grows up to 8 as you type, instead of the cramped single-line input.
February 26, 2026
Agent Preview Governance, Accounting Firms & Date Input Fixes
  • The agent always previews before creating. Every entity type — expenses, deposits, accounts, journal entries, and bank accounts — now routes through the propose-review-execute workflow with a backend guardrail enforcing the preview step. Nothing gets created in your books until you explicitly approve it.
  • Accounting firm access (Phase 2). Accounting firms can now access client workspaces directly. Firm admins and members see a dedicated firm dashboard with a client list, the ability to connect existing workspaces or create new ones for clients, and an invite flow. The workspace selector splits into "My Workspaces" and "Clients" sections. Sensitive actions (billing, user management, reimbursement approval) remain restricted to direct workspace members.
  • Agent links open in-place. Clicking a document, contact, or bank account link in the agent chat now opens a drawer overlay instead of navigating away or opening a new tab. You stay in the conversation while reviewing the entity.
  • Date inputs fixed. Typing dates no longer causes digits to disappear mid-entry. We also switched to a more reliable input pattern so partial input is never submitted — only completed, valid dates are accepted.
  • Vendor tracking on reimbursements. Reimbursement line items now show which vendor was paid for each expense (e.g., "Acme Coffee", "Globex Software"), visible in the reimbursement drawer. This makes it easy to see exactly where money went when reviewing or approving reimbursements.
February 24, 2026
Cross-Workspace Recharges
  • Recharge reconciliation between workspaces. If your parent company pays expenses on behalf of a subsidiary (or vice versa), you can now create recharge entries that automatically appear in both workspaces' reconciliation queues. This eliminates the manual coordination of booking the same intercompany transaction in two places — create it once, and both sides see it. A cross-tenant audit trail tracks every inter-workspace action so both entities have a clear record.
February 23, 2026
Agent Reconciliation, Invoice Email PDFs & Reimbursements Overhaul
  • AI-assisted transaction reconciliation. The agent can now analyze your unreconciled transactions and propose matches — categorization, transfers, and document links — using a plan-approve-execute flow. Review the proposed plan, then confirm with one click. Especially useful when you have a backlog of bank transactions to work through.
  • Invoice emails now include the PDF. Outbound invoice emails attach the invoice PDF automatically, so your clients can download a clean copy right from their inbox. Failed sends retry up to 3 times, with rate limiting and resend detection to prevent accidental duplicates.
  • Smarter digest emails. The daily digest now leads with what the AI figured out ("12 transactions categorized") rather than what's left for you to do. Items are grouped by type with cleaner formatting.
  • Reimbursements overhaul. Recall submitted reimbursements back to draft, edit rejected reimbursements, and see rejection reasons in a banner. The status filter includes PAID, and approval history shows actual user names instead of IDs.
  • Journal entries improvements. Date editing now works on drafts, a new text search filter makes it easier to find entries, voiding now captures a reason, and there's a post confirmation dialog to prevent accidental posting.
  • Agent chat redesign. Tool calls show a spinner while executing, errors display inline in the chat thread, and there's a new welcome conversation for first-time users. Contextual empty states for demo vs. real workspaces. Mobile responsive improvements throughout.
February 22, 2026
Financial Review Agent, Bulk Actions & Period Lock Verification
  • AI financial statement review. A new agent tool fetches your Balance Sheet, P&L, Cash Flow, and aging reports, then sends them to Claude for expert analysis. You get an executive summary, key indicators, strengths, concerns, and recommendations — all from a single agent command.
  • Bulk actions through the agent. Tell the agent to post, void, delete, or approve multiple documents at once. Bulk operations route through the preview system so you can review everything before confirming.
  • Period lock verification health. The statement verification system now detects 4 types of post-verification discrepancies: new bank transactions, modified amounts, Plaid removals, and excluded entries. A health warning banner appears with "Void & Re-verify" and "View Details" actions.
  • Excel export for all reports. The 6 remaining reports (General Ledger, Transaction Detail, AR Ageing, AP Ageing, FX Gains & Losses, Activity by Contact) now have Excel download — completing full .xlsx coverage across all 11 financial reports.
February 21, 2026
Excel Report Downloads & Performance Improvements
  • Download any report as Excel. All five financial reports — Balance Sheet, P&L, Trial Balance, Cash Flow, and Equity Statement — can now be exported as .xlsx files with proper formatting, currency number formats, and hierarchical indentation. Great for sharing with your accountant or importing into other tools.
  • Faster reports and dashboards. Exchange rates are now fetched in batch and account lookups are cached across months, significantly improving load times across the dashboard and all financial reports.
  • Period lock improvements. Void, edit, and delete dialogs across all document types are now lock-date aware and show clear messaging when an action is blocked. This covers every document type — invoices, bills, expenses, deposits, journal entries, and payments.
February 20, 2026
Reconciliation Overhaul, Optional Start Date & Default Accounting Basis
  • Redesigned reconciliation page. The bank reconciliation page now has two clear tabs: "Books to Bank Register" and "Bank Register to Statement." Verified transactions are locked after reconciliation so they can't be accidentally modified, and the banking dashboard shows your last verified date.
  • Start date is now optional. New workspaces no longer need to pick a start date during creation. The start date is set when you post your opening balances, so you can explore the product first and set up your books when you're ready. Connect your bank, poke around, and formalize your books later.
  • Default accounting basis. A new "Reports" section in workspace settings lets you choose cash or accrual as your default. All report pages now use this setting instead of requiring you to pick the basis each time. Set it once and every report respects your preference.
February 19, 2026
Onboarding Improvements
  • Onboarding polish. Welcome emails are now tailored to how you arrived — direct signup gets a different flow than a workspace invitation. Reimbursement features are hidden for personal workspaces to keep the interface clean. Demo workspaces are pre-provisioned for invited users so sample data is ready immediately.
February 18, 2026
Statement Balance Reconciliation, Recurring Invoices & Transaction Deletion
  • Three-way bank reconciliation. Reconcile your books against an actual bank statement. Enter the statement date and closing balance, and Balances shows a two-track running balance — one from your books, one from the bank — so you can see exactly where they diverge. Upload the statement PDF for your records, and the reconciliation is saved in your history with full activity logging.
  • Smarter transaction deletion. A new pre-delete impact check shows exactly what will be affected before you confirm — related payments, categorizations, and accounting entries are all surfaced. Categorized transactions can now be deleted too — their accounting entries are automatically reversed first.
  • Transfer candidates load instantly. The transfer reconciliation tab now shows matching candidates from all bank accounts immediately, without requiring you to select a target account first.
  • Recurring invoices got more reliable. Schedules using monthly or yearly frequencies now correctly calculate the next invoice date, generated invoices link back to their recurring schedule, and completed schedules can no longer be accidentally modified.
February 17, 2026
Email Preferences, Dismissible Demo Banner & Reconciliation Improvements
  • Email notification preferences. Granular control over which emails Balances sends you. Head to your Profile page to toggle three categories independently: Daily Digest, Banking Alerts, and Reimbursement Approvals. New email categories will automatically appear here as we add them. One-click unsubscribe is built in.
  • Dismissible demo banner. The "You're using a demo workspace" banner can now be dismissed with an X button. It stays hidden for your session so it's not in the way while you explore the product.
  • Reconciliation improvements. Reconciliation statuses now display correctly, a new "Source" column shows where each entry originated (bank feed, manual, or opening balance), and divergent amounts are visually highlighted so discrepancies are easy to spot. You can also delete reconciliation entries directly from the list.
February 15, 2026
Redesigned Transfer Reconciliation
  • Transfer tab redesign. The transfer tab in bank reconciliation got a complete redesign. Select the correct transfer match directly from a radio-button interface, compare candidate details (account name, amount, date) side by side, and reconcile in one click — all without leaving the page.
February 14, 2026
Expense Insights, Inline Document Drawers & Multi-Currency Fixes
  • Expense insights. A new Expense Insights page uses the AI assistant to analyze your recurring expenses — identifying patterns, flagging anomalies, and surfacing trends you might miss when reviewing transactions one at a time.
  • Open documents without leaving reports. Clicking a document link on the General Ledger or Transaction Detail report now opens it in a drawer overlay. Inspect invoices, bills, journal entries, and payments without losing your scroll position or filter state. We also added an FX column toggle to show or hide foreign currency amounts.
  • Multi-currency improvements. Currency symbols, formatting, and defaults now always reflect your workspace's base currency — regardless of which currency you use.
February 13, 2026
PDF Bank Statement Import, Report Improvements & Multi-Currency Refinements
  • Upload PDF bank statements. You can now upload bank statements as PDFs (not just CSVs). Balances uses vision AI to read the PDF pages, extract transaction rows, dates, descriptions, and amounts, then feeds them through the same import pipeline. Multi-page statements and XLSX files are also supported.
  • Currency-aware agent chat. When you ask the agent about balances or totals, it now responds with properly formatted currency amounts (e.g., "€1,250.00"). The agent knows your workspace's base currency and formats everything accordingly.
  • Scrollable reports with pinned filters. The General Ledger, Transaction Detail, and Activity by Contact reports now keep filters pinned at the top while ledger entries scroll independently.
  • Report drilldown improvements. Manual journal entries now appear correctly in Profit & Loss and Balance Sheet drilldown views.
  • Multi-currency accounting refinements. Improved Balance Sheet retained earnings calculation for multi-currency workspaces, more accurate unrealized FX on liabilities, corrected foreign currency opening balance conversions, and more reliable GL balances when re-posting opening balances.
  • Document date validation. The agent now enforces your tenant start date when creating documents.
February 12, 2026
Invoice PDF Download, Bank Sync & Smarter Transaction Decoding
  • Download invoices as PDF. A new "Download PDF" option is available in the invoice drawer and list overflow menu. The PDF uses the same professional formatting as email attachments — available on drafts, posted, and voided invoices.
  • Automatic bank sync. Plaid-connected accounts update live whenever new transactions come in. We also added a 12-hour backup sync as a safety net, so your feed stays current even if a live update gets missed.
  • Smarter bank transaction categorization. Cleaner amount formatting, automatic contact assignment for bank fees and interest charges, and smarter transfer matching that waits for counterpart transactions before finalizing.
  • Better document classification. When uploading files, the AI is now better at distinguishing bills from invoices based on business context.
February 11, 2026
File Attachments in Agent Chat & Auto-Recovery
  • File uploads in agent chat. When you upload a file in the agent chat, it now displays immediately as a downloadable chip — no refresh needed.
  • Agent auto-recovery. If a response takes longer than expected, the system automatically diagnoses and recovers, keeping you informed along the way.
February 8, 2026
Transparent Session Recovery & Faster Onboarding
  • Sessions that don't expire on you. If you return after your access token expires (up to 30 days), Balances silently refreshes your session in the background. You just pick up where you left off.
  • Faster onboarding. The onboarding page has been redesigned into a clean inline form with a "Try the demo" option that loads instantly. After creating a workspace, navigation is instant via client-side routing.
February 7, 2026
Robust Bank CSV Imports & Email Improvements
  • Bank statement imports got more robust. We improved handling for certain bank CSV exports (notably Chase). The importer now validates column assignments against actual data and auto-corrects when they don't match. The agent also works through ambiguous CSV formats methodically.
  • Tool call UI polish. When the agent uses a tool, completed steps now show a checkmark with clear past-tense labels like "Used the 'Process File' tool."
  • Workspace confirmation email. A new workspace-created confirmation email guides you to connect your bank account as a next step.
February 6, 2026
Smarter AI Assistant
  • Edit line items on posted documents. The AI assistant can now edit line items directly on posted documents — change a description, amount, or account without having to void and recreate the whole thing.
  • Built-in knowledge base. Ask the assistant how a workflow works, what a term means, or how to handle a multi-currency scenario, and it'll give you a plain-English answer right in the chat.
  • Wider CSV compatibility. Bank statement CSV parsing now handles a wider range of file encodings and formats.
February 5, 2026
Notification Bell & Daily Digest Emails
  • Notification bell. A new notification bell in the header shows how many items are waiting for your review in the Assistant feed — the count refreshes every 60 seconds and clears when you visit the page.
  • Daily digest emails. We now send a daily digest at 8 AM (your local time) summarizing your pending items with a preview of the top three. Admins and owners can unsubscribe with one click.
February 5, 2026
Drawer-Based Bank Account Connection
  • Connect bank accounts without leaving the page. A new drawer (slide-over panel) lets you choose between Plaid and manual entry, complete the flow, and stay right where you were — whether that's onboarding, the banking dashboard, or the chart of accounts.
  • Onboarding visual refresh. The onboarding page now has a contained card layout and a "What happens next" section.
February 5, 2026
6x Faster Demo
  • 6x faster demo environment. The demo now loads in roughly 2.5 seconds, down from about 14.5 seconds. Your chart of accounts, bank transactions, and AI assistant suggestions appear immediately. Invoices, bills, and reimbursements populate in the background so you're never waiting.
February 4, 2026
Simplified Onboarding
  • Simplified workspace creation. Creating a workspace now takes just four fields: company name, industry, country, and currency. From there, a single call-to-action — "Add your bank account" — opens a drawer for Plaid or manual entry without any page navigation.
  • Assistant as default landing page. The Assistant is now your default landing page after login, so you're guided from the very first session.
February 3, 2026
Assistant-First Experience, Support Link & Cal.com Scheduling
  • Assistant-first landing page. The Assistant feed is now the default after login — see your pending items and AI assistant suggestions first, not the dashboard. The left nav has been reordered to match.
  • "Need help?" link. A permanent support link at the bottom of the left navigation so support is always one click away.
  • Book a demo call. The welcome email now includes a "Book a demo call" button powered by Cal.com, and the demo banner links to scheduling as well.
January 2026
January 24, 2026
Mobile-Responsive AI Assistant & Line Item Editing
  • Mobile-responsive AI assistant. On phones and tablets, the sidebar hides by default and the assistant expands to full width when you open it — accounting on the go, finally.
  • Line item editing. The assistant can now edit individual line items (description, amount, account) on existing documents without requiring a void-and-recreate cycle.
January 20, 2026
Intelligent Bank Statement Import
  • Smart CSV import. Upload a CSV bank statement and Balances figures out the rest. Auto-detects column formats from major banks — Chase, Bank of America, Wells Fargo, and more — and filters out duplicate transactions automatically.
  • Learning decoder. The AI decoder now shows a "Learned" chip when it's reusing a past categorization, so you can see it getting smarter over time. A new DecoderHistory drawer lets you see matched transactions with similarity scores, and we've lowered the learning threshold so the system picks up patterns faster.
January 17, 2026
Void Date Validation
  • Void date safeguard. A safeguard now prevents voiding future-dated transactions with "Today's Date" when today is before the original transaction date. You'll get a clear error message explaining the issue and suggesting the "Original Date" option instead.
January 15, 2026
Improved Email Notifications
  • Better email deliverability. Transactional emails are now less likely to land in spam.
  • Workspace names in alerts. Banking connection alerts now include workspace names, so if you manage multiple workspaces, you'll know exactly which one needs attention.
January 13, 2026
Streamlined Foreign Currency Payments
  • Simplified payment dialog. The multi-currency payment dialog went on a diet. Instead of three confusing interdependent fields, you now see the document amount and date up front, with a clear summary row showing the calculated base amount and an intuitive inverted rate (e.g., "148.75 JPY/USD"). Need to override the exchange rate? An optional "Adjust" section is one click away.
January 10, 2026
Active Filter Now Includes Drafts
  • Drafts in "Active" filter. The "Active" status filter on document lists now includes drafts alongside posted documents. No more wondering where that invoice you were working on went — if it's not voided or fully paid, it shows up.
January 8, 2026
Immutable Base Amounts for Multi-Currency
  • Locked-in base amounts. Foreign currency documents now lock in their base amounts at creation using a precise largest-remainder algorithm, so line items always sum exactly to the document total — no rounding surprises. AR/AP reports stay consistent regardless of exchange rate fluctuations, and FX gains and losses are tracked accurately from the moment a document is created.
January 6, 2026
Improved Demo Welcome Experience
  • Welcome conversation. New demo users now land directly in a "Welcome to Balances" conversation with the AI assistant. The welcome message explains the sandbox nature of the demo and encourages exploration — try anything without consequences.
January 3, 2026
Clearer AI Previews
  • Numbered preview lists. When the AI assistant proposes creating documents, it now uses numbered lists ("Here's what I'll create: 1. Invoice for Acme Corp...") instead of checkboxes — making it obvious these are proposals waiting for your approval, not already-completed actions.
December 2025
December 30, 2025
PDF Export for Financial Reports & Recurring Invoices Overhaul
  • PDF export for all financial reports. Profit & Loss, Balance Sheet, Cash Flow Statement, Statement of Equity, and Trial Balance can all be exported as professionally formatted PDFs with your company name, timestamp, and timezone. Great for sending to your accountant or keeping clean records.
  • Recurring invoices overhaul. We replaced the old confusing status system with three intuitive states — Active, Paused, and Completed — and simplified scheduling to just: start date, frequency, and stop condition.
December 28, 2025
Void Date Choice & Lock Period Awareness
  • Void date choice. When voiding a document, you can now choose whether the reversal takes effect on the original transaction date or today's date. If the original date falls within a locked accounting period, the system automatically selects "Today's Date" for you. This keeps your locked periods clean while giving you the flexibility to control when voids hit your books.
December 26, 2025
Improved Posting Precision
  • Better precision handling. Documents with fractional quantities and very low unit prices (e.g., 1,000 units at $0.003) now post smoothly. We improved precision handling throughout the calculation chain to cover these edge cases.
December 23, 2025
Clearer Bank Connection Status
  • Disconnected account clarity. Disconnected Plaid accounts now clearly show "Disconnected" instead of being confused with "Manual Entry" accounts. A "Reconnect to Plaid" button appears right on the account, so you know exactly what happened and can fix it in one click.
December 22, 2025
Workspace Error Recovery
  • Graceful error recovery. If your browser session gets out of sync with the server (e.g., after a deployment), you'll be gracefully redirected to the login page instead of seeing a blank screen.
December 19, 2025
Smart Account Posting Rules, FX Opening Balances & Report PDFs
  • Account posting guardrails. Accounts Receivable, Accounts Payable, and Opening Balance Equity are now blocked from direct journal entries — they require proper document workflows. Sensitive accounts like Retained Earnings and FX clearing accounts show a helpful warning tooltip.
  • Foreign currency opening balances. When setting up a foreign currency bank account, you can now specify the exchange rate directly in the opening balance wizard.
  • Balance Sheet FX revaluation. A new checkbox on the Balance Sheet report lets you include or exclude FX revaluation adjustments.
December 17, 2025
Performance & Activity Feed Fixes
  • Faster demo creation. Demo company creation is significantly faster thanks to a large reduction in database round-trips.
  • Activity feed cleanup. Fixed an issue where duplicate activity events appeared.
  • Larger table rows. Increased table row sizes across the app for better readability.
December 15, 2025
Demo Welcome & Input Validation
  • Auto-open AI Agent. New demo users now see the AI Agent panel automatically on first visit with an updated banner: "Try anything! Sample data, reset anytime."
  • Tighter input validation. Improved validation across all amount fields for extra safety.
December 13, 2025
Prepayment Accounts
  • Proper prepayment handling. When a customer pays before their invoice is posted, the payment goes to a dedicated Customer Prepayments liability account. Same logic for vendors — early payments land in a Vendor Prepayments asset account. When the corresponding document posts, clearing entries are created automatically.
December 11, 2025
Payment List Enhancements & AR Aging Fix
  • Richer payment lists. Payment lists now show much more context: the documents included in each payment, document count, and currency. Payment allocation details show the document date and contact name.
  • Clear document number prefixes. Auto-generated document numbers now use clear prefixes like EXPENSE-123 and DEPOSIT-123.
December 8, 2025
AI Assistant: Journal Entries & Reimbursements
  • Journal entry management via AI. The AI assistant can now post, void, and delete journal entries via natural language.
  • Full reimbursement workflow. The assistant handles the full reimbursement workflow — submit, recall, approve, reject, and void. It understands the difference between immediate documents and accrual documents, applying the correct state transitions for each.
December 6, 2025
Smarter Bank Transaction Matching
  • Sortable match list. When matching bank transactions to documents, the document list is now sortable by Relevance, Total Amount, or Balance Due — so you can quickly find the right match.
  • More reliable multi-step operations. The AI assistant handles multi-step operations more reliably now.
December 5, 2025
One-Click Draft Posting
  • Assistant rebrand. The Money Feed has been rebranded to the Assistant with a new tagline: "Ready for your approval."
  • One-click posting. Draft documents now have a "Post" button that posts immediately — no extra confirmation step needed. When you have a batch of drafts, "Post All" handles them in one click with a smooth animation.
December 4, 2025
Standardized Date Formatting
  • Consistent date formatting. All dates across the entire app now display in a consistent, human-friendly format: "Dec 3, 2025" instead of "12/03/2025". This change spans 31+ components — document lists, bank transaction cards, the Assistant, all financial reports, and opening balances.
December 3, 2025
Enhanced Filtering & Sorting
  • New filters across the app. Document lists support contact name and amount range filters, contact lists are sortable by name/email/status, payments can filter by source type and status, and journal entries have a dedicated status filter.
December 2, 2025
Faster AI Assistant & Unmatch Confirmation
  • Faster document creation. The AI assistant now skips redundant questions and goes straight to previewing the document it's about to create.
  • Smart defaults. Dates default to the 1st of the month, due dates use Net 30, and accounts are pre-selected based on context.
December 1, 2025
File Attachments
  • File attachments on all document types. Attach files to invoices, bills, deposits, expenses, journal entries, and reimbursements. Supported formats include PDFs, images, Office documents, CSVs, and text files — up to 10 MB each. Preview, download, and delete attachments right from the document drawer.
November 2025
November 26, 2025
Redesigned Money Feed
  • Visual redesign. The bank transaction matching interface got a complete visual redesign. Transactions now show side-by-side with their proposed matches — you can see the contact name, document number, outstanding balance, and due date at a glance. Color-coded action labels with confidence percentages help you decide quickly whether to accept, review, or skip.
November 26, 2025
Opening Balance Corrections & Form Submission Safety
  • Reopen opening balances. Posted opening balances can now be reopened for corrections — the system requires you to void related payments first to maintain ledger integrity.
  • Double-click prevention. Added double-click prevention on all form buttons across the app to prevent accidental duplicate submissions.
November 26, 2025
UX Improvements & Bank Account Management
  • Quality-of-life improvements. Void date selection on journal entries, bank account deactivation from the details drawer, opening balance editing within the setup wizard, journal entry list actions, and dashboard cleanup for inactive accounts.
November 25, 2025
Document Voiding & Confirmation Dialogs
  • Safer destructive actions. You can no longer accidentally void a document that has active payments — you must delete the payments first, and the UI explains why. Every delete and void action now has a clear confirmation dialog explaining exactly what will happen.

Have questions or feedback? Reach out to us at hello@balances.ai