Перейти до основного вмісту
Beancount.io Logo

Налаштування 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.py
  • main.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 USD

FX та криптовалюта (легкий підхід)

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 USD

7) Використання 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 USD

10) Імпорт пізніше (коли матимете час)

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

Типовий порядок дій імпортера:

  1. Банківський CSV → Assets:Bank:Checking
  2. CSV кредитної картки → Liabilities:CreditCard:Corporate
  3. Звіти про виплати 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. Ви завжди зможете рефакторити його пізніше, коли ваша головна книга зросте.

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