Nowoczesna księgowość w firmie technologicznej: dlaczego wybraliśmy Beancount?
Większość przedsiębiorstw zarządza finansami przy pomocy klasycznych programów księgowych lub arkuszy kalkulacyjnych. Problem polega na tym, że takie rozwiązania często są zamknięte, trudne do automatyzacji i mało transparentne dla zespołów technologicznych.
My wybraliśmy inną drogę.
W naszej codziennej działalności korzystamy z Beancount — nowoczesnego systemu księgowości tekstowej (Plain Text Accounting), który realizuje pełną księgowość podwójnego zapisu w sposób niezwykle przejrzysty, programistyczny i bardzo efektywny.
To nie jest „uproszczona księgowość” ani alternatywa dla zasad rachunkowości. Wręcz przeciwnie — Beancount opiera się dokładnie na tych samych fundamentach, co klasyczne systemy finansowo-księgowe. Nadal istnieją konta, nadal istnieje podwójny zapis, nadal każda operacja musi się bilansować. Zmienia się jedynie sposób reprezentacji danych.
Dzięki temu księgowość staje się:
- bardziej transparentna,
- łatwiejsza do automatyzacji,
- wygodniejsza dla firm technologicznych,
- i znacznie bardziej odporna na chaos organizacyjny.
Czym jest Beancount?
Beancount to system księgowy typu Plain Text Accounting, w którym wszystkie operacje finansowe zapisuje się w zwykłych plikach tekstowych (.beancount).
Na pierwszy rzut oka może to wyglądać nietypowo, ale pod spodem działa dokładnie ten sam mechanizm księgowy, który znają biura rachunkowe i systemy ERP — czyli księgowość podwójnego zapisu.
Każda transakcja:
- posiada minimum dwa zapisy,
- musi bilansować się do zera,
- wpływa na odpowiednie konta księgowe,
- zachowuje pełną logikę Wn / Ma.
Beancount nie usuwa zasad rachunkowości. On jedynie przedstawia je w bardziej nowoczesny i logiczny sposób.
Fundamenty systemu
1. Księgowość podwójnego zapisu
To najważniejszy element.
W Beancount każda operacja księgowa musi się zbilansować. Jeśli środki opuszczają jedno konto, muszą pojawić się na innym.
Dokładnie tak samo działa klasyczna księgowość.
Przykładowo:
- zapłata za usługę zmniejsza aktywa,
- jednocześnie zwiększa koszty,
- wpływ od klienta zwiększa aktywa,
- jednocześnie zwiększa przychody.
System automatycznie pilnuje poprawności matematycznej zapisów.
2. Czytelność dla człowieka i maszyny
W przeciwieństwie do wielu zamkniętych systemów ERP, dane zapisane są w zwykłym tekście.
Oznacza to, że:
- można otworzyć je w dowolnym edytorze,
- łatwo analizować je skryptami,
- generować raporty,
- tworzyć automatyzacje,
- oraz kontrolować historię zmian.
Do analizy danych używamy m.in. świetnego interfejsu webowego Fava, który generuje:
- bilans,
- rachunek zysków i strat,
- cash flow,
- analizy kosztowe,
- wykresy,
- raporty projektowe.
3. Kontrola wersji i pełna historia zmian
Nasze finanse przechowujemy podobnie jak kod źródłowy — w systemie Git.
Dzięki temu:
- wiemy kto i kiedy wprowadził zmianę,
- możemy przeglądać historię księgowań,
- łatwo wykonywać audyt,
- odzyskiwać wcześniejsze wersje danych,
- oraz bezpiecznie pracować zespołowo.
To ogromna przewaga nad tradycyjnymi systemami księgowymi, gdzie zmiany często są trudne do prześledzenia.
Jak wygląda plan kont w Beancount?
Beancount używa klasycznej struktury kont księgowych, ale zapisanej w formie drzewa.
Każde konto należy do jednej z pięciu głównych kategorii:
| Kategoria | Znaczenie |
|---|---|
Assets | Aktywa |
Liabilities | Zobowiązania |
Equity | Kapitał własny |
Income | Przychody |
Expenses | Koszty |
Przykładowe konta w naszym systemie:
Assets:PL:Santander:Main
Income:SoftwareServices
Expenses:Infrastructure:AWS
Expenses:Marketing:SocialMedia:Facebook
Dzięki hierarchicznej strukturze możemy budować bardzo szczegółową analitykę kosztów bez ograniczeń typowych dla wielu systemów ERP.
Czy w Beancount istnieje Wn i Ma?
Tak — absolutnie.
To jedna z najczęstszych obaw osób, które pierwszy raz spotykają się z księgowością tekstową.
Beancount nie usuwa logiki Wn / Ma. On jedynie reprezentuje ją w bardziej bezpośredni sposób.
W klasycznej księgowości zapisujemy:
- stronę Wn,
- stronę Ma,
- oraz kwotę.
W Beancount zapisujemy po prostu wpływ na konkretne konto:
- wartości dodatnie zwiększają konto zgodnie z jego naturą,
- wartości ujemne zmniejszają konto zgodnie z jego naturą.
Pod spodem nadal działa dokładnie ten sam mechanizm rachunkowy.
Można powiedzieć, że:
AssetsiExpensesnaturalnie „rosną” na plus,Income,LiabilitiesiEquitynaturalnie „rosną” na minus.
To nadal jest pełnoprawna księgowość podwójnego zapisu — tylko przedstawiona w sposób bardziej intuicyjny dla człowieka i systemów informatycznych.
Przykład 1: opłacenie faktury za serwery
Załóżmy, że płacimy 500 PLN za usługi AWS.
Klasyczny model księgowy
| Konto | Operacja |
|---|---|
| Usługi obce | Wn 500 PLN |
| Konto bankowe | Ma 500 PLN |
Ten sam zapis w Beancount
2026-05-25 * "Amazon Web Services" "Faktura za hosting"
Expenses:Infrastructure:AWS 500.00 PLN
Assets:PL:Santander:Main -500.00 PLN
Co tutaj się dzieje?
- koszt rośnie → wartość dodatnia,
- środki na koncie maleją → wartość ujemna,
- suma transakcji wynosi zero.
Mechanika księgowa pozostaje identyczna jak w klasycznym modelu.
Przykład 2: otrzymanie płatności od klienta
Klient opłacił fakturę za projekt programistyczny na kwotę 10 000 PLN.
Klasyczny model księgowy
| Konto | Operacja |
|---|---|
| Konto bankowe | Wn 10 000 PLN |
| Sprzedaż usług | Ma 10 000 PLN |
Ten sam zapis w Beancount
2026-05-24 * "Klient ACME Corp" "Płatność za projekt"
Assets:PL:Santander:Main 10000.00 PLN
Income:SoftwareServices -10000.00 PLN
Interpretacja:
- środki na koncie rosną → wartość dodatnia,
- przychód zwiększa źródło finansowania → wartość ujemna,
- całość nadal bilansuje się do zera.
Dla osób technicznych taki model okazuje się często znacznie bardziej intuicyjny niż klasyczne oznaczenia Wn / Ma.
Dlaczego Beancount świetnie sprawdza się w firmach technologicznych?
Pełna własność danych
Nie jesteśmy uzależnieni od zewnętrznych platform SaaS.
Nasze dane finansowe to zwykłe pliki tekstowe:
- łatwe do backupu,
- łatwe do migracji,
- łatwe do archiwizacji.
Automatyzacja procesów
Możemy tworzyć własne integracje i automatyzacje:
- import wyciągów bankowych,
- automatyczne tagowanie kosztów,
- generowanie raportów,
- rozliczenia projektowe,
- analizy cash flow,
- integracje z ERP i CRM.
Księgowość przestaje być „osobnym światem”, a staje się częścią infrastruktury technologicznej firmy.
Skalowalność i elastyczność
W Beancount praktycznie nie istnieją ograniczenia struktury kont.
Możemy tworzyć bardzo szczegółowe analizy:
Expenses:Infrastructure:Cloud:AWS:Production
Expenses:Infrastructure:Cloud:AWS:Development
Expenses:Infrastructure:Monitoring:Sentry
Dzięki temu dokładnie wiemy:
- które projekty generują koszty,
- które działy są rentowne,
- gdzie pojawiają się nieefektywności.
Szybkość działania
Generowanie raportów trwa ułamki sekund.
Brak ciężkich baz danych i skomplikowanych interfejsów sprawia, że analiza finansów staje się szybka i wygodna nawet przy dużej liczbie operacji.
Podsumowanie
Beancount pozwala połączyć rygor profesjonalnej księgowości z elastycznością nowoczesnego środowiska technologicznego.
To nadal pełnoprawna księgowość podwójnego zapisu — z kontami, bilansem, logiką Wn / Ma i pełną kontrolą poprawności finansowej. Różnica polega na tym, że dane są przedstawione w formie prostego, przejrzystego i łatwego do automatyzacji tekstu.
Dla firm technologicznych oznacza to ogromne korzyści:
- większą transparentność,
- pełną kontrolę nad danymi,
- łatwiejszą automatyzację,
- lepszą analitykę,
- oraz możliwość traktowania finansów jako integralnej części infrastruktury firmy.
W praktyce Beancount sprawia, że księgowość przestaje być zamkniętym „czarnym pudełkiem”, a staje się nowoczesnym, zrozumiałym i przewidywalnym systemem operacyjnym dla finansów firmy.