Odoo ERP Destination
Odoo ERP
-
Click the + icon on the Nexset that will be sent to the Odoo ERP destination, and select the Send to Destination option from the menu.
-
Select the Odoo ERP connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Odoo instance, and click Next; or, create a new Odoo ERP credential for use in this flow.
-
Odoo ERP destinations can be manually configured to send data to any valid Odoo API endpoint. Common use cases include creating or updating records in Odoo models such as contacts (
res.partner), sales orders (sale.order), invoices (account.move), inventory (stock.quant), and HR records (hr.employee). You can also configure Nexla to automatically send the response received from the Odoo API after each call to a new Nexla webhook data source.First, select the API method that will be used for calls to the Odoo API from the Method pulldown menu. The appropriate method depends on the operation:
- POST: For creating new records (e.g.,
POST /api/res.partnerto create a new contact) or for XML-RPC/JSON-RPC calls - PUT: For replacing existing records entirely
- PATCH: For updating specific fields on an existing record (e.g.,
PATCH /api/sale.order/42to update order 42) - DELETE: For removing records
- POST: For creating new records (e.g.,
Data Format
-
Select the format in which the Nexset data will be sent to the Odoo API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call.
For most Odoo REST API and JSON-RPC endpoints, select JSON as the content format, as Odoo expects request bodies to be sent as JSON objects.
API Endpoint URL
-
Enter the URL of the Odoo API endpoint to which you want to send the Nexset data in the URL field. For update or upsert operations, include the ID of the record to be updated at the end of the URL.
Common Odoo destination endpoint patterns include:
- Create a record (Odoo REST API):
https://mycompany.odoo.com/api/res.partnerwith the POST method - Update a specific record (Odoo REST API):
https://mycompany.odoo.com/api/sale.order/42with the PATCH method, where42is the record ID - XML-RPC object calls:
https://mycompany.odoo.com/xmlrpc/2/objectwith the POST method for create, write, or unlink operations
- Create a record (Odoo REST API):
When using the Odoo REST API (Odoo 17+) to update records, you must include the record's numeric ID in the endpoint URL. To create records, use the base model endpoint without an ID. For XML-RPC operations, the method, model, and parameters are specified in the request body rather than the URL. Refer to the Odoo External API documentation for complete endpoint and parameter specifications.
Request Headers
-
If Nexla should include any additional request headers in API calls to this destination, enter the headers and corresponding values as comma-separated pairs in the Request Headers field (e.g.,
header1:value1,header2:value2).You do not need to include any headers already present in the credentials. Authentication headers are handled automatically by Nexla based on your configured Odoo ERP credential.
Exclude Attributes from the Call
-
If any record attributes in the Nexset should be omitted when sending data to this Odoo ERP destination, select the attributes from the Exclude Attributes pulldown menu. This is useful for filtering out internal Nexla metadata fields or source-system attributes that are not valid fields in the target Odoo model.
-
Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.
Record Batching
-
If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.
-
Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to
100. -
Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.
Odoo's standard REST API processes one record per request. If your use case requires bulk operations, consider using Odoo XML-RPC with the create method, which accepts a list of records in a single call. Batching is most effective when using XML-RPC or a custom Odoo endpoint that supports array payloads.
Response Webhook
Nexla can automatically send the response received from the Odoo API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call, capture newly created record IDs returned by Odoo, and process any additional information returned after each call.
- To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.
Sample Request Payload
Sample request payloads containing a portion of the Nexset data that will be sent to the Odoo API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.
- Click on a sample request payload to expand it and view the complete payload content.
- Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.
Endpoint Testing
After all endpoint settings have been configured, Nexla can send a test payload to the Odoo API to ensure that the destination is configured correctly.
-
To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.
-
If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.
-
Click the Send Test Data button at the top of a sample payload to send the test payload to the Odoo API using the current settings.
Save & Activate the Destination
-
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Odoo endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to Odoo until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.