Перейти до основного вмісту

Прозора та аудійована бухгалтерія з Beancount і Fava

Вступ

Beancount і Fava – це інструменти бухгалтерського обліку з відкритим кодом, розроблені для того, щоб зробити ведення бухгалтерського обліку прозорим, відстежуваним і аудійованим. Beancount – це система бухгалтерського обліку з подвійним записом, яка використовує прості текстові файли для запису транзакцій, а Fava – це веб-інтерфейс, який представляє ці записи у вигляді зрозумілих звітів і візуалізацій. Завдяки усуненню пропрієтарних форматів даних і використанню контролю версій, Beancount забезпечує рівень ясності та підзвітності, який традиційному бухгалтерському програмному забезпеченню часто важко забезпечити. У цьому звіті розглядається, як підхід Beancount на основі простого тексту та зручний інтерфейс Fava працюють разом для підвищення прозорості, можливості аудиту та контролю користувачів у різних контекстах.

transparent-and-auditable

Ведення бухгалтерського обліку простим текстом за допомогою Beancount (технічні аспекти)

Дані у вигляді простого тексту: Beancount зберігає всі фінансові транзакції у простих текстових файлах. Кожен запис – це зрозумілий рядок (або набір рядків), що представляє транзакцію. Наприклад, готівкова покупка обіду на суму 5 доларів США може бути записана як:

2024-07-29 * "Купити бургер на обід"
Assets:Cash -5.00 USD
Expenses:Food 5.00 USD

У цьому форматі чітко видно дату, опис і рахунки. Кожна транзакція повинна бути збалансована (загальна сума дебетів дорівнює загальній сумі кредитів), тому помилки, такі як відсутній рахунок або неправильна сума, одразу виявляються парсером програмного забезпечення. Ця проста текстова спеціалізована мова для бухгалтерського обліку означає, що ваші фінансові дані можна читати або редагувати за допомогою будь-якого текстового редактора та обробляти за допомогою простих скриптів або команд.

Структура файлу: Файл бухгалтерської книги Beancount зазвичай містить директиви для відкриття рахунків, визначення товарів (валют), запису транзакцій і, можливо, твердження або перевірки балансу. Рахунки іменуються ієрархічно (наприклад, Assets:Bank:Checking, Expenses:Food:Grocery), що робить структуру ваших фінансів явною. Ви можете організовувати записи хронологічно або логічно, і навіть розділити книгу на кілька файлів (включивши їх в основний файл) для кращої організації. Оскільки дані – це просто текст, ви можете легко переставляти або реорганізовувати рахунки – наприклад, перейменування рахунку у всій книзі можна виконати за допомогою простої команди пошуку та заміни або командного рядка. Мартін Блез, творець Beancount, зазначає, що “текст розширює можливості” – ви навіть можете використовувати такі інструменти, як sed, щоб реорганізувати свої рахунки за всю історію за лічені секунди.

Інтеграція з системою контролю версій (Git): Мабуть, найбільшою технічною перевагою бухгалтерського обліку простим текстом є те, наскільки легко він інтегрується з системами контролю версій, такими як Git. Ваш файл .beancount (або файли) може зберігатися в репозиторії Git, що дозволяє відстежувати кожну зміну за допомогою історії комітів. Кожне додавання або зміна транзакції стає дифом, який можна переглянути рядок за рядком. Це забезпечує “аудиторський слід, необмежене скасування та співпрацю” з коробки. Наприклад, якщо запис редагується або видаляється, Git покаже, хто змінив його, коли і саме що було змінено – подібно до відстеження змін у вихідному коді. Це різко контрастує з непрозорими бухгалтерськими базами даних, які можуть показувати лише дату останньої зміни або вимагати спеціальних журналів для аудиту. Компанія, яка впровадила Beancount, повідомила, що використання Git дозволило кільком бухгалтерам працювати одночасно та знати “хто, де і коли вніс які зміни”, вирішивши проблеми співпраці та відстеження змін, з якими вони стикалися у традиційному програмному забезпеченні. На практиці ви навіть можете забезпечити перевірку у Git (наприклад, pre-commit hook, щоб запустити перевірки Beancount і запобігти фіксації незбалансованої книги). Розгляд книги як коду означає, що всі потужні інструменти для управління кодом – дифи, pull requests, code review – стають доступними для ваших бухгалтерських записів.

Введення та перенесення даних: Оскільки формат Beancount – це простий текст, легко імпортувати дані з інших джерел або експортувати для інших цілей. Ви можете вручну записувати записи або створити скрипт для перетворення банківських виписок у формат Beancount. Спільнота Beancount надає імпортери для поширених форматів, а інші інструменти бухгалтерського обліку простим текстом (Ledger, hledger) мають подібні формати, з доступними конвертерами. Ваші дані не прив’язані до однієї програми – як підкреслюється в одному з посібників, “ви ніколи не опинитеся в ситуації, коли ваші транзакційні дані зберігаються у двійковому об’єкті з невідомим форматом”. Фактично, ви можете взяти свій файл Beancount і написати простий парсер або використати інший інструмент для його читання, якщо це необхідно. Це робить технічну основу надзвичайно перспективною.

Переваги аудиту бухгалтерської книги у вигляді простого тексту

Зберігання фінансових записів у вигляді простого тексту дає значні переваги для аудиту та перевірки помилок:

  • Детальна історія змін: Кожна зміна в книгах відстежується за допомогою комітів контролю версій. Це створює хронологічний запис змін, який важко підробити, якщо використовувати такий сервіс, як GitHub, або практику підписаних комітів. Це подібно до наявності детального журналу аудиту для всіх транзакцій. Помилки можна відстежити до точного коміту, який їх вніс, а історичні версії книг легко отримати. У бухгалтерській книзі у вигляді простого тексту “дані можна ефективно контролювати версіями, забезпечуючи аудіторський слід і необмежене скасування” для виправлень. Навпаки, багато традиційних бухгалтерських систем або не зберігають повної історії змін, або змішують дані та коригування таким чином, що їх важко розплутати.

  • Відстежуваність і взаємний перегляд: Оскільки книга – це текст, кілька людей можуть переглядати її як код. Наприклад, у невеликій організації одна людина може пропонувати зміни до книги (додавання транзакцій, коригування записів) і відкривати pull request для перегляду другою людиною. Цей процес взаємного перегляду може виявити помилки або невідповідності до того, як вони будуть прийняті, так само як code review виявляє помилки. Згаданий вище спільний робочий процес був неможливим для команди, яка використовувала QuickBooks, що змусило їх перейти на Beancount для кращої підтримки кількох користувачів. Підхід на основі простого тексту робить співпрацю природною – легко узгоджувати розбіжності та об’єднувати зміни від різних бухгалтерів, уникаючи “блокування файлів” або обмежень для одного користувача, які є в деяких файлах бухгалтерського обліку настільних комп’ютерів.

  • Автоматична перевірка помилок: Beancount включає надійну вбудовану перевірку. Під час обробки файлу буде видано помилку, якщо будь-яка транзакція незбалансована (дебети ≠ кредити), якщо транзакції рахунку не відповідають заявленому балансу або якщо є невідповідності, такі як повторювані ідентифікатори транзакцій. Один користувач зазначає, що “завдяки внутрішнім перевіркам Beancount, я впевнений, що [мої записи] є правильними, щойно їх внесено до книги. Немає шансів на помилку…”. Іншими словами, якщо файл Beancount імпортується без помилок, ви маєте високий ступінь впевненості в тому, що основна бухгалтерська цілісність (наприклад, усі транзакції збалансовані) збережена. Наприклад, ви можете додати щомісячні твердження балансу з ваших банківських виписок, і Beancount “видасть помилку, якщо ваші транзакції не збігаються” з очікуваним кінцевим балансом. Це одразу виявляє пропуски або друкарські помилки. Традиційне програмне забезпечення також може забезпечувати збалансованість подвійного запису, але оскільки Beancount показує більше користувачеві, вам пропонується додавати явні перевірки (наприклад, твердження балансу) і бачити результати цих перевірок безпосередньо.

  • Виправлення записів зберігає історію: У належному бухгалтерському обліку не видаляють неправильну транзакцію, а додають виправний запис. Бухгалтерські книги у вигляді простого тексту заохочують цю практику (а з Git, навіть якщо ви змінили минулий запис, попередня версія залишається в історії). Аудитор може чітко бачити слід виправлень, а не підозрювати, що дані були змінені без запису. Хоча технічно ніщо не заважає користувачеві редагувати історію текстового файлу, якщо він має доступ, використання Git з цілісністю комітів (або навіть підписання комітів) може зменшити несанкціоновані або невідстежені зміни. Відкритість також сприяє хорошим звичкам: в одній дискусії було зазначено, що ви “не можете [просто] виправити запис” мовчки в бухгалтерському обліку у вигляді простого тексту, щоб це не було очевидно; ви повинні “робити виправні записи… [щоб] зберегти аудіторський слід”. Підсумовуючи, сама система є прозорою, тому будь-яка спроба підтасувати книги, ймовірно, залишить сліди.

  • Аудиторський слід для зовнішніх аудиторів: Якщо вам потрібно пройти формальний аудит (для бізнесу чи некомерційної організації), надання бухгалтерської книги Beancount – це як надання вихідного коду з повною історією версій. Аудитор може переглянути журнал необроблених транзакцій або ви можете створити супровідні документи (наприклад, звіти журналу або баланси) безпосередньо з вихідних даних, забезпечуючи узгодженість. Один користувач Beancount, якому потрібно було обґрунтувати податкові розрахунки владі, оцінив наявність “солідного запису всієї історії” кожної партії активів, що полегшило “дуже легко вказати” і довести, як були отримані цифри. Ясність запису у вигляді простого тексту в поєднанні з експортованими звітами може пришвидшити аудит, оскільки нічого не приховано за програмним забезпеченням – кожне число у звіті можна відстежити до рядка у файлі бухгалтерської книги.

  • Необмежене скасування та експерименти: Завдяки поєднанню тексту + контролю версій ви можете спробувати реструктуризувати або реорганізувати свої рахунки, не боячись. Якщо ідея не спрацює, ви можете повернутися до попереднього коміту. Ця свобода заохочує вдосконалення та коригування структури бухгалтерського обліку з часом (наприклад, розділення одного рахунку на кілька або додавання нових категорій), що в традиційній системі може бути ризикованим або незворотним після введення транзакцій. Користувачі відзначали, що з контрольними точками Git немає “жодних побоювань, що ми щось зламаємо під час експериментів” зі змінами в бухгалтерській книзі, оскільки завжди можна відкотитися назад. Це означає, що система бухгалтерського обліку може розвиватися плавно, а історія аудиту зберігається на кожному кроці.

Прозорість завдяки відкритим даним і відкритому коду

Підхід Beancount максимізує прозорість як у даних, так і в логіці:

  • Усунення непрозорих форматів: Beancount використовує простий, відкритий формат, який може прочитати будь-хто. На відміну від типового бухгалтерського програмного забезпечення, яке може зберігати дані у власному двійковому файлі або закритій базі даних, бухгалтерська книга Beancount – це просто текст. Цей “відкритий формат” означає “ваші дані відкриті і залишаться відкритими назавжди”. Вам не потрібен Beancount, щоб зрозуміти дані – у крайньому випадку ви можете відкрити книгу в текстовому редакторі або роздрукувати її. Усуваючи пропрієтарні сховища даних, Beancount гарантує, що ви ніколи не будете залежати від програмного забезпечення конкретного постачальника для доступу до власних фінансових записів. Наприклад, багато користувачів QuickBooks відчувають труднощі з експортом усіх своїх даних або перетворенням їх на нову систему. З Beancount перетворення є простим: дані вже у загальному форматі. За словами документації Beancount, “з відкритим форматом ви ніколи не опинитеся в ситуації, коли ваші дані зберігаються у двійковому об’єкті з невідомим форматом, а програмне забезпечення не підтримується”.

  • Ясність бухгалтерської логіки: Традиційні бухгалтерські програми виконують багато обчислень у фоновому режимі – підсумовують рахунки, застосовують обмінні курси, обчислюють залишки тощо. Хоча Beancount також це робить, логіка не прихована від користувача. Правила бухгалтерського обліку з подвійним записом є прозорими та послідовними: наприклад, якщо баланс неправильний, Beancount точно скаже вам, який рахунок і яка транзакція це спричинили. Крім того, сам Beancount – це код Python з відкритим кодом; якщо хтось дійсно захоче перевірити, як він обчислює, скажімо, середню собівартість інвестицій або як він генерує баланс, він може перевірити джерело або покластися на ретельний аналіз цього коду спільнотою. Поведінка програмного забезпечення задокументована та детермінована – немає жодного таємничого автоматичного виправлення записів або нерозголошених припущень. Це контрастує з деяким фінансовим програмним забезпеченням, яке може автоматично коригувати записи (створюючи приховані рахунки “різниці округлення” тощо) без повного усвідомлення користувача. З Beancount кожне окреме число в кожному звіті отримується з транзакцій, наданих користувачем, за допомогою відкритого процесу обчислення.

  • Розділення даних і програми: Ключовим аспектом дизайну бухгалтерського обліку простим текстом є те, що інструменти (Beancount, Fava) не володіють даними – ви володієте. Файл даних є окремим і розглядається як вхідні дані лише для читання інструментами. Як зазначено у вступі на plaintextaccounting.org, програмне забезпечення “читає вхідні дані, не змінюючи їх, і [лише] виводить звіт”, що робить його “легким для розуміння та надійним”. Beancount ніколи не запише назад у ваш файл бухгалтерської книги самостійно; будь-яка зміна має надходити від вас (або інструменту редагування, який ви навмисно використовуєте). Це дає велику впевненість у тому, що те, що ви бачите, – це те, що ви ввели, без прихованих змін. Якщо програмне забезпечення поводиться неправильно або має помилку, ваші дані залишаються в безпеці та незмінними – критичний момент для довіри. Навпаки, непрозора система бухгалтерського обліку може змінювати дані під час оновлень або у разі виникнення помилки, і без прямого доступу до необроблених даних ви можете навіть не усвідомлювати цього. З Beancount, якщо щось здається неправильним у звіті, ви можете відкрити текстовий файл і перевірити його безпосередньо.

  • Спільнота з відкритим кодом і рецензування: Те, що Beancount і Fava є відкритим кодом, означає, що сотні очей можуть переглядати їх код і робити внесок у вдосконалення. Існує прозорість не лише в даних, але й у самому інструменті – жодних непрозорих алгоритмів. Наприклад, якщо виникнуть будь-які сумніви щодо того, як обчислюється амортизація або як обробляються конвертації валюти, можна перевірити вихідний код Beancount або обговорити це зі спільнотою розробників. Цей підхід, керований спільнотою, також призводить до швидкої ідентифікації помилок або невідповідностей, які зазвичай документуються публічно (наприклад, у випусках GitHub) і виправляються відкрито. Користувачі можуть навіть писати плагіни для розширення функціональності Beancount або забезпечення дотримання власних правил, і все це відкрито. У певному сенсі ця відкритість аналогічна науковій прозорості – методологія доступна для перевірки, а не “чорна скринька”.

  • Прозорість для нетехнічних зацікавлених сторін: Простий текст не означає, що нетехнічні люди залишаються в темряві. Насправді, це може підвищити прозорість для таких зацікавлених сторін, як бухгалтери, аудитори або члени команди, оскільки їм легко надати повний запис, який вони можуть перевірити за допомогою основних інструментів. Можна генерувати PDF- або HTML-звіти з книги для зручності читання, але вони завжди прив’язані до вихідних даних. Немає жодного секретного “другого набору книг”. Ця функція особливо важлива для організацій, які цінують відкритість. Наприклад, некомерційна організація може опублікувати свій файл бухгалтерської книги Beancount публічно в Інтернеті або на GitHub, щоб будь-хто міг перевірити, впевнена, що читачі можуть перевірити підсумки самостійно або побачити деталі транзакцій, не потребуючи спеціального програмного забезпечення. Дійсно, деякі припускали, що “відкриття вихідного коду [фінансових даних організації]” за допомогою таких інструментів принесе користь прозорості некомерційним організаціям і державним органам. Бухгалтерський облік простим текстом робить цей сценарій можливим.

Уникнення залежності від постачальника за допомогою інструментів з відкритим кодом

Залежність від постачальника виникає, коли використання власного бухгалтерського рішення прив’язує вас до певної компанії чи продукту, що ускладнює перенесення або підтримку ваших записів незалежно. Beancount і Fava, завдяки тому, що вони є відкритим кодом і базуються на простому тексті, фактично усувають залежність:

  • Ліцензія відкритого коду та спільнота: Beancount (заснований Мартіном Блезом приблизно в 2008 році) є безкоштовним і відкритим кодом, як і Fava. Немає ліцензійних зборів, підписок або обмежень на використання. Ви можете використовувати інструменти для особистих фінансів, бухгалтерського обліку бізнесу, некомерційних організацій або для будь-яких цілей без дозволу. Оскільки джерело відкрите, якщо розробка Beancount коли-небудь сповільниться або зупиниться, спільнота зможе продовжувати підтримувати або розгалужувати його. Ваше програмне забезпечення не зникне раптово або змінить умови. Це мережа безпеки порівняно з хмарними бухгалтерськими службами, які можуть закритися або змінити ціни. Це також означає, що ви можете володіти процесом: як сказав один користувач, “я можу повозитися з джерелами, якщо мені щось не подобається, і переконатися, що мої дані все ще можна буде використовувати через 20 років”. Довговічність даних є основною обіцянкою – оскільки формат даних є простим текстом і задокументований, навіть через десятиліття його має бути тривіально розібрати. Навпаки, подумайте про старі файли QuickBooks або стародавні власні формати, які дуже важко відкрити сьогодні (якщо програмне забезпечення взагалі працює на сучасних системах).

  • Жодного власного сховища даних: Ваші бухгалтерські дані в Beancount не заблоковані за воротами експорту/імпорту постачальника. Ви можете взяти файл .beancount і відкрити його в будь-якому текстовому редакторі або використовувати різноманітні інструменти з екосистеми бухгалтерського обліку простим текстом (їх багато, враховуючи популярність формату). Перехід на іншу систему є простим: наприклад, існують інструменти для перетворення даних Ledger або CSV на Beancount і навпаки. Відсутність залежності також означає, що вас не змушують оновлюватися. Якщо Beancount випускає нову версію, ви можете вирішити використовувати її чи ні; ваші існуючі дані залишаються дійсними. Немає концепції примусового перенесення даних, оскільки постачальник вирішив змінити формат своєї бази даних або свій API.

  • Уникнення комерційної залежності: Багато підприємств переростають своє бухгалтерське програмне забезпечення або розчаровуються в обмеженнях постачальника. Згадана раніше компанія, яка перейшла на Beancount, відзначила проблеми як з локальними, так і з хмарними власними рішеннями, включаючи занепокоєння щодо “тривалості або довговічності базової компанії”, що надає програмне забезпечення. Перейшовши на інструмент з відкритим кодом, вони забезпечили, що їхній процес бухгалтерського обліку перебуває під їхнім контролем і не залежить від успіху постачальника. По суті, Beancount звільняє користувачів від залежності від одного постачальника або необхідності дорогих корпоративних оновлень у міру їх масштабування. Також немає перепродажу додаткових модулів – все у ваших руках, щоб розширити за потреби.

  • Перенесення даних: Оскільки дані Beancount можна легко експортувати у поширені формати (CSV, JSON за допомогою різних команд, або дані можна завантажити в Python для користувацького експорту), ви можете інтегруватися з іншими системами без обмежень. Наприклад, якщо вам потрібно надати фінансові дані для програмного забезпечення для подання податкових декларацій, ви можете створити скрипт для експорту. Або, якщо ви пізніше вирішите перейти на систему на основі SQL, ви можете імпортувати туди книгу. Ключовим моментом є те, що ваші дані належать вам у придатній для використання формі в будь-який час. У власних системах, навіть якщо ви можете експортувати, ви часто втрачаєте певну інформацію або точність (наприклад, втрачаєте вкладення, метадані або точний аудіторський слід змін). З Beancount уся інформація (за винятком будь-яких прикріплених документів, які ви все одно зберігаєте у звичайних файлах) є простим текстом і залишається з вами.

  • Відсутність залежності від функцій: Філософія відкритого коду для Fava (веб-інтерфейс) також означає, що навіть розширені функції не спрямовані на те, щоб заблокувати вас. Наприклад, творець служби хостингу Beancount зазначив, що вони уникають додавання будь-яких “приватних функцій для прив’язки користувачів” – натомість вони роблять внесок у вдосконалення у відкриті проекти Fava/Beancount. Таке мислення в спільноті гарантує, що вдосконалення приносять користь усім, і ви не застрягнете на зміненій версії. Іншими словами, ви можете самостійно розміщувати або переходити на іншу службу в будь-який час; робочий процес залишається стандартним. Це контрастує з постачальниками, які можуть запропонувати “експорт”, але лише у форматі, який інший конкурент не може легко імпортувати, тим самим заманюючи вас, якщо ви не залишитеся з ними.

Підсумовуючи, використовуючи Beancount і Fava, ви обходите поширені пастки залежності від постачальника. Ваші дані залишаються доступними, програмне забезпечення перебуває під вашим контролем, і ви маєте свободу адаптуватися або переходити за потреби, не втрачаючи цілісності своїх записів. Немає щорічної плати або примусових оновлень – прозорість і простота захищають вас від цих залежностей.

Fava: Зрозумілий інтерфейс для Beancount

Fava – це веб-інтерфейс, який доповнює механізм простого тексту Beancount. Він не вводить власні рівні – натомість він посилює прозорість і можливість аудиту, полегшуючи дослідження даних:

(Fava) Веб-інтерфейс Fava надає розширені, зрозумілі для людини перегляди вашої бухгалтерської книги. Наприклад, на знімку екрана показано діаграму “Звіт про прибутки та збитки”, на якій доходи та витрати розбиті за категоріями. Такі візуалізації та звіти допомагають користувачам і аудиторам швидко зрозуміти фінансові закономірності та виявити аномалії.

Функції та звіти: Fava читає ваш файл Beancount і генерує різноманітні звіти: звіт про прибутки та збитки, баланс, пробний баланс, рух грошових коштів та інші, усе через веб-браузер. Він також надає журнал транзакцій, по якому можна переміщатися (ви можете клацнути на рахунок і побачити всі проводки до нього), залишки на рахунках з часом і навіть інтерфейс запитів для власних питань. Важливо, що ці звіти генеруються на льоту з текстової книги, а це означає, що вони завжди актуальні для вихідних даних і відображають будь-які зміни, внесені до книги. Немає окремої бази даних, яка може розсинхронізуватися. Для цілей аудиту Fava може діяти як портал лише для читання (якщо ви не ввімкнули функції редагування) для зацікавлених сторін, щоб перевіряти книги. Бухгалтер або аудитор може використовувати Fava, щоб легко переходити від звітів високого рівня до основних транзакцій, що набагато зручніше, ніж перевіряти необроблений текстовий файл рядок за рядком.

Полегшення аудитів: Представляючи дані у знайомих бухгалтерських звітах та інтерактивних діаграмах, Fava дозволяє нетехнічним користувачам проводити аудит і розуміти книги, які ведуться в Beancount. Наприклад, зовнішньому бухгалтеру можна надати доступ до Fava (або експорт звітів Fava). Одна компанія, яка використовує Beancount, зазначила, що для податків вони генерують HTML-експорт фінансових звітів, і їхній CPA “може без проблем переміщатися по фінансових звітах”, і вони “використовують Fava (веб-інтерфейс Beancount) для різних звітів”, щоб допомогти цьому процесу. Fava також може виділяти помилки або попередження – якщо Beancount повідомляє про будь-які проблеми (наприклад, незбалансовану транзакцію або невдале твердження), інтерфейс Fava покаже індикатор помилки, щоб ви одразу знали, що потребує уваги. Це фактично виводить перевірки аудиту в графічний інтерфейс для зручності.

Прозорість даних у Fava: Важливо зазначити, що Fava не приховує дані та не дозволяє “секретні” зміни. Будь-яка транзакція, додана через веб-редактор Fava (Fava має редактор і форму введення транзакцій), фактично записується в текстовий файл Beancount. Це означає, що єдиним джерелом правди залишається текстова книга. Роль Fava полягає в тому, щоб представити це джерело правди різними корисними способами. Наприклад, графіки Fava можуть показувати ваш власний капітал з часом або кругову діаграму витрат за категоріями. Вони динамічно генеруються з даних і дають прозорий погляд на тенденції, які може бути важко помітити в необроблених даних. Аномалії, такі як раптовий стрибок у категорії витрат, стають візуально очевидними, і на них можна натиснути, щоб переглянути основні записи. У традиційній системі вам може знадобитися запустити кілька звітів або запитів, щоб дослідити аномалію; Fava робить це інтерактивним.

Жодних розрахунків у чорній скриньці: Оскільки Fava використовує Beancount під капотом, він успадковує відкриту логіку обчислень. Якщо Fava показує залишок, ви можете бути впевнені, що це сума всіх відповідних транзакцій з файлу бухгалтерської книги. Якщо щось здається неправильним, це можна відстежити безпосередньо у