Dlaczego zbudowaliśmy własne narzędzie ZUGFeRD i czy powinniśmy je udostępnić
Zbudowaliśmy dla obowiązku e-faktury lekkie, samodzielnie hostowane narzędzie ZUGFeRD. Czy powinniśmy je udostępnić?
Tłumaczenie wygenerowane automatycznie przez AI. Wersja niemiecka jest oryginałem zweryfikowanym redakcyjnie.
Na potrzeby własnej księgowości zbudowaliśmy małe narzędzie do e-faktur, zamiast wykupywać kolejną subskrypcję chmurową, a teraz zastanawiamy się, czy inni też powinni je mieć. Nazywa się Belegt, działa jako self-hosted i robi dokładnie jedną rzecz porządnie: generuje zgodne z przepisami faktury ZUGFeRD, bez konieczności opuszczania siedziby firmy przez dane klientów i dane bankowe.
Ten artykuł wyjaśnia, dlaczego je zbudowaliśmy, co potrafi, gdzie szczerze się kończy, i na koniec stawia otwarte pytanie.
01. OBOWIĄZEK, KRÓTKO I RZETELNIE
Faktura elektroniczna w niemieckim obrocie B2B nie jest już opcją, lecz obowiązkiem, a harmonogram jest konkretny.
- Od 1 stycznia 2025 roku każde krajowe przedsiębiorstwo musi być w stanie odbierać i przetwarzać e-faktury. Bez wyjątku, bez progu obrotu, dotyczy to również drobnych przedsiębiorców.
- Do końca 2026 roku przy wysyłce dopuszczalny jest jeszcze papier lub PDF, przy czym PDF tylko za zgodą odbiorcy.
- Od 2027 roku przedsiębiorstwa z obrotem powyżej 800.000 euro w poprzednim roku muszą wystawiać e-faktury, od 2028 roku dotyczy to już wszystkich.
Pod pojęciem e-faktury nie kryje się załącznik PDF, lecz ustrukturyzowany format zgodny z europejską normą EN 16931. ZUGFeRD to wariant powszechnie stosowany w Niemczech: plik PDF/A-3 z osadzonym plikiem XML. Człowiek widzi czytelny PDF, a oprogramowanie odczytuje bezpośrednio plik XML, bez przepisywania i bez rozpoznawania tekstu. Grafika poniżej pokazuje właśnie te dwa spojrzenia na ten sam plik.
02. DLACZEGO PO PROSTU NIE WZIĘLIŚMY SUBSKRYPCJI
Impuls zna każdy: obowiązek nadchodzi, więc potrzebne jest narzędzie. Oczywistą odpowiedzią jest subskrypcja, i właśnie w tym miejscu się zatrzymaliśmy.
Dla zasadniczo prostego procesu, jakim jest wygenerowanie pliku PDF z osadzonym XML, szybko narastają powtarzające się koszty: popularne narzędzia do fakturowania zaczynają się od około 10 euro miesięcznie, a w przypadku wysyłki e-faktur, w zależności od taryfy, sięgają znacznie wyżej. Firma wystawiająca zaledwie kilka faktur miesięcznie płaci w ten sposób stale za pełną księgowość, z której w ogóle nie korzysta.
Prawdziwym powodem nie była jednak cena, lecz dane. Faktura zawiera nazwiska, adresy i często dane bankowe. Jeśli przesyła się ją przez narzędzie chmurowe, jest to powierzenie przetwarzania danych zgodnie z art. 28 RODO: umowa, zewnętrzny dostawca, dane opuszczające siedzibę firmy. Przy rozwiązaniu self-hosted odpada to całkowicie. To ta sama logika, którą stosujemy w przypadku modeli językowych, opisana w On-Premise vs. Cloud-LLM: zachować korzyści, nie oddawać suwerenności nad danymi.
03. CO KONKRETNIE ROBI BELEGT
Belegt jest celowo małe i wąsko zdefiniowane. To generator, a nie zamiennik księgowości.
Technicznie jest to aplikacja webowa, którą uruchamia się na własnym komputerze lub serwerze. Dane przechowywane są lokalnie w pliku, a wrażliwe pola, takie jak dane bankowe, są przy tym zaszyfrowane. Narzędzie generuje faktury ZUGFeRD i Factur-X w profilu EN 16931, czyli na poziomie uznawanym prawnie za pełnoprawną e-fakturę, sprawdza je pod kątem zgodności z normą, nadaje kolejne numery faktur, zarządza profilami firm i klientów oraz śledzi otwarte pozycje i zestawienia.
Dwie rzeczy, które oszczędzają nam najwięcej czasu: prowadzony krok po kroku proces, który finalizuje zgodną fakturę w kilku krokach, oraz to, że wygenerowany plik od razu zawiera warstwę maszynową, której potrzebuje odbiorca. Sami z niego korzystamy, co miesiąc. To najbardziej szczera rekomendacja, jaką możemy dać: nie zbudowaliśmy tego z myślą o rynku, lecz dla siebie. To jedno z kilku małych narzędzi, które powstały w podobny sposób jak narzędzie event-scout.
04. GDZIE SZCZERZE SIĘ KOŃCZY
Samodzielnie hostowane pojedyncze narzędzie ma realne granice, a przemilczenie ich byłoby dokładnie tym rodzajem marketingu, którego nie uprawiamy.
🔸 Norma się zmienia. EN 16931 i listy kodów są regularnie aktualizowane. Generator musi być utrzymywany, inaczej w pewnym momencie zacznie tworzyć faktury niezgodne z normą. To praca, którą ktoś musi wykonać.
🔸 Archiwizacja nie jest wliczona. Wygenerowanie to nie to samo co archiwizacja zgodna z wymogami kontroli. GoBD wymagają niezmiennego przechowywania w oryginalnym formacie, obecnie przez osiem lat. Tego samego generatora nie rozwiąże, to pozostaje zadaniem użytkownika.
🔸 Nie zastępuje doradcy podatkowego. Technicznie poprawna faktura może pod względem merytorycznym nadal być niekompletna. Nie ma bezpośredniego połączenia z kancelarią ani z systemami księgowymi.
Podsumowując uczciwie: Belegt zamyka obowiązkową lukę generowania i walidacji w sposób czysty i bez subskrypcji. Archiwizacja i procesy podatkowe pozostają poza jego zakresem. Kto pomyli to z pełnym pakietem, ten się zawiedzie. Kto ma dokładnie tę jedną lukę, ten dostaje narzędzie bez zbędnego balastu.
05. CZY POWINNIŚMY JE UDOSTĘPNIĆ, I JAK?
Ten artykuł celowo kończy się pytaniem zamiast odpowiedzią, ponieważ sami jeszcze jej nie znamy.
Istnieją dwie prawdopodobne drogi. Pierwsza: udostępniamy Belegt jako rozwiązanie self-hosted, które każda mała firma może uruchomić na własnej maszynie, bez subskrypcji i z danymi we własnej siedzibie. Druga: oferujemy utrzymywaną wersję, którą aktualizujemy na bieżąco, pomagamy we wdrożeniu i za którą odpowiadamy w zakresie aktualizacji normy, w zamian za sprawiedliwą opłatę. Obie ścieżki mają swoją logikę, a obciążenie związane z utrzymaniem, opisane w poprzedniej sekcji, jest właśnie powodem, dla którego odpowiedź nie jest trywialna.
Dlatego ta szczera prośba: jeśli lokalne, zgodne z ochroną danych, wolne od subskrypcji narzędzie ZUGFeRD byłoby przydatne dla Państwa lub Państwa firmy, prosimy o kontakt. Czy wystarczyłoby Państwu samodzielne prowadzenie go, czy woleliby Państwo wersję z opieką? Właśnie ten sygnał pomoże nam zdecydować, czy coś, co zbudowaliśmy dla siebie, stanie się czymś, czym się dzielimy.

