Barcode & RFID Operations
Complete barcode generation, RFID/EPC lifecycle, WMS verification, cycle counting, pick-to-light, CoA reporting & mobile scanning — all features implemented and reachable from the Odoo interface
A full barcode and RFID toolkit for Inventory and Manufacturing. Generate EAN-13, Code 128, QR, Data Matrix and GS1-128 labels; manage RFID tags through their full lifecycle with real SGTIN-96 EPC encoding; run put-away and pack verifications, cycle counts with live inventory adjustment, pick-to-light workflows, work-order scanning, quality checkpoints, and asset tracking — all in one module. Where physical hardware is involved (RFID readers, pick-to-light fixtures, label printers), the module provides the complete software layer plus a documented HTTP/JSON endpoint so you connect your own device (BYO reader model).
Key Features
Barcode Generation — EAN-13, Code 128, QR, Data Matrix, GS1-128
Generate EAN-13 (correct GS1 mod-10 check digit), GTIN-14, Code 128 and QR barcodes as real PNG images (python-barcode / qrcode). Data Matrix output via pystrich. A batch-printing wizard produces ZPL II label streams for Zebra printers. Barcode values are written back to the product or lot record in one click from the form or as an Action on lists.
GS1-128 Element Strings & AI Parser
Build real GS1-128 element strings with Application Identifiers: (01) GTIN-14, (17) expiry YYMMDD, (10) batch/lot — with the mandatory FNC1 prefix — and render as Code 128. A companion GS1 AI parser decodes any element string back to its AIs for inbound label processing. GS1 Company Prefix is configured once in Settings and reused for GTIN-14 and EPC building.
RFID Tag Lifecycle (draft → commissioned → in use → retired)
Each RFID tag is tracked as an rfid.tag record with a full state machine. Commissioning auto-builds a SGTIN-96 EPC from the GS1 Company Prefix and the linked product. Every physical reader read is logged to rfid.tag.read with timestamp, reader ID, location, and RSSI signal strength. Chatter tracks all state changes.
Real SGTIN-96 EPC Encode / Decode
Implements the full EPC Tag Data Standard SGTIN-96 partition table (all seven partition values, company prefix 6–12 digits). Encodes a company prefix + item reference + serial into a 96-bit binary packed into 24 uppercase hex characters. Decodes any SGTIN-96 hex back to its constituent fields for validation and reporting.
RFID Reader HTTP/JSON Endpoint (BYO Reader)
A documented Odoo JSON endpoint accepts bulk EPC reads from any compliant RFID reader (fixed, handheld, or USB). Built-in anti-collision de-duplication discards repeated reads within a configurable window. Connect your own reader hardware by pointing it at the endpoint — no physical LLRP driver is bundled; the integration layer is pure software.
Put-Away Verification
Scan the destination location barcode after receiving and compare it against the system-suggested put-away rule. The barcode.putaway record is flagged Verified (green) or Mismatch (red) in real time. Linked to the stock picking for full traceability and chatter history.
Pack Verification
Load a delivery transfer, scan each product barcode one at a time, and the system decrements the expected quantity per line. Remaining-quantity and over-scan counters update live. State advances automatically from In Progress to Done when every line is fully scanned, or to Error on unexpected items.
Pick-to-Light Orchestration
Sequence picking lines by bin location, illuminate each bin via a documented HTTP light-controller endpoint, and confirm picks by scanning the product barcode. A progress bar in Odoo reflects completion in real time. Works with any pick-to-light fixture that accepts an HTTP command to turn a light on or off.
Cycle Counting with Real Inventory Adjustment
Open a Cycle Count session for any internal location. The module reads live stock.quant data to pre-fill theoretical quantities per product, lot, and package. Enter counted quantities (or scan them on mobile), review the discrepancy column, and click Apply — the module calls action_apply_inventory on each quant to create real Odoo inventory adjustments with the standard accounting journal entry.
Certificate of Analysis (CoA) PDF
Print a CoA PDF report for any production lot or serial number directly from the lot form. The report includes product name, lot reference, manufacturing date, expiry date, responsible user, and a quality-result table. Fully QWeb-rendered, so it inherits your company header and footer.
Asset Tracking with Movement History
Register fixed or movable assets (equipment, tools, pallets, IT hardware) with a barcode or RFID code. Scan to move an asset between locations: the module records a barcode.asset.move event with from/to location, timestamp, and user, and appends a scan entry to the global barcode.scan audit trail. Asset states: In Service, In Maintenance, Retired.
Mobile Camera Scanning
A lightweight phone-browser page served by your own Odoo instance uses the device camera via the BarcodeDetector API (with a manual-entry fallback for browsers that do not support it). Successful scans trigger audio and vibration feedback. All scans are posted to the barcode.scan log. Requires HTTPS for camera access.
Scan Analytics Dashboard
Every barcode and RFID scan is stored in the barcode.scan model with scan type (product / location / lot), user, product, location, and timestamp. An analytics dashboard with pivot and graph views lets you spot high-traffic products, busy pickers, scan error patterns, and throughput trends over time.
Manufacturing Work-Order & Quality Checkpoint Scanning
Scan product or component barcodes against open manufacturing work orders to confirm quantities consumed or produced. Dedicated quality checkpoint records capture pass/fail results per lot at any stage of production. Both flows log to the central barcode.scan trail for full auditability.
Use Cases
Screenshots
Barcode Scans
Why Choose This Module
Every feature in this listing is fully implemented in Python and reachable from the Odoo UI or a documented endpoint — no stubs, no placeholders. Barcode generation covers five symbologies plus GS1-128. RFID runs a real SGTIN-96 EPC codec and a BYO-reader HTTP endpoint with anti-collision deduplication. Warehouse operations include six distinct workflows (put-away, pack, pick-to-light, cycle count, work-order, quality checkpoint). All scans funnel into a single analytics model so you get end-to-end scan visibility in one dashboard.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: English
- Author: Pokutsoft
- Dependencies: stock, mrp, mail
- Python libraries: python-barcode, qrcode (required); pystrich (optional)
- Support: support@pokutsoft.com
Update date: 2026-07-09
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) • Manufacturing (mrp) |
| Lines of code | 3434 |
| Technical Name |
barcode_rfid_operations |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module