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:

KategoriaZnaczenie
AssetsAktywa
LiabilitiesZobowiązania
EquityKapitał własny
IncomePrzychody
ExpensesKoszty

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:

  • Assets i Expenses naturalnie „rosną” na plus,
  • Income, Liabilities i Equity naturalnie „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

KontoOperacja
Usługi obceWn 500 PLN
Konto bankoweMa 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

KontoOperacja
Konto bankoweWn 10 000 PLN
Sprzedaż usługMa 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.