customer, self-service, shopping cart, signup, payment methods, assets, groups
Customer invoice view – When a customer-role user views invoices in the portal, only Outstanding and Paid invoices with a balance are shown; drafts and cancelled invoices are hidden.
After-create hooks for customers – Runtime scripts can now run immediately after a customer is created, for example to push custom fields to a CRM straight away.
Card layout corrected on the pay-without-login screen.
Customer order lists no longer miss orders when sorted by created date, and lists default to a stable sort order.
product and contract offerings, charges, rating
No changes in this period.
orders, activities, expiry, MRR changes
Order lists and other paginated screens no longer skip records between pages.
Usage activity uploads recover cleanly from database session errors instead of failing the batch.
invoices, templates, billing runs, tax, late fees
Nightly batch rebuilt around a parent job – The billing run and every nightly stage (ageing, system events, clean-up, invoice PDF cache, health checks, daily jobs, disbursements, exports, CRM sync) now report into a single parent batch job with heartbeat tracking, so progress and failures are visible stage by stage.
Automatic re-run and fail-over – If the nightly run stalls or fails, an hourly re-run scheduler picks it up, and processing can fail over to an alternate server.
Manual billing run options – A new option lets a manual run advance the next billing date and billing period in the same step.
New invoice validation – The new-invoice screen validates required fields before submission.
Tax rounding – DSTax amounts are rounded to two decimal places (configurable), and very small values are no longer rendered in exponent form.
Ageing report view error corrected.
Batch processes retry when a status update times out instead of stopping.
payments, processors, batch payments, clearing, disbursements
Refund verification job – A nightly check confirms draft refunds against the payment processor (Tilled by default, configurable) and updates their status automatically.
Intuit processor hardening – Better handling of expired cards, "card already exists" and tokenisation errors, correct account-type mapping, and CVV included in tokenised card payments.
Confirmation on manual payment batches – A confirmation dialog is shown before a manual payment batch is submitted.
Refund cancellation edge cases resolved, including restoring the linked invoice when a refund is cancelled.
Tilled refund-method check no longer throws an exception.
Batch payment uploads strip a hidden byte-order mark that caused the first column to be misread.
Internal processor and user fields are no longer returned in the create-payment API response.
QuickBooks, Salesforce, reconciliation, callbacks, marketing, reports
QuickBooks refunds as journal entries – Refunds are exported to QuickBooks Online as journal entries linked to the original payment, and cancelled refunds are reversed correctly.
QuickBooks payment export detail – Payment exports now carry the payment-method type and processor result.
QuickBooks Accounts API – Updated for the 2026 Accounts API changes.
Overdue report – The Collections report is renamed Overdue Report, merged with the customer report, and gains Excel, CSV and PDF downloads.
Invoice churn report – New "Delta Qty: Negative" filter to list only orders whose quantity decreased.
Commission calculation – Invoice commissions now use the latest valid payment on each invoice, ignoring reallocated payments.
QuickBooks export no longer fails on zero-amount sales receipts or on invoices deleted in QuickBooks.
Commission run query corrected when no payment is linked.
REST invoice and list endpoints return complete results across pages.