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

Один допис з тегом "фінансові транзакції"

Переглянути всі теги

Розуміння журналних записів у Beancount

· 7 хвилин читання
Mike Thrift
Mike Thrift
Marketing Manager

Журналні записи – це основа подвійного бухгалтерського обліку, і в Beancount кожна транзакція *, яку ви пишете, є журналним записом. У цьому посібнику пояснюються сутності — дебети та кредити, коригувальні записи та зворотні записи — і показано, як вони чисто відображаються у простому текстовому синтаксисі Beancount. Ви дізнаєтеся, як вести точну бухгалтерію з мінімальними формальностями.


2025-09-02-journal-entries-in-beancount

Швидке нагадування: що таке журналний запис?

Журналний запис – це формальний, датований запис фінансової транзакції. Він виражається у вигляді дебетів і кредитів, які підтримують баланс фундаментального бухгалтерського рівняння:

Assets=Liabilities+EquityAssets = Liabilities + Equity

У системі подвійного запису кожна транзакція впливає принаймні на два рахунки, і сума дебетів має дорівнювати сумі кредитів. Це просте правило забезпечує достовірність і точність фінансових звітів, таких як звіт про прибутки та збитки і баланс.


Дебети та кредити за одну хвилину

Концепції дебетів і кредитів можуть спочатку збивати з пантелику, але вони зводяться до кількох простих правил. Думайте так: «звідки прийшла вартість?» (кредит) і «куди пішла вартість?» (дебет).

Ось коротка таблиця, яка показує, як вони збільшують п’ять основних типів рахунків:

Тип рахункуЗбільшується за рахунок
AssetsDebit
ExpensesDebit
LiabilitiesCredit
EquityCredit
IncomeCredit

Як виглядає журналний запис у 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

Коригувальні записи vs. Зворотні записи

Коригувальні записи створюються в кінці облікового періоду (місяця або кварталу) для правильного відображення доходів і витрат у тому періоді, коли вони фактично зароблені або понесені. Це включає акумуляції, відстрочки та оцінки, такі як амортизація.

Зворотні записи – це необов’язкові записи, які робляться в перший день нового періоду і точно протилежні певному коригувальному запису попереднього періоду. Їхня мета – спростити бухгалтерію. Зворотний запис дозволяє ввести наступну готівкову операцію у звичайному вигляді, не пам’ятаючи про розподіл на рахунок зобов’язань.

Приклад: акумулювання та зворотний запис комунальних послуг

Припустимо, що ви повинні записати витрати на комунальні послуги за січень, але рахунок прийде лише у лютому.

; 1. Акумулюємо оцінені витрати в кінці січня
2025-01-31 * "Accrual" "Estimate January utilities expense"
Expenses:Utilities 500.00 USD
Liabilities:Accrued:Utilities -500.00 USD

; 2. (Опціонально) Зворотний запис акумулювання у перший день наступного періоду
2025-02-01 * "Reversal" "Undo January utilities accrual"
Liabilities:Accrued:Utilities 500.00 USD
Expenses:Utilities -500.00 USD

; 3. Запис фактичної оплати, коли рахунок надійде у лютому
; Фактичний рахунок становить $520. Завдяки зворотному запису ви можете
; записати повну суму у витрати без додаткових коригувань.
; Чисті витрати за лютий будуть $520 - $500 = $20.
2025-02-10 * "City Utilities" "Payment for January bill"
Expenses:Utilities 520.00 USD
Assets:Bank:Checking -520.00 USD

Примітка: У наведеному прикладі показано розподіл остаточної оплати. Метод зворотного запису – це альтернатива, що спрощує фінальний запис.


Чек‑лист для кожного журналного запису в Beancount

Перевірте наступні кроки, щоб ваші записи були чистими та правильними:

  1. Починайте з дати (РРРР-ММ-ДД) та прапорця транзакції (*).
  2. Додайте контрагента і описову нarration. Використовуйте #tags і ^links для зручного пошуку.
  3. Вкажіть щонайменше два рядки запису, які балансуватимуть до нуля для кожної валюти.
  4. Використовуйте правильні імена рахунків серед п’яти типів: Assets, Liabilities, Equity, Income, Expenses.
  5. За потреби додавайте метадані, наприклад document: "invoices/INV-2025-001.pdf" для простежуваності.

Типові помилки (і як Beancount їх запобігає)

  • Несбалансовані записи: Якщо сума дебетів і кредитів не дорівнює нулю, Beancount відхилить запис. Це ключова функція, яка запобігає помилкам. Ви навіть можете залишити одну суму порожньою, і Beancount автоматично її підрахує.
  • Помилковий знак у рахунку: Легко забути, що Income, Equity і Liabilities збільшуються кредитами (у Beancount це зазвичай від’ємні числа). Якщо зробити помилку, ваші звіти виглядатимуть дивно, проте правило балансування все одно захистить вас.
  • Відсутність посилань між записами: Якщо не зв’язати рахунок‑фактуру з її оплатою, важче відстежити, що залишилося неоплачено. Постійне використання ^links створює аудиторський слід.

Куди далі

  • Мова Beancount та правила балансування: Поглиблене вивчення офіційної документації.
  • Шпаргалка синтаксису: Зручний довідник усіх директив Beancount.
  • Вступ до дебетів/кредитів: Чудовий старт, якщо ви новачок у бухгалтерських правилах.
  • Коригувальні та зворотні записи: Детальні статті про бухгалтерську теорію.

Додаток: Відповідність бухгалтерської мови → Beancount

Ця швидка довідка допоможе зіставити бухгалтерські інструкції з синтаксисом Beancount.

Бухгалтерська інструкціяДія в Beancount
Дебетувати витратуПозитивна сума у рахунку Expenses:
Кредитувати зобов’язанняВід’ємна сума у рахунку Liabilities:
Акумулювати дохідAssets:AccountsReceivable +
Income:* -
Відстрочити дохідAssets:Bank:* +
Liabilities:Unearned:* -
Визнати відстрочений дохідLiabilities:Unearned:* +
Income:* -

З цими шаблонами та прикладами ви зможете легко моделювати майже будь-яку бізнес‑подію в Beancount, забезпечуючи точність фінансових звітів без несподіванок.