Klient firmowy składa zamówienie, płaci, a potem pisze wiadomość z prośbą o fakturę i podaje NIP w osobnym e-mailu. Właściciel sklepu szuka zamówienia, przepisuje dane ręcznie, wystawia dokument w programie księgowym i odsyła go jako załącznik. Przy kilku zamówieniach w miesiącu da się tak pracować. Przy kilkudziesięciu zaczynają się pomyłki w numerach, spóźnione dokumenty i nerwowe pytania kupujących.
WooCommerce w podstawowej postaci nie ma pola na NIP i nie wystawia faktur. Obie rzeczy trzeba dołożyć: pole w formularzu zamówienia oraz narzędzie, które na podstawie zamówienia przygotuje dokument i wyśle go klientowi. Ten wpis jest instrukcją dla właścicieli sklepów, którzy chcą to ustawić raz, porządnie i bez przepisywania danych.
Po lekturze będzie wiadomo, jak rozpoznać rodzaj formularza zamówienia w sklepie, jak dodać pole NIP wtyczką albo krótkim kodem, jak wybrać sposób wystawiania faktur, jak włączyć ich automatyczne tworzenie i wysyłkę oraz jak sprawdzić, czy wszystko działa, zanim trafi na to prawdziwy klient.
Po czym poznać, że sklep potrzebuje pola NIP i automatycznych faktur?
Objawy są zwykle te same. Klienci firmowi wpisują NIP w polu „Uwagi do zamówienia”, w nazwie firmy albo w ogóle go nie podają i odzywają się po zakupie. Część z nich porzuca koszyk, bo nie widzi miejsca na dane do faktury i nie ma pewności, czy ją dostanie.
Po stronie sklepu problem widać w pracy biura. Dane do dokumentu są przepisywane ręcznie z zamówienia do programu księgowego, numer faktury nie ma żadnego związku z numerem zamówienia, a wysyłka pliku zależy od tego, czy ktoś o niej pamięta. Każdy z tych punktów jest miejscem na błąd.
Trzeci sygnał to pytania księgowej. Jeżeli co miesiąc trzeba wyjaśniać, które zamówienie odpowiada której fakturze i dlaczego na dokumencie brakuje numeru podatkowego nabywcy, sklep dojrzał do uporządkowania tego obszaru.
Faktura czy paragon? Co trzeba ustalić przed zmianami w sklepie
Zanim cokolwiek zostanie zainstalowane, trzeba wiedzieć, jakie dokumenty sklep ma wystawiać. Zależy to od tego, czy sprzedawca jest czynnym podatnikiem VAT, czy korzysta ze zwolnienia, czy prowadzi kasę rejestrującą i komu sprzedaje. Te ustalenia należą do księgowej albo doradcy podatkowego, a nie do wtyczki.
Ogólne zasady z ustawy o VAT są następujące. Sprzedaż na rzecz innego przedsiębiorcy dokumentuje się fakturą. Osoba prywatna dostaje fakturę wtedy, gdy o nią poprosi, a ma na to trzy miesiące liczone od końca miesiąca, w którym dostarczono towar albo otrzymano zapłatę. Fakturę wystawia się co do zasady najpóźniej piętnastego dnia miesiąca następującego po miesiącu sprzedaży.
Ważna jest też zasada dotycząca kasy rejestrującej. Jeżeli sprzedaż została zaewidencjonowana na kasie, fakturę dla firmy wystawia się wyłącznie wtedy, gdy paragon zawiera NIP nabywcy. Oznacza to, że numer musi być znany w chwili sprzedaży, a nie tydzień później. To jest praktyczny powód, dla którego pole NIP powinno znaleźć się w formularzu zamówienia.
Osobną sprawą jest Krajowy System e-Faktur. Obowiązki z nim związane zależą od rodzaju sprzedawcy i nabywcy, a przepisy w tym zakresie zmieniały się kilkakrotnie. Radzę przed wyborem narzędzia zapytać księgową wprost, czy faktury ze sklepu mają trafiać do KSeF i w jaki sposób, ponieważ nie każda wtyczka to potrafi.
Przy tej okazji dobrze jest przejrzeć ustawienia podatków w samym sklepie. Faktura pobiera stawki i kwoty z zamówienia, więc błąd w konfiguracji przenosi się na każdy dokument. Sposób ustawienia opisałem we wpisie o tym, jak ustawić stawki VAT i ceny brutto w WooCommerce.
Jak sprawdzić, z którego formularza zamówienia korzysta sklep?
WooCommerce ma dwa różne formularze zamówienia. Starszy, klasyczny, działa na krótkim kodzie [woocommerce_checkout]. Nowszy jest blokiem edytora o nazwie „Zamówienie” (w angielskiej wersji „Checkout”). Według dokumentacji WooCommerce nowsze instalacje korzystają domyślnie z wersji blokowej.
Ta różnica decyduje o wszystkim, co dalej. Wtyczki i fragmenty kodu napisane dla formularza klasycznego nie działają w blokowym i odwrotnie. Najczęstsza przyczyna sytuacji „dodałem pole NIP i go nie widać” to właśnie narzędzie dobrane do niewłaściwego formularza.
- W panelu WordPressa należy przejść do „Strony” i odszukać stronę zamówienia, zwykle o nazwie „Zamówienie”. W motywach blokowych ten sam szablon jest dostępny w „Wygląd”, następnie „Edytor”.
- Stronę otwiera się do edycji.
- W górnym pasku edytora trzeba włączyć „Widok listy”, czyli spis bloków na stronie.
- Jeżeli na liście widnieje blok „Zamówienie” z zagnieżdżonymi blokami pól, sklep korzysta z formularza blokowego.
- Jeżeli na stronie jest tylko blok z krótkim kodem
[woocommerce_checkout]albo blok klasycznego formularza, sklep korzysta z wersji klasycznej.
Wynik należy zanotować. W dalszych sekcjach przy każdej metodzie zaznaczam, dla którego formularza jest przeznaczona.
Czy da się przejść z formularza blokowego na klasyczny?
Tak. Dokumentacja WooCommerce opisuje to następująco: w „Widoku listy” zaznacza się blok zamówienia, na pasku narzędzi bloku klika pierwszy przycisk z lewej, czyli przekształcenie bloku, i wybiera wersję opartą na klasycznym krótkim kodzie (w dokumentacji „Classic Shortcode”). Na końcu zmiany się zapisuje.
Dokumentacja zaznacza, że blok koszyka i blok zamówienia współpracują ze sobą, dlatego przy powrocie do wersji klasycznej zmienia się oba. Nie radzę robić tego pochopnie. Zmiana formularza wpływa na wygląd, na bramki płatności i na wtyczki dostawy, więc po niej trzeba przejść całą ścieżkę zakupu od nowa.
Jak włączyć pole z nazwą firmy?
Pole NIP bez pola na nazwę firmy niewiele daje. W formularzu blokowym nazwę firmy włącza się w ustawieniach bloku pól zamówienia. Dokumentacja WooCommerce nazywa to ustawienie „Address Fields” i podaje, że steruje ono widocznością pól firmy, drugiej linii adresu i telefonu. Te same przełączniki są dostępne w blokach adresu dostawy i adresu rozliczeniowego, a zmiana w jednym miejscu obowiązuje we wszystkich.

W formularzu klasycznym pole firmy bywa ukryte przez motyw albo wtyczkę. Najprościej przywrócić je wtyczką do edycji pól, opisaną w następnej sekcji. Pole firmy powinno pozostać nieobowiązkowe, bo większość kupujących w typowym sklepie to osoby prywatne.
Jak dodać pole NIP wtyczką, bez pisania kodu?
Dla większości sklepów to najlepsza droga. Wtyczka dodaje pole, zapisuje jego wartość w zamówieniu i pokazuje ją w panelu oraz w wiadomościach. Aktualizacje WooCommerce nie usuwają takiej konfiguracji, co przy własnym kodzie nie zawsze jest pewne.
Są dwa rodzaje wtyczek, które to robią. Pierwszy to wtyczki do faktur, które same dodają pole NIP, bo potrzebują go do dokumentu. Drugi to wtyczki do edycji pól formularza, które pozwalają dodać dowolne pole. Jeżeli sklep ma wystawiać faktury wtyczką, pole NIP należy dodać właśnie nią. Dzięki temu numer trafia na fakturę bez dodatkowego łączenia dwóch narzędzi.
Pole NIP z wtyczki do faktur
Przykładem jest wtyczka „Faktury PDF WooCommerce & WordPress” (Flexible Invoices) z katalogu WordPress.org. Z jej opisu wynika, że pole NIP w formularzu zamówienia włącza się w ustawieniach, a po włączeniu numer jest drukowany na fakturze. Opis wymienia też osobną grupę ustawień dla strony zamówienia WooCommerce i numeru VAT.
- W panelu należy otworzyć „Wtyczki”, przejść do dodawania nowej wtyczki i wyszukać ją po nazwie.
- Po instalacji klika się „Włącz”.
- W menu pojawia się pozycja „Faktury”. W jej ustawieniach trzeba odszukać część dotyczącą WooCommerce i strony zamówienia.
- Włącza się pole NIP i ustala jego etykietę, na przykład NIP (dla faktury na firmę).
- Pole pozostawia się jako nieobowiązkowe, chyba że sklep sprzedaje wyłącznie firmom.
- Zmiany się zapisuje, a następnie otwiera stronę zamówienia w oknie prywatnym przeglądarki i sprawdza, czy pole jest widoczne.
Nazwy zakładek w ustawieniach zmieniają się między wersjami wtyczki, dlatego podaję je opisowo. Jeżeli pole nie pojawia się w formularzu blokowym, trzeba sprawdzić w dokumentacji wtyczki, czy dana wersja obsługuje blok zamówienia.
Pole NIP z wtyczki do edycji pól
Gdy faktury mają powstawać w zewnętrznym programie, wystarczy samo pole. W formularzu klasycznym sprawdza się wtyczka Flexible Checkout Fields, w polskim katalogu opisana jako „Elastyczne pola formularza zamówień dla WooCommerce”. Jej ustawienia znajdują się w menu „WooCommerce”, w pozycji „Pola Zamówienia”.
W wersji podstawowej pola dodaje się do sekcji „Fakturowanie”, „Wysyłka” i „Zamówienie”. Dla numeru podatkowego właściwa jest sekcja „Fakturowanie”. Wybiera się typ pola „Tekst”, wpisuje etykietę, ustala, czy pole jest wymagane, a kolejność zmienia przeciąganiem. Najlepsze miejsce to pozycja bezpośrednio pod nazwą firmy.
Wtyczka pozwala też wskazać, gdzie wartość ma być pokazywana: na stronie podziękowania, w koncie klienta i w wiadomościach e-mail. Radzę zaznaczyć wszystkie te miejsca. Autor zaznacza w opisie, że wtyczka jest przeznaczona dla formularza klasycznego, a dla blokowego przygotował osobne rozszerzenie.
Kto woli nie zajmować się tym samodzielnie, może zadzwonić pod numer 533 525 168 albo napisać na info@lukaszwudyka.pl, a przejmę sprawę: sprawdzę rodzaj formularza, dodam pole NIP, podłączę wystawianie faktur i przetestuję całość na zamówieniu próbnym.
Jak dodać pole NIP własnym kodem?
Kod ma sens wtedy, gdy sklep ma programistę albo właściciel sam opiekuje się stroną i nie chce kolejnej wtyczki. Wymaga jednak ostrożności. Błąd składni w pliku PHP potrafi wyłączyć całą witrynę, dlatego przed zmianą należy wykonać kopię zapasową, a kod umieszczać w motywie potomnym albo we wtyczce do fragmentów kodu, nigdy w plikach motywu głównego, które aktualizacja nadpisze.
Formularz klasyczny
W formularzu klasycznym pola rozliczeniowe zmienia się filtrem woocommerce_billing_fields. Poniższy fragment dodaje nieobowiązkowe pole pod nazwą firmy:
add_filter( 'woocommerce_billing_fields', function ( $fields ) {
$fields['billing_nip'] = array(
'label' => 'NIP (dla faktury na firmę)',
'required' => false,
'class' => array( 'form-row-wide' ),
'priority' => 35,
);
return $fields;
} );
WooCommerce zapisuje wartość takiego pola w danych zamówienia pod kluczem _billing_nip. Żeby numer był widoczny w panelu przy adresie rozliczeniowym, potrzebny jest drugi fragment:
add_filter( 'woocommerce_admin_billing_fields', function ( $fields ) {
$fields['nip'] = array( 'label' => 'NIP', 'show' => true );
return $fields;
} );
Nazwa klucza ma znaczenie. Wtyczki do faktur i integracje z programami księgowymi szukają numeru pod określoną nazwą pola. Przed wdrożeniem trzeba sprawdzić w dokumentacji wybranego narzędzia, jakiej nazwy oczekuje, i użyć dokładnie takiej.
Formularz blokowy
Blok zamówienia nie reaguje na powyższe filtry. Ma własny mechanizm dodatkowych pól, opisany w dokumentacji dla programistów WooCommerce. Pole rejestruje się funkcją woocommerce_register_additional_checkout_field, wywołaną w akcji woocommerce_init.
add_action( 'woocommerce_init', function () {
woocommerce_register_additional_checkout_field( array(
'id' => 'sklep/nip',
'label' => 'NIP (dla faktury na firmę)',
'location' => 'order',
'type' => 'text',
'required' => false,
'sanitize_callback' => function ( $value ) {
return preg_replace( '/[^0-9]/', '', (string) $value );
},
) );
} );
Najwięcej uwagi wymaga parametr location. Dokumentacja podaje trzy miejsca i każde zachowuje się inaczej.

contact– pole pojawia się u góry formularza, obok adresu e-mail, a wartość zapisuje się w koncie klienta.address– pole pojawia się jednocześnie w adresie dostawy i w adresie rozliczeniowym, więc sklep zbiera dwie wartości. Dokumentacja zaznacza, że nie da się go ograniczyć do jednego adresu.order– pole pojawia się w części z informacjami o zamówieniu, a wartość zapisuje się tylko w zamówieniu.
Dla numeru podatkowego wybieram zwykle order albo contact. Lokalizacja address sprawia, że klient widzi pole NIP także przy adresie dostawy, co budzi pytania. Mechanizm obsługuje typy text, select, checkbox i date, a identyfikator musi składać się z przestrzeni nazw i nazwy pola rozdzielonych ukośnikiem.
Wartości takich pól są zapisywane z przedrostkiem. Dla lokalizacji contact i order jest to _wc_other/, czyli w tym przykładzie _wc_other/sklep/nip. Dokumentacja zaleca jednak odczyt przez gotowe metody pomocnicze zamiast bezpośrednio z bazy. Narzędzie do faktur musi umieć odczytać to pole, co trzeba potwierdzić przed wdrożeniem.
Sprawdzanie poprawności numeru
NIP ma dziesięć cyfr, a ostatnia jest cyfrą kontrolną. Oblicza się ją, mnożąc kolejne dziewięć cyfr przez wagi 6, 5, 7, 2, 3, 4, 5, 6, 7, sumując wyniki i biorąc resztę z dzielenia przez 11. Taka kontrola wyłapuje literówki, zanim trafią na dokument. W formularzu klasycznym wygląda to tak:
add_action( 'woocommerce_after_checkout_validation', function ( $data, $errors ) {
if ( empty( $data['billing_nip'] ) ) {
return;
}
$nip = preg_replace( '/[^0-9]/', '', $data['billing_nip'] );
$wagi = array( 6, 5, 7, 2, 3, 4, 5, 6, 7 );
$suma = 0;
$dobry = ( strlen( $nip ) === 10 );
if ( $dobry ) {
foreach ( $wagi as $i => $waga ) {
$suma += $waga * (int) $nip[ $i ];
}
$dobry = ( $suma % 11 === (int) $nip[9] );
}
if ( ! $dobry ) {
$errors->add( 'billing_nip', 'Podany NIP jest nieprawidłowy.' );
}
}, 10, 2 );
W formularzu blokowym tę samą logikę podpina się pod akcję woocommerce_validate_additional_field, dodając błąd do przekazanego obiektu. Suma kontrolna potwierdza tylko budowę numeru. Nie mówi, czy firma istnieje i czy jest czynnym podatnikiem, a nabywców z innych krajów Unii dotyczą inne formaty numerów.
Wtyczka w sklepie czy program do faktur? Jak wybrać sposób wystawiania dokumentów
Są dwa modele. W pierwszym faktury powstają w samym WordPressie: wtyczka tworzy plik PDF na podstawie zamówienia, nadaje numer i przechowuje dokument w panelu sklepu. W drugim sklep przekazuje dane zamówienia do zewnętrznego programu do faktur, a dokument powstaje i jest przechowywany tam.

Pierwszy model jest prostszy na start. Wtyczka „Faktury PDF WooCommerce & WordPress” w wersji podstawowej pozwala wystawić fakturę ręcznie z ekranu zamówienia albo przyciskiem na liście zamówień, pobrać ją przyciskiem „Pobierz fakturę” i ustawić własną numerację z prefiksem i sufiksem. Automatyczne tworzenie i wysyłka dokumentów oraz faktury korygujące są według opisu funkcją wersji płatnej.
Inną znaną wtyczką tego typu jest „PDF Invoices & Packing Slips for WooCommerce”. Jej opis w katalogu WordPress.org wymienia automatyczne dołączanie faktury do wybranych wiadomości WooCommerce, kolejne numery faktur, pobieranie dokumentów z konta klienta i generowanie wielu plików naraz. Została napisana z myślą o rynku międzynarodowym, więc szablon trzeba porównać z wymaganiami polskich przepisów razem z księgową.
Drugi model polecam sklepom, które już korzystają z programu do faktur albo oddają dokumenty do biura rachunkowego. Księgowość ma wtedy wszystko w jednym miejscu, razem z fakturami kosztowymi i sprzedażą spoza sklepu. Polscy dostawcy takich programów udostępniają własne wtyczki albo integracje dla WooCommerce, które łączy się kluczem dostępu wygenerowanym w programie.
Przy wyborze zadaję zawsze te same pytania. Czy narzędzie obsługuje rodzaj formularza zamówienia używany w sklepie? Czy samo dodaje pole NIP albo potrafi odczytać istniejące? Czy wystawia korekty po zwrocie? Czy przekazuje dokumenty do KSeF, jeżeli sklep tego potrzebuje? Odpowiedzi należy szukać w dokumentacji dostawcy, a nie w opisach reklamowych.
Jak ustawić automatyczne wystawianie i wysyłkę faktur?
Automatyzacja opiera się na statusach zamówień. Narzędzie do faktur czeka, aż zamówienie osiągnie wskazany status, tworzy dokument i dołącza go do wiadomości wysyłanej do klienta. Dlatego pierwszą decyzją jest wybór chwili, w której faktura ma powstać.
W WooCommerce opłacone zamówienie z towarem do wysyłki otrzymuje status „W trakcie realizacji”, a po wysłaniu sprzedawca zmienia go na „Zrealizowane”. Przy płatności przelewem tradycyjnym zamówienie czeka w statusie „Wstrzymane” do ręcznego potwierdzenia wpłaty. O tym, czy fakturę wystawiać po zapłacie, czy po wysyłce, decyduje sposób rozliczeń firmy, więc ten punkt również trzeba uzgodnić z księgową.
- W ustawieniach narzędzia do faktur należy uzupełnić dane sprzedawcy: nazwę, adres, NIP, numer rachunku. W integracji z programem zewnętrznym wkleja się w tym miejscu klucz dostępu.
- Trzeba ustawić numerację. Przy pierwszym uruchomieniu numer początkowy powinien kontynuować dotychczasową serię faktur firmy albo otwierać osobną serię dla sklepu, z własnym oznaczeniem.
- W opcjach automatycznego wystawiania wskazuje się status zamówienia, przy którym dokument ma powstać.
- Należy zdecydować, czy faktura ma powstawać dla każdego zamówienia, czy tylko wtedy, gdy klient podał NIP albo zaznaczył, że chce fakturę. Część narzędzi dodaje w tym celu osobne pole wyboru w formularzu.
- Włącza się wysyłkę dokumentu do klienta: jako załącznik do wybranej wiadomości WooCommerce albo jako osobną wiadomość z programu do faktur.
- Jeżeli narzędzie na to pozwala, włącza się pobieranie faktury w koncie klienta. Ogranicza to liczbę próśb o ponowne przesłanie pliku.
- Zmiany się zapisuje i przechodzi do testu opisanego niżej.
Faktura w załączniku dotrze do klienta tylko wtedy, gdy dociera sama wiadomość. Lista wiadomości wysyłanych przez sklep znajduje się w „WooCommerce”, „Ustawienia”, w zakładce „E-maile”. Ich treść i wygląd omawiam we wpisie o tym, jak zmienić e-maile o zamówieniu w WooCommerce.
Osobno trzeba ustalić postępowanie przy zwrotach. Zwrot pieniędzy zarejestrowany w zamówieniu nie tworzy sam z siebie faktury korygującej. Albo narzędzie robi to automatycznie, zwykle w wersji płatnej, albo korektę wystawia się ręcznie. Ważne, żeby było wiadomo, kto za to odpowiada.
Jak przetestować pole NIP i faktury przed uruchomieniem?
Test wykonuje się na prawdziwym formularzu, ale z własnymi danymi. Najbezpieczniej użyć kopii sklepu albo trybu testowego bramki płatności, ponieważ dokument wystawiony w trakcie próby dostaje numer z serii i trzeba go potem uwzględnić albo anulować zgodnie z zasadami księgowymi.
- W oknie prywatnym przeglądarki dodaje się produkt do koszyka i przechodzi do zamówienia jako gość.
- Wypełnia się dane firmy z poprawnym numerem NIP i składa zamówienie.
- W panelu, w „WooCommerce”, „Zamówienia”, otwiera się to zamówienie i sprawdza, czy nazwa firmy oraz NIP są widoczne przy adresie rozliczeniowym.
- Status zamówienia zmienia się na ten, który ma uruchamiać fakturę, i zapisuje zmianę.
- Sprawdza się, czy dokument powstał: w zamówieniu, na liście faktur wtyczki albo w programie zewnętrznym.
- Otwiera się plik i porównuje go z zamówieniem: dane sprzedawcy i nabywcy, NIP, pozycje, stawki, kwoty netto i brutto, numer oraz daty.
- Sprawdza się skrzynkę podaną w zamówieniu, razem z folderem spamu, czy wiadomość z fakturą dotarła.
- Próbę powtarza się trzy razy: bez numeru NIP, z numerem błędnym i z numerem zapisanym z myślnikami.
Naprawa zadziałała, jeżeli zamówienie firmowe kończy się fakturą z poprawnym numerem bez żadnej ręcznej czynności, zamówienie osoby prywatnej przechodzi bez przeszkód, a błędny numer zatrzymuje formularz z czytelnym komunikatem. Pełną listę rzeczy do sprawdzenia przed startem sprzedaży zawiera wpis o tym, jak wykonać zamówienie testowe w sklepie.
Co zrobić, gdy pole NIP się nie wyświetla albo faktura nie powstaje?
Większość usterek sprowadza się do kilku przyczyn. Sprawdzam je w tej kolejności, od najczęstszej.
- Narzędzie nie pasuje do formularza. Pole dodane filtrem albo wtyczką dla wersji klasycznej nie pojawi się w bloku zamówienia. Trzeba wrócić do sekcji o rozpoznawaniu formularza i dobrać metodę jeszcze raz.
- Pamięć podręczna. Strona zamówienia nie powinna być zapisywana w pamięci podręcznej. Po zmianach należy wyczyścić pamięć wtyczki przyspieszającej oraz sieci CDN i obejrzeć formularz w oknie prywatnym.
- Dwa pola NIP. Gdy pole dodaje jednocześnie wtyczka do faktur i wtyczka do pól, klient widzi dwa miejsca na numer, a na fakturę trafia wartość z tego, które zostało puste. Zostawia się jedno źródło.
- Inna nazwa pola. Numer jest w zamówieniu, ale faktura go nie pokazuje, bo narzędzie szuka go pod inną nazwą. Rozwiązaniem jest wskazanie właściwego pola w ustawieniach integracji albo zmiana nazwy pola na oczekiwaną.
- Zamówienie nie osiąga statusu. Faktura ma powstać przy statusie „Zrealizowane”, a zamówienia zostają w „W trakcie realizacji”, bo nikt ich nie zamyka. Trzeba zmienić status wyzwalający albo sposób pracy z zamówieniami.
- Błąd połączenia z programem zewnętrznym. Nieważny klucz dostępu albo brak wymaganych danych zatrzymuje wystawianie. Większość integracji zapisuje przyczynę w notatkach zamówienia albo we własnym dzienniku.
Jeżeli faktura powstaje, lecz klient jej nie dostaje, problem leży w poczcie, a nie w fakturach. Diagnozę krok po kroku zawiera wpis o sytuacji, w której klient nie dostaje potwierdzenia zamówienia z WooCommerce.
Gdy żadna z przyczyn nie pasuje, pozostaje test konfliktu. Na kopii sklepu wyłącza się kolejno pozostałe wtyczki i przełącza motyw na domyślny, za każdym razem sprawdzając formularz. Wykonywanie takiej próby na działającym sklepie w godzinach sprzedaży grozi utratą zamówień, dlatego odradzam ten sposób.
Jakich błędów unikać przy fakturach w sklepie internetowym?
Pierwszy błąd to obowiązkowe pole NIP w sklepie, który sprzedaje także osobom prywatnym. Kupujący bez firmy nie ma czego wpisać i rezygnuje albo wpisuje przypadkowe cyfry, które potem trafiają na dokument. Pole powinno być nieobowiązkowe i wyraźnie opisane.
Drugi błąd to nieporządek w numeracji. Dwie serie o takim samym wzorze, jedna ze sklepu, druga z programu księgowego, kończą się zdublowanymi numerami. Seria sklepowa powinna mieć własne oznaczenie, a zmiana narzędzia w środku okresu rozliczeniowego wymaga ustalenia z księgową, od którego numeru zacząć.
Trzeci błąd to edytowanie albo usuwanie wystawionych faktur. Dokument, który trafił do klienta, poprawia się fakturą korygującą albo notą, a nie podmianą pliku. Narzędzie, które pozwala swobodnie zmieniać wystawione dokumenty, wymaga tym większej dyscypliny.
Czwarty błąd to wklejanie kodu z internetu bez sprawdzenia, dla którego formularza powstał i z jakiego okresu pochodzi. Fragment sprzed kilku lat może korzystać z funkcji, które zmieniły działanie. Każdy kod testuje się najpierw na kopii.
Piąty błąd to brak kopii dokumentów poza sklepem. Faktury zapisane wyłącznie w WordPressie znikają razem z awarią serwera. Trzeba mieć pewność, że kopia zapasowa obejmuje katalog z plikami faktur i bazę danych, a księgowość regularnie otrzymuje dokumenty.
Ostatni błąd dotyczy danych osobowych. NIP osoby prowadzącej jednoosobową działalność identyfikuje konkretnego człowieka, więc pole powinno być ujęte w polityce prywatności sklepu, a dostęp do zamówień i faktur ograniczony do osób, które go potrzebują.
Najczęstsze pytania
Czy WooCommerce ma wbudowane pole NIP?
Nie. Standardowy formularz zawiera pole nazwy firmy, które można włączyć lub ukryć, natomiast pola na numer podatkowy nie ma. Dodaje się je wtyczką do faktur, wtyczką do edycji pól albo własnym kodem, dobranym do rodzaju formularza zamówienia.
Czy pole NIP powinno być obowiązkowe?
W sklepie sprzedającym osobom prywatnym i firmom nie powinno. Obowiązkowe pole ma uzasadnienie tylko w sprzedaży wyłącznie firmowej. W formularzu blokowym mechanizm dodatkowych pól pozwala też uzależnić wymagalność i widoczność pola od warunków, co opisuje dokumentacja dla programistów.
Czy fakturę da się wystawić automatycznie zaraz po zapłacie?
Tak, o ile narzędzie do faktur ma funkcję automatycznego wystawiania i zostanie ustawione na status, który zamówienie otrzymuje po zaksięgowaniu płatności. W przypadku towarów fizycznych jest to zwykle „W trakcie realizacji”. O wyborze chwili wystawienia powinna zdecydować księgowa.
Co zrobić, gdy klient podał NIP dopiero po złożeniu zamówienia?
Numer można dopisać w zamówieniu w panelu, a fakturę wystawić ręcznie. Trzeba jednak pamiętać o zasadzie dotyczącej kasy rejestrującej: jeżeli sprzedaż została już udokumentowana paragonem bez numeru nabywcy, wystawienie faktury dla firmy nie jest dopuszczalne. W razie wątpliwości decyzję podejmuje księgowa.
Czy faktura w pliku PDF wysłana e-mailem jest wystarczająca?
Przepisy dopuszczają faktury elektroniczne, a sposób ich przekazania zależy od rodzaju nabywcy i od obowiązków związanych z Krajowym Systemem e-Faktur. Dla części transakcji plik w wiadomości jest właściwą formą, dla innych dokument musi przejść przez system państwowy. To należy potwierdzić z księgową dla konkretnej firmy.
Czy jedna wtyczka wystarczy do pola NIP i do faktur?
Często tak. Wtyczki do faktur zwykle same dodają pole na numer podatkowy, więc druga wtyczka nie jest potrzebna. Osobne narzędzie do pól ma sens wtedy, gdy formularz wymaga większych zmian albo faktury powstają w programie zewnętrznym, który sam pola nie dodaje.
Jak sprawdzić, czy numer NIP należy do istniejącej firmy?
Suma kontrolna potwierdza jedynie budowę numeru. Istnienie firmy i jej status podatkowy weryfikuje się w publicznych rejestrach prowadzonych przez administrację, a numery nabywców z innych krajów Unii w systemie VIES. Niektóre wtyczki do faktur oferują taką weryfikację w wersji płatnej.
Czy po zmianie formularza z klasycznego na blokowy pole NIP zostanie?
Nie należy tego zakładać. Pola dodane dla wersji klasycznej nie są przenoszone do bloku zamówienia. Po zmianie trzeba dodać pole metodą właściwą dla nowego formularza, upewnić się, że narzędzie do faktur odczytuje je z nowego miejsca, i powtórzyć cały test.
Brak czasu albo ochoty, żeby zająć się tym samodzielnie?
Faktury w sklepie to temat, w którym spotykają się technika, poczta i księgowość, i nie każdy ma ochotę uczyć się wszystkich trzech naraz. Chętnie zajmę się tym od początku do końca. Sprawdzę, z jakiego formularza korzysta sklep, dodam pole NIP z kontrolą poprawności, dobiorę i skonfiguruję narzędzie do faktur zgodnie z ustaleniami księgowej, ustawię numerację i wysyłkę dokumentów, a na koniec przeprowadzę zamówienia próbne i pokażę wynik.
Wystarczy zadzwonić pod numer 533 525 168 albo napisać na adres info@lukaszwudyka.pl i opisać w kilku zdaniach, jak sklep wystawia dokumenty obecnie. Odpowiem, co da się uprościć i od czego zacząć.



