Wat de taak doet en hoe vaak ze draait
De taak werkt op de Amazon-bestellingen die de module bewaart en pakt per run maximaal 100 bestellingen. Ze draait elke 30 minuten en staat actief na de installatie. Ze staat in de takken 17.0, 18.0, 19.0 en 20.0; in Odoo 17.0 is ze ingesteld om zonder einde te herhalen. Wat hieronder staat, beschrijft wat de code van Odoo 20.0 doet.


Details van elke run
Kijkt alleen naar de accounts die het uploaden hebben ingeschakeld
Als eerste zoekt de run de Amazon-accounts waarop het uploaden van facturen is ingeschakeld. Zijn er geen, dan stopt ze meteen zonder één bestelling te controleren. Het uploaden is optioneel: het staat standaard uit en wordt ingeschakeld in de configuratie van het Amazon-account. De velden van het account staan uitgelegd in dit artikel over het SP-API-account.
Pakt alleen gepubliceerde en nog niet geüploade facturen
Van die accounts kiest de run de bestellingen waarvan de klantfactuur is gepubliceerd en die nog geen uploaddatum hebben. Staat het account het uploaden alleen toe voor zakelijke bestellingen, dan vallen consumentenbestellingen buiten de selectie. De code past deze invoerfilters bewust toe: een factuur in concept of een consumentenbestelling op een account dat alleen zakelijk is, zouden de batch voor de rest van de bestellingen van alle accounts bezetten. En een bestelling die al is geüpload, wordt niet opnieuw verstuurd: de taak waarschuwt Amazon niet twee keer over dezelfde factuur.
Elke run heeft een limiet, en de mislukte bestellingen komen achteraan
De limiet is 100 bestellingen. Eerst komen de bestellingen zonder opgeslagen fout, op volgorde van aanmaak. Pas als de limiet niet is bereikt, worden de bestellingen die in een eerdere run zijn mislukt toegevoegd, te beginnen met degene die het langst niet is geprobeerd. Elke mislukking schrijft de bestelling opnieuw weg, zodat de mislukte bestellingen elkaar afwisselen in plaats van altijd dezelfde te herhalen.
Een fout stopt de run niet
Als het uploaden van een bestelling een fout geeft, slaat de module de tekst van de fout op in die bestelling, zet een melding in het serverlogboek en gaat door met de volgende. De bestelling wordt niet als geüpload gemarkeerd, dus komt ze terug in de wachtrij van mislukte bestellingen voor een latere run.
Slaat het resultaat op na elke bestelling
Na elke bestelling slaat de taak de markeringen van wat er tot dan toe is gedaan op in de database. De reden die de code geeft: Odoo breekt een taak af die zijn tijdslimiet overschrijdt (standaard 120 s) en neemt daarmee de transactie mee; zonder deze opslag zou de volgende run dezelfde facturen opnieuw naar Amazon sturen. Binnen de geautomatiseerde tests wordt niet zo opgeslagen, omdat Odoo dat daar verbiedt.
Wat er naar Amazon gaat en wat er wordt genoteerd
Voor elke bestelling maakt de module de PDF van de gepubliceerde factuur, uploadt die naar Amazon en maakt een feed van btw-facturen met deze gegevens: het Amazon-bestelnummer, het factuurnummer, het documenttype (factuur), het totaalbedrag en het btw-bedrag. Hij gebruikt de marketplace van de bestelling of, als die die niet heeft, die van het account. Pas als de hele verzending zonder fout eindigt, noteert hij de uploaddatum in de bestelling, wist hij de vorige fout en, als de Amazon-bestelling gekoppeld is aan een verkooporder, plaatst hij een notitie in de chatter daarvan: Factura … subida a Amazon (feed de facturas de IVA) para el pedido … (Invoice … uploaded to Amazon (VAT invoice feed) for order …).
Hoe je de taak vindt, afhankelijk van je taal
De naam van de taak hangt af van de taal van je Odoo: met Odoo in het Nederlands heet ze Amazon SP-API - Upload VAT invoices to Amazon. De module bevat ook vertalingen naar het Duits, Frans, Italiaans en Portugees.

Als er niets wordt geüpload: wat je moet nakijken
Loop na wat de code van elke bestelling eist:
- Dat het uploaden van facturen is ingeschakeld op het account van de bestelling. Om te weten welk account dat is, open je de bestelling via het menu
Amazon › Ordersen kijk je naar de veldenAccountenAmazon Orderop het formulier vanAmazon Orders. Het veldAmazon Orderis alleen-lezen. - Dat de bestelling een klantfactuur heeft en dat die gepubliceerd is: staat de factuur in concept, dan uploadt de taak haar niet.
- Dat het account het uploaden niet beperkt tot zakelijke bestellingen als de bestelling consumentenbestelling is.
- Dat de bestelling nog niet is geüpload: met een uploaddatum wordt ze niet opnieuw verstuurd.
- Dat er niet meer openstaande bestellingen zijn dan de limiet van 100: de volgende runs, elke 30 minuten, gaan door met de rest.
- Dat de taak nog actief is: ze staat actief na de installatie.
Om het menu Amazon › Orders te zien, heb je rechten nodig: het onderdeel Amazon vraagt Viewer en het onderdeel Orders ook.
Wat het kost en hoe we je helpen
De module is eenmalig betaald per versie (gepubliceerd in Odoo Apps voor 17.0, 18.0, 19.0 en 20.0) en vraagt het abonnement op FlexigoTech Cloud, plan Conector: € 49 per maand of € 490 per jaar, excl. btw. De verbinding loopt via FlexigoTech Cloud, dat de inloggegevens versleuteld bewaart, de synchronisatie in de gaten houdt en per e-mail waarschuwt als er iets misgaat. Meer details vind je op de pagina van de module en op de vermelding in Odoo Apps.
FlexigoTech implementeert Odoo 17, 18, 19 en 20 en ontwikkelt maatwerkconnectors en -integraties, voor het geval je factuurproces met Amazon nog iets extra's nodig heeft.
Lees verder
Gecontroleerd in de broncode van de connector (versie 17.0 en 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigobe_amazon_seller_connector 20.0 (8c5900d9): data/ir_cron_data.xml
- Broncode van de module: flexigobe_amazon_seller_connector 17.0 (51d6a72c): data/ir_cron_data.xml
- Broncode van de module: flexigobe_amazon_seller_connector 20.0 (8c5900d9): models/amazon_order.py
- apps.odoo.com/apps/modules/20.0/flexigobe_amazon_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
