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

7 پست با برچسب "financial management"

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

استهلاک انباشته (برای 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 خود پیاده‌سازی کنید و ارزش واقعی دارایی‌های ثابت را به‌صورت شفاف و خودکار مدیریت نمایید.

حساب‌های پرداختنی چیست؟ راهنمایی دوستانه برای 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 را به همان صورت انگلیسی نگه دارید.
  • حفظ قالب‌بندی کدها: بخش‌های کد و مسیرهای فایل‌ها را بدون تغییر بگذارید تا قابلیت کپی‌کردن برای اجرا را داشته باشید.

مقایسه Beancount.io با نرم‌افزارهای حسابداری سنتی: کدام یک برای شما مناسب‌تر است؟

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

برای دهه‌ها، دنیای حسابداری کسب‌وکار تحت سلطه سیستم‌های بسته و مبتنی بر رابط کاربری گرافیکی (GUI) مانند QuickBooks، Xero و FreshBooks بوده است. آن‌ها استاندارد را تعیین کرده‌اند و سهولت استفاده و گردش‌های کاری بصری را ارائه می‌دهند که برای کاربران غیرفنی مناسب است. اما برای توسعه‌دهندگان، کاربران حرفه‌ای و هر کسی که برای شفافیت و کنترل مطلق ارزش قائل است، رویکردی کاملاً متفاوت پدیدار شده است: Beancount.io.

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

2025-08-08-beancount-io-vs-traditional-accounting-software

۱. فلسفه و گردش کار

اساسی‌ترین تفاوت بین این دو رویکرد در فلسفه اصلی آن‌ها نهفته است.

Beancount.io Beancount.io بر اساس فلسفه حسابداری متن ساده ساخته شده است. در قلب آن، هر تراکنش مالی یک ورودی در یک فایل متنی ساده است. این مدل «حسابداری به عنوان کد» به سوابق قابل خواندن توسط انسان و قابل کنترل نسخه اولویت می‌دهد. داده‌های مالی شما در قالبی باز و بی‌زمان که کاملاً متعلق به شماست، قرار دارد - هرگز نمی‌تواند توسط یک فروشنده قفل شود. این گردش کار برای کاربرانی طراحی شده است که با ویرایشگرهای کد، سیستم‌های کنترل نسخه مانند Git و ابزارهای خط فرمان راحت هستند.

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

حکم: اگر به کنترل کامل، مالکیت داده‌ها، شفافیت و اتوماسیون اولویت می‌دهید، Beancount.io برنده قطعی است. اگر به رابط کاربری «کلیک و اجرا» با حداقل منحنی یادگیری نیاز دارید، نرم‌افزار سنتی طبیعی‌تر به نظر می‌رسد.

۲. انعطاف‌پذیری و سفارشی‌سازی

نرم‌افزار چقدر می‌تواند با نیازهای خاص شما سازگار شود؟

Beancount.io ۱۰۰٪ اسکریپت‌پذیر بودن، قدرت فوق‌العاده Beancount.io است. این نرم‌افزار به طور یکپارچه با پایتون ادغام می‌شود و به شما امکان می‌دهد به هر API متصل شوید، واکشی داده‌ها را از فیدهای بانکی به صورت خودکار انجام دهید، تراکنش‌ها را بر اساس قوانین پیچیده به صورت برنامه‌ریزی شده برچسب‌گذاری کنید و گزارش‌های سفارشی متناسب با مشخصات دقیق خود ایجاد کنید. توانایی شما برای گسترش و سفارشی‌سازی عملاً نامحدود است و عاری از هرگونه محدودیت اعمال شده توسط فروشنده است.

نرم‌افزار سنتی این پلتفرم‌ها مجموعه‌ای از ادغام‌ها را با ابزارهای محبوب مانند PayPal، Stripe و سرویس‌های مختلف حقوق و دستمزد ارائه می‌دهند. اگرچه راحت است، اما شما در باغ محصور فروشنده فعالیت می‌کنید. سفارشی‌سازی محدود به چیزی است که پلتفرم اجازه می‌دهد و گزارش‌دهی پیشرفته یا اتوماسیون اغلب نیاز به ارتقاء به طرح سطح بالاتر یا خرید افزونه‌های شخص ثالث دارد. می‌توانید با APIهای آن‌ها کار کنید، اما همیشه به قوانین و محدودیت‌های نرخ اکوسیستم آن‌ها محدود خواهید شد.

حکم: Beancount.io انعطاف‌پذیری بی‌نظیری را برای توسعه‌دهندگان و کاربران فنی فراهم می‌کند. ابزارهای سنتی برای گردش‌های کاری استاندارد و plug-and-play با برنامه‌های تجاری محبوب مناسب‌تر هستند.

۳. همکاری و شفافیت

نحوه کار شما با دیگران و حسابرسی سوابق شما به طور قابل توجهی متفاوت است.

Beancount.io همکاری در Beancount.io از طریق Git مدیریت می‌شود. این امر باعث می‌شود که هر تغییری در دفتر کل مالی شما کاملاً شفاف و قابل حسابرسی باشد. می‌توانید ببینید چه کسی، چه چیزی را، چه زمانی و چرا تغییر داده است - درست مانند گردش کار بررسی کد. این برای تیم‌های توزیع‌شده که از ابزارهایی مانند GitHub یا GitLab استفاده می‌کنند، ایده‌آل است. علاوه بر این، هیچ محاسبه پنهانی وجود ندارد. هر عدد در یک گزارش را می‌توان به ورودی دقیق ردیف در فایل دفتر کل شما ردیابی کرد و از حسابرسی کامل اطمینان حاصل کرد.

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

حکم: Beancount.io برای تیم‌هایی که برای حسابرسی دقیق و همکاری به سبک کد ارزش قائل هستند، عالی است. سیستم‌های سنتی برای دسترسی GUI مشترک و بلادرنگ، حسابدارپسندتر هستند.

۴. هزینه و مالکیت

مدل‌های مالی و مفهوم مالکیت داده‌ها دنیایی از هم جدا هستند.

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

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

حکم: Beancount.io در درازمدت به طور قابل توجهی مقرون به صرفه‌تر است، به ویژه برای تیم‌های فنی که برای حاکمیت داده‌ها ارزش قائل هستند. نرم‌افزار سنتی هزینه‌های اشتراک قابل پیش‌بینی را ارائه می‌دهد اما وابستگی طولانی‌مدت ایجاد می‌کند.

۵. منحنی یادگیری و پذیرش

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

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

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

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

مقایسه کنار هم

ویژگیBeancount.ioنرم‌افزار حسابداری سنتی
فلسفه اصلیحسابداری به عنوان کد؛ دفتر کل متن سادهمبتنی بر رابط کاربری گرافیکی؛ فرم محور
قالب دادهباز (متن ساده)اختصاصی (پایگاه داده)
مالکیت داده۱۰۰٪ متعلق به کاربر و قابل حملکنترل شده توسط فروشنده؛ قفل احتمالی
انعطاف‌پذیرینامحدود؛ کاملاً اسکریپت‌پذیر با پایتونمحدود به اکوسیستم و APIهای فروشنده
همکاریمبتنی بر Git؛ تاریخچه تغییرات شفافمجوزهای کاربر مبتنی بر نقش
شفافیتکاملاً قابل حسابرسی؛ بدون محاسبات پنهانبرخی از محاسبات می‌توانند مات باشند
مدل هزینههسته متن‌باز؛ پرداخت برای میزبانی/اتوماسیوناشتراک ماهانه/سالانه (SaaS)
منحنی یادگیریبرای کاربران غیرفنی شیب‌دارترکم؛ برای شروع سریع طراحی شده است
کاربر ایده‌آلتوسعه‌دهندگان، کاربران حرفه‌ای، تحلیلگران دادهصاحبان SMB، تیم‌های غیرفنی

چه زمانی هر کدام را انتخاب کنیم

تصمیم نهایی به مهارت‌ها، اولویت‌ها و گردش کار تیم شما بستگی دارد.

Beancount.io را انتخاب کنید اگر:

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

نرم‌افزار حسابداری سنتی را انتخاب کنید اگر:

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

افکار نهایی

Beancount.io سعی نمی‌کند QuickBooks بهتری باشد - این یک روش اساساً متفاوت برای تفکر است. این حسابداری را به عنوان کد نشان می‌دهد. برای متخصصان فنی، این تغییر همان جهش رو به جلویی را ارائه می‌دهد که کنترل نسخه با Git برای توسعه نرم‌افزار به ارمغان آورد: شفافیت کامل، تکرارپذیری کامل و کنترل نهایی.

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

فراتر از انتقال مستقیم: راهنمای کامل مالیات شرکت‌های S برای کاربران Beancount (2025)

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

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

در اینجا نحوه عملکرد واقعی مالیات برای یک شرکت S در سال 2025 و نحوه نگهداری یک رکورد تمیز و مقاوم در برابر حسابرسی در Beancount آورده شده است.

2025-07-26-s-corp-tax-guide-for-beancount-users


چه چیزی مشمول مالیات می‌شود (و کجا)

هسته ساختار شرکت S نحوه مدیریت سود آن است. این یک سیستم سه قسمتی است: درآمد انتقالی، مالیات در سطح نهاد و مالیات حقوق و دستمزد.

  • انتقال مستقیم در سطح فدرال: یک شرکت S به طور کلی هیچ مالیات بر درآمد فدرال بر سود عادی کسب و کار خود نمی‌پردازد. در عوض، آن سود (همراه با سایر اقلام مالیاتی مانند اعتبارات و کسورات) از طریق Schedule K-1 به سهامداران منتقل می‌شود. سهامداران این درآمد را در اظهارنامه‌های مالیاتی شخصی خود گزارش می‌کنند، چه پول نقد را از کسب و کار خارج کرده باشند چه نکرده باشند. نکته مهم این است که این سود K-1 مشمول مالیات خوداشتغالی نیست.
  • اما... مالیات در سطح نهاد می‌تواند اعمال شود: قانون "بدون مالیات شرکتی" مطلق نیست. در موارد خاص، یک شرکت S ممکن است مستقیماً بدهی مالیاتی داشته باشد. رایج‌ترین محرک‌ها مالیات سودهای داخلی (BIG) (برای تبدیل‌های اخیر C-corp) و مالیات درآمد غیرفعال خالص اضافی هستند.
  • مالیات حقوق و دستمزد واقعی هستند: این مهم‌ترین قانون برای سهامداران-کارمندان است. اگر در کسب و کار خود کار می‌کنید، باید غرامت معقولی به عنوان دستمزد W-2 قبل از دریافت هرگونه توزیع مالیاتی دریافت کنید. این دستمزدها مشمول FICA (بیمه اجتماعی و درمانی) و کسر مالیات بر درآمد هستند، درست مانند حقوق هر کارمند دیگر.

حقوق و دستمزد، در یک نگاه (2025) حقوق و دستمزد

برای هر سهامدار-کارمند، شما حقوق و دستمزد را اجرا می‌کنید و فرم‌های استاندارد مالیات حقوق و دستمزد، از جمله فرم 941 سه ماهه (برای کسر مالیات بر درآمد و FICA) و فرم 940 سالانه (برای مالیات بیکاری فدرال یا FUTA) را ثبت می‌کنید.

نرخ‌های کلیدی 2025 عبارتند از:

  • بیمه اجتماعی (OASDI): پایه دستمزد 176,100 دلار است. نرخ مالیات 6.2% برای کارمند و 6.2% برای کارفرما بر روی دستمزد تا این سقف است.
  • مراقبت‌های پزشکی: هیچ سقف دستمزدی وجود ندارد. نرخ 1.45% برای کارمند و 1.45% برای کارفرما بر روی تمام دستمزدها است.
  • مالیات اضافی مراقبت‌های پزشکی: مالیات 0.9% از دستمزد کارمندی که در یک سال از 200,000 دلار تجاوز کند، کسر می‌شود. برای این بخش هیچ تطبیقی ​​از طرف کارفرما وجود ندارد.

مالیات در سطح نهاد که ممکن است ببینید

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

  • مالیات سودهای داخلی (BIG): اگر کسب و کار خود را از C-corp به S-corp تبدیل کرده‌اید، با یک دوره شناسایی 5 ساله روبرو هستید. اگر دارایی‌های مشمول افزایش قیمت را که شرکت در دوران C-corp خود در این پنجره نگه داشته است بفروشید، خود شرکت S بر روی آن سودها مالیات شرکتی خواهد داشت. این در Schedule D فرم 1120-S محاسبه می‌شود.
  • مالیات درآمد غیرفعال خالص اضافی: این در صورتی اعمال می‌شود که شرکت S شما سود و منافع انباشته (AE&P) را از زندگی قبلی خود به عنوان C-corp داشته باشد و درآمد غیرفعال آن (مانند اجاره، حق امتیاز و بهره) از 25% از درآمد ناخالص آن تجاوز کند.
  • تخمین‌های سه ماهه برای این مالیات: اگر انتظار دارید مجموع مالیات BIG، مالیات بر درآمد غیرفعال و برخی مالیات بازیابی دیگر 500 دلار یا بیشتر باشد، شرکت S باید پرداخت‌های تخمینی سه ماهه انجام دهد. برای سال 2025، تاریخ‌های سررسید سال تقویمی 15 آوریل، 16 ژوئن، 15 سپتامبر و 15 دسامبر است.

موارد ایالتی و محلی 🗺️

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

  • کالیفرنیا: شرکت‌های S باید هر ساله حداقل 800 دلار مالیات حق امتیاز به اضافه 1.5% مالیات بر درآمد خالص بپردازند.
  • شهر نیویورک: شهر نیویورک انتخاب S-corp را به رسمیت نمی‌شناسد. یک S-corp فدرال به طور کلی مشمول مالیات کامل شرکت عمومی شهر نیویورک است.
  • مالیات نهاد انتقالی اختیاری (PTE): به عنوان راه حلی برای سقف کسر 10,000 دلاری SALT فدرال، بسیاری از ایالت‌ها اکنون به شرکت‌های S اجازه می‌دهند تا مالیات بر درآمد ایالتی را در سطح نهاد بپردازند. قوانین پیچیده و در حال تغییر هستند - قبل از انتخاب PTE با CPA خود صحبت کنید.

مالکان چه چیزی می‌پردازند

به عنوان یک سهامدار، تصویر مالیاتی شخصی شما مستقیماً با عملکرد S-corp مرتبط است.

  • درآمد K-1 در 1040 شما: شما درآمد، زیان، کسورات و اعتبارات منتقل شده به شما را در Schedule K-1 خود در فرم 1040 شخصی خود گزارش خواهید کرد.
  • مالیات تخمینی سه ماهه: از آنجایی که مالیات از درآمد K-1 شما کسر نمی‌شود، احتمالاً برای جلوگیری از جریمه‌های کم پرداختی، باید با استفاده از فرم 1040-ES پرداخت‌های تخمینی مالیات سه ماهه شخصی را به IRS انجام دهید.
  • کسر QBI (بخش 199A): درآمد انتقالی شما ممکن است واجد شرایط کسر درآمد واجد شرایط کسب و کار (QBI) باشد، که می‌تواند تا 20% از درآمد کسب و کار شما باشد. در سطوح درآمد بالاتر، این کسر می‌تواند توسط میزان دستمزد W-2 که S-corp می‌پردازد محدود شود - که باعث می‌شود رقم "غرامت معقول" شما حتی مهم‌تر شود.

ثبت و فرم‌های پایه

حداقل، انطباق سالانه شما شامل موارد زیر خواهد بود:

  • فرم 1120-S: اظهارنامه مالیات بر درآمد شرکت S.
  • Schedule K-1: برای هر سهامدار.
  • فرم‌های حقوق و دستمزد: 941های سه ماهه، 940 سالانه و W-2/W-3 برای کارمندان.
  • فرم 1099-NEC: برای پرداخت‌های 600 دلار یا بیشتر به اکثر پیمانکاران مستقل.

Beancount: آن را ترسیم کنید تا هرگز نپرسید "آن کجا رفت؟"

یک نمودار حساب‌های شفاف برای ردیابی این قطعات متحرک ضروری است.

حساب‌های آغازین

Assets:Bank:Operating
Assets:PrepaidTax:Federal ; برای پرداخت‌های تخمینی سطح S-corp
Expenses:Payroll:Wages
Expenses:Payroll:Employer:SocialSecurity
Expenses:Payroll:Employer:Medicare
Expenses:Payroll:Employer:FUTA
Expenses:Tax:Federal:S-Corp ; برای هزینه مالیات BIG/درآمد غیرفعال
Liabilities:Payroll:Withholding:{Federal,SocialSecurity,Medicare}
Equity:Distributions

مثال‌های تراکنش

اجرای حقوق و دستمزد (سمت شرکت + کسورات)

2025-02-28 * "حقوق و دستمزد - فوریه"
Assets:Bank:Operating -10350.00 USD
Expenses:Payroll:Wages 12500.00 USD
Expenses:Payroll:Employer:SocialSecurity 775.00 USD
Expenses:Payroll:Employer:Medicare 181.25 USD
Liabilities:Payroll:Withholding:Federal -3000.00 USD
Liabilities:Payroll:Withholding:SocialSecurity -775.00 USD
Liabilities:Payroll:Withholding:Medicare -181.25 USD

توزیع مالک (غیر دستمزدی)

2025-03-10 * "توزیع سهامدار"
Assets:Bank:Operating -5000.00 USD
Equity:Distributions 5000.00 USD

مالیات تخمینی در سطح شرکت (در صورت لزوم)

2025-04-15 * "تخمین سطح نهاد 1120-S (مالیات BIG/غیرفعال)"
Assets:Bank:Operating -1200.00 USD
Assets:PrepaidTax:Federal 1200.00 USD

علامت گذاری تاریخ‌های ثبت کلیدی

2026-03-15 note "فرم 1120-S سال 2025 به صورت الکترونیکی ثبت شد. K-1ها برای همه سهامداران ارائه شد."

بررسی‌های سلامت (bean-query)

از پرس و جوها برای اطمینان از سالم بودن رکوردهای خود استفاده کنید.

دستمزد در مقابل توزیع سال تا به امروز (بررسی واقعیت غرامت معقول)

SELECT account, SUM(position)
WHERE (account ~ "Expenses:Payroll:Wages" OR account ~ "Equity:Distributions")
AND year = 2025
GROUP BY account;

آیا تحویل K-1 را ثبت کردیم؟

SELECT date, narration WHERE narration ~ "K-1";

نکات عملی (تا IRS تماس نگیرد) ✅

  1. "غرامت معقول" را مستند کنید. یک یادداشت ساده با وظایف شغلی، تخصیص زمان و پیوندهایی به داده‌های حقوق بازار نگه دارید. این مبلغ را از طریق حقوق و دستمزد رسمی W-2 پرداخت کنید.
  2. دستمزد و توزیع را به طور کامل جدا کنید. هرگز آنها را با هم مخلوط نکنید. دفتر کل Beancount شما باید تمایز را آشکار کند.
  3. قوانین ایالتی را رعایت کنید. از حداقل مالیات (مانند کالیفرنیا) یا عدم شناسایی S-corp (مانند شهر نیویورک) آگاه باشید.
  4. تخمین‌ها را دوباره بررسی کنید. اگر درآمد شما در اواسط سال به طور قابل توجهی تغییر کرد، هم 1040-ES شخصی خود و هم هرگونه پرداخت تخمینی در سطح S-corp را تنظیم کنید.

این راهنما اطلاعات کلی را ارائه می‌دهد، نه مشاوره مالیاتی. هر موقعیت تجاری متفاوت است. همیشه برای راهنمایی خاص در مورد شرایط خود با یک CPA واجد شرایط مشورت کنید.

ایجاد و پیگیری فاکتورها با Beancount

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

یک الگوی متن ساده، یک گردش کار تکرارپذیر، و یک پرس و جوی واحد برای «چه کسی هنوز به من بدهکار است؟»


2022-02-12-crafting-tracking-invoices-with-beancount

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

در حالی که برنامه‌های SaaS اختصاصی می‌توانند فایل‌های PDF شیک و خودکار ارسال کنند، اغلب با هزینه‌های ماهانه همراه هستند و داده‌های شما را در یک silo اختصاصی قفل می‌کنند. یک رویکرد سبک و متن ساده با استفاده از Beancount جایگزین قدرتمندی ارائه می‌دهد. می‌توانید هر فاکتور را به مجموعه‌ای واضح از ورودی‌های حسابداری تبدیل کنید و از مزایای کنترل نسخه، ابرداده‌های قدرتمند و پرس و جوی فوری بهره‌مند شوید - بدون نیاز به اشتراک.


حداقل فاکتور قابل قبول (فیلدهایی که هرگز نباید از آنها صرف نظر کنید)

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

  • جزئیات فروشنده: نام و آدرس فیزیکی کسب و کار شما.
  • جزئیات مشتری: نام مشتری شما و (در صورت امکان) آدرس آنها.
  • شماره فاکتور: یک شناسه منحصر به فرد و متوالی که هرگز دوباره استفاده نمی‌شود. INV-045 بعد از INV-044 می‌آید.
  • تاریخ صدور و سررسید: به وضوح بیان کنید که فاکتور چه زمانی صادر شده و چه زمانی انتظار پرداخت می‌رود.
  • اقلام فاکتور: شرح واضحی از خدمات یا محصولات، همراه با کمیت، نرخ و جمع کل هر ردیف.
  • جمع جزئی، مالیات و جمع کل: محاسبات را نشان دهید تا مشتری بتواند به راحتی آن را دنبال کند.
  • یادداشت‌های اختیاری: مکانی برای تشکر، دستورالعمل‌های واریز یا شماره سفارش خرید ارائه شده توسط مشتری.

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

Note: Invoice templates are coming soon! In the meantime, you can create your own using the fields listed above in Google Docs, Word, Sheets, Excel, or any other document format.


ثبت فاکتور در دفتر کل شما

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

1. هنگام صدور فاکتور:

شما تراکنشی ایجاد می‌کنید که کل مبلغ را از حساب Income شما به Assets:AccountsReceivable منتقل می‌کند. این یک IOU دیجیتال در دفاتر شما ایجاد می‌کند.

; 1404-05-01 فاکتور #045  طراحی وب برای شرکت Acme
2025-07-21 * "شرکت Acme" "INV-045 طراحی وب"
Assets:AccountsReceivable 3500.00 USD ; due:2025-08-04
Income:Design:Web
invoice_id: "INV-045"
contact_email: "ap@acme.example"
link: "docs/invoices/2025-07-21_Acme_INV-045.pdf"

در اینجا، شما AccountsReceivable را بدهکار و حساب Income خود را بستانکار می‌کنید. به ابرداده‌های غنی توجه کنید: تاریخ سررسید، invoice_id منحصر به فرد و حتی یک link: مستقیم به PDF که ارسال کرده‌اید.

2. هنگام پرداخت مشتری:

وقتی پول به حساب بانکی شما واریز می‌شود، تراکنش دومی را برای "بستن" IOU ثبت می‌کنید. این موجودی را از AccountsReceivable به حساب جاری شما منتقل می‌کند.

2025-08-01 * "شرکت Acme" "پرداخت INV-045"
Assets:Bank:Checking 3500.00 USD
Assets:AccountsReceivable
invoice_id: "INV-045"

موجودی INV-045 در Assets:AccountsReceivable اکنون صفر است و دفاتر شما کاملاً متعادل هستند.

پیوست کردن PDF: کلید ابرداده link: به ویژه هنگام استفاده با Fava، رابط وب Beancount، قدرتمند است. Fava یک لینک قابل کلیک را مستقیماً در نمای تراکنش ارائه می‌دهد، بنابراین سند منبع هرگز بیش از یک کلیک فاصله ندارد. این گردش کار در اوایل سال 2016 در یک درخواست ویژگی (GitHub) پیش‌بینی شده بود.


یک پرس و جو برای فهرست کردن همه فاکتورهای باز

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

موارد زیر را به عنوان فایلی با نام open-invoices.sql ذخیره کنید:

SELECT
meta('invoice_id') AS id,
payee,
narration,
date,
number(balance) AS outstanding
WHERE
account = "Assets:AccountsReceivable"
AND balance != 0
ORDER BY
date;

حالا، آن را از خط فرمان خود اجرا کنید:

bean-query books.beancount open-invoices.sql

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


خودکارسازی کارهای تکراری

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

  • قالب + Pandoc = PDF: الگوی فاکتور خود را در Markdown نگه دارید. یک اسکریپت کوچک پایتون می‌تواند متغیرها (نام مشتری، اقلام فاکتور، شماره فاکتور) را پر کند و ابزار خط فرمان Pandoc می‌تواند فوراً آن را به یک PDF حرفه‌ای تبدیل کند.
  • قلاب Git Pre-commit: اگر دفتر کل خود را در Git ذخیره می‌کنید، یک قلاب pre-commit ساده می‌تواند قبل از ذخیره کار شما، بررسی‌هایی را انجام دهد. می‌تواند تأیید کند که هر invoice_id جدید منحصر به فرد است، که ارسال‌های تراکنش به صفر می‌رسد و فایلی که در ابرداده link: به آن ارجاع داده شده است واقعاً وجود دارد.
  • Cron Job: یک کار زمان‌بندی شده (cron job) تنظیم کنید تا پرس و جوی open-invoices.sql شما هر شب اجرا شود و خلاصه را برای شما ایمیل کند. شما هر روز را با دانستن دقیق اینکه چه کسی به یک یادآوری دوستانه نیاز دارد، شروع خواهید کرد.

یک هشدار واقع‌بینانه

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

برای اکثر فریلنسرها و فروشگاه‌های کوچک، این مرحله دستی قیمت کمی برای یک سیستم حسابداری ضدگلوله، قابل حسابرسی و رایگان است که شما کاملاً مالک و کنترل آن هستید (beancount.io).


مراحل بعدی

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

  1. یک الگو دانلود کنید و از آن برای ایجاد فاکتور واقعی بعدی خود استفاده کنید و مطمئن شوید که از یک شماره فاکتور متوالی استفاده می‌کنید.
  2. فایل‌های PDF ارسال شده خود را در یک پوشه اختصاصی مانند docs/invoices/ ذخیره کنید و از کلید ابرداده link: در تراکنش Beancount خود برای ارجاع به آنها استفاده کنید.
  3. پرس و جوی open-invoices.sql را ذخیره کنید و اجرای آن را بخشی از بررسی مالی هفتگی خود قرار دهید.

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

مبانی حسابداری با Beancount: مسیری ساده با متن خام برای حساب‌های دقیق

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

اگر نمی‌دانید پول کجا می‌رود، نمی‌توانید کسب‌وکار را هدایت کنید. حساب‌های دقیق، حدس و گمان را به بینش تبدیل می‌کنند. (Investopedia)

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

2019-03-24-bookkeeping-basics

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

حسابداری چیست؟

در هسته خود، حسابداری ثبت سیستماتیک و مداوم هر تراکنش مالی است که یک کسب‌وکار انجام می‌دهد. این نظم روزانه پیگیری درآمد، هزینه‌ها، دارایی‌ها (آنچه که دارید) و بدهی‌ها (آنچه که بدهکار هستید) است.

در دنیای Beancount، این سوابق در نرم‌افزار اختصاصی قفل نمی‌شوند. آن‌ها در فایل‌های متنی ساده و قابل خواندن توسط انسان زندگی می‌کنند. این رویکرد به شما امکان می‌دهد تاریخچه مالی خود را با ابزارهایی مانند Git، درست مانند یک پروژه نرم‌افزاری، کنترل نسخه کنید. هر ورودی توسط قانون توازن دوطرفه اداره می‌شود، یک سیستم زیبا که به طور خودکار کار شما را بررسی می‌کند و تضمین می‌کند که حساب‌های شما همیشه صحیح هستند. (beancount)

چرا اهمیت دارد؟

حسابداری دقیق فقط مربوط به مرتب بودن اداری نیست. این یک مزیت استراتژیک است.

  • اطمینان مالیاتی: وقتی فصل مالیات فرا می‌رسد، سوابق دقیق بهترین دوست شما هستند. اداره مالیات نیاز به مستندات واضح برای درآمد و کسورات دارد. یک دفتر کل به‌روز به این معنی است که می‌توانید با اطمینان خاطر پرونده تشکیل دهید و هرگونه حسابرسی احتمالی را به طور چشمگیری کوتاه کنید. (IRS)
  • تصمیم‌گیری‌های دقیق‌تر: آیا قیمت‌های شما به اندازه کافی بالا هستند؟ آیا یک قرارداد خدمات خاص واقعاً سودآور است؟ آیا هزینه‌های اشتراک از کنترل خارج می‌شوند؟ صورت‌های مالی مانند صورت سود و زیان و ترازنامه، نشتی‌های قیمت‌گذاری، هزینه‌های بی‌رویه و چاله‌های جریان نقدی را آشکار می‌کنند و به مدیران و سرمایه‌گذاران داده‌های لازم برای تصمیم‌گیری‌های هوشمندانه را می‌دهند. (Investopedia)
  • تأمین مالی آسان‌تر: وام‌دهندگان و سرمایه‌گذاران بر اساس احساسات تصمیم نمی‌گیرند. قبل از انتقال وجه، آن‌ها صورت‌های مالی را درخواست می‌کنند. حساب‌های خوب به شما این امکان را می‌دهند که در عرض چند ثانیه ترازنامه یا صورت سود و زیان ایجاد کنید و حرفه‌ای بودن و سلامت مالی را نشان دهید. (Investopedia)
  • هشدارهای تقلب و خطا: تطبیق معمول حساب‌های شما با صورت‌حساب‌های بانکی، اولین خط دفاعی شما در برابر اشتباهات است. این عادت ساده به شما کمک می‌کند تا هزینه‌های تکراری، خطاهای بانکی یا فعالیت‌های کلاهبرداری را به سرعت، قبل از اینکه به مشکلات قابل توجهی تبدیل شوند، تشخیص دهید. (IRS)

یک طرح هفت مرحله‌ای با متن ساده

آماده شروع هستید؟ در اینجا نحوه ساخت سیستم حسابداری Beancount خود از پایه آورده شده است.

۱. حساب‌های تجاری و شخصی را جدا کنید

این اولین قدم غیرقابل مذاکره است. یک حساب جاری تجاری اختصاصی و در صورت لزوم، یک کارت اعتباری تجاری باز کنید. ترکیب وجوه، کابوسی برای حسابداری ایجاد می‌کند و می‌تواند مرزهای مسئولیت بین شما و کسب‌وکارتان را محو کند. جداسازی دقیق برای کسورات دقیق و حمایت قانونی ضروری است. (Small Business Administration)

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

; موجودی اولیه برای حساب‌های شما
2025-07-22 open Assets:Bank:Business USD
2025-07-22 open Assets:Bank:Personal USD

۲. یک سیستم حسابداری انتخاب کنید

Beancount از روش دوطرفه استفاده می‌کند، استاندارد طلایی حسابداری برای قرن‌ها. اصل ساده است: هر تراکنش حداقل بر دو حساب تأثیر می‌گذارد. برای هر بدهی از یک حساب، باید یک اعتبار متناظر به حساب دیگر وجود داشته باشد. جادوی این سیستم این است که مجموع همه حساب‌های شما همیشه باید صفر باشد. Beancount این قانون را به طور خودکار اجرا می‌کند، به این معنی که یک اشتباه تایپی یا منطقی بلافاصله یک پرچم را بالا می‌برد. شما به معنای واقعی کلمه نمی‌توانید حساب‌های نامتوازن داشته باشید. (beancount)

۳. در مورد روش حسابداری تصمیم بگیرید

شما در اینجا دو انتخاب اصلی دارید:

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

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

; مثال تعهدی: فاکتور صادر شده، پرداخت بعداً
2025-07-22 * "فاکتور طراحی #101"
Assets:AccountsReceivable 3000.00 USD
Income:Design

2025-08-15 * "مشتری فاکتور #101 را پرداخت می‌کند"
Assets:Bank:Business 3000.00 USD
Assets:AccountsReceivable

۴. ابزارهای خود را جمع‌آوری کنید

زیبایی Beancount در ماهیت مینیمالیستی و ماژولار آن است. ابزارهای اصلی شما عبارتند از:

  • ویرایشگر + Git: ویرایشگر متن مورد علاقه شما برای ثبت تراکنش‌ها و Git برای کنترل نسخه، به شما یک تاریخچه کامل و قابل حسابرسی از هر تغییر می‌دهد.
  • bean-report / bean-balance / Fava: ابزارهای خط فرمان مانند bean-report و رابط وب خیره‌کننده Fava به شما صورت‌های مالی فوری، داشبوردها و قابلیت‌های فیلتر قدرتمند می‌دهند.
  • واردکنندگان: یک اکوسیستم غنی از واردکنندگان ساخته شده توسط جامعه می‌تواند از طریق CSV، Plaid یا API برای سرویس‌هایی مانند Stripe و PayPal به فیدهای بانکی شما متصل شود و بسیاری از ورودی داده‌ها را خودکار کند.

۵. هر تراکنش را دسته‌بندی کنید

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

2025-07-30 * "صورت‌حساب ماهانه AWS"
Expenses:Hosting:AWS 124.50 USD
Assets:Bank:Business
tag: "ops"

در این مثال، هزینه به وضوح در زیر Expenses:Hosting:AWS ثبت شده است. استفاده از tag: "ops" همچنین امکان گزارش‌های متقاطع، مانند مشاهده همه هزینه‌های عملیاتی صرف نظر از دسته اصلی آن‌ها را فراهم می‌کند. (IRS)

۶. اسناد منبع را با خیال راحت ذخیره کنید

اداره مالیات با کمال میل کپی‌های دیجیتالی رسیدها و فاکتورها را می‌پذیرد. رسیدهای کاغذی را اسکن کنید یا فاکتورهای ایمیل را به یک پوشه اختصاصی در فضای ذخیره‌سازی ابری (مانند Google Drive یا Dropbox) ارسال کنید. سپس، با استفاده از ابرداده، مستقیماً به فایل در ورودی Beancount خود پیوند دهید. این یک رکورد خودکفا و بدون نقص ایجاد می‌کند.

; تصویر رسید به عنوان ابرداده پیوند داده شده است
2025-07-18 * "ناهار تیمی"
Expenses:Meals 85.10 USD
Assets:Bank:Business
receipt: "receipts/2025-07-18-team-lunch.jpg"

۷. حسابداری را به یک عادت تبدیل کنید

ثبات کلید است. تعلل، حسابداری را به یک کار استرس‌زا و وقت‌گیر تبدیل می‌کند. یک بلوک زمانی تکراری - یک "روز-Bean" هفتگی یا ماهانه - برای وارد کردن تراکنش‌ها، تطبیق حساب‌ها و بررسی گزارش‌های مالی خود کنار بگذارید. این روال ساده، حسابداری را از یک تلاش فصلی به یک بررسی سلامت سریع و توانمندکننده کسب‌وکار تبدیل می‌کند. (IRS)

خودتان انجام دهید در مقابل کمک حرفه‌ای

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

چک لیست شروع سریع

  • حساب‌های بانکی تجاری جداگانه باز کنید.
  • مخزن شروع Beancount را کلون کنید و حساب‌های خود را در accounts.bean تعریف کنید.
  • نقدی یا تعهدی را انتخاب کنید و به آن پایبند باشید.
  • واردکنندگان را برای خودکارسازی ورود داده از بانک (CSV)، Stripe، PayPal و غیره تنظیم کنید.
  • برای هر تراکنش برچسب بزنید و توضیحات واضح بنویسید.
  • دفتر کل خود را هفتگی یا ماهانه با صورت‌حساب‌های بانکی تطبیق دهید.
  • با استفاده از Fava یا bean-report گزارش‌های ماهانه درآمد، ترازنامه و جریان نقدی ایجاد کنید.
  • به طور منظم از فایل‌های .bean خود نسخه پشتیبان تهیه کنید (Git + ذخیره‌سازی خارج از سایت).

مطالعه بیشتر

آماده شروع هستید؟ Beancount را نصب کنید، اولین ورودی خود را ثبت کنید و مه صفحات گسترده را با شفافیت متن ساده عوض کنید. حسابداری مبارک!