Прогнозування майбутніх транзакцій в Beancount
Beancount може прогнозувати майбутні регулярні транзакції за допомогою плагіна fava.plugins.forecast. Це дозволяє візуалізувати майбутній вплив регулярних доходів і витрат, таких як зарплати, оренда та підписки, на ваші фінансові звіти.

Крок 1: Увімкніть плагін Forecast
Спочатку вам потрібно увімкнути плагін, додавши наступний рядок у верхній частині вашого файлу книги Beancount:
plugin "fava.plugins.forecast"
Крок 2: Створіть прогнозну транзакцію
Щоб спрогнозувати регулярну транзакцію, створіть один запис транзакції, використовуючи позначку # (замість * або !) і додайте спеціальний тег прогнозу до опису.
Основна структура виглядає так:
YYYY-MM-DD # "Опис [ЧАСТОТА УМОВИ]"
Account:One 100.00 USD
Account:Two -100.00 USD
Плагін прогнозування використовуватиме цей запис як шаблон для створення майбутніх транзакцій у ваших звітах.
Розуміння синтаксису прогнозування
Тег прогнозу в описі має певний формат: [ЧАСТОТА УМОВИ].
Частота
Частина ЧАСТОТА є обов'язковою та визначає, як часто повторюється транзакція. Вона має бути написана великими літерами.
DAILY(ЩОДЕННО)WEEKLY(ЩОТИЖНЕВ О)MONTHLY(ЩОМІСЯЧНО)QUARTERLY(ЩОКВАРТАЛЬНО)YEARLY(ЩОРОКУ)
Приклад: Щомісячна оплата оренди Ця транзакція буде спрогнозована як така, що відбувається 1-го числа кожного місяця, починаючи з січня 2024 року.
2024-01-01 # "Оплата оренди [MONTHLY]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD
Умови (Необов'язково)
Ви можете додати необов'язкові УМОВИ, щоб контролювати тривалість і шаблон прогнозу.
1. Встановіть дату закінчення за допомогою UNTIL
Використовуйте UNTIL YYYY-MM-DD, щоб зупинити прогноз на певну дату.
-
Приклад: Абонемент у спортзал, який закінчується цього року.
2024-01-15 # "Абонемент у спортзал [MONTHLY UNTIL 2024-12-31]"
Expenses:Health:Gym 80.00 USD
Assets:Checking -80.00 USD
2. Обмежте кількість випадків за допомогою REPEAT
Використовуйте REPEAT n TIMES, щоб згенерувати транзакцію певну кількість разів.
-
Приклад: Автокредит із 36 залишками платежами.
2024-01-25 # "Оплата за автокредит [MONTHLY REPEAT 36 TIMES]"
Expenses:Transportation:CarPayment 450.00 USD
Liabilities:Auto-Loan -450.00 USD
3. Створюйте нерегулярні шаблони за допомогою SKIP
Використовуйте SKIP n TIME/TIMES, щоб пропустити інтервали. Це корисно для таких речей, як двотижневі зарплати.
-
Приклад: Двотижнева зарплата (відбувається кожні два тижні).
2024-01-05 # "Двотижнева зарплата [WEEKLY SKIP 1 TIME]"
Assets:Checking 3000.00 USD
Income:Salary -3000.00 USD
Практичний приклад: Щомісячний бюджет
Ви можете об'єднати кілька прогнозів, щоб спрогнозувати весь свій бюджет, включаючи різні потоки доходів і витрат.
plugin "fava.plugins.forecast"
; === ДОХОДИ ===
2024-01-05 # "Двотижнева зарплата [WEEKLY SKIP 1 TIME]"
Assets:Checking 3000.00 USD
Income:Salary -3000.00 USD
; === ВИТРАТИ ===
2024-01-01 # "Оренда [MONTHLY]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD
2024-01-01 # "Продукти [WEEKLY]"
Expenses:Food:Groceries 150.00 USD
Assets:Checking -150.00 USD
2024-01-15 # "Страхування автомобіля [QUARTERLY REPEAT 4 TIMES]"
Expenses:Insurance:Auto 450.00 USD
Assets:Checking -450.00 USD
Після додавання цих записів ваші звіти, такі як Звіт про прибутки та збитки та графік Чистого прибутку, автоматично включатимуть прогнозовані дані, надаючи вам чітке уявлення про ваше фінансове майбутнє.