حسابهای پرداختنی (AP) پولی است که کسب و کار شما به دلیل کالاها یا خدماتی که قبلاً دریافت کردهاید اما هنوز برای آنها پرداختی انجام ندادهاید، به تامینکنندگان خود بدهکار است. در دنیای حسابداری، AP به عنوان یک بدهی جاری در ترازنامه شما طبقهبندی میشود—مبلغی که معمولاً در سال آینده و اغلب در طی 30 تا 60 روز پرداخت میشود.
این مفهوم برای حسابداری تعهدی محوری است، جایی که هزینه و بدهی مربوطه را در لحظه رسیدن صورتحساب ثبت میکنید، نه زمانی که واقعاً پول نقد را ارسال میکنید. این راهنما به شما نشان میدهد که چگونه کل گردش کار 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این ورودی واحد دو کار مهم را انجام میدهد:
- بلافاصله هزینه 500 دلاری را در دوره صحیح (اوت) تشخیص میدهد.
- یک بدهی مربوطه 500 دلاری ایجاد میکند و نشان میدهد که شما به 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 شما را 500 دلار و موجودی حساب جاری شما را به همین میزان کاهش میدهد. اکنون بدهی تسویه شده است.
ب) تخفیف پرداخت زودهنگام (به عنوان مثال، "2/10، n/30"):
اگر شرایط "2/10، n/30" باشد، در صورت پرداخت ظرف 10 روز، میتوانید 2% تخفیف بگیرید. برای فاکتور 500 دلاری ما، این 10 دلار تخفیف است. در اینجا دو روش قابل قبول برای ثبت آن وجود دارد - فقط یک روش را انتخاب کنید و ثابت قدم باشید.
; 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در هر دو حالت، شما بدهی کامل 500 دلاری را تسویه میکنید، موجودی بانکی خود را به میزان 490 دلاری که واقعاً پرداخت کردهاید کاهش میدهید و از مزیت 10 دلاری حسابرسی میکنید.
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، گردش مالی و آگاهی از جریان نقدی
- برنامه زمانبندی پیری: این گزارش صورتحسابهای باز شما را بر اساس مدت زمان معوقه بودن آنها گروهبندی میکند (به عنوان مثال، 1-30 روز، 31-60 روز، 60+ روز). در Beancount، عملیترین رویکرد این است که پرس و جوی "Open AP by Invoice + Due Date" را در بالا اجرا کنید، نتایج را به عنوان CSV صادر کنید و آنها را در یک صفحه گسترده یا یک اسکریپت کوچک پایتون دستهبندی کنید.
- نسبت گردش مالی AP: این یک بررسی سلامت سریع در مورد سرعت پرداخت به فروشندگان است. فرمول
کل خریدهای تامین کننده ÷ میانگین APاست. یک معیار مرتبط، روزهای معوقه پرداختنی (DPO)، تقریباً365 ÷ نسبت گردش مالیاست. - اگر نمیتوانید به موقع پرداخت کنید: AP برای بدهیهای کوتاه مدت در نظر گرفته شده است. اگر یک فروشنده موافقت کند که بازپرداخت رسمی و طولانیتری داشته باشد، باید بدهی را از AP خارج کرده و به یک اسناد پرداختنی طبقهبندی کنید.
2025-10-01 * "Helix Industries" "Convert overdue AP to 12-month note" ^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" "Paint order 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
; ---- Payment (no discount) ----
2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USDاین راهنما برای اهداف آموزشی است و به منزله مشاوره مالیاتی، حقوقی یا مالی نیست.