Что такое кредиторская задолженность? Руководство по Beancount для отслеживания счетов поставщиков
title: "Что такое кредиторская задолженность? Руководство по отслеживанию счетов поставщиков в Beancount" description: "Узнайте, как управлять кредиторской задолженностью (AP) в Beancount. Полное руководство по учету счетов поставщиков, платежей и скидок с использованием plain-text accounting." keywords:
- креди торская задолженность
- beancount
- учет в текстовом формате
- метод начисления
- бухгалтерия
- автоматизация финансов image: "https://opengraph-image.blockeden.xyz/api/og-beancount-io?title=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82%D0%BE%D1%80%D1%81%D0%BA%D0%B0%D1%8F%20%D0%B7%D0%B0%D0%B4%D0%BE%D0%BB%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C%3F%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%BF%D0%BE%20%D0%BE%D1%82%D1%81%D0%BB%D0%B5%D0%B4%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E%20%D1%81%D1%87%D0%B5%D1%82%D0%BE%D0%B2%20%D0%BF%D0%BE%20%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D1%89%D0%B8%D0%BA%D0%BE%D0%B2%20%D0%B2%20Beancount"
Кредиторская задолженность (Accounts payable, AP) — это деньги, которые ваш бизнес должен своим поставщикам за товары или услуги, которые вы уже получили, но еще не оплатили. В мире бухгалтерского учета AP классифицируется как краткосрочное обязательство в вашем балансовом отчете — су мма, обычно подлежащая выплате в течение следующего года, а зачастую в течение 30–60 дней.
Эта концепция является центральной для метода начисления (accrual accounting), при котором вы фиксируете расход и соответствующее обязательство в момент поступления счета, а не в момент фактической отправки денежных средств. В этом руководстве мы покажем вам, как чисто и эффективно управлять всем процессом работы с AP, используя инструмент учета в текстовом формате — Beancount.
Краткий обзор
Прежде чем мы углубимся в детали, рассмотрим основные моменты:
- Кредиторская задолженность (AP) представляет собой ваши краткосрочные долги перед поставщиками. Вы найдете ее в разделе
Liabilities(Обязательства) вашего баланса. - Начисление vs Кассовый метод: AP — это концепция, которая существует только в том случае, если вы ведете учет по методу начисления. Beancount полностью поддерживает такие рабочие процессы, а его веб-интерфейс, Fava, будет корректно отображать ваши обязательства.
- AP vs AR: Все просто: кредиторская задолженность (Payables) — это то, что вы должны, а дебиторская задолженность (Receivables, AR) — это то, что должны вам.
Где отражается AP в Beancount (и Fava)
Чтобы начать отслеживание AP, вам сначала нужно объявить соответствующий счет в вашем журнале. Стандартное соглашение:
Liabilities:AccountsPayable
Вы также можете создавать субсчета для крупных поставщиков (например, Liabilities:AccountsPayable:ForestPaintSupply).
В Fava этот счет появится в Балансовом отчете в разделе Liabilities. Вы можете нажать на него, чтобы просмотреть детализацию и увидеть список всех открытых и оплаченных позиций, что дает четкое представление о ваших обязательствах. Вы даже можете увидеть это в действии в публичном примере журнала Fava, который включает счет Liabilities:AccountsPayable.
Основные инструменты Beancount, которые вам понадобятся
Надежный процесс управления AP в Beancount опирается на несколько ключевых функций:
- Счета: В основном вы будете использовать счет
Liabilities:AccountsPayable, денежный счет, напримерAssets:Bank:Checking, и различные счета расходов (например,Expenses:Supplies). - Метаданные: Вы можете прикреплять данные типа «ключ-значение» к любой транзакции. Для AP вы будете использовать такие метаданные, как
invoice:,due:,terms:иdocument:. Fava распознает ключdocument:и автоматически создаст кликабельную ссылку на прикрепленный файл, если вы настроите папку с документами. - Теги и ссылки: Используйте
#теги(например,#ap) для удобной фильтрации и^ссылки(например,^INV-10455), чтобы программно связать счет и последующий платеж по нему. Это создает четкий аудиторский след. - Запросы (BQL): Похожий на SQL язык запросов Beancount (BQL) позволяет формировать мощные отчеты, например, выводить список всех открытых задолженностей, отсортированных по дате оплаты, прямо из командной строки с помощью
bean-queryили на странице «Query» в Fava.
Основной рабочий процесс AP в Beancount
Управление AP в вашем журнале включает два или три ключевых этапа: запись счета, его оплата и, иногда, обработка частичных платежей или скидок.
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.00 USD в соответствующем периоде (август).
- Она создает соответствующее обязательство в размере 500.00 USD, показывая, что вы должны деньги Forest Paint Supply.
Ссылка ^INV-10455 — это уникальный идентификатор, который позволит вам позже прикрепить ту же ссылку к платежу, логически связывая транзакции выставления счета и оплаты.
2) Оплата счета (погашение обязательства)
Когда вы оплачиваете инвойс, вы создаете транзакцию, которая переводит деньги с вашего банковского счета для погашения обязательства.
а) Стандартная оплата (без скидки):
2025-09-01 * "Forest Paint Supply" "Оплата INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD
Эта запись уменьшает ваш баланс AP на 500.00 USD и баланс вашего расчетного счета на ту же сумму. Обязательство теперь погашено.
б) Скидка за раннюю оплату (например, "2/10, n/30"):
Если условия оплаты «2/10, n/30», вы можете получить скидку 2 %, если оплатите счет в течение 10 дней. Для нашего инвойса на 500.00 USD скидка составит 10.00 USD. Вот два приемлемых способа записи — просто выберите один метод и придерживайтесь его.
; Вариант 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.00 USD, уменьшаете банковский баланс на 490.00 USD, которые вы фактически заплатил и, и учитываете выгоду в 10.00 USD.
3) Обработка частичных платежей
Функция ссылок в Beancount делает отслеживание частичных платежей простым и понятным.
; Инвойс на 1,200 USD
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 USD
2025-08-20 * "Acme Parts" "Оплата INV-9001 (1/3)" ^INV-9001
Liabilities:AccountsPayable 400.00 USD
Assets:Bank:Checking -400.00 USD
; Финальный платеж 800 USD
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 сумма
WHERE account ~ "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;
Открытая задолженность по инвойсам и датам оплаты:
Получите аккуратный список каждого открытого счета, отсортированный по дате оплаты, чтобы правильно расставить приоритеты платежей.
SELECT payee,
any_meta('invoice') AS инвойс,
any_meta('due') AS срок_оплаты,
COST(SUM(position)) AS сумма
WHERE account ~ "^Liabilities:AccountsPayable"
GROUP BY payee, инвойс, срок_оплаты
ORDER BY срок_оплаты, payee;
Список счетов с прикрепленными PDF-файлами:
Этот запрос находит все ваши счета и показывает путь к связанному документу.
SELECT date, payee, any_meta('invoice') AS инвойс, any_meta('document') AS файл
WHERE account ~ "^Liabilities:AccountsPayable"
ORDER BY date DESC;
Где смотреть AP в Fava
- Balance Sheet (Баланс): Перейдите в
Balance Sheet→Liabilities→AccountsPayable, чтобы увидеть общий баланс и углубиться в детали транзакций. - Journal (Журнал): Отфильтруйте журнал по счету
account:Liabilities:AccountsPayableили по конкретной ссылке, например^INV-xxxx, чтобы увидеть весь жизненный цикл счета. - Documents Sidebar (Боковая панель документов): Если вы используете метаданные
document:и настроили директивуoption "documents", вы увидите список связанных документов в боковой панели.
Анализ задолженности: старение, оборачиваемость и денежные потоки
- Ведомость старения (Aging Schedule): Этот отчет группирует ваши открытые счета по времени просрочки (например, 1–30 дней, 31–60 дней, 60+ дней). В Beancount наиболее практичный подход — запустить запрос «Открытая задолженность по инвойсам и датам оплаты» выше, экспортировать результаты в CSV и распределить их по категориям в таблице или с помощью небольшого скрипта на Python.
- Коэффициент оборачиваемости кредиторской задолженности: Это быстрый показатель того, насколько быстро вы платите своим поставщикам. Формула:
Общий объем закупок у поставщиков ÷ Средняя величина кредиторской задолженности. Связанный показатель, Период оборачиваемости кредиторской задолженности (DPO), примерно равен365 ÷ Коэффициент оборачиваемости. - Если вы не можете заплатить вовремя: AP предназначена для краткосрочных долгов. Если поставщик соглашается на формальное, более долгосрочное погашение, вам следует реклассифицировать долг из AP в долговое обязательство (note payable).
2025-10-01 * "Helix Industries" "Перевод просроченной AP в 12-месячный вексель" ^INV-1110
Liabilities:AccountsPayable 2000.00 USD
Liabilities:NotesPayable -2000.00 USD
Лучшие практики для AP в текстовом журнале
- Откажитесь от бумаги: Храните PDF-файлы инвойсов в папке
documentsи связывайте их с помощью ключа метаданныхdocument:. - Используйте ссылки последовательно: Указывайте уникальный номер инвойса в
^linkкак в записи о начислении счета, так и во всех связанных записях об оплате. - Соблюдайте порядок в метаданных: Постоянное использование
invoice:,due:иterms:упрощает поиск, запросы и финансовый анализ. - Только метод начисления: Если вы хотите получать полезные отчеты по AP, придерживайтесь ведения учета по методу начисления. Beancount и Fava отлично справляются с этой задачей.
Шаблон для копирования: Счет поставщика + Оплата
; ---- Счет (Bill) ----
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
Данное руководство носит ознакомительный характер и не является налоговой, юридической или финансовой консультацией.