Purchase Order Import

purchase_order_import
REPOSITORY
REPOSITORYOCA/edi
GIT
GIThttps://github.com/OCA/edi.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/edi/tree/18.0/purchase_order_import
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSOCA-git-bot, SilvioC2C, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/edi
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/community-data-files:
    - uom_unece
    - account_tax_unece
    - base_unece
OCA/edi:
    - base_business_document_import
OCA/reporting-engine:
    - pdf_xml_attachment
odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds support for the import of electronic quotations. This module provides the base methods to import electronic quotations ; it requires additional modules to support specific order formats:

* module *purchase_order_import_ubl*: adds support for `Universal Business Language (UBL) <http://ubl.xml.org/>`_ quotations as:

  - XML file,
  - PDF file with an embedded XML file.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
purchase_order_form purchase_order_import.purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_import_form purchase.order.import.form purchase.order.import form New
purchase_order_response_import_form purchase.order.response.import.form purchase.order.response.import form New
Models touched (3)

New fields (1)
  • supplier_ack_received_on Datetime
    help='Date and time of the acknowledgement by the supplier. This field is filled by Odoo when processing a OrderResponse document.' index=True args: 'Supplier Acknowledgement Date'
Public methods (0)

No public methods.

New fields (4)
  • purchase_id Many2one → purchase.order
    readonly=True required=True string='RFQ to Update' args: 'purchase.order'
  • quote_file Binary
    help='Upload a quotation file that you received from your supplier. Supported formats: XML and PDF (PDF with an embeded XML file).' required=True string='XML or PDF Quotation'
  • quote_filename Char
    string='Filename'
  • update_option Selection
    default='price' required=True args: [('price', 'Price'), ('all', 'Price and Quantity')]
Public methods (5)
  • parse_pdf_quote(self, quote_file)
    @api.model
    Get PDF attachments, filter on XML files and call import_order_xml
  • parse_quote(self, quote_file, quote_filename)
    @api.model
  • parse_xml_quote(self, xml_root)
    @api.model
  • update_order_lines(self, parsed_quote, order)
  • update_rfq_button(self)

New fields (2)
  • document Binary
    help='Upload an Order response file that you received from your supplier. Supported formats: XML and PDF (PDF with an embeded XML file).' required=True string='XML or PDF Order response'
  • filename Char
Public methods (5)
  • parse_order_response(self, document, filename)
    @api.model
  • parse_pdf_order_document(self, document)
    @api.model
    Get PDF attachments, filter on XML files and call import_order_xml
  • parse_xml_order_document(self, xml_root)
    @api.model
  • process_data(self, parsed_order_document)
    @api.model
  • process_document(self)
REPOSITORY
REPOSITORYOCA/edi
GIT
GIThttps://github.com/OCA/edi.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/edi/tree/10.0/purchase_order_import
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Laurent Mignon (ACSONE), OCA Transbot, David Beal, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttp://www.akretion.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/community-data-files:
    - account_tax_unece
    - base_unece
    - product_uom_unece
OCA/edi:
    - base_business_document_import_stock
    - base_business_document_import
OCA/partner-contact:
    - base_vat_sanitized
OCA/server-tools:
    - onchange_helper
odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES PyPDF2
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
order_response_import_form order.response.import.form order.response.import form New
purchase_order_form purchase_order_import.purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_import_form purchase.order.import.form purchase.order.import form New
Models touched (3)

New fields (2)
  • document Binary
    help='Upload an Order response file that you received from your supplier. Supported formats: XML and PDF (PDF with an embeded XML file).' required=True string='XML or PDF Order response'
  • filename Char
    string='Filename'
Public methods (5)
  • parse_order_response(self, document, filename)
    @api.model
  • parse_pdf_order_document(self, document)
    @api.model
    Get PDF attachments, filter on XML files and call import_order_xml
  • parse_xml_order_document(self, xml_root)
    @api.model
  • process_data(self, parsed_order_document)
    @api.model
  • process_document(self)
    @api.multi

New fields (1)
  • supplier_ack_dt Datetime
    help='Date and time of the acknowledgement by the supplier. This field is filled by Odoo when processing a OrderResponse document.' index=True args: 'Supplier Acknowledgement Date'
Public methods (0)

No public methods.

New fields (4)
  • purchase_id Many2one → purchase.order
    default=_get_purchase_id readonly=True string='RFQ to Update' args: 'purchase.order'
  • quote_file Binary
    help='Upload a quotation file that you received from your supplier. Supported formats: XML and PDF (PDF with an embeded XML file).' required=True string='XML or PDF Quotation'
  • quote_filename Char
    string='Filename'
  • update_option Selection
    default='price' required=True string='Update Option' args: [('price', 'Price'), ('all', 'Price and Quantity')]
Public methods (5)
  • parse_pdf_quote(self, quote_file)
    @api.model
    Get PDF attachments, filter on XML files and call import_order_xml
  • parse_quote(self, quote_file, quote_filename)
    @api.model
  • parse_xml_quote(self, xml_root)
    @api.model
  • update_order_lines(self, parsed_quote, order)
    @api.multi
  • update_rfq_button(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/edi
GIT
GIThttps://github.com/OCA/edi.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/edi/tree/9.0/purchase_order_import
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSHolger Brunn
WEBSITE
WEBSITEhttp://www.akretion.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/community-data-files:
    - account_tax_unece
    - base_unece
    - product_uom_unece
OCA/edi:
    - base_business_document_import_stock
    - base_business_document_import
OCA/partner-contact:
    - base_vat_sanitized
odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
    - web_tip
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES PyPDF2
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
purchase_order_form purchase_order_import.purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_import_form purchase.order.import.form purchase.order.import form New
Models touched (1)

New fields (4)
  • purchase_id Many2one → purchase.order
    default=_get_purchase_id readonly=True string='RFQ to Update' args: 'purchase.order'
  • quote_file Binary
    help='Upload a quotation file that you received from your supplier. Supported formats: XML and PDF (PDF with an embeded XML file).' required=True string='XML or PDF Quotation'
  • quote_filename Char
    string='Filename'
  • update_option Selection
    default='price' required=True string='Update Option' args: [('price', 'Price'), ('all', 'Price and Quantity')]
Public methods (5)
  • parse_pdf_quote(self, quote_file)
    @api.model
    Get PDF attachments, filter on XML files and call import_order_xml
  • parse_quote(self, quote_file, quote_filename)
    @api.model
  • parse_xml_quote(self, xml_root)
    @api.model
  • update_order_lines(self, parsed_quote, order)
    @api.multi
  • update_rfq_button(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/edi
GIT
GIThttps://github.com/OCA/edi.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/edi/tree/8.0/purchase_order_import
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, OCA Transbot, Adrien Peiffer (ACSONE), oca-travis, OCA-git-bot, houssine
WEBSITE
WEBSITEhttp://www.akretion.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/community-data-files:
    - account_tax_unece
    - base_unece
    - product_uom_unece
OCA/edi:
    - base_business_document_import_stock
    - base_business_document_import
OCA/partner-contact:
    - base_vat_sanitized
odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - procurement
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
    - account
    - analytic
    - edi
    - email_template
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES PyPDF2
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
purchase_order_form purchase_order_import.purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_import_form purchase.order.import.form purchase.order.import form New
Models touched (1)

New fields (4)
  • purchase_id Many2one → purchase.order
    default=_get_purchase_id readonly=True string='RFQ to Update' args: 'purchase.order'
  • quote_file Binary
    help='Upload a quotation file that you received from your supplier. Supported formats: XML and PDF (PDF with an embeded XML file).' required=True string='XML or PDF Quotation'
  • quote_filename Char
    string='Filename'
  • update_option Selection
    default='price' required=True string='Update Option' args: [('price', 'Price'), ('all', 'Price and Quantity')]
Public methods (5)
  • parse_pdf_quote(self, quote_file)
    @api.model
    Get PDF attachments, filter on XML files and call import_order_xml
  • parse_quote(self, quote_file, quote_filename)
    @api.model
  • parse_xml_quote(self, xml_root)
    @api.model
  • update_order_lines(self, parsed_quote, order)
    @api.multi
  • update_rfq_button(self)
    @api.multi
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/edi
PULL REQUEST
PULL REQUEST[19.0][MIG] purchase_order_import: Migration to 19.0 (#1335)