Jak działa integracja programu do faktur z API Allegro?
Integracja programu do faktur z API Allegro pozwala automatycznie pobierać dane o zamówieniach, nabywcach i płatnościach, a następnie tworzyć faktury bez ręcznego przepisywania informacji z panelu sprzedawcy. System może rozpoznać, czy kupujący poprosił o fakturę, uzupełnić dane dokumentu, przypisać sprzedaż do właściwego zamówienia, wygenerować PDF, a następnie udostępnić fakturę klientowi w Allegro. Przy większej liczbie zamówień oszczędza to wiele godzin pracy i ogranicza ryzyko pomyłek.
Najważniejszym elementem takiej integracji nie jest samo pobranie zamówienia. Program musi poprawnie obsłużyć autoryzację OAuth, zmiany statusów, dane do faktury, duplikaty oraz wysłanie gotowego dokumentu.
Na czym polega integracja programu do faktur z Allegro?
W najprostszym ujęciu integracja powoduje, że Allegro i program do fakturowania mogą automatycznie wymieniać dane.
Bez integracji sprzedawca musi:
- zalogować się do Allegro,
- otworzyć zamówienie,
- sprawdzić, czy klient chce fakturę,
- skopiować dane nabywcy,
- przepisać produkty,
- wprowadzić ceny,
- uwzględnić koszt dostawy,
- wystawić fakturę,
- zapisać ją jako PDF,
- przekazać dokument klientowi.
Przy kilku zamówieniach dziennie można jeszcze wykonywać takie czynności ręcznie.
Przy kilkudziesięciu lub kilkuset zamówieniach zaczyna to jednak zajmować znaczną część dnia.
Integracja przez API pozwala zamienić ten proces w automatyczny schemat:
zamówienie Allegro → pobranie danych → utworzenie dokumentu → wystawienie faktury → PDF → przekazanie faktury do Allegro.
Czym jest API Allegro?
API, czyli Application Programming Interface, pozwala innemu programowi komunikować się z systemem Allegro bez konieczności ręcznego korzystania z panelu internetowego.
Allegro udostępnia obecnie REST API działające poprzez protokół HTTP. Poszczególne funkcje platformy są dostępne jako zasoby, m.in. dotyczące ofert, zamówień, płatności, przesyłek, zwrotów czy faktur.
Program do faktur może więc wysłać do API pytanie:
„Pokaż mi szczegóły tego zamówienia”.
Allegro zwraca dane w ustrukturyzowanej postaci.
Program może następnie wykorzystać je do utworzenia dokumentu sprzedaży.
Jak wygląda integracja Allegro z programem do faktur krok po kroku?
Typowy proces można przedstawić następująco:
| Etap | Co się dzieje? |
|---|---|
| 1. Połączenie konta | Sprzedawca autoryzuje program w Allegro |
| 2. Autoryzacja | Program otrzymuje możliwość wykonywania operacji przez API |
| 3. Wykrycie zamówienia | System monitoruje nowe zdarzenia sprzedażowe |
| 4. Pobranie szczegółów | Program pobiera dane klienta, produktów, płatności i dostawy |
| 5. Sprawdzenie faktury | System ustala, czy klient podał dane do faktury |
| 6. Mapowanie danych | Dane Allegro są zamieniane na pola dokumentu |
| 7. Wystawienie faktury | Program nadaje numer i generuje dokument |
| 8. KSeF | Jeżeli ma zastosowanie, faktura może przejść oddzielny proces KSeF |
| 9. Utworzenie PDF | Program generuje wizualizację faktury |
| 10. Przekazanie do Allegro | Faktura może zostać dodana do konkretnego zamówienia |
W praktyce wszystko może odbywać się automatycznie.
1. Sprzedawca łączy konto Allegro z programem
Program do faktur nie powinien wymagać od użytkownika podawania hasła do Allegro.
Do autoryzacji aplikacji Allegro wykorzystuje standard OAuth 2.0. Najpopularniejszym rozwiązaniem dla aplikacji działającej w imieniu sprzedawcy jest Authorization Code flow. Po wyrażeniu zgody przez użytkownika program otrzymuje token pozwalający na wykonywanie dozwolonych operacji w ramach API.
Dla użytkownika może wyglądać to bardzo prosto:
Ustawienia → Integracje → Allegro → Połącz konto.
Następnie użytkownik zostaje przekierowany do Allegro, loguje się i zatwierdza dostęp.
Po zakończeniu procesu wraca do programu.
Od tego momentu aplikacja może synchronizować dane w zakresie wynikającym z przyznanych uprawnień.
Czy program przechowuje hasło do Allegro?
Prawidłowo przygotowana integracja nie potrzebuje hasła użytkownika do konta Allegro.
Program korzysta z tokenów OAuth.
To ważne zarówno z punktu widzenia bezpieczeństwa, jak i możliwości późniejszego cofnięcia dostępu konkretnej aplikacji.
Token dostępowy ma określony czas ważności, dlatego integracja powinna również prawidłowo obsługiwać jego odświeżanie.
Nie powinno się generować nowego tokena przy każdym pobraniu zamówienia. Allegro wskazuje, że token należy wykorzystywać do momentu jego wygaśnięcia, a następnie odpowiednio go odświeżyć.
2. Program wykrywa nowe zamówienie
Po połączeniu konta system musi wiedzieć, kiedy na Allegro pojawi się nowa sprzedaż.
Można pobierać listę zamówień, jednak do bieżącego monitorowania zmian szczególnie istotny jest dziennik zdarzeń.
Służy do tego m.in.:
GET /order/events
Dziennik może informować program o takich zdarzeniach jak:
- zakup,
- wypełnienie formularza dostawy,
- zakończenie procesu płatności,
- anulowanie płatności,
- dopłata,
- anulowanie zamówienia,
- zmiana statusu.
Allegro pozwala pobierać kolejne zdarzenia od wskazanego identyfikatora, dzięki czemu program może zapamiętać ostatnio obsłużone zdarzenie i przy kolejnej synchronizacji pobrać następne.
To znacznie lepszy mechanizm niż ciągłe pobieranie całej historii sprzedaży.
BOUGHT, FILLED_IN i READY_FOR_PROCESSING – co oznaczają?
W dzienniku zdarzeń można spotkać różne typy zdarzeń.
Przykładowo:
BOUGHT
Kupujący dokonał zakupu, ale zamówienie nie musi być jeszcze gotowe do dalszej realizacji.
FILLED_IN
Klient wypełnił formularz związany z zamówieniem.
Takie zdarzenie może wystąpić więcej niż raz.
READY_FOR_PROCESSING
Zamówienie jest gotowe do dalszej obsługi.
Z perspektywy automatyzacji sprzedaży jest to jeden z najważniejszych momentów, ponieważ program może rozpocząć właściwe przetwarzanie zamówienia.
Nie oznacza to jednak, że aplikacja powinna bezwarunkowo wystawiać każdą fakturę w chwili wystąpienia jednego określonego eventu.
Reguła wystawiania dokumentu powinna uwzględniać sposób płatności, konfigurację sprzedawcy, rodzaj dokumentu i zasady podatkowe.
Nie zakładaj, że każdy event wystąpi tylko raz
To bardzo ważne przy tworzeniu niezawodnej integracji.
Allegro wskazuje w dokumentacji, że dla jednego zamówienia mogą pojawić się wielokrotnie zdarzenia tego samego typu. Zdarzenia mogą również dotrzeć w innej kolejności, niż programista początkowo zakładał.
Dlatego nieprawidłowa logika:
READY_FOR_PROCESSING → zawsze utwórz nową fakturę
może doprowadzić do wystawienia dokumentu dwa razy.
Znacznie bezpieczniejszy mechanizm wygląda tak:
event → sprawdź identyfikator zamówienia → sprawdź, czy zostało już przetworzone → dopiero wtedy wystaw dokument.
3. Program pobiera szczegóły zamówienia
Po wykryciu zamówienia program może pobrać jego pełniejsze dane.
Jednym z podstawowych zasobów jest:
GET /order/checkout-forms/{id}
W odpowiedzi system może otrzymać między innymi:
- identyfikator zamówienia,
- dane kupującego,
- zakupione produkty,
- ilości,
- ceny,
- informacje o rabatach,
- koszt dostawy,
- sposób płatności,
- informacje o płatności,
- dane adresowe,
- dane do faktury,
- status zamówienia,
- status realizacji,
- dodatkowe usługi,
- walutę,
- marketplace, z którego pochodzi sprzedaż.
Dokumentacja Allegro wskazuje wprost, że szczegóły zamówienia obejmują dane klienta, płatności, dostawy i faktury.
Dane kupującego a dane do faktury to nie to samo
To jeden z najważniejszych elementów integracji programu fakturowego.
W zamówieniu mogą znajdować się:
dane konta kupującego,
dane dostawy
oraz
dane do faktury.
Nie należy zakładać, że są identyczne.
Przykład:
Kupującym jest:
Jan Kowalski
Przesyłka ma zostać dostarczona do:
Jan Kowalski, ul. Zielona 20
ale faktura ma być wystawiona na:
ABC Sp. z o.o., ul. Przemysłowa 15, NIP 1234567890.
Program do faktur powinien wykorzystać odpowiednią sekcję danych, a nie automatycznie przepisać adres wysyłki jako adres nabywcy.
Jak program wie, że klient chce fakturę?
W danych zamówienia dostępna jest sekcja invoice.
Jednym z kluczowych pól jest:
invoice.required
Jeżeli jego wartość wynosi true, kupujący podał dane dotyczące faktury.
W obiekcie mogą znajdować się następnie dane firmy, w tym:
- nazwa,
- numer identyfikacji podatkowej,
- ulica,
- kod pocztowy,
- miejscowość,
- kraj.
API przewiduje również strukturę danych dla faktury wystawianej osobie fizycznej.
Dzięki temu program nie musi próbować odgadywać na podstawie nazwy użytkownika, czy dokument ma zostać wystawiony na firmę.
4. Dane są mapowane do programu fakturowego
Dane zwrócone przez Allegro nie stają się automatycznie fakturą.
Program musi je przypisać do własnego modelu dokumentów.
Przykładowo:
| Dane Allegro | Pole w programie |
|---|---|
| checkoutForm.id | identyfikator zamówienia zewnętrznego |
| nazwa firmy | nazwa nabywcy |
| taxId | NIP |
| adres faktury | adres nabywcy |
| lineItems | pozycje dokumentu |
| quantity | ilość |
| price.amount | cena sprzedaży |
| delivery.cost | koszt dostawy |
| waluta | waluta faktury |
| payment | sposób/status płatności |
Warto zachować także oryginalny identyfikator zamówienia Allegro.
Dzięki temu po kilku miesiącach można jednoznacznie odpowiedzieć na pytanie:
„Z którego zamówienia powstała faktura FV/1842/2026?”
Identyfikator Allegro powinien być zapisany przy fakturze
To niewielki szczegół, który później bardzo ułatwia pracę.
Przy dokumencie warto przechowywać:
- ID zamówienia Allegro,
- ID kupującego,
- marketplace,
- datę zakupu,
- datę pobrania,
- ewentualnie ID płatności,
- informację o przesłaniu faktury do Allegro.
Pozwala to tworzyć dwustronne powiązanie:
zamówienie Allegro ↔ faktura w programie.
5. Program pobiera pozycje zamówienia
API zwraca również produkty znajdujące się w zamówieniu.
Dla pozycji można otrzymać m.in.:
- identyfikator pozycji,
- identyfikator oferty,
- nazwę oferty,
- zewnętrzny identyfikator oferty, jeśli został przypisany,
- ilość,
- cenę pierwotną,
- cenę po uwzględnieniu rabatu,
- dodatkowe usługi.
Dostępny w ofercie zewnętrzny identyfikator jest szczególnie użyteczny przy integracji z własnym magazynem lub ERP.
Przykład:
Oferta Allegro:
Buty robocze PRO X
w systemie sprzedawcy:
SKU: BUT-PRO-X-43
Jeżeli integracja potrafi powiązać oba identyfikatory, może automatycznie przypisać zamówienie do właściwego produktu w magazynie.
Co z rabatami i promocjami Allegro?
Program nie powinien bezmyślnie używać ceny katalogowej produktu.
W danych zamówienia dostępne mogą być m.in.:
- cena pierwotna,
- cena po rabacie,
- informacje o zastosowanych rabatach,
- dodatkowe usługi,
- dopłaty.
Na fakturze musi znaleźć się rzeczywista wartość sprzedaży wynikająca z konkretnej transakcji.
Dlatego dobra integracja bazuje na danych zamówienia, a nie wyłącznie na aktualnej cenie oferty.
To ważne szczególnie w sytuacji, gdy po sprzedaży sprzedawca zmieni cenę produktu na Allegro.
Co z kosztem przesyłki?
Koszt dostawy również znajduje się w danych zamówienia.
Przykładowo klient kupuje:
Produkt:
100 zł
Dostawa:
12,99 zł
Łącznie:
112,99 zł
Program musi posiadać ustaloną regułę rozliczenia kosztu dostawy na dokumencie.
Nie powinien pomijać przesyłki tylko dlatego, że nie jest ona klasyczną pozycją produktową w magazynie.
Czy API Allegro samo ustala stawkę VAT na fakturze?
Integracja z marketplace’em nie zwalnia programu i sprzedawcy z prawidłowego określenia parametrów podatkowych dokumentu.
Program może pobrać dane transakcyjne z Allegro, ale musi wiedzieć, jak przekształcić je w prawidłową fakturę.
W praktyce stawki VAT mogą wynikać między innymi z:
- konfiguracji produktu,
- danych zapisanych w programie,
- ustawień sprzedaży,
- kraju transakcji,
- rodzaju sprzedaży,
- obowiązujących zasad podatkowych.
Dlatego nie należy projektować integracji według zasady:
„pobierz nazwę i cenę z Allegro, a reszta jakoś się wyliczy”.
Warstwa fakturowa musi posiadać własne mechanizmy kontroli poprawności dokumentu.
6. Program sprawdza płatność
Zamówienie może zawierać również dane dotyczące płatności.
API zwraca m.in. informacje o:
- rodzaju płatności,
- operatorze,
- dacie zakończenia,
- kwocie opłaconej.
W dokumentacji można spotkać przykładowo płatności typu:
- ONLINE,
- CASH_ON_DELIVERY,
- SPLIT_PAYMENT,
- EXTENDED_TERM.
Ma to znaczenie dla programu do faktur, ponieważ faktura może zostać oznaczona jako:
opłacona
albo
oczekująca na zapłatę
zgodnie z logiką przyjętą przez sprzedawcę.
Płatność za pobraniem wymaga innej logiki
Wyobraźmy sobie dwa zamówienia.
Zamówienie A
Klient zapłacił online.
Program może pobrać informację o zakończeniu płatności.
Zamówienie B
Klient wybrał płatność przy odbiorze.
W chwili wysyłki paczki sprzedawca nie ma jeszcze pieniędzy od klienta.
Jeżeli program automatycznie oznaczałby każdą fakturę z Allegro jako zapłaconą, dane o należnościach byłyby nieprawidłowe.
Dlatego integracja powinna uwzględniać sposób płatności.
7. Program wystawia fakturę
Po zgromadzeniu i zweryfikowaniu informacji może zostać utworzony dokument.
W zależności od konfiguracji proces może odbywać się:
Automatycznie
Każde spełniające kryteria zamówienie powoduje natychmiastowe utworzenie faktury.
Półautomatycznie
Zamówienia są importowane, ale użytkownik wybiera:
„Wystaw faktury dla zaznaczonych zamówień”.
Ręcznie
System pobiera dane, lecz użytkownik sam decyduje o utworzeniu każdego dokumentu.
Nie ma jednego rozwiązania najlepszego dla wszystkich firm.
Przy kilkuset powtarzalnych zamówieniach dziennie pełna automatyzacja może przynieść ogromne oszczędności.
Przy sprzedaży nietypowej lub wymagającej ręcznej kontroli lepszy może być model półautomatyczny.
Kiedy nie należy wystawiać automatycznie faktury?
Przykładowe sytuacje wymagające dodatkowej logiki to:
- zamówienie anulowane,
- płatność nie została zakończona,
- brak wymaganych danych,
- nieprawidłowy NIP,
- nieznana stawka VAT,
- nierozpoznany produkt,
- zamówienie wymagające ręcznej korekty,
- sprzedaż zagraniczna wymagająca dodatkowej kwalifikacji,
- dokument dla szczególnego rodzaju transakcji.
Dobre rozwiązanie powinno posiadać status:
„wymaga uwagi”
zamiast wystawiać błędny dokument tylko po to, aby proces był w 100% automatyczny.
8. Allegro i KSeF – jak mogą współpracować?
API Allegro i KSeF pełnią zupełnie inne funkcje.
Allegro jest źródłem informacji o transakcji.
Program do faktur tworzy i obsługuje dokument.
KSeF może być miejscem obsługi faktury ustrukturyzowanej w przypadkach objętych obowiązkiem korzystania z systemu.
Proces może więc wyglądać następująco:
Allegro → program do faktur → utworzenie faktury → KSeF → nadanie odpowiedniego statusu → wizualizacja PDF → udostępnienie dokumentu klientowi.
Nie należy traktować wysłania PDF do Allegro jako zamiennika obsługi faktury w KSeF, jeżeli dana transakcja podlega obowiązkom związanym z KSeF.
To dwa odrębne procesy.
9. Program generuje PDF faktury
Po wystawieniu dokumentu program może utworzyć jego czytelną wizualizację PDF.
Plik może być:
- wysłany e-mailem,
- dostępny w panelu klienta,
- przechowywany w programie,
- przekazany do Allegro.
W przypadku integracji marketplace ostatnia opcja jest szczególnie wygodna.
Kupujący nie musi szukać faktury w osobnej wiadomości.
Może znaleźć dokument przy swoim zamówieniu.
10. Jak program dodaje fakturę do zamówienia Allegro?
Allegro REST API pozwala przypisać fakturę do konkretnego zamówienia.
Proces odbywa się w dwóch podstawowych krokach.
Najpierw aplikacja tworzy obiekt faktury za pomocą:
POST /order/checkout-forms/{id}/invoices
Może przekazać m.in. nazwę pliku oraz numer faktury.
API zwraca identyfikator utworzonego obiektu faktury.
Następnie aplikacja przesyła PDF przez:
PUT /order/checkout-forms/{id}/invoices/{invoiceId}/file
Aktualna dokumentacja Allegro przewiduje możliwość dodania maksymalnie 10 faktur do jednego zamówienia, a pojedynczy plik PDF nie może przekroczyć 3 MB.
Dla programu do faktur oznacza to możliwość pełnego zamknięcia procesu bez udziału użytkownika.
Przykład automatycznego procesu
Klient kupuje na Allegro trzy produkty.
Łączna wartość produktów:
540 zł
Dostawa:
14,99 zł
Kupujący zaznacza:
„Chcę otrzymać fakturę”.
Podaje:
ABC Sp. z o.o.
oraz NIP i adres firmy.
Następnie płaci online.
Program:
- odczytuje nowe zdarzenie z Allegro,
- identyfikuje zamówienie,
- pobiera szczegóły,
- sprawdza status,
- widzi invoice.required = true,
- pobiera dane firmy,
- pobiera trzy pozycje zamówienia,
- uwzględnia dostawę,
- przypisuje właściwe stawki podatkowe,
- tworzy fakturę,
- nadaje numer,
- obsługuje KSeF, jeżeli jest wymagany,
- generuje PDF,
- tworzy obiekt faktury w Allegro,
- przesyła PDF do zamówienia,
- zapisuje informację, że zamówienie zostało już zafakturowane.
Pracownik nie musi przepisywać ani jednej pozycji.
Czy można zamiast PDF przekazać link do faktury?
API Allegro przewiduje również mechanizm dodawania linków do dokumentów rozliczeniowych poprzez:
POST /order/{orderId}/billing-documents/links
Można w ten sposób wskazać kupującemu miejsce, z którego pobierze dokument. Obecna dokumentacja przewiduje maksymalnie 10 takich linków na zamówienie, przy czym Allegro obsługuje linki z odpowiednio wspieranych domen.
Może to być interesujące dla programu SaaS, który przechowuje dokument w bezpiecznym panelu online.
Czy Allegro informuje kupującego o dodaniu faktury?
Tak. Od 2026 r. szczególnie warto pamiętać o zasadach komunikacji pozakupowej.
Allegro wskazuje, że użycie dedykowanych zasobów do dodania faktury powoduje wysłanie przez Allegro informacji do kupującego o wykonanej operacji.
Dzięki temu program nie musi koniecznie tworzyć osobnego procesu polegającego na wysyłaniu kolejnej wiadomości przez system komunikacji marketplace.
Jak program sprawdza, czy faktura została już dodana?
API udostępnia również:
GET /order/checkout-forms/{id}/invoices
Za pomocą tego zasobu można pobrać informacje o fakturach powiązanych z danym zamówieniem.
Jest to bardzo przydatne przy synchronizacji.
Program może sprawdzić:
czy dokument już istnieje
zanim spróbuje dodać kolejny.
To jedna z metod zabezpieczenia przed duplikatami.
Największe ryzyko integracji – podwójne faktury
Wyobraźmy sobie sytuację:
Program otrzymuje zdarzenie.
Wystawia:
FV/100/2026
Następnie następuje chwilowy problem z połączeniem.
Aplikacja nie zapisuje informacji, że operacja została zakończona.
Po chwili ponownie przetwarza to samo zamówienie.
Jeżeli system nie posiada zabezpieczeń, może powstać:
FV/101/2026
dla tej samej sprzedaży.
Dlatego integracja powinna być idempotentna, czyli wielokrotne przetworzenie tego samego zdarzenia nie może powodować wielokrotnego wykonania operacji biznesowej.
Jak zabezpieczyć system przed duplikatami?
Dobrym rozwiązaniem jest zapisanie przy fakturze unikalnego checkoutForm.id.
Przed wystawieniem dokumentu program sprawdza:
Czy istnieje już faktura powiązana z tym ID?
Jeżeli tak:
nie twórz kolejnej.
Można dodatkowo kontrolować:
- identyfikator pozycji,
- numer faktury,
- informacje zapisane w Allegro,
- status synchronizacji.
Pole revision – dlaczego jest ważne?
Zamówienie może się zmieniać.
Kupujący może np. zmodyfikować informacje, które mają wpływ na jego aktualną wersję.
Allegro udostępnia dlatego pole:
revision
Jego wartość reprezentuje konkretną wersję zamówienia. Zmienia się m.in. wtedy, gdy modyfikowane są dane płatności, adresowe, status lub dane do faktury.
Dzięki temu integracja może wykrywać, że dane zapisane wcześniej nie są już najnowsze.
To szczególnie ważne w automatycznych procesach działających równolegle.
Nie pobieraj wyłącznie listy ostatnich zamówień
To częsty błąd przy prostych integracjach.
Program co kilka minut wykonuje:
GET /order/checkout-forms
i bierze kilka pierwszych zamówień.
Problem polega na tym, że lista jest sortowana na podstawie daty zakupu.
Jeżeli klient zapłaci za starszy zakup później, zamówienie nie musi nagle pojawić się na początku listy.
Dlatego sama lista ostatnich zamówień nie jest najlepszym mechanizmem do wykrywania bieżących zmian.
Allegro rekomenduje wykorzystywanie dziennika zdarzeń do monitorowania sprzedaży.
Co z zamówieniami anulowanymi?
Integracja powinna je rozpoznawać.
Nie wystarczy powiedzieć:
„Zamówienie zostało kiedyś utworzone, więc faktura musi powstać”.
Program powinien uwzględniać aktualny stan transakcji.
Jeżeli dokument został już wystawiony, a później pojawia się zdarzenie wymagające korekty rozliczenia, dalsza obsługa powinna odbyć się zgodnie z zasadami dotyczącymi faktur i korekt.
Nie należy automatycznie kasować wystawionej faktury wyłącznie dlatego, że status zamówienia w marketplace uległ zmianie.
Czy program może obsługiwać kilka kont Allegro?
Tak zaprojektowana integracja może obsługiwać również wielu sprzedawców lub wiele kont.
Wtedy każde połączenie powinno posiadać własne:
- dane autoryzacji,
- tokeny,
- identyfikator konta,
- ustawienia synchronizacji,
- serię numeracji dokumentów,
- konfigurację magazynu,
- ustawienia podatkowe.
Jest to szczególnie ważne w programie do faktur typu SaaS, z którego korzystają setki lub tysiące niezależnych firm.
Dane i tokeny poszczególnych użytkowników muszą być od siebie jednoznacznie odseparowane.
Allegro.pl, Allegro.cz i Allegro.sk
Integracja powinna również uwzględniać rozwój sprzedaży na różnych marketplace’ach Allegro.
W danych zamówienia dostępny jest identyfikator marketplace, a dane kupującego mogą również zawierać informację o preferowanym języku.
Ma to znaczenie przy:
- walutach,
- języku dokumentów,
- kraju klienta,
- zasadach podatkowych,
- ustawieniach produktu,
- generowaniu wiadomości.
Dlatego warto zapisywać nie tylko ID zamówienia, ale również informację, z którego rynku pochodzi transakcja.
Jak integracja może współpracować z magazynem?
Jeżeli program do faktur posiada również magazyn, automatyzacja może być jeszcze szersza.
Po pobraniu zamówienia system może:
- rozpoznać produkt,
- zmniejszyć dostępny stan,
- wygenerować dokument magazynowy,
- zarezerwować towar,
- przekazać zamówienie do realizacji,
- wystawić fakturę.
Przepływ może wyglądać wtedy tak:
Allegro → zamówienie → magazyn → dokument sprzedaży → KSeF → faktura dla klienta.
Dla sklepu prowadzącego sprzedaż na kilku kanałach jest to szczególnie ważne.
Po co zewnętrzny identyfikator produktu?
Sprzedawca może mieć:
ofertę Allegro nr 123456789
ale we własnym systemie produkt może posiadać kod:
SKU-ABC-125
Jeżeli program zna oba identyfikatory, może prawidłowo rozpoznać produkt.
Bez takiego mapowania sprzedawca może mieć problem np. wtedy, gdy kilka ofert na Allegro dotyczy tego samego produktu magazynowego.
Co z prowizją Allegro?
Prowizja marketplace’u i faktura wystawiana kupującemu to dwie różne kwestie.
Faktura sprzedażowa dla klienta dokumentuje transakcję pomiędzy sprzedawcą a kupującym.
Opłaty i prowizje Allegro dotyczą relacji pomiędzy Allegro a sprzedawcą.
Nie należy więc pomniejszać wartości faktury dla kupującego o prowizję pobraną przez platformę tylko dlatego, że rzeczywista kwota wypłacona sprzedawcy będzie niższa.
To częsty błąd przy projektowaniu automatycznych rozliczeń marketplace.
Integracja Allegro a zwroty
Dobra integracja nie powinna kończyć się w chwili wystawienia faktury.
Allegro REST API udostępnia również zasoby związane ze zwrotami klientów i zwrotami płatności.
Dzięki temu system może wykryć, że:
- klient zwrócił produkt,
- płatność została zwrócona,
- zamówienie wymaga dalszego rozliczenia.
Program fakturowy może następnie poinformować użytkownika, że należy zweryfikować potrzebę wystawienia odpowiedniego dokumentu korygującego.
Czy zwrot powinien automatycznie wystawiać korektę?
Pełna automatyzacja nie zawsze jest najlepszym rozwiązaniem.
Sam zwrot logistyczny lub zwrot płatności nie musi w każdej sytuacji oznaczać, że system bez dodatkowej analizy powinien wygenerować konkretny dokument podatkowy.
Bezpieczniejszy model może wyglądać tak:
zwrot wykryty → oznacz zamówienie → zaproponuj wystawienie korekty → użytkownik zatwierdza.
W bardzo dobrze zdefiniowanych procesach można automatyzować również ten etap, ale wymaga on większej ostrożności.
Jak często synchronizować Allegro?
Nie istnieje jedna częstotliwość odpowiednia dla każdej firmy.
Przy dużej sprzedaży synchronizacja powinna działać praktycznie na bieżąco.
Przy małej firmie kilkuminutowe opóźnienie zazwyczaj nie będzie problemem.
Ważniejsze od bardzo częstego odpytywania API jest prawidłowe wykorzystanie dziennika zdarzeń i zapamiętywanie punktu, od którego pobierane są kolejne zmiany.
Nie warto co minutę pobierać od początku całej historii sprzedaży.
Co się stanie, gdy API Allegro chwilowo nie działa?
Integracja musi być przygotowana na błędy.
Przykład:
O godzinie 12:00 pojawia się zamówienie.
Program próbuje pobrać dane, ale połączenie kończy się błędem.
Nie powinien:
uznać zamówienia za obsłużone.
Powinien:
zapisać błąd i ponowić operację.
Dobry mechanizm synchronizacji powinien posiadać:
- kolejkę operacji,
- ponawianie błędów,
- logi,
- status synchronizacji,
- monitoring,
- możliwość ręcznego ponowienia operacji.
Jakie statusy warto pokazywać użytkownikowi programu?
Przy integracji praktyczne mogą być np.:
Nowe zamówienie
Pobrano z Allegro
Oczekuje na płatność
Gotowe do fakturowania
Faktura wystawiona
Wysłano do KSeF
KSeF zaakceptował
PDF wygenerowany
Faktura dodana do Allegro
Błąd synchronizacji
Wymaga uwagi
Dzięki temu użytkownik od razu widzi, na jakim etapie znajduje się dokument.
Najczęstsze błędy przy integracji programu do faktur z Allegro
1. Pobieranie adresu dostawy zamiast danych do faktury
Klient może podać zupełnie inne dane nabywcy.
2. Wystawianie faktury po pierwszym zdarzeniu BOUGHT
Zakup nie zawsze jest jeszcze gotowy do rozliczenia.
3. Brak zabezpieczenia przed duplikatem
Ten sam event lub zamówienie może zostać przetworzone więcej niż raz.
4. Korzystanie wyłącznie z listy ostatnich zamówień
Może to prowadzić do pominięcia późniejszych zmian dotyczących starszych zakupów.
5. Brak obsługi anulowania
Status zamówienia może się zmienić.
6. Traktowanie każdego zamówienia jako opłaconego
Płatność online i pobranie wymagają innej logiki.
7. Nieuwzględnianie rabatów
Cena z aktualnej oferty nie zawsze odpowiada cenie konkretnej transakcji.
8. Brak obsługi kosztów dostawy
Łączna kwota faktury może wtedy nie zgadzać się z zamówieniem.
9. Brak mapowania produktów
System nie wie, która oferta Allegro odpowiada któremu produktowi w magazynie.
10. Brak logów
Po miesiącu nie da się ustalić, dlaczego faktura nie powstała.
Jak powinna wyglądać dobra integracja?
Z perspektywy sprzedawcy najlepiej, aby konfiguracja była możliwie prosta.
Przykładowo:
Krok 1
Kliknij:
„Połącz z Allegro”.
Krok 2
Zaloguj się do Allegro i zatwierdź dostęp.
Krok 3
Ustal:
Wystawiaj faktury automatycznie: TAK/NIE
Krok 4
Wybierz:
- serię numeracji,
- magazyn,
- domyślne ustawienia podatkowe,
- sposób rozliczania wysyłki,
- moment wystawiania dokumentu.
Krok 5
Uruchom synchronizację.
Od tego momentu system powinien wykonywać większość operacji samodzielnie.
Czy integracja opłaca się przy kilku zamówieniach dziennie?
Nawet wtedy może być wygodna.
Załóżmy, że ręczne wystawienie faktury wraz z pobraniem danych i wysłaniem dokumentu zajmuje 3 minuty.
Przy:
5 fakturach dziennie
jest to około 15 minut.
Przy 22 dniach sprzedaży:
330 minut miesięcznie, czyli około 5,5 godziny.
Przy 50 zamówieniach dziennie skala rośnie dziesięciokrotnie.
Nie chodzi więc wyłącznie o wygodę.
Automatyzacja może realnie obniżyć koszt obsługi jednego zamówienia.
Największą korzyścią jest ograniczenie błędów
Ręczne kopiowanie danych zawsze stwarza ryzyko pomyłki.
Pracownik może:
- przepisać błędny NIP,
- pomylić adres,
- pominąć produkt,
- wpisać niewłaściwą kwotę,
- zapomnieć o dostawie,
- wystawić fakturę dwa razy,
- wysłać fakturę niewłaściwemu klientowi.
Integracja pobiera dane bezpośrednio ze źródła.
Nie eliminuje wszystkich możliwych problemów, ale znacząco ogranicza błędy wynikające z ręcznego przepisywania.
Praktyczny przykład integracji
Sklep realizuje około 120 zamówień Allegro dziennie.
Przed wdrożeniem integracji pracownik codziennie:
- otwierał zamówienia,
- wyszukiwał te wymagające faktury,
- kopiował NIP,
- kopiował nazwę firmy,
- wpisywał produkty,
- sprawdzał kwoty,
- generował PDF,
- dodawał dokument do zamówienia.
Po wdrożeniu:
- program automatycznie pobiera eventy,
- rozpoznaje nowe zamówienia,
- pobiera aktualne dane,
- sprawdza invoice.required,
- tworzy nabywcę,
- dodaje pozycje,
- wystawia dokument,
- przeprowadza dalszy proces dokumentu,
- generuje PDF,
- przesyła fakturę do Allegro.
Pracownik zajmuje się tylko zamówieniami oznaczonymi:
„Wymaga uwagi”.
I właśnie taki model automatyzacji zwykle daje największą korzyść.
FAQ – integracja programu do faktur z API Allegro
Czy Allegro posiada API do obsługi zamówień?
Tak. Allegro REST API udostępnia zasoby pozwalające m.in. pobierać dziennik zdarzeń, listę zamówień i szczegółowe dane konkretnych zamówień.
Czy można automatycznie pobierać dane do faktury?
Tak. Szczegóły zamówienia mogą zawierać sekcję invoice z informacją, czy faktura jest wymagana, oraz dane nabywcy przekazane do faktury.
Czy program musi znać hasło użytkownika Allegro?
Nie. Integracje korzystają z OAuth 2.0 i tokenów autoryzacyjnych.
Czy można automatycznie wystawiać faktury z Allegro?
Tak. Jeżeli program fakturowy posiada odpowiednią logikę, może pobierać zamówienia i automatycznie tworzyć na ich podstawie dokumenty.
Czy fakturę można automatycznie dodać do zamówienia Allegro?
Tak. API posiada zasoby pozwalające utworzyć obiekt faktury i przesłać plik PDF.
Ile faktur można dodać do jednego zamówienia?
Aktualna dokumentacja Allegro wskazuje maksymalnie 10 faktur na jedno zamówienie.
Jaki może być maksymalny rozmiar PDF?
Obecnie plik faktury przesyłany przez odpowiedni zasób API może mieć maksymalnie 3 MB.
Czy można udostępnić link do dokumentu zamiast przesyłać PDF?
API pozwala również dodawać linki do dokumentów rozliczeniowych. Trzeba jednak uwzględnić wymagania Allegro dotyczące wspieranych domen.
Czy Allegro informuje klienta o dodaniu faktury?
Wykorzystanie dedykowanych zasobów do dodawania faktur jest powiązane z komunikacją Allegro do kupującego dotyczącą dodania dokumentu.
Czy każde zdarzenie READY_FOR_PROCESSING występuje tylko raz?
Nie należy tego zakładać. Allegro wskazuje, że mogą pojawić się wielokrotne zdarzenia tego samego typu, dlatego program musi chronić się przed ponownym przetworzeniem tego samego zamówienia.
Czy integracja może pobierać również status płatności?
Tak. Szczegóły zamówienia zawierają dane dotyczące płatności, w tym jej typ, kwotę oraz inne informacje zależne od rodzaju transakcji.
Czy dane wysyłkowe są zawsze takie same jak dane na fakturze?
Nie. Program powinien rozróżniać dane kupującego, dostawy i faktury.
Czy integracja Allegro zastępuje KSeF?
Nie. API Allegro służy do komunikacji z marketplace’em. Jeżeli faktura podlega obsłudze w KSeF, program powinien niezależnie zrealizować odpowiedni proces związany z fakturą ustrukturyzowaną.
Czy program może obsługiwać zwroty z Allegro?
API udostępnia również zasoby związane ze zwrotami klientów i zwrotami płatności, dlatego bardziej rozbudowana integracja może uwzględniać również proces posprzedażowy.
Czy można zintegrować kilka kont Allegro z jednym programem?
Tak, jeżeli aplikacja została do tego zaprojektowana. Każde konto powinno posiadać niezależną autoryzację oraz konfigurację synchronizacji.
Podsumowanie
Integracja programu do faktur z API Allegro może zautomatyzować praktycznie cały proces od pojawienia się zamówienia do przekazania gotowej faktury kupującemu.
W prawidłowo przygotowanym systemie proces wygląda następująco:
Allegro → zdarzenie → pobranie zamówienia → kontrola statusu → dane nabywcy → pozycje → płatność → wystawienie faktury → KSeF, jeśli ma zastosowanie → PDF → Allegro.
Największą wartością takiej integracji nie jest jednak samo „importowanie zamówień”.
Dobra integracja musi rozumieć cały proces sprzedaży.
Powinna rozróżniać dane wysyłkowe od danych do faktury, kontrolować płatności, prawidłowo uwzględniać rabaty i dostawę, zapobiegać duplikatom, reagować na zmiany statusów oraz zachowywać jednoznaczne powiązanie pomiędzy zamówieniem Allegro i wystawionym dokumentem.
Dzięki temu nawet firma realizująca setki zamówień dziennie może ograniczyć ręczne fakturowanie do wyjątków wymagających kontroli człowieka, zamiast każdorazowo przepisywać dane pomiędzy dwoma systemami.