Naar hoofdinhoud
Amazon SP-API · Odoo Troubleshooting

Amazon SP-API en Odoo: veelvoorkomende fouten en hoe je ze voorkomt

Dezelfde vijf of zes problemen duiken telkens weer op bij het koppelen van Amazon Seller Central aan Odoo: voorraadverschillen, dubbele orders, late tracking, 429-fouten en verlopen tokens. We leggen uit waarom ze optreden en wat een goed gebouwde connector doet om ze te voorkomen.

Amazon FBA-dashboard dat gesynchroniseerd moet blijven met Odoo

Bijna alle bedrijven die Amazon Seller Central met Odoo koppelen maken hetzelfde mee: in de eerste maand werkt alles prima in de tests, en na een paar weken met echt volume duiken steeds dezelfde symptomen op. Voorraad die niet klopt, orders die dubbel binnenkomen, tracking die te laat aankomt, de API die ineens 429-fouten teruggeeft, of een token dat op een maandagochtend zonder waarschuwing niet meer werkt.

Kernpunt: bijna geen van deze fouten is een probleem van Amazon of van Odoo afzonderlijk. Ze ontstaan in de synchronisatielaag, wanneer de connector het asynchrone model van de SP-API niet respecteert (realtime notificaties, limieten per endpoint, OAuth-tokens met een korte geldigheid) en in plaats daarvan elke X minuten simpel pollt en erop vertrouwt dat alles op tijd aankomt.

Waarom de koppeling tussen Amazon en Odoo faalt (en dat is niet altijd duidelijk)

De SP-API van Amazon is geen eenvoudige REST-API met verzoek en antwoord. Ze combineert synchrone aanroepen met een asynchroon notificatiesysteem (Notifications API, geleverd via SQS of EventBridge), een rapportenmodel waarbij rapporten op de achtergrond worden gegenereerd en je ze moet blijven opvragen tot ze klaar zijn, en een limiet voor verzoeken per seconde die per operatie verschilt, niet één globale limiet voor het hele account. De authenticatie loopt via Login With Amazon (LWA): het access token verloopt elk uur en moet met het refresh_token worden vernieuwd voordat het verloopt.

Veel integraties (vooral die zijn opgebouwd met generieke automatiseringen zoals Zapier, Make of een iPaaS zonder specifieke Amazon-logica) reduceren dit alles tot een cron die elke X minuten orders opvraagt en ervan uitgaat dat dat volstaat. Die vereenvoudiging is de directe oorzaak van de meeste fouten in de onderstaande tabel.

Tabel: symptoom, waarschijnlijke oorzaak en hoe je het voorkomt

Acht echte symptomen die we steeds terugzien bij bedrijven die via Odoo op Amazon verkopen, met bij elk de meest waarschijnlijke technische oorzaak en de oplossing die een connector toepast die gebouwd is om echt te draaien, niet alleen om een demo te doorstaan.

Symptoom Waarschijnlijke oorzaak Hoe je het voorkomt
Voorraadverschil / oververkoop op Amazon Synchronisatie via polling om de 30-60 minuten; de Notifications API voor voorraad in realtime wordt niet gebruikt Abonnement op voorraadnotificaties met directe push na elke voorraadmutatie in Odoo, plus een instelbare veiligheidsbuffer
Dubbele orders in Odoo Pogingen van de connector zonder idempotentie; de AmazonOrderId wordt niet als unieke sleutel gebruikt Idempotente upsert op basis van AmazonOrderId, met een uniekheidsconstraint op databaseniveau
Tracking komt te laat bij Amazon aan (de Late Shipment Rate stijgt) De tracking wordt verstuurd via een nachtelijke batch-cron in plaats van bij het valideren van de levering Automatische actie die de Shipping API aanroept op het moment dat de levering in Odoo wordt gevalideerd
429-fouten / "Request throttled" De specifieke limiet per operatie van de SP-API wordt niet gerespecteerd (elk endpoint heeft zijn eigen bucket) Taakwachtrij met exponentiële backoff en een eigen rate limiter per endpoint, niet één globale
Verlopen OAuth-token of ongeldig refresh_token Geen automatische vernieuwing van het LWA-access token, of de toestemming is in Seller Central ingetrokken zonder dat iemand het merkt Automatische vernieuwing met een veiligheidsmarge, plus een melding wanneer de vernieuwing mislukt (niet pas wanneer een echte order faalt)
Verschillende prijzen tussen Amazon en de andere kanalen Er is geen enkele bron van waarheid; de prijs wordt handmatig in Seller Central aangepast Odoo als bron van waarheid voor prijzen, met expliciete conflictregels wanneer een handmatige wijziging op Amazon wordt gedetecteerd
Restituties en retouren die in de boekhouding niet kloppen Alleen de orders worden verwerkt; de Returns/Refunds-rapporten van Amazon worden niet geïmporteerd Automatische import van de Returns Reports naar boekingen voor creditnota's, niet alleen naar de voorraad
Werkt in tests, maar faalt met meerdere accounts of marketplaces Inloggegevens en synchronisatiestatus zijn hardcoded voor één verkopersaccount Model met inloggegevens per bedrijf/marketplace vanuit het datamodel zelf, niet als een patch achteraf

Checklist: wat een goed gebouwde Amazon-Odoo-connector moet hebben

Loop deze lijst door voordat je een Amazon-Odoo-connector goedkeurt (je eigen connector of een die je overweegt te kopen). Het is geen theorie: dit zijn precies de punten waar we echte integraties hebben zien falen.

  • Gebruikt de Notifications API van Amazon (SQS/EventBridge) in plaats van alleen op periodieke polling te vertrouwen
  • Importeert orders idempotent met de AmazonOrderId als unieke sleutel
  • Stuurt de tracking naar Amazon op het moment dat de levering wordt gevalideerd, niet in een nachtelijke batch-cron
  • Past een rate limiter en exponentiële backoff per endpoint toe, niet een grove globale limiet
  • Vernieuwt het OAuth-token (LWA) automatisch, met een vroege melding als de vernieuwing mislukt
  • Legt elke API-aanroep vast in een log met responscode en payload, niet alleen een algemeen "sync OK"
  • Ondersteunt meerdere accounts en marketplaces vanuit het datamodel zelf, niet als latere toevoeging

Wat wij bij FlexigoTech doen: onze Amazon-connector voor Odoo

Onze Amazon-connector voor Odoo draait FBA en FBM in echte productie via de SP-API en is juist gebouwd om geen van de acht punten uit de bovenstaande tabel te raken: idempotente import op AmazonOrderId, tracking versturen bij het valideren van de levering en automatische vernieuwing van tokens, onder andere. Het is geen generieke automatiseringslaag bovenop de API: het is een native Odoo-module, gemaakt om met echt volume te werken, niet alleen om een demo te doorstaan.

Als je al Odoo hebt, maar je huidige connector (eigen of van een derde) een van deze symptomen vertoont, ligt het probleem vaak niet bij de connector zelf, maar bij hoe die in jouw instance is uitgerold. Dat los je meestal op binnen een goed uitgevoerd Odoo 19-implementatietraject, waarbij de synchronisatie van marketplaces vanaf het begin tot de scope hoort en niet achteraf als patch wordt toegevoegd.

Handige links binnen FlexigoTech

Amazon-connector voor OdooVerder lezen op FlexigoTechOdoo 19-implementatiedienstVerder lezen op FlexigoTech

Veelgestelde vragen

Waarom loopt de voorraad tussen Amazon en Odoo uit de pas, ook al heb ik een connector geïnstalleerd?

Bijna altijd omdat de connector synchroniseert via polling met een vast interval, in plaats van te reageren op de voorraadnotificaties van Amazon in realtime. Tussen twee rondes zit een venster waarin Amazon en Odoo niet overeenkomen, en bij assortimenten met een hoge omloop is dat genoeg om iets te verkopen wat je niet meer hebt.

Hoe voorkom ik dubbele orders wanneer Amazon dezelfde notificatie opnieuw verstuurt?

Amazon kan dezelfde ordernotificatie meer dan eens opnieuw versturen; dat hoort bij het normale leveringsmodel. De oplossing is niet om herzendingen met de hand te filteren, maar dat de connector de AmazonOrderId als unieke sleutel gebruikt en een idempotente upsert uitvoert: bestaat de order al, dan wordt die bijgewerkt; zo niet, dan wordt die aangemaakt. Er wordt nooit twee keer iets ingevoegd.

Wat is een 429-fout van Amazon SP-API en hoe los je die op vanuit Odoo?

Het is een throttling-fout: je hebt de limiet voor verzoeken per seconde van dat specifieke endpoint overschreden (elke operatie van de SP-API heeft zijn eigen limiet, geen globale). Je lost het op met een taakwachtrij die de rate limit van elk endpoint respecteert en met exponentiële backoff opnieuw probeert, niet door na een paar seconden opnieuw aan te roepen.

Wat gebeurt er als mijn OAuth-token van Amazon in productie verloopt?

Amazon gebruikt Login With Amazon (LWA): het access token verloopt elk uur en moet met het refresh_token worden vernieuwd voordat het verloopt. Als de connector die vernieuwing niet automatiseert, of als de verkoper de toestemming in Seller Central heeft ingetrokken zonder het iemand te laten weten, gaan de aanroepen mislukken met autorisatiefouten totdat het account handmatig opnieuw wordt gekoppeld.

Heeft tracking die te laat bij Amazon aankomt echt invloed op mijn account?

Ja. Amazon meet de Late Shipment Rate en als die boven de drempel uitkomt, kan dat de accountstatus en de zichtbaarheid van je listings beïnvloeden, naast het directe effect op de ervaring van de koper. Als de tracking via een nachtelijke cron wordt verstuurd in plaats van op het moment dat de levering in Odoo wordt gevalideerd, ligt die vertraging bij de connector, niet bij Amazon.

Wat wij hieraan doen

Amazon-connectorWat hij doet, schermafbeeldingen, versies en prijs.

Wil je dat we je Amazon-koppeling nakijken?

Vertel ons welk symptoom je hebt (voorraad, dubbele orders, tracking of tokens) en in het eerste gesprek zeggen we je of het om een eenmalige aanpassing gaat of dat de connector grondig herzien moet worden. Mail ons op comercial@flexigobe.com of bel +34 616 809 504.

Praat met een engineer