Zbiorcze fakturowanie B2B: dokumentacja
Instalacja, konfiguracja i automatyzacja miesięcznego zbiorczego fakturowania B2B w PrestaShop 8 i 9.
Prezentacja
Zbiorcze fakturowanie łączy wszystkie zamówienia klienta firmowego z danego okresu (domyślnie z minionego miesiąca) w jedną skonsolidowaną fakturę. Zamiast faktury do każdego zamówienia Twoi klienci B2B otrzymują jedną fakturę miesięczną, numerowaną sekwencyjnie, z podziałem VAT według stawek i szczegółami zamówienie po zamówieniu. Moduł generuje PDF przez natywny silnik PrestaShop, wysyła go e-mailem i przy okazji usuwa faktury indywidualne z e-maili zamówień kierowanych do klientów firmowych.
Indywidualne faktury PrestaShop nigdy nie są usuwane: pozostają generowane i dostępne w Twoim zapleczu oraz w historii zamówienia. Jedynie e-mail wysyłany do klienta B2B jest odchudzany o indywidualny PDF.
Instalacja
Zainstaluj moduł jak każdy inny moduł PrestaShop, z poziomu Moduły > Menedżer modułów > Wgraj moduł, wysyłając plik ZIP. Przy instalacji moduł tworzy swoje tabele, zakładkę administracyjną i losowy token dla crona. Nie jest wymagana żadna zależność Composer.
Konfiguracja
Przejdź do Moduły > Menedżer modułów, a następnie kliknij Konfiguruj obok modułu zbiorczego fakturowania. Strona konfiguracji gromadzi wszystkie ustawienia.
Grupy klientów B2B
Zaznacz grupę lub grupy klientów traktowanych jako firmowi. Tylko klienci należący do tych grup mają zamówienia konsolidowane, otrzymują fakturę zbiorczą i mają dostęp do strefy „Moje faktury zbiorcze”. To ustawienie definiuje Twój zakres B2B.
Uwzględniane statusy zamówień
Wybierz statusy zamówień, które kwalifikują zamówienie do konsolidacji (domyślnie: płatność zaakceptowana, w przygotowaniu, wysłane, dostarczone). Zamówienie, którego bieżący status nie znajduje się na tej liście, jest pomijane przy generowaniu.
Dzień generowania
Wybierz dzień miesiąca (od 1 do 28), w którym cron uruchamia generowanie za poprzedni miesiąc. Dzień z zakresu 1-28 gwarantuje, że data istnieje w każdym miesiącu.
Prefiks i numeracja
Zdefiniuj prefiks numeracji (domyślnie REC). Faktury zbiorcze są numerowane sekwencyjnie w formacie PREFIKS-RRRR-00042, przez dedykowany licznik. Numery nigdy nie są używane ponownie, nawet po usunięciu faktury.
Wysyłka automatyczna i czyszczenie e-maili
Dwa przełączniki sterują zachowaniem wysyłki:
- Automatyczna wysyłka e-mailem: przy generowaniu (przez cron lub ręcznie) faktura zbiorcza jest wysyłana do klienta z załączonym PDF.
- Usuwanie faktury indywidualnej z e-maili zamówień: dla klientów B2B PDF faktury indywidualnej jest usuwany z e-maili zamówień, aby pozostawić tylko jedną czystą wysyłkę, miesięczną fakturę zbiorczą.
Adnotacje prawne i warunki płatności
Dwa wielojęzyczne pola tekstowe pozwalają dostosować adnotacje prawne (domyślny tekst odwołuje się do art. 289 I-3 francuskiego CGI dotyczącego okresowej faktury zbiorczej; dostosuj go do przepisów właściwych dla Twojej działalności) oraz warunki płatności wyświetlane w stopce faktury. Teksty można wpisać w każdym języku sklepu.
Automatyzacja przez cron
Automatyczne generowanie opiera się na adresie URL crona chronionym tokenem. Pobierz pełny adres (z tokenem) z panelu informacyjnego na stronie konfiguracji, a następnie zaplanuj go w harmonogramie zadań serwera. Przykładowy wpis crontab dla codziennego uruchomienia:
0 6 * * * wget -q -O /dev/null "https://twojsklep.tld/module/dfdeferredinvoicing/cron?token=TWOJ_TOKEN"
Cron jest idempotentny: generuje fakturę klienta tylko wtedy, gdy nie istnieje ona jeszcze dla danego okresu. Możesz więc uruchamiać go codziennie bez ryzyka, faktyczne przetwarzanie poprzedniego miesiąca wyzwala wyłącznie skonfigurowany dzień generowania.
Parametry opcjonalne
&force=1: wymusza generowanie niezależnie od dnia miesiąca.&month=6&year=2026: celuje w konkretny okres (przydatne do ponownego przetworzenia minionego miesiąca).
Odpowiedź jest zwracana w formacie JSON, z liczbą przetworzonych klientów, utworzonych faktur i skonsolidowanych zamówień.
Aby przetestować od razu, otwórz adres crona z &force=1 w przeglądarce: otrzymasz podsumowanie JSON generowania bez czekania na zaplanowany dzień.
Codzienne użytkowanie
Zakładka „Faktury zbiorcze”
Zakładka Faktury zbiorcze jest dodawana w menu Zamówienia. Wykazuje wszystkie wygenerowane faktury zbiorcze, z numerem, klientem, okresem, liczbą zamówień, sumą brutto i statusem wysyłki e-maila. Każda pozycja pozwala pobrać PDF, ponownie wysłać e-mail lub usunąć fakturę.
Generowanie ręczne
Na górze tej zakładki panel pozwala ręcznie wygenerować okres (miesiąc i rok, wstępnie ustawione na poprzedni miesiąc) dla wszystkich klientów B2B lub dla wybranego klienta. Przydaje się to do jednorazowego nadrobienia zaległości lub wystawienia faktury klientowi na żądanie.
Strefa klienta
Klienci firmowi mają w swoim koncie link „Moje faktury zbiorcze”, gdzie znajdują i pobierają wszystkie swoje skonsolidowane faktury. Link pojawia się tylko dla klientów należących do skonfigurowanych grup B2B.
Zawartość faktury zbiorczej
Każda faktura zawiera: dane sklepu i adres rozliczeniowy klienta (nazwa firmy, numer VAT), szczegóły zamówienie po zamówieniu (data, numer, oryginalny numer faktury PrestaShop, kwota), podział VAT według stawek (produkty i koszty wysyłki) z pozycją korygującą zaokrąglenie w razie minimalnej różnicy, następnie sumy netto / VAT / brutto, a na końcu Twoje warunki płatności i adnotacje prawne.
Zamówienia są grupowane według waluty: klient, który zamawiał w dwóch różnych walutach w tym samym okresie, otrzymuje jedną fakturę zbiorczą na walutę.
Gwarancje i ograniczenia
- Ochrona przed duplikatami: każde zamówienie jest zapisywane w tabeli powiązań, gdzie jest unikalne. Zamówienie już skonsolidowane nigdy nie może trafić do innej faktury zbiorczej.
- Usuwanie: usunięcie faktury zbiorczej zwalnia jej zamówienia, które znów kwalifikują się do nowej konsolidacji. Usunięty numer nie jest jednak nadawany ponownie.
- Faktury indywidualne: pozostają widoczne w historii zamówienia po stronie klienta; odchudzany jest tylko e-mail. Ich ukrycie zepsułoby księgowość PrestaShop.
- Podział VAT: rozkład według stawek jest odtwarzany z pozycji zamówienia i dostawy; może być przybliżony w rzadkim przypadku, gdy jeden produkt kumuluje kilka nałożonych podatków.
Zgodność
Zbiorcze fakturowanie jest zgodne z PrestaShop 8.0 do 9.x, w pojedynczym sklepie i w multisklepie, w pięciu językach katalogu (francuski, angielski, hiszpański, niemiecki, włoski), bez żadnej zależności Composer.