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

Що таке кредиторська заборгованість? Посібник для Beancount для відстеження рахунків від постачальників у простому тексті

· 8 хв. читання
Mike Thrift
Mike Thrift
Marketing Manager

Кредиторська заборгованість (КЗ) – це гроші, які ваш бізнес винен своїм постачальникам за товари чи послуги, які ви вже отримали, але ще не оплатили. У світі бухгалтерського обліку КЗ класифікується як поточне зобов'язання у вашому балансі – сума, яка зазвичай підлягає сплаті протягом наступного року, а часто – протягом 30–60 днів.

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

2025-08-20-what-is-accounts-payable


Короткий підсумок

Перш ніж ми заглибимося в деталі, давайте розглянемо основні моменти:

  • Кредиторська заборгованість (КЗ) представляє ваші короткострокові борги перед постачальниками. Ви знайдете її в розділі Liabilities вашого балансу.
  • Нарахування проти готівки: КЗ – це концепція, яка існує лише в тому випадку, якщо ви ведете свої книги на основі нарахувань. Beancount повністю підтримує робочі процеси нарахувань, а його веб-інтерфейс, Fava, правильно відображатиме ваші зобов'язання.
  • КЗ проти ДЗ: Все просто: Кредиторська заборгованість – це те, що ви винні, а дебіторська заборгованість (ДЗ) – це те, що інші винні вам.

Де КЗ знаходиться в Beancount (і Fava)

Щоб почати відстежувати КЗ, спочатку потрібно оголосити для неї рахунок у вашій книзі. Стандартна конвенція:

Liabilities:AccountsPayable

Ви можете додатково створити субрахунки для основних постачальників (наприклад, Liabilities:AccountsPayable:ForestPaintSupply).

У Fava цей рахунок з'явиться у вашому балансі в розділі Liabilities. Ви можете клацнути на ньому, щоб деталізувати та побачити список усіх відкритих і оплачених позицій, що дасть вам чітке уявлення про ваші зобов'язання. Ви навіть можете побачити це в дії в публічному прикладі книги Fava, який включає рахунок Liabilities:AccountsPayable.


Будівельні блоки Beancount, які ви будете використовувати

Надійний робочий процес КЗ в Beancount спирається на кілька основних функцій:

  1. Рахунки: Ви в основному будете використовувати свій рахунок Liabilities:AccountsPayable, готівковий рахунок, як-от Assets:Bank:Checking, і різні рахунки витрат (наприклад, Expenses:Supplies).
  2. Метадані: Ви можете прикріпити дані «ключ-значення» до будь-якої транзакції. Для КЗ ви використовуватимете метадані, такі як invoice:, due:, terms: і document:. Fava навіть розпізнає ключ document: і автоматично створить посилання, яке можна клацнути, на прикріплений файл, якщо ви налаштуєте папку документів.
  3. Теги та посилання: Використовуйте #tags (наприклад, #ap) для легкого фільтрування та ^links (наприклад, ^INV-10455), щоб програмно пов’язати рахунок і його подальшу оплату. Це створює чіткий, контрольований слід.
  4. Запити (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

Цей єдиний запис досягає двох важливих речей:

  1. Він негайно визнає витрати в розмірі 500 доларів США у правильному періоді (серпень).
  2. Він створює відповідне зобов’язання в розмірі 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 SheetLiabilitiesAccountsPayable, щоб побачити загальний баланс і деталізувати транзакції.
  • Журнал: Відфільтруйте журнал за допомогою 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

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

Посилання та додаткова література: