Module Ultimateqrcode EN

Informations

Module name Ultimateqrcode
Editor / Editeur Atoo.Net - https://www.atoo-net.com
Download or buy page / Page achat ou téléchargement External module - www.dolistore.com
Status / Statut / Estado Stable
Prerequisites / Prérequis PHP 8.2 or above, PHP GD extension

Dolibarr min version: See on Dolistore    Dolibarr max version: See on Dolistore

Last update date / Date mise à jour fiche / Fecha última actualización 2026-09-29
Note / Nota Compatible with Dolibarr v25 and PHP 8.5

UltimateQRcode adds QR codes to Dolibarr records (third parties, contacts, products, commercial documents, projects…). Each QR code encodes the fields you choose, can carry a logo in its centre and prints on a 120 × 57 mm label. Person records also get a vCard QR code that a smartphone scans to add the contact to its address book.


Requirements

Item Version
Dolibarr 25.0.0 or above
PHP 8.2 or above (tested up to PHP 8.5)
PHP extension GD (PNG image generation)
Dolibarr modules No mandatory module. Tabs only appear on objects whose module is enabled (Invoices, Stocks, Projects…)

The chillerlan/php-qrcode and michelf/php-markdown libraries are shipped with the module: no Composer installation is needed.


Installation

  1. Download the module_ultimateqrcode-25.0.x.zip archive from the DoliStore
  2. In Dolibarr: Home → Setup → Modules/Applications, tab Deploy/install external app/module, upload the archive. Otherwise, unzip the archive into htdocs/custom/: you must get htdocs/custom/ultimateqrcode/
  3. Find the UltimateQRcode module in the list and enable it
  4. Grant the permissions to users or groups (see Permissions)
Upgrading from an earlier version: replace the ultimateqrcode folder, then disable and re-enable the module so that Dolibarr reloads the tabs and permissions.

Module setup

Open the setup page from Home → Setup → Modules/Applications → UltimateQRcode (gear icon).

The setup page has four tabs: QR codes, QR with logo, User guide and About.

"QR codes" tab (free generator)

This tab is an on-demand QR code generator: the QR code created here is not linked to any Dolibarr record and can encode any content.

Field Description
Enter here the data to encode in the QR code The content to encode: URL, e-mail address, phone number, free text…
Quality Error correction level:
• Low (L, ≈ 7 %): most compact QR code
• Medium (M, ≈ 15 %): common use
• Quartile (Q, ≈ 25 %): good resistance
• High (H, ≈ 30 %): very resistant to dirt and scratches
Size From 1 to 10 pixels per QR code module
GENERATE button Generates and displays the QR code
PRINT LABEL button Opens the QR code on a 120 × 57 mm label (see Label printing)

"QR with logo" tab

This tab creates a free QR code carrying a logo in its centre. Generated QR codes are kept in the module's temporary folder and can be displayed again, printed or deleted.

Item Description
Enter here the data to encode in the QR code URL or content to encode
Size From 2 to 10, controls the image resolution
Logo table Logos available in documents/mycompany/logos/, with size, date, preview (magnifier), rename and delete. The radio button selects the logo to embed
GENERATE button Creates the QR code with the selected logo
UPLOAD Adds a new logo (PNG recommended)
Select a QR code to display + DISPLAY Displays a QR code generated earlier
Bin icon Deletes the selected QR code, after confirmation
PRINT LABEL button Prints the displayed QR code on a 120 × 57 mm label
Note: error correction is forced to High, because the logo hides part of the matrix.

"User guide" tab

The full user guide can be read directly in Dolibarr, in the user's language (French, English, German, Spanish or Italian).

"About" tab

Shows the module version, author, licence and links to the documentation.


Use in records

The module adds a QR code tab to the records of the following 16 objects:

Object Added tab vCard QR code
Third party QR code Yes
Contact / Address QR code Yes
User QR code Yes
Member QR code Yes
User group QR code
Product / Service QR code
Lot / Serial number QR code
Warehouse QR code
Commercial proposal QR code
Sales order QR code
Purchase order QR code
Customer invoice QR code
Supplier invoice QR code
Contract QR code
Intervention QR code
Project QR code

Common layout of the QR code tab

Each QR code tab is organised in five areas.

Area 1 — Settings bar

At the top of the tab, a settings bar lets you choose:

Setting Description
Size QR code resolution, from 2 to 10 pixels per module
Quality Error correction: Low (L), Medium (M), Quartile (Q) or High (H)
Logo Logo embedded in the centre of the QR code, chosen in the table of area 2
Note: as soon as a logo is selected, the quality is forced to High (H) and the note (Forced to High with a logo) appears next to the selector.

These settings are saved per object type (invoices, proposals, orders…) and apply to every QR code of the tab.

Area 2 — Logo selection table

The table lists the logos of the documents/mycompany/logos/ folder:

Column Description
Radio button Selects the logo, or "No logo"
Logo File name
Size File size in bytes
Date Upload date
Preview Magnifier to display the logo
Actions Rename and delete

A form at the bottom of the page uploads new logos.

Safety: if the logo is too large for the QR code capacity, the module generates the QR code without the logo instead of failing, and records the incident in the Dolibarr log.

Area 3 — Data QR code

You choose the fields to encode by ticking them:

  • the checkbox includes or excludes the field;
  • the middle column shows the label and the current value of the field (greyed out when unticked);
  • the generated QR code is displayed next to the table, with or without logo, together with the PRINT LABEL button.

Fields available per object:

Object Available fields
Third party Company, Address, Zip code, Town, Country, Phone, Email, URL
Contact First name, Last name, Phone, Mobile phone, Email, Address, Zip code, Town, Country, URL
User Login, First name, Last name, Phone, Mobile phone, Email, Address, Zip code, Town, Country, URL
Member First name, Last name, Phone, Personal phone, Email, Address, Zip code, Town, Country, URL
User group Group name, Description, URL
Product / Service Ref., Label, Description, Price excl. tax, Price incl. tax, Barcode, Weight, Volume, URL
Lot / Serial number Lot/Serial, Eat-by date, Sell-by date, URL
Warehouse Label, Short location name, Description, Address, Zip code, Town, Country, URL
Commercial proposal Ref., Customer ref., Company, Email, Phone, Date, End of validity date, Total excl. tax, Total incl. tax, Public note, URL
Sales order Ref., Customer ref., Company, Email, Phone, Date, Total excl. tax, Total incl. tax, Public note, URL
Purchase order Ref., Supplier ref., Company, Email, Phone, Date, Total excl. tax, Total incl. tax, Public note, URL
Customer invoice Ref., Customer ref., Company, Email, Phone, Invoice date, Payment due date, Total excl. tax, Total incl. tax, Public note, URL
Supplier invoice Ref., Supplier ref., Company, Email, Phone, Invoice date, Payment due date, Total excl. tax, Total incl. tax, Public note, URL
Contract Ref., Customer ref., Supplier ref., Company, Email, Phone, Contract date, Public note, URL
Intervention Ref., Company, Email, Phone, Date, Description, URL
Project Ref., Project label, Company, Email, Phone, Start date, End date, Public note, URL
Note: the extra fields filled in on the record are added to the list automatically, as Extra field: label. Those created by other modules are ignored.

Area 4 — Record URL QR code

On the right (or below the table, depending on the screen width), the tab shows:

  • the Record URL label followed by a link to the record;
  • a second QR code encoding the direct URL of the record, also printable on a label;
  • at the bottom of the page, the SAVE and CANCEL buttons.

Area 5 — vCard QR code (Third party, Contact, User, Member)

The Third party, Contact, User and Member records also show a vCard QR code. Scanned with a smartphone, it offers to add the contact straight to the address book. The encoded vCard 3.0 content is displayed in plain text next to the QR code.

Live preview

The QR codes are updated in real time when you change:

  • the size;
  • the quality;
  • the logo;
  • the ticked fields.

No page reload is needed. The preview uses an AJAX request sent 300 ms after the last change. It works on all 16 QR code tabs.

Automatic default field selection

On first display, as long as no configuration has been saved, the module ticks the fields that are filled in on the record. The QR code is therefore relevant from the very first opening.

Saving the configuration

Tick or untick the fields, then click SAVE. The selection applies to all objects of the same type (one configuration per object type).


QR code tab — Examples per object

Customer invoice

Example on a customer invoice: Ref., Company, Email, Phone, Invoice date, Payment due date, Total excl. tax, Total incl. tax and URL are ticked. The expert_dolibarr.png logo is embedded in the centre of both QR codes and the quality is forced to High (H).

Product

On a product, the QR code can encode the reference, label, prices, barcode, weight and volume: handy for shelf or storeroom labelling.

Warehouse

Useful to identify storage locations physically. The Short location name field specifies the area (aisle, rack…).

User

The user QR code encodes the business contact details (login, first name, last name, phones, email, address…), and the vCard QR code adds them to an address book. Handy for badges or internal business cards.

Note: the QR code tab of a user is only visible to the user themselves or to users allowed to read user records.

Reusable QR code image (QR with logo)

To get a QR code image with a logo to reuse elsewhere (website, brochure, e-mail signature), use the QR with logo setup tab:

  1. enter the record URL or any other content in the input field;
  2. choose the size and the logo, then click GENERATE;
  3. display the QR code again at any time with Select a QR code to display, print it or delete it.
Note: the former "QR-Url" tab of third parties, which the module no longer declared, has been removed. The record URL QR code remains available in area 4 of every QR code tab.

Label printing

The PRINT LABEL button, or a click on a QR code, opens a print window in 120 × 57 mm format, suited to common label printers.

The label of a record contains:

  • on the left: the data QR code;
  • in the centre: the key information of the record (reference, third party, total…, depending on the object);
  • on the right: the record URL QR code.

The generators of the QR codes and QR with logo tabs print the QR code they have just created in the same way.

The window opens the browser print dialog automatically.

Note: for best results on adhesive labels, set the printer to the 120 × 57 mm format and remove the margins in the browser print options.

Permissions

The module defines two permissions, granted per user or per group in Users & Groups:

Permission Effect
Read QR codes Shows the QR code tabs and the generated QR codes
Create / Modify QR codes Lets the user tick or untick fields and save the configuration
Note: without the read permission, the QR code tabs are hidden. Without the modify permission, the user sees the QR codes but cannot change the field selection. Uploading, renaming and deleting logos is reserved to administrators.

What's new and v25 compatibility

Version 25.0.0 aligns UltimateQRcode with Dolibarr 25.

Change Detail
Minimum versions Dolibarr 25.0.0 and PHP 8.2
PHP 8.4 and 8.5 No deprecation raised by the module: descriptor properties aligned with the core, "About" page without warning
Payment tabs The "QR code" tabs of customer and supplier payments, which pointed to missing pages (404 error), have been removed
QR-Url tab The orphan page of the former QR-Url tab of third parties has been deleted; the documentation now points to the QR with logo tab
Translated permissions Both permissions are now displayed in the user's language ("Read QR codes", "Create / Modify QR codes")
vCard display The vCard content and multi-line addresses are displayed properly, without a visible "\n" and without page overflow
Extra fields The "Extra field" label is translated (it used to show "ExtraField")
User guide New setup tab showing the full guide in the 5 languages
Continuous integration Every PHP file of the module is checked with php -l under PHP 8.4 and 8.5

v24 history

New features in v24

Feature Description
Per-record settings Size, quality and logo configurable directly in each QR code tab
Embedded logo PNG logo in the centre of every QR code, on all pages
Live preview Real-time QR code update when changing size, quality, logo or ticked fields
vCard QR code For third parties, contacts, users and members
Logo management Upload, preview, rename and delete logos from each record

Dolibarr v24 compatibility

Fix Detail
Module picto .png extension added to the $this->picto property of the descriptor
Currency getDolCurrency() instead of $conf->currency (deprecated)
Constants dolibarr_set_const() instead of writing directly into $conf->global

Bug fixes in v24

Bug Fix
Invoice tab not found Case of the tab key fixed in the descriptor
Obsolete setup parameter "QR code display size (in pixels)" removed, replaced by the size setting of each record
Logo too large Automatic fallback to no logo instead of an error

Translations in v24

Missing translation keys added in the 5 languages (FR, EN, DE, ES, IT): quality, logo management and all object types.


FAQ

The QR code is empty or shows "No data"
No field is ticked, or the ticked fields are empty on the record. Tick at least one filled-in field and click SAVE.
The label does not print at the right size
Check that the printer paper format is set to 120 × 57 mm and remove the margins in the browser print options.
Extra fields do not appear
Only extra fields filled in on the record are offered. They are defined in the setup of the relevant module (for example Third parties → Extra attributes).
The QR code with logo cannot be read
The logo covers too much surface. Use a smaller, ideally square, logo. The quality is already forced to High (H) as soon as a logo is selected.
The QR code is displayed without logo although I selected one
The logo is too large for the encoded content: the module then generates the QR code without the logo. Try a smaller logo or tick fewer fields.
The QR codes are not updated when I change the settings
The live preview requires JavaScript. Check that no script blocker is active.
The QR code tab does not appear on some records
Check that the module is enabled, that the Dolibarr module of the object is enabled too, and that the user has the Read QR codes permission. After an upgrade, disable then re-enable UltimateQRcode.
Where has the QR-Url tab of third parties gone?
It has been removed. The record URL QR code is in the QR code tab (area 4), and the QR with logo setup tab creates reusable images.

See also