Настройка 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