Module UltimateInvoice EN
Summary
Informations
| Module name | UltimateInvoice |
| Editor / Editeur |
|
| Download or buy page / Page achat ou téléchargement | External module - www.dolistore.com |
| Status / Statut / Estado | Stable |
| Prerequisites / Prérequis | Invoices module enabled - PHP 7.4 minimum
Dolibarr min version: See on Dolistore Dolibarr max version: See on Dolistore |
| Last update date / Date mise à jour fiche / Fecha última actualización | 2026-07-28 |
| Note / Nota | ⬆ Back to summary |
Features
UltimateInvoice replaces the native Dolibarr PDF template for invoices with a fully customisable template named ultimate_invoice. A true Swiss army knife for PDF invoices, it lets you define your own graphic identity (logo, colours, margins, page background, column widths), choose exactly what is printed on the document, append your GSC or additional PDF files, add barcodes and QR codes, and digitally sign the generated file.
UltimateInvoice is the lightweight edition of the UltimatePDF module: it covers invoices only. For proposals, orders, contracts, shipments, expense reports, interventions, projects, products/BOMs or supplier documents, the full UltimatePDF edition is required.
Two levels of configuration
The module is built around two notions that should not be confused :
- The Design (Models tab) defines what the document looks like : colours, margins, logo, company alias, page background, column widths. Several Designs can coexist, only one is active by default (
ULTIMATE_DESIGNconstant), and a selector at the top right of the application lets you switch instantly. - The Options and Invoices pages decide what is shown on the document : visible columns, address blocks, legal mentions, printed signatures, and so on. They do not affect the graphic design.
Graphic customisation (Designs)
- Page background : background image or background PDF (pre-designed letterhead), with transparency and X/Y positioning.
- Header : logo height and width, second logo (partner, certification), sender block width with drag-and-drop preview and a French postal standard window envelope preset.
- Company alias : prints a company name, address, share capital or VAT number different from the actual legal entity — useful for a trade name or a subsidiary.
- Margins and columns : PDF margins and the width of each column of the lines table (reference, image, date, type, project, VAT, unit price, quantity, unit, discount), each one resizable with the mouse on a graphic preview.
- Footer : font size, height reserved for free text, text and background colours.
- Font : document font selection (DejaVuSans for extended or Cyrillic character sets).
Every block of the form has its own Save button : you validate block by block without losing your input in the others.
Invoice content
- Line columns : numbering, product photo, unit price excl. tax, discount, unit price after discount, quantity, weight and total weight, unit.
- Address blocks : recipient, customer and sales representative details, professional IDs (company registration numbers...), intra-community VAT number, vertical stacking of contact blocks.
- Layout : header not repeated on every page, folding mark, text next to the date, paper format.
- Invoice specific : linked shipments, payment terms, situation invoice, online payment link, customer outstanding amount, amount in words, total incl. tax line, generation without the VAT column.
- Printed signatures : manager signature on the document and sales representative signature in the note. These are images added to the PDF, not to be confused with the cryptographic signature described below.
PDF merging and GSC
- GSC : a general sales conditions PDF file is uploaded from the Options page and appended to the invoice, with an optional default preselection.
- Additional files : once the matching option is enabled on the Invoices page, one or several arbitrary PDF files can be merged into the document straight from the invoice card.
Electronic signature of invoices (PAdES)
UltimateInvoice can apply a digital signature to the PDF as it is generated. It guarantees authenticity to the recipient (the document really comes from you) and integrity (it has not been modified since). Adobe Acrobat Reader shows it in its Signatures panel, and a visible signature box is drawn at the bottom right of the last page.
| Aspect | Detail |
|---|---|
| What the feature does | Detached PKCS#7 cryptographic signature, equivalent to PAdES-B-B, natively embedded in the PDF, with a visible and clickable box |
| What it does not do | No qualified timestamp (RFC 3161), no LTV/long-term archiving, no qualified eIDAS legal value |
| What it does not replace | Neither electronic invoicing (Factur-X / PDF-A3), nor a qualified signature issued by a trust service provider |
Accepted certificate formats : .pem, .crt, .p12, .pfx. The file must contain both the certificate and the private key. It is stored in the Dolibarr documents directory, outside the module web folder : it therefore cannot be downloaded from a browser.
Important limitation : merging additional files rewrites the PDF after it has been generated, which would break the signature. On an invoice where files are merged, the signature is therefore automatically skipped (a warning is written to the Dolibarr log) rather than produced invalid. GSC merging, on the other hand, remains compatible.
Barcodes, QR codes and Swiss QR-bill
- Barcodes for products (EAN13 with check digit, CODE128, CODE39) and for third parties, at the top or at the bottom of the page.
- QR codes for the company (MyCompany), the third party, or the invoice.
- SEPA payment QR code (EPC069-12 standard) and Swiss QR-bill, including the full payment slip on a dedicated page. Please note : both settings belong to the Dolibarr core (Home - Setup - PDF - Specific parameters tab, Invoices section) and not to the module, which simply honours them when generating the document.
For the full Swiss payment slip, the payment mode must be bank transfer, a bank account must be set on the invoice, your company address must be complete and the IBAN valid (QR-IBANs are not supported yet). The electronic signature box is deliberately drawn on the last page of the invoice, before the slip is appended, since the slip layout is normative.
Compatibility with the Milestone module
UltimateInvoice recognises the milestone lines of the Milestone module (product_type = 9) : they are not handled as regular product lines when computing the line weight and the unit price after discount, and they keep their own formatting in the PDF.
Built-in user guide
A complete guide, in French and in English, can be read directly from the module setup, User guide tab. It is updated with every release and details every option.
Prerequisites
Dolibarr : Supported versions :
- 23.x
- 24.x
PHP : version 7.4 minimum. The full Swiss payment slip on a dedicated page requires PHP 8.1 or later.
Dolibarr modules : the Invoices module must be enabled.
⚙️ Installation procedure
⚙️ Manual installation
- Download the module archive file (.zip).
- Put the file into the Dolibarr root directory.
- Unzip the file with the command :
unzip module_ultimateinvoice-X.0.0.zip
- Check that the correct module location is :
htdocs/custom/ultimateinvoice
- The module is now available and can be enabled from Dolibarr.
Setup
To use this module, you must first enable it. To do so, once logged in with an administrator account, go to the "Home - Setup - Modules" page. The module appears in the "Atoo-Net" tab, click on "Enable". An icon appears at the end of the module line, click on it to reach the setup pages specific to this module.
All the administration pages of the module are protected by the ultimateinvoice -> config permission : only users holding this permission (usually administrators) can access them. Other users simply see the ultimate_invoice template appear in the "Models" dropdown list of the invoice card.
The setup consists of five tabs : Models, Options, Invoices, User guide and About.
Models tab (Designs)
This is where you build the graphic identity shared by all your documents.
- The list shows every existing Design : label, description, border type, colours, status and a "Default" badge for the one currently in use.
- Click on Add a design to create a new one, or on the pencil to edit an existing design.
- Fill in block by block : template information and font, page background, header and logos, company alias, central block, margins and column widths, footer. Each block has its own Save button.
- A disabled Design no longer appears in selection lists. The "Master template" and the default Design cannot be deleted, so that document generation can never be broken.
Important : after modifying a Design, if the generated document does not seem to have changed, check that this Design is the one carrying the "Default" badge.
Options tab (global settings)
These settings apply to every document, whatever the chosen Design : logos, address blocks and professional IDs, page background, line content, GSC, bank details, signing certificate, paper format.
Most settings are on/off switches applied immediately ; the paper format and the professional IDs are validated with a dedicated Save button.
Uploading the GSC
In the dedicated block, select your general sales conditions PDF file and send it. It will then appear in a dropdown list next to the Generate button of the invoice card, and can be preselected by default.
Setting up the electronic signature
In the Signing certificate block, at the bottom of the Options page :
- Upload your certificate file (
.pem,.crt,.p12or.pfx) containing both the certificate and the private key. - Enter the reason for the signature (free text shown in the PDF signature properties, for instance "Invoice certified true").
- Enter the password of the private key if it is protected, then save.
- Turn on the "Electronically sign the invoice PDF" switch.
- Generate an invoice and open it in Acrobat Reader : the Signatures panel must show the signature and the visible box appears at the bottom right of the last page.
Only one certificate at a time is taken into account : delete the old one before uploading a new one.
For testing, a self-signed certificate is enough :
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout signature.key -out signature.crt
cat signature.crt signature.key > signature.pem
Acrobat will then display the signature as "present but not trusted" : this is expected, since the authority is not recognised. In production, use a certificate issued by a certification authority.
To know before deploying : the private key password is stored in clear text in the Dolibarr constants table, as there is no native secret vault. Restrict access to the database and to backups accordingly, and apply strict file permissions on the certificate storage directory.
Invoices tab
This page gathers the settings specific to the invoice content : addresses, barcodes and QR codes, linked project, header and layout, line columns, printed signatures, PDF merging and invoice specific settings (linked shipments, situation invoice, online payment link, customer outstanding amount, amount in words...).
User guide tab
Displays the complete module guide in the language of the interface (French or English). It is the reference documentation, more detailed than this page.
Usage
- Open the invoice card, then, in the Documents block at the bottom of the card, choose the ultimate_invoice template in the "Models" dropdown list and click on Generate.
- The PDF appears in the list of attached files : it can be downloaded, previewed or sent by e-mail.
- Switch Design quickly : use the dedicated selector in the menu at the top right of the application, without going back to the full setup.
- Append the GSC : select the GSC file in the dropdown list next to the Generate button.
- Merge an additional PDF : once the option is enabled on the Invoices page, select the file(s) to merge from the invoice card. On those invoices, the electronic signature is automatically skipped.
Troubleshooting
| Symptom | Likely cause |
|---|---|
The ultimate_invoice template is missing from the list |
The UltimateInvoice module or the Invoices module is not enabled |
| The document does not reflect the changes made to a Design | This Design is not the one carrying the "Default" badge |
| No signature and no visible box on the PDF | No certificate uploaded, or unrecognised extension |
| Log : skipped: additional files merging is active | Additional files are merged into this invoice, both features are mutually exclusive |
| Acrobat shows "signature not valid" | Self-signed certificate : expected while testing, use a certificate from a recognised authority in production |
| Log : Error getting private key | Private key password missing or wrong, or file without the private key |
| The Swiss payment slip does not show up | See the SwissQr* messages in the Dolibarr log : payment mode other than bank transfer, non compliant address or IBAN, QR-IBAN not supported
|
The Dolibarr log (Home - Setup - Other - Logs) traces every generation and every signature attempt.
