Product Updates

New features, performance enhancements, and bug fixes shipped across the Enso platform.

v1.39.0

ASC 606, now powered by Enso AI and requires zero rework when a judgment changes

Revenue Recognition Enso AI Agent Compliance & Audit

Most ASC 606 schedules live in isolated spreadsheets, built under a single interpretation and left alone until audit season. If an auditor questions a SSP allocation or a contract modification forces an adjustment six months in, unwinding that model usually means hours of manual re-work.

In this week’s release, we’re addressing both the upfront decision and the downstream maintenance.

What’s new

  1. Stress-test ASC606 decisions upfront with Enso AI. Before locking down an allocation, ask Enso AI to run an alternate reading, like shifting SSP weighting or reclassifying a bundled performance obligation. It models the financial impact side by side so your final call has immediate, documented backing.

  2. Non-destructive judgment updates. If you update a judgment down the road, Enso leaves closed periods untouched and an auditable trail. It automatically computes the delta, posts a cumulative catch-up entry to the current open period, and links both the old and new positions directly to the underlying contract terms for review.

  3. A single source of learning on the contract. Contract clauses, underlying assumptions, and amortization schedules now live together on the contract record in Enso. No digging through inbox archives or shared folders to remember why someone set an amortization curve the way they did.


Questions, edge cases, or feedback on how the catch-up entries are posted? Please send us a slack or whatsapp as usual.

v1.38.1

Build your own dashboard in minutes: ask Enso AI, or drag and drop

Reporting & Dashboards Enso AI Agent

Last week we rebuilt dashboards to hold up as your management review grows. This week, we also released getting the right widget tiles onto them, without filing a request with your analyst every time Monday’s management review needs a new chart.

There are now two ways to build a board, and they work together: ask EnsoAI and pin your analysis, or arrange manually.

New features#

  1. Ask Enso AI, then pin the answer. Ask a question in plain English, such as “which customers are more than 60 days overdue, and by how much?” Aiko answers with a headline figure, a chart and the underlying rows, and each one pins to a dashboard as its own tile: the headline as a KPI, the chart as drawn, the rows as a table. Switch the chart type before pinning and the tile keeps your choice. Pinned tiles are live queries, not snapshots, so they stay current as invoices and payments land.
  1. Arrange the board your way.
    • Drag, drop and resize. Move tiles anywhere on the canvas and size them to match how much each one matters.
    • Change how any tile is drawn. Switch a bar chart to a column chart, a line or a waterfall, choose from fifteen chart types in total, or go back to a plain table, all without rebuilding the tile.
    • Private or shared. Keep a board private while you’re building it, then share it with your whole organization when it’s ready. Only the board’s creator can change who sees it.

As usual, we would love any feedback you have. You know where to find us in any issues.

v1.38.0

Dashboards you can run the business from, real reporting-currency conversion, and a complete customer view

Reporting & Dashboards Order-to-Cash Engine Collections & Dunning Credit Control & Risk Compliance & Audit

Most finance teams run their week from a handful of dashboards: cash collected, what’s overdue and with whom, revenue by entity against plan. This release rebuilds dashboards to hold up whether your daily management review has five tiles or fifty, and makes reports behave the way your team already expects a spreadsheet to.

New features#

  1. Dashboards that work like spreadsheets. Reports now support all the controls your team reaches for in Excel. In practice:

    • A board for every management review: A dashboard catalog lists every board in your workspace as tiles. Think of them like individual excel sheets, each user can set their own default and reorder their tiles.
    • Share the pack: A board can be exported and imported as a file, which makes it easy to replicate a month-end pack across teams or entities.
    • Format quickly to what matters:
      • Freeze header rows and columns, apply number formats (currency, percentage, date), and add conditional formatting rules to highlight, for example, every balance more than $10,000 over 90 days.
      • Filter any column from its header, either by picking values or with text conditions such as “contains,” “starts with” and “ends with.”
      • Sort by several columns at once, such as by customer and then by due date. The sort is kept when a report is saved or shared as a link.
    • Still work with Excel: Select a range of cells and copy it straight into a spreadsheet.
  2. Real reporting-currency conversion for customers. Customer balance due, total invoiced, total paid and all five aging buckets now convert each underlying invoice and payment at its own currency and transaction-date rate before summing. If an FX rate is missing, only the affected bucket is left blank; the other buckets still show.

  3. A complete customer view. The customer list now expands in place to show a customer’s recent invoices and communication history, alongside health score and collection strategy columns so your riskiest accounts are visible without opening them. Each customer’s details page opens on an overview with a snapshot of balance due, invoice, contract and entity counts, and an overdue-by-age breakdown. Invoices, Communications, Attributes and Contact groups each have their own tab, and customer records now carry an audit trail.

  4. Promise-to-pay visibility on invoices. When an invoice is marked as promise-to-pay, its details page now shows the promised date and amount, and PTP and disputed invoices carry their own clearly labeled status.

Improvements#

  1. For Zoho-connected workspaces, a new “Sync SKUs from Zoho” action on the product catalog keeps your SKU list in step with Zoho, alongside the existing customer sync.

  2. Large dashboards now load tiles as you scroll to them rather than all at once, so boards with many tiles open reliably.

  3. When a CSV export finishes, you can download the file directly from the notification.

  4. Customer and entity detail tabs now each have their own link, so a specific view can be bookmarked or shared with a colleague.

Fixes#

  1. Invoice outstanding amounts no longer count payments that have since been deleted.

  2. Secondary sort levels and conditional formatting are no longer lost when a report is saved and reopened, and a report’s total row count now displays correctly.

  3. Reports with similar filters no longer show each other’s row counts.

  4. On a dashboard with several table tiles, bulk actions now apply only to the rows selected in that tile.

  5. Addresses synced from Zoho now pick up their state and country when updating an existing record, not only when creating a new one.

v1.37.1

Customer hierarchy, a unified contacts module, and invoice email tracking

Order-to-Cash Engine Revenue Recognition Compliance & Audit Invoicing & Templates Enso AI Agent

Two data-model additions this week make contact resolution smarter: a customer can now point at another customer’s entity as its parent, and every customer, entity and contract gets a proper contacts module instead of scattered contact fields. Together they mean Enso can find the right person to notify even when nothing closer matches.

Alongside that, invoices gained a Communications tab that tracks every email sent against them, and Credits picked up several stability fixes following last week’s launch.

New features#

  1. Customer hierarchy. A customer can now link to another customer’s entity as its “parent,” chainable to any depth. Contact resolution climbs this chain to find a contact at a grandparent customer when nothing closer is set. A new “Link to entity” button on the Entity Details page manages the link, and entity lists show a “Parent customer” column.

  2. A unified contacts module. Customers, entities and contracts now share one contacts system: an org-wide Contacts page, embedded “Contact groups” sections on each record’s detail page, and Add/Edit/Delete/Duplicate/Link-existing flows throughout. Invoice generation and dunning now resolve contacts through this module.

  3. Communications tab and email delivery tracking. Invoice details pages now have a Communications tab. Every invoice email captures its provider message ID and channel, and a tracking pixel reports whether it was opened.

  4. Overage tracking on Credits before a top-up exists. Usage-based overage on a Credits plan item is now tracked even before any top-up invoice has been raised against it.

Improvements#

  1. Strict Content-Security-Policy enforcement with a per-request nonce, tightening the app’s defenses against injected scripts.

  2. The Add Credits dialog now shows the plan’s rate and a live running quantity preview as you enter an amount.

Fixes#

  1. A credits invoice item’s quantity and price are now derived correctly from the plan’s revenue rate.

  2. A new contract’s credits item no longer inherits its SKU’s unrelated default revenue rule.

  3. Actual usage and revenue reporting columns for credits now reflect allocated usage rather than raw re-derived usage, matching the ledger.

  4. The invoice Revenue recognition bar’s Deferred amount now uses the pre-tax subtotal.

  5. A revised invoice now inherits and locks its due date instead of recalculating one.

  6. Aiko’s search bar orientation has been corrected.


As usual, we would love any feedback you have. You know where to find us in case of any issues.

v1.37.0

Credits and wallets, pre-due dunning reminders, and a smarter Aiko canvas

Revenue Recognition Collections & Dunning Enso AI Agent Invoicing & Templates Reporting & Dashboards

Prepaid, usage-drawn-down billing has been a recurring ask: raise an invoice upfront, then recognize revenue only as it’s actually consumed. This week’s release builds that as a first-class Credits plan type with its own wallet.

Alongside it, dunning rungs can now chase an invoice before its due date rather than only after, and Aiko’s canvas got a substantial rework: streaming responses, CSV export, and a cleaner tool-call view.

New features#

  1. Credits and wallets. A new Credits plan type represents a prepaid pool that’s topped up through a manually-created invoice and drawn down as usage lands against a linked meter, with revenue recognized only as that usage happens. A new Credits tab on the contract detail page shows an available/consumed balance bar, lets you add credits or add usage directly, and gives a full running-balance ledger of every top-up and debit. A contract can be topped up more than once; usage is allocated across those top-ups oldest-first.

  2. Pre-due dunning reminders. A dunning ladder can now include a rung that fires before an invoice’s due date, not only after it. This also closes a gap where an invoice due today was never chased.

  3. A reworked Aiko canvas. Aiko’s responses now stream into the canvas as they’re generated, tool-call steps collapse into a cleaner view instead of stacking up, results can be exported to CSV, and follow-up questions render as suggested chips.

  4. Manual price and quantity overrides on invoice line items. An invoice item can now be explicitly unlocked for a manual price or quantity edit, including on credit notes.

  5. A unified dunning and invoice email log. Dunning reminders and invoice emails now write to the same send log, so a customer’s full email history shows in one place instead of two.

Improvements#

  1. The dunning onboarding flow now uses a horizontal progress stepper instead of a vertical side rail.

  2. Pivot report exports now match the columns shown on screen.

  3. The dashboard widget settings drawer now warns when a period pivot is missing a required dimension or measure.

  4. Column totals in dashboard widgets are now formatted and displayed consistently with the rest of the table.


As usual, we would love any feedback you have. You know where to find us in case of any issues.

v1.35.1

Automated ASC 606 revenue recognition, faster reporting, and editable invoice layouts

Revenue Recognition Reporting & Dashboards Invoicing & Templates Order-to-Cash Engine Usage & Metering Compliance & Audit

This week’s workspace redesign shipped in its own release. This note covers everything else that landed with it.

The main addition is ASC 606 revenue recognition. Enso now takes a contract, allocates its value across what you have committed to deliver, and builds the revenue schedule that follows, including how that schedule changes when the contract term or price changes. Reporting moved onto a faster engine, and invoice templates can now be edited directly as HTML.

New features#

  1. Automated ASC 606 revenue recognition. For each contract, Enso allocates the total transaction price across its performance obligations and generates the revenue schedule, then rolls that schedule forward period to period. Revenue is recognised only over the enforceable contract term, the schedule recalculates when the term or transaction price changes, and each contract reports a single canonical ARR figure. Revenue summaries are available directly in reporting.

  2. Faster reporting. Reporting now runs on a new execution engine built for large datasets, so dashboards and the usage and event lists stay responsive as your data grows.

  3. Editable invoice templates. You can now edit an invoice template’s HTML directly for full control over layout and branding. If a replacement template file fails to upload, the existing one is kept rather than lost.

  4. Controls on back-dated invoice changes. Moving an invoice date to after its due date now requires a stated reason, line-item corrections made after the due date are flagged, and the audit trail records what changed, not only why.

  5. Correct column totals in multi-currency reports. Totals now calculate correctly for columns held in their native currency.

Improvements#

  1. Metered invoice lines no longer overwrite their quantity or price on update, consistent with manual edits to those fields being blocked.

Fixes#

  1. Metered usage is now measured against the event’s own timestamp and the invoice line’s billing period, rather than a fixed 90-day window, so billed quantities match actual usage.

  2. Actions restricted by role were sometimes hidden from users who had the right permissions; those checks are now always current.

  3. Credit notes are now filed under their parent invoice, and the draft credit note action works correctly.

  4. When an invoice template preview fails, it now shows the actual reason, and preview data now includes nested fields, line items and totals.


As usual, we would love any feedback you have. You know where to find us in case of any issues.

v1.35.0

A redesigned workspace: floating navigation, dynamic dashboards, and global search

Workspace Navigation & UI Reporting & Dashboards Order-to-Cash Engine Finance & Legal Setup Templates & Lifecycles Enso AI Agent

Navigating your financial operations should feel immediate and intuitive. Over the last few months, as Enso added ASC 606 revenue recognition, custom reporting dashboards, autonomous dunning, and expanded metering workflows, our navigation needed to grow with it.

This week’s release brings a complete overhaul of the Enso workspace navigation and UI: a modern floating card sidebar organized around real-world order-to-cash workflows, dynamic injection of your custom reporting dashboards, a persistent global topbar with embedded search, and a simplified settings hub.

New features#

  1. A workflow-first Information Architecture. Navigation is now organized into dedicated, logical sections reflecting the daily operational reality of modern finance teams:

    • Dashboards: Instant command center featuring Home alongside your custom pinned reporting dashboards.
    • Order-to-Cash: The end-to-end operational engine grouped into Contracts and pricing, Metering, Billing and tax, Revenue recognition, and Collections.
    • Finance and legal setup: Direct left-sidebar access for multi-entity structures, including Legal entities, FX conversion rates, and Payment sources.
    • Templates and workflow: Fast access to Invoice templates, Email templates, and Lifecycles (FSM state machines).
    • Developer: Direct links to Background jobs, the MCP server, and developer documentation.
  2. A floating card sidebar. The sidebar has been reimagined as an elevated floating card giving the entire workspace an airy, calm, modern canvas. The expanded width was widened giving entity names, grouped accordions, and custom report titles comfortable breathing room without text clipping.

  3. Dynamic reporting dashboards in navigation. Your saved and pinned reporting dashboards now populate automatically inside the sidebar’s Dashboards section, providing one-click switching between executive summaries and operational ledgers without having to open the dashboard manager.

  4. A persistent global topbar with AI search. The new persistent topbar centralizes cross-cutting utilities:

    • Embedded natural language search and Enso AI Assistant search, stated for wide release later this week.
    • Date period selectors and multi-currency reporting toggles.
    • Live system notifications and activity alerts.
  5. Consolidated profile and workspace settings. Administrative configurations i.e., Organization settings, Users and roles, and Automations have moved out of the operational sidebar and into a unified user profile popover, keeping daily navigation uncluttered while keeping workspace administration one click away.

  6. Consolidated General Organization Settings. Merged the legacy “Settings and defaults” tab directly into the “General” tab in Organization Settings, eliminating duplicate navigation steps and retiring unused sub-routes.


As usual, we would love any feedback you have. You know where to find us in case of any issues.

v1.34.0

Schedule an invoice, and let metered usage keep itself honest

Order-to-Cash Engine Revenue Recognition Collections & Dunning Usage & Metering Invoicing & Templates Reporting & Dashboards

Two things you should no longer have to think about: when an invoice goes out, and whether a metered line item is billing the right quantity.

This week’s release handles both. Invoices can be scheduled for a future date and raised automatically when it arrives, and metered invoice items now resync their usage whenever anything they depend on changes, so the quantity on the invoice always reflects the meter.

Invoices ● Auto-raise on
InvoiceCustomerAmountStatus
INV-2026-0412Acme Corp Ltd.$14,164.20Scheduled. 29 Aug
INV-2026-0411GlobalTech Inc.$8,200.00draft
INV-2026-0409Nimbus AI$4,500.00due
INV-2026-0412 · line items Synced from meter
DescriptionPeriodQuantityUnit priceTotal
Inference API Meter : API CallsAug 20266,482,100$0.002$12,964.20
Platform feeAug 20261$1,200.00$1,200.00

New features#

  1. Scheduled invoice raising. Set a future date on a draft invoice and it is raised automatically when that date arrives. Scheduled invoices carry their own status chip and date in the lifecycle view, and the picker will not accept today or any date in the past.

  2. Automatic meter resyncing on invoice items. Usage is now synced after an invoice is created, and again whenever an item’s billing period changes, with the item’s quantity recomputed from the resulting usage. Stale usage rows from an abandoned period are unlinked and removed rather than left behind.

  3. A standalone revenue detail page. Unbilled-revenue notifications now open a dedicated revenue page laid out to match the invoice and contract pages, with the revenue record’s attributes shown directly as a table. The recognition table gained an “open revenue” action to reach it.

  4. Import invoices from NetSuite and Zoho. Existing invoices can now be brought in from either system through app actions.

  5. Reporting currency and rate type in dashboard controls. Pivot controls now expose both the reporting currency and the FX rate type used to convert into it, and both survive in a shared deep link.

  6. Server-rendered template previews. The invoice template editor now renders its preview on the server, so what you see while editing is exactly what the recipient receives.

Improvements#

  1. Dunning now sends one email per customer per reminder rung, governed by that rung’s own toggles, instead of one email per invoice.

  2. Reminder drafts are re-derived from the current policy on every run, so editing a policy is reflected immediately in what is queued.

  3. Dunning dashboard report columns were reworked to surface what collections teams actually track.

  4. The cap on how many attributes a report could include has been removed, so wide reports are no longer truncated.

  5. Usage now lives on a single page with real routes behind its tabs, and usage variance has been folded in as one of those tabs rather than a separate destination.

  6. Data fetching across notifications, email templates, app actions, payment sources and the deferred revenue ledger has been moved onto a shared caching layer, which cuts redundant requests and keeps screens in sync after an edit.

Fixes#

  1. Manual quantity and price edits on metered invoice items are now rejected with a clear error instead of being silently discarded.

  2. The SKU on an existing invoice item can no longer be changed, which previously left the item disconnected from its meter.

  3. Reporting filters on invoice number now match against the invoice number rather than its internal sequence.

  4. Re-running dunning no longer deletes the drafts it had just suppressed.

  5. Saved column preferences carried over correctly to the renamed closing ARR column, and are now stored per grouping so switching group-by no longer discards them.

v1.33.0

Dunning goes end to end, with risk scoring and dashboards behind it

Collections & Dunning Credit Control & Risk Reporting & Dashboards Order-to-Cash Engine Compliance & Audit Enso AI Agent

Last week we announced automated dunning reminders. This week we finished the machinery underneath them, and gave you somewhere to watch the results.

Dunning now runs as a scheduled execution job that classifies overdue invoices, reconciles them against the current policy and dispatches the emails, with every send recorded. Alongside it, entity risk scoring became a first-class object you can recalculate, override and report on. And reporting graduated from static tables to dashboards you build yourself.

Dunning ● Live · 28 customers
Receivables snapshot
Low risk 2 $4,200 outstanding
Medium risk 2 $28,200 outstanding
High risk 1 $61,450 outstanding
Total outstanding $93,850 across 28 customers
CustomerSectorTotalRisk scoreOverride
Globex CorpEnterprise$4,200Low · 12Auto ▾
Initech SolutionsSMB$18,900Medium · 54Auto ▾
Vandelay IndustriesEnterprise$61,450High · 88Auto ▾
This week's activity
Reminders sent 11 across all 3 tiers
Payments received $8,400 4 customers
Disputes flagged 1 held from sequence
Escalations fired 1 Vandelay · entered 60+
Needs your attention
Umbrella Industries
Promise-to-pay date passed without payment; sequence remains paused
Initech Solutions
Invoice INV-2291 disputed, skipped per exception rule, awaiting resolution

New features#

  1. A complete dunning execution engine. A scheduled job now classifies overdue invoices into ageing buckets, reconciles them against your current policy and dispatches the reminders. Every send is written to a send log that supports resending a single row or a whole group, and the log is queryable and reportable like any other object.

  2. Entity risk scoring you can control. Risk scores can now be recalculated on demand and overridden manually at the bucket level, with the reason recorded. Scores are exposed as a reporting object, so you can filter, group and chart your customer base by credit risk.

  3. Build your own reporting dashboards. Create a dashboard, add any report as a widget, rename and resize widgets by dragging their edges, and pick exactly which columns each widget shows. Widget column choices persist, renames handle concurrent edits, and deletions ask before they act.

  4. Charts, not just tables. Reports can now be rendered as charts with chart-type-specific settings, including histograms with proper binning and number formatting, inferred axes and a settings panel that only shows fields relevant to the chart you chose.

  5. Export a dashboard or a single widget. Dashboards and individual widgets can be exported as images for board packs and investor updates.

  6. Meter sync and history on invoice items. Invoice items backed by a meter now expose a sync action and their sync history directly from the item’s actions, with the underlying usage rows visible on the item.

  7. Ledger imports read spreadsheets. Ledger files can now be imported from XLSX as well as CSV, the source type is recorded in the import metadata, and a pre-flight pass validates the file before the import loop starts.

  8. User and role management from the AI agent. Enso AI can now manage users and roles, and the tools it is offered are filtered by the calling user’s own permissions, so the agent can never do more than the person driving it.

  9. Reporting currency across period reports. Period pivots now convert through your organisation’s reporting currency, with FX rates applied per period rather than a single blended rate.

Improvements#

  1. Saved filters now use optimistic concurrency control, so two people editing the same filter no longer silently overwrite each other, and filter configurations are size-capped.

  2. A single flattened permission set is now available for the signed-in user, which the interface and the AI agent both read from, replacing scattered raw policy checks.

  3. Actions taken by the AI agent are now tagged at source with their origin and shown in the audit trail as “agent”, so you can always tell what a person did and what the agent did.

  4. Risk score recalculation now batch-fetches existing rows rather than reading them one at a time, which makes recalculating a large customer base noticeably faster.

  5. Dunning templates now separate policy-level variables from invoice-level variables, so it is clear which values are available where.

Fixes#

  1. Standard attribute filters are now scoped correctly when creating an entity, so a new record no longer inherits filters from an unrelated context.

  2. Fixed a crash when the audit trail tried to render a change whose value was an object, such as updated bank details.

  3. Dunning minimum-amount thresholds are now compared against the outstanding balance in your reporting currency, not the invoice currency.

  4. Dunning exception filters are now validated against the real query grammar when the policy is saved, instead of failing later at send time.

  5. The AI agent’s stateless login cache and its retry error messages were corrected, so a refreshed retry no longer repeats the same error detail twice.

v1.32.0

Dunning policies, ledger imports and the first reporting charts

Collections & Dunning Data Import & Migration Reporting & Dashboards Revenue Recognition Order-to-Cash Engine Enso AI Agent

Getting your existing books into a new system is usually the worst part of adopting one. This week was largely about making that painless.

Ledger imports now run as a proper pipeline: download a template, upload your file, and Enso resolves the taxes, links the invoices and applies the payment history that came with them. Alongside it, dunning became configurable rather than fixed, and reporting learned to draw charts.

Customize buckets & templates Channel: Email
Low risk Medium risk High risk
Reminder ladder
+7 days
Firm Follow-Up Fires on entering the bucket
+14 days
Firm Follow-Up (resend) Same invoices, one more nudge
+21 days
Payment Plan Offer Offers short-term terms before it escalates
Exceptions
ConditionAction
Invoice disputedSkip & flag for review
Promise-to-pay date setPause until that date

New features#

  1. Configurable dunning policies. Define your own reminder ladders, with rungs, thresholds and exception rules, and manage them like any other record. Overdue invoices are classified against the policy you configure, rather than a fixed schedule.

  2. End-to-end ledger imports. Download a formatted template, upload your completed file, and a background import job processes it row by row. Taxes are resolved or created against the right tax profile, invoices are linked to the records they belong to, and any payment history that arrived with a backfilled invoice is applied to it.

  3. Charted reports. Reports can now be rendered as charts rather than only tables, built on a new period pivot that groups your data into periods along one axis, with the visualisation controls to switch between views.

  4. A usage variance report. A dedicated page and reporting object for comparing metered usage against what was billed, so discrepancies surface before your customer finds them.

  5. Currency-aware financial attributes. Financial values are now stored and displayed as an explicit currency amount tied to their own currency, replacing the previous free-form numeric handling across revenue and reporting.

  6. Update records through the AI agent. Enso AI gained a general entity-update capability, so it can amend records rather than only reading and creating them.

Improvements#

  1. Manual revenue now takes a single period rather than a start and end date pair, which removes an entire class of mismatched-range mistakes.

  2. Audit history is now available on invoice items, and quantity changes render properly in the audit trail rather than appearing as an empty change.

  3. Saved filters can now be updated in place instead of being deleted and recreated.

  4. Invoice actions such as cancel, delete and add comment now live in a single more-actions dropdown, and invoice totals moved into one shared totals card used consistently across the product.

  5. Errors returned by the backend are now surfaced to the AI agent with their actual reason attached, instead of a generic failure.

Fixes#

  1. Access tokens issued through the refresh grant now carry the same audience and issuer claims as the original, so a refreshed session is validated identically to a fresh one. Token verification now also requires an expiry, and concurrent refreshes are deduplicated instead of racing.

  2. The deferred revenue report no longer drops discount lines, which previously understated the deferred balance.

  3. Manual billed revenue can no longer be recorded against an invoice that has not been raised.

  4. Documentation and AI agent connection URLs are now resolved at build time, so they point at the right environment.

v1.31.0

Automated dunning reminders lead this week's release

Billing & Contracts Invoicing & Templates Revenue Recognition Compliance & Audit Enso AI Agent

Chasing overdue invoices is nobody’s favourite job, so we built something to do it for you.

This week’s release is headlined by automated dunning reminders: overdue invoices are now grouped by risk, wrapped in a branded email your customers will recognise, and sent without anyone on your team lifting a finger. It’s rolling out to our design partners shortly, with a full blog post on how it works to follow next week. For now, here’s everything that shipped.

New features#

  1. Automated dunning reminders, the standout release this week, rolling out to our design partners shortly. Overdue invoices are grouped into ageing buckets, such as low, medium and high risk, and customers receive a branded reminder email showing exactly what’s outstanding: line items, amounts and full payment history. Your team spends less time chasing and more time collecting.

  2. Branded email templates for every message you send. Alongside dunning, you can now design and preview your own templates for invoices, welcome emails and password resets, and set an organisation-wide default so every email looks like it came from you.

  3. A rebuilt contract experience, start to finish. Adding stakeholders, uploading files, setting pricing and milestones, and moving a contract through its lifecycle now happens in one connected flow.

  4. Enso AI can now build your invoice templates for you. Ask Enso AI to create, update or preview an invoice template and it does the work directly, no need to hand-build one yourself.

  5. A new foundation for connecting your books. Incoming ledger data is now automatically normalised and matched against your existing customers, products and records, the groundwork for reconciling data from the ERPs.

  6. A more personal touch in the sidebar, with your organisation’s name and logo right where your team navigates every day.

Improvements#

  1. Template changes are now checked against your organisation before they save, so edits always land in the right place.

  2. Contract actions and file uploads now share the same polished components throughout, for a more consistent feel.

  3. Backfilled billing data now flows through the same core billing logic as everything else, keeping historical records consistent.

Fixes#

  1. Usage-based pricing plans now hold onto their billing frequency correctly and validate against the pricing schema.

  2. Enso AI’s approval flow is more resilient. Abandoned approvals no longer leave a conversation stuck, and the composer pauses while one is pending.

  3. Fixed a bug where clicking duplicate quickly on a contract could silently do nothing.

  4. Invoice template tables and configuration now display and save correctly, so partial edits no longer wipe out unrelated fields.

v1.30.0

MCP OAuth 2.0 authorisation, contract milestone audit trails and payment summary stat cards

Order-to-Cash Engine Billing & Contracts Revenue Recognition Compliance & Audit

New Features#

  1. Model Context Protocol (MCP) OAuth 2.0 authorisation:

    • Added OAuth 2.0 authorisation code sign-in flow for MCP clients (such as Claude Desktop and Cursor AI tools), allowing finance teams to securely connect external AI workspace agents into Enso.
    • Integrated persistent MCP configuration and developer documentation links directly into the product header.
  2. Contract milestone audit trails with file attachments:

    • Upgraded contract milestone and payment tracking grids to record complete historical audit trails, support file attachment columns, and track custom attributes.
  3. Entity detail audit logs:

    • Enabled entity-level audit logs on organisation detail pages to track structural changes to legal entities and billing rules.

Improvements#

  1. Payment summary stat cards:

    • Redesigned payment summary views into bordered stat cards for clearer high-level treasury visibility.
  2. Shared authentication forms:

    • Consolidated security credential forms across login and authorisation pages for multi-region teams.

Fixes#

  1. Invoice template blank-state validation:

    • Enforced validation to block saving contracts when the invoice template identifier is blank, preventing contract templates from being cleared during background refreshes.
  2. Local contract save error handling:

    • Enhanced error handling during contract modification saves to prevent local state loss during network interruptions.
  3. Numerical and date value parsing:

    • Corrected field order sorting on payments and prevented numerical metrics from being misclassified as date fields.