Amazon FBA · SP-API · Odoo 19

How to sync Amazon FBA stock into Odoo (and why your AVCO is wrong without it)

Odoo's native Amazon connector is built for orders, not for inventory. It doesn't reliably pull your FBA fulfillable quantity, so average cost (AVCO) and margin come out wrong and you end up importing stock by hand. Here's the real root cause and how to fix it properly.

FBA fulfillable quantity in OdooThe SP-API report's Fulfillable Quantity written to its own location.
Correct AVCO and marginOdoo values stock on real quantities, not made-up numbers.
FBA and FBM side by sideSeparate locations per account: no overselling, no single-warehouse wall.
Cron-based syncNo manual imports, no parallel spreadsheets to maintain.
Amazon FBA inventory synced into a dedicated Odoo location
FBA stock inside the ERPFulfillable quantity in its own location so average cost and margin add up.

The native connector is order-centric: FBA inventory doesn't land right

It's not that you're doing anything wrong. Odoo's Amazon connector is designed around the order, not the stock. That's the real reason your AVCO doesn't add up.

It doesn't reliably pull Fulfillable Quantity

The connector imports orders and little else. The fulfillable quantity Amazon holds in its fulfillment centers doesn't get written to Odoo, so the system has no idea how many real units you have.

AVCO values stock on quantities that don't add up

If FBA's physical stock isn't reflected in Odoo, average-cost valuation and gross margin get computed on the wrong quantities. Your profitability reports are lying to you and you don't even notice.

Mixing FBA and your own warehouse = overselling

If you put FBA inventory and your own warehouse stock in the same location, Odoo can't tell which units Amazon can ship and which ones you can. The single warehouse field turns into a wall and you end up selling what you don't have.

The FBA inventory report you need to query via SP-API is, literally:

GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA   # Fulfillable Quantity per SKU
GET_LEDGER_SUMMARY_VIEW_DATA              # ledger summary (movements / audit)

If you landed here searching for exactly that string, you're in the right place: the problem isn't yours, it's the native connector's design.

The right steps to sync FBA stock

No middleware, no spreadsheets. You need to poll the FBA report via SP-API, a dedicated location, and strict SKU mapping.

Poll the FBA report on a cron

Schedule a job that queries GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA (or the ledger summary for movements) at whatever cadence your account allows. Nothing manual.

Write Fulfillable Quantity to a dedicated location

Create an FBA location separate from your main warehouse and write the fulfillable quantity there. That way Odoo values AVCO on real data and the margin adds up.

Strict mapping: seller SKU = Odoo internal reference

The Amazon SKU must match the Odoo internal reference exactly, respecting case and spaces. A single space difference already breaks the sync.

FBA and FBM in separate locations

Map the FBA location per account so it coexists with your own warehouse (FBM) without overselling. A single warehouse field stops being a wall.

FlexigoTech's Amazon connector does exactly this FBA sync

The module brings FBA fulfillable quantity to a dedicated location on a cron, and it also imports orders, returns and supports settlement reconciliation. It handles FBA and FBM side by side and multiple accounts. No invented reviews or customers: a solo developer in Barcelona, maintained for Odoo 19, with direct support.

FBAdedicated location
+FBMside by side, no overselling
Nmultiple accounts

License + setup if you need it

You can buy the module on Odoo Apps and install it yourself, or ask us to tune the FBA sync, the SKU mapping and the go-live. If you also need custom logic (stock rules, valuation, advanced multi-account), we do it as custom development.

Module on Odoo AppsCustom development

If you landed here from that search, this matters too

FBA stock rarely comes alone: orders, tracking, settlements and multichannel operations end up in the same conversation.

Frequently asked questions about FBA stock in Odoo

Why is my AVCO in Odoo wrong when I sell via FBA?

Because the native connector is order-centric: it imports orders but doesn't reliably write the units available in FBA. If Amazon's physical stock isn't reflected in Odoo, average-cost valuation (AVCO) and gross margin get computed on quantities that don't add up. The fix is to pull the Fulfillable Quantity from the FBA inventory report into a dedicated location and let Odoo value stock on real data.

Which SP-API report do I need to query for FBA stock?

The GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA report returns Fulfillable Quantity per SKU to write available stock into Odoo. For auditing movements, use the ledger summary report (GET_LEDGER_SUMMARY_VIEW_DATA). Both are polled on a cron at whatever cadence your account supports.

Can I run FBA and my own warehouse (FBM) at the same time without overselling?

Yes, but they need to live in separate stock locations. Mixing FBA inventory with your own warehouse in a single location causes overselling, because Odoo can't tell which units Amazon can ship and which ones you can. With a dedicated FBA location per account, FBA and FBM coexist without a single warehouse field becoming a wall.

Does FlexigoTech's connector sync FBA stock only?

It syncs FBA inventory into a dedicated location on a cron, and it also imports orders, returns and supports settlement reconciliation. It handles FBA and FBM side by side and multiple accounts. If FBA stock is all you need, that part works on its own.

Stop importing FBA stock by hand.

If your AVCO and margin come out wrong because FBA stock isn't reaching Odoo, the fix is a cron sync into a dedicated location. Check out the module or tell me your case.

Talk to FlexigoTechView the module on Odoo Apps