Настройка Beancount для стартапов
Практическая, готовая к копированию база для ведения бухгалтерского учета стартапа в виде простого текста. Подходит для этапов от pre-seed до Series A. Это не является юридической или налоговой консультацией.
Управление стартапом означает выполнение множества ролей, и одна из самых важных — «бухгалтер». Прежде чем вы сможете позволить себе дорогое программное обеспечение или штатного бухгалтера, вам понадобится система, которая будет точной, проверяемой и не заблокирует вас в проприетарной экосистеме. Встречайте Beancount: систему бухгалтерского учета с открытым исходным кодом в виде простого текста.
Использование Beancount означает, что ваша финансовая книга хранится в текстовых файлах, прямо рядом с вашим кодом в репозитории Git. Она находится под контролем версий, прозрачна и бесконечно настраиваема. Это руководство предоставляет полную, готовую к копированию настройку для запуска бухгалтерского учета вашего стартапа с момента регистрации до Series A, построенную на надежных принципах бухгалтерско го учета по методу начисления.
1) Что вы настроите
Это руководство проведет вас через создание полной бухгалтерской настройки профессионального уровня. К концу вы получите:
- Единый источник достоверной информации (Single-source-of-truth ledger), управляемый в Git (
main.beancount), предоставляющий вам полную, проверяемую историю финансов вашей компании. - Fava для красивых отчетов и графиков. Fava — это веб-интерфейс для Beancount, который превращает ваши текстовые файлы в интерактивные отчеты о прибылях и убытках, бухгалтерские балансы и анализ денежных потоков.
- Структуру для импортеров, которую вы сможете добавить позже для автоматизации ввода транзакций из ваших банковских счетов, кредитных карт, PayPal и Stripe. Мы начнем вручную, чтобы изучить систему, а затем автоматизируем процесс.
- Готовый к учету по методу начисления план счетов, разработанный для с овременных стартапов, со встроенной поддержкой отложенной выручки, предоплаченных расходов и обязательств по заработной плате.
- Примитивы для финансирования на посевной стадии (seed financing), включая четкие примеры регистрации SAFE (как обязательства или как акционерный капитал) и конвертируемых векселей с процентами.
2) Структура проекта (вставьте в свой репозиторий)
Начните с создания этой структуры каталогов внутри репозитория Git вашей компании. Такая организация обеспечивает чистоту и масштабируемость вашей книги.
/ledger
main.beancount
/includes
accounts.beancount
opening-balances.beancount
policies.beancount
/documents
/bank
/invoices
/receipts
/importers # optional; add when you automate CSV ingestion
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"
; If you later add importers, you’ll add plugin lines here.
; plugin "beancount.plugins.implicit_prices"
4) Стартовый план счетов (сначала метод начисления)
Ваш план счетов — это полный список категорий для финансовых транзакций вашей компании. Этот стартовый шаблон создан для учета по методу начисления, который дает гораздо более точное представление о состоянии вашей компании, чем учет на основе денежных средств.
Поместите это в includes/accounts.beancount. Не стесняйтесь удалять любые счета, которые вам не нужны прямо сейчас.
; --- Assets ---
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Assets:Bank:Savings USD
1970-01-01 open Assets:AR USD ; Accounts Receivable
1970-01-01 open Assets:Prepaid:Software USD
1970-01-01 open Assets:Prepaid:Insurance USD
1970-01-01 open Assets:Deposits USD ; Security deposits
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
; --- Liabilities ---
1970-01-01 open Liabilities:AP USD ; Accounts Payable
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
; --- Equity ---
1970-01-01 open Equity:CommonStock USD
1970-01-01 open Equity:APIC USD ; Additional Paid-in Capital
1970-01-01 open Equity:SAFE USD ; If you classify SAFEs as equity
1970-01-01 open Equity:RetainedEarnings USD
1970-01-01 open Equity:OpeningBalances USD
; --- Income (negative balances) ---
1970-01-01 open Income:Revenue:SaaS USD
1970-01-01 open Income:Revenue:Services USD
1970-01-01 open Income:Other USD
; --- Expenses ---
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 * "Opening balances"
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) Общие транзакции стартапа (копировать-вставить)
Вот рецепты наиболее распространенных финансовых событий в стартапе на ранней стадии. Копируйте, вставляйте и адаптируйте их для собственного использования.
Покупка акций основателями (просто, только валюта)
Когда основатели покупают свои первоначальные акции по номинальной стоимости, денежные средства поступают в компанию и регистрируются как акционерный капитал. Ваша таблица капитализации (Carta, Pulley или электронная таблица) является источником достоверной информации о количестве акций; книга просто фиксирует доллары.
2025-01-05 * "Founder stock purchase @ par"
Assets:Bank:Checking 800.00 USD
Equity:CommonStock -0.80 USD
Equity:APIC -799.20 USD
; 8,000,000 common @ $0.0001 — counts maintained off-ledger
(Необязательно) Отслеживайте собственные акции как товар
Если вы хотите, чтобы книга отслеживала количество выпущенных акций, вы можете определить свои акции как «товар». Это сложнее, но обеспечивает более полную запись в книге.
2025-01-05 commodity ACME
name: "Acme, Inc. Common"
2025-01-05 * "Founder share issuance"
Assets:Bank:Checking 800.00 USD
Equity:APIC -799.20 USD
Equity:CommonStock -8,000,000 ACME {0.0001 USD}
Ввод денежных средств SAFE (выберите классификацию)
SAFE (Simple Agreement for Future Equity) можно рассматривать как обязательство или как форму акционерного капитала (в частности, «мезонинный капитал»). Проконсультируйтесь со своим бухгалтером, чтобы выбрать правильный подход и быть последовательным.
; (A) Equity classification (mezzanine)
2025-02-01 * "Post-money SAFE — SeedFund"
Assets:Bank:Checking 500,000.00 USD
Equity:SAFE -500,000.00 USD
; (B) Liability classification (until conversion)
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 * "Convertible Note — 6% annual"
Assets:Bank:Checking 250,000.00 USD
Liabilities:NotesPayable -250,000.00 USD
2025-06-30 * "Accrue note interest Q2"
Expenses:Interest 3,750.00 USD
Liabilities:NotesPayable -3,750.00 USD
; 250,000 * 6% * 0.25 = 3,750