TIP: You can type at any time to perform a new search.
Base Business Document Import
base_business_document_import · OCA/edi
- Repository
- OCA/edi · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Tools
- Folder size
- 0.23 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/edi
- Last tracking update
- 2026-08-07 09:06:21
- Authors
- Akretion, Odoo Community Association (OCA), Nicolas JEUDY
- Maintainers
- Akretion, Odoo Community Association (OCA), Nicolas JEUDY
- Committers
- Iván Todorovich, Maksym Yankin, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- account_invoice_import, base_business_document_import_iban, despatch_advice_import, partner_identification_import, purchase_order_import, sale_order_import
- Description
This is a technical module ; it doesn't bring any useful feature by itself. This module is the base modules for 2 other modules : - *account_invoice_import* which imports supplier invoices as PDF or XML files (this module also requires some additional modules such as *account_invoice_import_invoice2data*, *account_invoice_import_ubl*, etc... to support specific invoice formats), - *sale_invoice_import* which imports sale orders as CSV, XML or PDF files (this module also requires some additional modules such as *sale_invoice_import_csv* or *sale_invoice_import_ubl* to support specific order formats)
Code Analysis ⓘ
Views touched (0)
No views found for this module.
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (1)
New fields (0)
No new fields.
Public methods (3)-
compare_lines(self, existing_lines, import_lines, chatter_msg, qty_precision=None, price_precision=None, seller=False)Example: existing_lines = [{ 'product': odoo_recordset, 'name': 'USB Adapter', 'qty': 1.5, 'price_unit': 23.43, # without taxes 'uom': uom, 'line': recordset, # Add taxes }] import_lines = [{ 'product': { 'barcode': '2100002000003', 'code': 'EAZY1', }, 'quantity': 2, 'price_unit': 12.42, # without taxes 'uom': {'unece_code': 'C62'}, }] Result of the method: { 'to_remove': line_multirecordset, 'to_add': [ { 'product': recordset1, 'uom', recordset, 'import_line': {import dict}, # We provide product and uom as recordset to avoid the # need to compute a second match ] 'to_update': { 'line1_recordset': {'qty': [1, 2], 'price_unit': [4.5, 4.6]}, # qty must be updated from 1 to 2 # price must be updated from 4.5 to 4.6 'line2_recordset': {'qty': [12, 13]}, # only qty must be updated } } The check existing_currency == import_currency must be done before the call to compare_lines() -
post_create_or_update(self, parsed_dict, record, doc_filename=None)@api.model -
user_error_wrap(self, method, data_dict, error_msg, chatter_msg, raise_exception)@api.modelThe method and data_dict arguments are useful when you want to inherit this method to update the error messag_match_currencye
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…