OdooWiki OCA HUB

EDI WebService Core

edi_webservice_core_oca folder_open OCA/edi-framework open_in_new
Uncategorised License: AGPL-3

Attach a webservice.backend to an EDI backend, and send EDI exchange files through it.

This module provides:

  • The webservice_backend_id field on edi.backend.
  • edi.webservice.send, a plain send_model_id handler that sends the exchange file through the backend's webservice - no component dependency.

edi_webservice_component_oca provides the component-based equivalent (components/send.py) - a legacy integration style, kept in its own module so installing it (and component with it) is opt-in. edi_webservice_oca is now just a deprecated umbrella depending on both, kept to preserve existing installations.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Lets you link an EDI backend to a web service backend and send EDI exchange files through that web service, choosing the endpoint and whether the file is sent as raw bytes.

This module connects EDI exchanges to web services so files can be transmitted automatically over HTTP instead of by hand.

Where it appears in Odoo: - On the EDI backend form, a new "Webservice" tab lets you pick the web service backend to use. - On the EDI exchange type form, a "Webservice settings" block appears only when the type's send handler is the web service sender. There you choose the endpoint (limited to endpoints of the linked web service backend) and tick "Send As Bytes". - On a web service endpoint form, a smart button shows how many exchange types use it and opens that list.

Business rules and automatic behaviour: - The web service backend on an exchange type is taken automatically from its EDI backend. - The endpoint is mandatory when the web service sender is active. - When sending, the module calls the endpoint using its own HTTP method, sends the exchange file content, and returns the response content. Extra call parameters (headers, query parameters) can be supplied through the exchange type's advanced settings. - "Send As Bytes" prevents the file encoding from being guessed or altered during sending.

It also includes a one-off, manual migration helper (not run automatically) that moves exchange types from the older component-based web service sending to this new handler, creating endpoints and cleaning up backend URLs. EDI managers get full access rights on web service backends.

Required by other modules

Models and fields (4)
  • edi.backend · extends an existing modelwebservice_backend_id
  • edi.exchange.type · extends an existing modelwebservice_backend_id, webservice_endpoint_id (WebService Endpoint), webservice_send_enabled, webservice_send_as_bytes (Send As Bytes)
  • edi.webservice.send · new model
  • webservice.endpoint · extends an existing modelexchange_type_ids (Exchange Types), exchange_type_count

Text generated by AI (DeepSeek) from reading the Odoo 18.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.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/edi-framework.

terminal Installation and usage

OCA documentation · Odoo 18.0

Go to "EDI -\> Config -\> Backends" and edit or create one. Find the tab "Webservice" and add a webservice. On the webservice record you can specify all the general parameters to connect to the service (see webservice_core README for more details). On the webservice backend you can configure one or more webservice.endpoint records (path, HTTP method, ...).

On the exchange type you want to send through a webservice, go to the "Execution handlers" tab, set "Sender" to "EDI WebService Send Handler", then pick the "Endpoint" to call in the "Webservice settings" group that appears - it drives both the URL (backend URL + endpoint path) and the HTTP method.

Static headers and querystring params are best set directly on the webservice.endpoint record itself (its "Headers" and "URL Params" tabs) - prefer that over the exchange type's advanced settings below, which are meant for one-off, per-exchange-type overrides rather than the endpoint's own regular configuration.

If you still need extra call parameters beyond what the endpoint (and its own headers/URL params) provide, you can add them via the exchange type's advanced settings:

execution_model: send: webservice: kwargs: headers: X-Custom-Header: foo url_params: foo: baz

On a webservice endpoint, the Exchange Types smart button lists the exchange types sending through it.

If you want to send data as bytes you can use the option send_as_bytes on the exchange type (same tab).

No verified information in OCA: Installation, Usage.

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.