by Mien Trung Software

The MTS Advanced Invoice add-on helps you craft professional invoices, automatically generate new invoices and recurring invoices, and send payment reminders.

Includes a 30 day guarantee
Try it Now

Release Notes

[Version 1.2.0]

Released: 2026-09-09 Compatibility: SuiteCRM 7.x (legacy) and SuiteCRM 8.x (Angular list view)

This is a major feature + hardening release that brings the shared package in line with the field-tested proman build, using only generic (non-client-specific) fields.


New features

Cancel Invoice (Stornorechnung) & Credit Note (Gutschrift)

  • New Create Cancellation Invoice and Create Credit Note actions on the AOS_Invoices detail view (positioned between Edit and Delete).
  • Cancellation invoice: clones the original with negated amounts, marks the original invoice Cancelled, and rolls back the linked recurring invoice's next date so the period can be re-issued.
  • Credit note: creates a negated draft (original invoice is not cancelled); opens in EditView with a guard that keeps quantities negative and within the original amounts.
  • New AOS_Invoices tracking fields: is_cancellation, cancellation_type, original_invoice_id, original_invoice_number.

Generate Next Invoice Now

  • List view (SuiteCRM 8): bulk action "Generate Next Invoice Now" to generate the next invoice for one or many recurring invoices at once, with a per-record result summary (generated / skipped duplicate / failed).
  • Detail view: on-demand generation with a preview dialog (customer, invoice date, due date, total) and duplicate protection with a force option.

Duplicate-invoice protection

  • Recurring generation now skips creating a second invoice for the same billing account + invoice date (findDuplicateInvoice), preventing accidental doubles.

Working-day aware invoice dates

  • Invoice document dates that fall on a weekend are shifted to the next working day (Mon–Fri). The billing cycle itself is calculated drift-free from the scheduled date.

Configurable PDF filename

  • New PDF filename pattern setting (Admin → MTS Advanced Invoice Settings), e.g. {number}_{name}. Tokens resolve from invoice / billing-account fields; Unicode letters (ä ö ü ß …) are preserved and filesystem-unsafe characters are stripped. Applies to invoice PDFs generated by the plugin (recurring invoice notification / overdue reminder emails).

Invoice statuses

  • invoice_status_dom now includes Draft, Unpaid, Partially Paid, Paid, Sent, Cancelled so payment and cancellation states display correctly.

UI

  • New shared dialog/toast/spinner UI (MTS_UI.js) — modal confirmations and toasts replace native browser dialogs across all plugin actions.
  • Redesigned Admin settings page (sectioned layout, help text, real buttons in Maintenance Tools).
  • "Record Payment" is hidden for Paid / Cancelled / Sent invoices and for cancellation documents.

Hardening & fixes

  • SQL hardening — dynamic values are escaped with db->quote() / cast to int across recurring generation, reminders, summary and PDF queries.
  • PHP 8 compatibilitypost_install patches core aowTemplateParser for a widened parse_template() signature.
  • Fixed a latent bug where recurring generation used empty payment-terms / frequency (dates are now computed from a single source of truth, calcInvoiceDates).
  • Extension routing migrated to the CamelCase MTS_RecurringInvoice layout; the obsolete kebab-case mts-recurring-invoice extension is removed automatically on install to resolve a routing conflict.

Upgrade / install notes

  1. Install the zip via Admin → Module Loader.
  2. SuiteCRM 8 only: after install, rebuild the container so the list-view bulk action and module routing register: php bin/console cache:clear php bin/console cache:warmup (The installer also clears cache/; run the above if the bulk action does not appear immediately.)
  3. Run Admin → Repair → Quick Repair and Rebuild if custom fields/labels do not appear.
  4. Hard-refresh the browser to pick up updated JS/CSS.

No destructive schema changes. is_uninstallable remains true.


[Version 1.0.5]

  • Change the status 'Drafts' to 'Draft'
  • Add to migrate the existing Drafts invoice to the Draft invoice (Go to Admin > MTS Advanced Invoice Settings > Click on 'MIGRATE DRAFT INVOICE' button

[Version 1.0.4]

  • Add the Payment module for the Invoice

[Version 1.0.1]

  • Add the 'Once' option in Frequency to support the user create a standard invoice via the recurring invoice module.
  • Fix bugs

[Version 1.0.0]

  • Manage the recurring invoice in the recurring invoice module.
  • Auto-generated the new invoice once the current invoice is outdated.
  • Send the email notification to you employee that's the owner of the record
  • Send the email to remind overdue the invoice
  • Summary of the total amount of the recurring invoice
Saving Comment Saving Comment...
Rating
  • "In addition to my review on Jan 22, 2021 Started using the " Record Payment" function and it is a serious time saver. Not only do you recor..." - scott7

    Read More Reviews