CMR Consignment Note & Transport Doc Generator
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 299.00
CMR Consignment Note & Transport Doc Generator
Full 24-box Geneva 1956 CMR consignment notes and ADR-aware road transport documents, generated straight from Odoo 19 - no spreadsheets, no external CMR-writer tools.
Every road shipment crossing an EU border needs a CMR consignment note - the legal contract of carriage defined by the 1956 Geneva Convention. Odoo's Delivery Order confirms the goods left the warehouse; it says nothing about who is legally the sender, consignee and carrier for the journey, who bears which charges, or what a driver hands over at a roadside inspection.
- No 24-box CMR document - dispatchers retype sender/consignee/carrier details into a Word template or a paid third-party CMR writer every single run
- No ADR dangerous-goods fields - UN number, transport category, packing group and tunnel restriction code live in someone's memory, not the ERP
- No ADR 1.1.3.6 "1000-points" exemption calculation - drivers either over-comply (unnecessary placarding/training paperwork) or risk an inspection fine from under-declaring
- No Road Transport Order record - vehicle registration, driver, and ADR driver-certification status tracked in a dispatcher's spreadsheet
- No successive-carrier concept for groupage/multi-leg loads handed between hauliers
- No audit trail for a roadside inspector or customs officer asking "where is the transport document for this load?"
This module adds a native CMR / Transport Docs app to Odoo 19. Generate a full 24-box CMR consignment note by hand, from a Road Transport Order, or with one click from a done outgoing Delivery Order - sender, consignee, goods lines and weights pre-filled automatically. Flag any goods line as dangerous, pick its ADR class, and the module computes the 1.1.3.6 "1000-points" exemption for you. Print a print-ready CMR PDF with an embedded ADR 5.4.1 dangerous-goods declaration, or export the ADR columns to CSV for an inspection or audit. Everything moves through a guarded Draft -> Issued -> In Transit -> Delivered workflow, with its own security groups.
- Full 24-box CMR Consignment Note: sender, consignee, place & date of taking over, place of delivery, documents attached, goods (marks, packages, packing, nature, statistical number, gross weight, volume), carrier, successive carriers, sender's instructions, freight/COD, carrier's reservations, special agreements, charges, and all four signature boxes
- One-click Generation from a Delivery Order: a "Create CMR Note" button on any done outgoing transfer pre-fills sender (your company), consignee (the ship-to partner), addresses and one goods line per move with its weight
- Road Transport Order: tracks the vehicle run - carrier, driver, driver ADR 8.2 certification & expiry, vehicle/trailer registration, origin/destination, and every CMR note it carries - with its own Draft -> Confirmed -> In Transit -> Delivered workflow
- Successive-Carrier Legs: add ordered legs (carrier, origin/destination country, vehicle, driver) for groupage or multi-haulier journeys, printed in Box 17
- ADR Dangerous Goods per Goods Line: UN number, proper shipping name, ADR class, packing group, tunnel restriction code and net quantity - with 15 pre-loaded ADR classes carrying a sensible default transport category
- Built-in ADR 1.1.3.6 "1000-Points" Calculator: multiplies each dangerous-goods line's net quantity by its transport-category factor (50/3/1/0) and flags the consignment exempt only when the total is ≤1000 points and no line sits in Category 0 (which never qualifies, regardless of quantity)
- Dangerous Goods Transport Document Section: the printed CMR automatically grows an ADR 5.4.1-style declaration block - UN numbers, shipping names, classes, packing groups, tunnel codes and the 1000-points result - whenever a consignment carries dangerous goods
- CSV Export: one click streams every dangerous-goods line's UN number, transport category, packing group, tunnel code, net quantity and ADR points to CSV for a roadside inspection, customs audit, or your own compliance archive
- Guarded Workflow: Draft -> Issued -> In Transit -> Delivered, plus Cancel/Reset to Draft. Issuing is blocked with a clear error listing exactly which header fields (sender, consignee, carrier, places) or goods lines are still missing - never a silent no-op
- Print-Ready QWeb PDF: a clean, fully-labelled rendition of all 24 boxes, charges totals, and signature blocks with embedded signature images
- Security Groups: CMR User and CMR Manager, with company-scoped record rules and manager-only Reset to Draft / ADR-class configuration
- Well Tested: automated TransactionCase tests covering the full workflow, both ADR exemption paths (within limit and Category 0 override), the unlink guard, and the Delivery Order integration
Generate the CMR Note
Click Create CMR Note on a done outgoing Delivery Order (sender, consignee and goods lines pre-fill automatically), from a Road Transport Order's Generate CMR Note button, or start from scratch in CMR / Transport Docs -> Consignment Notes -> New.
Complete the Boxes & Flag Dangerous Goods
Fill in whatever the source document didn't already supply - carrier, vehicle registration, instructions, charges. On any goods line carrying hazardous material, tick Dangerous Goods, pick the ADR class (its default transport category and hazard label fill in automatically) and enter the net quantity - the ADR 1.1.3.6 Exemption panel updates live.
Issue & Print
Click Issue - if any of sender, consignee, carrier, the two places, or a goods line is still missing, the module tells you exactly which one. Click Print CMR for the full 24-box PDF (with the ADR 5.4.1 declaration block if applicable), or Export ADR CSV to hand the dangerous-goods data to compliance.
Start Transit
Click Start Transit once the truck leaves - the printed CMR travels with the driver as the legal contract of carriage and, where applicable, the ADR transport document.
Mark Delivered
Once the consignee signs, capture their signature and name on Box 24 and click Mark Delivered - the delivery timestamp is stamped automatically if not already set, and the record is done.
Consignment Notes List
Draft, Issued, In Transit and Delivered notes side by side, with a colour-coded status badge and a Dangerous Goods column visible at a glance.
Dangerous Goods Consignment - In Transit
The red "Dangerous Goods" ribbon appears automatically once any goods line is ADR-flagged. Once a note is Issued, every declared field locks - shown here as plain text, not editable inputs - so the record stays a fixed, defensible document exactly like the real CMR contract of carriage.
Instructions, Reservations & Charges (Boxes 13-20)
Sender's instructions, carrier's reservations, special agreements, freight terms and the full charges breakdown with an auto-computed total.
Signatures (Boxes 21-24)
Sender, carrier and consignee signature capture stay editable through Issued and In Transit - evidence captured as the physical journey happens - and lock for good the moment the note is marked Delivered.
Road Transport Order
Carrier, driver and ADR certification for the vehicle run, with a live CMR Notes count and a one-click Generate CMR Note button.
Pre-loaded ADR Classes
15 ADR classes ready to use out of the box, each with a default 1.1.3.6 transport category, hazard label and orange-placard flag - always editable per class or overridable per goods line.
A real render straight out of this module - not a mockup. Every box is numbered and labelled; the red-bordered Dangerous Goods block only appears when a consignment actually carries ADR-flagged lines, together with the computed 1.1.3.6 exemption result.
Each dangerous-goods line's net quantity (kg/L) is multiplied by its ADR transport-category factor; the totals are summed per consignment note. A consignment is exempt from the full ADR requirements only when the total is at or below 1000 points and no line sits in Category 0, which has no quantity-based exemption at all.
| Transport Category | Multiplier | Typical Classes | Exemption Behaviour |
|---|---|---|---|
| 0 | N/A | Explosives, infectious substances, radioactive material | Never exempt, any quantity |
| 1 | × 50 | Toxic gases, organic peroxides | Exempt up to 20 kg/L |
| 2 | × 3 | Flammable liquids, oxidizers | Exempt up to ~333 kg/L |
| 3 | × 1 | Flammable solids, corrosives | Exempt up to 1000 kg/L |
| 4 | × 0 | Limited/excepted quantities | Always exempt |
The transport category on each goods line defaults from its ADR class but is always editable - the real ADR table also depends on packing group, which a class-level default can't capture precisely.
- Copy
cmr_doc_generatorinto your addons path. - Update Apps List, search for CMR Consignment Note & Transport Doc Generator, and install.
- Open CMR / Transport Docs from the app switcher.
- (Optional) Review the pre-loaded ADR classes under Configuration -> ADR Classes.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) |
| Lines of code | 1476 |
| Technical Name |
cmr_doc_generator |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
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