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 webservice backend and send EDI exchange files through a chosen webservice endpoint, without needing the component framework.

This module connects EDI exchange types to webservices so that outgoing EDI files can be posted to an external system.

On an EDI backend you get a new "Webservice" tab where you pick a webservice backend. A smart button shows how many endpoints that webservice backend has and opens them; the same list of endpoints (name, technical name, HTTP method, path) is shown read-only on the tab.

On each EDI exchange type, a "Webservice settings" section appears only when the type's send handler is the webservice send handler. There you choose the endpoint to call (limited to endpoints of the backend's webservice backend) and tick "Send As Bytes" so the file encoding is not altered when sent. The endpoint is required in that case. The exchange type list also shows the chosen endpoint as an optional column.

On a webservice endpoint, a smart button counts and opens the exchange types that use it.

When an exchange is sent, the handler calls the selected endpoint using its own HTTP method, sends the exchange file content as the request data, and returns the response content. Extra call parameters (headers, query parameters, etc.) can be supplied through the exchange type's advanced settings under execution_model.send.webservice.

A migration helper (run manually, not automatically) can convert exchange types that still use the old component-based webservice send onto this handler, creating endpoints from the old settings and moving URL placeholders into the endpoint path.

Required by other modules

Models and fields (4)
  • edi.backend · extends an existing modelwebservice_backend_id, webservice_endpoint_ids (Webservice endpoints), webservice_endpoint_count
  • 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.