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

Първият ви месец с bea

Отворете счетоводна книга, запишете седмица покупки, импортирайте банков експорт, съгласувайте с баланс от 3206.81 USD и прочетете отчетите за месеца с командата bea.

Приключете един месец счетоводни книги от начало до край с bea, инструментът за команден ред на Beancount.io. Ще отворите счетоводна книга, ще запишете покупки, ще импортирате банков експорт, ще съгласувате с баланс от 3206.81 USD и ще прочетете отчета за приходите и разходите и баланса за месеца.

Месецът е август 2026 г., а книгата започва с 1250 USD в разплащателната сметка. Нищо тук не изисква да пишете Python или заявка.

Инсталирайте bea първо, ако не сте: Бърз старт с Beancount CLI покрива Homebrew и uv. Локалното счетоводство не изисква акаунт в Beancount.io.

Работете в празна директория. Изтеглете двата входни файла в нея, преди да започнете:

  • first-month.csv — банковият експорт, който импортирате през седмица 3.
  • rules.toml — правилата за категоризация, които този експорт използва.

Всяка команда посочва книгата с --file august/main.bean, така че можете да ги изпълнявате от тази директория, без да влизате в книгата.

Седмица 1 — настройка на книгите

Създайте книгата, след което отворете единствената сметка, която шаблонът не включва за този месец.

bea --no-input init august --currency USD --date 2026-08-01 \
  --opening-balance "Assets:Checking 1250"
bea --file august/main.bean add open --date 2026-08-01 --account Expenses:Transport:Fuel -c USD

init записва august/main.bean с четиринадесет сметки, включително Expenses:Uncategorized. Импортирането поставя редове, които не може да категоризира, там.

Седмица 2 — записване на ежедневни покупки

Записвайте покупките, когато се случват. Датата по подразбиране е днес, така че за минали дати подавайте --date изрично.

bea --file august/main.bean add transaction "Coffee" --date 2026-08-03 \
  --posting "Expenses:Dining 4.50" --posting "Assets:Checking"
bea --file august/main.bean add transaction "Weekly groceries" --date 2026-08-05 \
  --posting "Expenses:Groceries 62.30" --posting "Assets:Checking"
bea --file august/main.bean add transaction --date 2026-08-07 --payee "Employer" \
  --narration "August salary" --posting "Assets:Checking 2100" --posting "Income:Salary"

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

Седмица 3 — импортиране на банковия експорт

Експортът за остатъка от август съдържа три реда:

Date,Payee,Amount
2026-08-10,Whole Foods,-28.40
2026-08-12,Shell,-35.00
2026-08-20,Mystery Shop,-9.99

Файлът с правила съпоставя получател със сметка. Правилата се изпълняват в реда на файла и първото съвпадение печели.

[[rule]]
match = "whole foods|trader joe|corner market"
account = "Expenses:Groceries"
 
[[rule]]
match = "shell|chevron|exxon"
account = "Expenses:Transport:Fuel"
 
[[rule]]
match = "salary|payroll|employer"
account = "Income:Salary"

Съпоставете колоните на експорта с --csv, прегледайте резултата, след което повторете с --apply, за да го запишете.

bea --file august/main.bean import first-month.csv \
  --csv date=Date,amount=Amount,payee=Payee --account Assets:Checking --rules rules.toml
bea --file august/main.bean import first-month.csv --apply

Прегледът отпечатва по един ред на ред с правилото, което е съвпаднало, плюс точната разлика, която би записал. Нищо не се записва, докато не използвате --apply.

Втората команда не изисква флагове: съпоставянето на колони, сметката и правилата се запомнят за този файл. Всеки записан запис носи ред import-id, така че повторното импортиране на същия експорт пропуска вече записаното в книгата.

Два реда съвпадат с правило. Третият, Mystery Shop, не съвпада с нищо, затова се осчетоводява в Expenses:Uncategorized с флаг ! — вашата опашка за преглед за по-късно.

За формата на колоните дебит и кредит, други валути и Python импортьори вижте Импортиране на банкови експорти с CLI.

Седмица 4 — съгласуване с извлечението

Августовското извлечение приключва разплащателната сметка с 3206.81 USD. Вашите книги показват 3209.81 USD. Разликата е банкова такса от 3.00 USD, която експортът е пропуснал.

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

bea --file august/main.bean add transaction "Bank fee" --date 2026-08-31 \
  --posting "Expenses:Fees 3.00" --posting "Assets:Checking"
bea --file august/main.bean add balance --date 2026-09-01 --account Assets:Checking \
  --amount "3206.81 USD"
bea --file august/main.bean list transaction --flag '!' --details

Опашката съдържа една транзакция — реда Mystery Shop. --details отпечатва нейния файл и номер на ред.

Отворете този ред в редактора си. Променете записа Expenses:Uncategorized на сметката, към която принадлежи — тук Expenses:Dining — и променете флага от ! на *, за да отбележите, че е прегледан. Запазете реда import-id, така че повторен импорт да пропусне реда.

След това потвърдете, че книгата се зарежда и опашката е празна:

bea --file august/main.bean check
bea --file august/main.bean list transaction --flag '!' --details

Чиста книга излиза с код 0. Счупено потвърждение или неизвестна сметка се изброяват с ненулев код на изход. Опашката вече отпечатва No transactions found.

Прочетете месеца

bea --file august/main.bean report income-statement --time 2026-08
bea --file august/main.bean report balance-sheet
bea --file august/main.bean report income-statement --time month

Отчетът за приходите и разходите изравнява заплатата от 2100.00 USD срещу разходи от 143.19 USD за нетна печалба от 1956.81 USD. Балансите на сметките се отпечатват със знаците на Beancount, така че редовете за приходи са отрицателни. Балансът показва разплащателната сметка с 3206.81 USD, съответстващо на извлечението, с което съгласувахте.

--time 2026-08 фиксира месеца на този урок. --time month винаги означава текущия месец, който ще използвате, когато книгите ви са актуални.

Продължете от тук

Източник: https://beancount.io/bg/docs/Basics/bea-first-month