| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/community-data-files |
| GIT | |
| GIT | https://github.com/OCA/community-data-files.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/community-data-files/tree/19.0/l10n_eu_product_adr |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Inventory/Delivery |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp, Opener B.V. |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp, Opener B.V. |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Maksym Yankin |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/community-data-files |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:50 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - html_editor - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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 <https://en.wikipedia.org/wiki/ADR_(treaty)> Unece standards <https://unece.org/transportdangerous-goods/adr-2021-files> |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
adr_class_view_search |
adr.class | search | New | |
adr_class_view_tree |
adr.class | list | New | |
adr_goods_view_form |
adr.goods | form | New | |
adr_goods_view_search |
adr.goods | search | New | |
adr_goods_view_tree |
adr.goods | list | New | |
adr_label_kanban_form |
adr.label | kanban | New | |
adr_label_view_form |
adr.label | form | New | |
adr_label_view_search |
adr.label | search | New | |
adr_packing_instruction_view_search |
adr.packing.instruction | search | New | |
adr_packing_instruction_view_tree |
adr.packing.instruction | list | New | |
product_normal_form_view |
Dangerous goods settings on variants | product.product | page | Inherits product.product_normal_form_view |
product_template_form_view |
product.template.dangerous.class | product.template | xpath | Inherits product.product_template_form_view |
view_picking_form |
stock.picking | group | Inherits stock.view_picking_form |
code
Char
required=True
name
Char
required=True
translate=True
No public methods.
active
Boolean
default=True
class_id
Many2one → adr.class
comodel_name='adr.class'
required=True
string='Class'
classification_code
Char
label_ids
Many2many → adr.label
comodel_name='adr.label'
help='The labels/placards (see 5.2.2.2 and 5.3.1.7) that have to be affixed to packages, containers, tank-containers, portable tanks, MEGCs and vehicles.)'
string='Labels'
limited_quantity
Float
digits='Product Unit of Measure'
limited_quantity_uom_id
Many2one → uom.uom
string='Limited Quantity UoM'
args: 'uom.uom'
name
Char
help="Contains, in upper case characters, the name of the substance or article, if the substance or article has been assigned its own specific UN number, or of the generic or n.o.s. entry to which it has been assigned in accordance with the criteria ('decision trees') of Part 2. This name shall be used as the proper shipping name or, when applicable, as part of the proper shipping name (see 3.1.2 for further details on the proper shipping name)."
required=True
translate=True
args: 'Name and description'
packing_instruction_ids
Many2many → adr.packing.instruction
comodel_name='adr.packing.instruction'
string='Packing Instructions'
transport_category
Selection
required=True
args: TRANSPORT_CATEGORIES
tunnel_restriction_code
Selection
required=True
args: TUNNEL_RESTRICTION_CODES
un_number
Char
help="Contains the UN number: of the dangerous substance or article if the substance or article has been assigned its own specific UN number; or of the generic or n.o.s. entry to which the dangerous substances or articles not mentioned by name shall be assigned in accordance with the criteria ('decision trees') of Part 2."
required=True
string='UN Number'
No public methods.
class_id
Many2one → adr.class
comodel_name='adr.class'
required=True
string='Class'
code
Char
required=True
goods_ids
Many2many → adr.goods
comodel_name='adr.goods'
copy=False
help='The dangerous goods to which this label is applied'
string='ADR Goods'
image
Binary
required=True
name
Char
required=True
translate=True
unlink(self)
code
Char
required=True
name
Char
translate=True
No public methods.
adr_class_id
Many2one → adr.class
related='adr_goods_id.class_id'
args: 'adr.class'
adr_classification_code
Char
related='adr_goods_id.classification_code'
adr_goods_id
Many2one → adr.goods
adr_label_ids
Many2many → adr.label
related='adr_goods_id.label_ids'
args: 'adr.label'
adr_limited_quantity
Float
related='adr_goods_id.limited_quantity'
adr_limited_quantity_uom_id
Many2one
related='adr_goods_id.limited_quantity_uom_id'
adr_packing_instruction_ids
Many2many → adr.packing.instruction
related='adr_goods_id.packing_instruction_ids'
args: 'adr.packing.instruction'
adr_transport_category
Selection
related='adr_goods_id.transport_category'
adr_tunnel_restriction_code
Selection
related='adr_goods_id.tunnel_restriction_code'
is_dangerous
Boolean
compute='_compute_is_dangerous'
help='This product belongs to a dangerous class'
inverse='_inverse_is_dangerous'
readonly=False
store=True
create(self, vals_list)
adr_class_id
Many2one → adr.class
related='product_variant_ids.adr_goods_id.class_id'
args: 'adr.class'
adr_classification_code
Char
related='adr_goods_id.classification_code'
adr_goods_id
Many2one → adr.goods
readonly=False
related='product_variant_ids.adr_goods_id'
args: 'adr.goods', 'Dangerous Goods'
adr_goods_on_variants
Boolean
compute='_compute_adr_goods_on_variants'
help='Indicates whether the adr configuration is different for each variant.'
adr_label_ids
Many2many → adr.label
related='product_variant_ids.adr_goods_id.label_ids'
args: 'adr.label'
adr_limited_quantity
Float
related='product_variant_ids.adr_goods_id.limited_quantity'
adr_limited_quantity_uom_id
Many2one
related='product_variant_ids.adr_goods_id.limited_quantity_uom_id'
adr_packing_instruction_ids
Many2many → adr.packing.instruction
related='product_variant_ids.adr_goods_id.packing_instruction_ids'
args: 'adr.packing.instruction'
adr_transport_category
Selection
related='product_variant_ids.adr_goods_id.transport_category'
adr_tunnel_restriction_code
Selection
related='product_variant_ids.adr_goods_id.tunnel_restriction_code'
is_dangerous
Boolean
help='This product belongs to a dangerous class'
readonly=False
related='product_variant_ids.is_dangerous'
create(self, vals_list)
onchange_is_dangerous(self)
write(self, values)
adr_points
Float
compute='_compute_adr_points'
compute_sudo=True
digits='Product Unit of Measure'
string='ADR Points'
No public methods.
adr_points
Float
compute='_compute_adr_points'
digits='Product Unit of Measure'
string='ADR Points'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/community-data-files |
| GIT | |
| GIT | https://github.com/OCA/community-data-files.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/community-data-files/tree/18.0/l10n_eu_product_adr |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Inventory/Delivery |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp, Opener B.V. |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp, Opener B.V. |
| COMMITTERS | |
| COMMITTERS | Ruchir Shukla, Weblate, OCA-git-bot, oca-ci, chaule97 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/community-data-files |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - html_editor - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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 <https://en.wikipedia.org/wiki/ADR_(treaty)> Unece standards <https://unece.org/transportdangerous-goods/adr-2021-files> |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
adr_class_view_search |
adr.class | search | New | |
adr_class_view_tree |
adr.class | list | New | |
adr_goods_view_form |
adr.goods | form | New | |
adr_goods_view_search |
adr.goods | search | New | |
adr_goods_view_tree |
adr.goods | list | New | |
adr_label_kanban_form |
adr.label | kanban | New | |
adr_label_view_form |
adr.label | form | New | |
adr_label_view_search |
adr.label | search | New | |
adr_packing_instruction_view_search |
adr.packing.instruction | search | New | |
adr_packing_instruction_view_tree |
adr.packing.instruction | list | New | |
product_normal_form_view |
Dangerous goods settings on variants | product.product | page | Inherits product.product_normal_form_view |
product_template_form_view |
product.template.dangerous.class | product.template | xpath | Inherits product.product_template_form_view |
view_picking_form |
stock.picking | group | Inherits stock.view_picking_form |
code
Char
required=True
name
Char
required=True
translate=True
name_search(self, name='', args=None, operator='ilike', limit=100)
active
Boolean
default=True
class_id
Many2one → adr.class
comodel_name='adr.class'
required=True
string='Class'
classification_code
Char
label_ids
Many2many → adr.label
comodel_name='adr.label'
help='The labels/placards (see 5.2.2.2 and 5.3.1.7) that have to be affixed to packages, containers, tank-containers, portable tanks, MEGCs and vehicles.)'
string='Labels'
limited_quantity
Float
digits='Product Unit of Measure'
limited_quantity_uom_id
Many2one → uom.uom
string='Limited Quantity UoM'
args: 'uom.uom'
name
Char
help="Contains, in upper case characters, the name of the substance or article, if the substance or article has been assigned its own specific UN number, or of the generic or n.o.s. entry to which it has been assigned in accordance with the criteria ('decision trees') of Part 2. This name shall be used as the proper shipping name or, when applicable, as part of the proper shipping name (see 3.1.2 for further details on the proper shipping name)."
required=True
translate=True
args: 'Name and description'
packing_instruction_ids
Many2many → adr.packing.instruction
comodel_name='adr.packing.instruction'
string='Packing Instructions'
transport_category
Selection
required=True
args: TRANSPORT_CATEGORIES
tunnel_restriction_code
Selection
required=True
args: TUNNEL_RESTRICTION_CODES
un_number
Char
help="Contains the UN number: of the dangerous substance or article if the substance or article has been assigned its own specific UN number; or of the generic or n.o.s. entry to which the dangerous substances or articles not mentioned by name shall be assigned in accordance with the criteria ('decision trees') of Part 2."
required=True
string='UN Number'
name_search(self, name='', args=None, operator='ilike', limit=100)
class_id
Many2one → adr.class
comodel_name='adr.class'
required=True
string='Class'
code
Char
required=True
goods_ids
Many2many → adr.goods
comodel_name='adr.goods'
copy=False
help='The dangerous goods to which this label is applied'
string='ADR Goods'
image
Binary
required=True
name
Char
required=True
translate=True
unlink(self)
code
Char
required=True
name
Char
translate=True
No public methods.
adr_class_id
Many2one → adr.class
related='adr_goods_id.class_id'
args: 'adr.class'
adr_classification_code
Char
related='adr_goods_id.classification_code'
adr_goods_id
Many2one → adr.goods
adr_label_ids
Many2many → adr.label
related='adr_goods_id.label_ids'
args: 'adr.label'
adr_limited_quantity
Float
related='adr_goods_id.limited_quantity'
adr_limited_quantity_uom_id
Many2one
related='adr_goods_id.limited_quantity_uom_id'
adr_packing_instruction_ids
Many2many → adr.packing.instruction
related='adr_goods_id.packing_instruction_ids'
args: 'adr.packing.instruction'
adr_transport_category
Selection
related='adr_goods_id.transport_category'
adr_tunnel_restriction_code
Selection
related='adr_goods_id.tunnel_restriction_code'
is_dangerous
Boolean
help='This product belongs to a dangerous class'
create(self, vals_list)
onchange_is_dangerous(self)
adr_class_id
Many2one → adr.class
related='product_variant_ids.adr_goods_id.class_id'
args: 'adr.class'
adr_classification_code
Char
related='adr_goods_id.classification_code'
adr_goods_id
Many2one → adr.goods
readonly=False
related='product_variant_ids.adr_goods_id'
args: 'adr.goods', 'Dangerous Goods'
adr_goods_on_variants
Boolean
compute='_compute_adr_goods_on_variants'
help='Indicates whether the adr configuration is different for each variant.'
adr_label_ids
Many2many → adr.label
related='product_variant_ids.adr_goods_id.label_ids'
args: 'adr.label'
adr_limited_quantity
Float
related='product_variant_ids.adr_goods_id.limited_quantity'
adr_limited_quantity_uom_id
Many2one
related='product_variant_ids.adr_goods_id.limited_quantity_uom_id'
adr_packing_instruction_ids
Many2many → adr.packing.instruction
related='product_variant_ids.adr_goods_id.packing_instruction_ids'
args: 'adr.packing.instruction'
adr_transport_category
Selection
related='product_variant_ids.adr_goods_id.transport_category'
adr_tunnel_restriction_code
Selection
related='product_variant_ids.adr_goods_id.tunnel_restriction_code'
is_dangerous
Boolean
help='This product belongs to a dangerous class'
readonly=False
related='product_variant_ids.is_dangerous'
create(self, vals_list)
onchange_is_dangerous(self)
write(self, values)
adr_points
Float
compute='_compute_adr_points'
compute_sudo=True
digits='Product Unit of Measure'
string='ADR Points'
No public methods.
adr_points
Float
compute='_compute_adr_points'
digits='Product Unit of Measure'
string='ADR Points'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/community-data-files |
| GIT | |
| GIT | https://github.com/OCA/community-data-files.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/community-data-files/tree/17.0/l10n_eu_product_adr |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Inventory/Delivery |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp, Opener B.V. |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp, Opener B.V. |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, r.perez |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/community-data-files |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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 <https://en.wikipedia.org/wiki/ADR_(treaty)> Unece standards <https://unece.org/transportdangerous-goods/adr-2021-files> |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
adr_class_view_search |
adr.class | search | New | |
adr_class_view_tree |
adr.class | tree | New | |
adr_goods_view_form |
adr.goods | form | New | |
adr_goods_view_search |
adr.goods | search | New | |
adr_goods_view_tree |
adr.goods | tree | New | |
adr_label_kanban_form |
adr.label | kanban | New | |
adr_label_view_form |
adr.label | form | New | |
adr_label_view_search |
adr.label | search | New | |
adr_packing_instruction_view_search |
adr.packing.instruction | search | New | |
adr_packing_instruction_view_tree |
adr.packing.instruction | tree | New | |
product_normal_form_view |
Dangerous goods settings on variants | product.product | page | Inherits product.product_normal_form_view |
product_template_form_view |
product.template.dangerous.class | product.template | xpath | Inherits product.product_template_form_view |
view_picking_form |
stock.picking | group | Inherits stock.view_picking_form |
code
Char
required=True
name
Char
required=True
translate=True
name_search(self, name='', args=None, operator='ilike', limit=100)
active
Boolean
default=True
class_id
Many2one → adr.class
comodel_name='adr.class'
required=True
string='Class'
classification_code
Char
label_ids
Many2many → adr.label
comodel_name='adr.label'
help='The labels/placards (see 5.2.2.2 and 5.3.1.7) that have to be affixed to packages, containers, tank-containers, portable tanks, MEGCs and vehicles.)'
string='Labels'
limited_quantity
Float
digits='Product Unit of Measure'
limited_quantity_uom_id
Many2one → uom.uom
string='Limited Quantity UoM'
args: 'uom.uom'
name
Char
help="Contains, in upper case characters, the name of the substance or article, if the substance or article has been assigned its own specific UN number, or of the generic or n.o.s. entry to which it has been assigned in accordance with the criteria ('decision trees') of Part 2. This name shall be used as the proper shipping name or, when applicable, as part of the proper shipping name (see 3.1.2 for further details on the proper shipping name)."
required=True
translate=True
args: 'Name and description'
packing_instruction_ids
Many2many → adr.packing.instruction
comodel_name='adr.packing.instruction'
string='Packing Instructions'
transport_category
Selection
required=True
args: TRANSPORT_CATEGORIES
tunnel_restriction_code
Selection
required=True
args: TUNNEL_RESTRICTION_CODES
un_number
Char
help="Contains the UN number: of the dangerous substance or article if the substance or article has been assigned its own specific UN number; or of the generic or n.o.s. entry to which the dangerous substances or articles not mentioned by name shall be assigned in accordance with the criteria ('decision trees') of Part 2."
required=True
string='UN Number'
name_search(self, name='', args=None, operator='ilike', limit=100)
class_id
Many2one → adr.class
comodel_name='adr.class'
required=True
string='Class'
code
Char
required=True
goods_ids
Many2many → adr.goods
comodel_name='adr.goods'
copy=False
help='The dangerous goods to which this label is applied'
string='ADR Goods'
image
Binary
required=True
name
Char
required=True
translate=True
unlink(self)
code
Char
required=True
name
Char
translate=True
No public methods.
adr_class_id
Many2one → adr.class
related='adr_goods_id.class_id'
args: 'adr.class'
adr_classification_code
Char
related='adr_goods_id.classification_code'
adr_goods_id
Many2one → adr.goods
adr_label_ids
Many2many → adr.label
related='adr_goods_id.label_ids'
args: 'adr.label'
adr_limited_quantity
Float
related='adr_goods_id.limited_quantity'
adr_limited_quantity_uom_id
Many2one
related='adr_goods_id.limited_quantity_uom_id'
adr_packing_instruction_ids
Many2many → adr.packing.instruction
related='adr_goods_id.packing_instruction_ids'
args: 'adr.packing.instruction'
adr_transport_category
Selection
related='adr_goods_id.transport_category'
adr_tunnel_restriction_code
Selection
related='adr_goods_id.tunnel_restriction_code'
is_dangerous
Boolean
help='This product belongs to a dangerous class'
create(self, vals_list)
onchange_is_dangerous(self)
adr_class_id
Many2one → adr.class
related='product_variant_ids.adr_goods_id.class_id'
args: 'adr.class'
adr_classification_code
Char
related='adr_goods_id.classification_code'
adr_goods_id
Many2one → adr.goods
readonly=False
related='product_variant_ids.adr_goods_id'
args: 'adr.goods', 'Dangerous Goods'
adr_goods_on_variants
Boolean
compute='_compute_adr_goods_on_variants'
help='Indicates whether the adr configuration is different for each variant.'
adr_label_ids
Many2many → adr.label
related='product_variant_ids.adr_goods_id.label_ids'
args: 'adr.label'
adr_limited_quantity
Float
related='product_variant_ids.adr_goods_id.limited_quantity'
adr_limited_quantity_uom_id
Many2one
related='product_variant_ids.adr_goods_id.limited_quantity_uom_id'
adr_packing_instruction_ids
Many2many → adr.packing.instruction
related='product_variant_ids.adr_goods_id.packing_instruction_ids'
args: 'adr.packing.instruction'
adr_transport_category
Selection
related='product_variant_ids.adr_goods_id.transport_category'
adr_tunnel_restriction_code
Selection
related='product_variant_ids.adr_goods_id.tunnel_restriction_code'
is_dangerous
Boolean
help='This product belongs to a dangerous class'
readonly=False
related='product_variant_ids.is_dangerous'
create(self, vals_list)
onchange_is_dangerous(self)
write(self, values)
adr_points
Float
compute='_compute_adr_points'
compute_sudo=True
digits='Product Unit of Measure'
string='ADR Points'
No public methods.
adr_points
Float
compute='_compute_adr_points'
digits='Product Unit of Measure'
string='ADR Points'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/community-data-files |
| GIT | |
| GIT | https://github.com/OCA/community-data-files.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/community-data-files/tree/14.0/l10n_eu_product_adr |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Inventory/Delivery |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp, Opener B.V. |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp, Opener B.V. |
| COMMITTERS | |
| COMMITTERS | Stefan Rijnhart, oca-travis, Weblate, OCA-git-bot, MmeQuignon |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/community-data-files |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:11 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
adr_class_view_search |
adr.class | search | New | |
adr_class_view_tree |
adr.class | tree | New | |
adr_goods_view_form |
adr.goods | form | New | |
adr_goods_view_search |
adr.goods | search | New | |
adr_goods_view_tree |
adr.goods | tree | New | |
adr_label_kanban_form |
adr.label | kanban | New | |
adr_label_view_form |
adr.label | form | New | |
adr_label_view_search |
adr.label | search | New | |
adr_packing_instruction_view_search |
adr.packing.instruction | search | New | |
adr_packing_instruction_view_tree |
adr.packing.instruction | tree | New | |
product_normal_form_view |
Dangerous goods settings on variants | product.product | page | Inherits product.product_normal_form_view |
product_template_form_view |
product.template.dangerous.class | product.template | xpath | Inherits product.product_template_form_view |
view_picking_form |
stock.picking | group | Inherits stock.view_picking_form |
code
Char
required=True
name
Char
required=True
translate=True
name_get(self)
name_search(self, name='', args=None, operator='ilike', limit=100)
active
Boolean
default=True
class_id
Many2one → adr.class
comodel_name='adr.class'
required=True
string='Class'
classification_code
Char
label_ids
Many2many → adr.label
comodel_name='adr.label'
help='The labels/placards (see 5.2.2.2 and 5.3.1.7) that have to be affixed to packages, containers, tank-containers, portable tanks, MEGCs and vehicles.)'
string='Labels'
limited_quantity
Float
digits='Product Unit of Measure'
limited_quantity_uom_id
Many2one → uom.uom
string='Limited Quantity UoM'
args: 'uom.uom'
name
Char
help="Contains, in upper case characters, the name of the substance or article, if the substance or article has been assigned its own specific UN number, or of the generic or n.o.s. entry to which it has been assigned in accordance with the criteria ('decision trees') of Part 2. This name shall be used as the proper shipping name or, when applicable, as part of the proper shipping name (see 3.1.2 for further details on the proper shipping name)."
required=True
translate=True
args: 'Name and description'
packing_instruction_ids
Many2many → adr.packing.instruction
comodel_name='adr.packing.instruction'
string='Packing Instructions'
transport_category
Selection
required=True
args: TRANSPORT_CATEGORIES
tunnel_restriction_code
Selection
required=True
args: TUNNEL_RESTRICTION_CODES
un_number
Char
help="Contains the UN number: of the dangerous substance or article if the substance or article has been assigned its own specific UN number; or of the generic or n.o.s. entry to which the dangerous substances or articles not mentioned by name shall be assigned in accordance with the criteria ('decision trees') of Part 2."
required=True
string='UN Number'
name_get(self)
name_search(self, name='', args=None, operator='ilike', limit=100)
class_id
Many2one → adr.class
comodel_name='adr.class'
required=True
string='Class'
code
Char
required=True
goods_ids
Many2many → adr.goods
comodel_name='adr.goods'
copy=False
help='The dangerous goods to which this label is applied'
string='ADR Goods'
image
Binary
required=True
name
Char
required=True
translate=True
unlink(self)
code
Char
required=True
name
Char
translate=True
No public methods.
adr_class_id
Many2one → adr.class
related='adr_goods_id.class_id'
args: 'adr.class'
adr_classification_code
Char
related='adr_goods_id.classification_code'
adr_goods_id
Many2one → adr.goods
adr_label_ids
Many2many → adr.label
related='adr_goods_id.label_ids'
args: 'adr.label'
adr_limited_quantity
Float
related='adr_goods_id.limited_quantity'
adr_limited_quantity_uom_id
Many2one
related='adr_goods_id.limited_quantity_uom_id'
adr_packing_instruction_ids
Many2many → adr.packing.instruction
related='adr_goods_id.packing_instruction_ids'
args: 'adr.packing.instruction'
adr_transport_category
Selection
related='adr_goods_id.transport_category'
adr_tunnel_restriction_code
Selection
related='adr_goods_id.tunnel_restriction_code'
is_dangerous
Boolean
help='This product belongs to a dangerous class'
create(self, vals_list)
onchange_is_dangerous(self)
adr_class_id
Many2one → adr.class
related='product_variant_ids.adr_goods_id.class_id'
args: 'adr.class'
adr_classification_code
Char
related='adr_goods_id.classification_code'
adr_goods_id
Many2one → adr.goods
readonly=False
related='product_variant_ids.adr_goods_id'
args: 'adr.goods', 'Dangerous Goods'
adr_goods_on_variants
Boolean
compute='_compute_adr_goods_on_variants'
help='Indicates whether the adr configuration is different for each variant.'
adr_label_ids
Many2many → adr.label
related='product_variant_ids.adr_goods_id.label_ids'
args: 'adr.label'
adr_limited_quantity
Float
related='product_variant_ids.adr_goods_id.limited_quantity'
adr_limited_quantity_uom_id
Many2one
related='product_variant_ids.adr_goods_id.limited_quantity_uom_id'
adr_packing_instruction_ids
Many2many → adr.packing.instruction
related='product_variant_ids.adr_goods_id.packing_instruction_ids'
args: 'adr.packing.instruction'
adr_transport_category
Selection
related='product_variant_ids.adr_goods_id.transport_category'
adr_tunnel_restriction_code
Selection
related='product_variant_ids.adr_goods_id.tunnel_restriction_code'
is_dangerous
Boolean
help='This product belongs to a dangerous class'
readonly=False
related='product_variant_ids.is_dangerous'
create(self, vals_list)
onchange_is_dangerous(self)
write(self, values)
adr_points
Float
compute='_compute_adr_points'
compute_sudo=True
digits='Product Unit of Measure'
string='ADR Points'
No public methods.
adr_points
Float
compute='_compute_adr_points'
digits='Product Unit of Measure'
string='ADR Points'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/community-data-files |
| GIT | |
| GIT | https://github.com/OCA/community-data-files.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/community-data-files/tree/13.0/l10n_eu_product_adr |
| VERSION | |
| VERSION | 2.1.0 |
| CATEGORY | |
| CATEGORY | Product |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | OCA Transbot, Thierry Ducrest, oca-travis, Weblate, OCA-git-bot, Iryna Vyshnevska, Matthieu Méquignon |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/community-data-files |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom - sale - sales_team - payment - account - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_dangerous_class_type_view_tree |
product.dangerous.class.type.tree | product.dangerous.class.type | tree | New |
product_dangerous_class_view_form |
product.dangerous.class.form | product.dangerous.class | form | New |
product_dangerous_class_view_tree |
product.dangerous.class.tree | product.dangerous.class | tree | New |
product_normal_form_view |
product.product.form.inherit | product.product | xpath | Inherits product.product_normal_form_view |
un_reference_form |
un.reference.form | un.reference | form | New |
name
Char
required=True
string='Name'
No public methods.
picking_ids
Many2many → stock.picking
string='Pickings'
args: 'stock.picking'
prepare_DG_data(self)
name
Char
required=True
string='Name'
translate=True
No public methods.
name
Char
required=True
string='Name'
No public methods.
name
Char
required=True
string='Name'
No public methods.
name
Char
required=True
string='Name'
No public methods.
class_type_id
Many2one → product.dangerous.class.type
comodel_name='product.dangerous.class.type'
ondelete='restrict'
string='Dangerous Type'
code
Char
required=True
complete_name
Char
compute='_compute_complete_name'
image
Binary
required=True
string='Icon'
name
Char
required=True
translate=True
No public methods.
division
Char
name
Char
required=True
translate=True
No public methods.
adr_amount
Char
string='LQ - ADR amount'
class_id
Many2one → great.class
content_package
Float
string='Content Packaging'
currency_id
Many2one → res.currency
default=<expr>
string='Currency'
args: 'res.currency'
dangerous_class_id
Many2one → product.dangerous.class
string='Dangerous class'
args: 'product.dangerous.class'
dangerous_selection_id
Many2one → dangerous.goods
dg_unit
Many2one → dangerous.uom
string='DG - Unit'
args: 'dangerous.uom'
envir_hazardous
Selection
string='Environmentally hazardous'
args: [('yes', 'Yes'), ('no', 'No')]
flash_point
Char
string='Flash point(°C)'
h_no
Char
string='H-No'
hazard_ind
Char
string='Hazard identification'
is_dangerous
Boolean
string='Dangerous product'
is_dangerous_good
Boolean
help='This product belongs to a dangerous class'
is_dangerous_waste
Boolean
help='Waste from this product belongs to a dangerous class'
label_first
Selection
string='Label 1'
args: LABELS_SELECTION
label_second
Selection
string='Label 2'
args: LABELS_SELECTION
label_third
Selection
string='Label 3'
args: LABELS_SELECTION
limited_amount_id
Many2one → limited.amount
nag
Char
string='N.A.G.'
packaging_group
Selection
string='Packaging Group'
args: [('1', '(-)'), ('2', 'I'), ('3', 'II'), ('4', 'III')]
packaging_type_id
Many2one → packaging.type
sds
Char
string='SDS'
storage_class_id
Many2one → storage.class
storage_temp_id
Many2one → storage.temp
transport_category
Selection
string='Transport Category'
args: TRANSPORT_CATEGORY
tunnel_code
Selection
string='Tunnel code'
args: [('1', '(-)'), ('2', '(D)'), ('3', '(E)'), ('4', '(D,E)')]
un_ref
Many2one → un.reference
string='UN Number'
args: 'un.reference'
un_report
Char
string='UN Report 38.3'
veg
Monetary
string='VEG in currency'
veva_code_empty
Char
string='VeVA Code: Empty packaging'
veva_code_full
Char
string='VeVA Code: Full package'
voc
Char
string='VOC in%'
wgk_class_id
Many2one → wgk.class
get_full_class_name(self)
name
Char
required=True
string='Name'
No public methods.
name
Char
required=True
string='Name'
translate=True
No public methods.
description
Char
required=True
string='Description'
translate=True
name
Char
required=True
string='Code'
name_get(self)
name_search(self, name, args=None, operator='ilike', limit=100)
name
Char
required=True
string='Name'
No public methods.