Ecommerce Connector

This module is a general e-commerce connector which can be used to
integrate any e-commerce with Odoo. It allows to import sale orders from
an external e-commerce into Odoo, invoice those sales and create
contacts and products if needed.
Table of contents
- Enable the connector on the company: Go to Settings > Companies >
[your company], open the Ecommerce Connector tab and activate the
checkbox Accept Ecommerce Connector.
- Create a Connection: Go to Ecommerce Connector > Connection and
create a new record:
- Name: a descriptive label (e.g. “Shop”)
- Ecommerce ID: a unique numeric identifier agreed with the
e-commerce platform
- Company: the Odoo company that will own the imported orders
- Language: language used for multilanguage fields
- Configure order and invoice behaviour:
- Enable Create Invoice if invoices should be generated automatically
- Enable Validate Invoice to confirm them automatically
- Enable Use Odoo Sales Seq. to use Odoo numbering instead of the
ecommerce reference
- Enable Check Customer VAT for VAT validation on business customers
- Configure search rules: Define how records are matched:
- Products: Ecommerce ID, SKU or Barcode
- Contacts: Ecommerce ID, Email, VAT or Contact Info
- Addresses: Ecommerce ID, Email or Contact Info
For more information, check the operations manual provided by Sygel.
Once configured, the connector is ready to receive requests.
You can monitor calls going to Ecommerce Connector > Connector Calls.
Each call has a status: Draft, Done or Error. The default view shows
Draft and Error records for quick daily monitoring.
You can review mappings between Odoo and ecommerce records going to
Ecommerce Connector > Ecommerce Mappings. You have menu options for
Product Variants, Product Templates and Partner
You can also test this connector using the postman examples provided
in the postman_examples folder
For more information, check the operations manual provided by Sygel.
Future improvements detected for this module. They should be done in the
next migrations to upper versions:
- Cleanup and encapsulation of duplicated code. To do if the module
is refactored in upper versions.
- Simplify the error handling pattern. The error list is being
continously propagated and checked through all the code. Operations
are not aborted if an error is detected.
- Reduce code of main file. Move functions to other files (not
necessary orm models)
- Simplify _get_contact_domain() function
- Simplify _get_shipping_contact() function
- Simplify _get_invoice_contact() function
- Move every values dict creation to a function for that. Review
functions: _create_new_product(), _create_new_product_template(),
_create_payments()
- Move every complex domain creation to a function for that. Review
functions: _find_product()
- Refactor fiscal position and taxes calculation. Documentate its
behaviour
- Refactor and simplify mandatory_fields checks. Required fields could
be defined in a data structure.
- Refactor and simplify the _create_response() function
- Refactor and simplify the external_create_sale() function
- Refactor and simplify the external_create_credit_note() function
- Review the record matching methods between systems. Linking local
and external delivery.carrier and account.payment.mode by name
(translated) would probably need a change
- Improve documentation
- Improve postman collection examples
- Add help tooltips to configuration fields
- Add unit tests
- Move account_fiscal_position_partner_type dependency to a glue module
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
feedback.
Do not contact contributors directly about support or help with technical issues.