September 2026 Product Release
Applies to: All Maxio modules
Last updated on Oct 6, 2026
Maxio released the following updates and new features during September 2026. Maxio adds new entries to this list throughout the month as features become available.
Accounting
New Round() function for SSP and carve out formulas
SSP and carve out formulas can now call Round(value, decimals) to round an intermediate calculation to a set number of decimal places, which formulas previously had no way to do. The function works in any capitalization (Round, round, ROUND) and accepts 0 to 28 decimal places. (Released: 15 September 2026)
Learn more
- Why it matters:
- Formulas that need a specific rounding precision partway through their math — for example, rounding a per-unit price before multiplying it back out — can now do that explicitly and auditably at the formula level.
Round(...)affects intermediate math only; Maxio still rounds each item's final allocation amount to the nearest cent. - Where to find it:
- Open a Standalone Selling Price (SSP) list's Entries table under Admin > Advanced Revenue > SSP Lists. Use
Round(value, decimals)inside an SSP Formula field or a carve out configured as Formula; the function also appears under Functions in the formula helper's picker.
Auto-convert semicolon-delimited emails to commas during import
Import files for Customers, Contracts, Vendors, and QuickBooks profiles can now separate multiple email addresses with either commas or semicolons; Maxio converts semicolons to commas automatically before the row imports. Previously, a semicolon-separated value passed import validation but could be silently mishandled afterward, since some downstream processes only recognized commas. (Released: 9 September 2026)
Learn more
- Why it matters:
- If your source system or spreadsheet habit separates multiple email addresses with semicolons, you no longer need to manually reformat that column before importing, or risk an import that reports success while quietly storing the wrong value.
- Where to find it:
- No setup needed. The conversion applies automatically to any email or email-list field mapped during a Customer, Contract, Vendor, or QuickBooks profile import — for example, a Customer's Email, CC Email, or Escalation Email column.
Contract number uniqueness help and duplicate detection in the contract importer
The Contract importer's field-mapping page now shows a tooltip beside Contract Number explaining that it must be unique account-wide, and the import now rejects any row whose Contract Number repeats an earlier row in the same file, naming the value and the line it first appeared on. (Released: 9 September 2026)
Learn more
- Why it matters:
- Contract Number is easy to confuse with a Customer Number or another repeating value, and mapping it that way always failed the import — previously only after the first matching row had already been created, with a generic error that didn't say which row or value caused it. The tooltip and the new error catch this before you run the import and pinpoint the exact row if it slips through.
- Where to find it:
- On the Contract importer's field-mapping page, hover the info icon beside Contract Number for the uniqueness requirement. If a Create or Create & Update import file contains a repeated Contract Number, the offending row's error names the value and the line where it first appeared.
Choose which columns display in the invoice detail page's Invoice Line Items table
The Invoice Line Items table on the Invoice detail page now has its own Columns selector, so you can show, hide, and reorder the columns it displays independently of the standalone Invoice Line Item List. This replaces a fixed, un-configurable set of columns. (Released: 14 September 2026)
Learn more
- Why it matters:
- You can trim the Invoice Line Items table down to only the columns relevant to your workflow, and put them in the order you want, without leaving the Invoice detail page.
- Where to find it:
- On any Invoice's detail page, click the Columns icon in the Invoice Line Items table's caption to open the column selector. Your choices are saved per user and are separate from your Invoice Line Item List column preferences.
Redesigned merge payments dialog shows payment status and source
The Merge Payments dialog you open from an invoice or from the Mergeable Duplicate Payments report has been redesigned: it now shows each duplicate payment's status and source, and replaces the previous per-row Merge button with a single selection and Merge Payments action. (Released: 14 September 2026)
Learn more
- Why it matters:
- You can now see at a glance why a payment is or isn't offered as a merge candidate, since its status and source are shown directly on each row, and a single, always-visible Merge Payments action makes merging easier when there are several candidates to scroll through.
- Where to find it:
- Open an invoice, hover over Payments, and select Merge Payments — or go to Issues > Mergeable Duplicate Payments and choose Open Details on a row. Select a candidate payment and click Merge Payments.
NetSuite deposit cashback mapping now applies to deposit other lines
NetSuite Send Deposits previously applied your configured Department, Class, or Location mapping only to Deposit Cashback (fee) lines and the deposit header. It now applies the same mapping to Deposit Other lines as well. (Released: 14 September 2026)
Learn more
- Why it matters:
- If your NetSuite role requires a Department (or Class/Location) value on every deposit line, deposits containing unassociated funds no longer get rejected by NetSuite — Maxio now sends the same value on the Deposit Other line that it already sent on the Cash Back and header lines.
- Where to find it:
- Automatic for NetSuite Send Deposits syncs that already have a Department, Class, or Location mapping configured under Settings for Deposit Cashbacks. No new configuration is needed.
Fixed false Intacct home-currency mismatch warning for multi-base-currency companies
Sage Intacct companies with Multiple Base Currencies enabled no longer see an incorrect "Home Currencies in Maxio and Intacct Do Not Match" warning, as long as Maxio can determine the base currency. Maxio now reads it from the specific Intacct entity the integration is configured against, instead of a company-level field Intacct leaves blank for these companies. (Released: 17 September 2026)
Learn more
- Why it matters:
- Previously, any multi-base-currency Intacct company saw this mismatch warning on the Intacct Settings and Home pages regardless of whether its currencies actually agreed, since Maxio was comparing against a value Intacct always leaves blank for these companies. The warning now appears only for a genuine mismatch — or when Maxio can't determine the entity's base currency at all, which leaves nothing to compare against.
- Where to find it:
- Intacct Settings and Intacct Home pages, in the sync warnings section. Applies automatically on the next Get Settings sync; no configuration change is needed. If the configured entity's currency can't be determined — for example, because the Intacct user configured for the integration doesn't have access to that entity — Get Settings logs a warning and leaves the currency unresolved rather than halting the sync.
Standalone Adyen platform fees now post to the correct GL fee account
Standalone Adyen platform-fee payout lines, such as a monthly gateway access fee, now sync to your general ledger as fee lines against your configured fee account, instead of as unassociated deposit lines against your Unassociated Payments Account. (Released: 17 September 2026)
Learn more
- Why it matters:
- Previously, these fees landed in your Unassociated Payments Account instead of your fee account, so the deposit reached your books misclassified and had to be corrected manually. They now post to the right account on their own.
- Where to find it:
- Automatic for Send Deposits syncs on Maxio Payments accounts using Adyen, in both NetSuite and QuickBooks. No configuration change is needed. In NetSuite the fee is consolidated into the Cash Back entry; in QuickBooks it posts as its own fee line on the deposit.
List exports now match the list's current sort and display labels
CSV and Google Sheets exports from any sortable list now come out in the same order as the on-screen sort, instead of falling back to the underlying table's default order. Exports from the Items, Payment Lines, and Maxio Data Issues lists also now show the same display labels the list page shows, instead of the raw stored values. (Released: 15 September 2026)
Learn more
- Why it matters:
- Previously, sorting a list and exporting it could return rows in an unrelated order, and several columns exported raw stored values instead of the label shown on screen — the Items list's Item Category, Source, Transaction Start Date, and Transaction End Date; Payment Lines' Type, Source, and Payment Status; and the Maxio Data Issues list's Action. An export could show
chargifywhere the list showedAdvanced Billing, or11772where it showedBusiness Software, so the file could mislead you on both the order and the values it contained. Both now match what you see in the list. - Where to find it:
- No setup needed. Sort any list with a Download export option — for example, Admin > Items, a Payment's Payment Lines list, or the Maxio Data Issues list — then choose a CSV or Google Sheets export; the file's row order and column labels now match the list. Applies to both immediate and background (email-delivered) exports.
Import results now report "Partially Succeeded" instead of a misleading "Failed"
An import run that created some records but also had rows fail now shows as Partially Succeeded rather than an outright Failed, and this also covers a background import that crashed partway through after already creating records. The result detail page now shows the Total, Successful, and Failed row summary whenever that information is available, instead of only for a fully successful import. (Released: 15 September 2026)
Learn more
- Why it matters:
- Previously, an import that created records could still read as "Failed" if any row failed, or if a background task errored after importing rows — so you couldn't tell from the status alone whether anything had actually been created, and could spend time troubleshooting an import that had already succeeded in part. The status and the row summary now reflect what actually happened.
- Where to find it:
- Run any import from the Admin > Import options. The outcome shows on the confirmation screen and in the Results log, where you can also filter by the new Partially Succeeded status. Click a result's status to see the field mapping and the Total/Successful/Failed row summary.
Xero item sync no longer halts on a missing GL account
A Xero Product with no Account assigned no longer stops an entire Xero sync. The item still imports without a GL account, and the rest of that sync run — every other item, invoice, and so on — completes normally. (Released: 15 September 2026)
Learn more
- Why it matters:
- Previously, a single unassigned Product in Xero halted the entire sync with a generic message that didn't say which item was the problem — for a new customer, this could block the Xero onboarding wizard entirely until the offending item was found and fixed in Xero. Now only that item is flagged, and everything else in the run proceeds.
- Where to find it:
- The affected item shows a warning on the Item list and its Item detail page: "This Item was imported from Xero without a GL Account. Assign an Account to it in Xero and re-sync to include it in GL Accounting sync." Assign an Account to the corresponding Product in Xero and re-sync to clear the warning; Maxio picks up the Account automatically.
New admin page for uploading CSV files
Adds an Upload CSV Files page to the Admin menu's Import section, where admins can upload CSV files and manage previously uploaded ones: filter and sort the list, download a file, and delete files one at a time or in bulk. (Released: 23 September 2026)
Learn more
- Why it matters:
- You can keep uploaded CSV files in one place, download them again later, and clean up the ones you no longer need.
- Where to find it:
- Open the Admin menu, go to the Import section, and click Upload CSV Files. The link appears for admins when file import is enabled on your account. Drag one or more CSV files onto the upload area or click it to browse. The list shows Available files by default. Use the Status, Created Date, and Created By filters to find a file, and click a file name to download it.
Pick an already-uploaded CSV file when running an import
The Select Object and File step of every import (Create, Update, Create and/or Update, Delete, and the additional importers) now offers a File Source choice: select a CSV file you already uploaded on Upload CSV Files instead of uploading a new one, or still upload one inline as before. (Released: 23 September 2026)
Learn more
- Why it matters:
- A CSV file you uploaded ahead of time on Upload CSV Files can go straight into an import, so you no longer have to download it and upload it again on the import step. Each uploaded file can be used by one import. After an import uses it, the file no longer appears in the list.
- Where to find it:
- On the Select Object and File step of any import under Admin > Import, the File Source option defaults to Select an uploaded CSV file: pick the file from the searchable Uploaded CSV File drop-down, or click Manage Uploaded CSV Files next to it to check what's available. Choose Upload a file for this import instead to upload a new CSV from your computer.
Standalone Adyen platform fees now actually post to the correct GL fee account
The September 17 fix for this didn't take effect in production: Adyen gateway access fees kept posting to your Unassociated Payments Account. They now correctly post as fee lines against your configured fee account, in both NetSuite and QuickBooks. (Released: 23 September 2026)
Learn more
- Why it matters:
- The September 17 announcement said this was already fixed; it wasn't. If you use Maxio Payments with Adyen, a monthly gateway access fee could still have been landing in your Unassociated Payments Account instead of your fee account since then, needing a manual reclassification each period. That's corrected now, with nothing to change on your end.
- Where to find it:
- Automatic for Send Deposits syncs on Maxio Payments accounts using Adyen, in both NetSuite and QuickBooks. No configuration change is needed. In NetSuite the fee is consolidated into the Cash Back entry; in QuickBooks it posts as its own fee line on the deposit. A payout that already synced under the old, incorrect classification isn't repaired automatically — it corrects the next time that payout re-syncs from Adyen.
NetSuite customer sync no longer fails on unlinked duplicate customers
Previously, if an older, unlinked Customer in Maxio Core shared a NetSuite record's code or name, the NetSuite customer sync could update that unrelated Customer instead of the one already linked to NetSuite, and saving the NetSuite ID onto it could fail the entire Get Customers sync step. The sync now always updates the linked Customer and leaves the unlinked duplicate alone. (Released: 24 September 2026)
Learn more
- Why it matters:
- If your account has an older, unlinked Customer in Maxio Core sharing a NetSuite customer's code or name — for example, from a rename or a duplicate created before linking — your NetSuite customer sync no longer halts entirely because of it. The correct, linked Customer is updated and the sync completes.
- Where to find it:
- Automatic for the NetSuite integration's Get Customers sync step. No configuration change is needed.
New admin page for storing reference files
Adds a Reference Files page to the Admin menu's Utilities section, where you can upload and manage supporting files of any type — a rate card, a signed agreement, a spreadsheet of notes — that are never used as an import source. (Released: 23 September 2026)
Learn more
- Why it matters:
- You can keep supporting files your team needs on hand directly on your account, instead of in email or a shared drive, and clean them up later without affecting anything used in an import.
- Where to find it:
- Open the Admin menu, go to the Utilities section, and click Reference Files. Drag one or more files of any type onto the upload area or click it to browse. The list shows Available files by default, with the same filter, sort, download, and delete behavior as Upload CSV Files.
Insights
Report and export result emails now have clearer subjects and formatting
Scheduled report emails and the report-run and export-completion notification emails now use a shared template: subjects name the report and whether it succeeded or failed, and the body is a clean, legible layout. (Released: 15 September 2026)
Learn more
- Why it matters:
- You can tell whether a scheduled report or export succeeded or failed straight from the email subject line, without opening it. The body now has clearly labeled "View report" and "Download export"/"Open export" links, and a scheduled report email names who set up the schedule and how often it runs — previously that email arrived as one run-on line with the report name linked twice.
- Where to find it:
- Automatically, in the emails Maxio sends for a scheduled report run and for report-run and export completions. No configuration is needed; only the email content and subject line changed.
Chart output on the Finance Summary Report no longer shows an extra table
Selecting a chart Output Format on the Finance Summary Report now shows only the chart, not the chart plus the full computations table. The same charts also now render when you add this report to a Dashboard V2 region, instead of falling back to a bare table. (Released: 14 September 2026)
Learn more
- Why it matters:
- You see exactly what you asked for when you set the report to display as a chart, without scrolling past a table you didn't select. Adding the report to a Dashboard V2 region now shows the same chart widgets you see when viewing the report directly, instead of an unexpected table.
- Where to find it:
- Go to Reports > Finance Summary, set Output Format to any chart type, and run the report -- no table appears beneath the chart. Add the Finance Summary Report to a Dashboard V2 region to see the same charts there.
Choose a revenue book for the contract summary report
The Contract Summary report can now source its revenue figures from a specific Revenue Book instead of always using each Contract's Main Revenue Book, which blends legacy and Advanced revenue together. (Released: 14 September 2026)
Learn more
- Why it matters:
- Previously, separating legacy from Advanced revenue in this report meant manually filtering and reviewing Contracts one by one, which risked misclassifying figures. Selecting a Revenue Book removes that manual step and keeps legacy and Advanced revenue cleanly separated.
- Where to find it:
- Open the Contract Summary report builder (Reports > Add Report > Finance Reports > Contract Summary) and use the new Revenue Book dropdown. It only appears when Advanced Revenue is enabled for your account, and defaults to [Contract Main Book] so existing reports keep their current figures until you choose a different book.
The count report now uses the redesigned report viewer
The Count report has moved to Maxio's newer, generic report viewer, joining several other Analytics and Finance reports that already made this move. This replaces the report's older, report-specific rendering, and it is the last report converted as part of this ongoing project. (Released: 14 September 2026)
Learn more
- Why it matters:
- The Count report now supports Unified CSV export, so it can be included in automations and integrations that rely on that export format, something it could not do before. You also get clickable customer links and a chart view showing the report's totals and period-over-period change, consistent with other recently-updated reports.
- Where to find it:
- Open Analytics → Count Report. Choose a chart output type to see a totals chart and a change chart in place of the table, or choose Unified CSV from the export format options. Customer detail rows in the report are now clickable links to the customer record. Item Groups now each display as their own section instead of a leading column.
Multi-part exports no longer get permanently stuck
A multi-part export, such as a large Transactions Report export, could occasionally stall in a running state indefinitely and never finish — most often after a retried part had already been written but wasn't counted toward completion. Advanced Billing now tracks each completed part exactly once, so these exports reliably reach completion even after a retry or an interrupted job. (Released: 18 September 2026)
Learn more
- Why it matters:
- If you regularly run very large exports — for example, a Transactions Report spanning years of activity — you no longer risk that export sitting in a processing state forever, showing no error and producing no file to download.
- Where to find it:
- Automatic. Exports still run from wherever you start them today, and completed files still appear on the Downloads (Exports) page; no configuration change is needed. This only affects how reliably a large, multi-part export reaches a finished state.
Invoice email activity columns now include Advanced Billing sends
For accounts using Invoicing Suite, the Invoice: Last Emailed, Last Opened, and Last Clicked columns in List Builder now include email activity synced from Advanced Billing, not only from e-Bill, and are offered for the first time on accounts that use Invoicing Suite without e-Bill. (Released: 24 September 2026)
Learn more
- Why it matters:
- Accounts that send invoice emails through Invoicing Suite previously saw no send, open, or click history for those emails in List Builder, even when the columns were offered. Now those accounts can track invoice email engagement without enabling e-Bill. An account with history in both systems sees the more recent of the two timestamps for each column.
- Where to find it:
- Reports > Add Report > Analytics Reports > List Builder. Choose Invoice as the Base Object, then add Invoice: Last Emailed, Invoice: Last Opened, and Invoice: Last Clicked to Selected Fields.
Multi-part export completion fix now fully effective
The September 18 fix for multi-part exports getting stuck in Processing had a defect of its own that could leave some exports stuck the same way. That defect is now fixed, and multi-part exports of any size reliably reach completion. (Released: 23 September 2026)
Learn more
- Why it matters:
- If you regularly run exports that split into many parts, you can now trust that they will finish rather than sit in Processing indefinitely with no error and no file to download.
- Where to find it:
- Automatic. Exports still run from wherever you start them today, and completed files still appear on the Downloads (Exports) page; no configuration change is needed.
Billing
Setup fee preserved when voiding an advance invoice
Voiding an advance invoice on a subscription with multi-frequency billing, a trial, and a setup fee charged after the trial no longer causes that setup fee to be silently dropped from future billing. The recreated billing schedule now keeps the fee's original charge type, so it bills correctly once the trial ends. (Released: 11 September 2026)
Learn more
- Why it matters:
- Previously, issuing and then voiding an advance invoice on this type of subscription — a normal, unprivileged action — could permanently remove the setup fee from the customer's billing with no error or warning, resulting in lost revenue that was easy to miss until reconciling totals against expectations.
- Where to find it:
- This applies automatically to any subscription on an Invoice Architecture site with multi-frequency billing enabled, a trial, and a product configured with a post-trial initial charge. No configuration change is needed — void an advance invoice from the Subscription Actions menu as usual, and the setup fee now carries forward correctly.
Taxable products with no tax type can now be archived
A Product that is taxable with no tax type set — a state that predates the Products catalog's tax rule — can now be archived. Previously, the save that archives the Product was refused by the same rule, and the archive screen's error message didn't name the reason. (Released: 18 September 2026)
Learn more
- Why it matters:
- Products created before your site turned on the Products catalog can be taxable with no tax type set, since the tax rule requiring one didn't exist yet. That state previously blocked retiring the Product entirely, with the archive screen only saying to check whether it was already archived — which it wasn't. You can now retire these Products without first having to backfill a tax type.
- Where to find it:
- Catalog > open a Product Family > Products tab > open the Product > Archive, or
DELETE /product_families/:product_family_id/components/:component_idvia the API. Editing a live Product to set taxable with no tax type, and un-archiving an archived Product in this state, are both still rejected and require a tax type first.
Google Pay support in the Billing Portal
Subscribers can now add or update a Google Pay payment method for their Subscription in the Billing Portal, alongside the existing Apple Pay option, when Google Pay is enabled and routed to the Maxio Payments gateway. (Released: 14 September 2026)
Learn more
- Why it matters:
- Subscribers on browsers or devices where Apple Pay isn't available — most non-Safari, non-Apple environments — now have a fast digital-wallet checkout option in the Billing Portal instead of typing in card details by hand.
- Where to find it:
- From the Billing Portal, select Update Payment Method. Google Pay appears as a payment method option once your site has Google Pay enabled and routed to the Maxio Payments gateway.
Component price points now reject intervals without multi-frequency
Sending a billing interval on a component price point create, update, bulk-create, or clone request now fails with a clear error when the Site doesn't have multi-frequency enabled, instead of silently saving a price point that never shows up anywhere in the product catalog. (Released: 14 September 2026)
Learn more
- Why it matters:
- Previously, sending an interval to a Site without multi-frequency enabled created a Price Point you couldn't see, attach to a Subscription, or clean up by archiving the Component — the only way out was enabling multi-frequency or resubmitting without the interval. Now the request is rejected up front with the reason, so you find out immediately instead of after the fact.
- Where to find it:
- Any request to create, update, bulk-create, or clone a Component's price points with
intervalorinterval_unitset. It only applies to Sites where multi-frequency billing (line_item_multi_frequencies) is not enabled; Custom Price Points are unaffected.
Insert invoice custom fields into invoice email messages
You can now insert invoice-level custom fields flagged Available on e-Bills as placeholders in invoice email messages from the Message Library, alongside the existing customer custom fields. (Released: 14 September 2026)
Learn more
- Why it matters:
- Invoice data such as a PO number, previously usable only in the Billing Line Item Description Library, can now appear directly in the invoice email itself — no manual copy-paste or workaround needed.
- Where to find it:
- From Admin > Email Message Library, add or edit a message. The placeholder drop-down now includes an Invoice Custom Fields group for any invoice custom field flagged Available on e-Bills and in use; insert its
{invoice_<reference name>}token into the Subject or Body.
Correct seller SIREN in e-invoicing documents for France
French e-invoices sent through the Avalara ELR integration now carry the correct 9-digit SIREN, so documents submitted under the FR-B2B-EINVOICE mandate pass required tax authority validation instead of being rejected. (Released: 15 September 2026)
Learn more
- Why it matters:
- French B2B e-invoices were previously rejected by the tax authority's validation because the seller's or customer's SIREN was missing from the document. Sellers submitting under the FR-B2B-EINVOICE mandate no longer hit that rejection.
- Where to find it:
- This applies automatically to every document submitted under the FR-B2B-EINVOICE mandate through the Avalara ELR integration. No setting change is required.
Corrected UBL element order for NemHandel invoices and credit notes
NemHandel invoices and credit notes now emit UBL header and body elements in the sequence required by the UBL 2.1 schema, matching what the Danish e-invoicing network expects. (Released: 15 September 2026)
Learn more
- Why it matters:
- Documents submitted under the NemHandel mandate previously listed some UBL elements out of schema order, which could cause the receiving network to reject them. NemHandel invoices and credit notes are now structured to schema, reducing the risk of a submission failing validation.
- Where to find it:
- Applies automatically the next time you submit an invoice or credit note under the NemHandel mandate, whether manually from the document screen or through the automatic sync schedule in Config > Invoicing > eInvoicing.
Company registration numbers no longer show as VAT on France e-invoices
A Customer whose only tax identifier is a company registration number, such as a French SIREN, no longer has that number shown as a VAT registration on generated France e-invoicing documents. A genuine VAT number on the Customer record is unaffected and still appears as before. (Released: 15 September 2026)
Learn more
- Why it matters:
- A Customer's e-invoicing documents no longer carry a VAT registration that was never actually assigned, so the party details on France e-invoices reflect only identifiers the Customer genuinely holds.
- Where to find it:
- This applies automatically to any Customer using Tax ID kind Company-Reg No. with no separate VAT number on file — no configuration is needed.
Open invoices no longer rejected by the Nemhandel eInvoicing network
Invoices submitted for eInvoicing now omit the optional Prepaid Amount fields when nothing has been paid or credited yet, instead of sending them as zero. The Nemhandel network read a zero Prepaid Amount as invalid and rejected the document outright. (Released: 15 September 2026)
Learn more
- Why it matters:
- If you route documents to the Nemhandel network under the Avalara ELR add-on, every open invoice was being rejected before this fix, since Prepaid Amount is zero until something is paid or credited. Those submissions now go through automatically, with no change needed on your end.
- Where to find it:
- This applies automatically the next time an invoice is submitted to Nemhandel, whether by clicking Submit to eInvoicing or through a scheduled sync, from the Avalara ELR eInvoicing settings. Partially or fully paid invoices are unaffected — they already sent a Prepaid Amount and still do.
Preserve coupon discounts on metered line items during invoice reconsolidation
Consolidated invoices for Subscription Groups now keep a member's full coupon discount when its metered usage is assessed in a later billing pass, instead of reverting to the earlier, undiscounted amount. (Released: 15 September 2026)
Learn more
- Why it matters:
- If a member Subscription in a Subscription Group has a coupon applied and metered components that get assessed in a second billing pass, the consolidated invoice previously reverted to the discount amount from the first pass and dropped the discount on the metered charges added afterward, which could overcharge the customer. The consolidated invoice now reflects the correct, fully-discounted total.
- Where to find it:
- This applies automatically to consolidated invoices for Subscription Groups whose members combine a coupon with metered/usage-based components. No configuration is needed.
QuickBooks invoice number logo now reflects actual sync status
On the invoice detail page, the QuickBooks Invoice Number no longer shows the QuickBooks logo until the invoice has actually synced to QuickBooks. Previously the logo appeared regardless of sync status. (Released: 15 September 2026)
Learn more
- Why it matters:
- A QuickBooks Invoice Number is assigned when the invoice is created in Maxio, before any sync, but the logo beside it appeared whether or not the invoice had reached QuickBooks. That could lead you to believe the invoice already existed there and stop looking for the real sync failure. The logo now appears only once the invoice has synced, so it's a trustworthy signal again. The QuickBooks ID row under Audit Info remains the outright check — it reads Not Synced until the invoice syncs.
- Where to find it:
- On an invoice's detail page, under GL Details, the QuickBooks Invoice Number row, which is shown when the QuickBooks integration is enabled. This applies automatically; no configuration is needed.
More reliable revenue totals on high-volume sites
Recalculating a site's Total Net Payments and other revenue totals previously competed with every incoming payment for the same cached value, and on sites with a very large number of transactions that contest could repeat for hours or days without ever completing. Maxio now recalculates revenue in smaller batches and lets only the most recently started recalculation publish its result, so it finishes reliably even while new payments keep arriving. (Released: 17 September 2026)
Learn more
- Why it matters:
- If your site processes a high volume of payments, the Total Net Payments and Net Payments Today figures on your Site Dashboard could previously show a stale or blank number for hours or days after a large backlog of activity, while the total was still being recalculated. It now updates reliably no matter how many payments arrive while a recalculation is in progress.
- Where to find it:
- Automatic. The Total Net Payments card on the Site Dashboard, and the revenue totals shown alongside it, are unchanged in how you use them; they simply become accurate and complete more reliably on sites with a large transaction history. No configuration is needed.
Product billing date change rebuilds the schedule when the date matches a component assessment
Changing a Product's billing date on a multi-frequency Subscription now rebuilds its future billing schedule in the case where the requested date matches a Component's already-scheduled assessment date. Previously that case silently skipped the rebuild, so the Product's charge could be missing from the next renewal invoice with no visible error. (Released: 17 September 2026)
Learn more
- Why it matters:
- If you run multi-frequency billing — for example, an annual Product alongside a monthly Component — you can now trust that an explicit Product billing date change carries the Product's future charges forward in this case, instead of occasionally dropping one from the next renewal with nothing to flag it.
- Where to find it:
- Automatic for any Product billing-date change on a multi-frequency Subscription, whether made from the Subscription's Products tab, a bulk billing-date change, or the
PUT /subscriptions/:idAPI endpoint withnext_billing_at. No configuration is needed.
Avalara no longer posts documents for zero-amount prepaid charges
Zero-amount and fully discounted prepaid charges on a settled statement no longer create a tax document in your connected Avalara account, matching how invoices already skip zero-amount documents. (Released: 17 September 2026)
Learn more
- Why it matters:
- If you use Avalara's own-account integration with Post Documents enabled, and any of your Subscriptions bill $0 (for example, a free plan on a short renewal interval), Avalara previously billed you for a document with no tax significance on every renewal, and it appeared in your filed Avalara transaction history. Those documents are no longer created.
- Where to find it:
- Applies automatically to statement-based (non-invoice-centric) billing with Avalara's own-account integration and Post Documents enabled. No configuration change is needed.
Accurate renewal estimate and proforma invoice preview before auto-renewal lock-in
For a Term Subscription with a pending Maxio Core Auto-Renewal configuration, the Upcoming Renewal Notice estimate, the renewals preview, and the term-renewal Proforma Invoice now report the actual upcoming term's recurring charges - with the Renewal Factor applied - instead of an unrelated pending charge or stale, un-uplifted pricing. (Released: 17 September 2026)
Learn more
- Why it matters:
- Before this fix, the estimated renewal amount and the term-renewal Proforma Invoice preview for these subscriptions could show a number well below what the renewal actually billed, and a Proforma Invoice's component lines could show a unit price and subtotal that didn't multiply out correctly. Both now match what actually bills, to the cent.
- Where to find it:
- The Upcoming Renewal Notice email and its estimated renewal amount, the
renewals/previewAPI endpoint, and a Term Subscription's Proforma Invoice preview - for any subscription on a Site paired with Maxio Core with a pending Auto-Renewal configuration, both before and after its Lock-in Date.
Resuming a multi-frequency subscription no longer drops component billing
Resuming a canceled Subscription with multi-frequency billing now restores billing for every allocated Component, including ones using the Component's default price point, instead of silently dropping some from future invoices and renewals. (Released: 17 September 2026)
Learn more
- Why it matters:
- Previously, a Component allocated at its default price point could vanish from a Subscription's billing schedule the moment you resumed it after canceling within the same billing period — with no error, and no way to notice until the Component stopped appearing on invoices and renewal proformas. Resuming now restores every allocated Component's billing coverage, closing a gap that could leave a Customer unbilled for a Component indefinitely.
- Where to find it:
- This applies automatically when you resume a canceled multi-frequency Subscription — from Subscription Actions > Reactivate, choosing to resume the existing billing period rather than start a new one. No configuration change is needed.
Group service credits stay applied after a segment leaves a consolidated invoice
Removing a member Subscription's segment from a consolidated invoice -- through cancellation, reassignment, voiding, reactivation, or banishment -- no longer strips its share of a Subscription Group's service credit from the parent invoice. The credit now stays applied, trimmed to whatever the parent's remaining total can absorb. (Released: 17 September 2026)
Learn more
- Why it matters:
- Previously, removing a credited segment could inflate the consolidated invoice's due amount by the credit amount that segment was carrying, since a group-level credit had no way to be told apart from the segment's own personal credit. Group service credits now stay correctly applied to the parent, so the due amount reflects what's actually owed.
- Where to find it:
- This applies automatically to consolidated invoices for Subscription Groups with an active group-level service credit, whenever a member's segment is removed -- including cancellation, reassignment, voiding, reactivation, or banishment. No configuration is needed.
Correct definitive pricing validation for multi-tier component price points in offers
Creating a termed offer that includes a component priced with volume, tiered, or stairstep pricing no longer fails with an incorrect "does not have all definitive pricing defined" error when every pricing tier is fully priced for the site's currencies. (Released: 17 September 2026)
Learn more
- Why it matters:
- Previously, adding a fully-priced multi-tier component to an offer with a termed product price point could fail validation even though every tier had definitive pricing set for every site currency -- the check counted one row per tier per currency instead of one row per currency, so any price point with more than one pricing tier could never pass. That blocked creating the offer outright, with no workaround short of removing the multi-tier pricing.
- Where to find it:
- In the Offer builder (Catalog > Offers > + Create Offer), when adding a component priced with volume, tiered, or stairstep pricing to an offer that also includes a termed product price point. Requires
line_item_multi_frequenciesandbrighton_v1enabled for the site.
Configure wallet-backed features and grant expiration from the feature catalog
Catalog > Features now lets you back a Limit feature with a wallet — naming it, choosing the Wallet Product and price point it bills through, and setting what happens to usage beyond the balance — and set a grant-expiration policy (never, after a set number of days or months, or when the next refill arrives), directly from the feature's create/edit screen. (Released: 17 September 2026)
Learn more
- Why it matters:
- Previously, wallet-backed features and expiring grants could only be set up by calling the API directly. Now you can configure both from Catalog > Features like any other feature setting, with no integration work required.
- Where to find it:
- From Catalog > Features, create or edit a Limit feature. A Granted units expire control appears alongside the other limit settings, and — on sites with the wallets feature enabled — a new Wallet section lets you back the feature with a wallet. The billing-product picker only lists Wallet Products that already carry an active price point.
Skip reCAPTCHA challenge setting now covers Maxio-hosted pages
The Skip reCAPTCHA challenge setting, shown only for test-mode sites, previously bypassed reCAPTCHA verification only for a merchant's own standalone Maxio.js integration. It now also applies to Maxio-hosted pages authenticated with your site's internal key, including the Billing Portal, Public Signup Pages, and public invoice pages. (Released: 17 September 2026)
Learn more
- Why it matters:
- If you run automated test flows against a test-mode site's Billing Portal, Public Signup Pages, or public invoice pages, reCAPTCHA no longer blocks those flows when this setting is on. Previously it only stopped blocking your own Maxio.js pages, so automation against Maxio-hosted checkout surfaces still hit the challenge.
- Where to find it:
- Config > Settings > Public Page Default Settings, the Skip reCAPTCHA challenge checkbox. It's shown only for sites in test mode and has no effect on a live site.
Wallets are now provisioned automatically from wallet-backed limit features
A subscription that becomes entitled to a wallet-backed Limit feature is now provisioned a funded, self-refilling wallet automatically, with no API call or manual step required. Removing the feature stops funding without touching the wallet's balance, and adding it back resumes funding on the same wallet. (Released: 17 September 2026)
Learn more
- Why it matters:
- Previously, giving every new subscriber a working wallet balance for a wallet-backed limit meant creating the wallet yourself through the API after each subscription started. Now it happens on its own the moment the subscription is entitled to the feature, and switching the feature off and back on preserves the existing wallet and its balance instead of starting over.
- Where to find it:
- Turn on the Wallet toggle on a Limit feature under Catalog > Features, point it at a Wallet Product, and attach the feature to a Plan or Product as usual. The wallet then appears automatically on the subscription's Wallets tab as soon as the subscription is entitled to that feature — no separate setup step is needed. Also new:
GET /walletsandGET /wallets/:idnow returnorigin(manualorfeature) andfeature_key, so you can tell how each wallet came to exist.
Searchable product and plan selector on email settings pages
Email settings that let you send only to certain products or Plans — Signup, Customer Receipt, Cancellation, Card Expiration, End of Trial, Term Renewal, and Prepaid Subscription Payment Receipt/Reactivated/Suspended emails — now use a single searchable, multi-select list grouped under Active products and Archived products, replacing a separate checkbox list on each page. (Released: 17 September 2026)
Learn more
- Why it matters:
- Finding the right product or Plan on a site with a long catalog no longer means scrolling a checkbox list — type to filter, and the selector's button tells you at a glance how many you've selected ("3 products selected," "All products selected").
- Where to find it:
- Go to Config > Settings > Emails, open any of the listed email types, and choose "only the products I choose" (or "only the Plans I choose"). Click the button beneath that option — labeled Choose products until you make a selection — to search and select. On sites that allow productless Subscriptions the groups read Active Plans and Archived Plans; on End of Trial Emails they read Currently offering a trial and Archived products that offered a trial.
Show attribution for activity events
The Activity page and each subscription's Activity tab now have a Show Attribution toggle that reveals who initiated an event — the user or the API key that made the change. (Released: 17 September 2026)
Learn more
- Why it matters:
- Support and admins previously had to dig through the 90-day audit log, and often couldn't correlate it with a specific event, to answer who made a given change. Attribution is now a permanent part of the event itself, so you can trace an unexpected subscription change or a support question back to its source without leaving the Activity view.
- Where to find it:
- Go to Tools > Activity, or a subscription's Activity tab, and click Show Attribution. Available to users with Admin access or higher; a linked user or API key preview appears beneath each event that has one.
Wallet details now show where a wallet came from, and accurate refill-stopped reasons
A subscription's wallet now shows a Source field naming whether it was provisioned from a feature or created manually, and the message shown when a feature-funded wallet's refills stop no longer suggests creating a second wallet for the replacement feature. (Released: 17 September 2026)
Learn more
- Why it matters:
- Provisioned wallets and manually created ones use the same refill schedule shape, so there was previously no way to tell which was which just by looking. The old stopped-refill message also told you to create a new wallet against the replacement feature to resume funding — advice that, now that a replacement schedule is created automatically, would only get your request rejected as a duplicate.
- Where to find it:
- On a subscription's Wallets tab, open a wallet to see its Source row on the Details card. If its refills have stopped, the reason shown beneath the status tag now names the specific cause and, where one applies, what to do about it.
Metered wallet usage now posted to the ledger
A wallet paired with a meter now gets a durable ledger entry for its usage whenever a grant is fully depleted, a grant expires, or its recurring usage window closes — instead of that usage staying a display-only preview of the balance. (Released: 17 September 2026)
Learn more
- Why it matters:
- A metered wallet's shown balance already reflected reported usage in real time, but until now that usage was never posted to the ledger itself, so the wallet's grant-by-grant breakdown could keep showing more remaining balance than the wallet actually had left, with no record of when the underlying usage was drawn down. Usage is now committed to the ledger on the same events that already matter to a wallet — a grant running out, a grant expiring, or its usage window closing — so the breakdown and the ledger catch up with what the balance already showed, and support has an auditable record of exactly what consumed each grant.
- Where to find it:
- On a subscription's Wallets tab, open a metered wallet and view its Ledger — new entries from this settlement appear alongside existing grant, adjustment, and expiration rows. A wallet configured to discard usage past zero also now shows a note below its ledger explaining that usage recorded while the wallet was empty stays in the meter and isn't shown there, even after a later top-up.
Fixed prepaid receipt emails falling back to the standard template
Receipt emails sent with a PDF invoice attached now reliably send even when the invoice is slow to finalize, and a Prepaid Subscription's receipt always uses the prepaid-specific template instead of occasionally falling back to the standard receipt email. (Released: 18 September 2026)
Learn more
- Why it matters:
- Customers on Prepaid Subscription billing now get the receipt email that actually reflects their prepaid plan instead of sometimes receiving the standard receipt, and any customer whose invoice takes longer than a few seconds to finalize is now guaranteed to get a receipt (without the PDF) shortly after, rather than the email being silently stuck.
- Where to find it:
- No action needed — this applies automatically. The PDF attachment itself is controlled by the single Attach paid invoice PDF to receipt emails checkbox in the Customer Receipt Emails section, under Config > Settings > Emails; the Prepaid Subscription Payment Receipt Emails section has no PDF control of its own.
Entitlements now resolve on subscription migration and reactivation
Migrating a subscription to a new plan or price point, and reactivating a subscription that was cancelled, now re-resolve the subscription's entitlements. Resolution previously ran on subscription creation, component allocation, and several other lifecycle events, but not on these two paths. (Released: 21 September 2026)
Learn more
- Why it matters:
- Usage-limit wallets are funded from the resolved entitlement, so migrating to a plan with a different allowance, or reactivating a subscription whose plan changed while it was cancelled, previously left the wallet funded at the old amount instead of the new plan's allowance — an upgrade delivered no extra units, a downgrade kept topping up at the old rate, and moving onto a plan without the feature never stopped the wallet schedule.
- Where to find it:
- Automatic on sites with Entitlements enabled, for any product migration (Subscription Actions > Upgrade/Downgrade, the Billing Portal's plan-change flow, or the Migrations API) and for any reactivation (Subscription Actions > Reactivate Subscription, or the API). Changing a plan without proration through Change Plan already re-resolved entitlements and is unchanged. The updated allowance appears on the subscription's Entitlements tab and drives its Wallets tab funding; no configuration change is needed.
Calendar billing subscriptions can now bill components on a multi-month interval
Subscriptions with Calendar Billing enabled can now use Components billed on any month-based interval, such as quarterly or every 4 months, instead of being limited to a Component billed exactly every month. Each Component's billing periods still snap to the Subscription's Billing Day, spaced by its own interval. (Released: 21 September 2026)
Learn more
- Why it matters:
- Previously, a Component with a billing interval longer than one month — for example, a quarterly maintenance fee — couldn't be allocated to a Calendar Billing Subscription or included when one was created: the attempt failed outright with a validation error, forcing you to either drop Calendar Billing or bill that Component monthly instead. You can now keep a predictable, calendar-aligned billing date for the whole Subscription while still billing individual Components on their own longer cadence.
- Where to find it:
- Allocate a Component whose Price Point has a billing interval of more than one month — for example, an interval of 3 months — to a Subscription with Calendar Billing enabled (a Billing Day set), from the Admin UI or the API. The same Component can also be included when the Subscription is created, from the Admin UI, a Public Signup Page, or the API. Requires multi-frequency billing (
line_item_multi_frequencies) enabled for the Site; a Component whose Price Point bills in days, such as a weekly cadence expressed as 7 days, still can't be used on a Calendar Billing Subscription, whether allocated or included at signup.
New invite accepted date in Billing Portal Status
The Subscription page's Billing Portal Status section now includes an Invite Accepted row, showing the date a customer accepted their Billing Portal invitation. It reads Not Accepted if they haven't accepted yet, or if their portal access was revoked. (Released: 21 September 2026)
Learn more
- Why it matters:
- Previously, the Subscription page showed when a customer was added to the Billing Portal and when their last invite was sent, but not when they accepted it — that date was available only on the Customer record over the API. It is now visible directly on the Subscription's own page, next to the related Added To Portal and Last Invite Sent dates.
- Where to find it:
- Open a Subscription's detail page and look at the Billing Portal Status section. The new Invite Accepted row appears below Last Invite Sent, showing the accepted date or Not Accepted.
Wallet refills for trial subscriptions now land on the billing date
A wallet backing a Limit feature on a Subscription that starts on a trial now funds the full trial period at provisioning, and every recurring refill after that lands on the Subscription's billing date instead of the date the trial started. (Released: 22 September 2026)
Learn more
- Why it matters:
- Previously, a wallet-backed feature's refill schedule was anchored to the billing period's start, which for a trial Subscription is the trial's signup date rather than a real billing date. The wallet kept refilling on the signup date indefinitely, even after the trial converted and the subscriber was being billed on a different date. The schedule is now anchored to the period's end, so the trial period is funded in full up front and every later refill matches the date the subscriber is billed.
- Where to find it:
- On a Subscription's Wallets tab, open a wallet that was provisioned during a trial. Its next refill date now matches the Subscription's billing date rather than the original trial signup date.
Customer-managed AutoPay enrollment for the Billing Portal
Accounts on the Advanced Billing AutoPay path can now let end-customers manage their own AutoPay enrollment from the Billing Portal, once Maxio turns on the new Enable Customer-Managed AutoPay Enrollment account setting. (Released: 22 September 2026)
Learn more
- Why it matters:
- Previously, the Advanced Billing path supported only Disabled or Automatically Enroll for AutoPay, so a merchant couldn't let an individual Customer opt themselves in or out from the Billing Portal without switching to the separate e-Bill AutoPay path. Customers can now enroll or unenroll for AutoPay themselves, and Maxio shows their actual choice.
- Where to find it:
- Once Maxio turns on Enable Customer-Managed AutoPay Enrollment for your account, choose Manually Enroll in a Customer's Autopay Enrollment field. That Customer's actual enrollment then shows as Enrolled, Available, Auto-Enrolled, Auto-Enrolled (Pending), or Disabled, both on the Customer's detail page and in the Customer list.
AutoPay now requires acceptance for manually enrolled Advanced Billing customers
A Customer set to Manually Enroll for Advanced Billing AutoPay is no longer charged by cadence emails, retry-payment actions, or agent outreach until they have explicitly accepted AutoPay. Automatically Enrolled Customers are unaffected. (Released: 22 September 2026)
Learn more
- Why it matters:
- Previously, setting a Customer to Manually Enroll was treated as enrollment on its own, so collections could charge them automatically before they ever accepted AutoPay. Acceptance is now required, so a Customer keeps control over when automatic collection actually starts, closing the gap between being eligible for AutoPay and being enrolled in it.
- Where to find it:
- Applies automatically to any Customer whose Autopay Enrollment is set to Manually Enroll, an option available once Enable Customer-Managed AutoPay Enrollment is turned on for your account, and who has not yet accepted AutoPay from the Billing Portal. No configuration is needed to get the corrected behavior.
Service credit memo now persists when applied through the API
Applying a Service Credit to an invoice through the API now saves a supplied memo onto the resulting Credit Note, instead of silently dropping it. (Released: 23 September 2026)
Learn more
- Why it matters:
- Integrations that apply Service Credits through the API, for example during an ERP migration or an automated billing workflow, can now set a custom memo that reaches the Credit Note. Previously the Credit Note always showed the original credit's memo or "Credit balance applied", no matter what memo the request sent.
- Where to find it:
- Send
POST /invoices/:invoice_uid/paymentswithtypeset toservice_creditand apayment[memo]value. The memo appears on the Credit Note created from the applied credit, in Credit Note History, and in the API response. If no memo is supplied, the Credit Note keeps the consumed credit's own memo, or falls back to "Credit balance applied". On consolidated invoices, the applied credit now shows the consumed credits' memos instead of always "Credit balance applied".
Subscription CSV export now uses the subscription's own currency for recurring price
The recurring_price column in the Subscription CSV export now reports the Subscription's own currency, instead of exporting 0.00 (for a custom-priced Subscription) or the Site's primary-currency price (for a catalog-priced Subscription). On a Site whose primary currency is zero-decimal, such as JPY, amounts now scale correctly instead of being divided by 100. (Released: 23 September 2026)
Learn more
- Why it matters:
- If your Site bills in more than one currency, the
recurring_pricecolumn previously showed0.00for any custom-priced Subscription not on your Site's primary currency, and the primary-currency price for any catalog-priced one. That could throw off reconciliation or reporting built on the export. The column now reports the actual price in the Subscription's own currency. - Where to find it:
- Export your Subscription list, or the export of Subscriptions across all Sites for a Seller, and check the
recurring_pricecolumn (Recurring Priceon sites that allow productless Subscriptions). No configuration change is needed; this applies automatically to every export going forward.
Renewed hybrid price points keep their secondary pricing
A renewed hybrid-priced Component, one combining a Primary and a Secondary pricing model, now keeps its Secondary pricing scheme and price brackets on both Auto-Renewal and Scheduled Renewal, instead of losing them and falling back to the Primary model for all usage. (Released: 23 September 2026)
Learn more
- Why it matters:
- Before this fix, a renewed hybrid Component lost its Secondary pricing, so usage above the Primary Model's threshold billed at the top Primary tier rate instead of the Secondary rate, without any error or warning. For a Quantity-based hybrid Component on an Auto-Renewal, the Upcoming Renewal Notice estimate and the term-renewal Proforma Invoice preview also applied the renewal uplift to the line total instead of to each rate. They now match what the renewal bills, to the cent.
- Where to find it:
- Applies automatically to any hybrid-priced Component on a Term Subscription that renews on a Site with Hybrid Pricing enabled, either through a Maxio Core Auto-Renewal configuration or through a Scheduled Renewal configuration where the Component sits on a custom hybrid price point. No configuration change is needed. For Quantity-based Components on an Auto-Renewal, you'll also see the corrected per-unit amount in the Upcoming Renewal Notice estimate and the Proforma Invoice preview before lock-in.
Restricted coupons are now disabled on the subscription create form until a matching item is selected
The Create Coupon form was redesigned on Maxio's design system. On sites that allow productless Subscriptions, the subscription create form's coupon search now disables a coupon restricted to specific Plans or Products, labeling it "Only for specific plans or products", until you've added a Plan or Product it applies to. Previously a coupon was selectable regardless of its Plan or Product restrictions. (Released: 23 September 2026)
Learn more
- Why it matters:
- You could previously add a restricted coupon to a new Subscription even when nothing you'd selected matched its restrictions, so it wouldn't discount any of those items. The coupon now stays disabled and clearly labeled until a matching Plan or Product is on the Subscription, so you find out before you save it.
- Where to find it:
- In the subscription create form's Items section, search the Coupons tab in the Find Catalog Item... box. The Coupons tab appears once a Plan or Product is selected. A restricted coupon that doesn't match anything selected so far shows as disabled with the "Only for specific plans or products" label. Unrestricted coupons are unaffected.
Metered usage and allocation import errors now name the subscription or component involved
When a Metered Usage or Component Allocation import row fails because Advanced Billing can't find a resource, the error message now names the subscription or component involved — or says that the component belongs to a different product family — instead of a generic 404 Client Error. (Released: 23 September 2026)
Learn more
- Why it matters:
- Previously, a failed usage or allocation import row surfaced a generic 404 Client Error with no indication of which resource Advanced Billing couldn't resolve, so you had to guess whether the subscription, the component, or a product-family mismatch was the cause. The error now names the subscription or component involved, and says which one is the cause whenever Advanced Billing can confirm it, so you can correct the row and re-import it.
- Where to find it:
- In the results grid after a Metered Usage or Component Allocation import, and in the downloadable error file for any failed rows. No configuration change is needed.
New ACH payments field mapping for the Advanced Billing customer sync
Get Customers and Send Customers custom mappings for the Advanced Billing integration now offer Enable ACH Payments as a selectable Maxio Field, so you can map your ACH indicator to it directly. (Released: 23 September 2026)
Learn more
- Why it matters:
- Previously, Enable ACH Payments wasn't offered as a Maxio Field in these mappings, so you couldn't map your ACH indicator to it. You can now create that mapping yourself.
- Where to find it:
- In the Advanced Billing integration's sync steps, open Get Customers or Send Customers, go to Custom Mappings, and choose Enable ACH Payments from the Maxio Field dropdown. The option appears when e-Bill is enabled and Show ACH Payment Fields is turned on in e-Bill Settings.
Dashboard revenue totals no longer time out on large sites
On a Site with a lot of transaction history and no stored revenue total, the Net Payments card on the Dashboard (the All time and Today figures) previously ran a synchronous calculation over every historical payment and refund and could hang or time out. That calculation now finishes in the background instead. (Released: 24 September 2026)
Learn more
- Why it matters:
- Previously, when a large Site's stored revenue total was missing, the Dashboard's Net Payments figures could hang or time out entirely while Advanced Billing summed every historical transaction. The figures now load right away. While the total is being recalculated in the background, they may briefly show 0 before updating to the correct figure.
- Where to find it:
- Automatic, on the Net Payments card on any Site's Dashboard. No configuration change is needed. It applies only when a Site's stored revenue total needs to be rebuilt, and resolves itself once the background calculation finishes.
Corrected wording in the "Apply Entitlement Changes" dialog
The two options in the Apply Entitlement Changes dialog, shown when you save entitlement overrides on a Plan or Product price point that already has subscribers, now describe what they actually do. A warning now appears when choosing New subscriptions only would discard other edits made in the same save. (Released: 24 September 2026)
Learn more
- Why it matters:
- New subscriptions only previously implied existing subscribers would eventually receive the change at their next renewal; nothing does that. It creates a separate price point, and subscribers on the original price point keep their current entitlements, and the new price point's changes never reach them unless you move them. All subscriptions previously implied an immediate update limited to active subscribers. It can actually take a while to finish, and it reaches every subscription on the price point, including canceled and expired ones. Knowing this up front helps you pick the option that matches what you actually want, instead of discovering the real behavior afterward.
- Where to find it:
- Override entitlement values on a Plan or Product price point that already has subscribers and click Update Price Point. The Apply Entitlement Changes dialog appears with the corrected option descriptions. If you also changed the introductory offer (on a Plan price point) or the pricing (on a Product price point) in the same edit, a warning appears under New subscriptions only noting that only entitlement, name, and handle edits carry over to the copy. On the Plan price point form, the subscriber count beside All subscriptions now reads, for example, 12 active to make clear it counts active subscriptions only, even though the update itself reaches every subscription state.
Credit card surcharging on consolidated subscription group invoices
Credit card surcharges are now calculated and applied on consolidated invoices for Subscription Groups across every billing flow, including signup, mid-period changes, renewals, product migrations, payments collected against the invoice, and refunds, instead of being silently skipped in several of them. (Released: 24 September 2026)
Learn more
- Why it matters:
- Merchants using Subscription Groups with surcharging enabled no longer see missing or incorrect surcharge amounts on consolidated invoices. Each member's segment is surcharged on its own share of the balance due, taxed against that member's own Subscription, and skipped entirely if that member's product family is exempt. Fully refunding one member's segment (without a credit note) releases only that member's surcharge.
- Where to find it:
- This applies automatically to any site with Maxio Payments surcharging enabled and Subscription Groups in use. No configuration change is needed, and consolidated surcharging is always on. Each segment's own invoice shows its own surcharge row, and the consolidated invoice shows the group's combined surcharge total.
Paid date filter and export for invoices
You can now filter and export the Invoices list by Paid Date, alongside the existing Date and Due Date options. This release also fixes Invoices exports with Due Date selected, which previously filtered by issue date instead of due date. (Released: 25 September 2026)
Learn more
- Why it matters:
- If you need to see what was actually collected within a period — for example, filing sales tax on a cash basis — you can now filter and export Invoices by the date they were paid in full, instead of piecing that together from issue-date or due-date results. Due Date exports also now match what's shown on screen, instead of silently returning issue-date results.
- Where to find it:
- On the Invoices page (Billing > Invoices), the date filter dropdown now includes Paid Date alongside Date and Due Date. Both the on-screen list and the Export Results CSV export respect the selected option. Paid Date applies only to Invoices; unpaid, partially paid, and Credit Note records have no paid date and drop out of the list when you filter by it.
Warning when automatic collection has no payment method to charge
The Edit Payment Method page now warns when switching a subscription to Automatic collection would leave nothing to charge, and offers a one-click option to assign one of the customer's saved payment methods instead of finding out only after a renewal fails. (Released: 25 September 2026)
Learn more
- Why it matters:
- Automatic collection only charges the payment method assigned to the subscription itself — a card saved on the customer record isn't used, even though it's visible on the same page. Previously, switching to Automatic with nothing assigned saved without complaint, and the first sign of trouble was a failed renewal followed by dunning. The warning surfaces the gap immediately, and the assign action closes it without leaving the page or discarding the collection method you just selected.
- Where to find it:
- On a subscription's Edit Payment Method page (from Subscription Summary, select Change next to Payment Method), choose Automatic. If the subscription, or its Subscription Group, has no payment method that would actually be charged, a warning appears with an Assign button naming the customer's saved payment method, or a picker when they have more than one; any open invoices staying on Remittance are called out separately. The Subscriptions list's Collection Method filter also gains an Automatic — no payment method option that finds every subscription in this state, excluding Subscription Group members.
Consolidated invoices now reflect updated segment discounts
Consolidated invoices for Subscription Groups now pick up a member Subscription's discount when it grows during a renewal, instead of retaining the amount from the previous consolidation. This corrects an inflated consolidated invoice total and a case where paying that invoice in full didn't mark every member Subscription paid. (Released: 23 September 2026)
Learn more
- Why it matters:
- If a member Subscription in a Subscription Group has its discount change mid-period -- for example, a coupon applied between renewals -- the consolidated invoice previously kept the earlier, smaller discount amount, so its total ran higher than the sum of its segments. That mismatch could also block payment from reaching every segment: overpaying the primary segment's share was rejected outright, leaving a member Subscription open under a fully paid parent invoice. Both are now fixed.
- Where to find it:
- This applies automatically to consolidated invoices for Subscription Groups whenever a member's discount changes during a renewal. No configuration is needed.
Remittance subscriptions resync next billing date after recovery
A remittance Subscription recovering from past due now has its Next Billing date recalculated from its billing schedule, replacing the dunning retry timestamp it displayed while past due — which could also make the next billing amount preview show $0.00. (Released: 23 September 2026)
Learn more
- Why it matters:
- Previously, a remittance Subscription that recovered from past due kept showing the timestamp of its last dunning retry as its Next Billing date on the Subscription Summary, instead of its real next billing date — so the next billing amount could preview as $0.00 for a date on which nothing was actually due, and you could be misled into thinking a resync was needed.
- Where to find it:
- Automatic — no configuration needed. Check the Next Billing Date and Next billing amount fields on the Subscription Summary page for any remittance (manually collected) Subscription immediately after it recovers from past due, whether by paying or voiding its outstanding Invoice.
Saving price point entitlement changes to existing subscriptions no longer fails or erases them
Editing a Plan or Product price point's entitlements — using the Override Default Entitlements toggle, or removing and re-adding a feature — and applying the change to all existing subscriptions now saves as a single update instead of erroring and removing the entitlement from live subscribers. (Released: 24 September 2026)
Learn more
- Why it matters:
- Previously, this save could fail outright with a uniqueness error, and the entitlement was still deleted from every subscriber on the price point before the failed re-creation — so a normal edit could silently strip access or usage limits from live subscriptions with no successful save to show for it. The save now succeeds and never removes the entitlement mid-save.
- Where to find it:
- Open a Plan or Product's price point, go to the Entitlements tab, check Override Default Entitlements for this Price Point (or remove and re-add a feature), adjust values, and save choosing to apply to All subscriptions. The same fix applies on the Default Entitlements screen.
Edit an existing wallet's behavior configuration
A subscription's wallet now has an Edit control on its Behavior panel, so you can change a wallet's name, its draw-down subscription products, its overflow behavior, and its Auto Top-Up settings without archiving the wallet and creating a new one. (Released: 25 September 2026)
Learn more
- Why it matters:
- Wallet behavior was previously fixed at creation, so correcting a name or a draw-down product meant archiving the wallet and starting over, losing its history in the process. You can now adjust these settings on the existing wallet instead.
- Where to find it:
- On a subscription's Wallets tab, open a wallet and click Edit on the Behavior panel. Not available on an archived wallet.
Full invoices preview now shows an invoice's inherited address
Invoices > Full Invoices Preview now shows the Billing and Shipping address an invoice inherits from its Contract or Customer when the invoice has no address of its own, with a "Using Contract Address" or "Using Customer Address" note, instead of leaving the address blank. (Released: 30 September 2026)
Learn more
- Why it matters:
- Previously, an invoice with no address of its own showed a blank Billing or Shipping address on this preview, which could make it look like the invoice would be sent without one. The preview now shows the address Maxio Core would send for that invoice, and labels it when it comes from the Contract or Customer. If the invoice, its Contract, and its Customer all have no address, the preview stays blank.
- Where to find it:
- Go to Invoices > Full Invoices Preview. An invoice whose own Billing or Shipping address is blank now shows the address inherited from its Contract or, failing that, its Customer, labeled "Using Contract Address" or "Using Customer Address" beneath it. An invoice with its own address shows that address with no label, and its country now appears as a two-letter code, such as US, instead of the full country name.
Unpaid subscriptions now show their real next billing date
A Subscription's Next Billing date and amount on the Subscription Summary page now shows the real, upcoming value for a Subscription in Unpaid status, instead of a blanket N/A, as long as its billing schedule hasn't stalled. (Released: 24 September 2026)
Learn more
- Why it matters:
- Unpaid isn't a dead end — an Unpaid Subscription keeps accruing charges on its normal schedule, and only automatic payment capture is paused. Previously the Next Billing field showed N/A for every Unpaid Subscription, which made it look identical to a truly canceled or expired one. Now you can see the real date and amount coming up, instead of guessing whether the Subscription will bill again.
- Where to find it:
- On a Subscription's Summary page, in the Next Billing section (and the adjacent Calendar Billing caption, for Subscriptions on a calendar billing schedule). Applies automatically to Subscriptions in Unpaid status; no configuration is needed. The field still shows N/A for an Unpaid Subscription whose schedule has genuinely stalled — its current billing period already ended unprocessed, it has no upcoming assessment date (or, with multi-frequency billing, that date is already in the past), or it has a processing error blocking collection.
Selling
New renewal opportunity start date field mapping for Salesforce
Salesforce Opportunity field mappings on a Renewal Opportunity rule now include a Renewal Opportunity: Start Date option, so a mapped Opportunity field can carry the same derived start date used elsewhere in the rule. (Released: 14 September 2026)
Learn more
- Why it matters:
- Previously, the renewal start date used in a rule's Opportunity Name and Description templates and the value sent through a mapped Opportunity field were each calculated independently, which risked the two disagreeing if the Transactions grouped into an Opportunity didn't actually share an end date. The new mapping option guarantees the mapped value always matches the template value, and the underlying calculation now raises an error instead of silently picking a date when a group's end dates don't match.
- Where to find it:
- In the Salesforce integration settings, on the Send Renewal Opportunities tab, open a Renewal Opportunity rule and, under Opportunity field mapping, select Renewal Opportunity: Start Date as the field to map.
Deletion records now persist after a Salesforce delete sync
Deletions synced through the Salesforce Send Financial Records integration's Delete option used to disappear from Maxio's deleted-records API after being sent to Salesforce once. They now remain available. (Released: 14 September 2026)
Learn more
- Why it matters:
- If you rely on the deleted-records API to reconcile what's been removed, you no longer lose that history the first time it syncs to Salesforce — deletion records stay queryable going forward, the same way they always should have.
- Where to find it:
- No UI change. This affects the deleted-records API endpoints (Transactions, Invoices, Customers, Contracts, Payments, and others) whenever the object's Send Financial Records setting has Delete enabled in the Salesforce integration configuration.
New project PO number field mapping for Salesforce, HubSpot, and Pipedrive
Salesforce, HubSpot, and Pipedrive Get Sales Orders field mappings now include a Project PO Number target field, so a mapped CRM field or a fixed text value can carry a Purchase Order Number onto the Project created when a Sales Order is processed. (Released: 17 September 2026)
Learn more
- Why it matters:
- If you originate deals in Salesforce, HubSpot, or Pipedrive, you no longer need to manually enter a Purchase Order Number on the Project after it's created — mapping a CRM field (or a fixed value) to Project PO Number carries it through automatically, and from there to invoices generated for that Project that don't already carry a Purchase Order Number of their own.
- Where to find it:
- In the Salesforce, HubSpot, or Pipedrive integration settings, open the Get Sales Orders field mappings (Update Mappings) and map a field to Project PO Number, grouped with Project Template and Project Name. The mapped value pre-fills the Project PO Number field on the Process Sales Order wizard's Create Project step, and remains editable before submission.
Self-service clear all CRM IDs action for HubSpot
The HubSpot integration's Send Financial Records tab now has a Clear All CRM IDs action that lets an Administrator clear stored Customer and Deal/Deal Line Item HubSpot CRM IDs directly, without contacting Maxio Support. (Released: 15 September 2026)
Learn more
- Why it matters:
- Customers migrating off a legacy CRM onto HubSpot can now clear stale Customer and Deal/Deal Line Item CRM IDs themselves and rebuild their HubSpot associations, instead of waiting on Maxio Support to do it for them.
- Where to find it:
- In the HubSpot integration settings, on the Send Financial Records tab, click the new ban icon labeled Clear All CRM IDs. Select Customer, Deal / Deal Line Items, or both, then type YES and click Proceed — clearing an ID is not reversible, so make sure you can re-establish the HubSpot associations first. If HubSpot isn't your currently connected CRM, Maxio rejects the submission in place and nothing changes.
Payments
Apple Pay with Braintree works again on Public Signup Pages
Apple Pay checkout through the Braintree gateway on Public Signup Pages had stopped working, showing every customer an unsupported-browser message regardless of their actual browser or device. This is now fixed, and Apple Pay checkout works as configured. (Released: 14 September 2026)
Learn more
- Why it matters:
- Customers signing up through a Public Signup Page with Apple Pay selected as the payment method — including on a fully supported Safari and Apple device combination — could not complete checkout with Apple Pay. No merchant-side configuration change is needed to restore it.
- Where to find it:
- Public Signup Pages using the Modern (v2) layout, for sites with Multi-Gateway enabled and Apple Pay configured through the Braintree gateway.
Billing address fields display again on legacy Self-Service Pages
Billing address fields, including the card number field, had disappeared from the legacy Self-Service Page's payment update form whenever a wallet-eligible payment method was configured, and are now restored. (Released: 17 September 2026)
Learn more
- Why it matters:
- Subscribers on affected sites could not see or complete the billing address fields needed to update their payment profile from the legacy Self-Service Page, blocking that self-service action entirely.
- Where to find it:
- The legacy Self-Service Page used to update a Subscription's payment profile, for sites with a wallet-eligible payment method routed through Maxio.js (formerly Chargify.js) configured.
Direct debit mandate now shows the first payment date in the site's time zone
On a Maxio.js Public Signup Page with direct debit, the trial mandate's first payment date is now converted to the site's time zone before display, instead of showing the underlying UTC value. (Released: 24 September 2026)
Learn more
- Why it matters:
- For a site in a time zone behind UTC, a trial signup made late in the site's business day -- after UTC had already rolled over to the next calendar date -- could show the customer a mandate whose first payment date was one day later than their actual trial end date. Confirming that mandate committed the customer to the date shown, not the correct one.
- Where to find it:
- The mandate confirmation step of a Maxio.js Public Signup Page for a trial product using a direct-debit payment method (for example GoCardless or Stripe SEPA/BECS) on a maxp site. No merchant-side configuration change is needed.
Developer Experience
Reports API adds row-level JSON results and a retain action
The Report Runs API now includes a results action that returns a completed report run's data as paginated JSON — sections, columns, and rows — for either storage format, plus a retain action that lets you keep a run's stored results past the standard purge window. (Released: 14 September 2026)
Learn more
- Why it matters:
- Pull structured report data directly as JSON instead of parsing a CSV or spreadsheet export, and hold onto a specific run's results for as long as you need them instead of having them purged five days after the run completes.
- Where to find it:
- Call
GET /api/v1.0/reports/runs/{id}/results/to read a completed run's results, andPOST /api/v1.0/reports/runs/{id}/retain/with{"keep": true}to toggle retention. Both are available to any Reports API user; retention can also be set when you create the run viakeep_serialized_data.
Promise to pay date now available on the invoice API
The Invoice API's GET and LIST endpoints now return a read-only promise_to_pay_date field, matching the Promise to Pay date already visible on an invoice's Collections Settings tab. (Released: 15 September 2026)
Learn more
- Why it matters:
- Integrations that read invoice data -- for example, a collections dashboard or automated outreach tooling -- can now see whether, and until when, a customer has promised to pay, directly from the API instead of cross-referencing the UI.
- Where to find it:
- The
promise_to_pay_datefield appears in Invoice API responses, documented at Admin > Settings > API Documentation. It's read-only; set or clear the date from the invoice's Collections Settings tab in the UI.
Reject raw card data on payment API endpoints
Advanced Billing can now reject, with a 422 error, any request to a payment-related API endpoint that carries a raw card or bank account field, for example a card number or CVV sent directly instead of through a token. Requests using a Maxio.js token, a vault token, or no payment data at all are unaffected. (Released: 22 September 2026)
Learn more
- Why it matters:
- If your integration, or a system fronting your API calls such as the Maxio API Gateway, needs a hard guarantee that raw cardholder data never reaches the Advanced Billing API, you can now enforce that at the API layer instead of relying on your own systems never sending it. A rejected request fails immediately with a clear error naming the Maxio API Gateway and a tokenized alternative, and nothing is saved.
- Where to find it:
- This is turned on per Site by the Maxio team, so contact your account team to enable it. Once enabled, it covers creating and updating Subscriptions, creating and updating payment profiles (including the V3 API and the payment profiles nested under a Subscription or a Subscription Group), Subscription Group signup and creation, and the Chargify Direct signup and card update endpoints. The Maxio API Gateway tab under Config > Integrations now also requires this control, so it appears only on Sites that have both it and the Maxio API Gateway integration enabled.
API tokens and Maxio API gateway now share one admin entry
The Admin page's separate API Tokens and Maxio API Gateway entries are now a single API Tokens entry with Core and One Maxio API tabs, replacing the standalone gateway card. (Released: 21 September 2026)
Learn more
- Why it matters:
- You no longer have to figure out which of two adjacent Admin entries covers "the API" -- both live under API Tokens now, and you switch between the classic token list and the newer gateway with a tab instead of hunting for a second card. If your account's Core API is off but the gateway is available, visiting the token list sends you straight to the gateway pane, with a Core tab to get back to your existing tokens.
- Where to find it:
- Go to Admin > API Tokens. When the Maxio API Gateway is available to you, a Core / One Maxio API tab bar appears at the top of both the token list and the gateway page.
Platform
Setup guide "Need Help" links now open in a new tab
Every link in the Setup Guide's "Need Help" panel now opens in a new browser tab instead of navigating away from the guide. (Released: 22 September 2026)
Learn more
- Why it matters:
- Previously, clicking a "Need Help" link replaced the Setup Guide in the current tab, so you had to navigate back to resume where you left off. The guide now stays open in its original tab while the linked help content loads in a new one, so you don't lose your place.
- Where to find it:
- Open the Setup Guide at
/setupon a Site with the guide enabled. Every link in a step's "Need Help?" panel, including the quickstart guides, the product tour, and the API, webhook and SDK documentation, opens in a new tab.
Enterprise SSO account linking no longer requires email verification
An Enterprise SSO user can now link to their existing Maxio account the first time they sign in, even when their identity provider doesn't send a verified-email claim or sends it as false. (Released: 23 September 2026)
Learn more
- Why it matters:
- Some identity providers may not be able to send a verified-email claim, and previously its absence blocked account linking on sign-in. Admins no longer need to customize their Enterprise SSO connection to add the claim, and Enterprise SSO users at those organizations now link automatically like everyone else.
- Where to find it:
- This happens automatically the first time an Enterprise SSO user signs in and Maxio matches them by email to an existing Maxio account. No configuration change is needed.
Data tables no longer crash when local storage is blocked
The Customers, Invoices, Transactions Report, and Product Catalog list tables now render normally even when the browser blocks access to local storage — for example, in Safari Private Browsing, or with site data blocked for the Advanced Billing origin. Previously, the page failed to render at all in that situation. (Released: 23 September 2026)
Learn more
- Why it matters:
- If your browser blocks site storage, these list pages used to fail to load entirely. They now render with default column visibility instead, so you can keep working; the only change is that your column choices aren't remembered for that session.
- Where to find it:
- Automatic, no setup needed. Applies to the Customers, Invoices, Transactions Report, and Product Catalog list views.
Still need help?
Reach out and our support team will take it from here.
