Налаштування Beancount для стартапів
Практична база, яку можна скопіювати та вставити, для ведення бухгалтерії стартапу у простому тексті. Працює від pre-seed до Series A. Це не юридична чи податкова консультація.
Ведення стартапу означає виконання багатьох ролей, і одна з найважливіших — «бухгалтер». Перш ніж ви зможете дозволити собі дороге програмне забезпечення або штатного бухгалтера, вам потрібна система, яка є точною, аудитованою та не прив'язує вас до пропрієтарної екосистеми. Зустрічайте Beancount: систему бухгалтерського обліку з відкритим кодом, що працює з простим текстом.
Використання Beancount означає, що ваша фінансова головна книга зберігається у текстових файлах, поруч із вашим кодом у Git-репозиторії. Вона контролюється версіями, є прозорою та нескінченно налаштовуваною. Цей посібник надає повне налаштування, яке можна скопіювати та вставити, щоб вести бухгалтерію вашого стартапу від реєстрації до Series A, на основі надійних принципів бухгалтерського обліку за методом нарахування.
1) Що ви налаштуєте
Цей посібник проведе вас через створення повної, професійної системи бухгалтерського обліку. Наприкінці ви матимете:
- Єдину головну книгу як джерело істини, яка керується через Git (
main.beancount), що дає вам повну, аудитовану історію фінансів вашої компанії. - Fava для чудових звітів та графіків. Fava — це веб-інтерфейс для Beancount, який перетворює ваші текстові файли на інтерактивні звіти про прибутки та збитки, балансові звіти та аналіз грошових потоків.
- Структуру для імпортерів, які ви можете додати пізніше, щоб автоматизувати введення транзакцій з вашого банку, кредитної картки, PayPal та Stripe. Ми почнемо вручну, щоб вивчити систему, а потім автоматизуємо.
- План рахунків, готовий до методу нарахування, розроблений для сучасних стартапів, з вбудованою підтримкою відстрочених доходів, передоплачених витрат та зобов'язань із заробітної плати.
- Базові принципи для посівного фінансування, включаючи чіткі приклади для обліку SAFE-нот (як зобов'язання або власний капітал) та конвертованих векселів з відсотками.
2) Структура проєкту (додайте у ваш репозиторій)
Почніть зі створення такої структури каталогів у Git-репозиторії вашої компанії. Ця організація підтримує вашу головну книгу чистою та масштабованою.
/ledger
main.beancount
/includes
accounts.beancount
opening-balances.beancount
policies.beancount
/documents
/bank
/invoices
/receipts
/importers # необов'язково; додайте, коли автоматизуєте імпорт CSV
bank_importer.py
card_importer.pymain.beancount: Центральний файл, який об'єднує все разом./includes: Містить ваш план рахунків, початкові залишки та облікову політику./documents: Місце для зберігання PDF-файлів банківських виписок, рахунків-фактур та квитанцій для чистого аудиторського сліду./importers: Де будуть розташовані ваші майбутні Python-скрипти для аналізу банківських CSV-файлів.
3) Мінімальний, розумний main.beancount
Це точка входу для вашої головної книги. Він встановлює кілька глобальних опцій та включає інші компонентні файли. Скопіюйте цей вміст у ledger/main.beancount та налаштуйте заголовок.
option "title" "Acme, Inc. Ledger"
option "operating_currency" "USD"
option "documents" "ledger/documents"
include "includes/accounts.beancount"
include "includes/opening-balances.beancount"
include "includes/policies.beancount"
; Якщо ви пізніше додасте імпортери, ви додасте тут рядки плагінів.
; plugin "beancount.plugins.implicit_prices"4) Початковий план рахунків (спочатку метод нарахування)
Ваш план рахунків — це повний перелік категорій для фінансових транзакцій вашої компанії. Цей початковий шаблон створений для обліку за методом нарахування, який дає набагато точнішу картину здоров'я вашої компанії, ніж касовий метод.
Помістіть це у includes/accounts.beancount. Не соромтеся видаляти будь-які рахунки, які вам зараз не потрібні.
; --- Активи ---
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Assets:Bank:Savings USD
1970-01-01 open Assets:AR USD ; Дебіторська заборгованість
1970-01-01 open Assets:Prepaid:Software USD
1970-01-01 open Assets:Prepaid:Insurance USD
1970-01-01 open Assets:Deposits USD ; Гарантійні депозити
1970-01-01 open Assets:Equipment USD
1970-01-01 open Assets:Intangibles USD
1970-01-01 open Assets:Crypto:BTC BTC
1970-01-01 open Assets:Other
; --- Зобов'язання ---
1970-01-01 open Liabilities:AP USD ; Кредиторська заборгованість
1970-01-01 open Liabilities:CreditCard:Corporate USD
1970-01-01 open Liabilities:DeferredRevenue USD
1970-01-01 open Liabilities:Payroll:Withholding USD
1970-01-01 open Liabilities:Payroll:EmployerTaxes USD
1970-01-01 open Liabilities:SalesTax:CA USD
1970-01-01 open Liabilities:SAFE USD
1970-01-01 open Liabilities:NotesPayable USD
1970-01-01 open Liabilities:Other
; --- Власний капітал ---
1970-01-01 open Equity:CommonStock USD
1970-01-01 open Equity:APIC USD ; Додатковий сплачений капітал
1970-01-01 open Equity:SAFE USD ; Якщо ви класифікуєте SAFE як власний капітал
1970-01-01 open Equity:RetainedEarnings USD
1970-01-01 open Equity:OpeningBalances USD
; --- Доходи (від'ємні залишки) ---
1970-01-01 open Income:Revenue:SaaS USD
1970-01-01 open Income:Revenue:Services USD
1970-01-01 open Income:Other USD
; --- Витрати ---
1970-01-01 open Expenses:COGS USD
1970-01-01 open Expenses:Payroll:Wages USD
1970-01-01 open Expenses:Payroll:EmployerTaxes USD
1970-01-01 open Expenses:Benefits USD
1970-01-01 open Expenses:Contractors USD
1970-01-01 open Expenses:Software:Subscriptions USD
1970-01-01 open Expenses:Cloud USD
1970-01-01 open Expenses:Rent USD
1970-01-01 open Expenses:Meals USD
1970-01-01 open Expenses:Travel USD
1970-01-01 open Expenses:Marketing USD
1970-01-01 open Expenses:Legal USD
1970-01-01 open Expenses:Accounting USD
1970-01-01 open Expenses:Insurance USD
1970-01-01 open Expenses:BankFees USD
1970-01-01 open Expenses:Taxes:Income USD
1970-01-01 open Expenses:Taxes:Sales USD
1970-01-01 open Expenses:Other USDПримітки
- Рахунки доходів є від'ємними, оскільки вони представляють кредити у подвійному обліку. Не хвилюйтеся про це; Fava автоматично змінює знаки у звітах, тому ваш дохід відображатиметься як додатне число у звіті про прибутки та збитки.
- Почніть з вузьких, цілеспрямованих категорій. Набагато легше додати нові рахунки пізніше, ніж очищати безладний, надто деталізований план рахунків.
5) Початкові залишки (перший день)
Перша транзакція у вашій головній книзі задає тон. Вона фіксує початковий стан ваших рахунків на день, коли ви починаєте облік. Помістіть цю транзакцію у includes/opening-balances.beancount, відкоригувавши дату та суми відповідно до вашої фактичної початкової позиції.
2025-01-01 * "Початкові залишки"
Assets:Bank:Checking 5,000.00 USD
Liabilities:CreditCard:Corporate -500.00 USD
Equity:OpeningBalances -4,500.00 USDЦей запис встановлює, що компанія почала з $5,000 у банку та $500 залишком на кредитній картці. Рахунок Equity:OpeningBalances — це спеціальний рахунок, який використовується для забезпечення того, щоб транзакція балансувалася до нуля, як того вимагає подвійний облік.
6) Типові транзакції стартапу (копіювати та вставити)
Ось рецепти для найпоширеніших фінансових подій у стартапі на ранній стадії. Копіюйте, вставляйте та адаптуйте їх для власного використання.
Купівля акцій засновниками (проста, лише у валюті)
Коли засновники купують свої початкові акції за номінальною вартістю, гроші надходять у компанію та обліковуються як власний капітал. Ваша cap-таблиця (Carta, Pulley або електронна таблиця) є джерелом істини для кількості акцій; головна книга просто фіксує долари.
2025-01-05 * "Купівля акцій засновниками за номіналом"
Assets:Bank:Checking 800.00 USD
Equity:CommonStock -0.80 USD
Equity:APIC -799.20 USD
; 8,000,000 звичайних акцій за $0.0001 — кількість ведеться поза головною книгою(Необов'язково) Відстежуйте власні акції як товар
Якщо ви хочете, щоб головна книга відстежувала кількість випущених акцій, ви можете визначити свої акції як «товар». Це складніше, але забезпечує повніший запис у головній книзі.
2025-01-05 commodity ACME
name: "Acme, Inc. Common"
2025-01-05 * "Випуск акцій засновникам"
Assets:Bank:Checking 800.00 USD
Equity:APIC -799.20 USD
Equity:CommonStock -8,000,000 ACME {0.0001 USD}Надходження коштів за SAFE (виберіть класифікацію)
SAFE (Проста угода про майбутній капітал) може розглядатися або як зобов'язання, або як форма власного капіталу (зокрема, «мезонінний капітал»). Проконсультуйтеся зі своїм бухгалтером, щоб вибрати правильний підхід і бути послідовним.
; (A) Класифікація як власний капітал (мезонін)
2025-02-01 * "Post-money SAFE — SeedFund"
Assets:Bank:Checking 500,000.00 USD
Equity:SAFE -500,000.00 USD
; (B) Класифікація як зобов'язання (до конвертації)
2025-02-01 * "Post-money SAFE — SeedFund"
Assets:Bank:Checking 500,000.00 USD
Liabilities:SAFE -500,000.00 USDКоли відбудеться раунд з оцінкою, ви перекласифікуєте залишок SAFE у привілейовані акції та додатковий сплачений капітал на основі документів про закриття.
Конвертований вексель з нарахованими відсотками
На відміну від SAFE, конвертований вексель однозначно є зобов'язанням, за яким нараховуються відсотки. Ви запишете початкові гроші, а потім періодично (наприклад, щоквартально) будете відображати витрати на відсотки.
2025-03-01 * "Конвертований вексель — 6% річних"
Assets:Bank:Checking 250,000.00 USD
Liabilities:NotesPayable -250,000.00 USD
2025-06-30 * "Нарахування відсотків за векселем за Q2"
Expenses:Interest 3,750.00 USD
Liabilities:NotesPayable -3,750.00 USD
; 250,000 * 6% * 0.25 = 3,750Річний продаж SaaS (відстрочений дохід + щомісячне визнання)
Це наріжний камінь обліку за методом нарахування. Коли клієнт передплачує рік, ви не заробляєте весь цей дохід одразу. Ви записуєте його як зобов'язання (DeferredRevenue), а потім визнаєте 1/12 його частину щомісяця.
2025-03-10 * "Річна підписка — AcmeCo — INV-001"
Assets:AR 1,200.00 USD
Liabilities:DeferredRevenue -1,200.00 USD
narration: "Річна передоплата SaaS"
2025-03-20 * "Оплата INV-001"
Assets:Bank:Checking 1,200.00 USD
Assets:AR -1,200.00 USD
; Визнання місяця 1/12 (повторюйте щомісяця або за допомогою скрипту)
2025-04-01 * "Визнання доходу 1/12 — INV-001"
Liabilities:DeferredRevenue 100.00 USD
Income:Revenue:SaaS -100.00 USDПередоплачені витрати та амортизація
Це протилежність відстроченого доходу. Коли ви передплачуєте послугу (наприклад, річне програмне забезпечення або страхування), ви записуєте її як актив (Prepaid), а потім «амортизуєте» або відносите на витрати частину щомісяця.
2025-03-01 * "Річна передоплата програмного забезпечення"
Assets:Prepaid:Software 1,200.00 USD
Assets:Bank:Checking -1,200.00 USD
2025-04-01 * "Амортизація передоплати 1/12"
Expenses:Software:Subscriptions 100.00 USD
Assets:Prepaid:Software -100.00 USDЗаробітна плата (чисті гроші, з утриманнями та податками роботодавця)
Запис про заробітну плату має кілька частин: витрати на валову заробітну плату, податкові витрати роботодавця, чисті гроші, виплачені працівникам, та зобов'язання з податків, які ви утримали і які мають бути перераховані державі.
2025-04-15 * "Заробітна плата — 15 квітня"
Expenses:Payroll:Wages 15,000.00 USD
Expenses:Payroll:EmployerTaxes 1,200.00 USD
Liabilities:Payroll:Withholding -4,000.00 USD
Assets:Bank:Checking -12,200.00 USDЗбір та перерахування податку з продажів (приклад CA)
Коли ви збираєте податок з продажів, це не ваші гроші. Це зобов'язання, яке ви винні штату. Ви записуєте зобов'язання під час продажу та списуєте його, коли перераховуєте податок.
2025-05-10 * "Рахунок-фактура #123 — CA оподатковується"
Assets:AR 1,088.75 USD
Income:Revenue:SaaS -999.00 USD
Liabilities:SalesTax:CA -89.75 USD
2025-06-05 * "Оплата #123"
Assets:Bank:Checking 1,088.75 USD
Assets:AR -1,088.75 USD
2025-07-20 * "Перерахування податку з продажів CA за Q2"
Liabilities:SalesTax:CA 89.75 USD
Assets:Bank:Checking -89.75 USDFX та криптовалюта (легкий підхід)
Beancount нативно підтримує кілька валют. Використовуйте директиви price для запису обмінних курсів та синтаксис {} для вартості у конкретних транзакціях.
2025-03-01 price EUR 1.0832 USD
2025-03-02 * "Плата AWS EU"
Expenses:Cloud 90.00 EUR
Liabilities:CreditCard:Corporate -90.00 EUR
2025-03-05 * "Купівля BTC для тестування"
Assets:Crypto:BTC 0.0200 BTC {3400.00 USD}
Assets:Bank:Checking -3,400.00 USD7) Використання Fava (звіти однією командою)
Fava — це чудовий веб-інтерфейс, який оживляє дані Beancount. Це винагорода за вашу ретельну роботу з введення даних.
- Встановлення:
$ pip install fava - Запуск:
$ fava ledger/main.beancount - Корисні перегляди: Звіт про прибутки та збитки, Балансовий звіт, Журнал (для фільтрації за рахунком/тегом) та Запити (для власних SQL-подібних запитів).
Швидкі фільтри Fava:
account:DeferredRevenue: Показати всю активність на вашому рахунку відстрочених доходів.tag:#invoice-001: Позначайте транзакції, пов'язані з конкретним рахунком-фактурою, та фільтруйте їх.from:2025-01-01 to:2025-12-31: Зосередьтеся на конкретному фінансовому періоді.
8) Щомісячний чек-лист закриття (15–45 хв)
Наприкінці кожного місяця пройдіться цим чек-листом, щоб переконатися, що ваші книги точні та актуальні. Ця дисципліна робить податковий сезон та due diligence інвесторів легкими.
- Банк/кредитні картки: Імпортуйте або вручну введіть усі транзакції. Звірте залишки з вашими виписками.
- AR/AP: Відобразіть усі виставлені рахунки-фактури та отримані рахунки; позначте оплачені позиції як закриті.
- Дохід: Відобразіть щомісячні записи про визнання доходу для всіх передплачених контрактів.
- Передоплати: Амортизуйте
1/12(або відповідну частку) всіх передоплачених витрат. - Заробітна плата: Відобразіть журнальний запис зі звіту вашого постачальника послуг із зарплати.
- Податок з продажів: Відобразіть ваше зобов'язання з податку з продажів за місяць.
- Посівні інструменти: Нарахуйте відсотки за будь-якими конвертованими векселями.
- Перевірки здоров'я:
- Чи відповідає дохід у вашому звіті про прибутки та збитки очікуваному MRR/ARR?
- Чи відповідають ваші швидкість витрачання коштів та runway вашому фінансовому плану?
- Чи виконується
$ bean-checkбез помилок? Чи виглядають звіти Fava правильно?
- Зафіксуйте у Git з коротким, послідовним повідомленням (наприклад,
close: 2025-04).
9) Метадані та документи (зробіть аудит легким)
Ваша головна книга має бути самодокументованою. Використовуйте метадані та посилання на вихідні документи, щоб створити бездоганний аудиторський слід. Майбутній ви (і ваш бухгалтер) скажуть вам спасибі.
- Додайте метадані, такі як
payee:,narration:,invoice:,customer:абоlink:, до транзакцій для ясності. - Прикріпіть вихідні PDF-файли (рахунки-фактури, квитанції, банківські виписки) до папки
ledger/documents/та зв'яжіть їх за допомогою тега метаданихdocument:. - Використовуйте теги (
#payroll,#saas,#vendor-aws,#invoice-001) для легкого фільтрування та аналізу.
Приклад:
2025-03-10 * "Річна підписка — AcmeCo" #saas #invoice-001
payee: "AcmeCo"
invoice: "INV-001"
document: "documents/invoices/INV-001.pdf"
Assets:AR 1,200.00 USD
Liabilities:DeferredRevenue -1,200.00 USD10) Імпорт пізніше (коли матимете час)
Почніть із ручного введення транзакцій протягом перших одного-двох місяців. Це найкращий спосіб вивчити систему та власні моделі витрат. Коли ви відчуєте себе комфортно, ви можете написати прості Python-імпортери для автоматизації процесу та зменшення рутинної роботи.
Типовий порядок дій імпортера:
- Банківський CSV →
Assets:Bank:Checking - CSV кредитної картки →
Liabilities:CreditCard:Corporate - Звіти про виплати Stripe/PayPal → Відображення доходу та грошових коштів
Зберігайте свої імпортери у /ledger/importers та переглядайте згенеровані ними транзакції, як і будь-яку іншу зміну коду.
11) Політики (помістіть у includes/policies.beancount)
Цей файл призначений для документування ваших бухгалтерських рішень для послідовності. Це простий текстовий файл, але він має вирішальне значення для підтримання дисципліни.
- Метод нарахування; визнавайте дохід від SaaS пропорційно.
- Функціональна валюта — USD; записуйте FX за щоденним курсом або курсом транзакції.
- Поріг капіталізації (наприклад, позиції понад
$2,500стають товаромAssets:Equipment; інакше вони одразу списуються на витрати). - Подорожі/Харчування: Ділова мета має бути задокументована у полі
narration. - Облік власного капіталу: Чітко вкажіть, чи використовуєте ви метод лише у валюті чи товар-акції.
- SAFE/векселі: Задокументуйте вашу обрану класифікацію (Зобов'язання або Власний капітал).
Приклад policies.beancount:
; Політика: Метод нарахування, дохід відстрочується та визнається щомісяця.
; Політика: Функціональна валюта — USD. Прибутки/збитки від FX виводяться з даних про вартість/ціну.
; Політика: Капіталізувати матеріальні активи понад $2,500 з прямолінійною амортизацією протягом 3 років.
; Політика: SAFE записуються як Зобов'язання до конвертації у раунді з оцінкою.12) Швидке вирішення проблем
- Дохід виглядає від'ємним у Журналі: Це правильно! Дохід — це кредит. Звіти Fava відображатимуть його як додатне число.
- Залишки не сходяться до нуля: Ймовірно, у вас неповна транзакція. Проводки транзакції мають у сумі давати нуль. Використовуйте перегляд Журналу у Fava, щоб знайти винуватця. Як тимчасовий захід ви можете додати балансуючу проводку до рахунку
Equity:Suspense, щоб зробити файл дійсним, а потім розслідувати та виправити першопричину. - Невідповідності FX: Переконайтеся, що у вас є директиви
priceдля відповідних дат або що ви вказуєте основу вартості у вашій функціональній валюті, наприклад,90.00 EUR {97.49 USD}.
13) Що відстежувати поза головною книгою (зберігайте посилання)
Beancount призначений для ваших фінансових транзакцій, але деякі речі краще керувати у спеціалізованих системах. Ключ — посилатися на них з вашої головної книги.
- Cap-таблиця: Використовуйте Carta, Pulley або електронну таблицю. Посилайтеся на підписані документи про закриття з ваших транзакцій фінансування у Beancount.
- Згоди ради директорів, план опціонів, звіти 409A: Зберігайте їх у безпечному місці та додавайте метадані
link:до відповідних транзакцій з власним капіталом. - Податкові декларації: Зберігайте остаточні PDF-файли та посилайтеся на них із транзакції закриття кінця року.
Готовий до копіювання стартовий файл (все в одному)
Якщо ви бажаєте почати з одного файлу, перш ніж переходити до структури include, ви можете просто вставити вміст файлів із розділів вище в один великий main.beancount. Ви завжди зможете рефакторити його пізніше, коли ваша головна книга зросте.
Ця структура забезпечує надійну, масштабовану основу для фінансів вашого стартапу. Ведучи свої книги у простому тексті під контролем версій, ви отримуєте безпрецедентну прозорість і контроль, що налаштовує вашу компанію на фінансову дисципліну з першого дня.