Understanding Contact Creation
Our connector mirrors the typical structure of e-commerce systems to ensure accurate data transfer. Here’s the breakdown:
E-commerce Structure
Customer: Represents the user’s account (usually just name and email).
Addresses: Shipping and billing addresses, which may or may not be companies. Customers can have multiple addresses.
Odoo Mapping
VentorTech connectors create several Odoo contacts:
Customer Contact: Mirrors the e-commerce customer account (mainly name and email).
Shipping Address (orders import only): Becomes a child contact of the Customer with type “Other Address” (may be used for billing too).
Billing Address (orders import only): Also becomes a child contact of the Customer with type “Other Address” (may be used for shipping too).
Important: Identical shipping/billing addresses result in a single Odoo contact
Addresses (customers import): Existing customer addresses are imported as type “Other Address” (the same address may be used in e-commerce system as billing or shipping address).
Company: Created if company name (and optionally VAT) exist in the billing/shipping address. The Customer is linked to the company from billing address for accuracy.
Important: Different company names for the same Customer will result in separate Odoo customer records to keep information consistent.
Important: Our connectors strictly compare all fields during import. Even minor differences (like a single extra space) trigger the creation of a new contact. This prevents data loss or incorrect order associations.
Guest purchases
Check this article to learn more about guest purchases: How does the connector process orders from guest customers?
Manual customer mapping option
More information about this option: How does customer import work starting from release 1.16.0 (PrestaShop (1.16.0), Magento 2 (1.10.0), Shopify (1.10.0), WooCommerce (1.7.0))?
For full control on customers information you can enable “Manual Customer Mapping” (Customers tab). This stops automatic customer creation or mapping by the connector:
Important: With manual customer mapping disabled, the connector may override your changes to maintain accuracy.
Special Cases
Case: Handling different companies for the same customer
Example: John Doe places one order for BigCompany and another for SmallCompany.
Result: The connector creates two “John Doe” contacts in Odoo, each linked to the appropriate company.
Why this matters: This ensures accurate invoicing and reporting within Odoo.
Important: Our connector uses the billing address to link customers to companies. This means separate customer records will only be created if the company names differ in the billing address of multiple orders.
Case: Handling different companies in the same order
Example: John Doe places an order with different companies specified for billing (SmallCompany) and shipping (BigCompany).
Result: The connector creates the following Odoo contacts:
SmallCompany contact (from billing address)
John Doe contact (child of SmallCompany, reflects billing company)
Billing address (child of SmallCompany, for accurate billing)
BigCompany company (from shipping address)
Shipping address contact (child of BigCompany, for delivery)
Diagram:
Sales Order example:
Why This Matters
Accurate Invoicing: Ensures invoices are sent to the correct billing company (SmallCompany in this case).
Clear Order History: Maintains a precise record of the customer’s interactions with both companies, even within a single order.
Data Consistency: Reflects the real-world structure of customer-company relationships within Odoo.
Need Help?
Contact our support team: https://support.ventor.tech/