حسابهای پرداختنی چیست؟ راهنمایی دوستانه برای Beancount جهت پیگیری فاکتورهای فروشنده در متن ساده
حسابهای پرداختنی (AP) پولی است که کسبوکار شما به تأمینکنندگان خود بدهکار است برای کالاها یا خدماتی که دریافت کردهاید اما هنوز پرداخت نکردهاید. در دنیای حسابداری، AP بهعنوان بدهی جاری در ترازنامه شما طبقهبندی میشود — مبلغی که معمولاً در طول سال آینده، و اغلب در بازه ۳۰ تا ۶۰ روز، سررسید میشود.
این مفهوم در حسابداری تعهدی مرکزی است، جایی که هزینه و بدهی مربوطه بهمحض دریافت فاکتور ثبت میشود، نه زمانی که پول واقعی پرداخت میشود. این راهنما نشان میدهد چگونه میتوانید کل جریان کاری AP را بهصورت تمیز و کارآمد با ابزار حسابداری متنی Beancount مدیریت کنید.
خلاصه سریع
قبل از ورود به جزئیات، نکات اساسی را م رور میکنیم:
- حسابهای پرداختنی (AP) بدهیهای کوتاهمدت شما به فروشندگان را نشان میدهد. آن را در بخش
Liabilities
ترازنامهتان خواهید یافت. - تعهدی در مقابل نقدی: AP تنها زمانی وجود دارد که کتابهای خود را بر پایه حسابداری تعهدی نگه دارید. Beancount بهطور کامل از جریانهای کاری تعهدی پشتیبانی میکند و رابط وب آن، Fava، بدهیهای شما را بهدرستی نمایش میدهد.
- AP در مقابل AR: ساده است: پرداختنیها آنچه بدهکارید، در حالی که دریافتنیها (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:
را تشخیص میدهد و بهصورت خودکار لینک کلیکی به فایل پیوستشده ایجاد میکند، بهشرط اینکه پوشه اسناد را تنظیم کنید. - برچسبها و لینکها: از
#tags
(مانند#ap
) برای فیلتر آسان و از^links
(مانند^INV-10455
) برای اتصال برنامهنویسی فاکتور و پرداخت بعدی استفاده کنید. این کار مسیر واضح و قابل حسابرسی ایجاد میکند. - پرسوجوها (BQL): زبان پرسوجوی شبیه‑SQL Beancount (BQL) به شما امکان میدهد گزارشهای قدرتمندی مانند فهرست تمام پرداختنیهای باز بر اساس تاریخ سررسید، مستقیماً از خط فرمان با
bean-query
یا از صفحه «Query» در Fava اجرا کنید.
جریان کاری اصلی AP در Beancount
مدیریت AP در دفتر کل شما شامل دو یا سه گام کلیدی است: ثبت فاکتور، پرداخت آن و گاهیاوقات مدیریت پرداختهای جزئی یا تخفیفها.
1) ثبت فاکتور فروشنده (این بدهی را ایجاد میکند)
ابتدا هزینه را ثبت میکنید و وقتی فاکتور میرسد، بدهی را ایجاد میکنید.
; Optionally set your documents folder in your main Beancount file:
option "documents" "documents"
2025-08-05 * "Forest Paint Supply" "Paint order 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
این ورودی تک دو کار مهم انجام میدهد:
- هزینه ۵۰۰ دلار را بلافاصله در دوره صحیح (آگوست) شناسایی میکند.
- بدهی ۵۰۰ دلار متناظر را ایجاد می کند، نشان میدهد که به Forest Paint Supply بدهکارید.
لینک ^INV-10455
شناسهای یکتاست که بعداً میتوانید همان لینک را به پرداخت متصل کنید تا فاکتور و پرداخت بهصورت منطقی به هم پیوند خورده باشند.
2) پرداخت فاکتور (این بدهی را پاک میکند)
زمانی که فاکتور را پرداخت میکنید، تراکنشی ایجاد میکنید که پول را از حساب بانکی شما به حساب بدهی منتقل میکند.
الف) پرداخت استاندارد (بدون تخفیف):
2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD
این ورودی مانده AP شما را ۵۰۰ دلار کاهش میدهد و موجودی حساب جاری شما را به همان مقدار کم میکند. بدهی اکنون پاک شده است.
ب) تخفیف پرداخت پیشاز موعد (مثلاً «۲/۱۰، n/30»):
اگر شرایط «۲/۱۰، n/30» باشد، میتوانید در صورت پرداخت در ۱۰ روز، ۲ ٪ تخفیف بگیرید. برای فاکتور ۵۰۰ دلار، این یعنی تخفیف ۱۰ دلار. دو روش قابل قبول برای ثبت آن وجود دارد — یکی را انتخاب کنید و ثابت بمانید.
; Option 1: Record the discount as other income (a contra‑expense effect)
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Income:Discounts:Payables -10.00 USD
; Option 2: Reduce the original expense directly
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Expenses:Supplies:Paint -10.00 USD
در هر دو حالت، بدهی کامل ۵۰۰ دلار پاک میشود، موجودی بانکی شما بهمقدار ۴۹۰ دلار که پرداخت کردهاید کاهش مییابد و مزیت ۱۰ دلار بهدرستی حساب میشود.
3) مدیریت پرداختهای جزئی
ویژگی لینکگذاری Beancount پیگیری پرداختهای جزئی را ساده و شفاف میکند.
; Invoice for $1,200
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
; First payment of $400
2025-08-20 * "Acme Parts" "Payment INV-9001 (1/3)" ^INV-9001
Liabilities:AccountsPayable 400.00 USD
Assets:Bank:Checking -400.00 USD
; Final payment of $800
2025-09-05 * "Acme Parts" "Payment INV-9001 (final)" ^INV-9001
Liabilities:AccountsPayable 800.00 USD
Assets:Bank:Checking -800.00 USD
با استفاده از لینک ^INV-9001
در هر سه تراکنش، میتوانید بهراحتی دفتر خود را فیلتر کنید تا تاریخچه کامل این فاکتور خاص و پرداختهای مرتبط را ببینید.
پرسوجوهای مفید (BQL)
این پرسوجوها را میتوانید در تب «Query» در Fava یا از خط فرمان با bean-query
اجرا کنید.
نکته: تابع
any_meta()
برای استخراج فیلدهای متادیتا مانندinvoice:
وdocument:
بهطور فوقالعادهای مفید است.
AP باز بر حسب فروشنده (نمایش ترازنامه):
این پرسوجو مانده فعلی بدهیهای شما به هر تأمینکننده را جمع میکند.
SELECT payee, COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;
AP باز بر حسب فاکتور + تاریخ سررسید:
فهرستی منظم از تمام فاکتورهای باز، مرتبشده بر اساس تاریخ سررسید، برای اولویتبندی پرداختها.
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;
کجا میتوانید AP را در Fava ببینید
- ترازنامه: به
Balance Sheet
→Liabilities
→AccountsPayable
بروید تا مانده کلی را ببینید و با کلیک جزئیات تراکنشها را بررسی کنید. - دفتر کل: دفتر را با فیلتر
account:Liabilities:AccountsPayable
یا لینک خاصی مثل^INV-xxxx
فیلتر کنید تا چرخه کامل یک فاکتور را مشاهده کنید. - نوار کناری اسناد: اگر از متادیتای
document:
استفاده کنید و گزینهoption "documents"
را تنظیم کنید، فهرستی از اسناد پیوستشده در نوار کناری نمایش داده میشود.
سنجش زمانبندی، گردش و آگاهی از جریان نقدی AP
- جدول زمانبندی (Aging): این گزارش فاکتورهای باز را بر اساس مدت زمان معوق تقسیم میکند (مثلاً ۱‑۳۰ روز، ۳۱‑۶۰ روز، بیش از ۶۰ روز). در Beancount، عملیترین روش اجرای پرسوجوی «Open AP by Invoice + Due Date» است، خروجی را بهصورت CSV استخراج کنید و در یک صفحهگسترده یا اسکریپت پایتون کوچک دستهبندی کنید.
- نسبت گردش AP: معیاری سریع برای بررسی سرعت پرداخت به فروشندگان است. فرمول
کل خریدهای تأمینکننده ÷ متوسط AP
. معیاری مرتبط، روزهای پرداخت معوق (DPO) است که تقریباً برابر است با365 ÷ نسبت گردش
. - اگر نتوانید بهموقع پرداخت کنید: AP بدهی کوتاهمدت است. اگر فروشنده موافقت کند که بازپرداخت طولانیمدتتری داشته باشید، بدهی را از AP به یک بدهی یادداشتپذیر (note payable) منتقل کنید.
2025-10-01 * "Helix Industries" "Convert overdue AP to 12-month note" ^INV-1110
Liabilities:AccountsPayable 2000.00 USD
Liabilities:NotesPayable -2000.00 USD