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.model
    The 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…