OdooWiki OCA HUB

Sale Order Import Http

sale_order_import_ubl_http folder_open OCA/edi open_in_new
Sales Management License: AGPL-3

This module extends the sale_order_import_ubl module to allow for importing sales order automatically. To do so it adds a HTTP endpoint ubl_api/sales accepting a POST requests containing the XML UBL formatted order.

On reception the endpoint will check the validity of the XML received and if ok creates a queue.job that will import the sale.order and set it as confirmed.

By default the endpoint uses the api key authentication method. For security reason the api key is not created by the module but the user that needs to be linked to the key is.

auto_awesome What this module does

AI-generated from the code · Odoo 13.0

Adds a secure web address where external systems can send UBL-format sales orders, which Odoo then imports automatically as sales orders in the background.

This module lets other systems (for example a customer's webshop or an EDI platform) send sales orders to Odoo in the standard UBL XML format. The orders are received at a dedicated web address and processed automatically, without anyone having to upload files by hand.

What happens when an order arrives: - The request must be sent as XML and must carry a valid API key; otherwise it is rejected. - The XML is checked: if it is not valid XML or not a supported document type, the request is refused with an error. - If everything is fine, the import is placed in a background job queue (channel ubl_import) so the sender gets a quick confirmation message and Odoo keeps working. - The background job creates the sales order using the standard UBL import wizard, taking prices from the customer's pricelist. - If the same order was already imported before, an error is raised instead of creating a duplicate.

A setting in Sales configuration, 'UBL order imported through HTTP set as confirmed', controls whether imported orders are automatically confirmed or left as draft. This setting is stored per company.

The module also creates a dedicated technical user for the endpoint, so the API key used by the external system is linked to that user only.

Models and fields (3)
  • sale.order · extends an existing model
  • res.company · extends an existing modelsale_order_ubl_import_http_confirmed (UBL order imported through HTTP set as confirmed)
  • res.config.settings · extends an existing modelsale_order_ubl_import_http_confirmed

Text generated by AI (DeepSeek) from reading the Odoo 13.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 13.0

The new endpoint created uses the api key mechanism for authentication. So to start using it, an api key linked to the user added by the module must be created in the system.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.