W sklepie internetowym kilka różnych zdarzeń może przypadać na różne dni: klient składa zamówienie, płaci, a sklep wysyła towar później. Gdy integracja zamienia te zdarzenia w jedną datę, faktura może wymagać wyjaśnienia z księgowością, a raport sprzedaży przestaje odpowiadać przebiegowi zamówienia.
Krótka odpowiedź
Daty sprzedaży, wystawienia faktury, zamówienia, płatności i wysyłki nie są automatycznie tym samym zdarzeniem. W systemie przechowuj je osobno, a datę trafiającą na fakturę mapuj według rodzaju transakcji i zasad potwierdzonych z księgowością.
W WooCommerce kontroluj źródłową datę i strefę czasową witryny, zamiast traktować sam status zamówienia jako podatkową regułę.
Usługi KC Mobile
Potrzebujesz pomocy w tym temacie?
Czytasz poradnik „Data sprzedaży na fakturze: jak ustalić ją w sklepie internetowym”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.
Czym różni się data sprzedaży od daty wystawienia faktury?
Data wystawienia opisuje moment wystawienia dokumentu, a data sprzedaży na fakturze odnosi się do dostawy towaru, wykonania usługi albo określonej sytuacji dotyczącej otrzymania zapłaty. Ministerstwo Finansów wskazuje, że faktura zawiera datę wystawienia oraz, jeśli jest określona i różni się od daty wystawienia, datę dokonania lub zakończenia dostawy albo wykonania usługi; w opisanym przypadku uwzględnia się również datę otrzymania zapłaty przed dokonaniem czynności.
Daty mogą być identyczne, jeśli dostawa lub usługa i wystawienie dokumentu przypadają tego samego dnia. Mogą się różnić, gdy faktura jest wystawiana później albo gdy zdarzenie mające znaczenie dla konkretnej transakcji wystąpiło wcześniej. Szczególne rodzaje dostaw, usług, zaliczek i rozliczeń okresowych mogą podlegać odrębnym regułom, dlatego moment podatkowy potwierdź z księgowością.
W KSeF struktura faktury rozdziela datę wystawienia od daty dostawy lub wykonania usługi. Ministerstwo Finansów opisuje w strukturze FA element P_6 dla wspólnej daty oraz P_6A, gdy pozycje mają różne daty. Zasady daty wystawienia faktury ustrukturyzowanej zależą też od trybu jej przesłania do KSeF, więc przy wdrożeniu KSeF w Subiekcie GT nie należy wyprowadzać tej daty z czasu utworzenia zamówienia w sklepie.
Czytasz poradnik „Data sprzedaży na fakturze: jak ustalić ją w sklepie internetowym”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny. Omów temat tego poradnika
Którą datę wybrać przy wysyłce zamówienia?
Wybór daty wymaga ustalenia, co rzeczywiście sprzedano i które zdarzenie ma znaczenie dla danego dokumentu. Poniższa tabela porządkuje pytania do weryfikacji, ale nie zastępuje kwalifikacji księgowej transakcji.
| Scenariusz | Zdarzenia, które trzeba rozdzielić | Pytanie przed mapowaniem daty |
|---|---|---|
| Płatność przed wysyłką | Autoryzacja, otrzymanie środków, wydanie towaru | Czy płatność była zaliczką przed dostawą i jak należy ją udokumentować? |
| Dostawa kurierem | Nadanie paczki, doręczenie, wydanie towaru | Które zdarzenie potwierdza dostawę w tym modelu sprzedaży? |
| Odbiór osobisty | Gotowość zamówienia, odbiór przez klienta | Jak sklep rejestruje faktyczny odbiór? |
| Zaliczka | Otrzymanie części lub całości zapłaty, późniejsza dostawa | Czy powstaje dokument zaliczkowy i jak powiązać go z fakturą końcową? |
| Usługa cyfrowa | Płatność, aktywacja dostępu, wykonanie usługi | Kiedy usługa jest wykonana zgodnie z jej zakresem i warunkami? |
| Sprzedaż ciągła lub okresowa | Początek i koniec okresu, terminy rozliczeń | Czy faktura dotyczy okresu rozliczeniowego, a nie jednego dnia? |
Nie ustawiaj automatycznie daty sprzedaży na dzień wysyłki tylko dlatego, że sklep zmienia wtedy status na Zrealizowane. Status może oznaczać wydruk etykiety, przekazanie paczki przewoźnikowi lub samo zamknięcie zadania magazynowego. Zdefiniuj, jakie potwierdzenie zdarzenia zapisuje system, i uzgodnij jego znaczenie z księgowością.
Jeśli sklep obsługuje kilka modeli dostawy, utwórz oddzielne scenariusze testowe dla kuriera, punktu odbioru i odbioru osobistego. Dla każdej ścieżki ustal, czy źródłem zdarzenia jest potwierdzenie przewoźnika, zmiana statusu w panelu czy ręczne potwierdzenie pracownika.
Czy data zamówienia lub płatności oznacza datę sprzedaży?
Data złożenia zamówienia jest zapisem intencji zakupu, a nie automatycznym dowodem dostawy lub wykonania usługi. Data autoryzacji płatności może też różnić się od daty pobrania środków, rozliczenia przez operatora i faktycznego wpływu pieniędzy.
| Zdarzenie | Co zwykle rejestruje sklep | Dlaczego nie utożsamiać go automatycznie z datą sprzedaży |
|---|---|---|
| Utworzenie zamówienia | Chwilę złożenia zamówienia przez klienta | Zamówienie może pozostać nieopłacone, anulowane lub niezrealizowane. |
| Autoryzacja płatności | Zgodę operatora na obciążenie | Autoryzacja może nie oznaczać otrzymania zapłaty przez sprzedawcę. |
| Pobranie lub rozliczenie płatności | Przetworzenie transakcji przez operatora | Księgowanie i rozliczenie mogą odbywać się w innym czasie niż dostawa. |
| Nadanie przesyłki | Przekazanie paczki do przewoźnika | Nadanie nie zawsze oznacza, że klient otrzymał towar. |
| Doręczenie lub odbiór | Potwierdzenie wydania przesyłki | Waga tego zdarzenia zależy od modelu transakcji i ustaleń księgowych. |
| Wykonanie usługi | Zakończenie uzgodnionego zakresu albo etapu | Usługi okresowe i częściowe mogą wymagać osobnej analizy. |
W raportowaniu sklepu warto zachować osobne pola dla `date_created`, daty płatności, daty wysyłki, daty dostawy i daty dokumentu. Nazwy techniczne zależą od wersji WooCommerce, wtyczek i integracji, dlatego dla każdego pola zapisz opis biznesowy oraz źródłowy system. W ten sposób można odtworzyć, czy różnica wynika z przebiegu transakcji czy z błędnego mapowania.
Jak przechowywać daty w WooCommerce i ERP?
Najpierw ustal źródło prawdy dla każdego zdarzenia, a dopiero później przypisz je do pól ERP i fakturowania. WooCommerce dokumentuje ustawienia ogólne w panelu WooCommerce > Ustawienia > Ogólne; strefę czasu witryny sprawdzisz w WordPress > Ustawienia > Ogólne > Strefa czasowa. Przy imporcie zamówień dokumentacja WooCommerce wskazuje, że daty `created_at` powinny odpowiadać strefie czasowej witryny docelowej.
| Pole lub zdarzenie | System źródłowy | Reguła integracji do ustalenia |
|---|---|---|
| Utworzenie zamówienia | WooCommerce | Przechowuj jako datę złożenia zamówienia; nie nadpisuj jej datą faktury. |
| Autoryzacja i rozliczenie płatności | Operator płatności lub WooCommerce | Rozróżnij potwierdzenie autoryzacji od pobrania i rozliczenia środków. |
| Wydanie lub doręczenie towaru | System magazynowy lub przewoźnik | Ustal, które potwierdzenie stanowi dowód danego etapu i kiedy integracja je pobiera. |
| Wykonanie usługi cyfrowej | System realizacji usługi | Zapisz zdarzenie zakończenia lub aktywacji zgodnie z charakterem usługi. |
| Data na dokumencie | System fakturowy lub ERP | Mapuj według uzgodnionej reguły księgowej i zachowaj identyfikator zamówienia. |
Ustaw jedną strefę czasu operacyjną dla witryny, a przesyłane znaczniki czasu serializuj z informacją o strefie lub offsetem. W raporcie porównuj daty w tej samej strefie. Błąd może ujawnić się przy zamówieniu blisko północy, zmianie czasu albo imporcie z witryny skonfigurowanej inaczej.
W mapowaniu integracji dodaj osobne pola źródłowe zamiast nadpisywać jedną datę kolejnymi zdarzeniami. Zapisz też identyfikator zdarzenia z systemu magazynowego lub operatora płatności, aby można było odtworzyć drogę wartości podczas diagnozy.

Jak data sprzedaży trafia do faktury i KSeF?
Przepływ powinien przenosić uzgodnione zdarzenie do właściwego pola dokumentu bez zamiany go na datę utworzenia zamówienia. Typowy łańcuch wygląda tak: zamówienie w WooCommerce, potwierdzone zdarzenia płatności i realizacji, reguła mapowania w integracji, dokument w ERP lub programie fakturowym, a następnie eksport do KSeF.
W fakturze ustrukturyzowanej FA(3) pole P_1 dotyczy daty wystawienia. Pole P_6 opisuje wspólną dla faktury datę dokonania lub zakończenia dostawy albo wykonania usługi, o ile jest określona i różni się od daty wystawienia. Oficjalny opis struktury wskazuje także P_6A dla różnych dat dotyczących poszczególnych pozycji; właściwy wariant zależy od struktury faktury i sytuacji.
KSeF nadaje fakturze numer identyfikujący, który nie jest tym samym co numer faktury nadany przez sprzedawcę. Sprawdź, czy integracja zachowuje oba identyfikatory oraz zapisuje wynik walidacji i odpowiedź systemu. Sama poprawna walidacja techniczna pliku nie potwierdza, że wybrana data odpowiada właściwemu zdarzeniu gospodarczemu.
Przed uruchomieniem przepływu zatwierdź z księgowością tabelę: scenariusz sprzedaży, źródłowe zdarzenie, pole w systemie fakturowym i pole struktury KSeF. Wdrożenie KSeF w sklepie internetowym powinno uwzględniać próbne dokumenty oraz obsługę wyjątków, a faktury w sklepie internetowym omawiamy szerzej w kontekście obiegu dokumentów.
Jak sprawdzić, dlaczego na fakturze pojawiła się zła data?
Diagnozę zacznij od dokumentu i przejdź wstecz do źródłowego zdarzenia, zamiast od razu poprawiać datę ręcznie. Zapisz numer faktury, identyfikator zamówienia, czas utworzenia dokumentu, identyfikator przebiegu integracji i odpowiedź systemu fakturowego.
| Objaw | Prawdopodobne źródło | Dowód do sprawdzenia |
|---|---|---|
| Data odpowiada chwili złożenia zamówienia | Integracja mapuje `date_created` na pole faktury | Konfiguracja mapowania i surowy rekord zamówienia. |
| Data różni się o jeden dzień | Inna strefa czasu lub konwersja znacznika | Strefa WordPressa, offset w danych i czas serwera. |
| Data zmienia się po ponowieniu integracji | Ponowne przetworzenie zdarzenia albo domyślna data dokumentu | Logi kolejki, identyfikator zdarzenia i historia dokumentu. |
| Kilka pozycji ma różne daty, ale faktura jedną | Zbiorcze mapowanie daty na nagłówek dokumentu | Dane pozycji źródłowych i mapowanie struktury faktury. |
| Po zmianie statusu data przeskoczyła | Reguła integracji uruchamia się na niewłaściwym statusie | Historia zmian statusu i konfiguracja wyzwalacza. |
Następnie odtwórz przepływ na kopii zamówienia testowego. Porównaj datę i strefę czasu w źródle, log integracji oraz dokument w ERP. Jeśli wszystkie wartości po drodze są zgodne z konfiguracją, problem może dotyczyć samej reguły biznesowej; jej interpretację uzgodnij z księgowością, a nie przez zmianę techniczną pola.

Jak zapobiec błędnym datom po zmianie lub zwrocie zamówienia?
Testy powinny obejmować zmiany stanu zamówienia po wystawieniu dokumentu, ponowienia integracji i zdarzenia częściowe. Każdy scenariusz opisz oczekiwanym polem, wartością źródłową i zachowaniem dokumentu.
- Wysyłka częściowa: sprawdź, czy integracja nie przypisuje jednej daty do wszystkich pozycji, jeśli realizacja odbywa się etapami.
- Zwrot lub anulowanie: potwierdź, czy system tworzy właściwy proces dokumentowy i nie nadpisuje historii pierwotnego zamówienia.
- Ponowienie zadania: wyślij ponownie ten sam identyfikator zdarzenia i sprawdź, czy nie powstaje drugi dokument ani nowa data bez przyczyny.
- Zmiana strefy czasu: przetestuj zdarzenie tuż przed północą oraz po zmianie ustawienia witryny na środowisku testowym.
- Zmiana statusu: zmień status ręcznie i automatycznie, a następnie porównaj zapisane czasy oraz logi.
Korektę wystawionego dokumentu uzgadnia się z księgowością. Nie poprawiaj historii zamówienia po to, by uzyskać oczekiwaną datę na dokumencie, bo można utracić informację o tym, kiedy faktycznie zaszły poszczególne zdarzenia.
Jaką listę kontrolną stosować przed wdrożeniem fakturowania?
Przed uruchomieniem sprawdź, czy zespół potrafi prześledzić datę od dokumentu do zdarzenia źródłowego. Akceptację oprzyj na przypadkach testowych, a nie tylko na tym, że faktura została wygenerowana.
| Test akceptacyjny | Oczekiwany dowód |
|---|---|
| Zamówienie opłacone i wysłane tego samego dnia | Zapis zdarzeń płatności i realizacji oraz zgodność z zatwierdzoną regułą. |
| Płatność i dostawa w różne dni | Osobne daty w systemie źródłowym i prawidłowe mapowanie do dokumentu. |
| Zaliczka przed dostawą | Powiązanie wpłaty z właściwym dokumentem i dalszym rozliczeniem. |
| Zamówienie z częściową realizacją | Poprawna obsługa dat pozycji lub etapów zgodnie z projektem integracji. |
| Ponowienie integracji | Brak niezamierzonego duplikatu dokumentu i zachowanie pierwotnych identyfikatorów. |
| Zdarzenie około północy | Ta sama interpretacja daty w WooCommerce, ERP i logu integracji. |
Zapisz właściciela reguły, wersję mapowania, datę akceptacji i sposób zgłaszania wyjątków. Dla wdrożeń obejmujących sklep i fakturowanie przydatne są też materiały o konfiguracji faktur w WooCommerce oraz kosztach integracji faktur dla sklepu online.
Więcej poradników w tym temacie
Wspomniane narzędzia
Najczęściej zadawane pytania
Czy data sprzedaży na fakturze może być inna niż data wystawienia?
Czy datą sprzedaży jest dzień zapłaty czy wysyłki?
Jaką datę sprzedaży wpisać na fakturze za zamówienie internetowe?
Czy data sprzedaży na fakturze jest obowiązkowa?
Jak ustawić datę sprzedaży w fakturach WooCommerce?
Potrzebujesz pomocy w tym temacie?
Czytasz poradnik „Data sprzedaży na fakturze: jak ustalić ją w sklepie internetowym”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.
