Перейти к основному содержимому

Учебник Beancount: установка и первый журнал

Установите Beancount, создайте первый файл журнала, настройте счета и опции, затем проверьте — пошаговое руководство для первого успеха.

Готовы взять под контроль свои финансы? Это руководство поможет вам начать работу с Beancount за несколько минут. Вы узнаете, как создать свою первую книгу учёта, настроить основные счета и записать первые транзакции.

просмотр журнала beancount.io с перечислением текстовых транзакций двойной записи с фильтрами по типам директив

Изучите живой журнал →

Первоначальная настройка​

Создание вашей первой книги учёта​

; Basic structure for a new ledger
2024-01-01 open Assets:Checking
2024-01-01 open Equity:Opening-Balances
 
2024-01-02 * "Initial Deposit"
  Assets:Checking           100.00 USD
  Equity:Opening-Balances

Необходимая конфигурация​

option "title" "Personal Finance Ledger"
option "operating_currency" "USD"

Организация файлов​

Рекомендуемая структура​

; 1. Configuration Options
option "title" "Personal Ledger"
option "operating_currency" "USD"
 
; 2. Account Declarations
2024-01-01 open Assets:Checking    USD
2024-01-01 open Assets:Savings     USD
2024-01-01 open Expenses:Food      USD
2024-01-01 open Equity:Opening-Balances
 
; 3. Initial Balances
; Pad fills the gap up to Equity:Opening-Balances, so it must be dated
; before the assertion. Balance assertions are checked at the start of
; their day, so assert the next morning.
2024-01-01 pad Assets:Checking Equity:Opening-Balances
2024-01-02 balance Assets:Checking 1000.00 USD
 
; 4. Transactions
2024-01-15 * "Grocery Store" "Weekly groceries"
  Expenses:Food            50.00 USD
  Assets:Checking

Организация разделов​

  1. Постоянные счета

    2024-01-01 open Liabilities:Payables    USD
    2024-01-01 open Assets:Receivables      USD
  2. Банковские счета

    2024-01-01 open Assets:Bank:Checking     USD
    2024-01-01 open Assets:Bank:Savings      USD
    2024-01-01 open Income:Bank:Interest     USD
  3. Инвестиционные счета

    2024-01-01 open Assets:Investment:Cash    USD
    2024-01-01 open Assets:Investment:Stocks  VTSAX
    2024-01-01 open Income:Investment:Dividend USD

Проверка и отчётность​

Базовая проверка​

# Check for errors (exits 0 when clean)
bea --file ledger.beancount check
 
# Browse balances, reports, and charts in the web interface
fava ledger.beancount

bea check — это валидатор: он завершается с кодом 0, когда книга учёта чиста, и перечисляет все ошибки и завершается с ненулевым кодом в противном случае. Установите его с помощью быстрого старта CLI. Fava — это веб-интерфейс — запустите его и откройте напечатанный адрес http://localhost:5000 для балансового отчёта, отчёта о прибылях и убытках и журналов счетов.

Стандартные отчёты​

Beancount 3 создаёт отчёты через веб-интерфейс Fava, команду bea report в одну строку или специальные запросы с помощью bea query, который выполняет язык запросов Beancount. Beancount 3 удалил свои старые команды для отчётов и веб; bea report и Fava заменяют их.

# Balance sheet, in one command
bea --file ledger.beancount report balance-sheet
 
# Income statement, in one command
bea --file ledger.beancount report income-statement
 
# Balance-sheet numbers: balances by asset, liability, and equity account
bea --file ledger.beancount query "SELECT account, sum(position) AS balance WHERE account ~ '^(Assets|Liabilities|Equity)' GROUP BY account ORDER BY account"
 
# Income-statement numbers: totals by income and expense account
bea --file ledger.beancount query "SELECT account, sum(position) AS total WHERE account ~ '^(Income|Expenses)' GROUP BY account ORDER BY account"
 
# One account's journal, with a running balance
bea --file ledger.beancount query "SELECT date, narration, position, balance WHERE account = 'Assets:Checking'"

Управление начальными остатками​

Пример выравнивания​

2024-01-01 open Assets:Checking    USD
2024-01-01 open Equity:Opening-Balances
 
; Pad account to match a known balance
2024-01-01 pad Assets:Checking Equity:Opening-Balances
 
; Assert the known balance the next day: assertions are evaluated at the
; start of their date, and the pad transaction must fall before it
2024-01-02 balance Assets:Checking 1525.00 USD

Утверждение balance проверяет счёт на начало его даты, поэтому оно должно быть датировано после pad (или любой транзакции), которую оно должно включать. Датирование pad и balance одним днём оставляет pad неиспользованным, а утверждение — невыполненным — Beancount сообщает Unused Pad entry и Balance failed. Счёт Equity:Opening-Balances должен быть открыт до того, как он будет выровнен.

Закрытие счёта​

2024-01-01 open Assets:OldBank:Checking   USD
2024-06-30 close Assets:OldBank:Checking  ; Account closed

Дедупликация транзакций​

Обработка переводов​

; Credit card payment - combined view
2024-01-15 * "Credit Card Payment"
  Assets:Checking            -500.00 USD
  Liabilities:CreditCard     500.00 USD
 
; Flag for pending match
2024-01-15 * "Pending CC Payment"
  ! Assets:Checking         -500.00 USD
  Liabilities:CreditCard    500.00 USD

Утверждения остатков​

; Regular balance checks prevent duplicates
2024-01-31 balance Assets:Checking    2150.25 USD
2024-01-31 balance Liabilities:CreditCard  -350.00 USD

Лучшие практики​

  1. Организация файлов

    • Первое время держите один основной файл
    • Используйте чёткие заголовки разделов
    • Группируйте связанные счета вместе
  2. Названия счетов

    • Используйте последовательные соглашения об именах
    • Включайте префиксы страны/учреждения
    • Поддерживайте логическую иерархию
  3. Проверка остатков

    • Регулярные утверждения остатков
    • Выравнивайте счета соответствующим образом
    • Отслеживайте закрытие счетов
  4. Обработка валют

    • Объявляйте рабочие валюты
    • Используйте последовательные коды товаров
    • Указывайте ограничения по валютам

Следующие шаги​

Теперь, когда у вас есть базовая книга учёта:

  1. Записывайте регулярные транзакции: Начните с ваших ежедневных расходов и доходов
  2. Настройте импорт банковских счетов: Используйте импорт CSV или банковские подключения для автоматизации ввода данных. Вставьте экспорт выписки в конвертер CSV в Beancount, чтобы получить сбалансированные записи в вашем браузере, или используйте OFX и QIF в Beancount для загрузок .ofx, .qfx и .qif.
  3. Скопируйте проверенную структуру: Загрузите готовый к запуску стартовый файл из разделов домашнее хозяйство, бюджетирование по конвертам или фриланс из рабочих примеров книг учёта, затем адаптируйте шаблоны для имущества и инвестиций из той же галереи
  4. Изучите расширенный синтаксис: Ознакомьтесь с справочником по синтаксису для более сложных сценариев
  5. Создайте свои первые отчёты: Используйте функции интерфейса для создания финансовых отчётов и анализа ваших расходов
  6. Работайте из терминала: Установите командную строку bea с помощью быстрого старта CLI, затем закройте полный месяц от начала до конца в Ваш первый месяц с bea

Краткий справочник​

Распространённые типы счетов:

  • Assets:Bank:Checking — ваш расчётный счёт
  • Expenses:Food:Groceries — расходы на продукты
  • Income:Salary:Company — доход от занятости
  • Liabilities:CreditCard:Visa — задолженность по кредитной карте

Основные команды:

  • bea --file ledger.beancount check — проверьте вашу книгу учёта (завершается с ненулевым кодом при ошибках)
  • bea --file ledger.beancount report balance-sheet — выведите балансовый отчёт
  • bea --file ledger.beancount query "SELECT ..." — запрашивайте остатки и транзакции
  • fava ledger.beancount — запустите веб-интерфейс для отчётов и графиков

Эти рекомендации создают прочную основу для управления личными финансами с помощью Beancount. Готовы добавить свою первую транзакцию? Ознакомьтесь с нашим руководством по транзакциям в интерфейсе.

Источник: https://beancount.io/ru/docs/Basics/getting-started