OdooWiki OCA HUB

ADR Dangerous Goods

l10n_eu_product_adr folder_open OCA/community-data-files open_in_new
Inventory/Delivery License: AGPL-3

This addon adds possibility to mark products with dangerous class due to European Agreement concerning the International Carriage of Dangerous Goods by Road (ADR)

If your products contain dangerous product or waste you can link the relevant ADR goods to each product.

Based on the dangerous goods classes and the product quantities or weights, the picking will show the number of ADR points on the Other Info tab.

Read more Unece standards

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Mark products as dangerous goods with their ADR class, UN number, labels and packing instructions, and see an ADR points total on each transfer.

This module lets you record the European ADR dangerous-goods information for your products and shows a calculated ADR points figure on warehouse transfers.

  • On a storable product you get a "Dangerous Goods" tab (visible to users with the ADR Goods User group). Tick "is dangerous" and pick the matching dangerous goods entry; the class, classification code, labels, limited quantity, packing instructions, transport category and tunnel restriction code are then filled in automatically from that entry.
  • If a product has several variants, you can set different dangerous goods per variant; Odoo then warns you to configure each variant separately instead of changing it on the template.
  • A configuration menu "Dangerous Goods" (under Inventory settings) holds the reference lists: Dangerous Goods, Classes, Labels and Packing Instructions. Classes, labels and packing instructions are only shown to technical users; the main Dangerous Goods list is available to ADR users.
  • Business rules: a UN number must be exactly 4 characters; class codes must be unique; a label that is still used by a dangerous goods entry cannot be deleted.
  • On a transfer, the "Other Info" tab shows ADR points. Each line contributes points based on the product's weight (or quantity) multiplied by a factor taken from its UN number or transport category; the transfer total is the sum of its lines.

Depends on

stock

Menus it adds

Dangerous GoodsDangerous GoodsDangerous Goods ClassesDangerous Goods Packing InstructionsDangerous Goods Labels
Models and fields (8)
  • adr.class · new modelcode, name
  • adr.goods · new modelname (Name and description), active, class_id (Class), label_ids (Labels), un_number (UN Number), limited_quantity, transport_category, classification_code, limited_quantity_uom_id (Limited Quantity UoM), packing_instruction_ids (Packing Instructions), tunnel_restriction_code
  • adr.label · new modelcode, name, image, class_id (Class), goods_ids (ADR Goods)
  • stock.move · extends an existing modeladr_points (ADR Points)
  • stock.picking · extends an existing modeladr_points (ADR Points)
  • product.product · extends an existing modeladr_class_id, adr_goods_id, is_dangerous, adr_label_ids, adr_limited_quantity, adr_transport_category, adr_classification_code, adr_limited_quantity_uom_id, adr_packing_instruction_ids, adr_tunnel_restriction_code
  • product.template · extends an existing modeladr_class_id, adr_goods_id, is_dangerous, adr_label_ids, adr_limited_quantity, adr_goods_on_variants, adr_transport_category, adr_classification_code, adr_limited_quantity_uom_id, adr_packing_instruction_ids, adr_tunnel_restriction_code
  • adr.packing.instruction · new modelcode, name

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 5 confirmed, 4 with no information of 9 versions.

Sources · Odoo 13.0

Confirmed on 2026-11-03 in branch 13.0 of OCA/community-data-files.

terminal Installation and usage

OCA documentation · Odoo 19.0

On the product form, you can mark a product as dangerous. That will enable a new tab on the product form's notebook on which you can select the dangerous goods that applies to this particular product, out of a list of dangerous goods that represents Table A from chapter 3 of the ADR specifications document.

It is possible to specify a different, or no goods per product variant.

The data in this module is generated based on a spreadsheet from . This spreadsheet, just like the specifications themselves sometimes contain multiple options for each dangerous good, or additional restrictions that apply. That complexity is not encoded in the data in this module. For each dangerous goods that you configure on the products in your database, you should verify the correctness of the data against the latest version of the specifications and in case of additional restrictions or multiple options for the dangerous goods you should configure the goods according to the situation in your warehouse. You can access the configuration of the dangerous goods using menu Inventory -\> Configuration -\> Dangerous Goods.

The number of ADR points on the picking is based on the product weight field if it is filled in, or otherwise on the UoM quantity in the product's reference UoM (presumably Liter or Kilogram).

This module defines an ADR user group and an ADR admin group. Membership of one of these groups is required to access the product tab with the ADR info. By default, all inventory users are added to the ADR user group.

No verified information in OCA: Installation, Usage.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.