Nordlet

← Blog

Automatyzacja zgodności z unijnym podatkiem VAT za pomocą chmurowego API księgowego

Praktyczny przewodnik dla platform i marketplace'ów, które potrzebują rzetelnych ksiąg, prawidłowego VAT-u oraz ścieżki audytowej odpornej na upływ lat.

Nordlet Team · · 10 min. czytania

Unijny podatek VAT nie jest już problemem czysto obliczeniowym. Jest problemem dowodowym. Stawki są publikowane, progi znane, a deklaracje OSS dobrze udokumentowane. To, co wywołuje zastrzeżenia podczas kontroli i co powoduje awarie platform na dużą skalę, to niezdolność do odtworzenia sposobu, w jaki podjęto konkretną decyzję dotyczącą VAT-u na danej fakturze, przy użyciu reguł i danych wejściowych istniejących w danym momencie. Chmurowe API księgowe potrafi zautomatyzować ten proces od A do Z, ale tylko wtedy, gdy zostało zaprojektowane wokół grafu decyzyjnego, a nie wyłącznie stawki podatkowej.

To rozróżnienie definiuje wszystko, o czym mowa poniżej.

Co tak naprawdę oznacza „automatyzacja unijnego VAT-u”

Dla platformy sprzedającej do wielu krajów UE automatyzacja VAT-u to łańcuch powiązanych ze sobą decyzji:

  • Czy klient to podmiot B2B, czy B2C, i gdzie się znajduje?
  • Stawka którego kraju ma zastosowanie, w jakiej kategorii podatkowej i na jaką datę faktury?
  • Czy dostawa podlega procedurze odwrotnego obciążenia (reverse charge), OSS, IOSS, czy jest transakcją krajową?
  • Czy marketplace był podatnikiem uznawanym za dostawcę (deemed supplier), czy sprzedawca?
  • Jakie dowody potwierdzają każdą z tych odpowiedzi i czy można je później odtworzyć?

Automatyzacja samej kwoty bez automatyzacji argumentacji prowadzi do klasycznego błędu wykrywanego podczas kontroli: poprawne sumy przy braku ścieżki, którą można obronić. Nowoczesne silniki podatkowe coraz częściej promują ścieżki dowodowe o standardzie audytowym oraz wyszukiwanie stawek historycznych właśnie dlatego, że organy skarbowe skupiają się obecnie na sposobie podjęcia decyzji o VAT-u, a nie tylko na jej ostatecznym wyniku.

Chmurowe API księgowe jest naturalnym miejscem do przechowywania takiej ścieżki, ponieważ już teraz przechowuje fakturę, zapis w księdze oraz dane kontrahenta. Nordlet został zbudowany wokół tej idei: niezmienna księga podwójnego zapisu, logika VAT dla poszczególnych krajów, walidacja VIES oraz generowanie rejestrów i.SAF, a wszystko to dostępne poprzez jednolity interfejs REST z otypowanymi zestawami SDK i webhookami. API nie jest tu jedynie cienką warstwą owiniętą wokół księgowości. Jest systemem źródłowym dla samej decyzji podatkowej.

Trzy kluczowe możliwości API

Większość prac nad automatyzacją VAT-u sprowadza się do trzech funkcji, które API księgowe musi w przejrzysty sposób udostępniać.

1. Treść stawek i kategorie podatkowe powiązane z datą. Stawki ulegają zmianom. Kategorie się zmieniają. Stawki obniżone są dodawane i usuwane. Praktycznym wzorcem, jak argumentuje dokumentacja deweloperska Sage dotycząca reformy unijnego VAT-u i API księgowych, jest przypisywanie pozycji do kategorii podatkowych, a następnie mapowanie kategorii podatkowych na kody właściwe dla danego kraju wraz z datami ich wejścia w życie. Hardkodowanie stawki dla każdego towaru z osobna w danym kraju to anty-wzorce, które po cichu nawarstwiają się do momentu, w którym zmiana stawki psuje system rok później.

2. Walidacja numerów VAT ID z łagodną degradacją (graceful degradation). VIES to kanoniczne źródło weryfikacji transgranicznych transakcji B2B. Bywa jednak nieregularnie dostępny. Rozsądne wdrożenia cacherują wyniki walidacji z krótkim czasem wygaśnięcia (TTL), ponawiają próby w przypadku błędów i kierują przypadki niejednoznaczne do kolejki weryfikacji zamiast blokować sprzedaż. Przekonanie, że VIES musi synchronicznie kończyć się sukcesem dla każdej transakcji, to droga, przez którą platformy same fundują sobie awarie.

3. Zbieranie dowodów i niezmienność (immutability). Każda decyzja dotycząca VAT-u powinna zapisywać swoje dane wejściowe: sygnały o lokalizacji klienta, numer VAT ID wraz z znacznikiem czasu walidacji, kategorię podatkową, wersję tabeli stawek, właściwą procedurę (krajowa, OSS, IOSS, odwrotne obciążenie) oraz rolę marketplace'u. Rejestr ten musi przetrwać zmiany stawek oraz modyfikacje konfiguracji. Niezmienna księga z blokowaniem okresów, którą Nordlet wymusza na poziomie API, oznacza, że zamknięty miesiąc nie może zostać po cichu zmodyfikowany w celu nadania późniejszej kontroli bardziej uporządkowanego wyglądu.

Te trzy funkcje stanowią absolutne minimum. Wszystko inne, w tym składanie deklaracji OSS, generowanie plików i.SAF oraz uzgadnianie danych, opiera się na nich.

Modelowanie decyzji podatkowej, a nie tylko stawki

Najczęstszym błędem w osadzonej księgowości jest traktowanie pola podatkowego na fakturze jako wyniku prostego wyszukiwania. Tak nie jest. Jest ono wynikiem małego grafu decyzyjnego i to właśnie ten graf wymaga zapisania.

Praktyczny model działania:

  1. Klasyfikacja kontrahenta. B2B lub B2C. W przypadku B2B należy zweryfikować numer VAT ID w systemie VIES i zapisać odpowiedź wraz z znacznikiem czasu oraz statusem. W przypadku B2C należy pozyskać co najmniej dwa sygnały lokalizacyjne: adres rozliczeniowy, adres IP lub geolokalizację oraz kraj wydania instrumentu płatniczego, jeśli jest dostępny.
  2. Określenie miejsca świadczenia (place of supply). W przypadku usług cyfrowych podatek VAT podąża za lokalizacją klienta, a nie dostawcy. W przypadku towarów zasady różnią się w zależności od miejsca rozpoczęcia i zakończenia wysyłki. API powinno oznaczać każdą pozycję faktury wyznaczonym miejscem świadczenia oraz użytymi sygnałami.
  3. Wybór procedury. Krajowa, OSS (transgraniczne B2C w UE), IOSS (import przesyłek o małej wartości) lub odwrotne obciążenie. Logika progów, w szczególności transgraniczny próg 10 000 EUR dla usług cyfrowych w segmencie B2C, musi być obliczana względem kroczącego okna czasowego, a nie pojedynczej faktury w izolacji.
  4. Wyznaczenie stawki. Wyszukanie stawki obowiązującej w danym kraju dla danej kategorii podatkowej w dniu wystawienia faktury. Zapisanie wersji użytej tabeli stawek.
  5. Zaksięgowanie w księdze. Utworzenie zapisu podwójnego księgowania z kwotą należnego VAT-u rozdzieloną według krajów i procedur, aby deklaracje OSS oraz krajowe deklaracje VAT mogły być generowane bez ponownego wyliczania danych.

Każdy krok powinien być widoczny za pośrednictwem API. Webhooki, takie jak sale_invoice.paid, pozwalają systemom podrzędnym reagować na zmiany stanu bez konieczności odpytywania (pollingu). Klucze idempotencji zapobiegają powstawaniu zduplikowanych wpisów w księdze, gdy ponowna próba sieciowa zostanie wywołana w niewłaściwym momencie. Żadne z tych rozwiązań nie jest egzotyczne, ale oba są nienegocjowalne na skalę platformy.

OSS, IOSS oraz próg 10 000 EUR

W przypadku SaaS-u i usług cyfrowych praktycznym problemem związanym z automatyzacją jest procedura OSS. Dostawca sprzedający transgranicznie w modelu B2C na terenie UE stosuje stawkę swojego kraju macierzystego do momentu przekroczenia progu 10 000 EUR w bieżącym lub poprzedzającym roku kalendarzowym, po czym zaczyna stosować stawkę państwa członkowskiego klienta i rozlicza się kwartalnie za pośrednictwem OSS. Praktyczne wytyczne dotyczące zgodności z przepisami VAT dla SaaS-u i usług cyfrowych ujmują ten temat jako problem potoku danych (data pipeline), a nie problem samej rejestracji.

Potok danych, jaki API księgowe musi obsługiwać:

  • Śledzenie transgranicznego obrotu B2C względem progu w ujęciu kroczącym, w rozbiciu na lata kalendarzowe.
  • Automatyczne przełączanie mechanizmu wyznaczania stawek z kraju macierzystego na kraj przeznaczenia po przekroczeniu progu, bez zmieniania wstecznie dat wystawienia wcześniejszych faktur.
  • Grupowanie transakcji według państw członkowskich, procedur oraz walut na potrzeby kwartalnej deklaracji OSS.
  • Normalizowanie kwot do EUR przy użyciu właściwego kursu walutowego z dnia kursowego dla celów raportowania OSS.
  • Eksportowanie zestawu danych gotowego do złożenia deklaracji w formacie akceptowanym przez oprogramowanie lub biuro sprawozdawcze.

Nordlet radzi sobie z tym zadaniem dzięki logice VAT dla poszczególnych krajów wbudowanej w księgę oraz mechanizmom raportowania grupującym dane według procedur i państw członkowskich: deklaracje OSS są wyliczane bezpośrednio z faktur wraz z korektami za poprzednie okresy, a próg 10 000 EUR jest monitorowany automatycznie. Deklaracja wynika bezpośrednio z księgi, zamiast być rekonstruowana od zera w każdym kwartale. Na tym polega sens umieszczania grafu decyzyjnego wewnątrz systemu księgowego, a nie w osobnym arkuszu kalkulacyjnym.

Procedura IOSS przebiega analogicznie w przypadku importu przesyłek o małej wartości, operując jednak na odmiennym zestawie progów oraz innym formularzu deklaracji.

Przepływy marketplace'ów i platform to osobna kategoria

Traktowanie marketplace'u jak zwykłego kanału B2C to źródło błędów w zaskakująco wielu wdrożeniach. W wielu unijnych scenariuszach platforma staje się podatnikiem uznawanym za dostawcę (deemed supplier) i ponosi odpowiedzialność za pobranie oraz odprowadzenie podatku VAT. Własna księgowość sprzedawcy powinna odzwierciedlać fakt, że to platforma, a nie ostateczny klient, jest kontrahentem istotnym z punktu widzenia VAT dla tych transakcji.

W tym obszarze osadzone API księgowe w pełni udowadnia swoją wartość. Platforma wie w momencie sprzedaży, czy zadziałała jako podmiot uznany za dostawcę. Ten fakt musi zostać zapisany w rekordzie faktury i przeniesiony do księgi, aby księgi sprzedawcy nie dublowały VAT-u, który platforma już obsłużyła. Przekazywanie wskaźników ról podatkowych przez API oraz odzwierciedlanie ich w raportach decyduje o tym, czy księgi są czyste, czy też uzgadnianie danych nigdy do końca się nie domyka.

Dla platform budowanych na bazie Nordletu jest to funkcja natywnej klasy: faktury posiadają pole vatScheme (w tym marketplace_deemed) oraz flagę deemedSupplier, a modulet rozstrzygający traktowanie transakcji zwraca właściwą procedurę wraz z jej podstawą prawną zgodnie z Dyrektywą 2006/112/WE. W połączeniu z obsługą wielu firm (multi-company), księgowość platformy oraz księgowość sprzedawcy mogą funkcjonować w ramach tego samego API, obsługując odmienne podmioty i odmienne role, bez ryzyka wycieku zapisów VAT pomiędzy nimi.

Co zmienia ViDA, a czego nie zmienia

Inicjatywa VAT w erze cyfrowej (ViDA) zmienia charakter automatyzacji z „oblicz i zaksięguj” na „oblicz, zaksięguj i wyślij”. Faktury elektroniczne oraz raportowanie w czasie zbliżonym do rzeczywistego (near-real-time reporting) na rzecz organów podatkowych stają się częścią potoku danych. Nie zastępuje to jednak API księgowego. Sprawia ono, że ustrukturyzowane dane fakturowe z API księgowego stają się źródłem, które jest lustrzane odbijane w bramce sprawozdawczej.

Dwa praktyczne wnioski:

  • Metadane faktur muszą być bogatsze, niż pozwalają na to starsze schematy. Pola standardu Peppol BIS 3.0, ustrukturyzowany podział VAT w rozbiciu na pozycje oraz identyfikory procedur powinny być natywnymi elementami API księgowego, a nie dopisywane jako notatki tekstowe.
  • Dokument księgowy oraz dokument raportowany muszą zachować pełną spójność. Jeśli wystawiona zostaje faktura korygująca, bramka sprawozdawcza musi widzieć korektę z tymi samymi identyfikatorami. Niezmienne księgi oraz przejrzysta linia dokumentów znacznie to ułatwiają. Luźna księgowość czyni ten proces koszmarem.

Przygotowanie się do ViDA polega w mniejszym stopniu na wdrażaniu nowych funkcji, a w większym na dyscyplinie zarządzania tym, co już istnieje.

Krótkie porównanie podejść do automatyzacji

Podejście Dowody decyzji podatkowej Obsługa OSS/IOSS Modelowanie roli marketplace'u Przydatność dla wbudowanych platform
Ręczna księgowość z użyciem arkuszy kalkulacyjnych Słabe, rekonstruowane po fakcie Ręczna, podatna na błędy Zazwyczaj pomijana Niska
Starsze oprogramowanie księgowo-finansowe z modułem podatkowym Częściowe, często poza księgą Obsługiwane, lecz w izolacji Ograniczona Od niska do umiarkowanej
Ogólne API księgowe (w stylu Xero, QuickBooks) Zależne od dyscypliny integracji Różni się w zależności od rynku i wtyczek Brak oficjalnego potwierdzenia dla przepływów deemed-supplier w UE Umiarkowana
Nordlet (API-first, z naciskiem na UE) Niezmienna księga, metadane podatkowe na fakturę, blokowanie okresów Natywny VAT per kraj, i.SAF, VIES, grupowanie gotowe pod OSS Pełna obsługa: vatScheme, deemedSupplier na fakturę Wysoka

Powyższa tabela odzwierciedla dane wejściowe dostępne dla tego artykułu. W przypadkach, gdy zdolności konkurencji nie zostały udokumentowane w raporcie badawczym, oznaczono je jako niepotwierdzone publicznie zamiast dokonywać domysłów.

Od czego zacząć budowę, jeśli startujesz teraz

Jeśli zespół wdraża osadzoną automatyzację unijnego VAT-u za pomocą chmurowego API księgowego, sekwencja działań pozwalająca zaoszczędzić najwięcej pracy to:

  1. Zamodeluj kontrahenta i sygnały jego lokalizacji w pierwszej kolejności. Każda kolejna decyzja zależy od tego fundamentu. Zapisuj surowe sygnały, a nie tylko wyznaczony kraj.
  2. Zbuduj warstwę kategorii podatkowych. Powiąż produkty i usługi z kategoriami. Powiąż kategorie z kodami krajów. Nigdy nie mapuj produktów bezpośrednio na stawki.
  3. Podłącz walidację VIES wraz z mechanizmem buforowania (caching) oraz kolejką weryfikacji. Nie pozwalaj, aby dostępność VIES blokowała proces finalizacji zakupu w koszyku.
  4. Wysyłaj i obsługuj webhooki zmian stanu faktury. Używaj kluczy idempotencji przy każdym zapisie danych.
  5. Blokuj okresy natychmiast po ich zamknięciu. Wymuszaj to mechanizmem API, a nie samymi wewnętrznymi procedurami.
  6. Wyprowadzaj deklaracje OSS bezpośrednio z księgi. Jeśli deklaracja wymaga osobnego arkusza kalkulacyjnego, księga nie posiada wystarczających metadanych.
  7. Dopiero na końcu dodaj e-fakturę oraz integrację z bramką sprawozdawczą. Dane źródłowe upstream muszą być najpierw w 100% poprawne.

Większość z tych punktów to inwestycje jednorazowe, które po cichu zwracają się w każdym kwartale. Nieograniczona firma testowa w środowisku sandbox to najtańsze miejsce na udowodnienie poprawnego działania całego ciągu od początku do końca.

FAQ

Czy walidacja VIES wystarcza, aby udowodnić, że transakcja B2B została prawidłowo opodatkowana stawką 0%?

Sama w sobie nie. VIES potwierdza, że numer VAT ID jest ważny w danym momencie. Rekord odporny na audyt zawiera również znacznik czasu przeprowadzenia weryfikacji, treść odpowiedzi z systemu, zadeklarowany kraj klienta oraz dowody na to, że towary lub usługi zostały dostarczone do tego zarejestrowanego na potrzeby VAT podmiotu. Wszystkie te elementy należy zapisać bezpośrednio przy fakturze.

Czy platforma może polegać na marketplace'ie w kwestii obsługi VAT-u i pominąć własną logikę?

Tylko w odniesieniu do tych konkretnych transakcji, w których marketplace występuje jako podmiot uznany za dostawcę (deemed supplier) zgodnie z unijnymi przepisami. Księgowość sprzedawcy nadal musi poprawnie odzwierciedlać te transakcje, a wszelka sprzedaż wykraczająca poza ten zakres, w tym sprzedaż bezpośrednia i przepływy B2B, pozostaje w gestii sprzedawcy. Bezpieczniejszym domyślnym podejściem jest jawne zamodelowanie roli dla każdej transakcji z osobna.

Jak często unijne stawki VAT faktycznie się zmieniają, by miało to znaczenie?

Wystarczająco często, aby zahardkodowane stawki powodowały realne problemy. Kategorie stawek obniżonych ulegają modyfikacjom, wprowadzane są stawki tymczasowe, które wygasają, a także pojawiają się nowe przepisy państw członkowskich. Warstwa treści stawek z datami wejścia w życie nie jest przesadną inżynierią. Jest absolutnym standardem bazowym.

Czym różnią się w praktyce procedury OSS i IOSS?

Procedura OSS obejmuje transgraniczną sprzedaż towarów i usług cyfrowych w modelu B2C na terenie UE, rozliczaną kwartalnie za pośrednictwem jednego państwa członkowskiego. Procedura IOSS dotyczy importu przesyłek o małej wartości do UE, zazwyczaj towarów konsumpcyjnych o wartości poniżej 150 EUR. Obie procedury bazują na tych samych danych księgowych, o ile księga oznacza każdą transakcję właściwym dla niej identyfikatorem schematu.

Czy niezmienna księga oznacza, że korekty są niemożliwe?

Nie. Korekty przeprowadza się poprzez wprowadzanie nowych zapisów, a nie edycję historycznych. Faktura korygująca koryguje fakturę pierwotną, a wpis korygujący naprawia błędne zaksięgowanie. Niezmiennie zapobiega ona cichemu przepisywaniu historii, czyli zachowaniu, którego najbardziej poszukują audytorzy podczas kontroli.

Dalsza lektura