| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 48 |
| Technical Name |
stock_picking_qr_codes |
| License | LGPL-3 |
| Website | https://sjr.ie |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 48 |
| Technical Name |
stock_picking_qr_codes |
| License | LGPL-3 |
| Website | https://sjr.ie |
| Versions | 17.0 18.0 19.0 |
Stock Picking QR Codes
Replace barcodes with QR codes on standard Stock Picking (Delivery Slip) and Return Slip PDF reports — no template duplication, no Python overrides.
What it does
The module inherits the standard stock.report_picking
QWeb report and switches each barcode widget to the
QR symbology. The following barcodes are converted:
- Document / picking name — the header barcode identifying the transfer
- Lot / Serial Number — per move-line lot or serial barcode
- Product barcode — per move-line product barcode
- Package barcode — package label barcode
For readability on printed reports, the encoded value is also shown as text under the Lot / Serial, Product, and Package QR codes.
It also updates Return Slip
(stock.report_return_slip) and converts both default
barcode widgets to QR:
- Return reference (
o.name) — barcode converted to QR - Return code — barcode converted to QR (
O-BTN.returnon Odoo 17,OBTRETUon Odoo 18)
Why use it
- QR codes scan reliably from a wider range of angles and at smaller print sizes.
- QR codes can encode longer references (lot numbers, package names) without overflowing the layout.
- Pure-XML override — nothing to upgrade with future Odoo point releases as long as the upstream report keeps the same anchors.
Usage
- Install the Stock Picking QR Codes module.
- Open Inventory → Transfers and select a picking.
- Click Print → Picking Operations (or Delivery Slip) to see picking QR codes, or Print → Return Slip to see Return Slip QR conversions.
Changing the QR code size
Each QR code can be resized independently. Open
views/stock_picking_qr_codes.xml and edit the
t-options attribute for the code you want to change:
width/height— the rendered image resolution in pixels (controls sharpness; default200x200).img_style— the on-page CSS size, for examplewidth:80px;height:80px;for the document and package codes, andwidth:60px;height:60px;for the lot/serial and product codes.
After saving the file, upgrade the module (Apps → Stock Picking QR Codes → Upgrade) for the new sizes to take effect.
Example — make the document QR code larger:
<attribute name="t-options">{'widget': 'barcode', 'symbology': 'QR',
'width': 300, 'height': 300,
'img_style': 'width:120px;height:120px;'}</attribute>
Known conflicts
stock_picking_totals_report — if both modules are installed on the same database, the picking report will fail to render until two of the four QR templates are deactivated. The totals module rewrites the per-move-line row of the picking report, which removes the xpath targets for the lot/serial and product barcodes.
To fix:
- Open Settings → Technical → User Interface → Views.
- Find the view with External ID
stock_report_picking_qr_lotand untick Active. - Repeat for
stock_report_picking_qr_product.
The document-name and package QR codes still print; only the per-line lot/serial and product barcodes are skipped (they are no longer printed by the totals report anyway). Re-tick Active on both views if you later uninstall the totals module.
Info
| Name | Stock Picking QR Codes |
|---|---|
| Version | 17.0.1.0.3 |
| Depends | stock |
| License | LGPL-3 |
| Author | SJR Nebula |
| Website | https://sjr.ie |
| Support | info@sjr.ie |
Please log in to comment on this module