Розуміння журналних записів у Beancount
Журналні записи – це основа подвійного бухгалтерського обліку, і в Beancount кожна транзакція *
, яку ви пишете, є журналним записом. У цьому посібнику пояснюються сутності — дебети та кредити, коригувальні записи та зворотні записи — і показано, як вони чисто відображаються у простому текстовому синтаксисі Beancount. Ви дізнаєтеся, як вести точну бухгалтерію з мінімальними формальностями.
Швидке нагадування: що таке журналний запис?
Журналний запис – це формальний, датований запис фінансової транзакції. Він виражається у вигляді дебетів і кредитів, які підтримують баланс фундаментального бухгалтерського рівняння:
У системі подвійного запису кожна транзакція впливає принаймні на два рахунки, і сума дебетів має дорівнювати сумі кредитів. Це просте правило забезпечує достовірність і точність фінансових звітів, таких як звіт про прибутки та збитки і баланс.
Дебети та кредити за одну хвилину
Концепції дебетів і кредитів можуть спочатку збивати з пантелику, але вони зводяться до кількох простих правил. Думайте так: «звідки прийшла вартість?» (кредит) і «куди пішла вартість?» (дебет).
Ось коротка таблиця, яка показує, як вони збільшують п’ять основних типів рахунків:
Тип рахунку | Збільшується за рахунок |
---|---|
Assets | Debit |
Expenses | Debit |
Liabilities | Credit |
Equity | Credit |
Income | Credit |
Як виглядає журналний запис у Beancount
Beancount використовує прості, зрозумілі текстові директиви для реєстрації транзакцій. Кожна транзакція має балансувати до нуля для кожної валюти (наприклад, USD, EUR, акції AAPL). Якщо це не так, Beancount виведе помилку.
Ось базова транзакція для купівлі кави:
2025-09-10 * "Coffee Bar" "Team coffee"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD
Зверніть увагу, як два рядки (з рахунками) сумуються до нуля: $18.00 + (-$18.00) = 0
.
Ви можете додавати потужний контекст безпосередньо у опис, використовуючи теги (наприклад, #clientX
) для фільтрації та посилання (наприклад, ^INV-2025-001
) для зв’язку пов’язаних записів.
Наприклад, ось як можна зв’язати рахунок‑фактуру з її оплатою:
; Спочатку записуємо рахунок‑фактуру, яку ми відправили клієнту
2025-09-15 * "Acme Corp" "Invoice 2025-001 #clientX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD
; Пізніше записуємо оплату і зв’язуємо її з оригінальною фактурою
2025-09-28 * "Acme Corp" "Payment on ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD
Тег #clientX
дозволяє легко фільтрувати всі транзакції для цього клієнта, а посилання ^INV-2025-001
створює зв’язок між двома записами, який можна простежити у звітах.
Типові журналні записи (готові до копіювання)
Нижче наведено кілька поширених бізнес‑транзакцій, відформатованих для Beancount.
Власник вносить готівку
Власник вносить особисті кошти для запуску бізнесу.
2025-01-01 * "Owner" "Initial capital contribution"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD
Готівковий продаж з ПДВ
Клієнт платить готівкою за товар, включаючи 8 % ПДВ, який пізніше треба сплатити державі.
2025-01-05 * "Walk-in Customer" "Cash sale with 8% tax"
Assets:Cash 108.00 USD
Income:Sales -100.00 USD
Liabilities:Tax:Sales -8.00 USD
Продаж у кредит (рахунок‑фактура) і отримання платежу
Ви надаєте послугу і виставляєте рахунок клієнту, а потім отримуєте оплату.
2025-01-10 * "Acme Corp" "Consulting invoice ^INV-2025-002"
Assets:AccountsReceivable 2500.00 USD
Income:Consulting -2500.00 USD
2025-01-30 * "Acme Corp" "Payment on ^INV-2025-002"
Assets:Bank:Checking 2500.00 USD
Assets:AccountsReceivable -2500.00 USD
Витрати за кредитною карткою
Ви купуєте офісні матеріали за допомогою корпоративної кредитної картки.
2025-01-12 * "OfficeMax" "Supplies on credit card"
Expenses:Office:Supplies 75.00 USD
Liabilities:CreditCard -75.00 USD
Зарплата (простий варіант)
Ви проводите розрахунок зарплати, записуючи загальні витрати на заробітну плату, утримання податків і чистий платіж з банку.
2025-01-31 * "Payroll" "January wages and withholdings"
Expenses:Payroll:Wages 2000.00 USD
Liabilities:Taxes:Withheld -400.00 USD
Assets:Bank:Checking -1600.00 USD
Щомісячна амортизація
Ви реєструєте щомісячну амортизацію активу, наприклад ноутбука.
2025-01-31 * "Depreciation" "Laptop, straight-line"
Expenses:Depreciation 100.00 USD
Assets:Equipment:AccumDepr -100.00 USD
Попередньо сплачена послуга та щомісячна амортизація
Ви сплачуєте річну страховку наперед, а потім щомісяця визнаєте частину витрат.
; 1. Сплата за річну страховку
2025-01-01 * "InsureCo" "Annual insurance premium"
Assets:Prepaid:Insurance 1200.00 USD
Assets:Bank:Checking -1200.00 USD
; 2. Визнання одного місяця витрат у кінці січня
2025-01-31 * "InsureCo" "Amortize 1/12 of insurance"
Expenses:Insurance 100.00 USD
Assets:Prepaid:Insurance -100.00 USD
Неотриманий дохід та щомісячне визнання
Клієнт передплачує 3‑місячну підписку. Ви реєструєте готівку, а потім щомісяця визнаєте дохід.
; 1. Клієнт передплачує послугу
2025-02-01 * "Subscriber" "3-month plan prepaid"
Assets:Bank:Checking 300.00 USD
Liabilities:Unearned:Subs -300.00 USD
; 2. Визнання одного місяця доходу після надання послуги
2025-02-28 * "Recognition" "Recognize month 1 of 3"
Liabilities:Unearned:Subs 100.00 USD
Income:Subscriptions -100.00 USD
Резерв під сумнівні дебітори та списання безнадійного боргу
Ви створюєте резерв під можливі непогашені рахунки, а потім списуєте конкретний безнадійний рахунок.
; 1. Створюємо резерв у розмірі 2 % від дебіторської заборгованості
2025-03-31 * "Provision" "2% of A/R for doubtful accounts"
Expenses:BadDebt 200.00 USD
Assets:AllowanceForDoubtful -200.00 USD
; 2. Списуємо конкретний рахунок, який не буде сплачено
2025-04-15 * "Write-off" "Customer XYZ invoice"
Assets:AllowanceForDoubtful 150.00 USD
Assets:AccountsReceivable -150.00 USD
Періодичний інвентар та коригування собівартості проданих товарів (COGS)
Наприкінці періоду ви розраховуєте собівартість проданих товарів, коригуючи інвентарний рахунок.
2025-03-31 * "COGS adjustment" "Periodic inventory method"
Expenses:COGS 4500.00 USD
Assets:Inventory -4500.00 USD