Co robi zadanie i jak często działa
Zadanie pracuje na zamówieniach Amazon zapisanych przez moduł i pobiera maksymalnie 100 zamówień w jednym przebiegu. Uruchamia się co 30 minut i jest aktywne po instalacji. Dotyczy gałęzi 17.0, 18.0, 19.0 i 20.0; w Odoo 17.0 jest skonfigurowane tak, by powtarzać się bez końca. Poniższy opis odnosi się do tego, co robi kod Odoo 20.0.


Szczegóły każdego przebiegu
Patrzy tylko na konta z włączoną wysyłką
Pierwszym krokiem przebiegu jest wyszukanie kont Amazon z włączoną wysyłką faktur. Jeśli takich nie ma, kończy działanie, nie sprawdzając ani jednego zamówienia. Wysyłka jest opcjonalna: domyślnie jest wyłączona i włącza się ją w konfiguracji konta Amazon. Pola konta są opisane w tym artykule o koncie SP-API.
Pobiera tylko opublikowane i jeszcze niewysłane faktury
Spośród tych kont przebieg wybiera zamówienia, których faktura sprzedaży jest opublikowana i które nie mają jeszcze daty wysyłki. Jeśli konto ogranicza wysyłkę do zamówień firmowych, zamówienia konsumenckie są pomijane. Kod stosuje te filtry wejściowe celowo: faktura w szkicu lub zamówienie konsumenckie na koncie tylko firmowym zajęłyby partię przed resztą zamówień wszystkich kont. Zamówienie już wysłane nie jest wysyłane ponownie, więc zadanie nie powiadamia Amazon dwa razy o tej samej fakturze.
Każdy przebieg ma limit, a nieudane idą na koniec
Limit wynosi 100 zamówień. Najpierw wchodzą zamówienia bez zapisanego błędu, w kolejności utworzenia. Tylko jeśli nie osiągnięto limitu, dodawane są zamówienia, które już nie powiodły się w poprzednim przebiegu, zaczynając od tego, które najdłużej czeka na ponowną próbę. Każde niepowodzenie ponownie zapisuje zamówienie, więc nieudane zamówienia zmieniają się w kolejce zamiast powtarzać się zawsze te same.
Jeden błąd nie zatrzymuje przebiegu
Jeśli wysyłka jednego zamówienia zakończy się błędem, moduł zapisuje treść błędu w tym zamówieniu, zostawia ostrzeżenie w logu serwera i przechodzi do następnego. Zamówienie nie zostaje oznaczone jako wysłane, więc wraca do kolejki nieudanych w późniejszym przebiegu.
Zapisuje postęp po każdym zamówieniu
Po każdym zamówieniu zadanie zapisuje w bazie danych znaczniki tego, co już zostało zrobione. Uzasadnienie podane w kodzie: Odoo przerywa zadanie, które przekroczy limit czasu (domyślnie 120 s), i cofa jego transakcję; bez tego zapisu kolejny przebieg wysłałby do Amazon te same faktury ponownie. W testach automatycznych nie zapisuje się w ten sposób, ponieważ Odoo tego tam zabrania.
Co wysyła do Amazon i co zapisuje
Dla każdego zamówienia moduł generuje PDF opublikowanej faktury, przesyła go do Amazon i tworzy feed faktur VAT z tymi danymi: numer zamówienia Amazon, numer faktury, typ dokumentu (faktura), kwota całkowita i kwota VAT. Używa marketplace z zamówienia, a jeśli zamówienie go nie ma, marketplace z konta. Dopiero gdy cała wysyłka zakończy się bez błędu, zapisuje datę wysyłki w zamówieniu, usuwa poprzedni błąd i, jeśli zamówienie Amazon ma powiązane zamówienie sprzedaży, zostawia notatkę w jego chatterze: Factura … subida a Amazon (feed de facturas de IVA) para el pedido … (Invoice … uploaded to Amazon (VAT invoice feed) for order …).
Jak znaleźć zadanie w zależności od języka
Nazwa zadania zależy od języka Odoo: przy Odoo po polsku zadanie znajdziesz pod nazwą Amazon SP-API - Upload VAT invoices to Amazon, a moduł zawiera też tłumaczenia na niemiecki, francuski, włoski i portugalski.

Jeśli nic nie zostaje wysłane: co sprawdzić
Przejrzyj, czego kod wymaga od każdego zamówienia:
- Czy wysyłka faktur jest włączona w koncie zamówienia. Aby to sprawdzić, otwórz zamówienie z menu
Amazon › Ordersi zobacz polaAccountorazAmazon Orderna karcieAmazon Orders. PoleAmazon Orderjest tylko do odczytu. - Czy zamówienie ma fakturę sprzedaży i czy jest opublikowana: jeśli faktura jest w szkicu, zadanie jej nie wyśle.
- Czy konto nie ogranicza wysyłki do zamówień firmowych, gdy zamówienie jest konsumenckie.
- Czy zamówienie nie zostało już wysłane: z datą wysyłki nie jest wysyłane ponownie.
- Czy nie ma więcej oczekujących zamówień niż limit 100: kolejne przebiegi, co 30 minut, obsłużą resztę.
- Czy zadanie jest nadal aktywne: po instalacji jest aktywne.
Aby zobaczyć menu Amazon › Orders, potrzebne są uprawnienia: poziom Amazon wymaga Viewer, a poziom Orders również.
Koszt i jak pomagamy
Moduł jest płatny jednorazowo za wersję (opublikowany w Odoo Apps dla 17.0, 18.0, 19.0 i 20.0) i wymaga subskrypcji FlexigoTech Cloud, plan Conector: 49 € miesięcznie lub 490 € rocznie, netto (bez VAT). Połączenie przechodzi przez FlexigoTech Cloud, który przechowuje dane logowania w zaszyfrowanej formie, nadzoruje synchronizację i wysyła e-mail, gdy coś się nie uda. Więcej szczegółów na stronie modułu i w karcie Odoo Apps.
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie, na wypadek gdyby obieg faktur z Amazon wymagał czegoś więcej.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 17.0 i 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_amazon_seller_connector 20.0 (8c5900d9): data/ir_cron_data.xml
- Kod modułu: flexigobe_amazon_seller_connector 17.0 (51d6a72c): data/ir_cron_data.xml
- Kod modułu: 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
