TIP: You can type at any time to perform a new search.
Sale Product Identification Numbers
sale_product_identification · OCA/sale-workflow
- Repository
- OCA/sale-workflow · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Uncategorized
- Folder size
- 0.31 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/sale-workflow
- Last tracking update
- 2026-08-07 08:42:48
- Authors
- Odoo Community Association (OCA), Binhex
- Maintainers
- Odoo Community Association (OCA), Binhex
- Committers
- Weblate, OCA-git-bot, oca-ci, Edilio Escalona Almira
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Sometimes, when selling a product, it is necessary to require documentation (authorization, ID, etc.) from the customer to justify the sale. Examples: Sale of a corrosive product: A document authorizing its handling is required. To control this process, we configure a Corrosive category in the product listing. Sale of alcohol: In this case, sales to minors are not permitted. To control this process, we configure a Minor category in the product listing. This module allows you to control these processes through identifications in the product listing. Please note that this functionality depends on the partner_identification module. For detailed setup and configuration, please refer to that addon's documentation.
Code Analysis ⓘ
Views touched (2)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
confirm_identification_view |
Confirm identifications | confirm.identification | form | New |
product_template_only_form_view |
product.template.form.view.sale.product.identification | product.template | form | Inherits product.product_template_only_form_view |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (5)
New fields (2)
-
messageText -
order_idsMany2many → sale.orderstring='Orders' args: 'sale.order'
-
confirm_identification(self)
New fields (2)
-
product_tmpl_category_idsOne2many → product.template.id_categoryargs: 'product.template.id_category', 'product_tmpl_id' -
required_identificationBooleandefault=False
No public methods.
New fields (4)
-
category_idMany2one → res.partner.id_categoryargs: 'res.partner.id_category' -
is_mandatoryBooleandefault=Truehelp='Defines whether identification is mandatory.' -
messageTexthelp='Allows you to define a description of why this identification is being added.\nExample: Asking the customer for identification' -
product_tmpl_idMany2one → product.templateargs: 'product.template'
No public methods.
New fields (0)
No new fields.
Public methods (2)-
message_error_identifications(self, product_tmpl_ids, diff_identification_ids, required=False)@api.modelDefine a message identifications by product :param product_tmpl_ids: Products that have at least one identification category defined. :param diff_identification_ids: Required or optional identifications. :param required: Defines whether what is being validated is required or not. :return: A message with the identification categories per product. -
validate_identification(self, **params)@api.modelAllows you to obtain the difference between 2 recordset IDs :param params: A dictionary of values where at least the value 'compare_identification_ids' and 'partner_id' must be present to validate the identifications :return: A set of records with the difference between submitted identifications and those of the partner
New fields (0)
No new fields.
Public methods (1)-
action_confirm(self)
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 66 days ago
- Last activity
- 43 days ago
- Repository
- OCA/sale-workflow
- Pull request
- [19.0][MIG] sale_product_identification: Migration to 19.0 (#4402)