How to Connect Amazon to Odoo — Step by Step (2025)
Connecting Amazon to Odoo means every Amazon order imports automatically as a native sale order — with the correct product, price, customer and VAT per country. This guide covers the complete setup: SP-API credentials, product mapping, fiscal positions, and going live. We also cover the most common mistakes Odoo users make when setting up the Amazon integration.
- What you need before you start
- Step 1 — Amazon SP-API credentials
- Step 2 — Install the connector in Odoo
- Step 3 — Connect your Amazon account
- Step 4 — Map products between Amazon and Odoo
- Step 5 — Configure fiscal positions per country
- Step 6 — Configure stock sync
- Step 7 — Set up tracking push
- Step 8 — Test order and go live
- Common mistakes to avoid
- What about Amazon FBA?
What you need before you start
Before setting up the Amazon-Odoo integration, make sure you have the following in place:
- An active Amazon Seller Central account — Professional selling plan (not Individual) is required for SP-API access.
- Odoo 16, 17 or 18 — Community or Enterprise edition. ERP2MARKET supports all current Odoo versions.
- Products configured in Odoo — With internal references (or EANs) that can be matched to your Amazon ASINs or Seller SKUs.
- Odoo fiscal positions set up — Or a willingness to set them up during this process (covered in Step 5).
- Admin access to both Amazon Seller Central and your Odoo instance.
Step 1 — Get your Amazon SP-API credentials
Amazon's Selling Partner API (SP-API) is the modern API used by all Amazon marketplace integrations. To connect ERP2MARKET to your Amazon account, you need to generate SP-API credentials from Seller Central.
Generate SP-API credentials in Seller Central
In Amazon Seller Central, navigate to Apps & Services → Develop Apps. You'll see an option to register as a developer and create an application.
The credentials you'll need are:
- Client ID — your application identifier
- Client Secret — your application secret key
- Refresh Token — generated when you authorise the application against your seller account
If you're an ERP2MARKET customer, the ERP2MARKET onboarding team handles this process with you and can generate the credentials directly — you don't need to go through developer registration yourself.
Step 2 — Install the connector module in Odoo
ERP2MARKET installs as an Odoo module — it extends Odoo's standard functionality rather than replacing it. Installation is done through Odoo's Apps menu.
Install ERP2MARKET in Odoo Apps
Go to Odoo Apps → Search for ERP2MARKET. Install the module and the required dependencies (which Odoo handles automatically).
After installation, you'll see a new ERP2MARKET menu item in your Odoo navigation. The base configuration settings are under Settings → ERP2MARKET.
Configure the base settings:
- Default sales journal for marketplace orders
- Default customer for marketplace buyers (or enable automatic customer creation)
- Default warehouse for fulfilment routing
- Order import frequency (typically every 5–15 minutes)
Step 3 — Connect your Amazon Seller Central account
With ERP2MARKET installed and base settings configured, you can now add your Amazon marketplace connection.
Add Amazon as a marketplace connection
In Odoo, go to ERP2MARKET → Marketplaces → Add New. Select Amazon from the marketplace list.
Enter the SP-API credentials from Step 1:
- Client ID
- Client Secret
- Refresh Token
- Amazon region (Europe, North America, or Far East)
Select which Amazon marketplace sites to activate within your region. For EU, you can activate DE, NL, FR, ES, IT, SE, PL, and others from a single set of credentials.
Click Test Connection to verify credentials are accepted by Amazon's API.
| Amazon region | Marketplaces covered | Credential set |
|---|---|---|
| Europe | DE, FR, ES, IT, NL, SE, PL, BE, TR | One SP-API credential set |
| United Kingdom | UK only | Separate SP-API credential set |
| North America | US, CA, MX, BR | Separate SP-API credential set |
| Far East | JP, AU, SG, AE, IN | Separate SP-API credential set |
Step 4 — Map products between Amazon and Odoo
Product mapping is the critical step that tells ERP2MARKET which Amazon product corresponds to which Odoo product. When an Amazon order arrives, ERP2MARKET uses this mapping to create the correct Odoo sale order line.
Map Amazon SKUs to Odoo internal references
There are three approaches to product mapping, from simplest to most manual:
Option A — Automatic matching by EAN/barcode (recommended)
If your Odoo products have EAN barcodes set, and your Amazon listings use the same EANs, ERP2MARKET matches them automatically. No manual mapping required.
Option B — Match by Seller SKU
If your Amazon Seller SKU matches your Odoo internal reference exactly (e.g. both use SKU-1234), ERP2MARKET matches automatically.
Option C — Manual mapping table
For cases where Amazon SKUs and Odoo references don't match, use the ERP2MARKET mapping table to create manual links. This is a one-time setup — once mapped, future orders use the table automatically.
SKU-1234-DE for German marketplace variants). Check your Amazon Seller SKU format before assuming automatic matching will work. A quick export from Seller Central's manage inventory page shows your actual Seller SKUs.Handling Amazon variants (size/colour)
Amazon parent/child ASIN structures (variations by size, colour, etc.) map to Odoo product variants. Each Amazon child ASIN maps to the corresponding Odoo product variant — ensuring the correct size or colour is ordered and deducted from inventory.
Step 5 — Configure fiscal positions per Amazon country
This is the step most Odoo users skip — and it's the most important for EU compliance. Fiscal positions ensure the correct VAT rate applies to each Amazon order based on the buyer's country.
Set up Odoo fiscal positions for each Amazon marketplace
In Odoo, go to Accounting → Configuration → Fiscal Positions. You need a fiscal position for each country your Amazon buyers are in.
ERP2MARKET automatically assigns the fiscal position based on the buyer's delivery country on each imported Amazon order.
| Amazon marketplace | Buyer country | VAT rate | Odoo fiscal position |
|---|---|---|---|
| Amazon.de | Germany | 19% MwSt | Germany B2C |
| Amazon.nl | Netherlands | 21% BTW | Netherlands B2C |
| Amazon.fr | France | 20% TVA | France B2C |
| Amazon.es | Spain | 21% IVA | Spain B2C |
| Amazon.it | Italy | 22% IVA | Italy B2C |
| Amazon.co.uk | United Kingdom | 20% VAT | UK B2C |
| Amazon.se | Sweden | 25% MOMS | Sweden B2C |
| Amazon.pl | Poland | 23% PTU | Poland B2C |
Step 6 — Configure stock sync to Amazon
Stock sync pushes your Odoo inventory levels to Amazon listings in real time — preventing oversells when the same product is selling on multiple channels simultaneously.
Set up real-time stock sync from Odoo to Amazon
In ERP2MARKET's Amazon connection settings, configure:
- Stock source location — Which Odoo warehouse location(s) feed your Amazon listings
- Safety stock buffer — Optionally subtract a buffer (e.g. 2 units) from published stock to avoid oversells during peak periods
- Sync frequency — ERP2MARKET syncs stock on every inventory movement in Odoo and on a scheduled basis (every 5–15 minutes)
- Zero stock behaviour — When stock hits 0 (or your buffer threshold), the Amazon listing can be set to inactive automatically
For multi-warehouse setups, stock can be drawn from a single location or aggregated across multiple Odoo stock locations. Configure this per marketplace if you have dedicated fulfilment locations per region.
Step 7 — Set up tracking push to Amazon
Amazon requires sellers to upload tracking numbers within specific timeframes (typically 24–48 hours after shipping). Failing to meet tracking deadlines impacts your seller metrics and can trigger order defect flags.
Configure automatic tracking push from Odoo
ERP2MARKET monitors Odoo's delivery order status. When a delivery is validated in Odoo (physically shipped, carrier scan confirmed), it automatically reads the tracking number assigned to the delivery and pushes it to the corresponding Amazon order via SP-API.
Configure:
- Carrier mapping — Map your Odoo carriers (PostNL, DHL, DPD, UPS, etc.) to Amazon's carrier codes
- Tracking trigger — Set whether tracking pushes on delivery validation or on manual confirmation
- Shipping method mapping — Map your Odoo shipping methods to Amazon's shipping service level names
Once configured, the workflow is: ship from Odoo → validate delivery → tracking automatically sent to Amazon buyer. No manual submission to Seller Central required.
| Common EU carrier | Amazon carrier code | Notes |
|---|---|---|
| PostNL | PostNL | NL domestic and international |
| DHL Express | DHL | Pan-European standard |
| DHL Parcel | DHL_DE_PACKAGE | German domestic |
| DPD | DPD_DE | DE/NL/BE primary |
| UPS | UPS | EU-wide |
| GLS | GLS | Central EU |
| Colissimo | FR_COLIS | France domestic |
| Correos | CORREOS | Spain domestic |
Step 8 — Test order and go live
Before activating live sync, run a test order to verify the full flow works correctly end to end.
Run a test order — verify each step
The recommended test process:
- Place a real order on Amazon for a low-value test product (or use Amazon's Sandbox environment if available for your account type)
- Wait for ERP2MARKET's next import cycle (5–15 minutes)
- Check that the order appears in Odoo as a confirmed sale order — verify product, quantity, price and customer details
- Check that the fiscal position applied matches the buyer's country
- Process the delivery in Odoo — validate the delivery with a test tracking number
- Verify the tracking number appears on the Amazon order in Seller Central within a few minutes
- Check that Odoo stock decremented correctly and that the new stock level was pushed back to Amazon
- SP-API credentials connected and tested
- All active Amazon product SKUs mapped to Odoo
- Fiscal positions configured for all Amazon countries you sell in
- Stock sync active — correct warehouse location selected
- Carrier codes mapped for all carriers you use
- Test order imported correctly to Odoo
- Test tracking number pushed to Amazon successfully
- Stock level updated on Amazon after test delivery
Common mistakes when connecting Amazon to Odoo
These are the most frequent errors Odoo users encounter when setting up the Amazon integration:
1. SKU format mismatch
Amazon sometimes appends suffixes to SKUs for marketplace-specific variants (e.g. -DE, -EU). Check your actual Seller SKUs in Seller Central's Manage Inventory before assuming EAN or SKU matching will work automatically.
2. Fiscal positions not configured
The most common compliance error. If fiscal positions aren't set up per buyer country, Odoo applies your default tax — which may be wrong for cross-border sales. For a Dutch seller, applying 21% BTW to a German buyer (who should pay 19% MwSt) creates invoicing errors that are painful to correct retroactively.
3. Stock sync activated before product mapping is complete
If you activate stock sync before all products are mapped, unmapped products may show incorrect (or zero) stock on Amazon. Complete product mapping for all active Amazon SKUs before enabling live stock sync.
4. Multi-channel stock oversell
If you're selling the same inventory on Amazon and other marketplaces (Bol.com, your own webshop), all channels must be synced simultaneously. Activating Amazon stock sync alone while other channels still run manual stock updates is a recipe for oversells.
5. Using FBA stock for FBM listings
For sellers running both FBA (Fulfilled by Amazon) and FBM (Fulfilled by Merchant) listings, stock sync should only push to FBM listings. FBA stock is managed by Amazon's fulfilment centres, not your Odoo warehouse. Make sure your ERP2MARKET connection only covers FBM listings.
What about Amazon FBA?
FBA (Fulfilled by Amazon) orders are handled differently from FBM. With FBA, Amazon's fulfilment centres hold the stock and handle shipping — your Odoo warehouse is not involved in the physical fulfilment.
FBA order import: ERP2MARKET imports FBA orders to Odoo as sale orders — giving you visibility into FBA revenue and margins in Odoo's reporting. Since Amazon handles fulfilment, the delivery order in Odoo is automatically validated (Amazon confirms shipping), and no physical pick/pack is required from your side.
FBA stock replenishment: You manage FBA inventory replenishment (sending stock to Amazon's fulfilment centres) separately — this is a purchase/transfer flow in Odoo, not an ERP2MARKET sync. ERP2MARKET does not push Odoo stock levels to FBA inventory — Amazon manages FBA stock levels internally.
FBA tracking: Amazon pushes tracking to buyers directly for FBA orders — ERP2MARKET doesn't need to handle tracking push for FBA. The tracking information appears on the imported Odoo sale order for your records.