Amazon Odoo Connector Help
How the module connects your Amazon seller account to Odoo, in plain words. Pick a topic below, or press / to search. Prefer paper? Download the guide as a PDF.
User guide for Odoo 19, by Techmarbles. Support: support@techmarbles.com. Online, with search: https://vi-061993.github.io/amazon-odoo-connector-docs/
Contents
- Getting started
- Buying, licence & updates
- Order sync
- Shipments & tracking
- Invoices, taxes & refunds
- Settlements & Amazon fees
- Catalog & listings
- Prices & repricing
- Stock sync
- FBA logistics
- Profit, forecasts & alerts
- AI tools
- Several accounts, marketplaces & companies
- Users & Amazon permissions
- Dashboard
- Monitoring & retries
- Troubleshooting
- Before you go live
- FAQ
- Security & privacy
- Release notes
Getting started
This topic takes you from installing the module to your first working sync. It explains the words the module uses, what you need in Odoo and Amazon, the two ways to connect a seller account, and where to turn on each automatic sync.
What the module does
Amazon Odoo Connector (TM) is an Odoo module. It runs inside your own Odoo and talks to Amazon's Selling Partner API (SP-API). Orders, listings and stock travel straight between Amazon and your Odoo. When you use Connect with Amazon, a small Techmarbles service only hands out short-lived access tokens; it never sees your orders or customers.
It can:
- Import Amazon orders, fulfilled by you (FBM) or by Amazon (FBA), as Odoo sale orders with the buyer, lines, promotions, shipping, gift wrap and taxes.
- Send shipments back to Amazon with the carrier and tracking number when you validate an FBM delivery.
- Create invoices for shipped orders, and turn Amazon refunds into credit notes and returns.
- Turn each Amazon settlement into one journal entry that pays your invoices and books Amazon's fees.
- Import your Amazon catalog, keep prices in sync in the direction you choose, and reprice against competing offers.
- Send FBM stock to Amazon and mirror FBA stock in an Odoo warehouse.
- Ship any Odoo order from your FBA stock (Multi-Channel Fulfillment), create inbound plans and import removal orders.
- Estimate profit per unit, forecast demand, grade each listing and raise alerts.
- Write listing content and price advice with AI, using your own API key.
- Show it all on a dashboard, with a list of orders that failed and a button to retry them.
Each part has its own switch on the seller account. Order import and stock are on by default; the others stay off until you turn them on.
Key words
| Word | What it means |
|---|---|
| Seller account | One Amazon seller account connected to Odoo, in one region. You set it up in TM Amazon Connector > Configuration > Seller Accounts. You can connect several. |
| Region | Amazon groups its marketplaces in three regions: North America, Europe and Far East. One seller account in Odoo covers one region. |
| Marketplace | One Amazon store front, for example Amazon.com or Amazon.de. The module knows 23 marketplaces and selects yours when it connects. |
| FBM | Fulfilled by Merchant: you ship the order from your own warehouse, and Odoo tells Amazon when it leaves. |
| FBA | Fulfilled by Amazon: Amazon stores and ships the goods. Odoo records the order once Amazon has shipped it. |
| Listing / SKU | Your offer on Amazon, identified by your seller SKU. In Odoo a listing links a SKU to a product. |
| ASIN | Amazon's own product number. Several sellers can offer the same ASIN. |
| Settlement | Amazon's statement for a period, usually two weeks: what buyers paid, what Amazon charged and what it transfers to your bank. |
| MCF | Multi-Channel Fulfillment: Amazon ships an order that was not placed on Amazon (website, Shopify, B2B) from your FBA stock. |
| Manual sync | A sync you start with a button on the seller account, such as Sync Orders or Export Stock. |
| Automatic sync | A scheduled job that runs on its own. The module has 17 of them; see Monitoring & retries. |
Before you start
Odoo:
- Odoo 19, Community or Enterprise.
- Odoo on your own server or on Odoo.sh, reachable over HTTPS so Amazon can send you back after you approve the connection. Odoo Online (the odoo.com SaaS) does not run third-party modules.
- An Odoo administrator to install the module. Whoever configures seller accounts needs the TM Amazon Connector: Manager right; see Users & Amazon permissions.
Odoo apps, installed for you with the module:
| Odoo app | Needed for |
|---|---|
| Sales | Sale orders from Amazon orders. |
| Inventory | Warehouses, stock, deliveries, returns and transfers to and from FBA. |
| Invoicing (or Accounting) | Invoices, taxes, credit notes and settlement entries. |
| Delivery | Carriers and tracking numbers on deliveries. |
Amazon:
- A Professional seller account in Seller Central.
- The account's primary user, or a user allowed to authorize apps.
- No Amazon developer registration is needed with Connect with Amazon.
Try the module on a copy of your Odoo database first. The first import is limited by the Import Orders Since date, so a first test touches only a few recent orders.
Install the module
- Buy Amazon Odoo Connector (TM) on the Odoo Apps Store for Odoo 19 and download the zip file.
- Unzip it into a folder of your Odoo addons path. You get a folder called
tm_amazon_connector. On Odoo.sh, add that folder to your repository and push. - Restart Odoo.
- In Odoo, open Apps, click Update Apps List (developer mode), search for Amazon and click Activate.
- A new TM Amazon Connector menu appears on the home screen.
The module needs no extra Python package, except for the optional AI tools (the anthropic package). Your Odoo must be able to reach sellingpartnerapi-*.amazon.com over HTTPS.
Connect your Amazon account
Open Configuration > Seller Accounts, click New, give the account a name (for example My US Store) and pick the Region where you sell. Then connect it one of two ways.
| Connection method | When to use it |
|---|---|
| Connect with Amazon (recommended) | You sign in to Seller Central and approve the app. There are no keys to copy. |
| Own developer app (advanced) | You or your agency registered your own SP-API app and want Odoo to use its keys. Set this on the Advanced tab (Settings administrators only). |
Connect with Amazon
- On the new seller account, check the Region, then click Connect with Amazon.
- Seller Central opens. Sign in and approve TM Amazon Connector.
- Amazon sends you back to Odoo. The account shows Connected, the Merchant / Seller ID is filled in and your marketplaces appear.
Open Odoo at its public address before you click Connect with Amazon, the same address as the system parameter web.base.url (for example https://erp.mycompany.com). If you start from localhost or a different name, you come back to a login page.
Own developer app
- On the Advanced tab, set Authorization to Own developer app.
- Paste your app's LWA Client ID, LWA Client Secret and the seller's Refresh Token.
- Fill in the Merchant / Seller ID (Seller Central > Settings > Account Info > Merchant Token).
- Click Test Connection.
What connecting does
Odoo asks Amazon which marketplaces the account sells on and selects them in Synchronized Marketplaces. When it works, the account shows Connected. When it fails, it shows Error and the chatter says why. Refresh Marketplaces runs the same check again later, for example after you open a new marketplace.
Account defaults
Before the first import, open the Orders and Inventory tabs:
| Setting | What to choose |
|---|---|
| FBM Warehouse | The warehouse you ship merchant-fulfilled orders from. Its free stock is what Amazon sees. |
| FBA Warehouse | A warehouse that mirrors the stock Amazon holds for you. Create one called Amazon FBA if you sell with FBA. |
| Import Orders Since | The oldest order date for the first import. Seven days back by default. |
| Tax mode | How taxes are recorded; see Invoices, taxes & refunds. |
| Sales Team, Salesperson | Set on every imported order. |
| Shipping, Discount and Gift wrap products | Service products used for those lines. The module creates them; you can pick your own. |
Your first sync
- Click Import Catalog. Amazon prepares a report of all your listings; Odoo imports it within a few minutes and links each SKU to a product. See Catalog & listings.
- Open Catalog > Listings, filter Without Product and link the remaining SKUs to products.
- Click Sync Orders. Orders since the start date come in as sale orders.
- If you sell with FBA, click Import FBA Inventory.
- Check a few orders against Seller Central: lines, totals and the delivery address.
Turn on automatic syncs
Automatic syncs only run for accounts in the Connected state. Switch each part on or off on the account:
| Switch | Tab | Default |
|---|---|---|
| Import Orders, Import FBA Orders | Orders | On |
| Invoice Shipped Orders | Orders | On |
| Export FBM Stock, Import FBA Inventory | Inventory | On |
| Import Removal Orders | Inventory | Off |
| Synchronize Prices, Automatic Repricing | Catalog and Prices | Off |
| Import Refunds | Accounting | On |
| Import Settlements | Accounting | Off |
| AI Tools | AI | Off |
How often each job runs is set in Configuration > Scheduled Jobs.
How the module is laid out
| Menu | What is in it |
|---|---|
| Dashboard | One card per seller account with today's figures and shortcuts. |
| Orders | All Amazon sale orders, with FBA and FBM filters. |
| Catalog | Listings (SKUs, prices, stock, forecasts, AI content) and Alerts. |
| FBA | Inbound Plans, Multi-Channel Fulfillment and Removal Orders. |
| Accounting | Settlements and Refunds (credit notes from Amazon). |
| Monitoring | Sync Log, Feeds and Reports. |
| Configuration | Seller Accounts, Marketplaces, Fee Mapping and Scheduled Jobs. Managers only. |
Disconnect or change the account
Disconnect on the seller account removes the authorization and stops all scheduled syncs for it. Your orders, invoices and listings stay in Odoo. Click Connect with Amazon to connect again.
Do not reconnect an existing seller account to a different Amazon account. Its orders and listings belong to the first one. Create a new seller account instead.
Troubleshooting
| Problem | Fix |
|---|---|
| Back from Amazon on an Odoo login page | You started from a different address than web.base.url. Log in again, open Odoo at its public address and click Connect with Amazon again. |
| "Amazon authorization was not completed" | You cancelled on Amazon or the link expired (20 minutes). Click Connect with Amazon again. |
| No marketplaces after connecting | Check the Region: an EU seller connected as North America sees none. Fix the region and reconnect. |
| "TM Connect refused the token request" | The authorization was revoked in Seller Central (Settings > User Permissions > Manage your apps). Click Reconnect. |
Need help
Write to support@techmarbles.com with your Odoo version, the seller account's region and, for a sync problem, the line from Monitoring > Sync Log.
Buying, licence & updates
Where to buy the module, what the price covers and how to update it.
What it does
Amazon Odoo Connector (TM) is sold on the Odoo Apps Store under the Odoo Proprietary License (OPL-1). You pay once per Odoo major version. There is no monthly connector fee and no charge per order.
Price and what it includes
- The module for the Odoo version you bought, for one Odoo database and its test copies.
- Bug fixes and configuration help by email for that version.
- Updates within that version, including changes Amazon makes to its API.
Optional costs come from others: AI tools are billed by Anthropic on your own key.
Odoo versions
This guide covers the Odoo 19 version. Buy the module for the version you run; each version has its own branch on the Apps Store.
Update the module
- Download the new zip from the Apps Store and replace the
tm_amazon_connectorfolder. - Restart Odoo.
- In Apps, open the module and click Upgrade.
Updating keeps your settings, listings and orders. Scheduled job frequencies you changed are kept too.
Troubleshooting
| Problem | Fix |
|---|---|
| The module does not appear in Apps | Check the folder is in the addons path, restart Odoo, then Update Apps List in developer mode. |
| Error during upgrade | Send the full error from the Odoo log to support. Your data is not changed when an upgrade fails. |
Order sync
How Amazon orders become Odoo sale orders: which orders come in, what is on them, and what happens when Amazon changes or cancels one.
What it does
Every 15 minutes the module asks Amazon for orders created or changed since the last run, in all selected marketplaces, and creates or updates the matching sale order. It uses Amazon's current Orders API (version 2026-01-01).
Before you start
- Set the FBM and FBA warehouses on the account.
- Import the catalog so SKUs are linked to products, or turn on Create missing products.
- Choose the tax mode; see Invoices, taxes & refunds.
How to set it up
- On the Orders tab, tick Import Orders, and Import FBA Orders if you sell with FBA.
- Set Import Orders Since for the first run.
- Choose Auto Confirm Orders and Create Missing Products.
- Click Sync Orders once, then let the scheduled job take over.
Which orders sync
| Amazon status | FBM | FBA |
|---|---|---|
| Pending (not paid yet) | Waits; imported once paid | Waits |
| Unshipped, Partially shipped | Imported, delivery to prepare | Waits |
| Shipped | Imported and delivered (shipped outside Odoo) | Imported and delivered |
| Cancelled | Cancels the Odoo order | Cancels the Odoo order |
FBA orders only matter to Odoo once Amazon has shipped them, so they arrive already delivered and are never confirmed back to Amazon.
Lines, promotions and shipping
| On Amazon | In Odoo |
|---|---|
| Item | A line with the product linked to the SKU, the quantity and the unit price. |
| Promotion | A negative line with the Discount product, named after the promotion. |
| Shipping charge | One line with the Shipping product, taxed like the goods. |
| Gift wrap | One line with the Gift wrap product. |
| Currency | The order's currency, with a pricelist in that currency (created if needed). |
Customers on orders
The buyer becomes the customer, matched by email when Amazon gives one. The delivery address becomes a delivery contact under that customer, reused when it is the same. Amazon only shares buyer names and addresses with sellers approved for them; without that approval the order gets a placeholder customer such as Amazon Customer 111-…. See Users & Amazon permissions.
Cancellations
When Amazon cancels an order, the Odoo order is cancelled. If the goods were already shipped, it is left as it is and the chatter says so.
The order in Odoo
An Amazon order has an Amazon tab with the Amazon order ID, marketplace, FBA or FBM, Amazon status and Amazon's total. The orders list has a Total ≠ Amazon column: it is ticked when the Odoo total differs from Amazon's, usually because of taxes or an unmapped charge.
How often it runs
Every 15 minutes (Amazon: Import orders). Each run overlaps the last by five minutes, because Amazon can report changes a little late. An order is never imported twice.
What is synced / not synced
| Synced | Not synced |
|---|---|
| Orders, items, promotions, shipping, gift wrap, taxes, buyer, delivery address, status, cancellations | Changes you make to the sale order in Odoo (Amazon orders cannot be edited by sellers) |
Retry failed orders
If an order cannot be imported, for example because its SKU has no product, it is listed in the Sync Log as To Retry with the reason. The other orders are not held up. Fix the cause, then select the line and click Retry. A job also retries them every hour.
Good to know
- Amazon only allows a few order requests per minute; large first imports take several runs.
- Products created automatically are storable, named after the Amazon title, with the SKU as Internal Reference.
Troubleshooting
| Problem | Fix |
|---|---|
| An order is missing | Check its status in Seller Central: pending orders wait. Check the order date is after Import Orders Since, and that its marketplace is selected. |
| "SKU … is not linked to any product" | Link the listing to a product, or tick Create Missing Products, then retry. |
| Total ≠ Amazon is ticked | Compare taxes: in Odoo taxes mode the product taxes apply. Try Match Amazon's tax rate. |
Shipments & tracking
How Amazon learns that an FBM order has shipped, and what it is told.
What it does
When you validate the delivery of an FBM order, Odoo confirms the shipment to Amazon with the shipped items, carrier and tracking number. Amazon then marks the order shipped and emails the buyer.
How to set it up
- On each delivery method (Inventory > Configuration > Shipping Methods), fill in Amazon Carrier Code:
UPS,USPS,FedEx,DHL,Royal Mail,Deutsche Postand so on. - Set the delivery method and tracking reference on the delivery before you validate it.
Without a carrier code, Amazon receives Other with the carrier's name.
On the delivery
A delivery of an Amazon order shows an Amazon Shipment status: Confirmed, Error with the message, or To Confirm. Retry Amazon Confirmation sends it again at once; a job also retries every 30 minutes.
Partial deliveries
Each validated delivery is sent as its own package, so a backorder becomes a second package on the same Amazon order.
What is synced / not synced
| Synced | Not synced |
|---|---|
| Shipped items and quantities, ship date, carrier, shipping method, tracking number | FBA orders (Amazon ships them), orders shipped with Amazon Buy Shipping (already confirmed by Amazon) |
Troubleshooting
| Problem | Fix |
|---|---|
| "No Amazon order item in this delivery" | The delivery only holds products added in Odoo. Nothing to confirm. |
| Amazon rejects the carrier | Use Amazon's carrier name exactly, or leave the code empty to send Other. |
Invoices, taxes & refunds
How taxes are recorded on Amazon orders, when invoices are created, and what happens when Amazon refunds a buyer.
What it does
The module records taxes the way you choose, posts an invoice when an order ships, and turns each Amazon refund into a credit note, with a return transfer for FBM goods.
Choose a tax mode
| Tax mode | When to use it |
|---|---|
| Marketplace facilitator (no tax in Odoo) | Amazon collects and pays the tax for you: US states, UK and EU imports, Australia. Orders are recorded without tax. |
| Match Amazon's tax rate | You declare the tax and want exactly Amazon's rate. Odoo picks the sales tax with the same rate, or falls back on the product's taxes. |
| Odoo taxes (product + fiscal position) | Your own tax setup decides, for example EU VAT through OSS fiscal positions. |
Invoices
With Invoice Shipped Orders on, Odoo creates and posts the invoice once every delivery of the order is done: when you ship an FBM order, or at import for FBA orders. If an invoice cannot be created, the delivery still goes through and the Sync Log says why.
Refunds
With Import Refunds on (Accounting tab), the module reads Amazon's refund transactions every hour.
- It finds the Odoo order by the Amazon order ID.
- It creates a credit note against the order's invoice for the refunded SKUs and quantities. A full refund also refunds shipping and promotion lines.
- With Return Refunded FBM Goods, it creates a return transfer for those quantities, ready to receive.
Each refund is imported once. Credit notes from Amazon are listed in Accounting > Refunds.
Good to know
- Refunded FBA goods go back to Amazon's warehouse; the next FBA inventory import updates Odoo.
- Credit notes are not paid here: the settlement that contains the refund does that. See Settlements & Amazon fees.
Troubleshooting
| Problem | Fix |
|---|---|
| "order … is not in Odoo" | The refunded order was placed before your first import. Import it with an earlier Import Orders Since or record the refund by hand. |
| Refund received but no credit note | The order has no posted invoice. The chatter of the order says so. Invoice it, then refund it by hand. |
Settlements & Amazon fees
How Amazon's settlement reports become one journal entry per period, so your invoices are paid and Amazon's fees are in the right accounts.
What it does
Amazon pays you every settlement period, keeping its fees. Every day the module looks for new settlement reports and, for each one:
- credits each order's amount to the customer, which pays the invoice;
- debits each fee (commission, FBA fees, subscription…) to its account;
- debits the transfer to your bank to the Payout Account, where your bank statement line meets it.
Before you start
- A miscellaneous journal, for example Amazon Settlements.
- A payout account that reconciles, such as Bank Suspense or an Amazon clearing current asset.
- An expense account for Amazon fees.
How to set it up
- On the Accounting tab, tick Import Settlements.
- Choose the Settlement Journal, Payout Account and Default Fee Account.
- Set the Mismatch Tolerance (0.05 by default).
- Optional: map fees to their own accounts in Configuration > Fee Mapping.
- Click Import Settlements. Reports from the last 90 days are imported on the first run.
Fee mapping
Each settlement line has an amount type and an amount description, for example ItemFees / Commission. A fee mapping sends a description, optionally for one amount type or one seller account, to an account. Unmapped fees go to the default fee account.
| Description | Typical account |
|---|---|
| Commission | Marketplace commissions |
| FBAPerUnitFulfillmentFee | Fulfillment costs |
| Subscription Fee | Subscriptions |
| FBA Inventory Reimbursement | Other income |
| Current Reserve Amount / Previous Reserve Amount Balance | Amazon reserve (current asset) |
Reconciliation and tolerance
For each order, the module compares Amazon's amount with what is still open on the order's invoices and credit notes:
- Same amount: the invoice is paid.
- Within the tolerance: the invoice is paid and the cents are written off to the default fee account.
- Beyond the tolerance: the invoice is paid as far as possible, the line is marked mismatch, the difference stays open on the customer and an alert is raised.
A settlement is Reconciled when every order matched, Posted when some need checking.
Good to know
- Marketplace facilitator tax withheld by Amazon cancels out the tax Amazon collected, so facilitator orders settle without tax.
- A negative settlement (fees larger than sales) is recorded the same way, as money owed to Amazon.
- Reset to Draft (managers) deletes the entry and its reconciliations so you can post again after changing mappings.
Troubleshooting
| Problem | Fix |
|---|---|
| Settlement in Error | Read the message on the settlement. Usually a missing journal or account: set it, then click Post. |
| Many mismatches | Orders without invoices, or orders imported in a different tax mode. Open the lines marked mismatch. |
| Fees in the wrong account | Add a fee mapping, Reset to Draft, then Post. |
Catalog & listings
How your Amazon listings come into Odoo and are linked to products.
What it does
Import Catalog asks Amazon for its All Listings report. When Amazon has prepared it, usually within minutes, the module creates or updates one listing per SKU with its ASIN, title, price, FBA or FBM and Amazon status.
Matching
A new SKU is linked to a product in this order:
- A product whose Internal Reference equals the SKU.
- A product whose Barcode equals the UPC or EAN of the listing.
- Otherwise a new product, if Create Missing Products is on; else the listing stays without product.
Listings created by order or FBA imports use the same rules. A listing without product is linked automatically once a product with that Internal Reference exists.
The Listings list
Catalog > Listings shows each SKU with its product, status, price, margin, stock, stockout risk and health grade. Useful filters: Without Product, Inactive on Amazon, Buy Box Lost, Stockout Risk, Health D or F. A listing has tabs for price and Buy Box, profit, stock and forecast, AI content and alerts.
How often it runs
Once a day (Amazon: Import catalog), and when you click Import Catalog. Report progress is in Monitoring > Reports.
Limits
Listings are created on Amazon in Seller Central. The module updates prices, stock and content of existing listings; it does not create new ASINs.
Troubleshooting
| Problem | Fix |
|---|---|
| Report stays Requested | Amazon can take up to an hour for large catalogs. The report job checks every 15 minutes; Check Status checks now. |
| Duplicate products | Fill the Internal Reference of existing products with the SKU before the first import. |
Prices & repricing
Choose whether Odoo or Amazon sets your prices, and let the repricer follow the competition within limits you set.
What it does
With Synchronize Prices on (Catalog and Prices tab), prices sync once an hour in the direction you choose:
| Direction | What happens |
|---|---|
| Odoo → Amazon | Each listing's Odoo price is sent to Amazon in one batch: the price from the Amazon Pricelist, or the product's sales price. Only changed prices are sent. |
| Amazon → Odoo | Amazon prices come in with the catalog report. A product sold through a single listing gets the Amazon price as its sales price. |
Prices are converted to each marketplace's currency. Send Price on a listing sends it at once.
The repricer
- On the account, tick Automatic Repricing.
- On a listing, choose a Repricing strategy and set a Minimum Price and Maximum Price.
| Strategy | Target price |
|---|---|
| Match the Buy Box | The current Buy Box price. |
| Match the lowest offer | The lowest competing offer, shipping included. |
| Beat the lowest offer | The lowest offer minus Undercut By. |
The target is always kept between the minimum and maximum. Every 30 minutes the repricer reads the competing offers, sends changed prices, and raises alerts when you lose the Buy Box, when a new seller appears on your listing, or when your price is held at its minimum by cheaper offers (a price war).
Good to know
- Repriced listings are left out of the Odoo → Amazon price sync, so the two never fight.
- Check Competition on a listing refreshes the Buy Box and lowest offer without changing the price.
Troubleshooting
| Problem | Fix |
|---|---|
| Price did not change on Amazon | Open Monitoring > Feeds: a feed with errors shows Amazon's reason, such as a price outside Amazon's allowed range. |
| Repricer does nothing | Check Automatic Repricing on the account, and a strategy plus minimum and maximum on the listing. |
Stock sync
Your FBM stock goes to Amazon; the stock Amazon holds for you comes into an Odoo warehouse.
What it does
| Stock | Direction | How often |
|---|---|---|
| FBM free quantity, minus the safety buffer | Odoo → Amazon | Every hour |
| FBA fulfillable quantity | Amazon → Odoo | Every 6 hours |
FBM stock export
For each FBM listing with Sync Stock ticked, Odoo sends the product's free quantity in the FBM warehouse (on hand minus reserved), minus the account's Stock Buffer, rounded down and never below zero.
| Method | When to use it |
|---|---|
| JSON_LISTINGS_FEED (batch) | Default. One feed for all SKUs; best for large catalogs. |
| Listings Items API (per SKU) | Small catalogs; Amazon answers for each SKU at once. |
FBA stock import
The FBA warehouse's stock is set to the quantity Amazon can sell for each SKU. Amazon is the reference: Odoo's quantity is replaced, not added to. Pan-European stock shared between marketplaces is counted once.
Good to know
- Untick Sync Stock on a listing to manage its quantity in Seller Central.
- MCF shipments, inbound plans and removals move stock between your warehouses and FBA; see FBA logistics.
Troubleshooting
| Problem | Fix |
|---|---|
| Amazon shows 0 | Check the free quantity in the FBM warehouse and the stock buffer. Reserved stock does not count. |
| FBA stock not updated | Set the FBA Warehouse and tick Import FBA Inventory. The product must be storable. |
FBA logistics
Use your FBA stock for any order, send stock to Amazon, and bring removed stock back.
Multi-Channel Fulfillment
Amazon can ship orders that were not placed on Amazon, such as website, Shopify or B2B orders, from your FBA stock.
- Create the sale order with the FBA warehouse as warehouse.
- On its delivery, click Ship with Amazon (MCF). The shipping speed comes from the account (MCF Shipping Speed).
- The delivery shows Sent to Amazon. Every 30 minutes Odoo checks it; when Amazon has shipped, the tracking number is copied and the delivery is validated.
The delivery address needs a street, city and country. Cancel Amazon Fulfillment cancels it while Amazon has not shipped. All MCF deliveries are listed in FBA > Multi-Channel Fulfillment.
Inbound plans
- In FBA > Inbound Plans, create a plan: account, marketplace, ship-from address and the products with quantities.
- Click Send to Amazon. Amazon creates the inbound plan, and Odoo prepares a transfer from your FBM warehouse to the FBA warehouse.
- Click Continue in Seller Central to choose packing, placement and carrier and print labels in Send to Amazon.
- When Amazon reports the shipments on their way, the plan becomes Shipped and the transfer is validated.
Removal orders
Create removal orders in Seller Central; Amazon offers no API to create them. With Import Removal Orders on, the module reads the removal report every day. For each Return removal, the quantities Amazon has shipped become a transfer from the FBA warehouse to your FBM warehouse, ready to receive. Disposals are only recorded.
Troubleshooting
| Problem | Fix |
|---|---|
| No Ship with Amazon button | The delivery must come from the FBA warehouse of a connected account, and must not belong to an Amazon order. |
| "Not enough FBA stock" | Amazon has less sellable stock than the order. Import FBA inventory and check. |
| Inbound plan in Error | Read the message: usually a SKU not enabled for FBA or a missing ship-from field. |
Profit, forecasts & alerts
What each listing earns after Amazon's fees, how fast it sells, when to reorder, and what needs your attention.
What it does
Every day, and when you click Refresh Insights, the module asks Amazon for each listing's fee estimate, counts sales and stock, and updates forecasts, health grades and alerts.
Profit
| Figure | How it is calculated |
|---|---|
| Amazon Fees / Unit | Amazon's estimate of referral and FBA fees at the current price. |
| Profit / Unit | Price − Amazon fees − product cost. |
| Margin, ROI | Profit as a share of the price, and of the cost. |
| Verdict | Highly profitable (30% or more), Profitable, Thin margin (under 10%), Loss making. |
Demand forecast
Units per day are the sales of the last 30 days, weighted twice, blended with the last 90 days. From them come the 30, 60 and 90-day forecasts, the days of cover left, a reorder point and a suggested reorder quantity. Two account settings drive them: Replenishment Lead Time and Low Stock Alert (days of cover). Reorder on the Listings list opens a purchase order for the suggested quantities when the Purchase app is installed.
Health grade
Each listing gets a score out of 100 and a grade from A to F, with the reasons it lost points: inactive listing, short title, no price, out of stock, stockout risk, Buy Box lost, negative margin.
Alerts
| Alert | Raised when |
|---|---|
| Buy Box lost | You owned the Buy Box at the last check and no longer do. |
| New seller on listing | Another seller appears on a listing that had none. |
| Price war / at minimum | The repricer holds your price at its minimum because of cheaper offers. |
| Stockout risk, Low stock | Days of cover fall below the lead time, or below lead time plus the low-stock days. |
| Negative margin | The listing sells at a loss after fees and cost. |
| Listing inactive | Amazon reports the listing inactive or incomplete. |
| Settlement mismatch | A settlement has orders that differ from their invoices. |
An alert is raised once and counts its repeats. Resolve closes it. Open alerts are in Catalog > Alerts and on the dashboard.
AI tools
Claude writes listing content, advises on prices and analyses your sales, using your own Anthropic API key.
Before you start
- An Anthropic API key, created at console.anthropic.com. Anthropic bills its use.
- The
anthropicPython package on your Odoo server (pip install anthropic).
How to set it up
- On the account's AI tab (managers only), tick AI Tools.
- Paste the Anthropic API Key and pick the AI Model: Claude Opus 5.5 (best quality), Sonnet 5.5 (balanced) or Haiku 5.5 (fastest and cheapest).
Listing optimizer
- On a listing, click AI Optimize Listing.
- The AI Content tab shows a title, five bullet points, a description, backend search terms and a suggested product type, written in the marketplace's language, plus a 0–100 score of the current content and its issues.
- Edit what you want, then click Publish to Amazon.
Price advice
AI Price Advice weighs your cost, Amazon fees, the Buy Box, the lowest offer, sales speed and stock cover, and suggests a price, a repricing strategy and a minimum and maximum, with a confidence score and its reasoning. If the listing has no minimum and maximum yet, they are filled in.
AI insights
AI Insights on the account analyses a period (30 days by default) with a focus on sales and margin, returns and refunds, or inventory and stockouts. You get a headline, findings backed by figures and recommended actions.
Good to know
- Only product content and totals are sent to Anthropic, never buyer names, addresses or emails.
- Content you publish replaces the title, bullet points, description and search terms on Amazon.
Troubleshooting
| Problem | Fix |
|---|---|
| "The AI tools need the 'anthropic' Python package" | Install it on the Odoo server and restart Odoo. |
| "Anthropic rejected the API key" | Paste a valid key; check the key's workspace has credit. |
| "Amazon rejected the content" | The message lists Amazon's reasons, often the product type. Use the suggested product type, then publish again. |
Several accounts, marketplaces & companies
One Odoo can run several Amazon accounts, regions, marketplaces and companies.
What it does
- Marketplaces: one seller account covers every selected marketplace of its region. Orders keep their marketplace and currency.
- Regions: create one seller account per region (North America, Europe, Far East).
- Companies: each seller account belongs to one company. Its orders, listings, settlements and logs are only visible in that company.
- Currencies: orders use the marketplace's currency, with a pricelist per currency. Settlements are booked in their currency.
How to set it up
- Switch to the company, then create the seller account there.
- Choose warehouses, journal and accounts of that company.
- Connect with Amazon.
Good to know
A listing sold in several marketplaces keeps one price, in its first marketplace's currency, converted for the others. Use separate SKUs if prices must differ by marketplace.
Users & Amazon permissions
Who can do what in Odoo, and which Amazon roles the module uses.
Odoo access
| Group | What they can do |
|---|---|
| TM Amazon Connector: User | See the menu, orders, listings, alerts, settlements and logs; run syncs; edit listings and inbound plans; retry failed orders. |
| TM Amazon Connector: Manager | Everything, plus seller accounts, marketplaces, fee mapping, the AI key and resetting settlements. Odoo administrators get it on install. |
| Settings administrators | Also see the Advanced tab: authorization mode and developer keys. |
Give rights in Settings > Users, under TM Amazon Connector.
Amazon roles
| Amazon role | Used for |
|---|---|
| Inventory and Order Tracking | Orders, shipment confirmation, catalog report. |
| Product Listing | Stock, prices and content updates. |
| Pricing | Buy Box, competing offers and fee estimates. |
| Amazon Fulfillment | FBA inventory, MCF, inbound plans, removal report. |
| Finance and Accounting | Refunds and settlement reports. |
| Direct-to-Consumer Shipping (restricted) | Buyer names and delivery addresses on FBM orders. |
FBA orders need no buyer data: Amazon ships them. Without the restricted role, FBM orders arrive without an address and you ship from Seller Central's order page.
Dashboard
The first screen of the module: one card per seller account.
Account card
Each card shows the account's name, marketplaces and connection (Connected or Error), and figures that open their records:
| Figure | Opens |
|---|---|
| Orders today | Today's Amazon orders. |
| To ship | Amazon deliveries not yet done. |
| Revenue, 30 days | Untaxed revenue and number of confirmed orders over 30 days. |
| To retry | Failed order imports and shipment confirmations. |
| Open alerts | Open alerts, with how many are about stock. |
| Settlements to check | Settlements with mismatched orders. |
Buttons run Sync Orders and Export Stock at once and open the listings and the Sync Log. The footer shows how many recent orders differ from Amazon's total and when orders last synced.
Monitoring & retries
Where to see what the module did, what failed, and when each job runs.
Sync Log
Monitoring > Sync Log lists each operation with its level (info, warning, error), message, and the request and response exchanged with Amazon. Open Related Record opens the order, delivery or listing. Filter Errors or To Retry.
Retry failed orders
Failed order imports are marked To Retry. Select them and click Retry, or Ignore to drop them. They are retried every hour on their own.
Feeds and reports
Monitoring > Feeds shows batches sent to Amazon (stock and prices) with Amazon's processing result and error count. Monitoring > Reports shows reports requested from Amazon (catalog, removals, settlements). Check Status and Process Again act on one at once.
Scheduled jobs
Configuration > Scheduled Jobs (Settings administrators) lists the jobs. Change a frequency or pause one there.
| Job | Default frequency |
|---|---|
| Import orders | 15 minutes |
| Export FBM stock | 1 hour |
| Import FBA inventory | 6 hours |
| Retry shipment confirmations | 30 minutes |
| Check feed processing | 10 minutes |
| Check report processing | 15 minutes |
| Import refunds | 1 hour |
| Import settlements | 1 day |
| Import catalog | 1 day |
| Synchronize prices | 1 hour |
| Repricer | 30 minutes |
| Forecasts, health scores and alerts | 1 day |
| Retry failed order imports | 1 hour |
| Multi-Channel Fulfillment status | 30 minutes |
| Inbound plan status | 1 hour |
| Import removal orders | 1 day |
| Remove buyer data after retention | 1 day |
On the records
- Sale orders: Amazon tab and the Total ≠ Amazon flag.
- Deliveries: Amazon Shipment or Amazon MCF status with the error.
- Seller account: the chatter records connections, errors and disconnections.
Troubleshooting
The usual problems, what causes them and how to fix them.
First checks
- The seller account is Connected.
- The switch for that sync is on, and its scheduled job is active.
- Monitoring > Sync Log, filter Errors: the latest message usually says what is wrong.
Connection problems
| Message or symptom | Cause and fix |
|---|---|
| Login page after approving on Amazon | Odoo was opened at another address than web.base.url. Use the public address. |
| "TM Connect refused the token request" | The app was removed in Seller Central. Click Reconnect. |
| HTTP 403 Unauthorized | A missing Amazon role for that feature; see Users & Amazon permissions. |
| HTTP 429 in the log | Amazon's rate limit. The module waits and retries on its own; nothing to do. |
Orders missing or failed
Pending orders wait until paid. Failed ones are To Retry with the reason; fix it and retry. See Order sync.
Shipped in Odoo but not on Amazon
Open the delivery: an Amazon Shipment error says why. Fix the carrier or tracking and click Retry Amazon Confirmation.
Stock is wrong
For FBM, check the free quantity and the buffer. For FBA, Amazon's sellable quantity replaces Odoo's: stock in transit or reserved by Amazon is not counted.
Settlements do not match
Open the settlement, filter lines marked mismatch and compare with the order's invoice. Missing invoices and refunds from before your first import are the usual causes.
Still stuck?
Write to support@techmarbles.com with the Sync Log line (with its request and response) and the record concerned.
Before you go live
A checklist for the day you switch the sync on.
Connection and users
- Odoo opens at its public HTTPS address, equal to web.base.url.
- The account is connected and the right marketplaces are selected.
- Users have the User or Manager right.
Catalog and prices
- Catalog imported, no listing Without Product.
- Price direction chosen; pricelist set for Odoo → Amazon.
- Repriced listings have sensible minimum and maximum prices.
Stock
- FBM warehouse and stock buffer set; stock counted.
- FBA warehouse created and FBA inventory imported.
Orders and shipments
- Import Orders Since set to the go-live date to avoid importing old orders.
- Carrier codes filled on delivery methods.
- One test FBM order shipped and confirmed on Amazon.
Accounting
- Tax mode checked with your accountant.
- Settlement journal, payout and fee accounts set; main fees mapped.
- The first settlement reviewed before relying on reconciliation.
FAQ
Short answers to the questions we hear most.
Do I need to register as an Amazon developer?
No. Connect with Amazon uses Techmarbles' approved app. You only approve it in Seller Central.
Does it work with Odoo Online?
No. Odoo Online does not run third-party modules. Use Odoo.sh or your own server.
Does it replace Odoo's own Amazon connector?
It is a separate module and does not need it. Do not run both on the same seller account, or orders are imported twice.
Can I import old orders?
Yes. Set Import Orders Since to an earlier date and click Sync Orders. Already imported orders are skipped.
Is stock and price sync two-way?
Stock goes out for FBM and comes in for FBA. Prices go one way, the one you choose per account.
Does it handle Pan-European FBA?
Yes. Stock shared between EU marketplaces is counted once.
What do the AI tools cost?
Anthropic bills the use of your key. The module adds no AI fee.
Does anything leave my Odoo?
Data goes to Amazon (and, if you use the AI tools, product content and totals to Anthropic). The authorization service only issues access tokens.
Security & privacy
What is stored, who sees it and how buyer data is removed.
Authorization
With Connect with Amazon, Amazon's long-lived authorization is kept, encrypted, by the Techmarbles authorization service. Your Odoo holds a secret to ask it for access tokens that last one hour. Orders and customers never pass through it. Disconnect deletes the authorization there too.
Who sees what
- Developer keys and connection secrets: Settings administrators only.
- Anthropic API key: TM Amazon Connector managers only.
- Multi-company rules keep each company's Amazon data separate.
Buyer data retention
Amazon's Data Protection Policy requires sellers to delete buyer data at most 30 days after delivery. Every day, the module anonymizes buyers of orders delivered more than Anonymize Buyers After days ago (30 by default, Privacy tab): name, email, phone, street, city and postcode are removed. Country and state stay for tax reports. Orders and invoices keep their amounts.
Logs
Sync logs are deleted after Keep Sync Logs days (30 by default). Entries waiting for a retry are kept.
Release notes
What changed in each version.
19.0.2.0.0
- Catalog import, Odoo or Amazon as price master, and a repricer with Buy Box and lowest-offer strategies.
- Refunds as credit notes, with return transfers for FBM goods.
- Settlement reports as journal entries, fee mapping, tolerance and reconciliation with invoices.
- Multi-Channel Fulfillment, inbound plans and removal orders.
- Fee estimates, profit, demand forecasts, health grades and alerts.
- AI tools with Claude: listing optimizer, price advice and insights.
- Dashboard, retry for failed orders, User and Manager groups, multi-company rules, buyer data anonymization and log retention.
19.0.1.0.0
- Connect with Amazon in one click.
- FBA and FBM order import with Amazon's Orders API 2026-01-01, cancellations and three tax modes.
- Shipment confirmation with tracking, automatic invoices.
- FBM stock export and FBA stock import.
- Sync Log and feed tracking.
