Перейти до основного вмісту

Посібник 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 одного дня залишає вирівнювання невикористаним, а перевірку невиконаною — 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. Готові додати свою першу транзакцію? Ознайомтеся з нашим посібником з UI для транзакцій.

Джерело: https://beancount.io/uk/docs/Basics/getting-started