Кредиторська заборгованість (КЗ) – це гроші, які ваш бізнес винен своїм постачальникам за товари чи послуги, які ви вже отримали, але ще не оплатили. У світі бухгалтерського обліку КЗ класифікується як поточне зобов'язання у вашому балансі – сума, яка зазвичай підлягає сплаті протягом наступного року, а часто – протягом 30–60 днів.
Ця концепція є центральною для обліку нарахувань, де ви записуєте витрати та відповідне зобов'язання в момент надходження рахунку, а не коли ви фактично надсилаєте гроші. Цей посібник покаже вам, як керувати всім робочим процесом КЗ чітко та ефективно за допомогою інструменту обліку у вигляді простого тексту Beancount.
Короткий підсумок
Перш ніж ми заглибимося в деталі, давайте розглянемо основні моменти:
- Кредиторська заборгованість (КЗ) представляє ваші короткострокові борги перед постачальниками. Ви знайдете її в розділі
Liabilitiesвашого балансу. - Нарахування проти готівки: КЗ – це концепція, яка існує лише в тому випадку, якщо ви ведете свої книги на основі нарахувань. Beancount повністю підтримує робочі процеси нарахувань, а його веб-інтерфейс, Fava, правильно відображатиме ваші зобов'язання.
- КЗ проти ДЗ: Все просто: Кредиторська заборгованість – це те, що ви винні, а дебіторська заборгованість (ДЗ) – це те, що інші винні вам.
Де КЗ знаходиться в Beancount (і Fava)
Щоб почати відстежувати КЗ, спочатку потрібно оголосити для неї рахунок у вашій книзі. Стандартна конвенція:
Liabilities:AccountsPayable
Ви можете додатково створити субрахунки для основних постачальників (наприклад, Liabilities:AccountsPayable:ForestPaintSupply).
У Fava цей рахунок з'явиться у вашому балансі в розділі Liabilities. Ви можете клацнути на ньому, щоб деталізувати та побачити список усіх відкритих і оплачених позицій, що дасть вам чітке уявлення про ваші зобов'язання. Ви навіть можете побачити це в дії в публічному прикладі книги Fava, який включає рахунок Liabilities:AccountsPayable.
Будівельні блоки Beancount, які ви будете використовувати
Надійний робочий процес КЗ в Beancount спирається на кілька основних функцій:
- Рахунки: Ви в основному будете використовувати свій рахунок
Liabilities:AccountsPayable, готівковий рахунок, як-отAssets:Bank:Checking, і різні рахунки витрат (наприклад,Expenses:Supplies). - Метадані: Ви можете прикріпити дані «ключ-значення» до будь-якої транзакції. Для КЗ ви використовуватимете метадані, такі як
invoice:,due:,terms:іdocument:. Fava навіть розпізнає ключdocument:і автоматично створить посилання, яке можна клацнути, на прикріплений файл, якщо ви налаштуєте папку документів. - Теги та посилання: Використовуйте
#tags(наприклад,#ap) для легкого фільтрування та^links(наприклад,^INV-10455), щоб програмно пов’язати рахунок і його подальшу оплату. Це створює чіткий, контрольований слід. - Запити (BQL): SQL-подібна мова запитів Beancount (BQL) дозволяє запускати потужні звіти, наприклад, складати список усієї відкритої кредиторської заборгованості, відсортованої за терміном сплати, безпосередньо з командного рядка за допомогою
bean-queryабо на сторінці «Query» Fava.
Основний робочий процес КЗ в Beancount
Керування КЗ у вашій книзі передбачає два або три ключові етапи: запис рахунку, його оплату та іноді обробку часткових платежів або знижок.
1) Запис рахунку від постачальника (це створює зобов'язання)
Спочатку ви бронюєте витрати та створюєте кредиторську заборгованість, коли надходить рахунок.
; За бажанням встановіть папку документів у своєму головному файлі Beancount:
option "documents" "documents"
2025-08-05 * "Forest Paint Supply" "Замовлення фарби INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
terms: "2/10, n/30"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USDЦей єдиний запис досягає двох важливих речей:
- Він негайно визнає витрати в розмірі 500 доларів США у правильному періоді (серпень).
- Він створює відповідне зобов’язання в розмірі 500 доларів США, показуючи, що ви винні гроші Forest Paint Supply.
Посилання ^INV-10455 є унікальним ідентифікатором, який дозволяє вам прикріпити те саме посилання до платежу пізніше, зберігаючи логічний зв’язок між рахунком і платіжними транзакціями.
2) Оплата рахунку (це погашає зобов'язання)
Коли ви оплачуєте рахунок, ви створюєте транзакцію, яка переміщує гроші з вашого банківського рахунку для погашення зобов'язання.
a) Стандартний платіж (без знижки):
2025-09-01 * "Forest Paint Supply" "Оплата INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USDЦей запис зменшує ваш баланс КЗ на 500 доларів США та ваш баланс на поточному рахунку на ту саму суму. Зобов'язання тепер погашено.
b) Знижка за ранню оплату (наприклад, "2/10, n/30"):
Якщо умови «2/10, n/30», ви можете отримати знижку 2%, якщо оплатите протягом 10 днів. Для нашого рахунку на 500 доларів США це знижка 10 доларів США. Ось два прийнятні способи її запису – просто виберіть один метод і будьте послідовними.
; Варіант 1: Запишіть знижку як інший дохід (контра-ефект витрат)
2025-08-12 * "Forest Paint Supply" "Знижка за ранню оплату INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Income:Discounts:Payables -10.00 USD
; Варіант 2: Безпосередньо зменште початкові витрати
2025-08-12 * "Forest Paint Supply" "Знижка за ранню оплату INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Expenses:Supplies:Paint -10.00 USDВ обох випадках ви погашаєте повне зобов’язання в розмірі 500 доларів США, зменшуєте свій банківський баланс на 490 доларів США, які ви фактично заплатили, і враховуєте вигоду в розмірі 10 доларів США.
3) Обробка часткових платежів
Функція зв’язування Beancount робить відстеження часткових платежів простим і чітким.
; Рахунок на 1200 доларів США
2025-08-10 * "Acme Parts" "INV-9001" ^INV-9001
invoice: "INV-9001"
due: "2025-09-09"
Expenses:Parts 1200.00 USD
Liabilities:AccountsPayable -1200.00 USD
; Перший платіж у розмірі 400 доларів США
2025-08-20 * "Acme Parts" "Оплата INV-9001 (1/3)" ^INV-9001
Liabilities:AccountsPayable 400.00 USD
Assets:Bank:Checking -400.00 USD
; Остаточний платіж у розмірі 800 доларів США
2025-09-05 * "Acme Parts" "Оплата INV-9001 (остаточна)" ^INV-9001
Liabilities:AccountsPayable 800.00 USD
Assets:Bank:Checking -800.00 USDВикористовуючи посилання ^INV-9001 на всіх трьох транзакціях, ви можете легко відфільтрувати свій журнал, щоб побачити повну історію цього конкретного рахунку та пов’язаних з ним платежів.
Корисні запити (BQL)
Ви можете запустити ці запити на вкладці «Query» Fava або з командного рядка за допомогою bean-query.
Порада: Функція
any_meta()неймовірно корисна для витягування полів метаданих, таких якinvoice:іdocument:, у результати запиту.
Відкрита КЗ за постачальником (перегляд балансу):
Цей запит підсумовує поточний непогашений баланс, який ви винні кожному постачальнику.
SELECT payee, COST(SUM(position)) AS amount
WHERE account ~ "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;Відкрита КЗ за рахунком + терміном сплати:
Отримайте акуратний список кожного відкритого рахунку, відсортованого за терміном сплати, щоб допомогти вам визначити пріоритетність платежів.
SELECT payee,
any_meta('invoice') AS invoice,
any_meta('due') AS due,
COST(SUM(position)) AS amount
WHERE account ~ "^Liabilities:AccountsPayable"
GROUP BY payee, invoice, due
ORDER BY due, payee;Список рахунків із прикріпленими PDF-файлами:
Цей запит знаходить усі ваші рахунки та показує шлях до пов’язаного документа.
SELECT date, payee, any_meta('invoice') AS invoice, any_meta('document') AS file
WHERE account ~ "^Liabilities:AccountsPayable"
ORDER BY date DESC;Де переглянути КЗ у Fava
- Баланс: Перейдіть до
Balance Sheet→Liabilities→AccountsPayable, щоб побачити загальний баланс і деталізувати транзакції. - Журнал: Відфільтруйте журнал за допомогою
account:Liabilities:AccountsPayableабо певного посилання, як-от^INV-xxxx, щоб побачити повний життєвий цикл рахунку. - Бічна панель документів: Якщо ви використовуєте метадані
document:і встановили директивуoption "documents", ви побачите список пов’язаних документів на бічній панелі.
Аналіз термінів погашення КЗ, оборотності та грошового потоку
- Графік термінів погашення: Цей звіт групує ваші відкриті рахунки за тим, скільки часу вони залишаються непогашеними (наприклад, 1–30 днів, 31–60 днів, 60+ днів). У Beancount найпрактичнішим підходом є запустити запит "Відкрита КЗ за рахунком + терміном сплати" вище, експортувати результати у форматі CSV і розбити їх на групи в електронній таблиці або невеликому сценарії Python.
- Коефіцієнт оборотності КЗ: Це швидка перевірка стану того, як швидко ви платите своїм постачальникам. Формула:
Загальні закупівлі у постачальників ÷ Середня КЗ. Пов’язаний показник, Кількість днів оборотності кредиторської заборгованості (DPO), приблизно дорівнює365 ÷ Коефіцієнт оборотності. - Якщо ви не можете заплатити вчасно: КЗ призначена для короткострокового боргу. Якщо постачальник погоджується на офіційне, довгострокове погашення, вам слід рекласифікувати борг із КЗ у вексель до сплати.
2025-10-01 * "Helix Industries" "Перетворення простроченої КЗ у 12-місячний вексель" ^INV-1110
Liabilities:AccountsPayable 2000.00 USD
Liabilities:NotesPayable -2000.00 USDРекомендації щодо КЗ у книзі у вигляді простого тексту
- Відмовтеся від паперу: Зберігайте PDF-файли рахунків у папці
documentsі пов’язуйте їх за допомогою ключа метаданихdocument:. - Використовуйте посилання послідовно: Вказуйте унікальний номер рахунку в
^linkяк у рахунку, так і в усіх пов’язаних записах оплати. - Підтримуйте метадані в порядку: Послідовне використання
invoice:,due:іterms:покращує пошук, запити та фінансові перевірки. - Нарахування до кінця: Якщо ви хочете отримати корисну звітність КЗ, зобов’язуйтесь вести свої книги на основі нарахувань. Beancount і Fava чудово з цим справляються.
Початковий код для копіювання та вставки: Рахунок від постачальника + оплата
; ---- Рахунок ----
2025-08-05 * "Forest Paint Supply" "Замовлення фарби INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD
; ---- Оплата (без знижки) ----
2025-09-01 * "Forest Paint Supply" "Оплата INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USDЦей посібник призначений для освітніх цілей і не є податковою, юридичною чи фінансовою консультацією.
Посилання та додаткова література:
- Документація Beancount про основні типи рахунків, теги/посилання та мову запитів
- Нотатки Fava/Beancount про облік нарахувань і зв’язування документів
- Використання
any_meta()для запиту полів метаданих