Naar hoofdinhoud
Amazon · Orderinvoer

Amazon-bestellingen importeren in Odoo: wat elke bestelling bevat en waar het misgaat

Een Amazon-bestelling is meer dan een naam, een adres en een bedrag. Ze bevat statussen, gegevens die pas later binnenkomen, belasting die je soms niet zelf int en een ID die bepaalt of je met duplicaten eindigt. Dit moet je mappen en in welke volgorde.

Geïmporteerde Amazon-bestelling in Odoo met referentie, regels en belasting

"Amazon-bestellingen komen vanzelf in Odoo binnen." Dat klopt. De nuttige vraag is een andere: komen ze binnen met alles wat je nodig hebt om te picken, te factureren en af te letteren? Wat misgaat is niet de verbinding (dat zie je meteen), maar de mapping. Een slecht geïmporteerde bestelling geeft geen foutmelding: ze geeft in oktober een dubbele levering en in januari een btw-bedrag dat niet klopt.

Wat een Amazon-bestelling bevat, en wat nog niet

De kop bevat de bestel-ID, de aankoopdatum, de status, het kanaal (FBA of FBM), de marktplaats waarop is verkocht en de uiterste verzenddatum. De regels komen apart, met de ASIN, je eigen verkoper-SKU, de hoeveelheid, de prijs, de belasting en de verzendkosten als afzonderlijke bedragen, plus promotiekortingen. En er is een moment waarop een bestelling bestaat maar nog niets bruikbaars bevat: zolang de betaling niet is geautoriseerd, staat de bestelling op in behandeling, met regels zonder prijzen of belasting en zonder bruikbaar adres. Als je import de bestelling op dat moment aanmaakt, ontstaat er een half lege bestelling die later niemand meer weet te herstellen.

De ID bepaalt alles: zonder ID krijg je duplicaten

Elke bestelling komt binnen met haar Amazon-ID. Dat nummer moet op de Odoo-order worden opgeslagen en het eerste zijn dat wordt opgezocht voordat er iets wordt aangemaakt. Als de import eerst aanmaakt en daarna controleert, levert elke herhaalpoging (een netwerkstoring halverwege een cyclus, een cron die overlapt met de vorige, een handmatig gestarte synchronisatie terwijl de automatische liep) je twee identieke bestellingen en twee leveringen op. Sla ook de ID van elke regel op: daarmee herken je een gewijzigde regel zonder de hele bestelling te verwijderen en opnieuw aan te maken.

Een detail dat klein lijkt en dat niet is: de controle moet steunen op een unieke index in de database, niet alleen op een voorafgaande zoekopdracht in Python. Twee processen die tegelijk draaien kunnen allebei de zoekopdracht doorstaan en allebei aanmaken. Het is een van de fouten die we het vaakst zien bij het auditen van connectoren die iemand anders heeft gebouwd.

Adressen: ze komen beperkt binnen en moeten worden gewist

De gegevens van de koper komen niet mee bij het gewone uitlezen van de bestelling. Het verzendadres en het contact worden apart opgevraagd, met een specifieke autorisatie voor beperkte gegevens, en het e-mailadres dat je krijgt is een Amazon-alias dat ophoudt te werken. Bovendien mag je ze niet bewaren: na de termijn die het privacybeleid van Amazon stelt, worden persoonsgegevens gewist en bewaar je alleen wat de fiscale regelgeving verplicht. In Odoo heeft dat twee praktische gevolgen: voor elke koper een permanent contact aanmaken is niet altijd een goed idee, en je hebt een opschoonmechanisme nodig dat iemand bewust heeft ontworpen, geen toevalstreffer.

Belastingen: in veel gevallen int jij ze niet zelf

In nogal wat markten is het Amazon die de belasting op de verkoop inhoudt en afdraagt, en de bestelregels kunnen aangeven wie daarvoor verantwoordelijk is. Als je import altijd dezelfde belasting toepast zonder dat gegeven te lezen, loopt de boekhouding in beide richtingen mis: je declareert te veel of te weinig. Wat je voor de eerste bestelling moet inrichten, is een fiscale positie per bestemmingsland, een prijslijst per valuta en een duidelijke regel voor het geval dat Amazon de verantwoordelijke is. Het detail per land staat in verkopen op meerdere Amazon-marktplaatsen met één Odoo.

Annuleringen: alleen nieuwe bestellingen lezen is niet genoeg

Een bestelling kan worden geannuleerd terwijl ze in behandeling is, en dan is ze nooit een echte bestelling geworden. En ze kan worden geannuleerd nadat ze in Odoo is binnengekomen en voordat ze het magazijn verlaat: als de synchronisatie alleen kan aanmaken, komt de annulering nooit aan en verzend je goederen die niemand gaat betalen. De import moet al bekende bestellingen binnen een tijdvenster opnieuw uitlezen, gesorteerd op datum van laatste wijziging, en niet alleen nieuwe opvragen. En als de levering al is gevalideerd, is dat geen annulering meer: dan is het een retour en wordt het als retour geboekt.

Wat onze connector doet

De Amazon-connector voor Odoo regelt de orderinvoer in Odoo 17, 18, 19 en 20: hij maakt de verkooporder niet aan zolang Amazon de bestelling nog in behandeling heeft, slaat de Amazon-ID op met een unieke beperking per account en hergebruikt een bestaande verkooporder in plaats van te dupliceren, bewaart de ID van elke regel, vraagt het verzendadres in een aparte aanroep op en leest bestellingen opnieuw uit op datum van laatste wijziging, zodat statuswijzigingen, annuleringen inbegrepen, in de verkooporder terechtkomen. Met belasting beslist hij niet voor jou: standaard komt de bestelling zonder belasting binnen en, als je facturatie vanuit Odoo activeert, past hij de belasting van het product toe via de fiscale positie die je configureert. Heb je een connector die al fouten geeft, dan staat de diagnose in veelvoorkomende SP-API-fouten met Odoo, en soms is het juiste antwoord de bestaande te repareren in plaats van een andere te kopen.

Veelgestelde vragen

Hoe vaak is het verstandig om bestellingen te importeren?

Meerdere keren per uur is redelijk, maar dan op datum van laatste wijziging en niet elke keer de volledige historie. De API van Amazon heeft limieten en een cyclus die te veel opvraagt, zit zonder quotum precies wanneer er een verkooppiek is.

Kan ik oude bestellingen importeren?

Ja, met een eerste lading die je op datum afbakent. Als je al handmatig aangemaakte bestellingen hebt, schrijf er dan de Amazon-ID in voordat je de synchronisatie aanzet: anders maakt de eerste cyclus ze opnieuw aan.

En bestellingen van Amazon Business?

Ze komen als zodanig gemarkeerd binnen en gaan gepaard met de verwachting van een factuur met de fiscale gegevens van de koper. Scheid ze vanaf de eerste dag, want als je ze als bestelling van een particulier behandelt, moet je later facturen opnieuw maken.

Nuttige links binnen FlexigoTech

Amazon-connector voor OdooBestellingen, voorraad, retouren en afrekeningen in 17, 18, 19 en 20Amazon FBA in OdooHet Amazon-magazijn als echte locatie, met retouren en terugbetalingenVerkopen op meerdere Amazon-marktplaatsen met één OdooBtw per land, OSS en valuta per marktplaats

Wat wij hieraan doen

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

Komen de bestellingen binnen, maar klopt het niet?

Vertel ons op welke marktplaatsen je verkoopt, of het FBA, FBM of allebei is, en wat er niet klopt: duplicaten, belasting of annuleringen. We bekijken de mapping voordat we iets voorstellen. Schrijf naar comercial@flexigobe.com of plan een gesprek.

Praat met een engineer