terminal whmcs / addon / cached-invoices

Cached Invoices

Make sure your invoices stay untouched even if you change user information or decide to upgrade your PDF template.

  • Automatically upload paid invoices to an FTP server (or your archive workflow)
  • Prevent problems when users change currency or contact details
  • Present the same-looking invoice forever - email or client area download
  • Edit the invoice even after it has been cached
Cached Invoices - preview
Order now from
Ask a question

Overview

Cached Invoices captures a durable snapshot of each invoice in WHMCS. Once cached, that snapshot drives the PDF and client-facing output - so later edits to the customer profile, currency, logo, or PDF template do not silently rewrite what the customer already received.

When it matters

Have you ever had a long-term client with hundreds of invoices ask to switch currency or update contact fields? Without caching, those changes can ripple through historical documents and create accounting headaches, disputes, or inconsistent PDFs.

This addon is built for exactly that class of problem: it stores the data that belonged to the invoice at the time it mattered, and keeps generation consistent whether the PDF is emailed or downloaded from the client area.

Archiving paid invoices

You can go further and automatically create and archive every paid invoice. Even if you later change your PDF template, company logo, or user contact fields, WHMCS continues to produce the same PDF bytes for that invoice - predictable for finance, support, and audits.

Operational fit

The module is designed to be easy to use in daily admin work - caching tools, invoice views, and editing flows are exposed where staff already work. Behaviour is automated so you are not relying on one-off manual exports to stay safe.

Requirements & compatibility

Target stack is WHMCS 8.x and newer with a supported PHP line for your WHMCS version. Heavily customised billing hooks or rare PDF pipelines may need a quick compatibility check - see Requirements on this page or contact us.

Requirements

System

The following requirements must be met in order to use the Cached invoices addon module:

  1. WHMCS ver. 8.x or higher
  2. PHP ver. 7.4 or higher
  3. ionCube Loader ver. 12 or higher

The module has not been tested on older versions of WHMCS (<=7.x).

Note: This list is preserved from the original product knowledgebase. New licences from M-BIT are aimed at modern WHMCS (e.g. 8.x) stacks - confirm the exact PHP / ionCube line for your build with your order email or contact before go-live.

Changelog

Release history

Version 25.06.12 (June 12th 2025)

  • FIXED: silent fatal error on PHP 8.1

Version 25.06.07 (June 7th 2025)

  • ADDED: stricter logic checks and exception handling
  • ADDED: additional runtime type checks
  • CHANGED: PHP strict_types enabled across the module
  • ADDED: compatibility with PHP 8.2, PHP 8.3, and WHMCS 8.11–8.13

Version 24.11.04 (November 4th 2024)

  • ADDED: ionCube 13
  • ADDED: compatible with WHMCS 8.11 and PHP 8.1

Version 24.04.03 (April 3rd 2024)

  • CHANGED: extensive internal optimisation and cleanup

Version 23.11.26 (November 26th 2023)

  • ADDED: full PHP 8.1 compatibility
  • ADDED: cache basic hosting-company fields used when rendering invoices
  • REMOVED: Dropbox upload support (feature retired)

Version 23.01.07 (January 7th 2023)

  • ADDED: PHP 8.x compatibility work (8.1-focused branch)
  • FIXED: error while loading user data (type handling)

Version 22.12.31 (December 31st 2022)

  • FIXED: incorrect behaviour when WHMCS uses a custom admin path

Version 22.12.28 (December 28th 2022)

  • CHANGED: module bootstrap / scripts revamped
  • CHANGED: Dropbox client library updated (for remaining legacy integrations)
  • CHANGED: internal versioning scheme aligned with the modern release line
  • ADDED: WHMCS 8.x compatibility baseline

Version 3.3.3 (may 9th 2022)

  • FIXED: licence verification failed after the installation was moved to another web server

Version 3.3.2 (QuickFix)

  • FIXED: admin “view invoice” screen showed an incorrect transaction ID in the transaction list

Version 3.3.1 (April 20th 2019)

  • FIXED: Font Awesome assets were not initialised outside the module’s own admin pages

Version 3.3 (April 1st 2019)

  • ADDED: support for the TAX_ID field

Version 3.2.1 (QuickFix)

  • FIXED: cached custom fields did not appear on the “view invoice” page

Version 3.2 (September 9th 2018)

  • FIXED: cached invoice snapshot did not display instead of live user details where intended

Version 3.1 (May 31st 2018)

  • CHANGED: build encoded with ionCube Encoder 10.2 targeting PHP 5.6–7.2

Version 3.0 (April 19th 2018)

  • ADDED: full WHMCS 7.x compatibility
  • ADDED: rebuilt auto-caching tools for database-backed and PDF invoices
  • ADDED: ionCube Loader 10.2 requirement for this branch
  • FIXED: misleading database error message when deactivating the module
  • FIXED: Dropbox API integration migrated to API v2
  • FIXED: auto-caching tools failed on very large invoice sets
  • FIXED: Missing MbitCachedInvoicesDB class error under certain upgrade paths

Version 2.5 (September 21st 2017)

  • FIXED: country names failed to cache because WHMCS 7 country JSON was not parsed

Version 2.4 (October 19th 2016)

  • ADDED: PHP 5.6 support and ionCube 9 loader alignment (legacy branch)

Version 2.3 (April 12th 2106)

  • FIXED: wrong subtotal / tax when the invoice numbering prefix contained a dot
  • FIXED: API issues with WHMCS ↔ cPanel SSO caused by double init.php inclusion

Version 2.2 (February 5th 2016)

  • CHANGED: licence verification endpoint and validation code updated

Version 2.1 (November 30th 2015)

  • CHANGED: the module automatically selects the first admin account with API access (previously manual in settings)
  • FIXED: memory exhaustion on some PHP builds when caching invoices with separate billing contacts

Version 2.0 (August 23rd 2015)

  • ADDED: FTP upload option for archived PDF backups
  • ADDED: custom DB layer compatible with WHMCS 5.x and 6.x
  • ADDED: WHMCS 6 readiness while retaining WHMCS 5 support

Version 1.4.1 (June 13th 2015)

  • FIXED: client data missing on some PDF invoices generated during the WHMCS cron run

Version 1.4 (June 2nd 2015)

  • CHANGED: small compatibility fixes across several routines
  • FIXED: wrong language on the invoice editor when the client language was set to “Default” (module tools)
  • FIXED: when the stored user language was NULL, normalise to the WHMCS default language

Version 1.3 (March 27th 2015)

  • ADDED: client-area invoice list shows the correct currency and format for each cached row
  • ADDED: if cached rows outnumber WHMCS invoices, orphaned cache entries are removed automatically when an invoice is deleted (module tools)
  • ADDED: if more paid PDF files exist on disk than cached paid invoices, the tools page lists the extras for cleanup
  • FIXED: pie chart error when cached invoice count exceeded WHMCS invoice count (tools page)
  • ADDED: language file updates

Version 1.2.1 (December 7th 2014)

  • FIXED: some admin pages did not load all JavaScript assets correctly over HTTPS

Version 1.2 (November 26th 2014)

  • ADDED: PDF Auto-Caching can backfill paid invoices not yet stored as PDFs
  • ADDED: optional automatic Dropbox upload when an invoice is marked paid (removed in the 23.11.26 release)
  • ADDED: extra guards inside critical functions to prevent edge-case failures
  • FIXED: several translation issues
  • CHANGED: fall back to WHMCS-bundled jQuery to avoid conflicts with third-party scripts

Version 1.1 (November 17th 2014)

  • FIXED: cron-triggered runs conflicting with some module routines
  • ADDED: additional API entry points (configure the API-capable admin user in module settings)

Version 1.0 (November 14th 2014)

  • Initial release