Към основното съдържание
Beancount.io Logo

Настройка на Beancount за стартъпи

Практическа, готова за копиране и поставяне базова линия за водене на счетоводни книги на стартъп в текстов формат. Работи от етап преди инвестиция до Серия А. Това не е правен или данъчен съвет.


Управлението на стартъп означава да носите много шапки, като една от най-критичните е тази на "счетоводител". Преди да можете да си позволите скъп софтуер или счетоводител на пълен работен ден, ви е необходима система, която е точна, подлежаща на одит и няма да ви заключи в патентована екосистема. Влезте в Beancount: отворена, текстов счетоводна система.

Използването на Beancount означава, че вашата финансова счетоводна книга живее в текстови файлове, точно до вашия код в Git хранилище. Тя е контролирана от версии, прозрачна и безкрайно персонализируема. Това ръководство предоставя пълна, готова за копиране и поставяне настройка, за да стартирате счетоводството на вашия стартъп от учредяването до Серия А, изградена върху здрави, базирани на метода на начисляване счетоводни принципи.

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) Често срещани стартъп транзакции (копиране-поставяне)

Ето рецепти за най-често срещаните финансови събития в стартъп в ранен етап. Копирайте, поставете и адаптирайте ги за ваша собствена употреба.

Покупка на акции от основател (проста, само валута)

Когато основателите купуват първоначалните си акции по номинална стойност, парите постъпват в компанията и се записват като собствен капитал. Вашата капиталова таблица (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 (Simple Agreement for Future Equity) може да се третира като пасив или форма на собствен капитал (по-специално, "мецанин капитал"). Консултирайте се с вашия счетоводител, за да изберете правилния подход и да бъдете последователни.

; (А) Класификация като собствен капитал (мецанин)
2025-02-01 * "SAFE след инвестиция — SeedFund"
  Assets:Bank:Checking            500,000.00 USD
  Equity:SAFE                    -500,000.00 USD
 
; (Б) Класификация като пасив (до конвертиране)
2025-02-01 * "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/12th от тях всеки месец.

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

Събиране и превеждане на данък върху продажбите (пример Калифорния)

Когато събирате данък върху продажбите, това не са вашите пари. Това е задължение, което дължите на държавата. Вие записвате задължението, когато извършите продажбата, и го изчиствате, когато преведете данъка.

2025-05-10 * "Фактура #123 — облагаема в Калифорния"
  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 * "Превеждане на данък върху продажбите в Калифорния Q2"
  Liabilities:SalesTax:CA            89.75 USD
  Assets:Bank:Checking              -89.75 USD

Валута и крипто (олекотена)

Beancount работи нативно с множество валути. Използвайте директиви price за записване на обменни курсове и синтаксиса на цената {} за конкретни транзакции.

2025-03-01 price EUR 1.0832 USD
 
2025-03-02 * "Такса за AWS ЕС"
  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 мин)

В края на всеки месец прегледайте този списък, за да се уверите, че счетоводните ви книги са точни и актуални. Тази дисциплина прави данъчния период и инвеститорската проверка лесни.

  • Банкови/кредитни карти: Импортирайте или въведете ръчно всички транзакции. Съгласувайте салда спрямо вашите извлечения.
  • Вземания/Задължения: Осчетоводете всички издадени фактури и получени сметки; маркирайте платените позиции като изчистени.
  • Приходи: Осчетоводете месечните записи за признаване на приходи за всички предплатени договори.
  • Предплатени разходи: Амортизирайте 1/12th (или съответната част) от всички предплатени разходи.
  • Заплати: Осчетоводете счетоводния запис от отчета на вашия доставчик на заплати.
  • Данък върху продажбите: Осчетоводете задължението си за данък върху продажбите за месеца.
  • Инструменти за начално финансиране: Начислете лихви по всички конвертируеми облигации.
  • Проверки за адекватност:
    • Приходите ви по Отчета за доходите съответстват ли приблизително на очакваните ви месечни/годишни повтарящи се приходи (MRR/ARR)?
    • Разходите ви и периода на оцеляване съответстват ли на финансовия ви план?
    • Изпълнява ли се $ 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; записване на валутни операции по дневния курс или курса на транзакцията.
  • Праг на капитализация (напр., елементи над $2,500 стават Assets:Equipment; в противен случай се отчитат като разход незабавно).
  • Пътувания/Хранене: Бизнес целта трябва да бъде документирана в полето narration.
  • Записване на собствен капитал: Изрично посочете дали използвате метода само валута или акции като стока.
  • SAFE/бележки: Документирайте избраната от вас класификация (Пасив или Собствен капитал).

Пример policies.beancount:

; Политика: Начисляване на база, приходите се отсрочват и признават месечно.
; Политика: USD е функционална валута. Валутните печалби/загуби се изчисляват от данни за разходи/цени.
; Политика: Капитализират се материални активи над $2,500 с 3-годишна праволинейна амортизация.
; Политика: SAFE се записват като задължения до конвертирането им в оценен кръг.

12) Бързо отстраняване на проблеми

  • Приходите изглеждат отрицателни в дневника: Това е правилно! Приходите са кредит. Отчетите на Fava ще ги показват като положително число.
  • Салдата не се нулират: Вероятно имате непълна транзакция. Записите на една транзакция трябва да се сумират до нула. Използвайте изгледа "Дневник" на Fava, за да намерите виновника. Като временна мярка можете да добавите балансиращ запис към сметка Equity:Suspense, за да направите файла валиден, след което да проучите и отстраните основната причина.
  • Валутни несъответствия: Уверете се, че имате директиви price за съответните дати или че сте посочили базата на разходите във вашата оперативна валута, като 90.00 EUR {97.49 USD}.

13) Какво да проследявате извън счетоводната книга (съхранявайте връзки)

Beancount е за вашите финансови транзакции, но някои неща се управляват по-добре в специализирани системи. Ключът е да свързвате към тях от вашата счетоводна книга.

  • Капиталова таблица: Използвайте Carta, Pulley или електронна таблица. Свържете към подписаните документи за приключване от вашите финансови транзакции в Beancount.
  • Одобрения на борда, план за дялово участие, доклади 409A: Съхранявайте ги на сигурно място и добавете метаданни link: към съответните транзакции за дялово участие.
  • Данъчни декларации: Съхранявайте окончателните PDF файлове и свържете към тях от годишна транзакция за приключване.

Готов за копиране стартов файл (всичко в едно)

Ако предпочитате да започнете с един файл, преди да разширите до включената структура, можете просто да поставите съдържанието на файловете от горните секции в един голям main.beancount. Винаги можете да го рефакторирате по-късно, докато вашата счетоводна книга нараства.

Тази рамка предоставя солидна, мащабируема основа за финансите на вашия стартъп. Чрез поддържането на вашите счетоводни книги в обикновен текст под контрол на версии, вие получавате несравнима прозрачност и контрол, като подготвяте вашата компания за финансова дисциплина от първия ден.