← Yzukar B2B Invoice Fields — strona główna
Nowe sklepy WooCommerce coraz częściej używają kasy opartej na blokach (Cart & Checkout Blocks). To wygodne — ale większość wtyczek dodających pole NIP była pisana pod starą, klasyczną kasę i w blokowej po prostu nie działa.
Klasyczna kasa WooCommerce to shortcode renderowany po stronie PHP — pola dodawało się
hookami typu woocommerce_checkout_fields i setki poradników w internecie
opisują właśnie tę metodę. Kasa blokowa to zupełnie inna architektura: interfejs budowany
jest w React, a pola rejestruje się przez osobne API. Stare hooki po prostu się tam
nie wykonują — formularz wygląda dobrze, ale dodatkowe pole nie istnieje.
Praktyczny objaw jest zawsze ten sam: sklep przechodzi na blokowy checkout (albo świeża instalacja WooCommerce ma go domyślnie), a pole NIP znika z kasy mimo że wtyczka „działa". Zamówienia firmowe znów lądują z NIP-em w uwagach.
Żeby pole pojawiło się w blokowej kasie, wtyczka musi zrobić dwie rzeczy: zarejestrować
pole przez oficjalne API dodatkowych pól kasy (Additional Checkout Fields, opisane w
dokumentacji developer.woocommerce.com)
oraz zadeklarować zgodność z funkcją cart_checkout_blocks. Bez tej deklaracji
WooCommerce pokazuje przy wtyczce ostrzeżenie o niezgodności, a pole i tak się
nie renderuje.
To spora robota deweloperska, dlatego wiele wtyczek zostało przy klasycznej kasie. Przy wyborze rozwiązania warto sprawdzić w opisie jedno zdanie: czy autor wprost pisze o zgodności z Checkout Blocks.
Od wersji 0.3.0 Yzukar B2B Invoice Fields rejestruje pola przez oficjalne API dodatkowych
pól kasy i deklaruje zgodność z cart_checkout_blocks. Prośba o fakturę, NIP
z walidacją sumy kontrolnej i e-mail do e-faktury pojawiają się w sekcji dodatkowych
informacji o zamówieniu — bez ostrzeżeń o niezgodności. Klasyczna kasa działa bez zmian,
więc jedna wtyczka obsługuje oba warianty.
Zebrane dane trafiają do kolumny NIP na liście zamówień (także HPOS) i do eksportu CSV dla księgowej. Więcej o samym zbieraniu danych: NIP i dane do faktury w WooCommerce, a o tym, czy warto pisać własne pole: pole NIP w checkout — wtyczka czy własny kod.