Преминете към основното съдържание

50 публикации маркиран с/със "счетоводство"

Вижте всички етикети

Разделяне на бизнес и лично счетоводство с Beancount

· 6 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Процъфтяваща компания и здравословен портфейл споделят една черта: граници.

За всеки собственик на бизнес, от самостоятелно работещ до основател на стартираща компания, една от най-важните финансови дисциплини е стриктното разделяне на бизнес и лични финанси. Смесването на средства – използването на бизнес сметката за хранителни стоки или плащането на бизнес доставчик от личната ви сметка – създава объркана, непрозрачна финансова картина. Това не само привлича вниманието на данъчните власти, но и ви лишава от ясна представа за действителното представяне на вашата компания.

2023-08-12-business-vs-personal-bookkeeping-with-beancount

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

Защо разделянето е важно

Неразделянето на вашите финанси не е просто лош навик; то носи значителни рискове и маскира ценна бизнес информация.

  • Яснота пред НАП: НАП не просто ви предлага да поддържате отделни банкови сметки; те настоятелно го препоръчват. Когато бизнес и личните средства са смесени, става трудно да се докаже кои разходи са легитимни бизнес удръжки. Тази неяснота може да доведе до въпроси и усложнения, които е по-добре да избегнете.
  • Риск от ревизия: Смесването на транзакции е основен червен флаг за одиторите. Ако вашите книги са заплетена бъркотия от лична и бизнес дейност, рискувате валидни удръжки да бъдат отхвърлени или дори да се сблъскате с глоби. Чиста, отделна счетоводна книга демонстрира професионализъм и прави всяка потенциална ревизия по-гладка и по-малко стресираща.
  • По-ясна представа: Как можете да знаете истинския си марж на печалба, ако паричният поток на вашия бизнес е помрачен от лични разходи? Отделна бизнес счетоводна книга ви дава нефилтриран поглед върху финансовото състояние на вашата компания. Можете точно да проследявате приходите, да анализирате разходите и да изчислявате данъчните задължения без "шума" на вашия личен финансов живот.

Основни разлики с един поглед

Целта, правилата и структурата на бизнес и личното счетоводство са коренно различни. Разбирането на тези контрасти е ключово за поддържането на точни записи.

ОбластБизнес счетоводствоЛично счетоводство
ЦелПроследяване на приходи, разходи, активи и пасиви за данъчни и инвестиционни решенияУправление на бюджета на домакинството и спестяванията
Данъчни правилаТрябва да се спазват специфични данъчни закони; строги стандарти за приспаданеМалко формални изисквания освен основно водене на записи
СметкиСобствен капитал, задължения, вземания, ДДС, заплатиРазплащателна, спестовна, инвестиции, заеми
Заплащане на собственикаЗаплата или теглене от собствения капиталНяма – личните тегления финансират разходите за живот

Четириетапен план с Beancount

Beancount улеснява изграждането на здрава стена между двата ви финансови свята. Ето един практичен работен процес, за да го направите правилно.

• 1 — Отворете специални сметки

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

2025-07-23 open Assets:Bank:Business   USD
2025-07-23 open Assets:Bank:Personal USD

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

• 2 — Записвайте вноски и тегления на собственика

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

  • Вноска: Когато влагате собствени пари в бизнеса, за да го стартирате или покриете недостиг.
  • Теглене: Когато вземате пари от бизнеса за лична употреба (това е начинът, по който много еднолични търговци "плащат" на себе си).
; Капиталова инжекция за стартиране на бизнеса
2025-07-23 * "Вноска на собственика"
Assets:Bank:Business 10,000.00 USD
Equity:Owner:Contrib

; Теглене на пари за лични разходи за живот
2025-08-05 * "Теглене на собственика за наем"
Equity:Owner:Draw 2,500.00 USD
Assets:Bank:Business

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

• 3 — Обработвайте смесени разписки бързо

Грешки се случват. Може случайно да използвате бизнес картата си, за да платите за лична вечеря. Ключът е да го коригирате незабавно във вашата счетоводна книга. Не изтривайте транзакцията; прекласифицирайте я като теглене на собственика.

2025-08-07 * "Лични хранителни стоки с бизнес карта"
Equity:Owner:Draw 72.35 USD
Assets:Bank:Business

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

• 4 — Сверявайте и преглеждайте по график

Постоянството е вашата най-добра защита срещу объркани книги. Отделете време седмично или месечно, за да сверите вашите бизнес сметки. Използвайте инструментите на Beancount, за да се уверите, че вашата счетоводна книга съответства на вашите банкови извлечения и да прегледате представянето на вашата компания.

# Проверете салдото по вашата бизнес банкова сметка спрямо извлечението ви
bean-balance books.bean "Assets:Bank:Business"

# Генерирайте отчет за приходите, за да прегледате рентабилността
bean-report books.bean income_statement -e 2025-08-31

Този редовен навик за преглед отговаря на изискванията на НАП за водене на записи и ви държи информирани за финансовото състояние на вашия бизнес.

Данъчни съображения

  • Авансови данъци: За да избегнете болезнена данъчна сметка, третирайте бъдещите си данъци като текущ бизнес разход. Създайте сметки за задължения (Liabilities:Tax:Federal, Liabilities:Tax:State) и редовно премествайте определен процент от всеки депозит в тях. Когато тримесечните плащания са дължими, парите вече чакат.
  • Неприспадащи се лични разходи: Запомнете правилото на НАП: бизнес разходите трябва да бъдат едновременно "обичайни и необходими" за вашата работа. Вашите лични хранения, разходи за пътуване до работното място и небизнес абонаменти не отговарят на условията и трябва да бъдат държани изцяло извън отчета за печалбите и загубите на вашия бизнес.

Чеклист за бърз старт

  • Отворете само бизнес банкови и кредитни сметки.
  • Изградете сметкоплан на Beancount с Assets:Bank:Business, Equity:Owner:Contrib и Equity:Owner:Draw.
  • Решете за вашата счетоводна база (парична или начислена) и я отбележете във вашите options на Beancount.
  • Маркирайте всички случайни лични такси по бизнес карти като Equity:Owner:Draw незабавно.
  • Сверявайте седмично; архивирайте вашия .bean файл в частно Git хранилище.
  • Преглеждайте отчета си за приходите, баланса и отчетите за паричните потоци всеки месец.

В заключение: Отделни пари, отделни счетоводни книги. Beancount прави стената между вашите бизнес и лични финанси явна – и с контрол на версиите – така че вашият бизнес остава готов за ревизия, докато навикът ви за лате си остава ваша работа. Приятно счетоводене!

Моделиране на сделки с недвижими имоти в Beancount

· 5 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

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

Да приемем, че г-н А е закупил луксозен дом, намиращ се на адрес 123 ABC Street, XYZ City, CA, 12345 на 1 януари 2020 г. на цена от 1 милион. Лихвеният процент е 3.0%, първоначалната вноска е 20%, а сумата на заема е 800 000.

ЕлементСума
Сума на ипотеката800 000
Лихвен процент3%
Период на ипотеката30 години
Обща цена на ипотеката1 478 219.62
Месечни плащания4 106.17
Застраховка на жилището1 300 на година (39 000 общо)
Данък върху имота7 500 на година (225 000 общо)
Изплащане на заема2049 декември
Общо платени лихви414 219.62

2023-06-09-tracking-real-estate

Екранна снимка на детайли за ипотека

Създаване на сметки

Първо, третираме къщата като Актив. Тъй като къщата се посочва като Актив, тя трябва да има единица. В този случай количеството на единицата е само едно, малко вероятно е да има няколко, и дори ако е n-тата къща, бихме искали да я запишем в отделен Актив. Тоест, една къща съответства на един Актив, и този Актив има специална единица, чиято стойност може да бъде само 1.

2019-12-31 commodity HOUSE.ABC
name: "123 ABC Street, XYZ City, CA, 12345"

2019-12-31 open Assets:Property:US:CA:123ABC HOUSE.ABC
2019-12-31 open Liabilities:Bank:US:SomeBank:Mortgage:Loan USD

В първия ред тук дефинирахме стокова единица, представляваща къщата. В четвъртия ред дефинирахме сметка за Актив, която държи стоковата единица, дефинирана по-рано като къща. В петия ред дефинирахме сметка за банката кредитор. Тъй като това е пасив, тя попада в категорията Пасиви.

Покупка

При така настроените сметки, актът на закупуване на къща е еквивалентен на

заемане на пари (дълг) + изразходване на пари (първоначална вноска) = 1 къща като актив

Най-важната справка при закупуване на имот вероятно е Удостоверението за уреждане на сделката на купувача, което ясно описва паричния поток.

2020-01-01 * "Покупка на къщата"
Assets:Property:US:CA:123ABC 1 HOUSE.ABC {1,000,000 USD}
Assets:Bank:US:SomeBankA -100,000 USD
Assets:Bank:US:SomeBankB -101,000 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan -800,000.00 USD
Expenses:Home:Insurance 1,000 USD
Expenses:Home:Mortgage:Loan:ClosingCost

Тук описваме подробно сделката по закупуване на къщата, при която пари излизат от някои банки (използвани за първоначална вноска и други разходи), тегли се заем (добавяйки към пасивите) и се придобива къща (добавена към активите).

Погасяване на ипотеки

Въз основа на горния запис за покупка, в момента дължим 800 000 USD. Поради лихвата и като се има предвид, че всички заеми в САЩ се амортизират равномерно по отношение на главницата и лихвата, месечното плащане включва част за лихва и част за главница. В ранните етапи лихвата съставлява по-голямата част.

За да запишете погасяването на заема, всичко, което трябва да направите, е да проверите извлечението от вашата банка кредитор. Просто трябва да знаете колко от главницата погасявате всеки месец, а останалото е лихва. Лихвата се отчита като Разход.

2020-02-01 * "Ипотечно плащане"
Assets:Bank:US:SomeBank:Saving:Joint -3,372.83 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan 1,376.26 USD
Expenses:Home:Mortgage:Loan:Interest

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

Поскъпване

Ако искате да запишете поскъпването на имота, някои хора създават отделна сметка, записвайки само поскъпването на текущия имот. Като се има предвид, че стойността на къщата може да се увеличи или намали, това поскъпване може да бъде отрицателно. Предимството на това е, че в обобщението на вашите общи активи, тези две сметки ще бъдат включени – едната за стойността на къщата към момента на сделката, а другата за текущото поскъпване на къщата, като по този начин отразяват реалната цена на къщата.

Аз не възприех този метод, главно поради следните причини:

  1. Текущата стойност на къщата може да бъде само приблизителна оценка, само за справка, без практическа стойност. Обикновено мога да получа оценка на имота само от уебсайтове като Redfin или Zillow, и лично аз не смятам, че тя има висока референтна стойност. Също така не съм обмислял включването на тези поскъпвания в общите активи в реално време.
  2. Лично аз смятам, че преди изплащането на ипотеката, ако паричният поток от къщата е отрицателен, до известна степен имотът все още е пасив. Следователно, преждевременното му включване в активите ще ви даде илюзия за обогатени активи и поскъпване, и аз лично искам да избегна тази илюзия.

Методът, който използвам за записване на поскъпването на имота, който ще бъде обсъден по-късно и за моделиране на RSUs. Този метод е да се използва виртуална валутна единица. Ако приемем, че вашата базова валута е USD, можем да използваме USD.UNVEST (изглежда, че няма нужда да се създава нова Стока за това), за да покажем, че този актив се изчислява в специална валута. Нарастването или намаляването на този актив няма да бъде записано в USD. По този начин мога да постигна първоначалната си цел, а именно да запиша поскъпването на къщата, и това поскъпване няма да бъде включено в крайния баланс (Баланс).

2020-01-01 price HOUSE.ABC                          1,000,000 USD
2025-01-01 price HOUSE.ABC 1,400,000 USD.UNVEST

Трябва само редовно да оценявате имота си в USD.UNVEST.

Така, на страницата "Стоки" на Fava, можете да проследявате тенденцията на референтната цена на къщата. Но на страницата "Баланс", цената на къщата все още е цената на къщата към момента на сделката. Тоест, вашите общи активи все още са парите от първоначалната ви вноска

Разбиране на вземанията и задълженията в Beancount

· 3 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

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

Разбирането на тези термини е от решаващо значение за ефективното използване на Beancount (или която и да е система за двустранно счетоводство). Но не се притеснявайте, ако сте начинаещи - ще разгледаме всичко, стъпка по стъпка!

Вземания и Задължения: Основи

2023-05-30-receiveable-and-payable

В счетоводството „вземания“ и „задължения“ са термини, използвани за проследяване на дължими пари. „Вземания“ се отнася до пари, които други дължат на вас, докато „задължения“ се отнася до пари, които вие дължите на други.

Нека дадем пример:

  1. Сметки за вземания (A/R): Да предположим, че притежавате книжарница и клиент купува книга на кредит. Парите, които той ви дължи за книгата, са сметка за вземания.

  2. Сметки за задължения (A/P): От друга страна, представете си, че поръчвате нов комплект книги от издател, но не ги плащате предварително. Парите, които дължите на издателя, са сметка за задължения.

В Beancount те обикновено се проследяват чрез съответни сметки. Основното предимство тук е, че ви предоставя ясна и точна картина на вашето финансово състояние във всеки един момент.

Настройване на вземания и задължения в Beancount

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

Ето един прост пример:

1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:AccountsPayable

Проследяване на транзакции

От страна на кредитора

След като настроите сметките си, можете да проследявате транзакции, които включват вземания и задължения. Нека разгледаме един пример:

2023-05-29 * "Продадени книги на клиент на кредит"
Assets:AccountsReceivable 100 USD
Income:BookSales -100 USD

Тук добавяте 100 щатски долара към вашите вземания, защото клиент ви дължи тази сума. Едновременно с това намалявате приходите си със същата сума, за да поддържате баланса (тъй като все още не сте получили парите).

Когато клиентът в крайна сметка плати, ще го запишете така:

2023-06-01 * "Получено плащане от клиент"
Assets:Bank:Savings 100 USD
Assets:AccountsReceivable -100 USD

От страна на длъжника

Същият принцип важи и за задълженията, но с обърнати знаци:

2023-05-30 * "Купени книги от издател на кредит"
Liabilities:AccountsPayable 200 USD
Expenses:BookPurchases -200 USD

И когато изплатите дълга си:

2023-06-02 * "Изплатен дълг към издател"
Liabilities:AccountsPayable -200 USD
Assets:Bank:Checking 200 USD

В заключение

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

Това е само отправна точка, а Beancount е способен на много повече. Надявам се тази публикация в блога да помогне за изясняването на тези важни концепции. Както винаги, приятно счетоводство!

Деконструкция на Beancount счетоводна книга: Казус за бизнес счетоводство

· 3 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

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

Деконструкция на Beancount счетоводна книга: Казус за бизнес счетоводство

Нека започнем първо с кода:

2023-05-22-business-template

1970-01-01 open Assets:Bank:Mercury
1970-01-01 open Assets:Crypto

1970-01-01 open Equity:Bank:Chase

1970-01-01 open Income:Stripe
1970-01-01 open Income:Crypto:ETH

1970-01-01 open Expenses:COGS
1970-01-01 open Expenses:COGS:Contabo
1970-01-01 open Expenses:COGS:AmazonWebServices

1970-01-01 open Expenses:BusinessExpenses
1970-01-01 open Expenses:BusinessExpenses:ChatGPT

2023-05-14 * "CONTABO.COM" "Mercury Checking ••1234"
Expenses:COGS:Contabo 17.49 USD
Assets:Bank:Mercury -17.49 USD

2023-05-11 * "Amazon Web Services" "Mercury Checking ••1234"
Expenses:COGS:AmazonWebServices 14490.33 USD
Assets:Bank:Mercury -14490.33 USD

2023-03-01 * "STRIPE" "Mercury Checking ••1234"
Income:Stripe -21230.75 USD
Assets:Bank:Mercury 21230.75 USD

2023-05-18 * "customer_182734" "0x5190E84918FD67706A9DFDb337d5744dF4EE5f3f"
Assets:Crypto -19 ETH {1,856.20 USD}
Income:Crypto:ETH 19 ETH @@ 35267.8 USD

Разбиране на кода

  1. Отваряне на сметки: Кодът започва с отваряне на поредица от сметки на 1970-01-01. Те включват комбинация от сметки за активи (Assets:Bank:Mercury и Assets:Crypto), сметка за собствен капитал (Equity:Bank:Chase), сметки за приходи (Income:Stripe и Income:Crypto:ETH) и сметки за разходи (Expenses:COGS, Expenses:COGS:AmazonWebServices, Expenses:BusinessExpenses и Expenses:BusinessExpenses:ChatGPT).

  2. Транзакции: След това се преминава към записване на поредица от транзакции между 2023-03-01 и 2023-05-18.

    • Транзакцията от 2023-05-14 представлява плащане от $17.49 към CONTABO.COM от Mercury Checking ••1234. Това е записано като разход (Expenses:COGS:Contabo) и съответно приспадане от сметката Assets:Bank:Mercury.

    • По същия начин, транзакцията от 2023-05-11 представлява плащане от $14490.33 към Amazon Web Services от същата банкова сметка. Това е записано под Expenses:COGS:AmazonWebServices.

    • Транзакцията от 2023-03-01 показва доход от STRIPE, депозиран в Mercury Checking ••1234, на обща стойност $21230.75. Това е записано като приход (Income:Stripe) и добавяне към банковата сметка (Assets:Bank:Mercury).

    • Последната транзакция от 2023-05-18 представлява крипто транзакция, включваща 19 ETH от клиент. Тя се проследява под Assets:Crypto и Income:Crypto:ETH. {1,856.20 USD} показва цената на ETH по време на транзакцията, докато @@ 35267.8 USD указва общата стойност на транзакцията от 19 ETH.

При всички транзакции се поддържа принципът на двойното счетоводство, като се гарантира, че уравнението Активи = Пасиви + Собствен капитал винаги е вярно.

Заключителни мисли

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

Надяваме се, че този анализ ви помага да разберете по-добре структурата и възможностите на Beancount, независимо дали сте опитен счетоводител или начинаещ, който се опитва да следи личните си финанси. Очаквайте следващата ни публикация в блога, където ще навлезем по-дълбоко в напредналите операции на Beancount.

Повторно въвеждане на безплатния план за нови клиенти

· 2 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

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

Представяме новия безплатен план за нови клиенти

Безплатният план винаги е бил съществена част от нашата визия да предоставяме достъпна и лесна за ползване услуга за всички. Вярваме, че промените, които направихме през последните месеци, ще ни позволят да осигурим още по-добро изживяване за нашите потребители, като същевременно поддържаме качеството на услугата за нашите клиенти с Pro план.

2023-04-28-start-serving-free-users

Нови клиенти, които се регистрират след 1 май 2023 г., ще имат достъп до безплатния план.

Вашата подкрепа и лоялност бяха от решаващо значение за финансовото осъществяване на повторното въвеждане на безплатния план. Именно благодарение на вашите приноси успяхме да инвестираме в нашата инфраструктура и системи за поддръжка, гарантирайки, че можем да продължим да предоставяме висококачествената услуга, която очаквате, като същевременно разширяваме достъпа до нашата платформа за нови потребители. Вашият ангажимент към нашата визия ни помогна да растем и да се развиваме, и ние сме наистина благодарни за вашето продължаващо партньорство. Заедно изграждаме процъфтяваща общност и даваме възможност на потребители от всички сфери на живота да постигнат своите цели.

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

Шпаргалка за Beancount

· 2 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Примерно име на сметка

Assets:US:BofA:Checking

cheatsheet-bg

Типове сметки

Assets          +
Liabilities -
Income -
Expenses +
Equity -

Валути и активи

CNY, EUR, CAD, AUD
GOOG, AAPL, RBF1005
HOME_MAYST, AIRMILES
HOURS

Директиви

Общ синтаксис

YYYY-MM-DD <Directive> <Parameters...>

Откриване и закриване на сметки

2001-05-29 open Expenses:Restaurant
2001-05-29 open Assets:Checking USD,EUR ; Валутни ограничения

2015-04-23 close Assets:Checking

Деклариране на валути/активи (по избор)

1998-07-22 commodity AAPL
name: "Apple Computer Inc."

Цени

2015-04-30 price AAPL   125.15 CNY
2015-05-30 price AAPL 130.28 CNY

Бележки

2013-03-20 note Assets:Checking "Обадих се да попитам за отстъпка"

Документи

2013-03-20 document Assets:Checking "path/to/statement.pdf"

Транзакции

2015-05-30 * "Някакво описание на тази транзакция"
Liabilities:CreditCard -101.23 CNY
Expenses:Restaurant 101.23 CNY

2015-05-30 ! "Кабелна компания" "Сметка за телефон" #tag ˆlink
id: "TW378743437" ; Метаданни
Expenses:Home:Phone 87.45 CNY
Assets:Checking ; Можете да пропуснете една сума

Записвания

  ...    123.45 USD                             Обикновено
... 10 GOOG {502.12 USD} С единична себестойност
... 10 GOOG {{5021.20 USD}} С обща себестойност
... 10 GOOG {502.12 # 9.95 USD} С двете себестойности
... 1000.00 USD @ 1.10 CAD С единична цена
... 10 GOOG {502.12 USD} @ 1.10 CAD Със себестойност и цена
... 10 GOOG {502.12 USD, 2014-05-12} С дата
! ... 123.45 USD ... С флаг

Проверки на салдо и допълване

; Проверява сумата само за дадената валута:
2015-06-01 balance Liabilities:CreditCard -634.30 CNY

; Автоматично вмъкване на транзакция за изпълнение на следната проверка:
2015-06-01pad Assets:Checking Equity:Opening-Balances

Събития

2015-06-01 event "местоположение" "Ню Йорк, САЩ"
2015-06-30 event "адрес" "Ул. Мей 123"

Опции

option "title" "Моят личен леджър"

Други

pushtag #пътуване-до-перу
...
poptag #пътуване-до-перу
; Коментарите започват с точка и запетая

Магията на счетоводството с обикновен текст с Beancount

· 5 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Открийте магията на счетоводството с обикновен текст с Beancount

Beancount.io banner

Въведение

2023-04-18-introduction-to-beancount

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

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

Какво е Beancount?

Beancount е счетоводна система с отворен код, базирана на обикновен текст, създадена от Мартин Блейс. Вдъхновен от системата Ledger на Джон Уигли, Beancount цели да предостави стабилен и надежден метод за управление на лични и малки бизнес финанси, използвайки файлове с обикновен текст. С Beancount можете лесно да проследявате своите доходи, разходи, инвестиции и много други.

Защо Beancount?

Счетоводството с обикновен текст предлага няколко предимства пред традиционните счетоводни системи, базирани на електронни таблици или софтуер:

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

Основни концепции на Beancount

За да използвате Beancount ефективно, е от решаващо значение да разберете основните му концепции:

  • Транзакции: Финансови събития, като доходи, разходи или преводи между сметки, се записват като транзакции.
  • Сметки: Транзакциите включват една или повече сметки, като активи, пасиви, доходи или разходи.
  • Двустранно счетоводство: Beancount прилага двустранно счетоводство, гарантирайки, че всяка транзакция има балансирани дебити и кредити.
  • Директиви: Beancount използва набор от директиви за дефиниране на транзакции, откриване на сметки и други финансови събития.

Започване с Beancount

За да започнете да използвате Beancount, следвайте тези прости стъпки:

  • Инсталирайте Beancount: Инсталирайте Beancount на вашата система, като използвате предоставените инструкции за инсталация за вашата операционна система.
  • Създайте своя Beancount файл: Създайте нов текстов файл с разширение .beancount (напр. my_finances.beancount).
  • Дефинирайте вашите сметки: Използвайте директивата "open", за да дефинирате сметките, които ще използвате във вашите транзакции.
  • Записвайте транзакции: Използвайте директивата "txn", за да записвате вашите финансови транзакции.

Или просто се регистрирайте на https://beancount.io. Ето няколко примера за счетоводство с обикновен текст -

Пример 1: Основна транзакция

2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries

2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD

В този пример отваряме две сметки, Assets:Checking и Expenses:Groceries. На 10 април 2023 г. записваме транзакция за закупуване на хранителни стоки на стойност $50. Транзакцията намалява баланса на Assets:Checking с $50 (дебит) и увеличава баланса на Expenses:Groceries с $50 (кредит).

Пример 2: Транзакция за доход и разход

2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent

2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD

2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD

В този пример отваряме три сметки: Assets:Checking, Income:Salary и Expenses:Rent. На 5 април 2023 г. записваме транзакция за изплащане на заплата от $2000. Транзакцията увеличава баланса на Assets:Checking с $2000 (кредит) и намалява баланса на Income:Salary с $2000 (дебит). На 6 април 2023 г. записваме транзакция за плащане на наем от $1000. Транзакцията намалява баланса на Assets:Checking с $1000 (дебит) и увеличава баланса на Expenses:Rent с $1000 (кредит).

Пример 3: Превод между сметки

2023-04-01 open Assets:Checking
2023-04-01 open Assets:Savings

2023-04-15 txn "Bank" "Transfer from Checking to Savings"
Assets:Checking -500.00 USD
Assets:Savings 500.00 USD

В този пример отваряме две сметки: Assets:Checking и Assets:Savings. На 15 април 2023 г. записваме транзакция за прехвърляне на $500 от разплащателната сметка към спестовната сметка

Подобряване на вашето Beancount изживяване с персонализирани връзки и заявки

· 3 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Beancount, системата за двустранно счетоводство, обичана както от разработчици, така и от финансови ентусиасти, е мощна в своята простота. Но за тези, които искат повече контрол и по-бърза навигация в Fava, уеб интерфейса на Beancount, персонализираните връзки в страничната лента и SQL заявките могат да издигнат работния ви процес на следващо ниво.

В това ръководство ще ви покажем как да:

  • Добавяте връзки за бърз достъп към страничната лента на Fava
  • Използвате SQL заявки за разширено филтриране и анализ
  • Персонализирате работния си процес за месечни прегледи или откриване на аномалии

Защо да персонализирате Fava?

Fava вече е красив интерфейс за преглед на вашия Beancount счетоводен регистър, но с нарастването на вашия журнал нараства и нуждата от по-добри преки пътища и по-интелигентни заявки.

Проблеми, които това решава:

  • Многократно навигиране през времеви диапазони
  • Филтриране на транзакции в рамките на вложени сметки
  • По-бързо откриване на отрицателни салда или аномалии

✨ Персонализирани връзки в страничната лента

Нека започнем с подобряване на ежедневния ви работен процес с прости преки пътища в страничната лента. Тези връзки се появяват в лявата странична лента на Fava и могат да ви отведат директно до филтрирани изгледи като транзакциите за този месец или доходите от миналия месец.

Добавете тези редове към вашия Beancount файл:

2021-01-01 custom "fava-sidebar-link" "Current Month" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "Last Month" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "Clear All" "/jump?account=&time=&filter="

Какво правят:

  • Текущ месец: Отваря изгледа на транзакциите, филтриран по текущия месец.
  • Минал месец: Незабавно прескача към предходния месец – чудесно за прегледи в края на месеца.
  • Изчистване на всички: Нулира филтрите, показвайки отново всички записи.

Тези преки пътища елиминират ръчното въвеждане на време и правят вашето Fava изживяване по-плавно и персонализирано.

🔍 Персонализирани SQL заявки

За по-задълбочен анализ, SQL интерфейсът на Fava е изключително мощен. Ето една заявка, която намира всички отрицателни салда в сметки, които съответстват на определен шаблон – идеална за отбелязване на необичайни или проблемни транзакции.

SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account ~ '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)

Разбор:

  • account ~ '.*:BCM:.*': Филтрира сметки, съдържащи :BCM: в името си.
  • number(units(position)) < 0: Отбелязва отрицателни салда (напр. преразход на бюджети).
  • Филтрите за дата стесняват резултата до конкретен едномесечен прозорец.

Случаи на употреба:

  • Откриване на грешки като дублиращи се разходи или неправилни осчетоводявания
  • Одит на конкретен доставчик или категория
  • Бързо извличане на приложими прозрения за бюджетиране

🛠 Професионален съвет: Комбинирайте връзки + заявки

Въпреки че Fava не позволява директни връзки към персонализирани заявки, можете да създадете навик за месечен преглед, като:

  • Използвате връзката „Текущ месец“, за да започнете прегледа си
  • Отворите раздела си със запазени заявки в друг прозорец
  • Преглеждате и двете едновременно – първо филтрирайте, след това задълбочете

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

Заключителни мисли

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

Бонус: Ако използвате персонализираните отчети на Fava, можете дори да изградите пълни табла за управление, съобразени с вашите лични финансови ритуали.

Готови ли сте да поемете контрол?

Започнете от малко: добавете връзката „Текущ месец“. След това изградете свои собствени заявки. Вашето бъдещо аз ще ви благодари.

Искате още съвети като този? Абонирайте се за нашия бюлетин или разгледайте още Beancount рецепти на Beancount.io.

Прогнозиране на бъдещи трансакции в Beancount

· Една минута четене
Mike Thrift
Mike Thrift
Marketing Manager

Има плъгин за Beancount за прогнозиране на бъдещи повтарящи се трансакции. Как да го приложите в beancount.io? Поставете следното съдържание във вашия ledger файл.

; import the plugin
plugin "fava.plugins.forecast"

; add a monthly HOA fee
2022-05-30 # "HOA fee [MONTHLY]"
Expenses:Hoa 1024.00 USD
Assets:Checking -1024.00 USD

Екранна снимка на плъгина за прогнозиране

2022-05-30-forecast-plugin

И тогава ще видите прогнозата в отчета за нетна печалба.

Плъгин за прогнозиране

Тагът [MONTHLY] по-горе означава, че трансакцията ще се повтаря завинаги. Ако имате повече условия за прилагане, опитайте [MONTHLY UNTIL 2022-06-01], [MONTHLY REPEAT 5 TIMES], [YEARLY REPEAT 5 TIMES] или [WEEKLY SKIP 1 TIME REPEAT 5 TIMES].

Изготвяне и проследяване на фактури с Beancount

· 6 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Шаблон в обикновен текст, повтаряем работен процес и едно единствено запитване за „Кой още ми дължи пари?“


2022-02-12-crafting-tracking-invoices-with-beancount

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

Докато специализираните SaaS приложения могат да изпращат елегантни, автоматизирани PDF файлове, те често идват с месечни такси и заключват вашите данни в собствено хранилище. Един лек, обикновено текстов подход, използващ Beancount, предлага мощна алтернатива. Можете да превърнете всяка фактура в ясен набор от счетоводни записи, като ви дава всички предимства на контрола на версиите, мощните метаданни и незабавното запитване - без да е необходим абонамент.


Минимално жизнеспособната фактура (полета, които никога не трябва да пропускате)

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

  • Данни за продавача: Име на фирмата и физически адрес.
  • Данни за клиента: Име на клиента и (в идеалния случай) неговия адрес.
  • Номер на фактурата: Уникален, последователен идентификатор, който никога не се използва повторно. INV-045 следва INV-044.
  • Дата на издаване и падеж: Ясно посочете кога е издадена фактурата и кога се очаква плащане.
  • Редове с артикули: Ясно описание на услугите или продуктите, заедно с количество, цена и обща сума за реда.
  • Междинна сума, данък и обща сума: Покажете изчисленията, за да може клиентът лесно да ги проследи.
  • Допълнителни бележки: Място за благодарност, инструкции за банков превод или номер на поръчка, предоставен от клиента.

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

Note: Invoice templates are coming soon! In the meantime, you can create your own using the fields listed above in Google Docs, Word, Sheets, Excel, or any other document format.


Записване на фактурата във вашата счетоводна книга

След като изпратите PDF файла на фактурата на вашия клиент, трябва да го запишете в Beancount. Това е ключова стъпка, която отчита приходите, когато са спечелени, а не само когато са платени. Процесът включва две отделни транзакции.

1. Когато издавате фактурата:

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

; 2025‑07‑21 Фактура #045  Уеб дизайн спринт за Acme Corp.
2025-07-21 * "Acme Corp" "INV-045 Уеб дизайн спринт"
Assets:AccountsReceivable 3500.00 USD ; due:2025-08-04
Income:Design:Web
invoice_id: "INV-045"
contact_email: "ap@acme.example"
link: "docs/invoices/2025-07-21_Acme_INV-045.pdf"

Тук дебитиране AccountsReceivable и кредитирате вашата сметка Income. Обърнете внимание на богатите метаданни: датата на падеж, уникален invoice_id и дори директна link: към PDF файла, който сте изпратили.

2. Когато клиентът плати:

Когато парите постъпят във вашата банкова сметка, записвате втора транзакция, за да "затворите" задължението. Това премества салдото от AccountsReceivable към вашата разплащателна сметка.

2025-08-01 * "Acme Corp" "Плащане INV-045"
Assets:Bank:Checking 3500.00 USD
Assets:AccountsReceivable
invoice_id: "INV-045"

Салдото за INV-045 в Assets:AccountsReceivable вече е нула и вашите книги са перфектно балансирани.

Прикачете PDF файла: Метаданните link: са особено мощни, когато се използват с Fava, уеб интерфейса на Beancount. Fava ще изобрази кликаема връзка директно в изгледа на транзакцията, така че изходният документ никога не е на повече от едно щракване разстояние. Този работен процес е предвиден още през 2016 г. в заявка за функция (GitHub).


Едно запитване за списък на всички отворени фактури

И така, кой още ви дължи пари? С тази система не е нужно да търсите в имейли или електронни таблици. Нуждаете се само от едно просто запитване.

Запазете следното като файл с име open-invoices.sql:

SELECT
meta('invoice_id') AS id,
payee,
narration,
date,
number(balance) AS outstanding
WHERE
account = "Assets:AccountsReceivable"
AND balance != 0
ORDER BY
date;

Сега го стартирайте от командния си ред:

bean-query books.beancount open-invoices.sql

За секунди ще получите чист, актуален отчет за всички неплатени фактури, показващ идентификационния номер на фактурата, клиента, датата на издаване и дължимата сума. Не е необходим допълнителен софтуер.


Автоматизирайте досадната работа

Красотата на обикновения текст е скриптируемостта. Можете да автоматизирате досадните части на този работен процес.

  • Шаблон + Pandoc = PDF: Поддържайте шаблона си за фактура в Markdown. Малък Python скрипт може да попълни променливите (име на клиент, редове с артикули, номер на фактура), а инструментът за команден ред Pandoc може незабавно да го преобразува в професионален PDF.
  • Git Pre-commit Hook: Ако съхранявате счетоводната си книга в Git, прост pre-commit hook може да изпълнява проверки, преди да запишете работата си. Той може да провери дали всеки нов invoice_id е уникален, дали транзакционните публикации са балансирани до нула и дали файлът, посочен в метаданните link:, действително съществува.
  • Cron Job: Настройте планирана задача (cron job), за да изпълнява вашето запитване open-invoices.sql всяка вечер и да ви изпраща имейл с обобщението. Ще започвате всеки ден, знаейки точно кой се нуждае от приятелско напомняне.

Реалистично предупреждение

Beancount е счетоводен инструмент, а не услуга за фактуриране. Той няма да изпраща автоматично напомняния за плащане на вашите клиенти или да обработва плащанията им с кредитна карта. Работният процес е: вие създавате и изпращате фактурата, използвайки избрания от вас метод (като шаблоните по-горе), и след това записвате счетоводните записи във вашата счетоводна книга.

За повечето фрийлансъри и малки фирми тази ръчна стъпка е малка цена за непробиваема, проверяема и безплатна счетоводна система, която напълно притежавате и контролирате (beancount.io).


Следващи стъпки

Готови ли сте да поемете контрол над фактурирането си? Ето как да започнете.

  1. Изтеглете шаблон и го използвайте, за да създадете следващата си реална фактура, като се уверите, че използвате последователен номер на фактура.
  2. Съхранявайте изпратените PDF файлове в специална папка като docs/invoices/ и използвайте ключа за метаданни link: във вашата Beancount транзакция, за да ги реферирате.
  3. Запазете запитването open-invoices.sql и го направете част от седмичния си финансов преглед.

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