← WRÓĆ DO PROJEKTÓW
05 / FINANCE DATA TOOL LIVE DEMO

Sprawozdanie z KRS
czytelne w Excelu.

Konwerter zamienia e-sprawozdanie finansowe w formacie XML na arkusz Excel z bilansem i rachunkiem zysków i strat. Zamiast kodów pozycji pokazuje ich pełne, oficjalne nazwy. Działa w przeglądarce, a plik nie jest nigdzie wysyłany.

PYTHON PYODIDE WEBASSEMBLY OPENPYXL JAVASCRIPT GITHUB PAGES

Dane są publiczne. Tylko trudno je przeczytać.

Spółki składają roczne sprawozdania finansowe do Krajowego Rejestru Sądowego jako pliki XML według wzoru Ministerstwa Finansów. Każdy może je bezpłatnie pobrać z Repozytorium Dokumentów Finansowych.

Ten format jest jednak zrobiony dla programów, nie dla ludzi. Plik ma setki zagnieżdżonych pozycji opisanych kodami, a kwoty za dwa lata są rozrzucone po całym dokumencie.

Konwerter odczytuje taki plik i układa go w arkusz, który wygląda jak bilans na papierze: z nazwami pozycji, wcięciami, kwotami za oba lata i automatyczną kontrolą poprawności.

Format dla maszyn. Nie dla analityka.

01

Kody zamiast nazw

Środki pieniężne to w pliku pozycja Aktywa_B_III_1_C. Żeby ją zrozumieć, trzeba sięgnąć do załącznika ustawy o rachunkowości albo do schematu XSD.

02

Ta sama litera, inne znaczenie

Rachunek zysków i strat ma dwa warianty: porównawczy i kalkulacyjny. Zysk netto jest w nich pod różnymi literami, a kod „A” oznacza co innego w każdej części sprawozdania.

03

Podpis, wersje, korekty

Pliki bywają zapakowane w podpis elektroniczny (.xml.xades), powstają w różnych wersjach schematu, a dane za poprzedni rok mogą występować w dwóch wersjach: pierwotnej i po przekształceniu.

Od pliku XML
do gotowego arkusza.

Cała konwersja odbywa się w przeglądarce użytkownika. Serwer tylko udostępnia narzędzie. Sprawozdanie nie opuszcza komputera.

01 ODCZYT XML · XADES
→
02 NAZWY SCHEMAT MINISTERSTWA FINANSÓW
→
03 KONTROLA AKTYWA = PASYWA
→
04 EXCEL 4 ARKUSZE · POBRANIE

Python, który działa w przeglądarce.

Logika konwersji jest napisana w Pythonie. Dzięki Pyodide, czyli Pythonowi skompilowanemu do WebAssembly, ten sam kod działa zarówno w terminalu, jak i bezpośrednio na stronie.

Nazwy 563 pozycji pochodzą z oficjalnego schematu XSD Ministerstwa Finansów. Program przypisuje je według pełnej ścieżki w strukturze dokumentu, a nie samego kodu, więc „A” w rachunku zysków i strat nie myli się z „A” w przepływach pieniężnych.

Wynikiem jest plik Excel z czterema arkuszami: informacje o spółce, aktywa, pasywa oraz rachunek zysków i strat. Zawiera kwoty za rok bieżący, poprzedni i, jeśli są, poprzedni po przekształceniu.

LIVE DEMO WYPRÓBUJ NA WŁASNYM PLIKU
↑

Wybierz plik i pobierz Excel

Przy pierwszym uruchomieniu przeglądarka ładuje Pythona, co trwa kilka sekund. Potem wystarczy wskazać e-sprawozdanie w formacie XML. Przed pobraniem widać nazwę spółki, cztery kluczowe kwoty i wynik kontroli. Kilka sekund po pobraniu wynik jest usuwany z pamięci przeglądarki.

Sprawozdanie zostaje u Ciebie.

Sprawozdania przed złożeniem bywają poufne. Dlatego narzędzie zaprojektowałam tak, żeby nie wymagało zaufania do żadnego serwera.

PRYWATNOŚĆ

Plik nie opuszcza komputera

Konwersja odbywa się w pamięci przeglądarki. Kilka sekund po pobraniu Excela strona usuwa wynik z pamięci i z ekranu.

ŁAŃCUCH DOSTAW

Kod tylko z jednego źródła

Pyodide i biblioteki są dołączone do projektu, z sumami kontrolnymi sprawdzonymi z npm i PyPI. Polityka Content-Security-Policy blokuje połączenia z innymi adresami.

EXCEL

Tekst, nie formuła

Tekst z pliku zaczynający się od „=” mógłby zostać zapisany jako formuła i wykonany przez Excela. Konwerter zapisuje każdy tekst jako zwykły tekst. Ten przypadek jest sprawdzony testem.

ODPORNOŚĆ

Złośliwy XML jest odrzucany

Próby odczytu plików z dysku przez encje XML (XXE) i „bomba XML”, która miała zawiesić program, kończą się czytelnym komunikatem zamiast awarii.

Ten sam plik z KRS.
Gotowy do analizy.

BEFORE
Plik XML z setkami kodów pozycji ↓ Szukanie znaczenia kodów w ustawie ↓ Ręczne przepisywanie kwot do arkusza ↓ Brak pewności, czy liczby się zgadzają
AFTER
Wybór pliku w przeglądarce ↓ Konwersja w kilka sekund ↓ Excel z nazwami pozycji i dwoma latami ↓ Automatyczna kontrola: aktywa = pasywa
OFICJALNE NAZWY POZYCJI KONTROLA POPRAWNOŚCI PLIK NIE OPUSZCZA KOMPUTERA BEZ INSTALACJI
01 Python · xml.etree

Rdzeń konwertera: odczyt drzewa XML, rekurencyjne przejście po pozycjach, kontrola poprawności. Moduł nie korzysta z dysku ani sieci, więc działa w terminalu i w przeglądarce.

02 Pyodide · WebAssembly

Interpreter Pythona uruchamiany w przeglądarce. Ładuje się raz, a potem zostaje w pamięci podręcznej, dzięki czemu kolejne uruchomienia trwają około dwóch sekund.

03 openpyxl

Tworzenie pliku Excel w pamięci: formatowanie kwot, wcięcia według poziomu pozycji, zablokowane nagłówki i kolory zgodne z identyfikacją portfolio.

04 Schemat XSD MF

Skrypt wyciąga nazwy pozycji ze schematu Ministerstwa Finansów (730 KB) do lekkiego pliku JSON (60 KB). Przy nowej wersji schematu wystarczy uruchomić go ponownie.

05 JavaScript · CSP

Interfejs bez frameworka: wybór i przeciąganie pliku, podgląd wyniku, pobieranie i czyszczenie danych. Treść z pliku trafia na stronę wyłącznie jako tekst.

06 GitHub Pages

Darmowy hosting statyczny przez HTTPS. Narzędzie nie potrzebuje backendu, więc nie ma serwera, który trzeba utrzymywać ani który mógłby przechowywać pliki.

PROJECT NOTE / 2026

Konwerter obsługuje sprawozdania jednostek innych, czyli pełny wzór. Kolejne etapy to przykładowe sprawozdanie fikcyjnej spółki do szybkiego testu oraz obsługa wzorów dla jednostek małych i mikro. Kod na GitHubie ↗