Repository
OCA/edi · module folder · Try on Runboat
Module version
1.0.0
Category
Sales Management
Folder size
0.17 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
Camptocamp, Akretion, Odoo Community Association (OCA)
Maintainers
Camptocamp, Akretion, Odoo Community Association (OCA)
Committers
Ricardoalso, OCA-git-bot, oca-ci
Odoo dependencies
OCA/community-data-files:
OCA/edi:
OCA/reporting-engine:
OCA/sale-workflow:
OCA/server-tools:
odoo/odoo:
- web
- bus
- uom
- utm
Python dependencies
None
System dependencies
None
Required by
None
Description
This module adds support for the import of electronic RFQ or orders.
This module provides the base methods to import electronic orders, and
you can also plug additional formats by extending the wizard. It
requires additional modules to support specific order formats:

- module *sale_order_import_ubl*: adds support for [Universal Business
  Language (UBL)](http://ubl.xml.org/) RFQs and orders as:
  - XML file,
  - PDF file with an embedded XML file.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
sale_order_import_form sale.order.import.form sale.order.import form New
skip_error_line_value_message skip_error_line_value_message ir.ui.view qweb New
skip_error_lines_message skip_error_lines_message ir.ui.view qweb New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (2)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (14)
  • commercial_partner_id Many2one → res.partner
    readonly=True string='Commercial Entity' args: 'res.partner'
  • confirm_order Boolean
    default=False
  • create_missing_invoice_partner Boolean
    default=False
  • create_missing_shipping_partner Boolean
    default=False
  • doc_type Selection
    readonly=True string='Document Type' args: [('rfq', 'Request For Quotation'), ('order', 'Sale Order')]
  • import_type Selection
    default=None help='Select a type which you want to import' required=True args: [('xml', 'XML'), ('pdf', 'PDF')]
  • order_file Binary
    help='Upload a Request for Quotation or an Order file. Supported formats: XML and PDF (PDF with an embeded XML file).' required=True string='Request for Quotation or Order'
  • order_filename Char
    string='Filename'
  • partner_id Many2one → res.partner
    string='Customer' args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    readonly=True string='Shipping Address' args: 'res.partner'
  • price_source Selection
    default='pricelist' selection=[('pricelist', 'Pricelist'), ('order', 'Customer Order')] string='Apply Prices From'
  • sale_id Many2one → sale.order
    string='Quotation to Update' args: 'sale.order'
  • skip_error_lines Boolean
    help='Ignore and push all error lines to the chatter when importing if enabled.'
  • state Selection
    default='import' args: [('import', 'Import'), ('update', 'Update')]
Public methods (11)
  • create_order(self, parsed_order, price_source, order_filename=None)
    @api.model
  • create_order_button(self)
  • create_order_return_action(self, parsed_order, order_filename)
  • create_order_ws(self, parsed_order, price_source, order_filename=None)
    @api.model
    Same method as create_order() but callable via JSON-RPC webservice. Returns an ID to avoid this error: TypeError: sale.order(15,) is not JSON serializable
  • import_order_button(self)
  • order_file_change(self)
    @api.onchange('order_file')
  • parse_order(self, order_file, order_filename, partner=False)
    @api.model
  • parse_pdf_order(self, order_file, detect_doc_type=False)
    @api.model
    Get PDF attachments, filter on XML files and call import_order_xml
  • parse_xml_order(self, data, detect_doc_type=False)
    @api.model
  • update_order_button(self)
  • update_order_lines(self, parsed_order, order, price_source)
    @api.model

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…