Overslaan naar inhoud
How to Connect Amazon to Odoo — Step by Step (2025) | ERP2MARKET
How-to Guide · March 2025 · 12 min read

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

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.
💡
Tip: Before starting the technical setup, make a list of your Amazon marketplace regions (DE, NL, FR, ES, IT, UK, etc.) and note the Seller SKU you use for your top 10 products. This makes the product mapping step significantly faster.

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.

Step 1

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.

⚠️
Multi-region note: If you sell on Amazon.de, Amazon.fr, Amazon.es and Amazon.it, you need SP-API credentials for the EU region (one set covers all European Amazon sites). Amazon UK uses a separate credential set. Plan this before starting if you sell across both EU and UK.

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.

Step 2

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)
ℹ️
Odoo version note: The ERP2MARKET module is version-specific. Make sure you install the correct version for your Odoo instance (16, 17 or 18). Installing a version mismatch will cause installation errors.

Step 3 — Connect your Amazon Seller Central account

With ERP2MARKET installed and base settings configured, you can now add your Amazon marketplace connection.

Step 3

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.

Step 4

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.

⚠️
Common mapping issue: Amazon often adds suffixes to SKUs (e.g. 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.

Step 5

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.deGermany19% MwStGermany B2C
Amazon.nlNetherlands21% BTWNetherlands B2C
Amazon.frFrance20% TVAFrance B2C
Amazon.esSpain21% IVASpain B2C
Amazon.itItaly22% IVAItaly B2C
Amazon.co.ukUnited Kingdom20% VATUK B2C
Amazon.seSweden25% MOMSSweden B2C
Amazon.plPoland23% PTUPoland B2C
💡
OSS threshold tip: If your cross-border B2C sales to other EU countries are below the €10,000 OSS threshold, you may be able to apply your home country VAT rate instead. Consult your accountant before configuring fiscal positions — the rules depend on your turnover per country and your OSS registration status.

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.

Step 6

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.

⚠️
Multi-channel stock warning: If the same product is active on Amazon AND Bol.com AND your own webshop simultaneously, all three channels draw from the same Odoo inventory. Make sure stock sync is active on all channels before going live — not just Amazon. An oversell on Bol.com while Amazon sync is live but Bol.com sync isn't yet will result in negative stock in Odoo.

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.

Step 7

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
PostNLPostNLNL domestic and international
DHL ExpressDHLPan-European standard
DHL ParcelDHL_DE_PACKAGEGerman domestic
DPDDPD_DEDE/NL/BE primary
UPSUPSEU-wide
GLSGLSCentral EU
ColissimoFR_COLISFrance domestic
CorreosCORREOSSpain 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.

Step 8

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
Go-live checklist
  • 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.

💡
Mixed FBA + FBM setup: Many sellers run both FBA and FBM for the same products — FBA as primary, FBM as backup when FBA stock runs out. ERP2MARKET handles both order types in the same integration, importing FBA and FBM orders to Odoo and processing them through the appropriate Odoo workflow per fulfilment type.