Skip to main content

One post tagged with "Beancount"

View all tags

Екосистема Beancount: Комплексний аналіз

· 30 min read
Mike Thrift
Mike Thrift
Marketing Manager

Основна функціональність та філософія Beancount

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

2025-04-15-beancount-ecosystem

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

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

Розширюваність за допомогою плагінів та мови запитів: Beancount реалізовано на Python і надає хуки для впровадження власної логіки в конвеєр обробки. Користувачі можуть писати плагіни на Python, які працюють з потоком транзакцій (наприклад, для застосування власного правила або генерації автоматичних записів). Ці плагіни запускаються під час обробки файлу, ефективно розширюючи основну функціональність Beancount без необхідності модифікації вихідного коду. Beancount також включає потужну мову запитів (на основі SQL) для аналізу та деталізації бухгалтерської книги. Інструмент bean-query розглядає проаналізовану бухгалтерську книгу як базу даних і дозволяє виконувати на ній аналітичні запити – наприклад, підсумовувати витрати за категоріями або витягувати всі транзакції для певного одержувача. У Beancount 3.x ця можливість запитів була перенесена в окремий пакет beanquery, але з точки зору користувача вона все ще забезпечує гнучку звітність за допомогою SQL-подібних запитів.

Простий текст та контроль версій: Як інструмент обліку на основі простого тексту, Beancount наголошує на контролі користувача та довговічності даних. Бухгалтерська книга – це просто текстовий файл .beancount, який можна редагувати в будь-якому текстовому редакторі. Це означає, що вся ваша фінансова історія зберігається в людиночитаному форматі, і ви можете розмістити її в Git або іншій VCS для відстеження змін з часом. Користувачі часто зберігають свій файл Beancount під контролем версій, щоб підтримувати аудиторський слід кожної зміни (з повідомленнями комітів, що описують зміни). Цей підхід відповідає філософії Beancount, згідно з якою облікові дані, особливо особисті фінанси або фінанси малого бізнесу, повинні бути прозорими та "стійкими до майбутніх змін" – не заблокованими у власницькій базі даних. За словами самого Мартіна Блейса, Beancount – це "плід праці", створений бути простим, довговічним та безкоштовним для спільноти. Він був вперше розроблений близько 2007 року і еволюціонував через значні переробки (з v1 до v2, а тепер v3 у 2024 році), щоб удосконалити свій дизайн, зберігаючи при цьому свою основну філософію мінімалізму та коректності.

Інструменти, Плагіни та Розширення в Екосистемі Beancount

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

Утиліти для імпорту даних (Імпортери)

Однією з найважливіших потреб для практичного використання є імпортування транзакцій з банків, кредитних карток та інших фінансових установ. Beancount надає фреймворк для імпорту та скрипти для імпорту, надані спільнотою, для цієї мети. У Beancount 2.x вбудований модуль beancount.ingest (з командами, такими як bean-extract та bean-identify) використовувався для визначення плагінів імпортерів на Python та їх застосування до завантажених виписок. У Beancount 3.x це було замінено зовнішнім проєктом під назвою Beangulp. Beangulp — це спеціалізований фреймворк для імпортерів, який еволюціонував з beancount.ingest і тепер є рекомендованим способом автоматизації імпорту транзакцій для Beancount 3.0. Він дозволяє писати скрипти Python або інструменти командного рядка, які читають зовнішні файли (такі як виписки CSV або PDF) та виводять записи Beancount. Цей новий підхід відокремлює логіку імпорту від ядра Beancount – наприклад, стара команда bean-extract була видалена у версії 3, і натомість ваші скрипти імпорту самі генерують транзакції через інтерфейс командного рядка Beangulp.

Десятки готових імпортерів існують для різних банків та форматів, надані спільнотою. Існують скрипти імпортерів для установ по всьому світу – від Alipay та WeChat Pay у Китаї, до різних європейських банків (Commerzbank, ING, ABN AMRO тощо), до американських банків, таких як Chase та Amex. Багато з них зібрані у публічних репозиторіях (часто на GitHub) або в пакетах, таких як beancount-importers. Наприклад, проєкт Tarioch Beancount Tools (tariochbctools) надає імпортери для швейцарських та британських банків і навіть обробляє імпорт криптотранзакцій. Іншим прикладом є Lazy Beancount, який містить набір поширених імпортерів (для Wise, Monzo, Revolut, IBKR тощо) та надає налаштування на основі Docker для легкої автоматизації. Незалежно від того, який банк чи фінансовий сервіс ви використовуєте, ймовірно, хтось вже написав імпортер Beancount для нього – або ви можете написати свій власний, використовуючи фреймворк Beangulp. Гнучкість Python означає, що імпортери можуть обробляти парсинг файлів CSV/Excel, завантаження OFX/QIF або навіть скрапінг API, а потім генерувати транзакції у стандартизованому форматі Beancount.

Редагування та інтеграція з редакторами

Оскільки бухгалтерські книги Beancount — це просто текст, користувачі часто використовують свої улюблені текстові редактори або IDE для їх ведення. Екосистема пропонує плагіни підтримки редакторів, щоб зробити цей досвід зручнішим. Існують розширення для багатьох популярних редакторів, які додають підсвічування синтаксису, автозаповнення назв рахунків та перевірку помилок у реальному часі:

  • Режим Beancount для Emacs: Доступний основний режим Emacs (beancount-mode) для редагування файлів .beancount, що пропонує такі функції, як підсвічування синтаксису та інтеграцію з перевіркою Beancount. Він може навіть запускати bean-check у фоновому режимі, щоб помилки в бухгалтерській книзі (наприклад, незбалансована транзакція) позначалися під час редагування.
  • Розширення VS Code: Розширення Beancount на VSCode Marketplace надає подібні зручності для користувачів Visual Studio Code. Воно підтримує підсвічування синтаксису, вирівнювання сум, автозаповнення для рахунків/одержувачів і навіть перевірку балансу на льоту при збереженні файлу. Воно також може інтегруватися з Fava, дозволяючи запускати веб-інтерфейс Fava з VSCode.
  • Плагіни або режими також існують для Vim, Atom та інших редакторів. Наприклад, існує граматика Tree-sitter для Beancount, яка забезпечує підсвічування синтаксису в сучасних редакторах і навіть була прийнята у веб-компоненті редактора Fava. Коротко кажучи, незалежно від вашого середовища редагування, спільнота, ймовірно, надала плагін, щоб зробити редагування файлів Beancount зручним і безпомилковим.

Для швидкого введення транзакцій поза традиційними редакторами також існують такі інструменти, як Bean-add та мобільні додатки. Bean-add — це інструмент командного рядка, який дозволяє додавати нову транзакцію через запит або в один рядок, обробляючи пропозиції щодо дати та рахунку. На мобільних пристроях проєкт під назвою Beancount Mobile надає простий інтерфейс для введення транзакцій на ходу (наприклад, запис готівкової покупки з вашого телефону). Крім того, існує Telegram-бот Beancount для фіксації транзакцій через повідомлення — ви можете надіслати повідомлення з деталями транзакції, і бот відформатує його у файл вашої бухгалтерської книги.

Веб-інтерфейси та інструменти візуалізації

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

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

Під капотом Fava написана на Python (Flask на бекенді) та JavaScript (Svelte на фронтенді). Вона має власний цикл випуску та активно підтримується. Зокрема, Fava йшла в ногу з розробкою Beancount – наприклад, Fava 1.30 додала підтримку Beancount v3, перейшовши на використання нових пакетів beanquery та beangulp всередині. (Вона все ще підтримує Beancount 2 для старіших книг обліку.) Зосередженість Fava на зручності використання включає приємні дрібниці, такі як автозавершення у веб-редакторі, та елегантний інтерфейс користувача з темним режимом та адаптивними діаграмами. Існує також відгалуження під назвою Fava-GTK, яке пакує Fava в настільний додаток для користувачів GNOME/Linux, які віддають перевагу відчуттю нативного додатку.

Крім Fava, існують інші варіанти візуалізації та аналізу. Оскільки дані Beancount можуть бути експортовані або запитувані як таблиці, користувачі часто використовують такі інструменти, як Jupyter notebooks або Pandas для власного аналізу. Наприклад, один користувач описує витягування даних з Beancount через інтерфейс запитів у Pandas DataFrame для підготовки власного звіту. Існують також скрипти, надані спільнотою, для конкретних звітів – наприклад, інструмент аналізу розподілу портфеля або контрольна карта процесу для витрат порівняно з чистою вартістю. Однак, для більшості людей Fava надає більш ніж достатньо можливостей звітності без необхідності писати код. Вона навіть підтримує розширення: ви можете просто додати файли Python, які додають нові сторінки звітів або діаграми до Fava. Помітним розширенням є fava-envelope для конвертного бюджетування всередині Fava. Загалом, Fava слугує центральним вузлом візуалізації екосистеми Beancount.

Інструменти командного рядка та скрипти

Beancount постачається з різноманітними інструментами командного рядка (особливо в старішій гілці v2, деякі з яких були скорочені у v3). Ці інструменти працюють з вашим файлом облікової книги для його перевірки або генерації певних звітів у текстовому форматі або HTML:

  • bean-check: валідатор, який перевіряє файл на синтаксичні або бухгалтерські помилки. Запуск bean-check myfile.beancount повідомить вас про будь-який дисбаланс, відсутній рахунок або інші проблеми, і не виведе нічого, якщо файл не містить помилок.
  • bean-format: форматувальник, який впорядковує вашу облікову книгу, вирівнюючи числа в акуратні стовпці, подібно до запуску форматувальника коду для вихідного коду. Це допомагає підтримувати файл чистим і читабельним.
  • bean-query: інтерактивна оболонка або пакетний інструмент для виконання мови запитів Beancount у вашій обліковій книзі. Ви можете використовувати його для створення власних табличних звітів (наприклад, bean-query myfile.beancount "SELECT account, sum(amount) WHERE ...").
  • bean-report: універсальний генератор звітів (у v2), який може виводити попередньо визначені звіти (баланс, звіт про прибутки та збитки, пробний баланс тощо) на консоль або у файли. Наприклад, bean-report file.beancount balances виведе залишки на рахунках. (На практиці, багато з цих текстових звітів були замінені більш приємним представленням Fava.)
  • bean-web / bean-bake: старіший веб-інтерфейс, який обслуговував звіти на localhost або "запікав" їх як статичні HTML-файли. Вони переважно використовувалися до того, як Fava стала популярною; bean-web надавав базовий веб-перегляд тих самих звітів, які міг генерувати bean-report. У Beancount 3 bean-web було видалено (оскільки Fava тепер є рекомендованим веб-інтерфейсом, що пропонує чудовий досвід).
  • bean-example: утиліта для генерації прикладу файлу облікової книги (корисна для новачків, щоб побачити шаблон записів Beancount).
  • bean-doctor: інструмент налагодження, який може діагностувати проблеми у вашій обліковій книзі або середовищі.

Варто зазначити, що станом на Beancount v3, багато з цих інструментів були винесені з основного проєкту. Основний пакет Beancount був оптимізований, а такі інструменти, як механізм запитів та імпортери, були розділені на окремі пакети (beanquery, beangulp тощо) для полегшення обслуговування. Наприклад, функціональність bean-query тепер надається інструментом beanquery, який встановлюється окремо. З точки зору користувача, функціональність залишається доступною; її просто було модулізовано. Спільнота Arch Linux відзначила цю зміну під час оновлення Fava: пакет Fava додав залежності від beanquery та beangulp для підтримки Beancount 3.x. Цей модульний підхід також дозволяє іншим членам спільноти робити внесок у ці допоміжні інструменти більш незалежно від циклу випуску Beancount.

Плагіни та розширення Beancount

Однією з визначних переваг екосистеми Beancount є система плагінів. Додавши рядок plugin "module.name" до вашого файлу Beancount, ви можете інтегрувати власну логіку Python, яка виконується під час обробки книги. Спільнота створила багато плагінів для розширення можливостей Beancount:

  • Якість даних та правила: Приклади включають beancount-balexpr, який дозволяє стверджувати рівняння за участю кількох рахунків (наприклад, Актив А + Актив Б = Зобов'язання X), та beancount-checkclosed, який автоматично вставляє твердження про баланс, коли ви закриваєте рахунок, щоб переконатися, що він дорівнює нулю. Існує навіть плагін для забезпечення сортування транзакцій у файлі за датою (autobean.sorted) для виявлення записів не за порядком.
  • Автоматизація: Плагін beancount-asset-transfer може генерувати записи про перекази в натуральній формі між рахунками (корисно для переміщення акцій між брокерами зі збереженням бази витрат). Інший, autobean.xcheck, перевіряє вашу книгу Beancount на відповідність зовнішнім випискам щодо розбіжностей.
  • Повторювані транзакції та бюджети: Плагін «repeat» або interpolate від Akuukis дозволяє визначати повторювані транзакції або розподіляти річні витрати на місяці. Для бюджетування розширення fava-envelope (використовується через Fava) підтримує методологію конвертного бюджетування у вигляді простого тексту. Існує також MiniBudget від Френка Девіса – невеликий автономний інструмент, натхненний Beancount, що допомагає з бюджетуванням для особистого використання або малого бізнесу.
  • Податки та звітність: Деякі плагіни допомагають з податковим обліком, наприклад, той, що автоматично класифікує приріст капіталу на короткостроковий та довгостроковий. Інший (fincen_114 від Джастуса Пендлтона) генерує звіт FBAR для платників податків США з іноземними рахунками, ілюструючи, як дані Beancount можуть бути використані для регуляторної звітності.
  • Репозиторії плагінів спільноти: Існують підібрані набори плагінів, такі як beancount-plugins (від Дейва Стівенса), що зосереджені на таких речах, як записи про амортизацію, та beancount-plugins-zack (від Стефано Заккіролі), які включають різноманітні допоміжні засоби, такі як сортування директив.

На додаток до плагінів, інші службові інструменти, що оточують Beancount, вирішують специфічні потреби. Наприклад, beancount-black – це автоматичний форматувальник, схожий на форматувальник коду Black, але для файлів книги Beancount. Існує Beancount Bot (Telegram/Mattermost) для додавання транзакцій через чат, як згадувалося, та робочий процес Alfred для macOS для швидкого додавання транзакцій до вашого файлу. Інструмент під назвою Pinto пропонує «потужний» інтерфейс командного рядка з інтерактивним введенням (як покращений bean-add). Для тих, хто мігрує з інших систем, існують конвертери (YNAB2Beancount, CSV2Beancount, GnuCash2Beancount, Ledger2Beancount), які допомагають імпортувати дані з інших джерел.

Підсумовуючи, екосистема Beancount є досить розгалуженою. Таблиця 1 нижче перелічує деякі основні інструменти та розширення з їхніми ролями:

Інструмент/РозширенняОпис
Fava (веб-інтерфейс)Повнофункціональний веб-додаток для перегляду та редагування книг Beancount. Надає інтерактивні звіти (баланс, доходи тощо), діаграми та можливості запитів. Значно підвищує зручність використання Beancount.
Beangulp (фреймворк імпорту)Незалежний фреймворк імпорту для Beancount v3, що замінює старий модуль ingest. Допомагає конвертувати банківські виписки (CSV, PDF тощо) у записи Beancount за допомогою скриптів плагінів.
Beanquery (інструмент запитів)Незалежний SQL-подібний механізм запитів для даних Beancount. Замінює bean-query у v3, дозволяючи розширені запити транзакцій та балансів за допомогою знайомого синтаксису SELECT-FROM-WHERE.
Bean-check / Bean-formatОсновні інструменти командного рядка для перевірки файлу Beancount (на наявність помилок) та його автоматичного форматування для забезпечення послідовності. Корисні для підтримки правильної та чистої книги.
Плагіни редакторів (Emacs, VSCode, Vim тощо)Плагіни/режими, що додають підтримку синтаксису Beancount та лінтинг у текстових редакторах. Покращують досвід ручного редагування файлів .beancount за допомогою таких функцій, як автозавершення та підсвічування помилок у реальному часі.
Імпортери спільнотиКолекції скриптів імпорту банківських даних (багато на GitHub), що охоплюють банки в США, ЄС, Азії та інших регіонах. Дозволяють користувачам автоматично імпортувати транзакції зі своїх фінансових установ у Beancount.
Плагіни (розширення Ledger)Необов'язкові вбудовані плагіни для застосування правил або додавання функціональності (наприклад, розподіл витрат, повторювані записи, власні твердження про баланс). Написані на Python і виконуються під час обробки файлу для налаштування.
Конвертери (інструменти міграції)Утиліти для конвертації даних з інших форматів у Beancount, наприклад, з GnuCash або Ledger CLI у формат Beancount. Сприяють впровадженню Beancount без необхідності починати з нуля.

Порівняння з Ledger, hledger та подібними системами

Beancount належить до сімейства інструментів обліку подвійного запису в текстовому форматі, серед яких виділяються Ledger CLI (Ledger Джона Віглі) та hledger. Хоча всі ці системи поділяють основну ідею текстових файлів обліку та подвійного запису, вони відрізняються синтаксисом, філософією та зрілістю екосистеми. Наступна таблиця висвітлює ключові відмінності між Beancount, Ledger та hledger:

АспектBeancount (Python)Ledger CLI (C++)hledger (Haskell)
Синтаксис та структура файлуСуворий, структурований синтаксис, визначений

Сценарії використання Beancount

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

Особисті фінанси

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

  • Консолідація та аналіз: Усі ваші транзакції можуть зберігатися в одному текстовому файлі (або наборі файлів), що представляє роки фінансової історії. Це полегшує аналіз довгострокових тенденцій. За допомогою мови запитів Beancount або Fava ви можете за лічені секунди відповісти на запитання на кшталт «Скільки я витратив на подорожі за останні 5 років?» або «Який мій середній щомісячний рахунок за продукти?». Один користувач зазначив, що після переходу на Beancount, «аналіз фінансових даних (витрат, пожертвувань, податків тощо) є тривіальним» як через Fava, так і шляхом запитів до даних та використання таких інструментів, як Pandas. По суті, ваша бухгалтерська книга стає особистою фінансовою базою даних, яку ви можете запитувати за бажанням.
  • Бюджетування та планування: Хоча Beancount не нав'язує систему бюджетування, ви можете її реалізувати. Деякі користувачі використовують конвертне бюджетування, створюючи бюджетні рахунки або використовуючи плагін fava-envelope. Інші просто використовують періодичні звіти для порівняння витрат із цільовими показниками. Оскільки це простий текст, інтеграція Beancount із зовнішніми інструментами бюджетування або електронними таблицями є простою (експорт даних або використання виводів CSV із запитів).
  • Відстеження інвестицій та чистої вартості: Beancount чудово відстежує інвестиції завдяки надійній обробці собівартості та ринкових цін. Ви можете записувати купівлі/продажі акцій, криптовалюти тощо з деталями собівартості, а потім використовувати директиви Prices для відстеження ринкової вартості. Fava може відображати графік чистої вартості з часом та розбивку портфеля за класами активів. Це надзвичайно корисно для управління особистим капіталом – ви отримуєте інформацію, подібну до тієї, що надають комерційні інструменти, такі як Mint або Personal Capital, але повністю під вашим контролем. Обробка кількох валют також вбудована, тому, якщо ви тримаєте іноземні валюти або криптовалюту, Beancount може відстежувати їх та конвертувати для звітності.
  • Звірка та точність: Особисті фінанси часто передбачають звірку з банківськими виписками. За допомогою Beancount можна регулярно звіряти рахунки, використовуючи твердження балансу або функцію документів. Наприклад, щомісяця ви можете додавати запис balance Assets:Bank:Checking <date> <balance>, щоб підтвердити, що ваша бухгалтерська книга відповідає банківській виписці на кінець місяця. Інструмент bean-check (або відображення помилок Fava) попередить вас, якщо щось не збігається. Один користувач згадує про щомісячну звірку всіх рахунків, що «допомагає виявити будь-яку незвичайну активність» – хороша практика гігієни особистих фінансів, яку полегшує Beancount.
  • Автоматизація: Технічно підковані особи автоматизували значну частину свого робочого процесу особистих фінансів за допомогою Beancount. Використовуючи імпортери, завдання cron та, можливо, трохи Python, ви можете налаштувати свою систему так, щоб, наприклад, щодня ваші банківські транзакції завантажувалися (деякі використовують OFX або API) та додавалися до вашого файлу Beancount, класифіковані за правилами. З часом ваша бухгалтерська книга здебільшого оновлюється автоматично, і вам залишається лише переглядати та коригувати за потреби. Учасник спільноти на Hacker News поділився, що через 3 роки їхні бухгалтерські книги Beancount були «на 95% автоматичними». Такий рівень автоматизації можливий завдяки відкритості Beancount у простому тексті та можливостям сценаріїв.

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

Облік малого бізнесу

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

  • Головна книга та фінансова звітність: Малий бізнес може розглядати файл Beancount як свою головну книгу. Ви матимете рахунки активів для банківських рахунків, дебіторської заборгованості, можливо, запасів; рахунки зобов’язань для кредитних карток, позик, кредиторської заборгованості; власний капітал для капіталу власника; рахунки доходів для продажів або послуг; та рахунки витрат для всіх ділових витрат. Ведучи цю книгу, ви можете в будь-який час скласти Звіт про прибутки та збитки (Звіт про фінансові результати) та Баланс (Звіт про фінансовий стан), використовуючи звіти або запити Beancount. Фактично, вбудовані звіти Beancount або Fava можуть генерувати баланс та Звіт про прибутки та збитки за лічені секунди, які ідеально відповідають принципам бухгалтерського обліку. Цього може бути достатньо для невеликої операції, щоб оцінити прибутковість, фінансовий стан та грошовий потік (з невеликим запитом для грошового потоку, оскільки прямі звіти про рух грошових коштів не вбудовані, але можуть бути виведені).
  • Рахунки-фактури та дебіторська/кредиторська заборгованість: Beancount не має вбудованої системи виставлення рахунків; користувачі зазвичай обробляють виставлення рахунків поза системою (наприклад, створюють рахунки-фактури в Word або додатку для рахунків-фактур), а потім записують результати в Beancount. Наприклад, коли ви виставляєте рахунок-фактуру, ви робите запис, дебетуючи рахунок дебіторської заборгованості та кредитуючи рахунок доходів. Коли надходить платіж, ви дебетуєте рахунок Готівка/Банк та кредитуєте рахунок дебіторської заборгованості. Таким чином, ви можете відстежувати непогашену дебіторську заборгованість, переглядаючи залишок на рахунку дебіторської заборгованості. Те саме стосується рахунків до сплати (кредиторської заборгованості). Хоча це більш ручний процес, ніж у спеціалізованому бухгалтерському програмному забезпеченні (яке може надсилати нагадування або інтегруватися з електронною поштою), це цілком можливо. Деякі користувачі ділилися шаблонами або робочими процесами щодо того, як вони керують рахунками-фактурами за допомогою Beancount та забезпечують, щоб вони не пропускали відкриті рахунки-фактури (наприклад, використовуючи метадані або користувацькі запити для переліку неоплачених рахунків-фактур).
  • Запаси або собівартість реалізованої продукції: Для підприємств, що продають продукцію, Beancount може відстежувати закупівлі та продажі запасів, але це вимагає дисциплінованих записів. Ви можете використовувати функції Inventory (Запаси) та обліку витрат: купівля запасів збільшує рахунок активів (з вартістю, прив'язаною до товарів), продаж переміщує вартість у витрати (СОГС) та реєструє дохід. Оскільки Beancount наполягає на відповідності партій, він забезпечить належне зменшення запасів за правильною вартістю, що може фактично гарантувати точність ваших розрахунків валового прибутку, якщо все зроблено правильно. Однак, немає автоматичного відстеження SKU або чогось подібного – все відбувається на фінансовому рівні (кількість та вартість).
  • Розрахунок заробітної плати та складні операції: Beancount може реєструвати операції з розрахунку заробітної плати (витрати на заробітну плату, утримання податків тощо), але розрахунок цих сум може здійснюватися зовнішньо або за допомогою іншого інструменту, а потім просто заноситися до

Спільнота та діяльність з розробки

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

  • Підтримка Проєкту: Основним автором Beancount є Мартін Блейс, який розпочав проєкт близько 2007 року і провів його через численні версії. Розробка протягом тривалого часу була переважно зусиллям однієї людини (окрім внесків спільноти у вигляді патчів). Філософія Мартіна полягала в створенні інструменту обліку, "корисного насамперед для мене, а також для інших, у найпростіший та найдовговічніший спосіб". Ця особиста мотивація підтримувала проєкт як працю з любові. Станом на 2025 рік Мартін Блейс все ще є провідним мейнтейнером (його ім'я з'являється в комітах, і він відповідає на запитання у списку розсилки/трекері проблем), але екосистема навколо Beancount має багато інших учасників у їхніх відповідних проєктах.

  • GitHub та Репозиторії: Вихідний код розміщено на GitHub у репозиторії beancount/beancount. Проєкт ліцензований за GPL-2.0 і за роки залучив помірну кількість учасників. У середині 2024 року Beancount Версія 3 була офіційно випущена як нова стабільна гілка. Цей випуск передбачав розділення деяких компонентів: наприклад, репозиторій beangulp (для імпортерів) та репозиторій beanquery (для інструменту запитів) тепер є частиною організації beancount на GitHub, що підтримуються дещо незалежно. Основний репозиторій Beancount зосереджений на базовому обліковому двигуні та парсері файлів. Станом на 2025 рік GitHub Beancount показує активні обговорення проблем та деяку поточну розробку – хоча й невеликого обсягу, проблеми та запити на злиття надходять поступово, а періодичні оновлення вносяться для виправлення помилок або вдосконалення функцій.

  • Розробка Fava: Fava, веб-інтерфейс, розпочався як окремий проєкт (створений Домініком Аумайром, який зареєстрував авторські права на нього у 2016 році). Він має власну спільноту учасників і також розміщений на GitHub під beancount/fava. Мейнтейнери та учасники Fava (наприклад, Якоб Шнец, Стефан Отте та інші в останні роки) активно вдосконалюють інтерфейс, випускаючи релізи кожні кілька місяців. Чат Fava на Gitter (посилання на документацію Fava) та трекер проблем GitHub – це місця, де користувачі та розробники обговорюють нові функції або помилки. Проєкт вітає внески, про що свідчить примітка в CHANGELOG, яка дякує численним членам спільноти за їхні PR. Тісне узгодження Fava з розробкою Beancount (таке як швидке додавання підтримки Beancount v3 та нового синтаксису beanquery) свідчить про хорошу співпрацю між двома проєктами.

  • Списки Розсилки та Форуми: Beancount має офіційний список розсилки (раніше на Google Groups, під назвою "Beancount" або іноді обговорювався у загальному списку Ledger). Цей список розсилки є скарбницею знань – користувачі ставлять запитання про те, як моделювати певні сценарії, повідомляють про помилки та діляться порадами. Мартін Блейс відомий тим, що відповідає у списку розсилки з детальними поясненнями. Крім того, ширша спільнота Plain Text Accounting значно перетинається. Список розсилки Ledger CLI часто розглядає питання щодо Beancount, а також існує форум на plaintextaccounting.org та субреддіт r/plaintextaccounting, де часто з'являються теми Beancount. Користувачі на цих платформах обговорюють порівняння, діляться особистими налаштуваннями та допомагають новачкам. Загальний тон спільноти дуже співпрацюючий – користувачі Beancount часто допомагають користувачам Ledger і навпаки, визнаючи, що всі ці інструменти мають схожі цілі.

  • Чат-групи: Окрім списків розсилки, існують чат-канали, такі як Plaintext Accounting Slack/Discord (організовані спільнотою) та Fava Gitter. Це менш формальні, більш оперативні способи отримати допомогу або обговорити функції. Наприклад, можна зайти в Slack, щоб запитати, чи є у когось імпортер для конкретного банку. Існує також канал Matrix/IRC (історично #ledger або #beancount на IRC), де перебувають деякі давні користувачі. Хоча ці канали не такі численні, як спільноти для масового програмного забезпечення, вони мають обізнаних людей, які часто можуть відповісти на незрозумілі бухгалтерські питання.

  • Учасники та Ключові Члени Спільноти: Кілька імен виділяються у спільноті Beancount:

    • "Redstreet" (Red S): Плідний учасник, який написав багато плагінів (таких як beancount-balexpr, sellgains та інші) і часто надає підтримку. Він також підтримує набір скриптів-імпортерів та інструмент під назвою bean-download для отримання виписок.
    • Василь М (Evernight): Автор

Останні розробки та майбутні функції

Станом на 2025 рік, екосистема Beancount зазнала значних розробок за останні кілька років, і тривають обговорення щодо майбутніх вдосконалень. Ось деякі важливі останні розробки та погляд на те, що може з'явитися:

  • Випуск Beancount 3.0 (2024): Після тривалого періоду, коли Beancount 2.x був стандартом, версія 3 була офіційно випущена в середині 2024 року. Це була важлива віха, оскільки v3 представляє спрощення та модернізацію кодової бази. Мартін Блейс передбачав v3 як шанс "перегрупувати та спростити" систему далі. Хоча спочатку вважалося, що це буде велике переписування, на практиці оновлення для користувачів не було надто руйнівним. Основні зміни відбулися під капотом: новий парсер, деякі покращення продуктивності та виділення необов'язкових компонентів з ядра. Випуск впроваджувався поступово (v3 був у бета-версії з 2022 року, але до липня 2024 року він став рекомендованою стабільною версією). Користувачі, такі як Сіддхант Гоел, повідомили, що міграція з 2.x на 3.x була "переважно безпроблемною" лише з кількома змінами у робочому процесі.

  • Модуляризація – інструменти переміщено в окремі пакети: Однією з великих змін у Beancount 3 є те, що багато інструментів, які раніше знаходилися в монолітному репозиторії, були виділені. Наприклад, bean-query тепер надається пакетом beanquery, а beancount.ingest було замінено пакетом beangulp. Команди, такі як bean-extract та bean-identify (для імпорту), були видалені з ядра Beancount. Натомість, філософія полягає у використанні окремих скриптів для імпорту. Це означає, що якщо ви оновитеся до v3, вам потрібно буде встановити beangulp та запускати скрипти імпорту (кожен імпортер – це, по суті, невелика програма), замість того, щоб мати центральний конфігураційний файл bean-extract. Аналогічно, запити виконуються через beanquery, який може встановлюватися та оновлюватися незалежно від ядра Beancount. Цей модульний підхід був розроблений для спрощення обслуговування та заохочення внесків спільноти. Він також зменшив ядро Beancount, тому ядро зосереджується виключно на логіці парсингу та обліку, тоді як допоміжна функціональність може розвиватися окремо. З точки зору користувача, після оновлення потрібно скоригувати команди (наприклад, використовувати bean-query з beanquery або використовувати Fava, яка все одно це абстрагує). Журнал змін Fava чітко зазначає ці зміни: Fava тепер залежить від beanquery та beangulp, і вона обробляє робочі процеси імпорту по-різному для Beancount 3 та 2.

  • Покращення продуктивності: Продуктивність була однією з мотивацій для перегляду дизайну Beancount. План v3 (як викладено в документі Мартіна "Цілі V3") включав оптимізацію парсера та, можливо, прискорення процесу завантаження та зменшення споживання пам'яті. До 2025 року деякі з цих покращень були реалізовані. За словами користувачів, які мають дуже великі облікові книги (десятки тисяч транзакцій або багато операцій з акціями), вони повідомили про кращу продуктивність з останньою версією. Наприклад, користувач, який працює з "мікроінвестиційними транзакціями" і зіткнувся з проблемами продуктивності, зазначив ці занепокоєння в Google Group – такий зворотний зв'язок, ймовірно, вплинув на v3. Новий парсер є більш ефективним і написаний зрозуміліше, що може бути розширено в майбутньому. Крім того, Fava 1.29 перейшла на більш ефективний механізм відстеження файлів (використовуючи бібліотеку watchfiles) для покращення чуйності, коли змінюється облікова книга. Заглядаючи вперед, спільнота може дослідити інкрементальний парсинг (обробка лише змінених частин файлу замість всього) для швидшої обробки великих облікових книг – це було натякнуто в документації як ідея "сервера Beancount / інкрементального проведення операцій".

  • Вдосконалення відстеження інвестицій: Триває робота над покращенням звітування про інвестиції та портфелі. Наприклад, детально обговорювалася обробка середньої собівартості проти FIFO. Хоча Beancount забезпечує відповідність партій, деякі користувачі віддають перевагу середній собівартості для певних юрисдикцій. Існує пропозиція та обговорення щодо того, щоб зробити проведення операцій за собівартістю більш гнучким (можливо, за допомогою плагіна або опції). До 2025 року вбудованого перемикача для середньої собівартості немає, але основа у v3 (переробка проведення операцій) полегшує реалізацію плагінами. Було випущено плагін спільноти "Gains Minimizer", який може пропонувати, які партії продати для мінімізації податків, показуючи тип розширених інструментів, що створюються навколо інвестицій. Fava також додала функції, такі як розширення зведення портфеля (з розрахунками норми прибутку). Щодо майбутніх функцій, можна очікувати більше в цій галузі: можливо, автоматичні пропозиції щодо ребалансування портфеля або аналіз ризиків, ймовірно, як зовнішні інструменти, які читають дані Beancount (оскільки всі дані є).

  • Нові плагіни та розширення: Екосистема плагінів постійно зростає. Останні помітні доповнення включають:

    • Інструменти для звітування про бюджет – наприклад, простий CLI-звітник бюджету, якщо не використовується інтерфейс Fava.
    • Шифрування та безпека – було представлено налаштування fava-encrypt, що дозволяє розміщувати Fava онлайн із зашифрованою обліковою книгою в стані спокою, вирішуючи проблему самостійного розміщення ваших фінансів.
    • Плагіни для покращення якості життя – такі як autobean-format (новий форматер, який може обробляти більше особливих випадків шляхом парсингу та повторного друку файлу), та інтеграція beancheck в редакторах (flymake для Emacs).

    Заглядаючи вперед, спільнота, ймовірно, продовжить заповнювати прогалини за допомогою плагінів. Наприклад, ми можемо побачити більше плагінів, пов'язаних з податками (деякі користувачі поділилися скриптами для таких речей, як розрахунок фіктивних продажів або конкретних місцевих податкових звітів).

  • Потенційні майбутні функції: На основі обговорень у трекері завдань та списку розсилки, на горизонті є кілька ідей (хоча не гарантовано):

    • Роздільна здатність часу: Наразі Beancount відстежує лише дати (без часових міток) для транзакцій. Були питання щодо додавання часу (для операцій з акціями або впорядкування транзакцій одного дня). Мартін Блейс чітко вирішив, що часові мітки в межах дня виходять за рамки, щоб зберегти простоту. Це навряд чи зміниться найближчим часом – тому майбутні версії, ймовірно, не додаватимуть роздільної здатності часу, дотримуючись позиції, що якщо вам потрібен час, ви включаєте його в опис або рахунок.
    • Покращене редагування графічного інтерфейсу: Fava постійно покращує свої можливості редагування. Можливим є більш повнофункціональний веб-редактор (з автозаповненням, можливо, введення нових транзакцій на основі форми). Було закладено основу для використання tree-sitter у редакторі Fava. Ми можемо побачити, як Fava стане не просто переглядачем, а більш потужним редактором, зменшуючи потребу взагалі відкривати текстовий редактор для багатьох завдань.
    • Краща підтримка кількох облікових книг: Деякі користувачі підтримують кілька файлів Beancount (для різних суб'єктів або для розділення особистих та ділових фінансів). Наразі включення файлів можливе, але мало обмеження (плагіни у включених файлах тощо). Нещодавно було створено плагін autobean.include для безпечного включення зовнішніх облікових книг. У майбутньому ми можемо побачити першокласну підтримку багатофайлових налаштувань – можливо, концепцію Beancount-«проєкту» з кількома файлами (на це натякають функції, такі як налаштування beancount.mainBeanFile розширення VSCode). Це допоможе тим, хто веде облік для кількох суб'єктів або хоче модуляризувати свою облікову книгу.
    • Обчислення в реальному часі або інкрементальне обчислення: Зі зростанням облікових книг здатність швидко перераховувати звіти стає важливою. Існує ідея сервера Beancount, який залишається запущеним і оновлює результати зі зміною транзакцій. Це може проявитися як оптимізація у Fava або демон, який плагіни редактора можуть запитувати. Можливо, майбутній випуск Fava використовуватиме безперервно працюючий процес Beancount, щоб зробити інтерфейс користувача більш чуйним для величезних облікових книг.
    • Облік фондів / функції для некомерційних організацій: Була пропозиція щодо вдосконалення обліку фондів у Beancount. Некомерційні організації мають облікові потреби (обмежені проти необмежених фондів), які потенційно можуть моделюватися за допомогою ієрархії тегів або рахунків Beancount. Обговорення ще не призвело до вбудованих функцій, але якщо більше некомерційних організацій почнуть використовувати Beancount, це може сприяти появі нових можливостей (можливо, просто задокументовані найкращі практики або плагіни для відстеження залишків фондів).
  • Довгострокова перспектива: Мартін Блейс натякнув, що бачить майбутнє Beancount у перетворенні ядра на своєрідний двигун та перенесенні більшої функціональності до плагінів. Це відповідає тому, що ми бачимо (модуляризація у v3). Отже, "майбутня функція" у філософському сенсі – це більша розширюваність – можливо, навіть дозволяючи плагінам визначати нові типи директив або розширювати синтаксис контрольованими способами. Якщо це станеться, ядро Beancount може залишатися відносно невеликим і стабільним, тоді як екосистема надаватиме більшість нових функцій як доповнення. Це може призвести до маркетплейсу плагінів або більш централізованого списку плагінів, щоб користувачі могли вибирати (список Awesome Beancount є початком цього).

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

Десять порад з бухгалтерського обліку для покращення вашого робочого процесу з Beancount

· 6 min read
Mike Thrift
Mike Thrift
Marketing Manager

Чудова терапія для вашого бізнесу - це спокійний, збалансований реєстр. Наступні поради узагальнюють останні рекомендації для малого бізнесу в зручну для Beancount процедуру.

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

2024-09-12-bookkeeping-basics-for-therapists-with-beancount

1. Розділяйте бізнес-кошти та особисті кошти

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

2. Оберіть метод нарахування готівки або нарахування за фактом виконання робіт (робіт) — і дотримуйтесь його

Ваш метод бухгалтерського обліку визначає, коли ви реєструєте доходи та витрати. IRS дозволяє більшості малих підприємств вибирати між методом нарахування готівки або нарахування за фактом виконання робіт (робіт).

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

Ключовим є вибір одного методу на ранній стадії та його послідовне застосування. Ви навіть можете оголосити свій вибір у своєму реєстрі, використовуючи блок options Beancount, щоб формалізувати рішення.

3. Звіряйтеся регулярно

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

bean-balance books.bean "Assets:Bank" -e 2025-07-31

4. Автоматизуйте імпорт, де це можливо

Ваш час краще витратити на обслуговування клієнтів, ніж на ручне введення даних про транзакції. Екосистема Beancount тут блищить. Використовуйте такі інструменти, як bean-extract, щоб створювати конфігурації, які зчитують CSV-файли з вашого банку, платіжного процесора (наприклад, Stripe або Square) або системи EHR. Після налаштування ці скрипти можуть автоматично конвертувати необроблені дані у форматовані записи Beancount, значно зменшуючи кількість помилок та звільняючи години адміністративної роботи.

5. Категоризуйте негайно, а не під час податкової декларації

Відкладання категоризації - це рецепт стресу та неточності. Коли транзакція надходить до вашого реєстру, негайно призначте її до правильної категорії (наприклад, Income:Therapy:SelfPay, Expenses:Software:EHR, Expenses:CEU). Робити це в режимі реального часу гарантує, що ви правильно запам'ятаєте контекст кожної витрати. Чітко визначений план рахунків робить цей процес швидким та послідовним, перетворюючи ваш реєстр на багатий звіт про діяльність вашого бізнесу в режимі реального часу.

6. Зберігайте цифрові копії кожного чека та EOB

Паперові чеки вицвітають та губляться. Цифровий підхід є більш стійким та ефективним. Скануйте паперові чеки або зберігайте PDF-рахунки-фактури та пояснення виплат (EOB) у безпечній, організованій папці на вашому комп'ютері. З Beancount ви можете безпосередньо посилатися на ці файли з вашого реєстру, використовуючи метадані.

2025-07-15 * "CEU webinar"
Expenses:CEU 79.00 USD
Assets:Bank:Practice
document: "docs/ceu/2025-07-15-trauma-webinar.pdf"

Це створює бездоганний, автономний запис, який є безцінним під час податкової перевірки.

7. Відстежуйте тенденції руху грошових коштів, а не лише залишки

Знати свій поточний банківський баланс - це добре; розуміння потоку грошей у ваш бізнес та з нього - ще краще. Використовуйте потужну мову запитів Beancount для аналізу ваших фінансових тенденцій. Створіть графік ваших щомісячних доходів та витрат, визначте свої найприбутковіші послуги або спрогнозуйте потенційні касові розриви протягом повільніших місяців. Цей проактивний підхід, рекомендований провідними посібниками з бухгалтерського обліку, дозволяє вам приймати стратегічні рішення, а не реагувати на фінансові несподіванки.

8. Створюйте резервні копії та контролюйте версії вашого реєстру

Оскільки ваш реєстр Beancount - це простий текстовий файл, ви можете використовувати Git - потужну, безкоштовну систему контролю версій - для його керування. Зберігаючи свій реєстр у приватному репозиторії Git (на такому сервісі, як GitHub або GitLab), ви отримуєте дві важливі переваги безкоштовно:

  1. Повна історія: Ви можете бачити всі зміни, внесені до вашого реєстру.
  2. Резервне копіювання поза сайтом: Ваші дані захищені від локальних збоїв обладнання.

Візьміть за звичку "завантажувати" свої зміни після кожного сеансу звірки.

9. Переглядайте фінансову звітність щомісяця

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

bean-report books.bean income_statement -e 2025-07-31

10. Плануйте бюджет на податки протягом року

Для самозайнятого спеціаліста день сплати податків ніколи не повинен бути несподіванкою. Ставтеся до вашого майбутнього податкового рахунку як до періодичних витрат. Створіть рахунки зобов'язань у Beancount (наприклад, Liabilities:Tax:Federal, Liabilities:Tax:State) та регулярно перераховуйте певний відсоток кожного отриманого платежу на ці віртуальні рахунки. Коли настане час здійснювати ваші щоквартальні розрахункові податкові платежі, гроші будуть відкладені та чекатимуть, що зробить процес абсолютно безболісним.


Список швидкого старту

  • Відкрийте окремі банківські рахунки для практики.
  • Оберіть метод нарахування готівки або нарахування за фактом виконання робіт (робіт) та запишіть його у вашому options.
  • Напишіть скрипти для імпорту CSV-файлів з вашого банку та EHR за допомогою bean-extract.
  • Позначайте кожну транзакцію категорією після її надходження.
  • Звіряйтеся щотижня; створюйте резервні копії у вашому приватному репозиторії Git після цього.
  • Запускайте щомісячні звіти та запити щодо руху грошових коштів.
  • Перераховуйте податковий буфер на окремий ощадний рахунок з високою дохідністю.

Готові заспокоїти свої книги?

Встановіть Beancount, зафіксуйте свій перший запис, і нехай ці десять звичок забезпечать структуру, необхідну для того, щоб ваша терапевтична практика була фінансово обґрунтованою та багатою на аналітику. Щасливого ведення обліку!

Основи бухгалтерського обліку для терапевтів за допомогою Beancount

· 7 min read
Mike Thrift
Mike Thrift
Marketing Manager

Терапія – це про слухання; бухгалтерський облік – це про слухання ваших грошей. Коли нотатки про сеанси накопичуються, а відшкодування затримуються, прозорий набір книг стає спокоєм у хаосі.

Ведення приватної практики означає носити два капелюхи: клініциста та власника бізнесу. Хоча ваша експертиза полягає в наданні допомоги, фінансове здоров'я вашої практики залежить від чіткого, послідовного бухгалтерського обліку. Для терапевтів це завдання пов'язане з власним унікальним набором викликів.

2024-08-24-bookkeeping-basics-for-therapists-with-beancount

Чому бухгалтерський облік у терапії відчувається інакше

Фінансовий ритм терапевтичної практики рідко відповідає простій, передбачуваній схемі. Ця складність випливає з кількох ключових областей, через які стандартне програмне забезпечення для бухгалтерського обліку часто здається невідповідним.

  • Нерегулярний грошовий потік. Ваш потік доходів рідко буває лінійним. Сьогодні на ваш рахунок може надійти співплата клієнта, але відповідне відшкодування від страхової компанії може зайняти тижні або навіть місяці. Додайте до цього платіжні плани зі змінною шкалою, і ви керуєте готівкою, яка надходить у дуже різні терміни. Тому важливо розуміти різницю між тим, коли ви заробляєте гроші (нарахувальний облік) та коли ви їх отримуєте (касовий облік).
  • Сукупність зборів. Витрати на ведення сучасної практики швидко зростають. Від підписки на електронні медичні записи (ЕМЗ) та плати за обробку платежів до страхування відповідальності та професійного розвитку – численні невеликі витрати можуть непомітно з'їдати вашу прибуток, якщо їх не відстежувати ретельно.
  • Звільнення від податку з продажу, але велике самозайнятість. Хоча більшість послуг з психічного здоров'я звільнені від податку з продажу, ви не звільнені від податків. Як самозайнятий фахівець, ви несете відповідальність за сплату щоквартальних передплачених податків, які включають як податок на прибуток, так і податки на самозайнятість (SECA) для покриття соціального забезпечення та медичного страхування.
  • Чутливість HIPAA. Ваші фінансові дані пов'язані з захищеною медичною інформацією (ЗМІ). Використання стороннього хмарного програмного забезпечення для бухгалтерського обліку може розширити "поверхню атаки" вашої практики, створюючи ще один потенційний вектор для витоку даних. Система обліку у вигляді простого тексту, така як Beancount, зберігає всі ваші дані на вашому власному комп'ютері, під вашим контролем, зменшуючи цей ризик.

Семикроковий план Beancount

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

• Розділіть особисті та практичні кошти

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

• Створіть зручний для терапевта план рахунків

"План рахунків" – це просто список усіх категорій, які ви використовуєте для організації своїх фінансових операцій. Вважайте це системою зберігання ваших грошей. Ви почнете з п'яти основних типів рахунків: Активи, Зобов'язання, Власний капітал, Доходи та Витрати. Потім ви можете створити субрахунки, спеціально адаптовані до вашої терапевтичної практики.

2025-07-23 open Income:Therapy:SelfPay       USD
2025-07-23 open Income:Therapy:Insurance USD
2025-07-23 open Assets:AccountsReceivable USD
2025-07-23 open Expenses:CEU USD
2025-07-23 open Expenses:Software:EHR USD
2025-07-23 open Expenses:Licensing USD

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

• Виберіть касовий або нарахувальний метод (і дотримуйтесь його)

Вам потрібно вирішити, коли визнавати свої доходи та витрати.

  • Касовий метод: Ви записуєте доходи, коли отримуєте готівку, та витрати, коли їх оплачуєте.
  • Нарахувальний метод: Ви записуєте доходи, коли ви їх заробляєте (наприклад, коли сеанс завершено), та витрати, коли ви їх понесете, незалежно від того, коли відбувається обмін грошима.

Наприклад, якщо клієнт перераховує $1000 за пакет з п'яти сеансів, касовий метод записує повний дохід $1000 у день оплати. Нарахувальний метод записуватиме $200 доходу після кожного завершеного сеансу, що дасть вам більш точне уявлення про ваш щомісячний заробіток.

Емпіричне правило: Сольна практика, мало страхових виплат → касовий метод простіший і часто достатній. Групова практика, великі відшкодування → нарахувальний метод дає чіткіше уявлення про прибутковість.

• Відстежуйте дебіторську заборгованість та відшкодування

Однією з найбільших переваг Beancount є його здатність відстежувати гроші, які вам винні. Коли ви подаєте страхову виплату, вам ще не заплатили, але ви заробили дохід. Ви можете записати це на своєму рахунку Assets:AccountsReceivable. Коли надійде платіж (часто на меншу суму, ніж виставлено рахунок), ви можете "врегулювати" дебіторську заборгованість та врахувати страхове списання.

2025-07-10 * "Сеанс CPT 90837 – очікується BlueCross"
Assets:AccountsReceivable 150.00 USD
Income:Therapy:Insurance

2025-07-25 * "Платіж BlueCross CPT 90837"
Assets:Bank:Practice 135.00 USD
Expenses:InsuranceWriteOff 15.00 USD
Assets:AccountsReceivable -150.00 USD

Цей двоступеневий процес гарантує, що ви ніколи не втратите з поля зору непогашені вимоги та матимете точний облік страхових коригувань.

• Негайно класифікуйте витрати, що підлягають відрахуванню

Контроль над вашими витратами є ключем до мінімізації вашого податкового рахунку. IRS дозволяє вам відраховувати витрати, які є "звичайними та необхідними" для вашої професії. Для терапевтів це включає курси безперервної освіти (БО), обов'язковий державний нагляд, плату за поновлення ліцензії, страхування відповідальності та підписку на ЕМЗ. Класифікуючи ці витрати в міру їх виникнення, ви матимете точну суму на рік, готову до ваших щоквартальних податкових оцінок та подання декларації на кінець року.

• Звіряйте щотижня

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

# Перевірте кінцевий баланс вашого банківського рахунку для практики
bean-balance books.bean "Assets:Bank:Practice"

# Перегляньте зведення ваших джерел доходу
bean-query books.bean "SELECT account, SUM(position) WHERE account ~ 'Income' GROUP BY account"

# Сформуйте звіт про доходи за рік на сьогодні
bean-report books.bean income_statement --end 2025-07-23

Цей простий цикл – класифікація, звірка та звітність – є основою надійного управління фінансами для будь-якої приватної практики.

• Автоматизуйте та створюйте резервні копії

Використовуйте автоматизацію, щоб заощадити час та зменшити кількість помилок.

  • Використовуйте інструмент вилучення, такий як bean-extract, для автоматичного перетворення файлів CSV з вашого банку або ЕМЗ на записи транзакцій Beancount.
  • Зберігайте PDF-файли важливих документів, таких як пояснення виплат (EOB) або сертифікати БО, в окремій папці та пов'язуйте їх безпосередньо з відповідною транзакцією у вашій книзі за допомогою метаданих document:.
  • Ваша книга .bean – це простий текстовий файл, що робить її ідеальною для контролю версій. Щодня надсилайте свою книгу до приватного репозиторію Git (наприклад, на GitHub або GitLab) для безпечного резервного копіювання поза сайтом.

Поширені помилки (та швидкі виправлення)

Навіть з хорошою системою кілька поширених помилок можуть збити з пантелику терапевтів. Ось як їх виявити та виправити.

ПомилкаВиправлення
Облік чистих депозитів (об'єднує всі доходи/збори)Розділіть кожен страховий чек на рядки дохід та списання.
Забування про плату за неявкуОпублікуйте окремий рядок доходу з позначкою noshow для ясності.
Змішування витрат на БО та подорожіРозділіть Expenses:CEU та Expenses:Travel – обидва підлягають відрахуванню, але відстежуються по-різному.
Ігнорування старіння дебіторської заборгованостіЗапитуйте Assets:AccountsReceivable за датою, щоб відстежувати прострочені вимоги.

Контрольний список швидкого старту

  • Відкрийте банківський рахунок та кредитну картку лише для практики.
  • Клонуйте стартовий репозиторій Beancount та створіть свій план рахунків, специфічний для терапії.
  • Визначтеся з касовою або нарахувальною основою та зазначте це у своїх параметрах Beancount.
  • Напишіть просту конфігурацію імпортера для завантажень CSV з вашого банку, ЕМЗ або страхової компанії.
  • Заплануйте повторювану "годину Bean" (можливо, у п'ятницю вдень) для вашого робочого процесу імпорт → звірка → звітність.
  • Налаштуйте автоматичне резервне копіювання поза сайтом для ваших файлів .bean та перевіряйте процес відновлення раз на квартал.

Додаткова література

Готові заспокоїти фінансовий шум? Встановіть Beancount, запишіть свою першу плату за сеанс і дозвольте ясності простотекстового обліку надати вашій практиці необхідний простір та фінансову стабільність. Щасливого ведення обліку!

Основи бухгалтерського обліку для продавців Amazon за допомогою Beancount

· 7 min read
Mike Thrift
Mike Thrift
Marketing Manager

Коли ваша маржа залежить від копійок, точність перемагає здогадки.

Продаж на Amazon – це гра обсягів та швидкості. Але за потоком продажів та відправлень приховується складна мережа комісій, повернень, руху запасів та податкових зобов'язань. Стандартне програмне забезпечення для бухгалтерського обліку часто не здатне врахувати ці нюанси, залишаючи продавців з розмитим уявленням про їхню справжню прибутковість.

2024-07-16-bookkeeping-basics-for-amazon-sellers-with-beancount

Саме тут сяє простотекстова система бухгалтерського обліку, така як Beancount. Надаючи вам повний контроль над тим, як ви записуєте транзакції, ви можете створити фінансове джерело істини, яке ідеально моделює унікальні виклики торговельного майданчика Amazon. Цей посібник містить покроковий робочий процес, який допоможе вам бути на крок попереду комісій, податків та головного болю з інвентаризацією.

Чому бухгалтерський облік Amazon відрізняється

Якщо ви намагалися звірити виплату від Amazon з вашою банківською випискою, ви вже знаєте, що це не так просто. Фінансова реальність бізнесу на Amazon прихована за шарами абстракції.

  • Двотижневі одноразові виплати: Amazon не надсилає вам дохід від кожного продажу. Натомість, він надсилає один депозит кожні два тижні. Ця одноразова сума є чистою цифрою, з валових продажів віднімаються реферальні комісії, комісії FBA, витрати на рекламу, повернення та інші утримання. Щоб зрозуміти свій бізнес, ви повинні розбити цю єдину цифру на складові частини. (doola: A Business-in-a-Box™)
  • Інвентаризація всюди: Ваш інвентар постійно в русі — від вашого постачальника до центру підготовки, до різних центрів виконання FBA по всій країні та, нарешті, до клієнта. Точне відстеження собівартості реалізованих товарів (COGS) вимагає знання того, яка партія інвентарю (за якою вартістю) була використана для кожного продажу. (Bean Ninjas)
  • Комісії торговельного майданчика та акції: Значна частина вашого доходу негайно споживається комісіями: реферальні комісії, комісії FBA за комплектування та упаковку, щомісячні комісії за зберігання та витрати на рекламу. Окреме відстеження кожної з цих категорій витрат – єдиний спосіб розрахувати вашу справжню валову маржу та визначити реальну прибутковість продукту. (Profitwise Accounting)
  • Клаптикова ковдра податку з продажів: Хоча закони Amazon Marketplace Facilitator обробляють стягнення та перерахування податку з продажів у більшості штатів, це не повне рішення. Зберігання інвентарю на складах FBA може створити "нексус" (ділову присутність), що потенційно вимагатиме від вас реєстрації та подання документів у цих штатах, навіть якщо податок не стягується. Це складна сфера дотримання вимог, яка вимагає ретельного відстеження. (TaxDo)
  • Нижчі пороги 1099-K: Зі зниженням порогу звітності за формою 1099-K з 20 000 доларів США до 5 000 доларів США у 2024 році (і встановленням його на рівні лише 600 доларів США з 2026 року), майже кожен серйозний продавець отримає форму від Amazon, яка повідомляє про їхній валовий обсяг транзакцій до IRS. Ваша бухгалтерія повинна мати можливість ідеально звірятися з цією цифрою. (IRS)

Семикроковий план Beancount

Цей план використовує точність Beancount для вирішення складності Amazon.

1. Розділення каналів на ранній стадії

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

2025-07-22 open Income:Amazon               USD
2025-07-22 open Expenses:Amazon:FBAFee USD
2025-07-22 open Assets:Amazon:Payouts USD

2. Розкладання кожної виплати

Це найважливіша звичка. Ніколи не записуйте депозит Amazon як один рядок доходу. Натомість завантажте звіт про врегулювання "Усі транзакції" з Seller Central за відповідний період. Використовуйте цей звіт для створення однієї транзакції Beancount, яка розбиває виплату на її складові.

Депозит, який ви отримуєте в банку, є балансуючим записом. Валові продажі зараховуються на Income, тоді як усі комісії та повернення коштів списуються з їхніх відповідних рахунків Expenses.

; двотижнева виплата зі звіту про врегулювання
2025-07-14 * "Amazon Settlement #4361"
Assets:Bank:Operating 8432.17 USD
Income:Amazon:Sales -12274.50 USD
Expenses:Amazon:FBAFee 2454.80 USD
Expenses:Amazon:Adverts 1012.06 USD
Expenses:Amazon:Refunds 375.47 USD
Assets:Amazon:Reserve -100.00 USD

3. Відстеження запасів та COGS за допомогою партій

Beancount має першокласну систему відстеження запасів, яка називається "партії". Коли ви купуєте інвентар, ви записуєте кількість одиниць та їхню конкретну вартість. Коли одиниця продається, ви можете списати цю точну вартість, отримуючи ідеальний розрахунок собівартості реалізованих товарів (COGS).

; Купівля 1000 одиниць у постачальника
2025-07-01 * "Supplier PO-7421"
Assets:Inventory:WidgetA 1000 WidgetA {@ 4.20 USD}
Assets:Bank:Operating

; Пізніше запишіть вартість одного продажу
2025-07-16 * "FBA sale WidgetA | COGS"
Expenses:COGS 1 WidgetA {4.20 USD}
Assets:Inventory:WidgetA

4. Оберіть нарахування для ясності

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

5. Автоматизуйте імпорт

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

  • Використовуйте bean-extract для вилучення даних з форматованих CSV-файлів, експортованих такими сервісами, як A2X.
  • Напишіть прості скрипти Python для вилучення даних безпосередньо з SP-API Amazon.
  • Використовуйте існуючі імпортери для вилучення банківських CSV-файлів для звіряння депозитів та комісій, що стягуються безпосередньо з кредитних карток.

6. Звіряйте щотижня

Візьміть за звичку перевіряти свої цифри. Використовуйте потужні інструменти командного рядка Beancount для швидкої перевірки балансів та аналізу ефективності.

# Перевірте поточну кількість та вартість ваших запасів
bean-balance books.bean "Assets:Inventory" "2025-07-21"

# Створіть звіт про доходи за останній період
bean-report books.bean income_statement -e 2025-07-21

7. Архівуйте вихідні документи

Для кожної великої транзакції додайте посилання на вихідний документ. Додайте офіційний PDF-файл про врегулювання Amazon, рахунок-фактуру постачальника на придбання інвентарю або квитанцію про доставку, використовуючи синтаксис метаданих Beancount (document:). Це створює автономний, готовий до аудиту фінансовий запис.

Контрольний список податку з продажів та відповідності

  • Закони посередника торговельного майданчика: Зрозумійте, що хоча Amazon перераховує податок з продажів від вашого імені в більшості штатів, зберігання інвентарю в таких штатах, як Каліфорнія, Техас або Пенсільванія, все ще може створювати економічний нексус, що потенційно вимагатиме від вас реєстрації вашого бізнесу там. (TaxGPT)
  • Звіряння 1099-K: Переконайтеся, що загальна сума, яку ви записуєте в Income:Amazon:Sales за рік, збігається з валовою сумою, зазначеною у вашій формі 1099-K, до цента. Будь-яка розбіжність є ознакою аудиту. (IRS)
  • Прямий податок з продажів: Якщо ви продаєте через інші канали, на які не поширюється посередник, ведіть піддерево рахунків Liabilities:SalesTaxPayable:State для відстеження податків, які ви винні безпосередньо.

Поширені пастки (та виправлення)

  • Пастка: Запис лише чистого депозиту від Amazon.
    • Виправлення: Завжди розкладайте виплати, використовуючи повний звіт про врегулювання.
  • Пастка: Ігнорування відшкодованих повернень або пошкоджених товарів.
    • Виправлення: Зареєструйте як початкові витрати на повернення коштів, так і наступне відшкодування від Amazon як окреме зарахування.
  • Пастка: Забування про перехідні резерви.
    • Виправлення: Amazon часто утримує "резервний" баланс з виплат, особливо для нових акаунтів. Відстежуйте ці кошти, які вам винні, на окремому рахунку Assets:Amazon:Reserve.
  • Пастка: Невідповідність псевдонімів SKU між вашою системою та системою Amazon.
    • Виправлення: Нормалізуйте всі коди SKU у ваших скриптах імпорту, щоб переконатися, що пошук COGS не завершиться невдачею.

Швидкий старт

  • Увімкніть та завантажте свій перший звіт про врегулювання в Seller Central.
  • Клонуйте стартовий репозиторій Beancount та створіть план рахунків, специфічний для Amazon.
  • Напишіть невеликий скрипт імпортера, який перетворює CSV-файл врегулювання на транзакцію Beancount (файл .txn).
  • Заплануйте щотижневе нагадування про вилучення нових звітів та запустіть bean-check, щоб переконатися, що ваші файли є дійсними.
  • Щомісяця переглядайте свій звіт про доходи, щоб приймати рішення на основі даних щодо витрат на рекламу, ціноутворення та інвентарю.

Додаткова література

Відправляйте більше, хвилюйтеся менше — тримайте свої боби збалансованими. Успішних продажів!

Основи бухгалтерського обліку для продавців Etsy за допомогою Beancount

· 7 min read
Mike Thrift
Mike Thrift
Marketing Manager

Рукописні книги обліку перемагають заплутані електронні таблиці, особливо коли кожна копійка має значення.

Для художників, майстрів та кураторів на Etsy пристрасть рухає бізнес. Але по мірі зростання вашого магазину фінансова ясність стає такою ж важливою, як і творче бачення. Жонглювання комісіями, відстеження вартості матеріалів та підготовка до сплати податків можуть бути непосильними, відволікаючи вас від роботи.

2024-07-16-bookkeeping-basics-for-etsy-sellers-with-beancount

Що, якби ви могли керувати фінансами свого магазину з такою ж ретельністю та точністю, яку ви вкладаєте у свої вироби? Цей посібник знайомить вас з простотекстовим робочим процесом бухгалтерського обліку за допомогою Beancount, механізму з відкритим кодом, розробленого для точності та контролю. Це метод, який допомагає вам опанувати свої цифри, щоб ви могли зосередитися на своїй майстерності.

Чому бухгалтерський облік Etsy відрізняється

Магазин Etsy має унікальний фінансовий відбиток, зі складнощами, які часто пропускає звичайне бухгалтерське програмне забезпечення.

  • Комісії майданчика всюди: Ваш остаточний платіж - це те, що залишається після того, як Etsy бере свою частку. Плата за розміщення, плата за транзакції, плата за обробку платежів та витрати на рекламу - все це віднімається від кожного продажу. Не відстежуючи їх окремо, ви не можете знати свої справжні прибутки. (Bench)
  • Платформовий контроль податку з продажів: Etsy автоматично розраховує, збирає та перераховує податок з продажів від вашого імені в більшості штатів. Однак, якщо ви продаєте на інших каналах або маєте фізичну присутність у певних штатах, у вас все ще можуть бути власні зобов'язання щодо податку з продажів через правила "нексусу". (Bench)
  • Гнучка періодичність виплат: Залежно від ваших налаштувань та історії облікового запису, Etsy може перераховувати ваші кошти щодня, щотижня, раз на два тижні або щомісяця. Ця гнучкість може зробити грошовий потік непередбачуваним, особливо коли кошти резервуються або затримуються. (Довідка Etsy)
  • Нижчі пороги для 1099-K: Часи, коли можна було залишатися поза увагою податкової служби, минули. Порогове значення звітності IRS для форми 1099-K, яка повідомляє про ваш валовий обсяг продажів, встановлено на рівні 5000 доларів США на 2024 рік і планується знизити до 600 доларів США до 2026 року. Це означає, що майже кожен магазин отримає форму IRS, і ваші книги обліку повинні ідеально з нею узгоджуватися. (IRS)

План Beancount у сім швидких кроків

Цей простотекстовий план допоможе вам створити чітку, точну та безстресову систему бухгалтерського обліку.

1. Розділіть канали заздалегідь

Якщо Etsy не є вашим єдиним каналом продажів, створіть окремі рахунки доходів та витрат для кожного з них. Це просте розділення на верхньому рівні вашого плану рахунків забезпечує чистоту аналітики та значно спрощує сплату податків.

2025-07-22 open Income:Etsy               USD
2025-07-22 open Expenses:Etsy:ListingFee USD
2025-07-22 open Assets:Etsy:Payout USD

2. Деталізуйте кожну виплату

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

; щотижнева виплата з CSV-файлу платіжного рахунку Etsy
2025-07-15 * "Депозит Etsy № 2025-28"
Assets:Bank:Operating 1842.77 USD
Income:Etsy:Sales -2100.00 USD
Expenses:Etsy:TransactionFee 136.50 USD ; 6.5 %
Expenses:Etsy:PaymentProcessing 66.00 USD ; 3 % + $0.25 за замовлення
Expenses:Etsy:ListingFee 14.00 USD ; $0.20 x 70 оновлень
Assets:Etsy:Reserve -75.73 USD

3. Відстежуйте запаси та собівартість реалізованої продукції за допомогою партій

Для продавців фізичних товарів функція "партії" Beancount є революційною для відстеження собівартості реалізованої продукції (COGS). Коли ви купуєте сировину, ви записуєте її як запаси за певною ціною. Коли ви продаєте готовий виріб, ви можете списати точну вартість використаних матеріалів.

; Купівля матеріалів оптом для запасів
2025-07-01 * "Оптове придбання пряжі | Постачальник XYZ"
Assets:Inventory:ScarfBlue 500 ScarfBlue {@ 3.45 USD}
Assets:Bank:Operating

; Запис COGS при продажу товару
2025-07-20 * "Продано синій шарф | Замовлення № 1234"
Expenses:COGS 1 ScarfBlue {3.45 USD}
Assets:Inventory:ScarfBlue

4. Оберіть свій метод бухгалтерського обліку заздалегідь

У вас є два основні варіанти:

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

5. Автоматизуйте імпорт

Заощадьте час, автоматизувавши введення даних. Простотекстова екосистема пропонує кілька варіантів:

  • Використовуйте bean-extract з власними правилами для аналізу CSV-файлів Etsy.
  • Налаштуйте імпортер CSV-файлів банку для відстеження рекламних витрат або транспортних етикеток, оплачених кредитною карткою.
  • Для досвідчених користувачів напишіть скрипт Python для отримання звітів безпосередньо з API Etsy.

6. Звіряйте щотижня

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

# Перевірте баланс вашого рахунку Etsy
bean-balance books.bean "Assets:Etsy:Payout" "2025-07-21"

# Сформуйте звіт про доходи за останній період
bean-report books.bean income_statement -e 2025-07-21

7. Додайте вихідні документи

Створіть повністю самостійний та перевірений запис, посилаючись на вихідні документи безпосередньо в метаданих транзакції. Це ідеально підходить для квитанцій постачальників, PDF-файлів транспортних етикеток або замовлень на придбання.

2025-07-12 * "Транспортна етикетка Etsy для замовлення № 4321"
Expenses:ShippingLabel 4.25 USD
Assets:Bank:Operating
document: "docs/labels/2025-07-12-order4321.pdf"

Знайте свої комісії Etsy (США)

Щоб отримати справжнє уявлення про свій прибуток, відстежуйте кожен тип комісії на окремому рахунку витрат:

  • Плата за розміщення: $0.20 за товар, яка автоматично оновлюється кожні 4 місяці або після продажу. (Etsy)
  • Комісія за транзакцію: 6.5% від загальної суми замовлення (включаючи ціну товару, доставку та подарункове пакування). (Etsy)
  • Комісія за обробку платежів: Різниться залежно від країни, але для США зазвичай становить 3% + $0.25 за замовлення, оброблене через Etsy Payments. (Довідка Etsy)
  • Підписка (Etsy Plus): Додатково $10/місяць за додаткові інструменти. (Bench)

Поради щодо податку з продажів та дотримання вимог

  • Хоча Etsy перераховує податок з продажів для більшості штатів США, майте на увазі, що продаж на інших платформах або наявність фізичної майстерні може створити додаткові податкові зобов'язання ("нексус"). Уважно відстежуйте свої пороги продажів. (Bench)
  • Як тільки пороги 1099-K застосовуватимуться до вашого магазину, переконайтеся, що загальна сума Income:Etsy:Sales у Beancount збігається з валовою сумою у формі до цента. (IRS)

Типові пастки (та виправлення)

  • Пастка: Облік чистих депозитів.
    • Виправлення: Завжди використовуйте CSV-файл платежів, щоб розбити депозити на валові продажі, комісії та резерви.
  • Пастка: Застаріла вартість запасів.
    • Виправлення: Записуйте свої покупки матеріалів та постачання як запаси в момент їх придбання. Не чекайте, поки готовий виріб буде продано.
  • Пастка: Сліпі зони повернення коштів.
    • Виправлення: При поверненні коштів зареєструйте витрати та також скасуйте початковий запис COGS, щоб повернути вартість на ваш рахунок запасів.
  • Пастка: Ігнорування резервних утримань.
    • Виправлення: Відкрийте рахунок Assets:Etsy:Reserve для відстеження коштів, які утримує Etsy. Це забезпечує чесність ваших звітів про рух грошових коштів.

Контрольний список швидкого старту

  • У своєму менеджері магазину налаштуйте щомісячні звіти та завантажте свій перший CSV-файл.
  • Клонуйте стартовий репозиторій Beancount та складіть план рахунків свого магазину.
  • Визначтеся з касовим або нарахувальним методом обліку та дотримуйтесь його.
  • Напишіть базовий скрипт імпортера або файл правил та заплануйте щотижневу синхронізацію.
  • Звіряйте свої виплати, рівні запасів та банківський баланс щопонеділка.
  • Щомісяця генеруйте звіт про доходи та переглядайте тенденції валової маржі.
  • Створюйте резервні копії своїх файлів .bean за допомогою Git та зовнішнього сховища.

Готові вшити бухгалтерський облік у свій творчий робочий процес? Встановіть Beancount, зробіть свій перший запис та дозвольте простотекстовій ясності звільнити більше часу для роботи. Щасливого ведення обліку!

Навігація дебіторською заборгованістю в Beancount

· 3 min read
Mike Thrift
Mike Thrift
Marketing Manager

У лабіринті управління особистими фінансами Beancount виступає як маяк ясності та точності для бухгалтерського обліку в простому тексті. Особливо, коли йдеться про управління дебіторською заборгованістю — грошима, які очікуються від інших — Beancount пропонує структурований підхід для підтримки ваших фінансових записів у бездоганному порядку. Цей блог проведе вас через тонкощі відстеження дебіторської заборгованості, обробки повернень коштів та управління неврегульованими транзакціями за допомогою Beancount. Незалежно від того, чи повертаєте ви покупку, позичаєте гроші або очікуєте повернення коштів, ця публікація є вашою дорожньою картою до фінансової ясності.

Розуміння дебіторської заборгованості в Beancount:

2024-02-17-navigating-receivables-beancount-guide

Дебіторська заборгованість представляє гроші, які вам винні. Це може виникнути в різних сценаріях, наприклад, після повернення покупки в очікуванні повернення коштів або коли ви позичаєте гроші комусь. Наприклад, уявіть, що ви повернули ремінець для годинника в онлайн-магазин, як-от Amazon.com, і очікуєте повернення коштів. У Beancount ця транзакція записується як переміщення грошей з вашого зобов'язання по кредитній картці до ваших активів як дебіторська заборгованість:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

Управління поверненнями коштів:

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

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

Повний цикл транзакцій:

Повна транзакція входу-виходу, що стосується дебіторської заборгованості, поєднує обидві вищезгадані транзакції та демонструється наступним чином, показуючи збалансований рахунок після повернення коштів:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

Обробка неврегульованих транзакцій:

Для транзакцій, за якими повернення коштів або погашення ще не отримано, Beancount використовує тег #UNRESOLVED. Цей тег допомагає ідентифікувати та відстежувати суми, які все ще очікують на врегулювання. Наприклад:

2023-10-31 * "John Doe" "Lending Money" #UNRESOLVED
Liabilities:CreditCard:Chase -100.00 USD
Assets:Receivables

Зосереджуючись на транзакціях, позначених як #UNRESOLVED, ви можете швидко визначити, які суми ще не врегульовані.

Підтримка нульового балансу:

У належній бухгалтерській книзі сума всіх транзакцій за рахунком Assets:Receivables, за винятком тих, що позначені тегом #UNRESOLVED, в ідеалі повинна повертатися до нуля. Це гарантує, що всі очікувані кошти були враховані, підтримуючи цілісність ваших фінансових записів.

Наприклад, дійсна бухгалтерська книга може виглядати так, з чітко позначеною неврегульованою транзакцією, що очікує закриття:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

2023-10-31 * "John Doe" "Lending Money" #UNRESOLVED
Liabilities:CreditCard:Chase -100.00 USD
Assets:Receivables

Недійсна бухгалтерська книга — це та, де транзакція призводить до того, що рахунок дебіторської заборгованості не обнуляється, що вимагає використання тегу #UNRESOLVED для виправлення.

Висновок

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

Самостійна бухгалтерія проти найму бухгалтера: посібник Beancount для засновників, що рахують кошти

· 5 min read
Mike Thrift
Mike Thrift
Marketing Manager

Як засновник, ви виконуєте всі ролі — генерального директора, продавця, менеджера продукту і, так, бухгалтера. Але по мірі зростання вашого бізнесу, години, витрачені на звірку транзакцій, починають здаватися менш схожими на ощадливе керування, а більше на дороговартісну відволікаючу річ. Отже, коли саме час передати бухгалтерію комусь іншому?

Відповідь не полягає у відмові від контролю; вона полягає у прийнятті рішення на основі даних. Ось як використовувати ваш реєстр Beancount, щоб вирішити, чи продовжувати вести бухгалтерію самостійно, чи найняти професіонала.

2023-09-03-diy-vs-hiring-a-bookkeeper-a-beancount-playbook-for-cost-conscious-founders

TL;DR: Якщо ви оцінюєте свій час у 85 доларів США за годину і витрачаєте лише чотири години на місяць на бухгалтерію, ця робота коштує вам 340 доларів США втраченого доходу. Типовий віддалений бухгалтер починає приблизно з 249 доларів США на місяць — плюс вони звільняють вас, щоб ви могли фактично розвивати бізнес. (Bench)

1. Оцініть свій час

Найважливішим показником у цьому рішенні є ваша власна альтернативна вартість. Кожна година, яку ви витрачаєте на категоризацію витрат, — це година, яку ви не витрачаєте на продажі, розробку продукту чи стратегію.

Математика проста:

  1. Відстежуйте, скільки годин ви витрачаєте на бухгалтерські завдання щомісяця (звірка, кодування, виправлення помилок).
  2. Помножте ці години на вашу ефективну погодинну ставку.
  3. Порівняйте цю цифру з щомісячною платою зовнішнього бухгалтера (типова початкова ставка становить близько 249 доларів США на місяць).

Якщо вартість вашого часу вища, у вас є очевидна перемога в делегуванні. Ви навіть можете відстежувати це безпосередньо в Beancount.

; Відстеження альтернативної вартості вашого часу
2025-07-31 * "Час на бухгалтерію за липень"
Expenses:Admin:BookkeepingTime 4.00 H ; Ваша власна одиниця для годин
Equity:OwnerTime -340.00 USD
; metadata: rate:85

Тут H — це власна валюта для "Годин". Ви можете безпосередньо записувати час і використовувати скрипт або директиву price, щоб призначити йому доларову вартість, зробивши вартість вашої власної праці явною частиною ваших фінансових звітів.

2. Врахуйте приховані витрати самостійної бухгалтерії

Вартість вашого часу — не єдиний фактор. Самостійна бухгалтерія несе ризики, які можуть бути набагато дорожчими, ніж щомісячна плата.

  • Помилки в податковій звітності: Невпорядкована бухгалтерія — це кошмар для податкових консультантів. CPA може стягувати від 150 до 400 доларів США за годину лише за те, щоб упорядкувати ваші записи, перш ніж вони зможуть навіть почати роботу над податковою декларацією (Bench).
  • Пропущені відрахування та штрафи IRS: Невеликі, ненавмисні помилки, такі як неправильна класифікація витрат або забуття записати готівкову транзакцію, можуть накопичуватися з часом, що призводить до штрафів, відсотків та вищих податкових рахунків (Bench).
  • Вигорання засновника: Психологічне виснаження від пізньої нічної звірки — це реальність. Воно виснажує фокус та енергію, які слід присвятити високоефективній діяльності, такій як продажі та розробка продукту (Bench).

Пом'якшення за допомогою Beancount: Ви можете зменшити кількість помилок, додавши pre-commit hook Git, який відмовляється фіксувати зміни, якщо bean-check не вдається або якщо транзакції не мають тега категорії. Це забезпечує дисципліну, навіть коли ви втомилися.

3. Три способи, як бухгалтер (або дисципліна Beancount) заощаджує гроші

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

  1. Чистіша податкова звітність: Організована, точна бухгалтерія означає менше годин CPA, витрачених на очищення, що безпосередньо перекладається на менший рахунок.
  2. Розуміння готівки в режимі реального часу: Знання вашого точного стану готівки допомагає вам уникнути дорогих комісій за овердрафт та потреби в терміновому фінансуванні під високі відсотки.
  3. Буфер від стресу: Стабільні, передбачувані фінансові операції зменшують стрес засновника, що призводить до кращого прийняття рішень та здоровішої культури бізнесу.

4. Коли вам ще не варто наймати

Найм бухгалтера не завжди є правильним кроком. У деяких випадках самостійна бухгалтерія все ще є розумнішим фінансовим вибором.

  • Ви ще не отримуєте дохід або маєте дуже низький грошовий потік. На цьому етапі кожен долар має йти на продажі та залучення клієнтів. Спочатку зосередьтеся на отриманні доходу (Bench).
  • Ваші фінанси прості. Якщо у вас є один банківський рахунок, один канал Stripe та менше ніж ~60 транзакцій на місяць, ви, ймовірно, можете керувати всім у Beancount та Fava менше ніж за годину на тиждень.

5. Гібридний варіант: ваш "готовий для бухгалтера" реєстр Beancount

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

  • Автоматизуйте отримання даних: Налаштуйте bean-extract для щонічного запуску, автоматично отримуючи нові транзакції.
  • Стандартизуйте свій план рахунків: Використовуйте загальноприйняті назви рахунків (Expenses:Software, Assets:Bank:Checking), щоб будь-який професіонал міг миттєво зрозуміти ваш реєстр.
  • Додайте вихідні документи: Для кожної витрати понад 75 доларів США використовуйте метадані link:, щоб додати PDF-файл квитанції або рахунку-фактури.
  • Дотримуйтесь щомісячного контрольного списку закриття:
    1. Звірте всі банківські та кредитні карткові рахунки.
    2. Запустіть bean-check, щоб переконатися, що немає помилок.
    3. Експортуйте PDF-звіти за допомогою bean-report balance_sheet та bean-report income_statement.
  • Виконуйте щоквартальну передачу: Надайте своєму бухгалтеру або CPA тег Git або простий архів (books-Q3-2025.tar.gz). Вони можуть перевірити вашу роботу, додати складні коригувальні записи (такі як нарахування та амортизація) та підготувати податкові пакети.

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

6. Швидка матриця рішень

СитуаціяНайняти професіоналаЗалишитися з Beancount (самостійно)
>60 транзакцій/місяць, >$20 тис. MRR
Ви оцінюєте свій час у $100+/год, але витрачаєте 3+ год/міс на бухгалтерію
У фінансовій скруті, <$5 тис. MRR
Вам дійсно подобаються електронні таблиці та автоматизація

7. Наст

Бізнес-облік vs Особистий облік: Чітке розмежування з Beancount

· 5 min read
Mike Thrift
Mike Thrift
Marketing Manager

Успішна компанія та здоровий гаманець мають одну спільну рису: межі.

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

2023-08-12-business-vs-personal-bookkeeping-with-beancount

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

Чому розділення важливе

Нерозділення ваших фінансів — це не просто погана звичка; це несе значні ризики та приховує цінну бізнес-інформацію.

  • Чіткість для ДПС: ДПС не просто пропонує вам мати окремі банківські рахунки; вони наполегливо рекомендують це. Коли бізнес-кошти та особисті кошти змішані, важко довести, які витрати є законними бізнес-витратами. Ця неоднозначність може призвести до питань та ускладнень, яких краще уникати.
  • Ризик аудиту: Змішування транзакцій є серйозним сигналом для аудиторів. Якщо ваші книги — це заплутана суміш особистої та бізнес-діяльності, ви ризикуєте тим, що ваші законні відрахування будуть відхилені або навіть зіткнетеся зі штрафами. Чиста, окрема бухгалтерська книга демонструє професіоналізм та робить будь-який потенційний аудит більш плавним та менш стресовим.
  • Чіткіше розуміння: Як ви можете знати свою справжню норму прибутку, якщо грошовий потік вашого бізнесу затьмарений особистими витратами? Окрема бізнес-бухгалтерська книга дає вам нефільтрований погляд на фінансове здоров'я вашої компанії. Ви можете точно відстежувати доходи, аналізувати витрати та розраховувати податкові зобов'язання без "шуму" вашого особистого фінансового життя.

Ключові відмінності з першого погляду

Мета, правила та структура бізнес-обліку та особистого обліку принципово відрізняються. Розуміння цих відмінностей є ключем до ведення точного обліку.

ОбластьБізнес-облікОсобистий облік
МетаВідстеження доходів, витрат, активів та зобов'язань для прийняття податкових та рішень щодо зростанняУправління домашнім бюджетом та цілями заощаджень
Податкові правилаПовинні відповідати Додатку C, 1120‑S або 1065; суворі стандарти відрахуваньКілька формальних вимог, окрім базового обліку
РахункиВласний капітал, кредиторська заборгованість, дебіторська заборгованість, податок з продажів, заробітна платаРозрахунковий рахунок, ощадний рахунок, інвестиції, кредити
Оплата власникаЗарплата (W‑2) або виплата власника через власний капіталN/A — особисті зняття коштів фінансують витрати на проживання

Чотириетапний план Beancount

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

• 1 — Відкрийте окремі рахунки

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

2025-07-23 open Assets:Bank:Business   USD
2025-07-23 open Assets:Bank:Personal USD

Ця проста схема гарантує, що кожна транзакція може бути чітко віднесена до ваших бізнес-фінансів або особистих фінансів з моменту її виникнення.

• 2 — Записуйте внески та зняття власника

Як власник, ви будете переміщувати гроші між вашими особистими коштами та бізнесом. Це не доходи чи витрати. Натомість вони відстежуються через рахунок власного капіталу.

  • Внесок: Коли ви вкладаєте власні гроші у бізнес, щоб розпочати його або покрити дефіцит.
  • Зняття: Коли ви забираєте гроші з бізнесу для особистого користування (саме так багато індивідуальних підприємців "платять" собі).
; Внесення капіталу для запуску бізнесу
2025-07-23 * "Внесок власника"
Assets:Bank:Business 10,000.00 USD
Equity:Owner:Contrib

; Зняття грошей для особистих витрат на проживання
2025-08-05 * "Зняття власника на оренду"
Equity:Owner:Draw 2,500.00 USD
Assets:Bank:Business

Записуючи їх як транзакції з власним капіталом, ви гарантуєте, що вони не завищують ваші бізнес-витрати та не зменшують ваш заявлений прибуток.

• 3 — Швидко обробляйте змішані квитанції

Помилки трапляються. Ви можете випадково використати свою бізнес-картку для оплати особистої вечері. Ключ у тому, щоб негайно виправити це у своїй бухгалтерській книзі. Не видаляйте транзакцію; перекласифікуйте її як зняття власника.

2025-08-07 * "Особисті покупки продуктів на бізнес-картці"
Equity:Owner:Draw 72.35 USD
Assets:Bank:Business

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

• 4 — Звіряйте та переглядайте за графіком

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

# Перевірте баланс вашого бізнес-банку з вашою випискою
bean-balance books.bean "Assets:Bank:Business"

# Створіть звіт про доходи, щоб переглянути прибутковість
bean-report books.bean income_statement -e 2025-08-31

Ця звичка регулярного перегляду задовольняє вимоги ДПС щодо ведення обліку та тримає вас в курсі фінансового стану вашого бізнесу.

Податкові міркування

  • Очікувані податки: Щоб уникнути болісного податкового рахунку, ставтеся до своїх майбутніх податків як до поточних бізнес-витрат. Створіть рахунки зобов'язань (Liabilities:Tax:Federal, Liabilities:Tax:State) та регулярно переміщуйте певний відсоток кожного депозиту на них. Коли настає час квартальних платежів, готівка вже чекає.
  • Невідраховані особисті витрати: Пам'ятайте правило ДПС: бізнес-витрати повинні бути "звичайними та необхідними" для вашої роботи. Ваші особисті обіди, витрати на проїзд та небізнес-передплати не кваліфікуються та повинні бути повністю виключені з звіту про прибутки та збитки вашого бізнесу.

Список швидкого старту

  • Відкрийте банківські рахунки та кредитні картки лише для бізнесу.
  • Створіть план рахунків Beancount з Assets:Bank:Business, Equity:Owner:Contrib та Equity:Owner:Draw.
  • Визначтеся з вашою основою обліку (касовий метод або метод нарахування) та зазначте це у ваших options Beancount.
  • Негайно позначайте будь-які випадкові особисті витрати на бізнес-картках як Equity:Owner:Draw.
  • Звіряйте щотижня; створюйте резервні копії вашого файлу .bean у приватному віддаленому репозиторії Git.
  • Переглядайте звіт про доходи, баланс та звіти про рух грошових коштів щомісяця.

Висновок: Окремі гроші, окремі бухгалтерські книги. Beancount робить стіну між вашим бізнесом та особистими фінансами явною — та контрольованою версіями — щоб ваш бізнес був готовий до аудиту, а ваша звичка пити лате залишалася нічиєю справою, крім вашої. Щасливого ведення обліку!

Моделювання операцій з нерухомістю в Beancount

· 4 min read
Mike Thrift
Mike Thrift
Marketing Manager

Операції з нерухомістю можуть становити найбільшу фінансову активність у житті сім'ї. Ця стаття пояснює, як моделювати нерухомість у Beancount. Я розглядаю нерухомість як актив, а зростання вартості будинку — як нереалізований прибуток. Крім того, іпотека моделюється як зобов'язання, а відсотки вважаються витратами.

Припустимо, пан А придбав елітний будинок за адресою 123 ABC Street, XYZ City, CA, 12345 1 січня 2020 року за ціною 1 мільйон. Процентна ставка становить 3,0%, перший внесок — 20%, а сума кредиту — 800 000.

ПозиціяСума
Сума іпотеки800 000
Процентна ставка3%
Термін іпотеки30 років
Загальна вартість іпотеки1 478 219.62
Щомісячні платежі4 106.17
Страхування житла1 300 на рік (39 000 загалом)
Податок на нерухомість7 500 на рік (225 000 загалом)
Погашення кредиту2049 груд
Загальна сума сплачених відсотків414 219.62

2023-06-09-відстеження-нерухомості

Знімок екрана з деталями іпотеки

Створення рахунків

По-перше, ми розглядаємо будинок як Актив. Оскільки будинок вказується як Актив, йому потрібно присвоїти одиницю виміру. У цьому випадку кількість одиниць становить лише одну, малоймовірно, що їх буде кілька, і навіть якщо це n-й будинок, ми хотіли б записати його в окремий Актив. Тобто, один будинок відповідає одному Активу, і цей Актив має особливу одиницю виміру, його значення може бути лише 1.

2019-12-31 commodity HOUSE.ABC
name: "123 ABC Street, XYZ City, CA, 12345"

2019-12-31 open Assets:Property:US:CA:123ABC HOUSE.ABC
2019-12-31 open Liabilities:Bank:US:SomeBank:Mortgage:Loan USD

У першому рядку ми визначили одиницю товару, що представляє будинок. У четвертому рядку ми визначили рахунок Активу, який містить одиницю товару, раніше визначену як будинок. У п'ятому рядку ми визначили рахунок для банку-кредитора. Оскільки це зобов'язання, воно належить до категорії Зобов'язань.

Купівля

З налаштованими вище рахунками, акт купівлі будинку еквівалентний

позика грошей (борг) + витрата грошей (перший внесок) = 1 будинок в активі

Найважливішим документом при купівлі нерухомості, ймовірно, є Заява про розрахунок покупця (Buyer’s Settlement Statement), яка чітко описує рух коштів.

2020-01-01 * "Купівля будинку"
Assets:Property:US:CA:123ABC 1 HOUSE.ABC {1,000,000 USD}
Assets:Bank:US:SomeBankA -100,000 USD
Assets:Bank:US:SomeBankB -101,000 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan -800,000.00 USD
Expenses:Home:Insurance 1,000 USD
Expenses:Home:Mortgage:Loan:ClosingCost

Тут ми деталізуємо операцію купівлі будинку, де гроші витікають з деяких банків (використовуються для першого внеску та інших витрат), береться кредит (додається до зобов'язань), і набувається будинок (додається до активів).

Погашення іпотеки

На основі вищезгаданого запису про купівлю, ми наразі винні 800 000 USD. Через відсотки, і враховуючи, що всі кредити в США амортизуються рівномірно за основною сумою та відсотками, щомісячний платіж включає частину для відсотків і частину для основної суми боргу. На ранніх етапах відсотки становлять більшу частину.

Щоб записати погашення кредиту, все, що вам потрібно зробити, це перевірити виписку вашого банку-кредитора. Вам просто потрібно знати, яку частину основної суми боргу ви погашаєте щомісяця, а решта — це відсотки. Відсотки враховуються як Витрати.

2020-02-01 * "Іпотечний платіж"
Assets:Bank:US:SomeBank:Saving:Joint -3,372.83 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan 1,376.26 USD
Expenses:Home:Mortgage:Loan:Interest

Цей запис деталізує щомісячний іпотечний платіж, який віднімається з вашого спільного ощадного рахунку. Погашення основної суми зменшує зобов'язання, тоді як частина відсотків розглядається як витрати.

Зростання вартості

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

Я не прийняв цей метод, головним чином з наступних причин:

  1. Поточна вартість будинку може бути лише оцінкою, лише для довідки, без практичної цінності. Зазвичай я можу отримати оцінку нерухомості лише на таких вебсайтах, як Redfin або Zillow, і особисто я не вважаю, що вона має високу довідкову цінність. Я також не розглядав можливість включення цих зростань вартості до загальних активів у реальному часі.
  2. Особисто я вважаю, що до погашення іпотеки, якщо грошо

Розуміння дебіторської та кредиторської заборгованості в Beancount

· 3 min read
Mike Thrift
Mike Thrift
Marketing Manager

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

Розуміння цих термінів є вирішальним для ефективного використання Beancount (або будь-якої системи подвійного запису). Але не хвилюйтеся, якщо ви новачок – ми розберемо все крок за кроком!

Дебіторська та кредиторська заборгованість: Основи

2023-05-30-receiveable-and-payable

В обліку «дебіторська заборгованість» та «кредиторська заборгованість» — це терміни, що використовуються для відстеження грошей, які належать. «Дебіторська заборгованість» стосується грошей, які інші винні вам, тоді як «кредиторська заборгованість» стосується грошей, які ви винні іншим.

Розглянемо приклад:

  1. Рахунки дебіторської заборгованості (A/R): Припустимо, ви володієте книжковим магазином, і клієнт купує книгу в кредит. Гроші, які вони винні вам за книгу, є рахунком дебіторської заборгованості.

  2. Рахунки кредиторської заборгованості (A/P): З іншого боку, уявіть, що ви замовляєте новий набір книг у видавця, але не платите за них одразу. Гроші, які ви винні видавцю, є рахунком кредиторської заборгованості.

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

Налаштування дебіторської та кредиторської заборгованості в Beancount

Структура вашого файлу Beancount може бути настільки простою або складною, наскільки вам це потрібно. Для дебіторської та кредиторської заборгованості ви, ймовірно, захочете створити окремі рахунки в розділах «Активи» та «Зобов'язання».

Ось простий приклад:

1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:AccountsPayable

Відстеження транзакцій

Сторона одержувача

Після налаштування рахунків ви можете відстежувати транзакції, що стосуються дебіторської та кредиторської заборгованості. Розглянемо приклад:

2023-05-29 * "Продано книги клієнту в кредит"
Assets:AccountsReceivable 100 USD
Income:BookSales -100 USD

Тут ви додаєте 100 доларів до своєї дебіторської заборгованості, оскільки клієнт винен вам цю суму. Одночасно ви зменшуєте свій дохід на ту саму суму, щоб підтримувати баланс (оскільки ви ще не отримали грошей).

Коли клієнт зрештою заплатить, ви запишете це так:

2023-06-01 * "Отримано платіж від клієнта"
Assets:Bank:Savings 100 USD
Assets:AccountsReceivable -100 USD

Сторона платника

Той самий принцип застосовується до кредиторської заборгованості, але з протилежними знаками:

2023-05-30 * "Куплено книги у видавця в кредит"
Liabilities:AccountsPayable 200 USD
Expenses:BookPurchases -200 USD

І коли ви погашаєте свій борг:

2023-06-02 * "Погашено борг перед видавцем"
Liabilities:AccountsPayable -200 USD
Assets:Bank:Checking 200 USD

Підсумок

Дебіторська та кредиторська заборгованість є основою будь-якої облікової системи. Точно відстежуючи їх, ви отримуєте повне розуміння свого фінансового стану.

Це лише відправна точка, і Beancount здатний набагато більше. Сподіваюся, цей допис у блозі допоможе прояснити ці важливі концепції. Як завжди, успішного обліку!