Skip to main content
Version: 3.0

Upgrade

How you upgrade depends on where you are coming from.

From 2.x, read the release notes first

BestPDF 3.0 is a complete rewrite. A few v2 capabilities have changed or gone, and the conversion of your old configuration is something you trigger when you are ready. Read the Release notes before you start, and plan for someone to be at the keyboard afterwards.

Upgrading within 3.x​

A minor or patch upgrade is two steps.

1. Back up​

/modules/addons/bestpdf

Back up your WHMCS database and files as usual. BestPDF keeps designs, translations and settings in the database, and uploaded assets on disk under the configured data storage path, so both matter.

Maintenance mode

We recommend putting WHMCS in maintenance mode during the upgrade

2. Replace the files​

Upload the contents of the new release archive over your existing installation, overwriting /modules/addons/bestpdf.

Replace the files in place — do not delete the folder first. Everything you have configured lives in the database and the data directory, both untouched by a file-level overwrite.

3. Let WHMCS run the upgrade​

WHMCS notices that the addon's version has changed and runs BestPDF's upgrade routine the next time you open Setup → Addon Modules. This applies any database changes and imports designs that ship with the new version. Designs your install has already seeded are skipped, so a bundled design you have since edited is safe.

There is no button to press. If you want to confirm it ran, the version shown on the addon row (and on the BestPDF Overview tab) should match the release you just uploaded.

What's new

See the Changelog for the full list of changes in the latest release.

Upgrading from 2.x to 3.0​

Before you start​

  • Read the Release notes in full. The parts that catch people out are that v2's single global layout becomes named designs, and that converting your old layout is a separate, deliberate step.
  • Take a full backup of the WHMCS database and files, including the v2 data directory — the conversion reads your v2 fonts from it.
  • Check Requirements. 3.0 needs WHMCS 8.11+, PHP 8.2+ and ionCube 13+, all of which are a step up from what 2.x accepted.
  • Do it on a staging copy first if you can. The conversion reports what it could not carry over, and reading that report is much more comfortable when your live invoices aren't waiting on it.

1. Replace the files​

Upload the new archive over your existing installation. The module directory is the same path it has always been, /modules/addons/bestpdf, so the new files land on top of the old ones.

The v2 template overrides continue to work unchanged, so whichever route you used to wire up invoicepdf.tpl and quotepdf.tpl in v2 stays valid. Upload the archive's templates/ folders too if you want the refreshed versions.

2. Let WHMCS run the upgrade​

Open Setup → Addon Modules, and do it promptly — WHMCS only runs a module's upgrade routine when an admin next visits that page. The routine creates the 3.0 tables, carries your install-wide General settings across, and seeds the bundled designs, activating one for invoices and one for quotes.

Your v2 configuration is left in place, untouched. Nothing is deleted.

Your invoices change appearance at this point

The moment the upgrade has run your PDFs are drawn by a bundled default design — correct, but not your layout. It stays that way until you finish step 4 below.

3. Convert your v2 layout​

Open BestPDF from the Addons menu and go to the Designs tab. Because the install still has a v2 configuration that has never been converted, a banner offers to import it.

Run it when you have time to look at the result. The importer rebuilds your v2 layout as a 3.0 design and reports everything it could not carry over faithfully; see Release notes → Importing your v2 configuration for what to expect. It only ever writes designs, so it is safe to re-run.

4. Check the result​

The import dialog's Use them for my documents straight away checkbox is ticked by default, so unless you untick it the migrated designs are already active by the time the report appears — replacing the bundled defaults from step 2.

Either way, preview the result and work through whatever the report flagged. If you left the box ticked, that is what your customers are receiving now, so do it promptly; if you unticked it, activate the design from the Designs tab once you are satisfied.

Upgrade Pingen Post and Billing Booster first

If you use either, upgrade them before BestPDF. The conversion reads your configured payment codes out of Billing Booster to decide which Payment Code components the design needs, so converting without it produces a design with none. Re-running the import once it's in place fixes that.