Przejdź do głównej treści
Amazon · Przyjmowanie zamówień

Import zamówień z Amazon do Odoo: co zawiera każde zamówienie i gdzie się psuje

Zamówienie z Amazon to nie imię, adres i kwota. Zawiera statusy, dane, które docierają z opóźnieniem, podatki, których czasem nie pobierasz Ty, oraz identyfikator, który decyduje o tym, czy skończysz z duplikatami. Oto, co trzeba zmapować i w jakiej kolejności.

Zamówienie z Amazon zaimportowane do Odoo wraz z odnośnikiem, pozycjami i podatkiem

„Zamówienia z Amazon wpadają do Odoo same.” Wpadają, to prawda. Użyteczne pytanie brzmi jednak inaczej: czy wpadają ze wszystkim, co potrzebne, by je skompletować, zafakturować i rozliczyć? Bo psuje się nie połączenie (to widać od razu), lecz mapowanie. Źle zaimportowane zamówienie nie zgłasza błędu: daje zdublowane wydanie w październiku i VAT, który nie zgadza się w styczniu.

Co zawiera zamówienie z Amazon, a czego jeszcze nie zawiera

Nagłówek zawiera identyfikator zamówienia, datę zakupu, status, kanał (FBA lub FBM), rynek, na którym dokonano sprzedaży, oraz ostateczny termin wysyłki. Pozycje przychodzą osobno, z ASIN, Twoim SKU sprzedawcy, ilością, ceną, podatkiem i kosztem wysyłki jako osobnymi kwotami, a także rabatami promocyjnymi. Jest też moment, w którym zamówienie już istnieje, ale nie ma jeszcze nic użytecznego: dopóki płatność nie zostanie autoryzowana, zamówienie figuruje jako oczekujące, z pozycjami bez cen i podatków oraz bez adresu, z którego dałoby się skorzystać. Jeśli Twój import tworzy je właśnie wtedy, powstaje niekompletne zamówienie, którego potem nikt nie umie naprawić.

Identyfikator rządzi: bez niego są duplikaty

Każde zamówienie przychodzi z identyfikatorem Amazon. Ten numer musi zostać zapisany w zamówieniu w Odoo i być pierwszą rzeczą, którą sprawdzasz, zanim cokolwiek utworzysz. Jeśli import najpierw tworzy, a potem sprawdza, każda ponowna próba (zerwane połączenie w połowie cyklu, cron nakładający się na poprzedni, synchronizacja uruchomiona ręcznie podczas działania automatycznej) zostawia Cię z dwoma identycznymi zamówieniami i dwoma wydaniami. Zapisuj też identyfikator każdej pozycji: to dzięki niemu można rozpoznać zmodyfikowaną pozycję bez kasowania i odtwarzania całego zamówienia.

Szczegół, który wygląda na drobny, a nie jest: sprawdzenie musi opierać się na unikalnym indeksie w bazie danych, a nie tylko na wcześniejszym wyszukiwaniu w Pythonie. Dwa procesy działające jednocześnie mogą oba przejść wyszukiwanie i oba utworzyć zamówienie. To jedna z usterek, które widzimy najczęściej podczas audytu konektorów wykonanych przez kogoś innego.

Adresy: przychodzą z ograniczeniami i trzeba je usuwać

Dane kupującego nie przychodzą przy zwykłym odczycie zamówienia. Adres dostawy i kontakt pobiera się osobno, na podstawie specjalnego uprawnienia do danych objętych ograniczeniami, a otrzymany adres e-mail to alias Amazon, który przestaje działać. Do tego obowiązuje zakaz ich przechowywania: po upływie terminu wynikającego z polityki ochrony danych Amazon dane osobowe są usuwane, a zachowuje się tylko to, co nakazują przepisy podatkowe. W Odoo ma to dwie praktyczne konsekwencje: tworzenie stałego kontaktu dla każdego kupującego nie zawsze jest dobrym pomysłem, a potrzebny jest mechanizm czyszczenia zaprojektowany celowo, a nie przypadkiem.

Podatki: w wielu przypadkach to nie Ty je pobierasz

Na wielu rynkach to Amazon pobiera i odprowadza podatek od sprzedaży, a pozycje zamówienia mogą wskazywać, kto za to odpowiada. Jeśli Twój import zawsze stosuje ten sam podatek, nie patrząc na tę informację, księgowość wychodzi źle w obu możliwych kierunkach: zadeklarujesz za dużo albo za mało. Przed pierwszym zamówieniem trzeba przygotować obszar podatkowy dla każdego kraju docelowego, cennik dla każdej waluty i jasną regułę na przypadek, gdy odpowiedzialny jest Amazon. Szczegóły dla poszczególnych krajów znajdziesz w artykule sprzedaż na kilku Amazonach z jednym Odoo.

Anulowania: samo czytanie nowych zamówień nie wystarczy

Zamówienie można anulować, gdy jest jeszcze oczekujące, i wtedy nigdy nie stało się prawdziwym zamówieniem. Można je też anulować po tym, jak trafiło do Odoo, a przed wyjściem z magazynu: jeśli synchronizacja umie tylko tworzyć, anulowanie nie dociera i wysyłasz towar, za który nikt nie zapłaci. Import musi ponownie odczytywać już znane zamówienia w oknie czasowym, sortując według daty ostatniej modyfikacji, a nie tylko pobierać nowe. A jeśli wydanie jest już zatwierdzone, to nie jest to już anulowanie: to zwrot i księguje się go jako zwrot.

Co robi nasz konektor

Konektor Amazon dla Odoo obsługuje przyjmowanie zamówień w Odoo 17, 18, 19 i 20: nie tworzy zamówienia sprzedaży, dopóki Amazon trzyma je jako oczekujące, zapisuje identyfikator Amazon z ograniczeniem unikalności dla każdego konta i wykorzystuje istniejące zamówienie sprzedaży zamiast je dublować, zachowuje identyfikator każdej pozycji, pobiera adres dostawy osobnym wywołaniem i ponownie odczytuje zamówienia według daty ostatniej modyfikacji, dzięki czemu zmiany statusu, w tym anulowania, są widoczne w zamówieniu sprzedaży. W kwestii podatków nie decyduje za Ciebie: domyślnie zamówienie wchodzi bez podatków, a jeśli włączysz fakturowanie z Odoo, stosuje podatki produktu poprzez skonfigurowany przez Ciebie obszar podatkowy. Jeśli masz konektor, który już zawodzi, diagnozę znajdziesz w artykule częste błędy SP-API w Odoo, a czasem właściwą odpowiedzią jest naprawa istniejącego, a nie kupno kolejnego.

Najczęściej zadawane pytania

Jak często warto importować zamówienia?

Kilka razy na godzinę to rozsądna częstotliwość, ale z zapytaniem według daty ostatniej modyfikacji, a nie z pobieraniem całej historii za każdym razem. API Amazon ma limity zapytań, a cykl, który pobiera za dużo, wyczerpuje limit akurat wtedy, gdy sprzedaż rośnie.

Czy mogę zaimportować starsze zamówienia?

Tak, przez początkowe ładowanie ograniczone datami. Jeśli masz już zamówienia utworzone ręcznie, wpisz w nich identyfikator Amazon, zanim włączysz synchronizację: w przeciwnym razie pierwszy cykl utworzy je ponownie.

A zamówienia z Amazon Business?

Przychodzą oznaczone jako takie i wiąże się z nimi oczekiwanie faktury z danymi podatkowymi kupującego. Warto rozdzielić je od pierwszego dnia, bo traktowanie ich jak zamówień osób prywatnych wymusza później poprawianie faktur.

Przydatne linki w FlexigoTech

Konektor Amazon dla OdooZamówienia, zapasy, zwroty i rozliczenia w wersjach 17, 18, 19 i 20Amazon FBA w OdooMagazyn Amazon jako rzeczywista lokalizacja, ze zwrotami i refundacjamiSprzedaż na kilku Amazonach z jednym OdooVAT według kraju, OSS i waluta dla każdego rynku

Co robimy w tym zakresie

Konektor AmazonCo robi, zrzuty ekranu, wersje i cena.

Zamówienia wpadają, ale się nie zgadzają?

Napisz nam, na jakich rynkach sprzedajesz, czy to FBA, FBM, czy oba, i co się nie zgadza: duplikaty, podatki czy anulowania. Przyjrzymy się mapowaniu, zanim cokolwiek zaproponujemy. Napisz na comercial@flexigobe.com lub umów rozmowę.

Porozmawiaj z inżynierem