پرش به محتوای اصلی

69 پست با برچسب "beancount"

مشاهده همه برچسب‌ها

درک ثبت‌های روزنامه‌ای در Beancount

· 8 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

ثبت‌های روزنامه‌ای ستون فقرات حسابداری دوطرفه هستند و در Beancount، هر تراکنش * که می‌نویسید یک ثبت روزنامه‌ای است. این راهنما اصول اساسی—بدهکار و بستانکار، ثبت‌های تعدیل‌کننده و معکوس‌کننده—را توضیح می‌دهد و نشان می‌دهد چگونه به‌صورت تمیز به سینتکس متنی ساده Beancount می‌نقشند. شما یاد می‌گیرید چگونه با حداقل مراسم کتاب‌های دقیق داشته باشید.


2025-09-02-journal-entries-in-beancount

مرور سریع: ثبت روزنامه‌ای چیست؟

ثبت روزنامه‌ای رکورد رسمی و تاریخ‌دار یک معامله مالی است. این رکورد با بدهکار و بستانکار بیان می‌شود که معادله بنیادی حسابداری را متعادل نگه می‌دارند:

Assets=Liabilities+EquityAssets = Liabilities + Equity

در یک سیستم دوطرفه، هر معامله حداقل دو حساب را تحت تأثیر قرار می‌دهد و مجموع بدهکارها باید برابر مجموع بستانکارها باشد. این قانون ساده است که گزارش‌های مالی پایین‌دست مانند صورت سود و زیان و ترازنامه را قابل اعتماد و دقیق می‌کند.


بدهکار و بستانکار در یک دقیقه

مفهوم بدهکار و بستانکار در ابتدا می‌تواند گیج‌کننده باشد، اما به چند قانون ساده خلاصه می‌شود. این‌گونه فکر کنید: «ارزش از کجا آمد؟» (بستانکار) و «ارزش به کجا رفت؟» (بدهکار).

در اینجا یک برگه تقلب برای نحوه افزایش پنج نوع حساب اصلی آورده شده است:

نوع حسابافزایش با
دارایی‌هابدهکار
هزینه‌هابدهکار
بدهی‌هابستانکار
حقوق مالکانهبستانکار
درآمدبستانکار

شکل یک ثبت روزنامه‌ای در Beancount

Beancount از دستورات متنی ساده و قابل خواندن برای انسان استفاده می‌کند تا تراکنش‌ها را ثبت کند. هر تراکنش باید برای هر کالا (مثلاً USD، EUR، سهام AAPL) به صفر متعادل شود. اگر این‌طور نباشد، Beancount خطا می‌دهد.

در اینجا یک تراکنش پایه برای خرید قهوه آورده شده است:

2025-09-10 * "Coffee Bar" "Team coffee"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD

دقت کنید که دو پست (خط‌های حساب) به صفر می‌رسند: $18.00 + (-$18.00) = 0.

شما می‌توانید با استفاده از برچسب‌ها (مانند #clientX) برای فیلتر کردن و لینک‌ها (مانند ^INV-2025-001) برای ارتباط بین ورودی‌های مرتبط، زمینه قدرتمندی را مستقیماً در روایت اضافه کنید.

به عنوان مثال، این‌جا نحوه لینک‌کردن یک فاکتور به پرداخت آن را می‌بینید:

; ابتدا فاکتور ارسالی به مشتری را ثبت می‌کنیم
2025-09-15 * "Acme Corp" "Invoice 2025-001 #clientX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD

; سپس پرداخت را ثبت می‌کنیم و به فاکتور اصلی لینک می‌کنیم
2025-09-28 * "Acme Corp" "Payment on ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD

برچسب #clientX به شما امکان می‌دهد به‌راحتی تمام تراکنش‌های این مشتری را فیلتر کنید و لینک ^INV-2025-001 ارتباطی بین دو ورودی ایجاد می‌کند که می‌توانید در گزارش‌ها دنبال کنید.


ثبت‌های روزنامه‌ای رایج (آماده برای کپی)

در ادامه چند تراکنش تجاری رایج به فرمت Beancount آورده شده است.

سرمایه‌گذاری نقدی توسط مالک

یک مالک برای راه‌اندازی کسب‌وکار، وجوه شخصی خود را سرمایه‌گذاری می‌کند.

2025-01-01 * "Owner" "Initial capital contribution"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD

فروش نقدی با مالیات فروش

یک مشتری به‌صورت نقدی محصولی می‌خرد که شامل ۸٪ مالیات فروش است که بعداً باید به دولت پرداخت شود.

2025-01-05 * "Walk-in Customer" "Cash sale with 8% tax"
Assets:Cash 108.00 USD
Income:Sales -100.00 USD
Liabilities:Tax:Sales -8.00 USD

فروش اعتباری (فاکتور) و دریافت پرداخت

شما خدمتی ارائه می‌دهید و برای مشتری فاکتور می‌گیرید، سپس بعداً پرداخت را دریافت می‌کنید.

2025-01-10 * "Acme Corp" "Consulting invoice ^INV-2025-002"
Assets:AccountsReceivable 2500.00 USD
Income:Consulting -2500.00 USD

2025-01-30 * "Acme Corp" "Payment on ^INV-2025-002"
Assets:Bank:Checking 2500.00 USD
Assets:AccountsReceivable -2500.00 USD

هزینه با کارت اعتباری

شما لوازم اداری را با کارت اعتباری شرکت خریداری می‌کنید.

2025-01-12 * "OfficeMax" "Supplies on credit card"
Expenses:Office:Supplies 75.00 USD
Liabilities:CreditCard -75.00 USD

حقوق (مدل ساده)

شما حقوق کارکنان را پردازش می‌کنید و هزینه کل حقوق، کسورات مالیاتی کارمند و پرداخت خالص از حساب بانکی را ثبت می‌کنید.

2025-01-31 * "Payroll" "January wages and withholdings"
Expenses:Payroll:Wages 2000.00 USD
Liabilities:Taxes:Withheld -400.00 USD
Assets:Bank:Checking -1600.00 USD

استهلاک ماهانه

هزینه استهلاک ماهانه یک دارایی، مانند لپ‌تاپ، را ثبت می‌کنید.

2025-01-31 * "Depreciation" "Laptop, straight-line"
Expenses:Depreciation 100.00 USD
Assets:Equipment:AccumDepr -100.00 USD

هزینه پیش‌پرداخت و استهلاک ماهانه

شما برای یک سال بیمه به‌صورت پیش‌پرداخت هزینه می‌کنید، سپس هزینه یک ماه را به‌عنوان هزینه شناسایی می‌کنید.

; 1. پرداخت حق بیمه سالانه
2025-01-01 * "InsureCo" "Annual insurance premium"
Assets:Prepaid:Insurance 1200.00 USD
Assets:Bank:Checking -1200.00 USD

; 2. شناسایی یک ماه هزینه در پایان ژانویه
2025-01-31 * "InsureCo" "Amortize 1/12 of insurance"
Expenses:Insurance 100.00 USD
Assets:Prepaid:Insurance -100.00 USD

درآمد نامعین و شناسایی ماهانه

یک مشتری برای اشتراک ۳ ماهه پیش‌پرداخت می‌کند. شما نقدینگی را ثبت می‌کنید و سپس یک ماه درآمد را شناسایی می‌کنید.

; 1. پیش‌پرداخت مشتری برای سرویس
2025-02-01 * "Subscriber" "3-month plan prepaid"
Assets:Bank:Checking 300.00 USD
Liabilities:Unearned:Subs -300.00 USD

; 2. شناسایی یک ماه درآمد پس از ارائه سرویس
2025-02-28 * "Recognition" "Recognize month 1 of 3"
Liabilities:Unearned:Subs 100.00 USD
Income:Subscriptions -100.00 USD

ذخیره‌سازی بدهی مشکوک و حذف بدهی

شما برای فاکتورهای احتمالی غیرقابل وصول یک ذخیره ایجاد می‌کنید و سپس یک فاکتور معین را حذف می‌کنید.

; 1. ایجاد ذخیره بر پایه ۲٪ از حساب‌های دریافتنی
2025-03-31 * "Provision" "2% of A/R for doubtful accounts"
Expenses:BadDebt 200.00 USD
Assets:AllowanceForDoubtful -200.00 USD

; 2. حذف فاکتور معینی که می‌دانید پرداخت نخواهد شد
2025-04-15 * "Write-off" "Customer XYZ invoice"
Assets:AllowanceForDoubtful 150.00 USD
Assets:AccountsReceivable -150.00 USD

موجودی دوره‌ای و تنظیم هزینه کالای فروخته‌شده (COGS)

در پایان دوره، هزینه کالای فروخته‌شده را با تنظیم حساب موجودی محاسبه می‌کنید.

2025-03-31 * "COGS adjustment" "Periodic inventory method"
Expenses:COGS 4500.00 USD
Assets:Inventory -4500.00 USD

ثبت‌های تعدیل‌کننده در مقابل ثبت‌های معکوس‌کننده

ثبت‌های تعدیل‌کننده در پایان یک دوره حسابداری (مثلاً ماه یا سه‌ماهه) ثبت می‌شوند تا درآمدها و هزینه‌ها به دوره‌ای که واقعاً کسب یا صرف شده‌اند، منطبق شوند. این شامل تعهدات، تعویق‌ها و برآوردهایی مانند استهلاک می‌شود.

ثبت‌های معکوس‌کننده ورودی‌های اختیاری هستند که در اولین روز دوره جدید انجام می‌شوند و دقیقاً یک ثبت تعدیل‌کننده خاص از دوره قبلی را معکوس می‌کنند. هدف آن ساده‌سازی کتابداری است. با معکوس کردن یک تعهد، می‌توانید تراکنش نقدی بعدی را به‌صورت استاندارد ثبت کنید بدون این‌که به یاد داشته باشید آن را مقابل حساب بدهی قرار دهید.

مثال: تعهد هزینه‌های خدمات عمومی و معکوس آن

فرض کنید باید هزینه خدمات عمومی ژانویه را ثبت کنید، اما صورتحساب تا فوریه دریافت نمی‌شود.

; 1. تخمین هزینه در پایان ژانویه
2025-01-31 * "Accrual" "Estimate January utilities expense"
Expenses:Utilities 500.00 USD
Liabilities:Accrued:Utilities -500.00 USD

; 2. (اختیاری) معکوس کردن تعهد در اولین روز دوره بعدی
2025-02-01 * "Reversal" "Undo January utilities accrual"
Liabilities:Accrued:Utilities 500.00 USD
Expenses:Utilities -500.00 USD

; 3. ثبت پرداخت واقعی وقتی که در فوریه می‌رسد
; صورتحساب واقعی 520 دلار است. به‌دلیل معکوس‌سازی می‌توانید
; کل مبلغ را به حساب هزینه بزنید بدون مشکل.
; هزینه خالص فوریه برابر است با 520 - 500 = 20 دلار.
2025-02-10 * "City Utilities" "Payment for January bill"
Expenses:Utilities 520.00 USD
Assets:Bank:Checking -520.00 USD

توجه: مثال در طرح اصلی نشان می‌دهد که پرداخت نهایی تقسیم می‌شود. روش معکوس‌سازی یک گزینه برای ساده‌سازی ثبت نهایی است.


چک‌لیست برای هر ثبت روزنامه‌ای در Beancount

این مراحل را دنبال کنید تا ورودی‌های شما تمیز و صحیح باشند:

  1. با تاریخ (YYYY-MM-DD) و یک پرچم تراکنش (*) شروع کنید.
  2. یک طرف حساب و یک شرح توصیفی اضافه کنید. از #برچسب‌ها و ^لینک‌ها برای جستجوپذیری استفاده کنید.
  3. حداقل دو خط پست داشته باشید که برای هر کالا به صفر متعادل شوند.
  4. از نام‌های حساب صحیح تحت پنج نوع استفاده کنید: Assets, Liabilities, Equity, Income, Expenses.
  5. به‌صورت اختیاری، متادیتا مانند document: "invoices/INV-2025-001.pdf" برای ردیابی اضافه کنید.

اشتباهات رایج (و نحوه کمک Beancount)

  • پست‌های نامتعادل: اگر بدهکارها و بستانکارها به صفر نرسند، Beancount ورود را رد می‌کند. این ویژگی اصلی است که از خطاها جلوگیری می‌کند. حتی می‌توانید یک مقدار را خالی بگذارید و Beancount به‌صورت خودکار آن را محاسبه می‌کند.
  • علامت نادرست روی حساب: به‌راحتی می‌توانید فراموش کنید که Income، Equity و Liabilities با بستانکار (که معمولاً در Beancount عدد منفی است) افزایش می‌یابند. اگر اشتباه کنید، گزارش‌هایتان عجیب به‌نظر می‌رسند، اما قانون تعادل همچنان یک شبکه امنیتی فراهم می‌کند.
  • عدم وجود لینک بین ورودی‌ها: فراموش کردن لینک فاکتور به پرداخت آن، ردیابی مانده‌ها را دشوار می‌کند. استفاده مداوم از ^لینک‌ها این مشکل را با ایجاد ردپای قابل حسابرسی حل می‌کند.

مسیرهای بعدی

  • زبان Beancount و قوانین تعادل: به مستندات رسمی عمیق‌تر بپردازید.
  • برگه تقلب سینتکس: مرجع مفیدی برای تمام دستورات Beancount.
  • مقدمه‌ای بر بدهکار/بستانکار: نقطه شروع عالی اگر با قوانین حسابداری تازه‌کار هستید.
  • ثبت‌های تعدیل‌کننده/معکوس‌کننده: مقالات دقیق‌تر درباره نظریه حسابداری.

پیوست: نقشهٔ اصطلاحات حسابداری → Beancount

این راهنمای ترجمه سریع می‌تواند به شما کمک کند تا دستورات حسابداری را به سینتکس Beancount تبدیل کنید.

دستور حسابداریعمل Beancount
بدهکار کردن یک هزینهمقدار مثبت به حساب Expenses:
بستانکار کردن یک بدهیمقدار منفی به حساب Liabilities:
تعهد درآمدAssets:AccountsReceivable +
Income:* -
تعویق درآمدAssets:Bank:* +
Liabilities:Unearned:* -
شناسایی درآمد تعویق‌خوردهLiabilities:Unearned:* +
Income:* -

با این الگوها و مثال‌ها می‌توانید تقریباً هر رویداد تجاری را به‌صورت تمیز در Beancount مدل‌سازی کنید و اطمینان حاصل کنید که گزارش‌های مالی‌تان بدون شگفتی‌ایی هم‌راستا هستند.

10 گام عملی برای بسته شدن سریع و قابل اعتماد ماهانه در Beancount

· 7 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

اگر دفتر کل شما به صورت متن ساده باشد، بسته شدن ماهانه می‌تواند هم سریع و هم قابل حسابرسی باشد. این فرآیند نیازی به شلوغی پر از صفحات گسترده و ماشین‌حساب‌ها ندارد. این راهنما یک فرآیند تمیز و قابل تکرار را که برای Beancount و رابط وب آن، Fava، طراحی شده است، ارائه می‌دهد؛ فرآیندی که بر پایهٔ ادعاهای تراز، وارد کردن هوشمند و بررسی‌های سبک ساخته شده است.

در اینجا فهرست بررسی برای یک بسته شدن بدون دردسر آمده است:

2025-09-02-month-end-close

  1. جمع‌آوری صورت‌حساب‌ها و وارد کردن تمام تراکنش‌های خام.
  2. نرمال‌سازی پرداخت‌کنندگان، توضیحات و متادیتا.
  3. تطبیق هر حساب نقدی، بانکی و اعتباری با ادعای balance.
  4. همسان‌سازی انتقال‌ها و جابجایی‌های بین‌حسابی.
  5. به‌روزرسانی قیمت‌ها برای سرمایه‌گذاری‌ها و تأیید ارزش‌گذاری‌ها.
  6. پیوست یا منبع اسناد (رسیدها، فاکتورها) در دفتر کل.
  7. اجرای پرس‌وجوها و داشبوردها برای بررسی سود و زیان و انحراف‌ها.
  8. ثبت هزینه‌های پیش‌دستی و تنظیمات لازم.
  9. اعتبارسنجی دفتر کل با بررسی‌های خودکار.
  10. کامیت، برچسب‌گذاری و بایگانی ماه.

1. تعیین قوانین پایه (و استفاده مجدد از آن‌ها)

یک بسته شدن منسجم با پایه‌ای ثابت آغاز می‌شود. نمودار حساب‌ها و گزینه‌های کلیدی Beancount باید به‌صورت مرکزی تعریف شوند و به ندرت تغییر یابند. گزینه‌هایی مانند operating_currency و مدیریت documents اطمینان می‌دهند که گزارش‌ها و وارد کردن‌ها هر بار به‌صورت پیش‌بینی‌پذیر رفتار می‌کنند.

نکته: فایل گزینه‌ها را مانند «زیرساخت» در نظر بگیرید. تغییر آن می‌تواند نحوهٔ محاسبهٔ اعداد شما را تغییر دهد. با دقت در Git نسخه‌بندی کنید.


2. همه چیز را وارد کنید — سپس دیگر به‌صورت دستی وارد نکنید

اتوماتیک‌سازی وارد کردن داده‌ها بزرگ‌ترین سرعت‌بخش برای بسته شدن کتاب‌هاست. از ابزارهای قدرتمند وارد کردن Beancount و واردکننده‌های ساخته‌شده توسط جامعه برای دریافت خوراک‌های بانکی، فایل‌های CSV/OFX کارت‌های اعتباری، داده‌های کارگزاری و گزارش‌های حقوق و دستمزد استفاده کنید.

هدف یک فرمان وارد کردن یک‌بار است که پست‌های متوازن تولید می‌کند و فقط نیاز به بازبینی و کامیت دارد. این کار ورود دستی داده‌ها را که منبع اصلی خطاها و تأخیرهاست، حذف می‌کند.


3. نرمال‌سازی پرداخت‌کنندگان و متادیتا در ابتدا

داده‌های تمیز، داده‌های قابل اعتماد هستند. پرداخت‌کنندگان، روایت‌ها و برچسب‌های خود را در طول فرآیند وارد کردن استاندارد کنید تا جستجوها، قواعد و گزارش‌های شما ماه به ماه دقیق بمانند.

سیستم افزونهٔ Beancount به شما اجازه می‌دهد تا تبدیل‌ها و اعتبارسنجی‌های سبک را هنگام بارگذاری فایل‌ها اضافه کنید. این برای اعمال چک‌های سفارشی سازگاری یا استفاده از افزونهٔ داخلی noduplicates برای پرچم‌گذاری تراکنش‌های تکراری پیش از تبدیل به مشکل، ایده‌آل است.


4. تطبیق با ادعای balance

برای هر حسابی که صورت‌حساب دارد (چک، پس‌انداز، کارت‌های اعتباری)، از دستور balance در Beancount برای ادعای تراز بسته‌شده استفاده کنید. این خط ساده، تطبیق را از یک بررسی چشمی دستی به یک تست دقیق و خودکار تبدیل می‌کند.

; ادعا می‌کند که تراز دقیقاً 1234.56 در ابتدای روز است
2025-09-01 balance Assets:Bank:Checking 1234.56 USD

از آنجا که ترازها در ابتدای روز بررسی می‌شوند، استفاده از اولین روز ماه بعدی برای صورت‌حساب ماهانه راحت‌تر است. اگر تراز محاسبه‌شده توسط Beancount با ادعای شما مغایرت داشته باشد، خطای دقیقی دریافت می‌کنید و تاریخی برای شروع بررسی دارید. همیشه منبع حقیقت (تراکنش‌های شما) را ابتدا اصلاح کنید؛ «نیرو» برای تطبیق ندهید.


5. همسان‌سازی انتقال‌های بین‌حسابی

اطمینان حاصل کنید که هر انتقال در هر دو طرف تراکنش ظاهر شود. برای مثال، پرداختی از حساب جاری به کارت اعتباری باید در هر دو حساب ثبت شود. انتقال‌های نامتناسب منبع رایجی برای سردردهای تطبیق هستند.

از دستور pad فقط برای تنظیم ترازهای افتتاحیه تاریخی هنگام اولین تنظیم یک حساب استفاده کنید. این یک ابزار تنظیم است، نه یک تکیه‌گاه برای رفع اختلافات ماهانه.


6. تأیید موقعیت‌ها و قیمت‌ها برای سرمایه‌گذاری‌ها

برای داشتن نمایی دقیق از دارایی خالص خود، به‌روزرسانی ارزش‌های بازار برای سرمایه‌گذاری‌ها و ارزهای خارجی ضروری است. از دستور price در Beancount برای ثبت این مقادیر به‌عنوان تاریخ بسته‌شدن استفاده کنید.

2025-08-31 price VTI  290.14 USD
2025-08-31 price EUR 1.11 USD

ابزارهای زیادی می‌توانند این قیمت‌ها را به‌صورت خودکار برای شما دریافت کنند. پس از به‌روزرسانی، گزارش‌های ترازنامه یا دارایی خالص را دوباره اجرا کنید تا تغییرات ارزش‌گذاری را ببینید.


7. پیوست رسیدها و اسناد منبع

یک مسیر حسابرسی تمیز با لینک کردن تراکنش‌ها به اسناد منبع حفظ کنید. از گزینه documents در فایل اصلی Beancount برای اشاره به آرشیو رسیدها و فاکتورها استفاده کنید.

option "documents" "/path/to/Finance/Documents"

اگر فایل‌هایتان را بر اساس تاریخ نام‌گذاری کنید (مثلاً 2025-08-13.vendor.receipt.pdf)، Beancount و Fava می‌توانند به‌صورت خودکار آن‌ها را کشف و لینک کنند و نمایش رسید برای هر تراکنش تنها با یک کلیک امکان‌پذیر می‌شود.


8. مرور ماه با Fava و BQL

یک حلقه بازخورد سریع حیاتی است. از Fava برای بازرسی بصری مالیاتان استفاده کنید. نمودارها و گزارش‌های آن برای برش هزینه‌ها بر اساس دسته‌بندی، بررسی روند درآمد و شناسایی ناهنجاری‌ها در یک نگاه عالی هستند.

برای بررسی‌های دقیق‌تر، از زبان پرس‌وجوی Beancount (BQL) استفاده کنید. این پرس‌وجو، برای مثال، یک تجزیه و تحلیل رتبه‌بندی‌شده از تمام هزینه‌های آگوست 2025 می‌دهد:

SELECT
account,
ROUND(SUM(position), 2) AS total
WHERE
date >= 2025-08-01 AND date < 2025-09-01
AND account 'Expenses'
GROUP BY
account
ORDER BY
total DESC;

9. ثبت هزینه‌های پیش‌دستی و تنظیمات

اگر از حسابداری بر پایهٔ تعهد استفاده می‌کنید، تنظیمات پایان ماه را به‌صورت تراکنش‌های واضح و تاریخ‌دار ثبت کنید. این می‌تواند شامل هزینه‌های تعهدی (مانند قبض آب و برق که هنوز دریافت نکرده‌اید)، استهلاک هزینه‌های پیش‌پرداخت یا شناسایی درآمد باشد. آن‌ها را ساده و با توضیح واضح در روایت بنویسید تا در بازبینی‌های آینده به‌راحتی قابل درک باشند.


10. اعتبارسنجی، برچسب‌گذاری و بایگانی

قبل از نهایی‌سازی ماه، یک بررسی نهایی برای یکپارچگی ساختاری انجام دهید:

bean-check your-ledger.beancount

این فرمان عدم تعادل‌ها، ارجاع به حساب‌های بازنشده و سایر خطاهای رایج را شناسایی می‌کند. هر چیزی که نشان دهد را اصلاح کنید.

پس از اطمینان از صحت همه چیز، تغییرات را در کنترل نسخه (مانند Git) با پیام واضح و برچسب، مثلاً close-2025-08، کامیت کنید. در نهایت صورت‌حساب‌های بانکی خود را بایگانی کنید و ماه را قفل کنید.


یک اسکریپت سادهٔ بسته شدن که می‌توانید تطبیق دهید

می‌توانید اکثر این گام‌ها را با یک اسکریپت سادهٔ شل خودکار کنید. این کار بسته شدن را به یک فرمان تکرارپذیر تبدیل می‌کند.

#!/usr/bin/env bash
set -euo pipefail

# Example: ./close.sh 2025-08
MONTH=${1:?Please provide a month in YYYY-MM format}
LEDGER= /finance/ledger.beancount

# 1. Import new transactions
echo "Importing transactions for $MONTH..."
make import MONTH="$MONTH"

# 2. Update market prices for the last day of the month
PRICE_DATE=$(date -d "$MONTH-01 +1 month -1 day" +%F)
echo "Fetching prices for $PRICE_DATE..."
make prices DATE="$PRICE_DATE"

# 3. Validate the entire ledger
echo "Running bean-check..."
bean-check "$LEDGER"

# 4. Generate a key report (e.g., expense breakdown)
echo "Generating expense report for $MONTH..."
bean-query "$LEDGER" -f txt "
SELECT account, SUM(position)
WHERE date >= '${MONTH}-01' AND date < '${MONTH}-01' + 1 month
AND account 'Expenses'
GROUP BY account ORDER BY SUM(position) DESC;
" > "reports/${MONTH}-expenses.txt"

# 5. Commit and tag the close in Git
echo "Committing and tagging the close..."
git -C /finance add .
git -C /finance commit -m "Close ${MONTH}"
git -C /finance tag "close-${MONTH}"

echo "Month ${MONTH} is closed and tagged."

چرا این روش کار می‌کند

این فرآیند سریع و قابل اعتماد است زیرا بر پایهٔ چند اصل اساسی ساخته شده:

  • ادعاها، نه نگاه چشمی: دستور balance تطبیق را به یک چک دقیق و خودکار تبدیل می‌کند.
  • ورودی‌های تعیین‌پذیر: واردکننده‌های خودکار و متادیتای نرمال‌شده دفتر کل شما را بازتولیدپذیر و سازگار می‌سازند.
  • داده‌های قابل کاوش: Fava و BQL ابزارهای قدرتمندی برای اعتبارسنجی نتایج و بررسی سریع ناهنجاری‌ها فراهم می‌کنند.
  • تغییرات حسابرسی‌شدنی: تنظیمات به‌صورت ورودی‌های متن ساده هستند و مرور و درک آن‌ها ماه‌ها یا سال‌ها بعد آسان است.

یک بسته شدن ماهانه خوب بیشتر به لجستیک مربوط می‌شود. با Beancount می‌توانید آن را به یک مراسم کوتاه و اسکریپتی تبدیل کنید: وارد کردن، ادعا، قیمت‌گذاری، پرس‌وجو و کامیت. گردش کار را ثابت نگه دارید و بسته شدن شما حتی با رشد پیچیدگی مالی‌تان نیز سریع خواهد ماند.

بهترین خطوط اعتباری تجاری (2025)

· 8 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

اگر به دنبال سرمایه کاری انعطاف‌پذیر هستید که بتوانید برداشت کنید، بازپرداخت کنید و دوباره استفاده کنید، یک خط اعتباری تجاری (LOC) بهتر از گرفتن وام‌های مکرر است. در ادامه گزینه‌های قوی سال جاری بر اساس موارد استفاده آورده شده‌اند، به‌همراه روشی سریع برای مقایسه هزینه‌ها و یک دستور ساده Beancount برای ثبت برداشت‌ها، بهره و هزینه‌ها.


2025-08-27-best-business-lines-of-credit-2025

TL;DR — انتخاب‌های مناسب بر اساس سناریو

  • خط سریع و انعطاف‌پذیر فین‌تک: Bluevine — تا ۲۵۰٬۰۰۰ دلار، بازپرداخت هفتگی یا ماهانه، تأمین مالی اغلب در کمتر از ۲۴ ساعت، نرخ‌های تبلیغ‌شده «تا ۷٫۸٪ (بهره ساده)».
  • برداشت‌های مبتنی بر هزینه با دوره‌های متعدد: خط اعتباری American Express Business Blueprint® — اندازه خط از ۲٬۰۰۰ تا ۲۵۰٬۰۰۰ دلار؛ می‌توانید وام‌های یک‌بار بازپرداخت ۱ تا ۳ ماهه یا وام‌های اقساطی ۶ تا ۲۴ ماهه با هزینه ثابت وام (نه نرخ سالیانه) را انتخاب کنید.
  • خط بانکی مبتنی بر پرایم با قیمت‌گذاری شفاف: Wells Fargo BusinessLine® / Prime Line — BusinessLine: پرایم + ۱٫۷۵٪ تا +۹٫۷۵٪؛ Prime Line: پرایم + ۰٫۵٪ (حداقل ۵٪)؛ محدودیت‌های اعتباری معمولی ۱۰٬۰۰۰ تا ۱۵۰٬۰۰۰ دلار.
  • قیمت‌گذاری رابطه‌ای و راهی برای «ترقی»: Bank of America — خط Business Advantage بدون ضامن (تخفیف‌های رابطه‌ای ۰٫۲۵ تا ۰٫۷۵٪)؛ یا خط Cash‑Secured که سپرده شما حد اعتبار را تعیین می‌کند (از ۱٬۰۰۰ دلار)، برای ساختن اعتبار تجاری مفید است.
  • شاخه + دسترسی ملی: Chase Business Line of Credit — به‌صورت آنلاین تا ۲۵۰٬۰۰۰ دلار، دوره چرخشی ۵ ساله سپس بازپرداخت ۵ ساله (در ۴۸ ایالت موجود است).
  • تا ۲۵۰٬۰۰۰ دلار با سیاست واضح هزینه سالانه: U.S. Bank Cash Flow Manager — خطوط تا ۲۵۰٬۰۰۰ دلار؛ گزینه بدون ضامن تا ۱۰۰٬۰۰۰ دلار؛ بدون هزینه سالانه اگر خط بیش از ۵۰٬۰۰۰ دلار باشد (در غیر این صورت ۱۵۰ دلار).
  • تا ۲۵۰٬۰۰۰ دلار با سیاست واضح هزینه سالانه: U.S. Bank Cash Flow Manager — خطوط تا ۲۵۰٬۰۰۰ دلار؛ گزینه بدون ضامن تا ۱۰۰٬۰۰۰ دلار؛ بدون هزینه سالانه اگر خط بیش از ۵۰٬۰۰۰ دلار باشد (در غیر این صورت ۱۵۰ دلار).
  • کسب‌وکارهای نوپا که به سرعت نیاز دارند (هزینه را بدانید): Headway Capital — ۵٬۰۰۰ تا ۱۰۰٬۰۰۰ دلار، محاسبه‌گر نشان می‌دهد شروع با ۳٫۳٪ ماهانه + ۲٪ هزینه برداشت.
  • تایید سریع اما معمولاً گران: OnDeck LOC — تا ۲۰۰٬۰۰۰ دلار؛ میانگین APR گزارش‌شده توسط شرکت ۵۶٫۶٪ برای خطوط (نیمه اول ۲۵).
  • برای خطوط بزرگتر، با نرخ پایین‌تر و نظارت‌شده (در صورت صلاحیت): خطوط SBA — برنامه‌های کلاسیک CAPLines و برنامه جدید ۷(a) Working Capital Pilot (WCP). WCP به وام‌دهندگان اجازه می‌دهد خطوط چرخشی نظارت‌شده تا ۵ میلیون دلار با ضمانت‌نامه SBA صادر کنند.

چه چیزی در سال ۲۰۲۵ تغییر کرده یا مهم است؟ 📈

دو روند کلیدی در حال شکل‌دادن به چشم‌انداز اعتبار تجاری این سال هستند:

  1. پرایم پایین‌تر از اوج‌های ۲۰۲۳. نرخ پرایم وال استریت ژورنال ۷٫۵۰٪ (۲ سپتامبر ۲۰۲۵) است و آخرین بار در ۱۹ دسامبر ۲۰۲۴ تغییر کرده بود. این نرخ بنچمارک مستقیماً قیمت‌گذاری اکثر خطوط اعتباری بانکی با نرخ متغیر را تعیین می‌کند (معمولاً به صورت «پرایم + حاشیه»). پرایم ثابت و پایین‌تر به معنای هزینه‌های پیش‌بینی‌پذیرتر برای وام‌گیرندگان است.
  2. SBA خطوط سرمایه کاری نظارت‌شده را گسترش/راه‌اندازی کرده است. برنامه ۷(a) Working Capital Pilot (WCP) که از ۱ اوت ۲۰۲۴ فعال شد، همچنان در حال گسترش است. این برنامه به وام‌دهندگان امکان می‌دهد خطوط LOC نظارت‌شده مبتنی بر دارایی یا تراکنش صادر کنند؛ امری بسیار مفید برای کسب‌وکارهایی که به تأمین مالی موجودی، حساب‌های دریافتنی یا قراردادهای خاص نیاز دارند.

Snapshot: خطوط اعتباری محبوبی که می‌توانید دریافت کنید

ارائه‌دهندهحداکثر اندازه خطنحوه قیمت‌گذاریشرایط/هزینه‌های قابل توجهبهترین برای
Bluevineتا ۲۵۰k دلارنرخ بهره ساده «تا ۷٫۸٪»؛ بازپرداخت هفتگی یا ماهانهتأمین مالی اغلب در کمتر از ۲۴ ساعتکسب‌وکارهای نیازمند به سرعت
American Express Business Blueprint®۲k–۲۵۰k دلارهزینه ثابت وام (نه APR) برای هر برداشتانتخاب وام‌های یک‌بار بازپرداخت ۱–۳ ماهه یا اقساطی ۶–۲۴ ماههکسب‌وکارهای انعطاف‌پذیر
Wells Fargo BusinessLine® / Prime Line۱۰k–۱۵۰k دلارپرایم + ۱٫۷۵٪ تا +۹٫۷۵٪ (BusinessLine)؛ پرایم + ۰٫۵٪ (حداقل ۵٪)حاشیه‌های متغیر بر اساس پرایمشرکت‌های بزرگتر
Bank of America۱k–۲۵۰k دلارخط Business Advantage بدون ضامن با تخفیف‌های رابطه‌ای ۰٫۲۵–۰٫۷۵٪؛ یا خط Cash‑Secured که سپرده حد اعتبار را تعیین می‌کندمناسب برای ساختن اعتبار تجاریکسب‌وکارهای نوپا
Chaseتا ۲۵۰k دلاردوره چرخشی ۵ ساله سپس بازپرداخت ۵ سالهدر ۴۸ ایالت موجود استشرکت‌های ملی
U.S. Bank Cash Flow Managerتا ۲۵۰k دلارگزینه بدون ضامن تا ۱۰۰k دلار؛ بدون هزینه سالانه اگر خط > ۵۰k دلار باشدهزینه سالانه ۱۵۰ دلار برای خطوط زیر ۵۰k دلارشرکت‌های متوسط
Headway Capital۵k–۱۰۰k دلارشروع با ۳٫۳٪ ماهانه + ۲٪ هزینه برداشتمناسب برای کسب‌وکارهای نوپاشرکت‌های نیازمند سرعت
OnDeck LOCتا ۲۰۰k دلارمیانگین APR گزارش‌شده ۵۶٫۶٪ برای خطوط (نیمه اول ۲۵)هزینه‌های بالاشرکت‌های با نیاز سریع
خطوط SBAتا ۵M دلاربرنامه‌های کلاسیک CAPLines و برنامه جدید ۷(a) Working Capital Pilot (WCP) که خطوط چرخشی نظارت‌شده تا ۵M دلار با ضمانت‌نامه SBA ارائه می‌دهدنظارت و ضمانت‌نامه SBAخطوط بزرگتر با نرخ پایین‌تر

چگونه خط اعتباری مناسب را انتخاب کنیم (۷ بررسی سریع) ✅

  1. اندیس و حاشیه: اگر خط بانکی به‌صورت «پرایم ± X%» قیمت‌گذاری شده است، امروز نرخ پرایم (7.50%) را بررسی کنید و حاشیه‌ای که به شما پیشنهاد شده را اضافه کنید. این نرخ APR متغیر فعلی شماست.
  2. هزینه‌محور در مقابل بهره‌محور: برخی فین‌تک‌ها (مانند AmEx Blueprint) هزینه ثابت «هزینه وام» برای هر برداشت به‌جای بهره می‌گیرند. قبل از تصمیم‌گیری APR مؤثر آن هزینه را با پیشنهادهای بهره‌محور مقایسه کنید.
  3. هزینه‌های سالانه/برداشت: این هزینه‌ها به‌خصوص اگر خط را به‌ندرت استفاده کنید به هزینه کلی شما اضافه می‌شوند. بانک آمریکا هزینه سالانه ۱۵۰ دلار برای خطوط بیش از ۵۰k دلار را معاف می‌کند، در حالی که PNC هزینه ۱۷۵ دلاری برای LOC بدون ضامن دارد.
  4. زمان‌بندی بازپرداخت: پرداخت‌های هفتگی (متداول در وام‌دهندگان آنلاین) می‌تواند جریان نقدی را صاف کند اما نیاز به مدیریت مکرر دارد. پرداخت‌های ماهانه حسابداری را ساده می‌کند. Bluevine هر دو گزینه هفتگی و ماهانه را ارائه می‌دهد.
  5. سرعت تأمین مالی: اگر فوراً به پول نیاز دارید، سرعت مهم است. Bluevine اغلب در کمتر از ۲۴ ساعت تأمین می‌کند، و American Express واریزی فوری بر روی حساب Checking تجاری AmEx ارائه می‌دهد.
  6. صلاحیت و مسیر پیشرفت: اگر هنوز برای خط بدون ضامن واجد شرایط نیستید، محصولی مانند خط Cash‑Secured بانک آمریکا (شروع از ۱٬۰۰۰ دلار) می‌تواند به ساختن اعتبار تجاری کمک کند و بعداً به خط بدون ضامن ارتقا یابد.
  7. در نظر گرفتن SBA برای اندازه یا ساختار: برای نیازهای بزرگتر مرتبط با موجودی، حساب‌های دریافتنی یا قراردادها، برنامه‌های ۷(a) WCP یا CAPLines می‌توانند خطوط بزرگ‌تر نظارت‌شده با نرخ‌های تنظیم‌شده ارائه دهند، به شرطی که بتوانید فرآیند ارزیابی عمیق‌تر را مدیریت کنید.

نکته سریع برای مقایسه هزینه‌ها 🧮

برای مقایسه هزینه‌ها به‌سرعت، به‌دنبال نرخ‌های پایه (مانند APR یا بهره ساده) باشید، سپس هزینه‌های ثابت (هزینه سالانه، هزینه برداشت) را به‌علاوه هزینه‌های متغیر (بهره) اضافه کنید. این روش به‌سرعت هزینه کل یک خط را در طول زمان نشان می‌دهد.

Beancount: نحوه ثبت یک خط اعتباری

برای کاربران ابزار حسابداری متنی ساده Beancount، ردیابی یک خط اعتباری بسیار ساده است. LOC یک بدهی است؛ برداشت‌ها این بدهی و نقدینگی شما را افزایش می‌دهند، در حالی که بهره و هزینه‌ها به‌عنوان هزینه ثبت می‌شوند. نام حساب‌های زیر را مطابق دفتر حساب خود تغییر دهید.

2023-01-01 open Assets:Bank:LOC  ; خط اعتباری (بدهی)
2023-01-01 open Assets:Bank:Cash
2023-01-01 open Expenses:Interest
2023-01-01 open Expenses:Fees

برداشت

2023-02-01 * "برداشت از خط اعتباری"
Assets:Bank:Cash 10000 USD
Assets:Bank:LOC -10000 USD

بهره

2023-03-01 * "بهره دوره‌ای"
Expenses:Interest 500 USD
Assets:Bank:LOC -500 USD

هزینه‌ها

2023-04-01 * "هزینه برداشت"
Expenses:Fees 200 USD
Assets:Bank:LOC -200 USD

گزینهٔ جایگزین

اگر می‌خواهید هزینه‌ها را به‌صورت جداگانه ثبت کنید:

2023-04-01 * "هزینه برداشت"
Expenses:Fees 200 USD
Assets:Bank:Cash -200 USD

زمانی که خط پشتیبانی‌شده توسط SBA معقول‌تر است

اگر به دنبال یک خط اعتباری با شرایط خاص برای ساختن اعتبار تجاری یا تأمین مالی بزرگ‌تر هستید، یک خط پشتیبانی‌شده توسط SBA می‌تواند گزینه بهتری باشد. این خطوط معمولاً هزینه‌های سالانه واضح‌تری دارند و برای کسب‌وکارهایی که به سرمایه‌گذاری در موجودی یا حساب‌های دریافتنی نیاز دارند، مناسب‌اند. همچنین یک دستورالعمل ساده Beancount برای ثبت این خطوط در اختیار شماست.

فهرست بررسی درخواست 📝

  • آیا می‌خواهید سرمایه کاری انعطاف‌پذیر داشته باشید که بتوانید برداشت کنید، بازپرداخت کنید و دوباره استفاده کنید؟
  • آیا می‌خواهید یک خط اعتباری تجاری (LOC) داشته باشید که بهتر از وام‌های مکرر باشد؟
  • آیا می‌خواهید گزینه‌های قوی سال جاری بر اساس موارد استفاده را ببینید؟
  • آیا به دنبال روشی سریع برای مقایسه هزینه‌ها هستید؟
  • آیا به یک دستور ساده Beancount برای ثبت برداشت‌ها، بهره و هزینه‌ها نیاز دارید؟

منابع کلیدی

کلام نهایی

به‌دنبال بهترین خطوط اعتباری تجاری برای سال 2025 بگردید، با گزینه‌های انعطاف‌پذیر متناسب با نیازهای مختلف، به همراه یک دستورالعمل Beancount برای ردیابی مالی کارآمد.

ثبت مالیات‌ها در Beancount (روش عملی)

· 8 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

مالیات‌ها می‌توانند مانند موجودی خاص و پیچیده‌ای در دنیای مالی شخصی احساس شوند. اما اگر این‌گونه نبودند چه می‌شد؟ اگر می‌توانستید آنها را همانند هر جریان پول دیگری در دفتر حساب خود رفتار کنید چه می‌شد؟ خبر خوب این است: می‌توانید. با در نظر گرفتن مالیات‌ها به‌عنوان حرکات ساده ارزش، دفتر Beancount شما تمیز، آسان برای پرس‌وجو و—مهم‌ترین نکته—قابل درک خواهد بود.

در ادامه یک الگوی عملی، بدون حاشیه که می‌توانید در یک فایل Beancount شخصی یا کسب‌وکار کوچک بگنجانید، آورده شده است. این یک سیستم ساده برای مدیریت حقوق، پرداخت‌های مالیاتی و حتی آن بازپرداخت‌های مزاحمی است که به سال جدید می‌رسند. ما حساب‌های اساسی مورد نیاز را مرور می‌کنیم، مثال‌های واقعی را قدم‌به‑قدم می‌زنیم و دقیقاً پرس‌و‌جوهایی را که برای دریافت پاسخ‌ها نیاز دارید نشان می‌دهیم.

2025-08-25-recording-taxes-in-beancount


اصول اصلی

قبل از اینکه به کد بپردازیم، چند قانون ساده را بپذیریم. این اصول کارها را منطقی نگه می‌دارند و از سردردهای آینده جلوگیری می‌کنند.

  • «چه» را از «چه‌وقت» که پول حرکت می‌کند جدا کنید. 🗓️
    این مهم‌ترین مفهوم است. هزینه مالیاتی به سالی تعلق دارد که درآمد را کسب کرده‌اید (مثلاً ۲۰۲۴)، حتی اگر صورتحساب را در آوریل ۲۰۲۵ به IRS پرداخت کنید. اگر زمان هزینه را از زمان پرداخت نقدی جدا نکنید، گزارش‌های سال به‌سال شما به‌هم ریخته و گمراه‌کننده می‌شوند.

  • سلسله مراتب حساب‌های خود را ساده و کسل‌کننده نگه دارید. 📁
    حساب‌های خود را بر پایه نوع مالیات (مثلاً IncomeTax، SocialSecurity) به‌وضوح نام‌گذاری کنید. این کار پرس‌و‌جوهای شما را فوق‌العاده ساده می‌کند. نام حساب‌ها را با نام فروشنده یا شماره فرم‌ها مثل «W‑2» یا «1099» شلوغ نکنید؛ برای آن جزئیات از متادیتا و برچسب‌ها استفاده کنید.

  • برای تنظیمات پایان‑سال از روش تعهدی (accrual) استفاده کنید. ⚖️
    حتی برای یک دفتر شخصی، استفاده از یک ورودی تعهدی ساده در پایان سال پاک‌ترین راه برای دقیق کردن گزارش‌هاست. این به معنای شناسایی هزینه یا بازپرداخت در سال صحیح است، حتی اگر پول تا سال بعد جابه‌جا نشود. این یک گام کوچک اضافه است که بعداً شما را از انجام تمرینات ذهنی نجات می‌دهد.

  • برای خود آینده‌تان بنویسید. 🧠
    هدف شما وضوح است. فقط در صورتی جزئیات اضافی مثل سال مالیاتی را به نام حساب اضافه کنید که واقعاً پرس‌و‌جوهای شما را آسان‌تر می‌کند. از ایجاد مجموعه‌ای جدید از حساب‌ها برای هر سال (Expenses:Taxes:2024:Federal، Expenses:Taxes:2025:Federal و غیره) مگر اینکه دلیل قانع‌کننده‌ای داشته باشید، خودداری کنید. یک ساختار صاف اغلب مدیریت آسان‌تری دارد.


اسکلت حسابی حداقل

در اینجا یک مجموعه پایه‌ای از حساب‌ها برای شروع آورده شده است. این ساختار متمرکز بر ایالات متحده است، اما می‌توانید به‌راحتی نام‌ها را برای سیستم مالیاتی کشور خود تطبیق دهید. فقط این دستورات open را در فایل Beancount خود بگذارید.

; --- مالیات‌های فدرال درآمد و حقوقی ایالات متحده ---
; برای پولی که از حقوق شما کسر می‌شود
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Withheld USD
; برای پرداخت‌های تخمینی یا صورتحساب‌های روز مالیاتی که مستقیماً می‌پردازید
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Payments USD
; برای بازپرداخت‌های مالیاتی که دریافت می‌کنید
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Refunds USD

; مشارکت‌های FICA شما
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD

; --- سایر مالیات‌های رایج ---
; برای مالیات فروش/استفاده که در خریدها می‌پردازید
2024-01-01 open Expenses:Taxes:Sales USD

; --- حساب‌ها برای تنظیمات پایان‑سال (اختیاری اما توصیه‌شده!) ---
; حساب موقت برای مالیاتی که بدهکارید اما هنوز پرداخت نکرده‌اید
2024-01-01 open Liabilities:AccruedTaxes:Federal:Income USD
; حساب موقت برای بازپرداختی که حق دریافت آن را دارید اما هنوز دریافت نکرده‌اید
2024-01-01 open Assets:Tax:Receivable USD

این تنظیمات مالیات‌های کسر شده را از پرداخت‌های مستقیم و بازپرداخت‌ها جدا می‌کند و به‌راحتی می‌توانید ببینید پول شما دقیقاً به کجا رفته است. حساب‌های Liabilities و Assets سلاح مخفی ما برای نگه داشتن گزارش‌های پایان‑سال دقیق هستند.


مثال ۱: حقوق

بیایید یک حقوق معمولی را ثبت کنیم که مالیات‌ها به‌صورت خودکار کسر می‌شوند. کلید این است که ابتدا درآمد ناخالص را ثبت کنید، سپس نشان دهید که چگونه به‌صورت مالیات و پولی که واقعاً به حساب بانکی‌تان می‌رسد تقسیم شده است.

2025-07-15 * "Employer Inc." "Salary for first half of July"
Income:Work:Salary -6,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Withheld 1,200.00 USD
Expenses:Taxes:Federal:SocialSecurity 372.00 USD
Expenses:Taxes:Federal:Medicare 87.00 USD
Assets:Cash:Checking 4,341.00 USD

این تراکنش واحد تمام داستان را می‌گوید:

  • شما ۶,۰۰۰ دلار درآمد ناخالص کسب کردید.
  • ۱,۲۰۰ دلار از آن به IRS برای مالیات فدرال درآمدی ارسال شد.
  • ۳۷۲ دلار به Social Security و ۸۷ دلار به Medicare رفت.
  • باقی‌مانده ۴,۳۴۱ دلار همان مبلغی است که به‌دست آوردید.

نکته حرفه‌ای: می‌توانید متادیتاهای استب‌استوب خود (مانند pay_period_end: "2025-07-15") را به تراکنش اضافه کنید تا ردپای حسابرسی آسان‌تری داشته باشید.


مثال ۲: پر کردن اظهارنامه (مشکل عبور سال)

سناریویی که مردم را سردرگم می‌کند این است: در آوریل ۲۰۲۵، شما در حال پر کردن مالیات ۲۰۲۴ خود هستید. پس از تمام کسرهای خود، متوجه می‌شوید که هنوز باید ۳,۰۰۰ دلار اضافه پرداخت کنید.

چگونه این را ثبت کنید؟ می‌خواهید هزینه به‌سوی ۲۰۲۴ محاسبه شود، اما پرداخت نقدی در ۲۰۲۵ انجام می‌شود. دو روش عالی برای این کار وجود دارد.

گزینه A: تعهدی دو‑مرحله‌ای دستی

این روش صرفاً با Beancount است، بدون نیاز به افزونه. یک فرآیند واضح دو‑مرحله‌ای است.

مرحله ۱: شناسایی هزینه در پایان سال مالیاتی.
در آخرین روز ۲۰۲۴، یک ورودی «true‑up» ایجاد می‌کنید. هنوز پولی جابه‌جا نمی‌شود؛ فقط هزینه را می‌شناسید و در یک حساب تعهدی موقت پارک می‌کنید.

2024-12-31 * "Federal income tax true-up for 2024"
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
Liabilities:AccruedTaxes:Federal:Income -3,000.00 USD

اکنون صورت سود و زیان ۲۰۲۴ شما این هزینه ۳,۰۰۰ دلاری را نشان می‌دهد.

مرحله ۲: ثبت پرداخت نقدی وقتی رخ می‌دهد.
در آوریل ۲۰۲۵، وقتی واقعاً پول را به IRS می‌فرستید، تعهد را پاک می‌کنید.

2025-04-15 * "IRS" "Payment for 2024 tax return"
Liabilities:AccruedTaxes:Federal:Income 3,000.00 USD
Assets:Cash:Checking -3,000.00 USD

گزارش‌های ۲۰۲۴ شما درست هستند و جریان نقدی ۲۰۲۵ نیز صحیح است. این همان الگو برای بازپرداخت هم کار می‌کند—فقط به جای حساب تعهدی از Assets:Tax:Receivable استفاده کنید.

گزینه B: خودکارسازی با افزونه

اگر ترجیح می‌دهید پرداخت را در یک تراکنش واحد بنویسید، افزونهٔ جامعه‌ای به نام beancount_reds_plugins.effective_date می‌تواند کمک کند. این افزونه به شما اجازه می‌دهد «effective date» متفاوتی برای یک خط آیتم تعیین کنید.

ابتدا افزونه را در فایل اصلی Beancount فعال کنید:
plugin "beancount_reds_plugins.effective_date"

سپس می‌توانید یک تراکنش واحد بنویسید. افزونه به‌صورت خودکار آن را پشت صحنه تقسیم می‌کند تا گزارش‌های شما دقیق باشند.

; یک ورودی؛ افزونه بقیه را مدیریت می‌کند
2025-04-15 * "IRS" "Payment for 2024 tax return"
Assets:Cash:Checking -3,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
effective_date: 2024-12-31

در اینجا بخش نقدی در ۱۵ آوریل ۲۰۲۵ ثبت می‌شود، اما بخش هزینه به‌صورت بازگشتی به ۳۱ دسامبر ۲۰۲۴ اعمال می‌شود. همان نتیجهٔ گزینه A را با جریان کاری متفاوت به‌دست می‌آورید.


مالیات فروش چه می‌شود؟

برای اکثر دفاتر شخصی، مالیات فروش ساده است. اگر آن را بازپس نمی‌گیرید، فقط در هنگام خرید به‌عنوان هزینهٔ جداگانه تقسیم کنید.

2025-07-19 * "Local Grocery Store"
Expenses:Groceries 12.32 USD
Expenses:Taxes:Sales 1.28 USD
Assets:Cash:Checking -13.60 USD

این کار به‌راحتی به شما نشان می‌دهد در طول سال چه مقدار برای مالیات فروش هزینه می‌کنید. اگر کسب‌وکاری دارید که با VAT سروکار دارد، از یک سیستم رسمی‌تر با حساب‌های پرداختی و دریافتنی استفاده می‌کنید، اما اصل همان است.


پرس‌و‌جوهایی که واقعاً اجرا می‌کنید

کلید این ساختار این است که به‌دست آوردن پاسخ‌ها آسان باشد. در اینجا چند پرس‌و‌جوی BQL برای دیدن تصویر مالیاتی شما آورده شده است.

۱. کل مالیات فدرال درآمدی من برای ۲۰۲۴ چقدر بود؟

SELECT cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01;

۲. آن مجموع چگونه بین کسرهای مالیاتی، پرداخت‌ها و بازپرداخت‌ها تقسیم می‌شود؟

SELECT account, cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01
GROUP BY account
ORDER BY account;

۳. آیا بدهی‌های مالیاتی یا دریافتنی‌های معوقی دارم؟ (برای بررسی کارتان مفید است!)

SELECT account, units(sum(position))
WHERE account "Liabilities:AccruedTaxes" OR account "Assets:Tax"
GROUP BY account
ORDER BY account;

اگر این پرس‌و‌جو مقادیر غیرصفر برگرداند، به این معناست که تعهداتی دارید که هنوز تسویه نشده‌اند.


پرسش‌های سریع

  • آیا واقعاً به حساب‌های سالانه مثل Expenses:Taxes:2024 نیاز دارم؟
    احتمالاً نه. روش تعهدی (یا افزونه) ساختار حسابی صاف و خوانا را حفظ می‌کند. فقط در صورتی حساب‌های سالانه بسازید که برای پرس‌و‌جوهای خاص شما مفید باشد.

  • آیا Beancount می‌تواند مالیات‌های من را محاسبه کند؟
    به‌صورت مستقیم نه، اما می‌تواند داده‌ها را آماده کند. برخی کاربران پیشرفته اسکریپت‌هایی می‌نویسند تا نتایج پرس‌و‌جوی BQL را به نرم‌افزارهای محاسبه مالیات بفرستند؛ این کار برای برآورد بدهی در طول سال بسیار مفید است.

  • آیا این مشاورهٔ مالیاتی است؟
    نه. این فقط یک الگوی حسابداری برای سازماندهی داده‌هاست. حسابداری صحیح است، اما برای مشاورهٔ خاص به وضعیت خود حتماً با یک متخصص مالیاتی مشورت کنید.


چک‌لیست آماده برای استفاده

آماده‌اید تا شروع کنید؟

  1. اسکلت حسابی را به فایل Beancount خود اضافه کنید (و نام‌ها را برای کشور خود تطبیق دهید).
  2. حقوق‌ها را ثبت کنید؛ ابتدا درآمد ناخالص را بنویسید و سپس مالیات‌ها را جدا کنید.
  3. در پایان سال، هر تعهدی را با استفاده از حساب تعهدی/دارایی ثبت کنید (یا از افزونهٔ effective_date استفاده کنید).
  4. بازپرداخت‌ها را به‌عنوان دریافتنی‌ها پیگیری کنید و وقتی پول رسید، حساب را پاک کنید.
  5. پرس‌و‌جوهای BQL بالا را اجرا کنید تا مجموعها را پیش از پر کردن اظهارنامه بررسی کنید.

ساده، منسجم و ثابت بمانید؛ و فصل مالیاتی شما در نهایت فقط بخشی دیگر از داستان مالی شما خواهد بود—نه معمایی برای حل.

هزینه‌های معوق در Beancount: راهنمای عملی (با مثال‌های دفترچه کپی-پیست)

· 8 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

هزینه‌های معوق تا زمانی که بسته شدن ماه‌ها شروع به انباشته شدن می‌کند، انتزاعی به نظر می‌رسند. این‌ها ستون فقرات حسابداری بر پایه تعهد صحیح هستند که اطمینان می‌دهند گزارش‌های مالی شما واقعیت اقتصادی را نشان می‌دهند، نه فقط زمان تغییر دست نقدی. در ادامه یک راهنمای واضح و مبتنی بر Beancount برای اینکه این هزینه‌ها چه هستند، چرا مهم‌اند و دقیقاً چگونه آن‌ها را در دفترچه متنی خود ثبت، معکوس و گزارش کنید، آورده شده است.

TL;DR ⚡

  • هزینه‌های معوق هزینه‌هایی هستند که در این دوره متحمل شده‌اید اما هنوز پرداخت نکرده‌اید. تا زمانی که نقدینگی خارج نشود به‌عنوان بدهی ثبت می‌شوند.
  • در Beancount این کار ساده است: یک حساب Expenses: را بدهکار و یک حساب Liabilities:Accrued: را بستانکار می‌کنید. بعداً وقتی پرداخت می‌کنید بدهی را پاک می‌کنید.
  • برای گزارش می‌توانید با اجرای bean-query همراه با CLOSE ON و CLEAR، مانیتی از ترازنامه در تاریخ مشخصی بگیرید.

2025-08-24-accrued-expenses-in-beancount-a-practical-guide

هزینه معوق چیست؟

هزینه معوق هزینه‌ای است که کسب‌وکار آن را متحمل شده اما هنوز پرداخت نکرده است. این هزینه زمانی ثبت می‌شود که سرویس دریافت شده یا هزینه متحمل شده باشد، حتی اگر فاکتور هنوز نرسیده یا پرداخت هنوز موعدش نرسیده باشد. این روش مطابق با اصل تطبیق در حسابداری بر پایه تعهد است که می‌گوید هزینه‌ها باید در همان دوره‌ای که درآمدهای مرتبط را تولید کرده‌اند ثبت شوند.

نمونه‌های رایج شامل:

  • دستمزدهای کارمندان که در پایان ماه کسب شده‌اند اما در ماه بعد پرداخت می‌شوند.
  • آب و برق که در دسامبر مصرف شده‌اند اما تا ژانویه صورتحساب نمی‌شود.
  • بهره وام که در طول ماه انباشته شده اما هنوز از حساب شما برداشت نشده است.

با ثبت این هزینه‌ها در زمان وقوع، تصویر دقیق‌تری از عملکرد مالی شرکت در آن دوره به دست می‌آورید.

نگاه Beancount به این موضوع (در ۳۰ ثانیه)

Beancount یک سیستم حسابداری دوطرفه مبتنی بر متن ساده است. همه چیز یک دستور یا تراکنش تاریخ‌دار در یک فایل متنی است. سیستم بر پایه پنج نوع حساب اصلی ساخته شده است: Assets, Liabilities, Equity, Income, و Expenses.

ورودی‌ها همیشه بر اساس تاریخ مرتب می‌شوند. نکته مهم این است که بررسی‌های balance قبل از پردازش تراکنش‌های همان روز انجام می‌شود. این برای زمانی که بررسی‌ها و ورودی‌های معکوس می‌گذارید، اهمیت دارد.

در نهایت، زبان bean-query روشی قدرتمند شبیه SQL برای تولید گزارش‌ها فراهم می‌کند. با عملگرهایی مثل OPEN ON, CLOSE ON و CLEAR می‌توانید نماهای دقیق «به تاریخ» برای صورت‌های مالی بسازید.

نمودار حساب‌ها (پیشنهادی)

یک نمودار حساب‌های تمیز و سلسله‌مراتبی بهترین دوست شماست. برای هزینه‌های معوق، ساختار به‌سادگی قابل‌درک است. شما به موارد زیر نیاز دارید:

  • یک حساب هزینه: به عنوان مثال Expenses:Utilities, Expenses:Payroll:Wages
  • یک حساب بدهی متناظر: به عنوان مثال Liabilities:Accrued:Utilities, Liabilities:Accrued:Payroll
  • حساب نقدی شما: به عنوان مثال Assets:Bank:Checking

Beancount پنج نوع حساب سطح‑بالا را تحمیل می‌کند. نگه داشتن نام‌های حساب به‌صورت منظم، پرس‌و‌جو و گزارش‌گیری را در آینده بسیار ساده می‌کند.

الگوی اصلی (بدون افزونه، بدون جادو)

این مستقیم‌ترین روش برای مدیریت تعهدات در Beancount است. دو گام شامل تعهد هزینه در پایان ماه و پاک‌سازی بدهی هنگام پرداخت می‌شود.

گام ۱: تعهد هزینه در پایان ماه

در آخرین روز دوره، هزینه را ثبت کرده و بدهی را ایجاد می‌کنید.

2025-02-28 * "Accrue February electricity" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

گام ۲: پاک‌سازی تعهد هنگام پرداخت

زمانی که فاکتور می‌آید و پرداخت می‌کنید، دیگر حساب هزینه را دوباره استفاده نمی‌کنید. به‌جای آن، حساب بدهی را بدهکار می‌کنید تا پاک شود.

2025-03-05 * "Pay Feb electricity - City Power"
Liabilities:Accrued:Utilities 120.00 USD
Assets:Bank:Checking

این ساده‌ترین روش برای تیم‌های کوچک است. هزینه در فوریه به‌درستی ثبت می‌شود و در مارس دوبار محاسبه نمی‌شود. توجه داشته باشید که در Beancount، گذاشتن مقدار خالی باعث می‌شود سیستم به‌صورت خودکار تراکنش را متعادل کند.

جایگزین: ورودی معکوس در روز اول

اگر سبک کلاسیک «معکوس خودکار» را ترجیح می‌دهید، می‌توانید معکوس ورودی تعهد را در اولین روز ماه بعدی ثبت کنید. سپس فاکتور واقعی فروشنده را همان‌طور که معمولاً می‌کنید، به حساب هزینه بگذارید.

گام ۱: تعهد در پایان ماه (همان‌طور که قبلاً)

2025-02-28 * "Accrue February electricity" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

گام ۲: معکوس در اولین روز ماه بعد

2025-03-01 * "Reverse Feb electricity accrual" #reversal
Liabilities:Accrued:Utilities 120.00 USD
Expenses:Utilities

گام ۳: ثبت پرداخت به‌صورت معمول

2025-03-05 * "City Power - February bill"
Expenses:Utilities 120.00 USD
Assets:Bank:Checking

نکته درباره بررسی‌ها: به‌خاطر داشته باشید که بررسی‌های balance قبل از تراکنش‌های همان روز ارزیابی می‌شوند. اگر می‌خواهید مانده حساب Liabilities:Accrued:Utilities را بررسی کنید، بررسی را در 2025-02-28 قرار دهید تا تعهد را تأیید کنید یا در 2025-03-01 بعد از ورودی معکوس تا صفر باشد. قرار دادن آن قبل از معکوس در 2025-03-01 منجر به شکست نادرست می‌شود.

شش تعهد رایج (الگوهای کپی‑پیست) 📋

در ادامه مثال‌های آماده برای تعهدهای رایج کسب‌وکار آورده شده است.

۱. اجاره‌ای که هنوز فاکتور نشده

2025-01-31 * "Accrue January rent" #accrual
Expenses:Rent 3000.00 USD
Liabilities:Accrued:Rent

۲. دستمزدهای کسب‌شده اما پرداخت‌نشده

2025-03-31 * "Accrue March wages" #accrual
Expenses:Payroll:Wages 8500.00 USD
Liabilities:Accrued:Payroll

۳. پرداخت مرخصی (PTO) کسب‌شده

2025-03-31 * "Accrue PTO earned in March" #accrual
Expenses:Payroll:PTO 900.00 USD
Liabilities:Accrued:Payroll

۴. بهره انباشته بر وام

2025-02-29 * "Accrue monthly loan interest" #accrual
Expenses:Interest 210.00 USD
Liabilities:Accrued:Interest

۵. هزینه‌های حرفه‌ای (حسابرسی/حقوقی)

2025-12-31 * "Accrue year-end audit fees" #accrual
Expenses:Professional:Audit 4200.00 USD
Liabilities:Accrued:Professional

۶. آب و برق مصرف‌شده اما هنوز فاکتور نشده

2025-04-30 * "Accrue April utilities" #accrual
Expenses:Utilities 95.00 USD
Liabilities:Accrued:Utilities

گزارش‌گیری: «چه مقدار بدهکارم تا تاریخ معینی؟»

bean-query ابزار شما برای یافتن پاسخ‌هاست. در اینجا نحوه دریافت یک تصویر دقیق از ترازنامه برای هزینه‌های معوق آورده شده است.

دریافت تمام مانده‌های بدهی معوق در پایان دوره

این پرس‌و‌جو مانده هر حساب بدهی معوق را تا ۳۱ مارس ۲۰۲۵ نشان می‌دهد.

bean-query main.beancount '
SELECT account, UNITS(SUM(position)) AS balance
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued"
GROUP BY 1
ORDER BY 1;
'
  • OPEN ON بالانس‌های شروع دوره را تنظیم می‌کند.
  • CLOSE ON تراکنش‌ها را قبل از این تاریخ قطع می‌کند (به‌صورت انحصاری). به همین دلیل از 2025-04-01 استفاده می‌کنیم تا داده‌ها تا و شامل 2025-03-31 باشند.
  • CLEAR درآمدها و هزینه‌ها را صفر می‌کند تا نمایی تمیز از ترازنامه (دارایی‌ها، بدهی‌ها، حقوق صاحبان سهام) داشته باشید.

مشاهده ثبت تمام ورودی‌های معوق

اگر می‌خواهید تاریخچهٔ خام تراکنش‌های حساب‌های معوق را ببینید:

bean-query main.beancount '
SELECT date, payee, narration, position
WHERE account "^Liabilities:Accrued"
ORDER BY date;
'

دریافت مجموع کلی تمام معوق‌ها

برای یک خلاصهٔ سریع از کل مبلغی که بدهکار هستید:

bean-query main.beancount '
SELECT UNITS(SUM(position)) AS total_accruals
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued";
'

کنترل‌ها و «نکات» خاص Beancount

  • زمان‌بندی بررسی‌های بالانس: همان‌طور که گفته شد، بررسی‌ها در شروع روز انجام می‌شوند. 2025-03-01 balance … قبل از هر تراکنش در همان روز اجرا می‌شود. برنامه‌ریزی مناسب ضروری است.
  • نام‌گذاری و سلسله‌مراتب: درخت منظم مانند Liabilities:Accrued:* فقط برای ظاهر نیست؛ پرس‌و‌جوها را ساده می‌کند و گزارش‌ها را بلافاصله قابل‌فهم می‌سازد.
  • استفاده محتاطانه از Pad: دستور pad می‌تواند بالانس‌های افتتاحیه را تنظیم کند، اما از استفادهٔ آن برای «رفع» تعهدات مکرر خودداری کنید. ورودی‌های صریح ردپای حسابرسی واضح‌تری می‌گذارند.
  • گزارش‌گیری به‌صورت «به تاریخ»: برای تصاویر ترازنامه، همیشه از ترکیب OPEN … CLOSE … CLEAR در bean-query استفاده کنید. این کار از آلودگی مجموع بدهی‌ها توسط حساب‌های درآمد و هزینه جلوگیری می‌کند.

پیش‌پرداخت در مقابل معوق (مقایسهٔ سریع)

آسان است که این دو را با هم اشتباه بگیرید؛ آن‌ها تصویرهای آینه‌ای یکدیگرند:

  • هزینه معوق: سرویس اکنون مصرف شده، نقدینگی بعداً پرداخت می‌شود. این یک بدهی ایجاد می‌کند.
  • هزینه پیش‌پرداخت: نقدینگی اکنون پرداخت می‌شود، سرویس بعداً مصرف می‌شود. این یک دارایی ایجاد می‌کند.

منطق حسابداری در Beancount یکسان است؛ فقط حساب‌ها متفاوتند (Assets:Prepaid:* در مقابل Liabilities:Accrued:*).

قالب آماده (در ابتدای فایل)

در ادامه دستورات open مورد نیاز برای مثال‌های این مقاله آورده شده است. یک‌بار این خطوط را در بالای فایل دفترچهٔ خود اضافه کنید.

; --- Accounts (open once) ---
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Expenses:Utilities
2025-01-01 open Expenses:Payroll:Wages
2025-01-01 open Expenses:Interest
2025-01-01 open Expenses:Professional:Audit
2025-01-01 open Liabilities:Accrued:Utilities
2025-01-01 open Liabilities:Accrued:Payroll
2025-01-01 open Liabilities:Accrued:Interest
2025-01-01 open Liabilities:Accrued:Professional

نکات نهایی

اگر دفاتر خود را بر پایه نقدی نگه می‌دارید، اصلاً تعهدی ثبت نمی‌کنید—هزینه‌ها دقیقاً زمانی که پرداخت می‌شوند ثبت می‌شوند. اگر بر پایه تعهدی کار می‌کنید، استفاده از الگوهای بالا برای تطبیق هزینه‌ها با دوره‌ای که سرویس را مصرف کرده‌اید، ضروری است.

این مثال‌ها راهنمای کلی آموزشی هستند. برای موارد خاص صنعتی—به‌ویژه پاداش‌ها، مالیات‌های حقوقی و آستانه‌های سرمایه‌گذاری—همیشه با حسابدار خود مشورت کنید.

استهلاک انباشته (برای Beancount): راهنمای عملی، متن‑ساده

· 8 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

اگر دارایی‌های ثابت را در حسابداری خود پیگیری می‌کنید — لپ‌تاپ، دوربین، ماشین‌آلات یا حتی مبلمان اداری — کتاب‌های شما باید کاهش ارزش آن‌ها را نشان دهد. این شامل دو مفهوم کلیدی است: استهلاک (هزینه) و مجموع جاری آن، استهلاک انباشته. این راهنما هر دو را به زبان ساده توضیح می‌دهد و سپس دقیقاً نشان می‌دهد چگونه آن‌ها را در Beancount مدل‌سازی کنید با مثال‌های قابل کپی‑پیست، شامل گزینه‌های قدرتمند خودکارسازی.


2025-08-23-accumulated-depreciation

استهلاک انباشته چیست؟

استهلاک انباشته مجموع کل استهلاکی است که از زمان به‌کارگیری دارایی ثبت شده است. آن را به‌عنوان یک شمارش جاری در نظر بگیرید. این یک نوع هزینه جدید نیست — فقط مجموع تا به امروز تمام هزینه‌های استهلاک برای آن دارایی است.

در صورت‌های مالی، استهلاک انباشته همراه با قیمت اولیه دارایی نمایش داده می‌شود. این به هرکسی که کتاب‌های شما را می‌خواند امکان می‌دهد هم هزینه تاریخی (قیمت خرید) و هم ارزش دفتری خالص (ارزش فعلی در کتاب‌ها) را ببیند.

یک نکته مهم این است که استهلاک انباشته یک حساب ضد‑دارایی است. شاید پیچیده به‌نظر برسد، اما ایده‌ای ساده است:

  • این یک حساب «دارایی» است، بنابراین در بخش Assets نمودار حساب‌ها قرار می‌گیرد.
  • اما دارای مانده بستان است (یک مقدار منفی در حساب‌های دارایی Beancount)، که ارزش دارایی ثابت مربوطه را کاهش می‌دهد.

در ترازنامه کجا ظاهر می‌شود؟

استهلاک انباشته معمولاً مستقیماً زیر دارایی ثابت مربوطه در ترازنامه قرار می‌گیرد. برای مثال:

Equipment: Computers$3,000.00
کسر: استهلاک انباشته($1,000.00)
Equipment: Computers, Net$2,000.00

بسیاری از صورت‌های مالی این را به‌صورت یک خط واحد نشان می‌دهند مانند «اموال، کارخانه و تجهیزات، خالص». این عدد واحد مجموع هزینه تاریخی تمام دارایی‌ها منهای مجموع استهلاک انباشته آن‌هاست و ارزش دفتری خالص نهایی را می‌دهد.


استهلاک را چگونه محاسبه می‌کنیم؟

روش‌های متعددی برای محاسبه استهلاک وجود دارد. روشی که انتخاب می‌کنید تعیین می‌کند چه مقدار هزینه در هر دوره ثبت می‌کنید که به نوبه خود به مجموع استهلاک انباشته اضافه می‌شود. دو دسته رایج روش‌ها عبارتند از:

  • خط مستقیم (SL): ساده‌ترین و رایج‌ترین روش برای اهداف حسابداری است. شما مقدار مساوی از ارزش دارایی را در هر دوره از عمر مفید آن هزینه می‌کنید. برای مثال، یک لپ‌تاپ ۳,۰۰۰ دلاری با عمر مفید ۳۶ ماه (۳ سال) به‌صورت $83.33 در هر ماه استهلاک می‌شود.
  • روش‌های مالیاتی (مثلاً MACRS در ایالات متحده): برای مقاصد مالیاتی، دولت‌ها جدول‌های تسریع‌شده‌ای تعریف می‌کنند. در ایالات متحده، سیستم بازپرداخت هزینه تسریع‌شده اصلاح‌شده (MACRS) به شما اجازه می‌دهد در سال‌های اولیه عمر دارایی استهلاک‌های بزرگ‌تری بگیرید. Beancount به‌راحتی می‌تواند این جدول‌ها را مدیریت کند — کافی است مقادیر را بر اساس جداول رسمی (مانند جدول‌های موجود در IRS Publication 946) محاسبه کنید و ورودی‌های دفتر روزنامه مربوطه را تولید کنید.

فرمول (خط مستقیم)

استهلاک دوره‌ای = هزینهارزش باقی‌ماندهعمر مفید\frac{\text{هزینه} - \text{ارزش باقی‌مانده}}{\text{عمر مفید}}

استهلاک انباشته (در تاریخ t) = (استهلاک دوره‌ای تا t)\sum (\text{استهلاک دوره‌ای تا } t)

ارزش باقی‌مانده مقدار تخمینی است که دارایی در پایان عمر مفید خود دارد. برای سادگی، اغلب فرض می‌شود صفر باشد.


روش Beancount: مدل‌سازی هزینه و استهلاک انباشته

برای پیگیری صحیح دارایی‌های ثابت در Beancount در حالی که هزینه تاریخی آن‌ها را حفظ می‌کنید، از یک جفت حساب دارایی برای هر دسته استفاده می‌کنید، به‌علاوه یک حساب هزینه.

  • Assets:Equipment:Computers:Cost (برای نگهداری هزینه تاریخی)
  • Assets:Equipment:Computers:AccumDep (ضد‑دارایی که به‌تدریج بستان می‌شود)
  • Expenses:Depreciation:Computers (برای ثبت هزینه دوره‌ای)

این ساختار بازتاب‌دهندهٔ استانداردهای حسابداری است و روش پیشنهادی برای مدیریت استهلاک دارایی‌های ثابت در Beancount می‌باشد.


گزینه A: ورودی‌های دستی خط مستقیم

این مستقیم‌ترین روش است. شما تمام ورودی‌ها را کنترل می‌کنید که برای درک مکانیک‌ها عالی است.

1. باز کردن حساب‌های مورد نیاز

2025-01-01 open Assets:Bank:Checking
2025-01-01 open Assets:Equipment:Computers:Cost
2025-01-01 open Assets:Equipment:Computers:AccumDep
2025-01-01 open Expenses:Depreciation:Computers

2. ثبت خرید (به هزینه تاریخی)

زمانی که دارایی را می‌خرید، حساب Cost را بدهکار می‌کنید.

2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

3. ثبت استهلاک ماهانه

هر ماه استهلاک را ثبت می‌کنید. برای دارایی ۳,۰۰۰ دلاری در ۳۶ ماه، استهلاک ماهانه 3000÷36=83.333000 \div 36 = 83.33 دلار است.

این تراکنش شامل بدهکار کردن حساب هزینه و بستانکار کردن حساب ضد‑دارایی است.

2025-02-28 * "Monthly depreciation - MacBook Pro (SL 36mo)"
Expenses:Depreciation:Computers 83.33 USD
Assets:Equipment:Computers:AccumDep -83.33 USD ; این بستانکاری به حساب ضد‑دارایی است

این ورودی را به‌صورت ماهیانه به مدت ۳۶ ماه تکرار می‌کنید. ماندهٔ Assets:Equipment:Computers:AccumDep به‌تدریج منفی‌تر می‌شود و ارزش دفتری خالص دارایی را کاهش می‌دهد.

بررسی سریع: می‌توانید ارزش خالص را در ترازنامهٔ Fava یا با اجرای یک پرس‌وجو سریع بررسی کنید:

bean-query myledger.bean "SELECT account, SUM(position) WHERE account   'Assets:Equipment:Computers:(Cost|AccumDep)' GROUP BY account"

جمع ماندهٔ این دو حساب، ارزش دفتری خالص شماست.


گزینه B: خودکارسازی با افزونهٔ amortize در Fava

اگر از Fava (رابط وب محبوب برای Beancount) استفاده می‌کنید و استهلاک شما مقدار ثابت ماهانه دارد، می‌توانید آن را خودکار کنید.

ابتدا افزونه را در بالای فایل Beancount فعال کنید:

plugin "fava.plugins.amortize_over"

سپس یک تراکنش واحد تعریف کنید که کل برنامهٔ استهلاک را مشخص می‌کند.

; 1. ثبت خرید اولیه همان‌طور که معمول است
2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

; 2. تنظیم برنامهٔ استهلاک
2025-01-20 * "Depreciation schedule - MacBook Pro"
amortize_months: 36
Expenses:Depreciation:Computers 3000.00 USD
Assets:Equipment:Computers:AccumDep -3000.00 USD

افزونه این تراکنش را می‌بیند و به‌صورت پست‌های مجازی ماهانه به‌مقدار 83.33 دلار برای ۳۶ ماه تولید می‌کند. این ورودی‌ها در فایل .bean شما نوشته نمی‌شوند اما در تمام گزارش‌ها ظاهر می‌شوند. این روش برای استهلاک خط مستقیم مناسب است اما برای برنامه‌های نامنظم مانند MACRS کار نمی‌کند.


گزینه C: تولید ورودی‌های دوره‌ای با افزونهٔ شخص ثالث

اگر می‌خواهید تراکنش‌های واقعی (غیرمجازی) در فایل‌ها نوشته شوند ولی همچنان خودکارسازی داشته باشید، یک مولد ورودی دوره‌ای گزینهٔ خوبی است. یکی از محبوب‌ترین‌ها beancount-periodic توسط Dallas Lu است. این افزونه می‌تواند به‌صورت خودکار پست‌های تاریخ‌دار ایجاد کند و ترکیبی از کنترل دستی و راحتی خودکار را فراهم می‌آورد.


مشاهده نتایج: هزینه، استهلاک انباشته و ارزش دفتری خالص

صرف‌نظر از روشی که انتخاب می‌کنید، ترازنامهٔ شما هر دو حساب Cost و AccumDep را زیر بخش دارایی‌ها نشان می‌دهد. مجموع این دو، ارزش دفتری خالص شماست. این نمایش — هزینهٔ کل منهای استهلاک انباشته — دقیقاً همان چیزی است که حسابداران و تحلیل‌گران مالی انتظار دارند. شفافیت کامل دربارهٔ سن و ارزش دارایی‌ها را فراهم می‌کند.


حذف دارایی (فروش، ضایعات یا بازنشستگی)

زمانی که دارایی به پایان عمر خود می‌رسد، یا می‌فروشید، یا ضایعات می‌کنید یا بازنشسته می‌کنید. برای حذف آن از دفاتر باید:

  1. هزینهٔ تاریخی آن را حذف کنید.
  2. استهلاک انباشتهٔ مرتبط را حذف کنید.
  3. هر نقدی که دریافت شده را ثبت کنید.
  4. سود یا زیان حاصل (تفاوت بین نقد دریافتی و ارزش دفتری خالص) را ثبت کنید.

مثال: فروش دارایی با سود

فرض کنید MacBook Pro را در ۱۵ ژوئن ۲۰۲۷ می‌فروشید.

  • هزینهٔ اولیه: ۳,۰۰۰ دلار
  • استهلاک انباشته در زمان فروش: -۲,۵۰۰ دلار
  • ارزش دفتری خالص: ۳,۰۰۰ − ۲,۵۰۰ = ۵۰۰ دلار
  • مبلغ فروش: ۸۰۰ دلار
  • سود فروش: ۸۰۰ − ۵۰۰ = ۳۰۰ دلار

تراکنش Beancount برای ثبت این خروج:

2027-06-15 * "Sell MacBook Pro"
Assets:Bank:Checking 800.00 USD ; نقد دریافت شده
Assets:Equipment:Computers:AccumDep 2500.00 USD ; بدهکار برای صفر کردن ضد‑دارایی
Assets:Equipment:Computers:Cost -3000.00 USD ; بستانکار برای حذف هزینهٔ تاریخی
Income:Gains:AssetDisposals -300.00 USD ; بستانکار برای ثبت سود

اگر مبلغ دریافت شده تنها ۴۰۰ دلار (زیان ۱۰۰ دلاری) بود، اختلاف را به حساب Expenses:Losses:AssetDisposals با مقدار مثبت (بدهکار) می‌نویسید.


پرسش‌های متداول (Fast)

  • آیا استهلاک انباشته یک دارایی یا بدهی است؟
    هیچ‌کدام. این یک ضد‑دارایی است. در بخش دارایی‌های ترازنامه قرار دارد اما ماندهٔ بستان دارد که ارزش کل دارایی را کاهش می‌دهد.

  • آیا پس از خرید باید حساب Cost را بستانکار کنم؟
    نه. هزینهٔ تاریخی را به‌عنوان بدهکار ثبت می‌کنید؛ بستانکار کردن فقط هنگام حذف دارایی انجام می‌شود.

  • آیا می‌توانم مقادیر را به‌صورت مستقیم در کدهای حسابی تغییر دهم؟
    بله، اما نام حساب‌ها (مانند Assets:Equipment:Computers:Cost) باید همان‌طور باقی بمانند تا با سایر ورودی‌ها سازگار باشند.

  • آیا می‌توانم از کپی‑پیست برای مثال‌ها استفاده کنم؟
    بله، تمام مثال‌های این راهنما به‌صورت متن سادهٔ قابل کپی‑پیست ارائه شده‌اند.

  • آیا افزونهٔ amortize می‌تواند استهلاک MACRS را مدیریت کند؟
    نه؛ برای برنامه‌های تسریع‌شده مالیاتی باید ورودی‌ها را به‌صورت دستی یا با استفاده از افزونهٔ دوره‌ای مانند beancount‑periodic ایجاد کنید.


نکات کلیدی

  • استهلاک انباشته یک حساب ضد‑دارایی است که ماندهٔ بستان دارد.
  • حساب‌های Cost و AccumDep باید به‌صورت جداگانه باز شوند و در طول زمان بروز شوند.
  • کدهای Beancount (حساب‌ها، افزونه‌ها، پرس‌وجوها) بدون تغییر باقی می‌مانند.
  • برای گزارش‌های مالی دقیق، همیشه ارزش دفتری خالص را (مجموع Cost + AccumDep) بررسی کنید.

مثال‌های قابل کپی‑پیست

در ادامه چند مثال دیگر برای انواع دارایی‌ها آورده شده است. فقط کافی است نام حساب‌ها را مطابق نیاز خود تغییر دهید؛ منطق باقی می‌ماند.

2025-03-15 * "Purchase Office Desk"
Assets:Office:Desk:Cost 1200.00 USD
Assets:Bank:Checking -1200.00 USD

2025-04-01 * "Monthly depreciation - Office Desk (SL 48mo)"
Expenses:Depreciation:OfficeDesk 25.00 USD
Assets:Office:Desk:AccumDep -25.00 USD

منابع بیشتر

با این راهنما می‌توانید استهلاک انباشته را به‌دقت در سیستم حسابداری Beancount خود پیاده‌سازی کنید و ارزش واقعی دارایی‌های ثابت را به‌صورت شفاف و خودکار مدیریت نمایید.

آیا می‌توانم هزینه استخدام یک کارمند را بپردازم؟

· 8 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

راهنمایی مبتنی بر Beancount برای مدل‌سازی هزینه واقعی، آزمون جریان نقدی و ادغام آن در دفترکل شما.

استخدام اولین کارمند گامی بزرگ است. این یک شرط‌بندی برای آینده‌تان است، اما همچنین تعهد مالی قابل‌توجهی است که فراتر از عددی که در نامه پیشنهادی می‌بینید می‌رود. بسیاری از بنیان‌گذاران و صاحبان کسب‌وکارهای کوچک فقط به حقوق نگاه می‌کنند و سپس با هزینه «کاملاً بارگذاری‌شده» واقعی شگفت‌زده می‌شوند.

2025-08-22-can-i-afford-to-hire-an-employee

این راهنما به شما نشان می‌دهد چگونه هزینه را به‌دقت مدل‌سازی کنید، بررسی کنید آیا واقعاً توان پرداخت آن را دارید یا نه، و سپس آن مدل را مستقیماً به دفترکل Beancount خود متصل کنید تا تصمیم را قبل از انتشار آگهی شغلی بدون ریسک کنید.

خلاصهٔ سریع

  • به فقط حقوق اکتفا نکنید. در ایالات متحده، هزینه واقعی شامل مالیات‌های حقوق کارفرما (Social Security، Medicare، FUTA/SUTA)، مزایا، بیمه، ابزارها و هزینه‌های جذب است. برای بخش خصوصی، مزایا به‌تنهایی حدود ۳۰ ٪ از کل جبران‌خدمات را تشکیل می‌دهند که نشان‌دهندهٔ ضریب ۱٫۴۲× «کاملاً بارگذاری‌شده» نسبت به دستمزد است. این مقدار بسته به شرکت و مکان می‌تواند متفاوت باشد.
  • قانون‌موردی سریع برای شروع: هزینهٔ کاملاً بارگذاری‌شده ≈ حقوق + مالیات‌های حقوق کارفرما + مزایا + بیمه + ابزار/نرم‌افزار + جذب/آموزش.
  • از Beancount برای کاهش ریسک استفاده کنید. یک بودجه ماهانه برای حقوق در دفترکل خود با ویژگی بودجه‌گذاری Fava ایجاد کنید. سپس می‌توانید پیش‌بینی کنید تا مسیر مالی، حاشیه سود و دوره بازگشت سرمایه برای این نقش را پیش از تصمیم‌گیری بررسی کنید.

۱) چه چیزی هزینه «کاملاً بارگذاری‌شده» را ایجاد می‌کند؟

حقوق یک کارمند را به نوک یک یخ‌بندان تشبیه کنید. بخش قابل‌مشاهده ساده است، اما هزینه‌های زیرآب همان چیزی است که می‌تواند جریان نقدی شما را غرق کند اگر آماده نباشید. در ادامه جزئیات را می‌بینید.

  • دستمزد پایه (Wages/Salary): این بخش ساده است—حقوق سالانه یا ساعتی توافق‌شده. بزرگ‌ترین ردیف هزینه است، اما فقط نقطهٔ شروع است.

  • مالیات‌های حقوق کارفرما (ایالات متحده): شما فقط به کارمند پول نمی‌پردازید؛ باید مالیات‌های مربوط به حقوق او را نیز بپردازید. به‌عنوان کارفرما، مسئول موارد زیر هستید:

    • Social Security (OASDI): ۶٫۲ ٪ از حقوق کارمند تا سقف سالانه پرداخت می‌کنید. برای سال ۲۰۲۵، این سقف ۱۷۶,۱۰۰ $ است.
    • Medicare (HI): ۱٫۴۵ ٪ از تمام حقوق کارمند، بدون سقف درآمد، پرداخت می‌شود.
    • مالیات‌های بیکاری (FUTA & SUTA): مالیات فدرال بیکاری (FUTA) ۶.۰ ٪ بر اولین ۷,۰۰۰ $ حقوق است. اما اکثر کارفرمایان اعتبار مالیاتی برای پرداخت مالیات بیکاری ایالتی (SUTA) دریافت می‌کنند که نرخ مؤثر FUTA را به ۰٫۶ ٪ می‌رساند. نرخ‌های SUTA بسته به ایالت و تاریخچه شرکت متفاوت است.
  • مزایا: این معمولاً دومین هزینه بزرگ است. شامل بیمه سلامت، مشارکت‌های بازنشستگی (مثلاً مطابقت ۴۰۱(k)) و مرخصی‌های پرداخت‌شده می‌شود. در بخش خصوصی ایالات متحده، مزایا به‌طور متوسط حدود ۳۰ ٪ از کل جبران‌خدمات است. برای مثال، پریمیوم متوسط سالانه برای بیمه سلامت کارفرما در ۲۰۲۴ برابر ۸,۹۵۱ برایپوششتک‌نفرهو۲۵,۵۷۲برای پوشش تک‌نفره و ۲۵,۵۷۲ برای پوشش خانوادگی بود. در حالی که کارمندان سهمی دارند، کارفرما معمولاً بخش عمده را پوشش می‌دهد.

  • بیمه جبران‌خطر کارگران: این بیمه در تقریباً تمام ایالات قانونی است و هزینه‌های پزشکی و دستمزدهای از دست رفته را در صورت صدمه کارمند در محل کار پوشش می‌دهد. نرخ‌ها بسته به ایالت، صنعت و نقش کارمند متفاوت است (کارمند اداری هزینه کمتری نسبت به کارگر ساختمانی دارد). برای این هزینه صفر برنامه‌ریزی نکنید.

  • ابزارها و هزینه‌های عمومی: کارمند جدید به تجهیزات مناسب برای انجام کارش نیاز دارد. این شامل لپ‌تاپ، لایسنس‌های نرم‌افزار (صندلی‌های SaaS)، میز کاری (اگر دفتر دارید) و خود نرم‌افزار پردازش حقوق می‌شود. یک سرویس پردازش حقوق معمولی برای کسب‌وکارهای کوچک حدود ۴۹–۵۰ به‌عنوانهزینهپایه،به‌اضافه۶–۱۰به‌عنوان هزینه پای�ه، به‌اضافه ۶–۱۰ به‌ازای هر کارمند در هر ماه هزینه دارد.

  • استخدام و دورهٔ آموزش: هزینه‌های یک‌باره را فراموش نکنید. این شامل هزینه‌های آگهی شغلی، زمان شما برای مصاحبه و مهم‌تر از همه، دورهٔ آموزش است. یک کارمند جدید ممکن است ۱ تا ۳ ماه طول بکشد تا به بهره‌وری کامل برسد؛ در این مدت شما هزینهٔ کامل او را برای خروجی جزئی می‌پردازید.


۲) مثال عددی

بیایید این را ملموس کنیم. فرض کنید یک کارمند در ایالات متحده با حقوق ۸۰,۰۰۰ $ استخدام می‌کنید. قصد دارید بیمه سلامت تک‌نفره ارائه دهید و ۸۴ ٪ از پریمیوم متوسط ملی را بپردازید.

هزینهٔ سالانه به این شکل تقسیم می‌شود:

  • مالیات‌های حقوق کارفرما:

    • Social Security (OASDI): ۸۰,۰۰۰ ×۶٫۲٪=۴,۹۶۰× ۶٫۲ ٪ = ۴,۹۶۰
    • Medicare: ۸۰,۰۰۰ ×۱٫۴۵٪=۱,۱۶۰× ۱٫۴۵ ٪ = ۱,۱۶۰
    • FUTA (نرخ مؤثر): ۷,۰۰۰ ×۰٫۶٪=۴۲× ۰٫۶ ٪ = ۴۲
    • جمع مالیات‌های کارفرما: ۶,۱۶۲ $
  • بیمه سلامت (سهم کارفرما):

    • با استفاده از پریمیوم متوسط ۲۰۲۴ برای پوشش تک‌نفره (۸,۹۵۱ )وسهم۸۴٪:۸,۹۵۱) و سهم ۸۴ ٪: ۸,۹۵۱ × ۰٫۸۴ = ۷,۵۱۹ درسال(یا۶۲۷در سال** (یا **۶۲۷ در ماه).
  • نرم‌افزار و ابزارهای پردازش حقوق:

    • نرم‌افزار حقوق: (۵۰ پایه+۶پایه + ۶ به‌ازای هر کارمند) × ۱۲ ماه = ۶۷۲ $ در سال.
    • ابزارها/لپ‌تاپ/ساز نرم‌افزار (تقریبی): ۲,۰۰۰ $ در سال.

جمع‌بندی:

موردهزینهٔ سالانه
حقوق۸۰,۰۰۰ $
مالیات‌های کارفرما۶,۱۶۲ $
بیمه سلامت۷,۵۱۹ $
نرم‌افزار حقوق۶۷۲ $
ابزارها و لپ‌تاپ۲,۰۰۰ $
کل هزینهٔ سالانه۹۶,۳۵۳ $
هزینهٔ ماهانه۸,۰۲۹ $

در این سناریو، هزینهٔ «کاملاً بارگذاری‌شده» ۹۶,۳۵۳ استکه۱٫۲×حقوقپایهمی‌شود.اینبستهٔمزایانسبتاًکم‌هزینهاست.اگر۴۰۱(k)مطابقت،مرخصی‌هایپرداخت‌شدهٔسخاوتمندانهیاپوششسلامتخانوادگیرااضافهکنید،بهراحتیمی‌توانیدبهضریبمتوسطملی۱٫۴۲×برسید.برایحقوق۸۰k،اینبهمعنایهزینهٔکلحدود۱۱۳,۸۰۰** است که **۱٫۲×** حقوق پایه می‌شود. این بستهٔ مزایا نسبتاً کم‌هزینه است. اگر ۴۰۱(k) مطابقت، مرخصی‌های پرداخت‌شدهٔ سخاوتمندانه یا پوشش سلامت خانوادگی را اضافه کنید، به راحتی می‌توانید به ضریب متوسط ملی **۱٫۴۲×** برسید. برای حقوق ۸۰k، این به معنای هزینهٔ کل حدود **۱۱۳,۸۰۰ است.

نتیجه‌گیری: هزینهٔ واقعی شما احتمالاً بین ۱٫۲× (کم‌هزینه) و ۱٫۴×+ (پوشش گسترده) حقوق پایه خواهد بود. برای دانستن دقیق، اعداد خود را محاسبه کنید.


۳) «آیا می‌توانم آن را بپردازم؟» — سه آزمون عملی

حالا که هزینهٔ ماهانهٔ واقعی (۸,۰۲۹ $) را دارید، چگونه می‌توانید مطمئن شوید که می‌توانید آن را تحمل کنید؟

  1. پوشش حاشیهٔ سود ناخالص: آیا نقش جدید هزینهٔ خود را جبران می‌کند؟ اگر حاشیهٔ سود ناخالص شما ۶۵ ٪ باشد، کارمند جدید باید حداقل **۱۲,۳۵۲ درآمدماهانهٔجدیدتولیدکند(۸,۰۲۹درآمد ماهانهٔ جدید** تولید کند (۸,۰۲۹ ÷ ۰٫۶۵) تا سر به سر شود. اگر نقش برای کاهش هزینه‌ها طراحی شده باشد، باید صرفه‌جویی‌های معادل و پایدار ایجاد کند.

  2. دورهٔ بازگشت سرمایه و مسیر مالی: چه مدت طول می‌کشد تا این استخدام بازده مثبت داشته باشد و آیا می‌توانید تا آن زمان زنده بمانید؟ هدف داشته باشید دورهٔ بازگشت ۶ تا ۱۲ ماهه برای مورد تجاری این نقش؛ هرچه کوتاه‌تر، ایمن‌تر. به‌علاوه، باید حداقل ۳ تا ۶ ماه هزینهٔ «کاملاً بارگذاری‌شده» را به‌صورت نقدی به‌عنوان بافر پس از دورهٔ آموزش داشته باشید.

  3. واقعیت دورهٔ آموزش: یک کارمند جدید در روز اول ۱۰۰ ٪ مؤثر نیست. برای ۱ تا ۳ ماه دورهٔ آشنایی و کاهش بهره‌وری بودجه‌ریزی کنید. اگر ذخیرهٔ نقدی شما نتواند هم حقوق و هم کاهش بهره‌وری را پوشش دهد، هنوز آماده نیستید. ابتدا می‌توانید با قراردادکار یا کارمند پاره‌وقت نیاز را ارزیابی کنید.

نکته‌ای مخصوص ایالات متحده: اگر این اولین استخدام شماست یا اولین استخدام در ایالت جدیدی است، الزامات انطباق را دوبار بررسی کنید. کاهش اعتبار FUTA در برخی ایالت‌ها ممکن است اعمال شود و نرخ‌های SUTA به‌طرز چشمگیری متفاوت‌اند. قوانین جبران‌خطر کارگران نیز متفاوت هستند. اشتباه در این موارد می‌تواند منجر به جریمه شود.


۴) مدل را در Beancount واقعی کنید

بهترین راه برای فهمیدن اینکه آیا می‌توانید یک استخدام را بپردازید، این است که تأثیر آن را مستقیماً در دفاتر خود ببینید. در ادامه نحوه انجام این کار با Beancount آورده شده است.

الف) تنظیم بودجهٔ حقوق با Fava

قبل از هر چیز، هزینه‌های ماهانهٔ پیش‌بینی‌شده را با دستور custom "budget" در دفترکل خود اضافه کنید. این به شما امکان می‌دهد تا مسیر مالی را بررسی کنید.

2024-01-01 open Expenses:Salary
2024-01-01 open Assets:Cash
2024-01-01 open Equity:Opening-Balances

2024-01-01 custom "budget" Expenses:Salary 8000 USD

ب) پیش‌بینی جریان نقدی

پس از تنظیم بودجه، می‌توانید از ویژگی‌های پیش‌بینی Fava استفاده کنید تا مسیر مالی، حاشیه سود و دورهٔ بازگشت سرمایه را برای این نقش ارزیابی کنید.

ج) افزودن هزینه‌های یک‌باره

هزینه‌های یک‌باره مانند هزینهٔ آگهی شغلی یا هزینهٔ خرید لپ‌تاپ را می‌توانید به‌صورت یک تراکنش عادی در دفترکل اضافه کنید؛ این هزینه‌ها در محاسبهٔ حاشیه سود و مسیر مالی لحاظ می‌شوند.

د) پیش‌بینی جریان نقدی

از قابلیت‌های پیش‌بینی Fava برای شبیه‌سازی جریان نقدی در ماه‌های آینده استفاده کنید. این به شما نشان می‌دهد که آیا ذخیرهٔ نقدی کافی برای پوشش هزینهٔ «کاملاً بارگذاری‌شده» در دورهٔ آموزش دارید یا خیر.

ه) مثال جدول هزینه‌ها

موردهزینهٔ سالانه
حقوق۸۰,۰۰۰ $
مالیات‌های کارفرما۶,۱۶۲ $
بیمه سلامت۷,۵۱۹ $
نرم‌افزار حقوق۶۷۲ $
ابزارها و لپ‌تاپ۲,۰۰۰ $
کل هزینهٔ سالانه۹۶,۳۵۳ $
هزینهٔ ماهانه۸,۰۲۹ $

۵) جمع‌بندی

استخدام اولین کارمند می‌تواند مسیر رشد کسب‌وکار شما را باز کند، اما به‌دقت هزینهٔ واقعی را مدل‌سازی کنید تا از فشارهای مالی غیرمنتظره جلوگیری کنید. Beancount ابزار قدرتمندی برای ادغام داده‌های مالی، آزمون جریان نقدی و برنامه‌ریزی بودجه‌ای فراهم می‌کند. با پیروی از این گام‌ها می‌توانید تصمیمی آگاهانه بگیرید و مسیر رشد پایدار را تضمین کنید.

هزینه‌های فروشنده آمازون (2025): چیستند و چگونه در Beancount ثبت می‌شوند

· 7 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

فروش در آمازون راهی قدرتمند برای دسترسی به میلیون‌ها مشتری است، اما ساختار هزینه‌های این پلتفرم می‌تواند شبیه یک هزارتو باشد. اگر شما عملیاتی هستید که به دفاتر دو‑ورودی تمیز و قابل حسابرسی ارزش می‌دهید، ردیابی دقیق این هزینه‌ها غیرقابل مذاکره است. این راهنما هزینه‌های بازار ایالات متحده آمازون در سال 2025 را تجزیه و تحلیل می‌کند و دقیقاً نشان می‌دهد چگونه می‌توانید آن‌ها را با ابزار حسابداری متنی ساده Beancount ثبت کنید.

TL;DR ⚡

2025-08-21-amazon-seller-fees-2025

  • با چندین هزینهٔ مکرر آمازون مواجه می‌شوید: طرح فروش, کارمزد ارجاع, هزینه بسته شدن (رسانه), هزینه‌های تکمیل و ذخیره‌سازی FBA, هزینهٔ جایگذاری ورودی, هزینهٔ سطح کم‌موجودی, هزینهٔ پردازش بازگشت, هزینهٔ مدیریت بازپرداخت و یک هزینهٔ فهرست‌گذاری با حجم بالا برای کاتالوگ‌های بسیار بزرگ.
  • یک حساب جداگانهٔ Assets:Amazon:Clearing ایجاد کنید. فروش‌ها و هزینه‌ها را در آن ثبت کنید؛ وقتی آمازون پرداخت می‌کند، مبلغ خالص را به بانک خود منتقل کنید. این کار فرآیند تطبیق را بسیار ساده می‌کند.
  • هر SKU را به‌عنوان یک کالای جداگانه (مثلاً SKU:WATER-BOTTLE) پیگیری کنید تا Beancount به‌صورت خودکار هزینهٔ کالای فروخته‌شده (COGS) را بر پایهٔ لُت‌ها محاسبه کند.
  • می‌توانید به‌سرعت با وارد کردن گزارش‌های Settlement یا Date‑Range و نگاشت «نوع تراکنش» آمازون به حساب‌های هزینه‌ای Beancount خود، تطبیق انجام دهید.

نقشه هزینه‌های آمازون (بازار آمریکا)

در ادامه رایج‌ترین هزینه‌هایی که در سال 2025 مشاهده خواهید کرد، آورده شده است.

هزینهٔ طرح فروش

این هزینهٔ اشتراک پایه برای دسترسی به بازار است.

  • طرح فردی: بدون هزینهٔ ماهانه. به‌جای آن، برای هر کالایی که می‌فروشید ۰٫۹۹ $ پرداخت می‌کنید.
  • طرح حرفه‌ای: هزینهٔ ثابت ۳۹٫۹۹ $ در ماه که هزینهٔ هر‑آیتم را حذف می‌کند. این گزینه استاندارد برای هر فروشندهٔ جدی است. تمام هزینه‌های دیگر فروش بر روی این مبلغ افزوده می‌شوند.

کارمزد ارجاع

این کمیسیون آمازون برای هر فروش است.

کارمزد بر پایهٔ درصدی از قیمت کل فروش کالا (شامل هزینهٔ حمل و هر بسته‌بندی هدیه) محاسبه می‌شود. نرخ کاملاً به دستهٔ محصول بستگی دارد. اکثر دسته‌ها در بازهٔ ۸‑۱۵ % قرار دارند، اما برخی نرخ‌های لایه‌ای دارند (مثلاً ۱۵ % برای اولین ۵۰۰ و۸و ۸ % برای مبلغ بالاتر). برخی دسته‌ها همچنین حداقل کارمزد ارجاع دارند که معمولاً **۰٫۳۰** است. همیشه کارت نرخ جاری برای دستهٔ خاص خود را بررسی کنید.

هزینهٔ بسته شدن (دسته‌های رسانه)

اگر کالاهای رسانه‌ای مانند کتاب، موسیقی، ویدیو یا DVD می‌فروشید، آمازون هزینهٔ ثابت ۱٫۸۰ $ به‌ازای هر آیتم اضافه می‌کند.

هزینه‌های تکمیل FBA

این هزینه‌های انتخاب، بسته‌بندی و ارسال برای استفاده از Fulfillment by Amazon (FBA) هستند. هزینه بر اساس اندازه و وزن کالا متفاوت است. آمازون این کارت‌های نرخ را به‌صورت دوره‌ای به‌روزرسانی می‌کند. برای سال 2025، نرخ‌های غیر‑پیک به سطوح 2024 در ۱۵ ژانویه 2025 بازگشتند. همیشه کارت نرخ فعلی FBA را برای تعیین دقیق سطح اندازه و هزینهٔ مربوطه مشورت کنید.

هزینهٔ ذخیره‌سازی ماهانه و هزینهٔ موجودی قدیمی (FBA)

آمازون برای فضایی که موجودی شما در مراکز تکمیل اشغال می‌کند، هزینه دریافت می‌کند.

  • ذخیره‌سازی ماهانه: بر پایهٔ فوت مکعب محاسبه می‌شود.
  • هزینهٔ موجودی قدیمی: هزینهٔ ماهانهٔ اضافی برای موجودی‌ای که مدت زمان طولانی در مرکز تکمیل باقی مانده است. این هزینه به هزینهٔ ذخیره‌سازی معمولی افزوده می‌شود.

هزینهٔ سرویس جایگذاری ورودی (FBA)

این هزینهٔ هر واحدی است که به نحوهٔ ارسال موجودی به آمازون مرتبط است. هدف آن پوشش هزینهٔ توزیع محصولات شما در شبکهٔ تکمیل است. برخی برنامه‌ها مانند «انتخاب جدید» می‌توانند به‌صورت موقت محصولات جدید را تا حد معینی معاف کنند.

هزینهٔ سطح کم‌موجودی (FBA)

این هزینه برای محصولات با اندازهٔ استاندارد که موجودی آن‌ها به‌طور مستمر نسبت به تقاضای مشتریان کم است، اعمال می‌شود. آمازون این موضوع را با معیار «روزهای تاریخی موجودی» اندازه‌گیری می‌کند. اگر سطح موجودی برای یک آیتم پرطرفدار زیر آستانه (معمولاً ۲۸ روز) بیاید، این هزینه فعال می‌شود.

هزینهٔ پردازش بازگشت (FBA)

برای محصولاتی که در دسته‌های با نرخ بازگشت بالاتر از حد معمول (مانند پوشاک و کفش) هستند، آمازون می‌تواند برای هر بازگشت مشتری هزینهٔ پردازش دریافت کند. برخی واحدهای «انتخاب جدید» تا سقف معینی از این هزینه معاف می‌شوند.

هزینهٔ مدیریت بازپرداخت

زمانی که برای یک سفارش بازپرداخت به مشتری می‌دهید، آمازون کارمزد ارجاعی که پرداخت کرده‌اید را برمی‌گرداند. اما بخشی از آن را به‌عنوان هزینهٔ پردازش نگه می‌دارد. این هزینه کمتر از ۵٫۰۰ $ یا ۲۰ % از کارمزد ارجاع برای آن کالا است.

هزینهٔ فهرست‌گذاری با حجم بالا (کاتالوگ‌های عظیم)

این هزینه فقط بر فروشندگانی که کاتالوگ‌های بسیار بزرگ دارند اعمال می‌شود. اگر بیش از ۱٫۵ میلیون SKU فعال داشته باشید، آمازون هزینهٔ ماهانهٔ ۰٫۰۰۱ $ برای هر SKU قابل‌تعیین بالای این آستانه دریافت می‌کند.

نکته: نرخ‌ها و سیاست‌ها می‌توانند بر حسب کشور، منطقه و دسته متفاوت باشند. همیشه قبل از ثبت، صفحات راهنمای Seller Central محلی خود را مرور کنید.


نحوهٔ نمایش این هزینه‌ها در گزارش‌ها 🧾

تمام این داده‌ها در Seller Central موجود است. دو گزارش که برای حسابداری بیشترین کاربرد را دارند:

  1. گزارش‌های بازهٔ زمانی (Date‑Range) – می‌توانید با وارد کردن این گزارش‌ها به‌سرعت تطبیق انجام دهید و کارمزدهای آمازون را مستقیماً به حساب‌های هزینه‌ای Beancount نگاشت کنید.
  2. گزارش Settlement – همانند گزارش قبلی، اما مخصوص تراکنش‌های مالی نهایی است.

هزینه‌های فروشنده آمازون (US Marketplace)

هزینهٔ طرح فروش

  • هزینهٔ پایهٔ اشتراک برای دسترسی به بازار.
  • دو گزینه: طرح فردی (بدون هزینهٔ ماهانه، ۰٫۹۹ به‌ازایهرآیتم)وطرححرفه‌ای(۳۹٫۹۹به‌ازای هر آیتم) و طرح حرفه‌ای (۳۹٫۹۹ ماهانه، حذف هزینهٔ هر‑آیتم).

کارمزد ارجاع

  • درصدی از قیمت کل فروش (شامل حمل و بسته‌بندی هدیه).
  • نرخ بسته به دستهٔ محصول؛ اکثر در بازهٔ ۸‑۱۵ %؛ حداقل کارمزد معمولاً ۰٫۳۰ $.

هزینهٔ بسته شدن (رسانه)

  • هزینهٔ ثابت ۱٫۸۰ $ به‌ازای هر آیتم رسانه‌ای.

هزینه‌های تکمیل و ذخیره‌سازی FBA

  • هزینهٔ تکمیل بر پایهٔ وزن و اندازه.
  • هزینهٔ ذخیره‌سازی ماهانه بر پایهٔ فوت مکعب.
  • هزینهٔ موجودی قدیمی برای موجودی‌های طولانی‌مدت.

هزینهٔ جایگذاری ورودی

  • هزینهٔ هر واحد بر اساس نحوهٔ ارسال به مرکز تکمیل.

هزینهٔ سطح کم‌موجودی

  • اعمال می‌شود وقتی موجودی زیر آستانهٔ روزهای تاریخی موجودی می‌آید.

هزینهٔ پردازش بازگشت

  • برای دسته‌های با نرخ بازگشت بالا (پوشاک، کفش و ...) هزینهٔ پردازش دریافت می‌شود.

هزینهٔ مدیریت بازپرداخت

  • کمتر از ۵٫۰۰ $ یا ۲۰ % از کارمزد ارجاع.

هزینهٔ فهرست‌گذاری با حجم بالا

  • برای فروشندگانی با بیش از یک میلیون SKU.

نکته مهم

  • تمام این هزینه‌ها می‌توانند با استفاده از گزارش‌های Settlement یا Date‑Range به‌سرعت وارد شوند و با نگاشت «نوع تراکنش» آمازون به حساب‌های هزینه‌ای Beancount، به‌سرعت تطبیق داده شوند.

نگهداری یک حساب جداگانهٔ Assets:Amazon:Clearing

حساب Assets:Amazon:Clearing به‌عنوان یک حساب واسط عمل می‌کند. تمام فروش‌ها و کارمزدها ابتدا در این حساب ثبت می‌شوند؛ سپس وقتی آمازون پرداخت می‌کند، مبلغ خالص به حساب بانکی شما منتقل می‌شود. این روش باعث می‌شود فرآیند تطبیق (reconciliation) بسیار ساده و سریع باشد.


پیگیری هر SKU به‌عنوان کالای جداگانه

در Beancount می‌توانید هر SKU را به‌صورت SKU:WATER-BOTTLE یا هر شناسهٔ دیگر تعریف کنید. این کار به Beancount اجازه می‌دهد هزینهٔ کالای فروخته‌شده (COGS) را بر پایهٔ لُت‌ها به‌صورت خودکار محاسبه کند.


مثال‌های کد Beancount

2025-01-15 * "فروش محصول WATER‑BOTTLE"
Assets:Amazon:Clearing -150.00 USD
Income:Sales 150.00 USD

2025-01-15 * "کارمزد ارجاع"
Assets:Amazon:Clearing -15.00 USD
Expenses:Amazon:Referral 15.00 USD

2025-01-15 * "هزینهٔ تکمیل FBA"
Assets:Amazon:Clearing -5.00 USD
Expenses:Amazon:FBA_Fulfillment 5.00 USD

نکات و ترفندها

  • حفظ حساب‌های جداگانه: حساب Assets:Amazon:Clearing را به‌عنوان حساب واسط نگه دارید تا تمام هزینه‌ها و فروش‌ها در یک مکان متمرکز شوند.
  • استفاده از ZWNJ: در متن فارسی برای جداسازی پیشوندها و پسوندها از کاراکتر Zero‑Width Non‑Joiner (‏%E2%80%8C) استفاده کنید تا نمایش صحیح داشته باشد.
  • نگهداری قالب کد: تمام قطعات کد Beancount بدون تغییر باقی می‌مانند؛ فقط متن توضیحی به فارسی ترجمه شده است.
  • تطبیق سریع: با وارد کردن گزارش‌های Settlement یا Date‑Range می‌توانید به‌سرعت هزینه‌ها را به حساب‌های هزینه‌ای Beancount نگاشت کنید و فرآیند تطبیق را به‌حداقل برسانید.

خلاصه

  • با شناخت دقیق طرح‌های هزینه‌ای آمازون (طرح فروش، کارمزد ارجاع، هزینه بسته شدن، تکمیل / ذخیره‌سازی FBA، جایگذاری ورودی، سطح کم‌موجودی، پردازش بازگشت، مدیریت بازپرداخت و فهرست‌گذاری با حجم بالا) می‌توانید هزینه‌ها را پیش‌بینی کنید.
  • حساب Assets:Amazon:Clearing را به‌عنوان حساب واسط استفاده کنید تا فرآیند انتقال خالص به بانک ساده شود.
  • هر SKU را به‌عنوان کالای جداگانه پیگیری کنید تا Beancount به‌صورت خودکار COGS را محاسبه کند.
  • با وارد کردن گزارش‌های Settlement یا Date‑Range و نگاشت نوع تراکنش آمازون به حساب‌های هزینه‌ای Beancount، تطبیق را به‌سرعت انجام دهید.

حساب‌های پرداختنی چیست؟ راهنمایی دوستانه برای Beancount جهت پیگیری فاکتورهای فروشنده در متن ساده

· 32 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

حساب‌های پرداختنی (AP) پولی است که کسب‌وکار شما به تأمین‌کنندگان خود بدهکار است برای کالاها یا خدماتی که دریافت کرده‌اید اما هنوز پرداخت نکرده‌اید. در دنیای حسابداری، AP به‌عنوان بدهی جاری در ترازنامه شما طبقه‌بندی می‌شود — مبلغی که معمولاً در طول سال آینده، و اغلب در بازه ۳۰ تا ۶۰ روز، سررسید می‌شود.

این مفهوم در حسابداری تعهدی مرکزی است، جایی که هزینه و بدهی مربوطه به‌محض دریافت فاکتور ثبت می‌شود، نه زمانی که پول واقعی پرداخت می‌شود. این راهنما نشان می‌دهد چگونه می‌توانید کل جریان کاری AP را به‌صورت تمیز و کارآمد با ابزار حسابداری متنی Beancount مدیریت کنید.

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


خلاصه سریع

قبل از ورود به جزئیات، نکات اساسی را مرور می‌کنیم:

  • حساب‌های پرداختنی (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 به چند ویژگی اصلی متکی است:

  1. حساب‌ها: عمدتاً از حساب Liabilities:AccountsPayable، یک حساب نقدی مانند Assets:Bank:Checking و حساب‌های هزینه‌ای مختلف (مثلاً Expenses:Supplies) استفاده می‌کنید.
  2. متادیتا: می‌توانید داده‌های کلید‑مقدار را به هر تراکنش الصاق کنید. برای AP، متادیتاهایی مانند invoice:، due:، terms: و document: به‌کار می‌روند. Fava حتی کلید document: را تشخیص می‌دهد و به‌صورت خودکار لینک کلیکی به فایل پیوست‌شده ایجاد می‌کند، به‌شرط اینکه پوشه اسناد را تنظیم کنید.
  3. برچسب‌ها و لینک‌ها: از #tags (مانند #ap) برای فیلتر آسان و از ^links (مانند ^INV-10455) برای اتصال برنامه‌نویسی فاکتور و پرداخت بعدی استفاده کنید. این کار مسیر واضح و قابل حسابرسی ایجاد می‌کند.
  4. پرس‌وجوها (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

این ورودی تک دو کار مهم انجام می‌دهد:

  1. هزینه ۵۰۰ دلار را بلافاصله در دوره صحیح (آگوست) شناسایی می‌کند.
  2. بدهی ۵۰۰ دلار متناظر را ایجاد می‌کند، نشان می‌دهد که به 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 SheetLiabilitiesAccountsPayable بروید تا مانده کلی را ببینید و با کلیک جزئیات تراکنش‌ها را بررسی کنید.
  • دفتر کل: دفتر را با فیلتر 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

بهترین شیوه‌ها برای AP در دفتر کل متنی

  • بدون کاغذ: فاکتورهای PDF را در پوشه documents ذخیره کنید و با کلید متادیتای document: به آن‌ها لینک دهید.
  • استفاده ثابت از لینک‌ها: شماره فاکتور یکتا را در یک ^link هم در فاکتور و هم در پرداخت قرار دهید تا ارتباط واضحی ایجاد شود.
  • برچسب‌گذاری واضح: از #tags برای فیلتر سریع استفاده کنید.
  • تنظیم متادیتا: سررسید، شرایط و سایر جزئیات را با متادیتاهای due:، terms: و invoice: ثبت کنید تا گزارش‌گیری ساده باشد.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

این راهنما برای استفاده در محیط‌های فارسی‌زبان طراحی شده است؛ تمام مثال‌های کد به‌صورت اصلی (انگلیسی) باقی مانده‌اند تا با مستندات رسمی Beancount سازگار باشند.

*این راه

در یک شهر کوچک و آرام، سارا زندگی می‌کرد. او هر روز صبح زود از خواب بیدار می‌شد، به فروشگاه کوچک پدرش می‌رفت و به‌عنوان فروشنده کار می‌کرد. زندگی‌اش ساده و یکنواخت بود؛ هیچ‌چیز خاصی در آن نمی‌درخشید. سارا همیشه احساس می‌کرد که چیزی در دلش نهفته است، اما نمی‌دانست چه چیزی.

یک روز، پس از بسته شدن فروشگاه، سارا برای آرامش به پشت‌حیاط خانه رفت. در آنجا یک تخته‌سفید بزرگ بود که برای نوشتن یادداشت‌های روزانه استفاده می‌شد. ناگهان، او یک مداد رنگی که در جیبش بود، برداشت و شروع به کشیدن خطوطی ساده کرد. ابتدا فقط چند دایره و خط کشید، اما به‌زودی شکل‌ها به‌صورت خودجوش به تصویرهای کوچک تبدیل شدند. چهره‌های ساده، گل‌های رنگارنگ و مناظر کوچک بر تخته ظاهر شدند. سارا شگفت‌زده شد؛ او هرگز فکر نمی‌کرد که این توانایی را داشته باشد.

در همان شب، سارا تصمیم گرفت بیشتر تمرین کند. هر روز پس از کار، چند دقیقه وقت می‌گذاشت و روی تخته یا کاغذهای خالی می‌کشید. به‌تدریج مهارتش رشد کرد و جزئیات بیشتری به نقاشی‌هایش اضافه می‌کرد. یکی از مشتریان ثابت فروشگاه، که به هنر علاقه‌مند بود، به سارا نگاه کرد و گفت: «این نقاشی‌ها خیلی زیباست. چرا آن‌ها را به‌صورت حرفه‌ای نمی‌کنی؟» این حرف برای سارا نقطهٔ عطفی بود.

سارا به کلاس‌های نقاشی محلی رفت و با استادهای ماهر آشنا شد. او یاد گرفت چگونه از رنگ‌ها به‌درستی استفاده کند، ترکیب‌بندی‌های جذاب بسازد و احساساتش را در بوم نشان دهد. چند ماه بعد، اولین نمایشگاه کوچک خود را در کتابخانهٔ شهر برگزار کرد. مردم با تعجب به نقاشی‌های سارا نگاه می‌کردند؛ هر اثر داستانی داشت و حس زندگی را به بیننده منتقل می‌کرد.

نمایشگاه موفق شد و یکی از بازدیدکنندگان، صاحب یک گالری در شهر بزرگ، به سارا پیشنهاد همکاری داد. سارا تصمیم گرفت شغل فروشگاهی را کنار بگذارد و به‌صورت تمام‌وقت به هنر بپردازد. او دیگر نه تنها برای خود، بلکه برای دیگران نیز الهام‌بخش شد؛ چون نشان داد که یک استعداد پنهان می‌تواند مسیر زندگی را به‌کل تغییر دهد.

در پایان، سارا به‌خاطر کشف این استعداد نه تنها زندگی مالی‌اش بهبود یافت، بلکه احساس رضایت عمیقی پیدا کرد. او یاد گرفت که گاهی اوقات، در دل روزمرگی‌های ساده، درخشش یک توانایی نهفته است که تنها با شجاعت برای امتحان کردن، می‌تواند به‌نور بیاید. این تجربهٔ زندگی‌اش را به‌یک مسیر پر از رنگ و امید تبدیل کرد.

برون‌سپاری حسابداری: چگونه کارهای مالی خود را واگذار کنیم (برای کاربران Beancount)

· 8 دقیقه مطالعه
Mike Thrift
Mike Thrift
Marketing Manager

اگر دفترکل شما به‌صورت متن ساده ذخیره می‌شود، شما پیشاپیش به وضوح، کنترل و قابلیت بازتولید ارزش می‌گذارید. برون‌سپاری حسابداری لزوماً نباید این موارد را به خطر بیندازد. برعکس، وقتی به‌درستی انجام شود، تنظیمات Beancount شما را به یک جریان کاری قابل‌اعتماد و مستند تبدیل می‌کند که توسط متخصصان اجرا می‌شود — در حالی که مالکیت کامل داده‌ها، مخزن و قوانین را همچنان در اختیار دارید.

این یک راهنمای عملی برای کاربران Beancount است درباره اینکه چه مواردی را برون‌سپاری کنید، چه مواردی را درون سازمان نگه دارید، چگونه تحویل‌ها را ساختاردهی کنید و چگونه ارائه‌دهندگان را ارزیابی کنید. هدف واگذاری کارهای مکانیکی بدون از دست دادن کنترل است.

برون‌سپاری حسابداری


برای چه کسانی است

این راهنما برای شماست اگر به یکی از پروفایل‌های زیر تعلق دارید:

  • بنیان‌گذاران تک‌نفره، هکرهای مستقل و مشاوران که از Beancount استفاده می‌کنند و می‌خواهند زمان صرف‌شده برای بخش‌های مکانیکی حسابداری را بازپس گیرند تا روی ساخت محصول یا خدمت به مشتریان تمرکز کنند.
  • مهندسانی که به مالیات مسلط‌اند و به کنترل‌های دقیق، تاریخچه نسخه‌بندی‌شده و قابلیت حسابرسی کامل نیاز دارند اما نمی‌خواهند آخر هفته‌های خود را به وارد کردن صورت‌حساب‌های بانکی و تطبیق حساب‌ها اختصاص دهند.
  • سازمان‌هایی که از یک فروشنده همه‌کاره مهاجرت می‌کنند و اکنون اولویتشان حفظ حق مالکیت داده‌ها و قابلیت بازتولید است. بسته شدن ناگهانی پلتفرم‌های حسابداری مانند Bench، درس مهمی را نشان داد: برنامه‌های خروج و فرمت‌های باز گزینه‌ای نیستند. (TechCrunch، KSV Advisory Report)

Beancount، به‌طور خلاصه

برای کسانی که با آن آشنا نیستند، اکوسیستم Beancount بر پایه چند مؤلفهٔ اصلی ساخته شده که آن را برای این نوع جریان کاری قدرتمند می‌سازد:

  • Beancount: در هستهٔ خود، یک زبان حسابداری دوورودی است که به‌صورت متن ساده تعریف می‌شود. شما فایل‌های دفترکل قابل‌خواندن برای انسان می‌نویسید، آن‌ها را به مخزن Git می‌فرستید و با یک کامپایلر آن‌ها را اعتبارسنجی و گزارش‌های مالی تولید می‌کنید. (GitHub)
  • Fava: رابط وب زیبا برای Beancount. Fava فایل دفترکل شما را می‌خواند و ترازنامه، صورت سود و زیان، روندها، فیلترها و یک زبان پرس‌و‌جو شبیه SQL قدرتمند برای بررسی داده‌ها ارائه می‌دهد. (Fava Demo)
  • beangulp: چارچوب مدرن برای خودکارسازی ورود داده‌ها. از واردکنندهٔ اصلی Beancount تکامل یافته است؛ beangulp ابزارهایی برای نوشتن واردکننده‌های مقاوم فراهم می‌کند که می‌توانند CSV، OFX، QFX و حتی صورت‌حساب‌های PDF را تجزیه کنند و داده‌های خام بانکی را به ورودی‌های ساختار یافته Beancount تبدیل کنند. (GitHub)

یک رابطهٔ برون‌سپاری موفق باید این قوت‌ها را حفظ و تقویت کند: کنترل نسخه، تاریخچهٔ قابل‌خواندن برای انسان، اعتبارسنجی سخت‌گیرانه و ترکیب‌پذیری ابزارها.


چه چیزهایی را برون‌سپاری کنید و چه چیزهایی را نگه دارید

کلید واگذاری مؤثر، تقسیم واضح کارهاست. در ادامه نحوهٔ ترسیم خط بین اجرای تاکتیکی و مالکیت استراتژیک را می‌بینید.

کاندیداهای عالی برای برون‌سپاری

این کارها معمولاً تکراری، مبتنی بر قواعد و زمان‌بر هستند — ایده‌آل برای یک متخصص.

  • جمع‌آوری و وارد کردن صورت‌حساب‌ها: دانلود صورت‌حساب‌های ماهانه، نرمال‌سازی فرمت‌های مختلف (CSV، OFX، PDF) و اجرای واردکننده‌های beangulp. این شامل نگهداری قواعد واردکننده است چون مؤسسات مالی به‌طور ناگزیر فرمت‌های صورت‌حساب خود را تغییر می‌دهند.
  • کمک به دسته‌بندی: ساخت هورستیک‌ها و قواعد اعلامی برای دسته‌بندی تراکنش‌ها. می‌توانند به‌صورت اختیاری از ابزارهایی مثل smart_importer برای پیش‌بینی پستینگ‌ها بر پایه داده‌های تاریخی استفاده کنند، اما بازبینی نهایی همیشه توسط انسان انجام می‌شود.
  • تطبیق و بررسی یکپارچگی: کار دقیق افزودن ادعاهای balance برای تطبیق با صورت‌حساب‌ها، بررسی اختلافات و اطمینان از اینکه دفترکل بدون خطا باقی می‌ماند.
  • پیوست‌ها و بهداشت اسناد: دریافت فاکتورها و رسیدها، لینک کردن آن‌ها به تراکنش‌ها با متادیتا، و آرشیو اسناد منبع در یک درخت پوشهٔ منظم و بازتولیدپذیر.
  • بستن ماه و گزارش‌دهی: آماده‌سازی مجموعهٔ استاندارد گزارش‌ها (P&L، ترازنامه، صورت جریان نقدی) و ارائه نماهای Fava یا خروجی‌ها برای به‌روزرسانی‌های مدیریتی.
  • عملیات حساب‌های دریافتنی/پرداختنی و آماده‌سازی حقوق: آماده‌سازی فاکتورها برای پرداخت، تولید فاکتورهای فروش، پیگیری وصول‌ها و آماده‌سازی فایل‌های حقوق برای بازبینی و تأیید نهایی شما.
  • آماده‌سازی بستهٔ مالیاتی: در پایان سال، تولید تراز آزمایشی تمیز، برنامه‌های پشتیبانی و تمام فایل‌های لازم برای حسابدار یا مشاور مالی شما.

درون‌سازمانی نگه دارید (شما مالک نیت و ریسک هستید)

این مسئولیت‌ها استراتژیک هستند و ستون مالی کسب‌وکار شما را تعریف می‌کنند. به شما تعلق دارند.

  • طراحی نمودار حساب‌ها: ساختار و قواعد نام‌گذاری حساب‌ها نشان‌دهندهٔ نحوهٔ تفکر شما دربارهٔ کسب‌وکار است. این نقشهٔ مالی شماست.
  • سیاست‌های حسابداری اصلی: تصمیمات دربارهٔ ساختار حقوقی، شناسایی درآمد و سیاست‌های سرمایه‌گذاری پیامدهای مالی و قانونی بلندمدتی دارند.
  • تأیید نهایی: شما باید تصمیم نهایی دربارهٔ تمام جابه‌جایی‌های نقدی، از جمله پرداخت‌ها، اجرای حقوق و ورودی‌های ژورنالی مهم را داشته باشید.
  • مالی استراتژیک: پیش‌بینی، بودجه‌بندی و تعریف معیارهای «خوب» برای کسب‌وکار، مسئولیت‌های بنیادی مالک هستند.

جریان کار برون‌سپاری بومی Beancount

در ادامه یک همکاری ساختار یافته مبتنی بر Git را در عمل می‌بینید.

1) ساختار مخزن (مثال)

مخزن شما منبع حقیقت واحد است. یک ساختار منظم فرآیند را شفاف و قابل‌نگهداری می‌کند.

/ledger
main.beancount # فایل دفترکل اصلی، شامل دیگران
accounts/ # تعریف نمودار حساب‌ها
includes/ # فایل‌های تراکنش ماهانه یا سالانه
prices/ # دستورات قیمت برای کالاها/سهام
metadata/ # اعلان‌های متادیتای سفارشی
plugins/ # افزونه‌های سفارشی Beancount
documents/ # صورت‌حساب‌های بانکی، رسیدها، فاکتورها
/importers # واردکننده‌های beangulp + قواعد
config.yaml
bank_x.py
card_y.py
/scripts
import.sh # اسکریپت ارکستراسیون برای واردکننده‌ها
close_month.py # اسکریپت اعتبارسنجی و گزارش‌گیری پایان ماه
/reports
monthly/
year_end/
/ops
runbook.md # نحوه اجرای سیستم
checklist.md # چک‌لیست‌های رویه‌ای (مثلاً پایان ماه)
controls.md # مستندات کنترل‌های مالی

2) چرخهٔ هفتگی

کارهای روتین باید یک ریتم پیش‌بینی‌پذیر داشته باشند که در نهایت به یک تحویل واضح برای بازبینی شما منجر شود.

  1. ورود داده: ارائه‌دهندهٔ شما صورت‌حساب‌ها را دریافت می‌کند و واردکننده‌های beangulp را اجرا می‌کند تا تراکنش‌های جدید را آماده کند.
  2. دسته‌بندی: آن‌ها قواعد دسته‌بندی را اعمال می‌کنند و در صورت استفاده، پیشنهادات smart_importer را بررسی می‌کنند. سپس یک بازبینی انسانی برای رفع ابهامات انجام می‌شود.
  3. تطبیق: آن‌ها ادعاهای balance را برای تطبیق با مجموع‌های صورت‌حساب اضافه می‌کنند و هر اختلافی را بررسی می‌نمایند. استفاده از دستورات pad باید نادر باشد و همیشه مستند شود.
  4. اسناد: اسناد مرتبط (رسیدها، فاکتورها) به تراکنش‌ها پیوست می‌شوند.
  5. تحویل: خروجی نهایی شامل یک پوشهٔ اسناد، گزارش‌ها و یک برچسب نسخهٔ Git است که شما می‌توانید آن را در مخزن اصلی ادغام کنید، در حالی که مالکیت کامل داده‌ها برای شما باقی می‌ماند.

3) برون‌سپاری بر پایه تصویر

برون‌سپاری حسابداری


نکات کلیدی برای انتخاب ارائه‌دهنده

  • تجربهٔ تخصصی: آیا ارائه‌دهنده تجربهٔ کار با Beancount یا ابزارهای مشابه دارد؟
  • شفافیت هزینه‌ها: هزینه‌ها باید به‌صورت واضح تعریف شوند؛ هیچ هزینهٔ مخفی نباید وجود داشته باشد.
  • پروتکل‌های امنیتی: بررسی کنید چه تدابیری برای حفاظت از داده‌های مالی شما اتخاذ می‌شود.
  • قابلیت مقیاس‌پذیری: آیا ارائه‌دهنده می‌تواند حجم کارهای شما را در طول زمان افزایش دهد؟
  • پشتیبانی و زمان پاسخ: زمان پاسخگویی به درخواست‌های شما چقدر است؟

برون‌سپاری حسابداری

برون‌سپاری حسابداری

اگر دفترکل شما در قالب متن ساده ذخیره می‌شود، شما به وضوح، کنترل و قابلیت بازتولید ارزش می‌گذارید. برون‌سپاری حسابداری لزوماً نباید این موارد را به خطر بیندازد. برعکس، وقتی به‌درستی انجام شود، تنظیمات Beancount شما را به یک جریان کاری مستند، قابل‌اعتماد و اجرا شده توسط متخصصان تبدیل می‌کند — در حالی که مالکیت کامل داده‌ها، مخزن و قواعد را همچنان در اختیار دارید.

چه چیزهایی را برون‌سپاری کنید و چه چیزهایی را درون‌سازمانی نگه دارید

کلید واگذاری مؤثر، تقسیم واضح کارهاست. در ادامه می‌توانید مواردی را که می‌توانید برون‌سپاری کنید و مواردی که باید درون‌سازمانی نگه دارید، ببینید.

کاندیداهای مناسب برای برون‌سپاری

  • جمع‌آوری و وارد کردن صورت‌حساب‌ها
  • کمک به دسته‌بندی
  • تطبیق و بررسی یکپارچگی
  • پیوست‌ها و بهداشت اسناد
  • بستن ماه و گزارش‌دهی
  • عملیات حساب‌های دریافتنی/پرداختنی و آماده‌سازی حقوق
  • آماده‌سازی بستهٔ مالیاتی

مواردی که باید درون‌سازمانی نگه داشته شوند

  • طراحی نمودار حساب‌ها
  • سیاست‌های حسابداری اصلی
  • تأیید نهایی
  • مالی استراتژیک

نکات صرفه‌جویی در زمان (و دردهای آینده)

  • از فضاهای خالی در عناوین استفاده کنید: به‌عنوان مثال، «واگذار کردن» بهتر است به «واگذار کردن» نوشته شود تا خوانایی حفظ شود.
  • از علائم نگارشی استاندارد استفاده کنید: دو نقطه :، پرانتز ( ) و کاما ، باید به‌درستی در متن فارسی قرار گیرند.
  • حفظ اصطلاحات فنی به زبان اصلی: نام ابزارها و کتابخانه‌ها مانند Beancount، Git، Fava، beangulp و smart_importer را به همان صورت انگلیسی نگه دارید.
  • حفظ قالب‌بندی کدها: بخش‌های کد و مسیرهای فایل‌ها را بدون تغییر بگذارید تا قابلیت کپی‌کردن برای اجرا را داشته باشید.