WooCommerce – faktura z NIP klienta

Ostatnio dostałam sporo pytań o to jak dodać pole NIP do WooCommerce i jak to pole NIP zamieścić na fakturze. Powiecie – co za problem – korzystając z wtyczek wFirma, iFirma czy Fakturownia od WPdesk przecież to nie jest żadna filozofia. Owszem – korzystając z płatnych rozwiązań – to pikuś, ale kiedy ktoś chce zastosować darmową wtyczkę to już nie idzie tak gładko. Jak sobie z tym poradzić?

Pole NIP w formularzu zamówienia

Pierwszym wyzwaniem przed jakim trzeba stanąć to dodanie pola NIP do formularza zamówienia, gdyż nie ma go w WooCommerce tam w standardzie. Mamy pole FIRMA i owszem – można by zmienić mu nazwę np. na FIRMA / NIP, albo dodać dopisek, że jeśli potrzebujesz faktury podaj NIP w polu UWAGI, ale wiecie co? Niewielki odsetek ludzi zobaczy te Wasze dopiski : ) Lepiej na tacy jest więc podać pole NIP, najlepiej obok / pod / nad tego FIRMA by je zauważono. Jak tego dokonać?

Można skorzystać dodawać własne pole za pomocą kawałka kodu wrzucanego w functions.php, można skorzystać ze specjalnej wtyczki do VAT Number jak np. WooCommerce EU VAT Number  (plus, że będzie wtedy walidacja NIPu), albo skorzystać z wtyczki do tworzenia własnych pól na stronie zamówienia jak WooCommerce Checkout Manager, dzięki której dodacie nie tylko pole na NIP, ale także możecie dodać dodatkowe checkboxy ze zgodami, zrobić zależność pomiędzy polami – np. zapytać kogoś czy potrzebuje fakturę, a dopiero potem wyświetlić pola Firma i NIP, a także poprzestawiać pola na stronie realizacji zamówienia czy też ukryć zbędne. W tym artykule (a może w sumie to tutorialu) skupimy się właśnie na tym ostatnim rozwiązaniu z wtyczką WooCommerce Checkout Manager.

Tworzenie pola NIP

Zaczynamy oczywiście od zainstalowania wtyczki  WooCommerce Checkout Manager. Następnie przechodzimy do WooCommerce – Checkout i zakładka Billing i tam klikamy Add New Field.

Wybieramy typ pola Text a następnie w label podajemy nazwę dla naszego pola – w tym wypadku NIP i klikamy zapisz.

W tabeli z polami szukamy naszego nowego pola i ustawiamy go w wybrane miejsce – wystarczy złapać myszką i przesunąć na zasadzie drag and drop. Następnie spojrzyj przy polu w kolumnę ID i zapamiętaj / zapisz sobie to co tam znalazłaś/eś.

Pole NIP dodane, możesz sprawdzić na stronie zamówienia czy się pojawia. Teraz czas na generowanie faktur.

Darmowa wtyczka faktur WooCommerce

WooCommerce nie ma póki co wbudowanej opcji generowania faktur, więc znów z pomocą spieszy nam wtyczka. Stawiamy tutaj na bezpłatne rozwiązania, więc takowe możecie znaleźć w repozytorium WP bezpośrednio przez kokpit Waszej www. Jak wpiszecie invoices to wyskoczy Wam kilka wtyczek. W tym artykule skupimy się na wtyczce WooCommerce PDF Invoices z tego względu, że łatwo w niej wrzucić wyświetlanie własnego pola.

Instalujemy więc wtyczkę i przechodzimy do jej opcji. W opcjach możecie wybrać m.in. przy jakim statusie ma być dołączona faktura do maila – TAK! Będzie to robione automatycznie – nie musicie ręcznie wysyłać nikomu faktur!

Możecie też przejść do zakładki Szablon i tam ustawić kwestie związane z danymi jakie mają się pojawić na fakturze. Powiecie “Ufffffffff to już koniec!” – może Was załamię, ale jeszcze nie – zabawa dopiero się rozpoczyna.

Dodawanie NIP do faktury WooCommerce

Zapomnieliście o wisience na torcie, czyli naszym polu NIP. Go nie dodacie od tak na klik klik w zakładce Szablon. Własne pola musicie dodać – UWAGA! Moje ulubione określenie – w kodzie : )  Nie bójcie się jednak, bo jak zawsze mam dla Was kawałek kodu do przeklejenia i wygląda on o tak:

function add_invoice_information_meta( $info, $invoice ) {

    $vat_number = WPI()->get_meta( $invoice->order, '_billing_wooccm11' );
    if ( $vat_number ) {
        $info['vat_number'] = array(
            'title' => __( 'NIP:', 'woocommerce-pdf-invoices' ),
            'value' => $vat_number,
        );
    }

    return $info;
}
add_filter( 'wpi_invoice_information_meta', 'add_invoice_information_meta', 10, 2 );

Gdzie go wkleić? W plik functions.php w motywie potomnym. Pamiętaj! Koniecznie w motywie potomnym, by przy aktualizacji Twoje wypociny szlag nie trafił.

Zerknijcie na ten oznaczony kolorem różowym fragment $vat_number = WPI()->get_meta( $invoice->order, '_billing_wooccm11’ ) – wiecie co to?  Tak jest – BINGO! To ID tego pola NIP, które mówiłam by zapamiętać. Dla przypomnienia znajdziecie go w tym miejscu, jak na screen.

Pole oznaczone kolorem fioletu 'title’ => __( ’NIP:’, 'woocommerce-pdf-invoices’ ) to etykieta, która pojawi się na fakturze przy numerze NIP. Super prawda? To teraz jeszcze szybki podgląd na to jak to potem wygląda na fakturce. 

No i gotowe. Mamy NIP na fakturze, księgowa/y i klienci nie będą nam suszyć głowy, że go brakuje, no i zrobiliśmy to bezkosztowo – wykorzystując darmowe wtyczki.

Jeśli zależałoby Wam na walidacji możecie pole NIP dodać za pomocą wtyczki WooCommerce EU VAT Number – tak dodane pole również można snippetem dodać do fakturki – jak to zrobić dokładnie to jest w FAQ wtyczki w repozytorium WordPressa.

Czy szło by prościej? No jasne! Zawsze da się coś ogarnąć prościej, ale wtedy niekoniecznie jest już za free. To tyle z mojej strony w tym artykule, polecam gorąco zajrzeć również do innych wpisów dotyczących WooCommerce.

Subscribe
Powiadom o
guest
57 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments
WPziom
3 lat temu

Własne pola musicie dodać – UWAGA! Moje ulubione określenie – w kodzie : ) – zaśmiałem się głośno. 😀 Faktycznie to stwierdzenie na forach budzi często grozę 😀

Poradnik bardzo jasny i konkretny. : ))

Michał
Michał
Reply to  Sylwia
3 lat temu

„… Gdzie go wkleić? W plik functions.php w motywie potomnym. Pamiętaj! Koniecznie w motywie potomnym, by przy aktualizacji Twoje wypociny szlag nie trafił.” – Próbuję wkleić ten kod w plik functions, ale po próbie zaktualizowania mam informację z jakimś błędem. Może w błednym miejscu go wklejam? Pomożesz?

Michał
Michał
Reply to  Sylwia
3 lat temu

Nadal coś źle robię, bo dalej nie działa. Klikam zaktualizuj plik i jeszcze nie jest to, bo kręci kółko i potem, dalej błąd…

TOmek
TOmek
Reply to  Sylwia
2 lat temu

Witaj, Sylwio.
U mnie z kolei wklejenie tego kodu do funkction.php, niezależnie czy motywu potomnego czy rodzica, nie dało pożądanego efektu, bo na pdf nadal brakuje mi pola NiP.
Nie mam pojęcia, co może być przyczyną.
Może się domyślasz? 🙂

TOmek
TOmek
Reply to  Sylwia
2 lat temu

no dobre, dobre 🙂
spróbowałem to obejść, zmieniając kod szablonu pdf, i początkowo dobrze działało, ale teraz wyskakuje mi błąd internal server error i w pliku debug pojawiła się między innymi informacja o błędzie w kodzie php, który zmieniałemale chyba znowu sobie z tym poradziłem.

Nie wiem tylko, jak w kodzie php dodać znacznik przejścia do następnej linii, bo teraz numer telefonu łączy mi sie bez spacji z numerem nipu 😉

TOmek
TOmek
Reply to  TOmek
2 lat temu

a w ogóle, to zrobiłem zmianę na pluginie woocommerce-pdf-invoces

TOmek
TOmek
Reply to  TOmek
2 lat temu

okazało się, że gdy wyłączyłem wtyczkę woocommerce-pdf-invoces-packing-slips i ponownie ją aktywowałem, to kod podany przez Ciebie, Sylwio. zaczął działać 🙂

Bartek
Bartek
Reply to  Sylwia
2 lat temu

Witaj Sylwio,
prośba o pomoc, korzystam z 2 wtyczek: Checkout Field Editor for WooCommerce w celu dodania pola NIP w zamówieniu oraz WooCommerce PDF Invoices & Packing Slips do generowania faktur bo wysyłają się automatycznie. Niestety nie wiem jak dodać NIP do faktury (a nie znam się na php)

z góry dzieki za informację jak mogę to rozwiązać

pozdrawiam
Bartek

Kamila
2 lat temu

Pani Sylwio, świetny poradnik! W końcu udało mi się to zrobić, ale czy mogłabym prosić o pomoc? Stworzyłam checkbox „Chcę otrzymać fakturę” i pod spodem dodałam wszystkie pola niezbędne do wystawienia faktury. Niestety one są cały czas na wierzchu, bez względu na to czy checkbox jest zaznaczony czy nie 🙁 Zmian tych dokonałam w zakładce „Billing”. Pole „chcę otrzymać fakturę” jest rodzicem dla wszystkich pozostałych pól, a mimo to nie chcą się schować… Przy okazji mam jeszcze jedno pytanie, może Pani mi pomoże? Niestety pole „wysłać na inny adres?” domyślnie jest zaznaczone, co na stronie powoduje niezły chaos. Nie mogę… Czytaj więcej »

Kamila
Reply to  Sylwia
2 lat temu

Bardzo pięknie dziękuję! Drugi problem załatwiony, a z pierwszym się muszę pomęczyć bo w zasadzie nie mam żadnej takiej wtyczki, ale będę sprawdzać czy wszystko prawidłowo jest przypisane. Będę działać 🙂 Jeszcze raz bardzo dziękuję 🙂

Kamila
Reply to  Kamila
2 lat temu

Udało się! 🙂 Wystarczyło zaznaczyć okienko „Conditional” w każdym polu które ma się znaleźć pod „Chcę otrzymać fakturę” 😀 Zostawiam to tutaj, w razie gdyby ktoś pytał 🙂

Doondi
Doondi
2 lat temu

Jak dodać NIP do tej wtyczki?
https://pl.wordpress.org/plugins/woocommerce-pdf-invoices-packing-slips/
Jestem początkujący w tym temacie ?Może jest sposób, który ogarnę?

Marcin
Marcin
2 lat temu

Pani Sylwio wie Pani gdzie znajdę opcję wygenerowania wszystkich Faktur za dany okres? Aby, je ściągnąć i przekazać do księgowości?

Marcin
Marcin
Reply to  Sylwia
2 lat temu

A czy w opcji płatnej jest taka możliwość? 🙂

Marcin
Marcin
Reply to  Sylwia
2 lat temu

Dziękuję 🙂

Edward
Edward
2 lat temu

Witam Pani Sylwio,
W jaki sposób dodać pole NIP w drugiej kolumnie, pod polem Company?
Z góry dziękuję 🙂

Screenshot_2021-02-12 WooCommerce - faktura z NIP klienta - Porady Wordpress, HTML, CSS, SEO - Sylwia Stein.png
Edward
Edward
Reply to  Sylwia
2 lat temu

Witam Pani Sylwio,
W szablonie minimal mam trzy pliki php- body, header i footer.
W którym pliku trzeba dopisać własne pole?

Pozdrawiam
Ed

Edward
Edward
Reply to  Sylwia
2 lat temu

Nie będzie instrukcji??

Edward
Edward
Reply to  Sylwia
2 lat temu

Pod polem Company name, tak jak na print screen’ie wyżej 🙂

Edward
Edward
Reply to  Sylwia
2 lat temu

Witam Pani Sylwio,
Niestety nie działa 🙁

Ewelina
Ewelina
Reply to  Edward
2 lat temu

Kod trzeba dostosować pod siebie ? u mnie działa świetnie ?

Edward
Edward
Reply to  Ewelina
2 lat temu

Pani Ewelino,
Co znaczy pod siebie??
Może Pani wrzucić printscreena?

Edward
Edward
Reply to  Sylwia
2 lat temu

W moim wypadku nie warto inwestować w faktury, bo potrzebna mi jedynie proforma. Faktury wystawia oprogramowanie księgowe?

Kasia
Kasia
2 lat temu

Hej, dziękuję za super poradnik 🙂 Chciałabym jeszcze zapytać, czy jest możliwość, żeby ta faktura była po polsku…?

Kasia
Kasia
Reply to  Sylwia
2 lat temu

Bardzo dziękuję za pomoc 🙂

Kamil
Kamil
1 rok temu

A jeśli chciałbym, aby pole „potrzebujesz fakturę?” pojawiło się również w email potwierdzającym zamóiwnie ? Aktualnie wyświetla się tylko w panelu sklepu w zamówieniach 🙁

Magdalena
Magdalena
1 rok temu

Czy to pole NIP można zrobić w taki sposób, by było ono ”wymuszane”. Tak myślę, że pewnie klienci, którzy będą chcieli fakturę na firmę, mogą zapomnieć …. wpisać NIP i wtedy trzeba będzie zrobić fakturę korygującą z palca, na pieszo. Jak zrobić, by system nie przepuścił dalej, dopóki dana osoba nie poda NIP? (Rozumiem, że wcześniej trzeba dodać checkbox: chcesz fakturę na firmę? Jeśli tak, to obowiązkowo podaj NIP)

Przemek
Przemek
1 rok temu

Dzień dobry Pani Sylwio,
Dzięki serdeczne za poradnik! 🙂 Niestety wpisując kod do functions.php nie następuje żadna zmiana. 🙁 Nie pomogło aktywowanie jak i deaktywowanie wtyczki. Wpisuję poprawny kod nipu (u mnie akurat _billing_nip) i niestety nadal w generowanych PDF nie występuje NIP pod adresem na fakturze.

Czy istnieje jakaś inna droga? Np. edycja pliku „invoice.php” w folderze wtyczki /templates/Simple? Niestety jakiekolwiek akcje php wywołujące „billing_nip” w tym miejscu wywalają błąd. 🙁

Będę wdzięczny za pomoc!

Rysiek
Rysiek
10 miesięcy temu

Dzięki za super poradnik! Bardzo mi pomógł 😊

Kod ostatecznie u mnie zadziałał inny:

/**
 * WooCommerce PDF Invoices & Packing Slips:
 * Show the VAT number on the invoice
 */
add_action( 'wpo_wcpdf_after_billing_address’, function( $template_type, $order ){
if( $template_type == 'invoice’) {
if ( $billing_wooccm11 = $order->get_meta( '_billing_wooccm11′ ) ){
echo '<div>NIP:’ . $billing_wooccm11 . '</div>’;
}
}
}, 10, 2 );

Magda
Magda
10 miesięcy temu

A czy w tej wtyczce da się dodać kolumnę z wartością netto i vat?

Karolina
1 miesiąc temu

Bardzo pomocny artykuł! Dzięki niemu na mojej stronie http://www.cudazdrewnaonline.pl już znajduje się pole na nip. Dziękuje Pani Sylwio za świetną instrukcję.