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

24 پست با برچسب "accounting"

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

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

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

دوره حسابداری، به سبک Beancount

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

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

خواهیم دید که رویکرد متنی‑اول Beancount چگونه گام‌های خسته‌کننده را حذف می‌کند، چه مواردی را باید خودکار کنید و کدام گزارش‌ها واضح‌ترین تصویر از سلامت مالی شما را ارائه می‌دهند. 🧑‍💻

2025-08-13-the-accounting-cycle-beancount-style


TL;DR: جریان کار Beancount

  • Capture & Journal: هر تراکنش را به‌صورت یک پستینگ دوبل‑انتری تمیز در فایل متنی .beancount خود ثبت کنید.
  • Validate & Reconcile: از ادعاهای balance برای تأیید تطابق دفتر کل با صورت‌حساب‌های بانکی استفاده کنید و bean-check را برای کشف خطاها اجرا کنید.
  • Review: یک تراز آزمایشی بدون تنظیم برای بررسی سریع صحت داده‌ها تولید کنید.
  • Adjust: ورودی‌های مربوط به تعهدات، تعویق‌ها، استهلاک و سایر موارد پایان دوره را پست کنید.
  • Re-review: تراز آزمایشی تنظیم‌شده را بررسی کنید تا از صحت همه چیز اطمینان حاصل کنید.
  • Publish & Close: صورت‌های سود و زیان، ترازنامه و صورت جریان نقدی خود را تولید کنید. بسته‌بندی دفاتر در Beancount اختیاری است، زیرا گزارش‌ها به تاریخ حساس هستند.

این جریان می‌تواند به‌صورت زیر تجسم شود:


گام ۱: ثبت و ضبط تراکنش‌ها

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

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

2025-08-10 * "Walmart" "Purchase of office supplies"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
  • نکته حرفه‌ای: از برچسب‌هایی مثل #project-phoenix یا #client-acme برای افزودن ابعاد به داده‌ها استفاده کنید. این کار بعداً پرس‌و‌جو و گزارش‌گیری را به‌طرز فوق‌العاده‌ای انعطاف‌پذیر می‌کند.

بهداشت تطبیق ✅

قوی‌ترین ویژگی برای اطمینان از دقت، ادعای توازن است. در پایان یک دوره (مثلاً پایان ماه) شما اعلام می‌کنید که موجودی یک حساب باید چه مقدار باشد.

2025-08-31 balance Assets:Bank:Checking  12345.67 USD

اگر مجموع تمام تراکنش‌های مؤثر بر Assets:Bank:Checking تا آن تاریخ برابر با 12345.67 USD نباشد، Beancount خطا می‌دهد. این دستور ساده دفتر کل شما را به سندی خودحسابرسی تبدیل می‌کند.

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


گام ۲: «پست به دفتر کل» (رایگان!)

در سیستم‌های حسابداری سنتی ابتدا ورودی‌ها را در «دفتر روزنامه» می‌نویسید و سپس یک گام جداگانه «پست» این مقادیر را به «دفتر کل عمومی» کپی می‌کند.

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


گام ۳: تهیه تراز آزمایشی بدون تنظیم

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

می‌توانید این را با یک پرس‌و‌جوی ساده تولید کنید:

bean-query main.beancount \
"SELECT account, sum(position) GROUP BY 1 ORDER BY 1"

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


گام ۴: ثبت ورودی‌های تنظیمی

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

تنظیمات رایج شامل:

  • تعهدات: ثبت درآمدی که کسب کرده‌اید اما هنوز فاکتور نشده است، یا هزینه‌ای که متحمل شده‌اید اما هنوز پرداخت نشده.
  • تعویق‌ها: مدیریت پیش‌پرداخت‌ها. اگر مشتری برای یک سال خدمات پیش‌پرداخت کند، آن را به‌عنوان بدهی (Liabilities:UnearnedRevenue) ثبت می‌کنید و هر ماه ۱/۱۲ آن را به‌عنوان درآمد شناسایی می‌کنید.
  • موارد غیرنقدی: ثبت مواردی مانند استهلاک دارایی‌ها.
  • تصحیحات: رفع خطاها یا حساب کردن موارد از دست رفته در فیدهای بانکی، مثل پرداخت سود کوچک.

مثال: تعهد درآمد

پروژه‌ای را در ۳۱ آگوست تمام کردید اما فاکتور را تا سپتامبر ارسال نمی‌کنید. برای شناسایی درآمد در دوره صحیح (آگوست) یک ورودی تنظیمی می‌نویسید:

2025-08-31 * "Accrue revenue for client project #1042"
Assets:AccountsReceivable 3000.00 USD
Income:Consulting -3000.00 USD

مثال: ثبت استهلاک

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

2025-12-31 * "Annual depreciation on computer equipment"
Expenses:Depreciation 4800.00 USD
Assets:Fixed:AccumulatedDepreciation -4800.00 USD

گام ۵: اجرای تراز آزمایشی تنظیم‌شده و اعتبارسنجی

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

همچنین زمان مناسبی است برای اجرای بررسی داخلی Beancount:

bean-check main.beancount

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


گام ۶: انتشار صورت‌های مالی 📊

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

  • صورت سود و زیان (Profit & Loss): درآمدها و هزینه‌های شما را در یک دوره نشان می‌دهد و به سود خالص یا زیان خالص می‌رسد.
  • ترازنامه: تصویر لحظه‌ای از آنچه دارید (دارایی‌ها) و آنچه بدهکارید (بدهی‌ها) به‌همراه ارزش خالص (سرمایه) در یک تاریخ خاص.
  • صورت جریان نقدی: نقدینگی آغازین را با نقدینگی پایان مقایسه می‌کند و نشان می‌دهد پول از کجا آمده و به کجا رفته است.

برای گزارش‌های سفارشی می‌توانید از زبان پرس‌و‌جوی Beancount (BQL) استفاده کنید. در اینجا یک پرس‌و‌جو برای صورت سود و زیان ماهانه آورده شده است:

-- P&L for August 2025
SELECT account, sum(position)
WHERE account '^(Income|Expenses)'
AND date >= 2025-08-01 AND date <= 2025-08-31
GROUP BY account ORDER BY account;

گام ۷: بسته‌بندی دفاتر (اختیاری)

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

در Beancount این گام معمولاً نیازی نیست. گزارش‌های Fava به تاریخ حساس هستند؛ اگر درخواست صورت سود و زیان ۲۰۲۵ را بدهید، فقط از داده‌های ۲۰۲۵ استفاده می‌کند. موجودی‌ها «ریخت» نمی‌شوند. اکثر کاربران به سادگی موجودی‌ها را همان‌جا می‌گذارند.

با این حال، اگر برای انطباق یا گزارش به سهامداران نیاز به بسته شدن رسمی داشته باشید، می‌توانید با یک تراکنش پایان سال کل درآمد و هزینه را به Equity:Retained-Earnings منتقل کنید.


چک‌لیست بسته‌بندی ماهانه عملی

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

  • Capture: تمام تراکنش‌های بانکی و کارت‌اعتبار را وارد کنید. هر هزینه نقدی یا موارد خارج از باند را به‌صورت دستی وارد کنید.
  • Reconcile: ادعاهای balance را برای تمام حساب‌های بانکی، کارت‌های اعتباری و حساب‌های وام اضافه کنید و با صورت‌حساب‌ها مطابقت دهید.
  • Review: تراز آزمایشی بدون تنظیم را در Fava اسکن کنید. هر موجودی عجیب یا غیرمنتظره را بررسی کنید. فاکتورهای پرداخت‌نشده قدیمی (Assets:AccountsReceivable) یا صورتحساب‌های معوق (Liabilities:AccountsPayable) را بررسی کنید.
  • Adjust: ورودی‌های مربوط به درآمد/هزینه تعهدی، درآمد تعویقی و هر تصحیح لازم را ثبت کنید.
  • Validate: bean-check را اجرا کنید. تراز آزمایشی تنظیم‌شده نهایی را مرور کنید.
  • Publish: صورت سود و زیان و ترازنامه را تولید کنید. آن‌ها را برای ذینفعان ارسال کنید یا برای سوابق خود ذخیره کنید.
  • Wrap-up: در صورت نیاز به بسته شدن رسمی، ورودی بسته شدن را انجام دهید. یک نسخه از فایل‌های .beancount دوره را بایگانی کنید.

چرا Beancount برای دوره حسابداری می‌درخشد

  • شفافیت و قابلیت حسابرسی: دفتر کل شما یک فایل متنی است. می‌توانید از git برای کنترل نسخه تاریخچه مالی، مرور تغییرات با diff و همکاری با حسابدار خود در قالبی واضح و بدون ابهام استفاده کنید.
  • کنترل کامل: نمودار حساب‌های خود را تعریف می‌کنید. در ساختار نرم‌افزارهای تجاری قفل نمی‌شوید. داده‌های شما برای همیشه در قالب باز و مال شماست.
  • قدرت بی‌نظیر: ترکیب پرس‌و‌جوهای شبیه‑SQL (BQL) و رابط وب غنی (Fava) به شما قدرتی بی‌نظیر برای برش، خرد کردن و درک داده‌های مالی می‌دهد.

قطعه‌های کپی‑پست برای شروع

نمودار ساده حساب‌ها:

option "title" "My Personal Ledger"
option "operating_currency" "USD"

;; --- Accounts ---
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:CreditCard
1970-01-01 open Liabilities:UnearnedRevenue
1970-01-01 open Equity:Owner:Capital
1970-01-01 open Equity:Retained-Earnings
1970-01-01 open Income:Consulting
1970-01-01 open Expenses:Office:Supplies
1970-01-01 open Expenses:Software
1970-01-01 open Expenses:Depreciation

پرس‌و‌جوی مفید BQL:

-- Find all customers with an outstanding balance
SELECT payee, sum(position)
WHERE account = 'Assets:AccountsReceivable'
GROUP BY payee
HAVING sum(position) > 0
ORDER BY sum(position) DESC;

با نگاشت دوره حسابداری بی‌زمان به ابزارهای مدرن متنی Beancount، سیستمی قوی، شفاف و ماندگار به دست می‌آورید. حسابداری خوشایند!

Understanding Accounts Receivable (A Beancount Guide)

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

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

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

2025-08-12-understanding-accounts-receivable


TL;DR

حساب‌های دریافتنی (AR) پولی است که مشتریان برای کالاها یا خدماتی که قبلاً تحویل داده‌اید، به شما بدهکارند. این یک دارایی جاری در ترازنامه شماست، در حسابداری تعهدی مرکزی است و عامل کلیدی جریان نقدی کسب‌وکار شماست. می‌توانید AR را به‌صورت تمیز در Beancount با استفاده از حساب‌های فرعی مشتری، لینک‌کردن فاکتورها به پرداخت‌ها با ^links و اجرای چند پرس‌وجوی ساده پیگیری کنید. برای اندازه‌گیری سرعت وصول، می‌توانید نسبت گردش AR و روزهای فروش معوق (DSO) را محاسبه کنید. برای مدیریت ریسک، می‌توانید از ذخیره‌سازی برای حساب‌های مشکوک استفاده کنید.


حساب‌های دریافتنی چیست؟

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

چرا مهم است
مدیریت مؤثر AR برای حفظ نقدینگی سالم حیاتی است. هرچه سریع‌تر فاکتورهای خود را وصول کنید، دوره تبدیل نقدینگی شما کوتاه‌تر می‌شود — زمان لازم برای تبدیل سرمایه‌گذاری‌های موجودی و سایر منابع به نقد. با نظارت بر معیارهایی مانند نسبت گردش AR و DSO می‌توانید تصویر واضحی از کارایی وصول خود به‌دست آورید و برای بهبود آن اقدام کنید.

حساب‌های دریافتنی در مقابل حساب‌های پرداختنی (مروری یک‌خطی)

  • AR = پولی که به شما بدهکار است (یک دارایی است).
  • AP = پولی که شما به دیگران بدهکارید (یک بدهی است).

جریان حساب‌های دریافتنی در حسابداری دوطرفه

به‌صورت مفهومی، چرخه یک دریافتنی این مراحل را دنبال می‌کند:

  1. صدور فاکتور (فروش اعتباری): وقتی فاکتور می‌فرستید، دارایی‌های خود (به‌ویژه حساب‌های دریافتنی) را افزایش می‌دهید و درآمد کسب‌شده را شناسایی می‌کنید.
  2. دریافت نقدینگی: وقتی مشتری پرداخت می‌کند، یک دارایی (Assets:Bank) را افزایش می‌دهید و دارایی دیگر (Assets:AR) را کاهش می‌دهید. اثر خالص بر کل دارایی‌ها صفر است، اما موقعیت نقدی شما بهبود می‌یابد.
  3. تخفیف یا اعتبار: اگر تخفیف پیش‌پرداختی ارائه دهید یا برگه اعتبار صادر کنید، مانده AR مشتری را کاهش می‌دهید و آن را با هزینه تخفیف یا کاهش درآمد (کنترا‑درآمد) جبران می‌کنید.
  4. بدی‌های مشکوک: متأسفانه همه فاکتورها پرداخت نمی‌شوند. برای حساب کردن این موارد می‌توانید یک ذخیره‌سازی برای حساب‌های مشکوک (یک کنترا‑دارایی که ارزش AR را کاهش می‌دهد) و هزینه بدی مشکوک مربوطه را شناسایی کنید. سپس می‌توانید فاکتور خاصی را که غیرقابل وصول است نسبت به این ذخیره‌سازی حذف کنید.

مدل‌سازی AR در Beancount

Beancount یک سیستم حسابداری متنی، دوطرفه است که به‌طور کامل برای پیگیری AR مناسب است. استفاده از tags (که با # شروع می‌شوند)، links (که با ^ شروع می‌شوند) و زبان پرس‌وجوی شبیه‑SQL (bean-query) تمام فرآیند AR شما را شفاف، قابل حسابرسی و اسکریپت‌پذیر می‌کند.

ساختار پیشنهادی حساب‌ها

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

Assets:AR
Assets:AR:Clients:<Name>
Assets:AR:Allowance ; یک حساب کنترا‑دارایی

Income:Sales
Income:Contra:SalesDiscounts ; جایگزینی برای حساب هزینه

Expenses:SalesDiscounts
Expenses:BadDebt

1. ثبت فروش اعتباری (صدور فاکتور)

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

2025-07-01 * "Acme Co." "Invoice 2025-045 · Web design" ^INV-2025-045 #ar #client:acme
invoice: "2025-045"
due: "2025-07-31"
document: "/invoices/2025/INV-2025-045.pdf"
Assets:AR:Clients:Acme-Co 1200.00 USD
Income:Sales -1200.00 USD
  • لینک ^INV-2025-045 یک شناسهٔ یکتاست که این فاکتور را به پرداخت(های) آینده‌اش متصل می‌کند.
  • متادیتای document: به Fava (رابط وب Beancount) امکان می‌دهد لینک کلیکی مستقیم به فایل PDF فاکتور ارائه دهد.

2. ثبت پرداخت کامل

وقتی Acme Co. فاکتور را به‌صورت کامل پرداخت کرد، مانده دریافتنی آن‌ها را پاک می‌کنید.

2025-07-25 * "Acme Co." "Payment for INV-2025-045" ^INV-2025-045 #ar
Assets:Bank:Checking 1200.00 USD
Assets:AR:Clients:Acme-Co -1200.00 USD

استفاده از همان لینک ^INV-2025-045 ردپای حسابرسی واضحی بین فاکتور و پرداخت ایجاد می‌کند.

3. مدیریت پرداخت‌های جزئی

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

2025-07-20 * "Acme Co." "Partial payment INV-2025-045" ^INV-2025-045 #ar
Assets:Bank:Checking 400.00 USD
Assets:AR:Clients:Acme-Co -400.00 USD

یک پرس‌وجو روی ^INV-2025-045 فاکتور اصلی ۱۲۰۰ دلاری و این پرداخت ۴۰۰ دلاری را نشان می‌دهد و ماندهٔ ۸۰۰ دلاری را باقی می‌گذارد.

4. مدیریت تخفیف پیش‌پرداخت

فرض کنید برای فاکتور ۱۰۰۰ دلاری، در صورت پرداخت زودهنگام ۲٪ تخفیف بدهید.

2025-07-10 * "Acme Co." "2% early-payment discount on INV-2025-046" ^INV-2025-046 #ar
Assets:Bank:Checking 980.00 USD
Expenses:SalesDiscounts 20.00 USD
Assets:AR:Clients:Acme-Co -1000.00 USD

در اینجا دریافتنی کامل ۱۰۰۰ دلاری پاک می‌شود، ۹۸۰ دلار نقد دریافت می‌شود و ۲۰ دلار تخفیف به‌عنوان هزینه ثبت می‌شود. نکته: بسیاری از دفاتر تخفیف‌های فروش را به‌جای هزینه، به‌عنوان کنترا‑درآمد ثبت می‌کنند. استفاده از حساب هزینه برای دفاتر کوچک‌تر ساده‌تر است. مهم این است که یک روش را انتخاب کنید و به‌صورت یکنواخت از آن استفاده کنید.

5. افزودن مالیات بر فروش به فاکتورها

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

2025-07-01 * "Acme Co." "INV-2025-047 · Hardware + tax" ^INV-2025-047 #ar
invoice: "2025-047"
due: "2025-07-31"
Assets:AR:Clients:Acme-Co 1100.00 USD
Income:Sales -1000.00 USD
Liabilities:Tax:Sales -100.00 USD

در اینجا ۱۱۰۰ دلار فاکتور شده، ۱۰۰۰ دلار درآمد شناسایی می‌شود و ۱۰۰ دلار به‌عنوان بدهی مالیاتی به مقامات مالیاتی ثبت می‌شود.

6. مدیریت بدی‌های مشکوک (روش ذخیره‌سازی)

روش ذخیره‌سازی تحت استانداردهای GAAP ترجیح داده می‌شود زیرا هزینه‌ها را بهتر با درآمدها مطابقت می‌دهد.

مرحله ۱: برآورد و ایجاد ذخیره (مثلاً در پایان سال)
بر پایه داده‌های تاریخی، درصدی از دریافتنی‌ها را که ممکن است غیرقابل وصول باشد، برآورد می‌کنید.

2025-12-31 * "Allowance for doubtful accounts (2% of AR)"
Expenses:BadDebt 300.00 USD
Assets:AR:Allowance -300.00 USD

این یک حساب کنترا‑دارایی (Assets:AR:Allowance) ایجاد می‌کند که ارزش کل دریافتنی‌های شما را کاهش می‌دهد.

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

2026-03-05 * "Write-off INV-2025-049 for Insolvent Client" ^INV-2025-049 #ar
Assets:AR:Allowance 1200.00 USD
Assets:AR:Clients:Insolvent-Client -1200.00 USD

دقت کنید این تراکنش هزینه‌ای اضافه نمی‌کند؛ هزینه قبلاً هنگام ایجاد ذخیره‌سازی شناسایی شده بود.


گزارش‌گیری حداقل و پرس‌وجوها

می‌توانید با استفاده از Fava یا bean-query snapshots سریع از AR خود بگیرید.

دریافتنی‌های باز بر حسب مشتری

SELECT account, SUM(position)
WHERE account '^Assets:AR'
GROUP BY account
ORDER BY account;

دفتر روزنامهٔ فعالیت‌های AR برای یک بازهٔ زمانی

JOURNAL
WHERE account '^Assets:AR'
AND date >= 2025-07-01 AND date < 2025-08-01;

معیارهای کلیدی AR (با فرمول‌های سریع)

برای این نسبت‌ها، رویکرد عملی این است که از bean-query اعداد لازم (فروش‌های اعتباری دوره، مانده‌های ابتدایی/پایانی AR) استخراج کنید و سپس محاسبه‌ها را در یک صفحه‌گسترده یا اسکریپت انجام دهید. این کار دفتر کل شما را تمیز نگه می‌دارد و ریاضیات را شفاف می‌کند.

نسبت گردش AR

این نشان می‌دهد در هر دوره چند بار کسب‌وکار شما متوسط دریافتنی‌هایش را جمع‌آوری می‌کند. هرچه بالاتر بهتر.

ARTurnover=fracNetCreditSalesAverageARAR\\ Turnover = \\frac{Net\\ Credit\\ Sales}{Average\\ AR}

DSO (روزهای فروش معوق)

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

DSO=(fracAccountsReceivableTotalCreditSales)timesNumberofDaysDSO = (\\frac{Accounts\\ Receivable}{Total\\ Credit\\ Sales}) \\times Number\\ of\\ Days

این دو معیار نشان می‌دهند چقدر به‌صورت مؤثر فاکتورها را به نقد تبدیل می‌کنید.


فایل شروع سادهٔ Beancount (کپی/پیست)

; --- Accounts ---------------------------------------------------------------
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Assets:AR
1970-01-01 open Assets:AR:Clients:Acme-Co
1970-01-01 open Assets:AR:Allowance
1970-01-01 open Income:Sales
1970-01-01 open Expenses:SalesDiscounts
1970-01-01 open Expenses:BadDebt
1970-01-01 open Liabilities:Tax:Sales USD
; ---------------------------------------------------------------------------

; مثال فاکتور
2025-07-01 * "Acme Co." "Invoice 2025-045 · Web design" ^INV-2025-045 #ar
invoice: "2025-045"
due: "2025-07-31"
document: "/invoices/2025/INV-2025-045.pdf"
Assets:AR:Clients:Acme-Co 1200.00 USD
Income:Sales -1200.00 USD

; دریافت پرداخت
2025-07-25 * "Acme Co." "Payment INV-2025-045" ^INV-2025-045 #ar
Assets:Bank:Checking 1200.00 USD
Assets:AR:Clients:Acme-Co -1200.00 USD

نکات عملی برای حفظ سلامت AR

  • شرایط واضح تعیین کنید: تاریخ سررسید، سیاست‌های جریمهٔ دیرکرد و هر گونه تخفیف پیش‌پرداخت را در هر فاکتور بگنجانید.
  • همه چیز را لینک کنید: از الگوی یکنواخت ^INV-... برای اتصال فاکتورها، پرداخت‌ها و برگه‌های اعتبار استفاده کنید تا ردپای حسابرسی واضحی داشته باشید.
  • اسناد را پیوست کنید: از متادیتای document: برای لینک مستقیم به PDF فاکتورها، سفارش خریدها و قراردادها بهره ببرید.
  • ماهانه بازبینی کنید: گزارش باز AR خود را حداقل یک بار در ماه بررسی کنید و پیگیری فاکتورهای معوق را انجام دهید. روندهای AR Turnover و DSO را زیر نظر داشته باشید تا مشکلات را زود تشخیص دهید.

منابع بیشتر (منابع استفاده‌شده)

شرکت S در مقابل شرکت C: مزایا و معایب برای کاربران Beancount.io

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

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

خلاصه

2025-08-11-s-corp-vs-c-corp-advantages-and-disadvantages

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

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


مقایسه سریع

موضوعشرکت Cشرکت S
نحوه ایجادثبت اساسنامه با یک ایالت (این وضعیت پیش‌فرض است).ابتدا ثبت شرکت کنید، سپس فرم IRS 2553 را برای انتخاب وضعیت شرکت S ثبت کنید.
مالیاتمالیات مضاعف: سود در سطح شرکت مشمول مالیات می‌شود، سپس سهامداران بر روی سود سهام مشمول مالیات می‌شوند.گذر: درآمد در اظهارنامه‌های شخصی مالکان مشمول مالیات می‌شود (بدون مالیات بر درآمد شرکت).
قوانین مالکیتهیچ محدودیتی در تعداد یا نوع سهامداران وجود ندارد. چندین کلاس سهام مجاز است.≤۱۰۰ سهامدار، که باید فقط اشخاص آمریکایی باشند، و فقط یک کلاس اقتصادی سهام مجاز است.
دیدگاه سرمایه‌گذارمناسب برای VC، به ویژه شرکت C دلاور، که استاندارد صنعت است.به دلیل مالیات گذر و محدودیت‌های کلاس سهام، برای VCها کمتر جذاب است.
بهترین برایاستارت‌آپ‌های با رشد بالا که بر سرمایه‌گذاری مجدد و جذب سرمایه خارجی متمرکز هستند.مالکان-اپراتورهایی که می‌خواهند از طریق ترکیبی از حقوق و دستمزد و توزیع، وجه نقد از کسب‌وکار دریافت کنند.
فرم‌های اصلی IRS۱۱۲۰، ۱۱۲۰-W، ۹۴۱، ۱۰۹۹-DIV (در صورت پرداخت سود سهام).۱۱۲۰-S، ۱۱۲۰-W (در صورت لزوم)، ۹۴۱، Schedule K-1 صادر شده برای هر مالک.

توجه: مالیات بر درآمد شرکت‌های فدرال ۲۱٪ ثابت است. با این حال، قوانین ایالتی برای هر دو شرکت C و S بسیار متفاوت است. همیشه نحوه برخورد مالیاتی را در ایالت ثبت و فعالیت خود تأیید کنید.


شرکت C چیست؟

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

نحوه مالیات شرکت‌های C

شرکت‌های C هویت مالیاتی متمایزی دارند. آنها اظهارنامه مالیاتی شرکتی خود، فرم IRS ۱۱۲۰ را ثبت می‌کنند و در سطح شرکت بر درآمد خالص خود مالیات می‌پردازند. اگر شرکت پس از کسر مالیات، سود خود را به شکل سود سهام به سهامداران توزیع کند، آن سهامداران باید درآمد سود سهام را در اظهارنامه‌های مالیاتی شخصی خود گزارش دهند و دوباره بر روی آن مالیات بپردازند. این «مالیات مضاعف» است که شرکت‌های C به آن معروف هستند.

چرا یک شرکت C را انتخاب کنیم؟

  • جمع‌آوری سرمایه و سهام: این بزرگترین جذابیت برای استارت‌آپ‌ها است. شرکت‌های C می‌توانند چندین کلاس سهام (به عنوان مثال، عادی و ممتاز) صادر کنند، که برای معاملات سرمایه خطرپذیر ضروری است. ساختاردهی استخرهای آپشن، SAFEها و یادداشت‌های قابل تبدیل ساده است.
  • سرمایه‌گذاری مجدد: اگر قصد دارید تمام سود خود را دوباره برای رشد کسب‌وکار سرمایه‌گذاری کنید، می‌توانید با عدم پرداخت سود سهام از لایه دوم مالیات اجتناب کنید. سود یک بار با نرخ شرکت مشمول مالیات می‌شود و در شرکت باقی می‌ماند.
  • سیگنالینگ: خوب یا بد، ثبت شرکت به عنوان یک شرکت C دلاور به سرمایه‌گذاران نشان می‌دهد که شما قصد دارید یک شرکت در مقیاس خطرپذیر بسازید.

معایب شرکت C

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

شرکت S چیست؟

شرکت S نوع متفاوتی از نهاد حقوقی نیست، بلکه یک انتخاب مالیاتی خاص است که با IRS انجام می‌شود. یک شرکت داخلی (یا یک LLC که انتخاب می‌کند به عنوان یک شرکت مشمول مالیات شود) می‌تواند برای تبدیل شدن به یک شرکت S درخواست دهد، که به آن اجازه می‌دهد برای اهداف مالیاتی فدرال به عنوان یک نهاد گذر در نظر گرفته شود.

خلاصه واجد شرایط بودن

برای واجد شرایط بودن و حفظ وضعیت شرکت S، یک شرکت باید معیارهای سختگیرانه‌ای را رعایت کند:

  • بیش از ۱۰۰ سهامدار نداشته باشد.
  • همه سهامداران باید افراد آمریکایی، برخی از تراست‌ها یا املاک باشند. هیچ شرکت، مشارکت یا بیگانه غیرمقیم نمی‌تواند سهامدار باشد.
  • از نظر اقتصادی فقط یک کلاس سهام داشته باشد. (تفاوت در حقوق رأی مجاز است، اما همه سهام باید از حقوق یکسانی برای سود و دارایی برخوردار باشند).
  • یک شرکت فاقد صلاحیت، مانند بانک یا شرکت بیمه نباشد.
  • شما باید فرم ۲۵۵۳ را به موقع ثبت کنید. برای یک کسب‌وکار موجود، این به طور کلی تا پانزدهمین روز از ماه سوم سال مالیاتی (۱۵ مارس برای یک کسب‌وکار با سال تقویمی) است.

چرا یک شرکت S را انتخاب کنیم؟

  • لایه واحد مالیات: سود و زیان مستقیماً از طریق کسب‌وکار به اظهارنامه‌های مالیاتی شخصی مالکان «عبور» می‌کند، که از طریق Schedule K-1 گزارش می‌شود. خود شرکت مالیات بر درآمد فدرال نمی‌پردازد.
  • صرفه‌جویی در مالیات خوداشتغالی: این یک مزیت کلیدی است. کارمندان-مالک باید حقوق «معقول» به خود بپردازند، که مشمول مالیات FICA (تأمین اجتماعی و مدیکر) است. با این حال، هرگونه سود اضافی می‌تواند به عنوان توزیع پرداخت شود، که مشمول مالیات خوداشتغالی نیست.

معایب شرکت S

  • قوانین سختگیرانه: محدودیت‌های مالکیت سفت و سخت هستند. نقض تصادفی یکی (به عنوان مثال، فروش سهام به یک سهامدار فاقد صلاحیت) می‌تواند منجر به «فسخ ناخواسته» وضعیت شرکت S شود، که می‌تواند پیامدهای مالیاتی نامرتبی داشته باشد.
  • بررسی «جبران معقول»: IRS به این موضوع توجه زیادی دارد که آیا حقوق پرداخت شده به کارمندان-مالک معقول است یا خیر. پرداخت حقوق مصنوعی پایین به خودتان برای به حداکثر رساندن توزیع معاف از مالیات، یک پرچم قرمز بزرگ برای حسابرسی است.
  • متغیر بودن ایالت: همه ایالت‌ها انتخاب شرکت S را به رسمیت نمی‌شناسند. برخی از آنها شرکت‌های S را طوری مالیات می‌دهند که گویی شرکت‌های C هستند، یا ممکن است مالیات سطح نهاد جداگانه‌ای را اعمال کنند که تا حدی مزایای مالیات فدرال را نفی می‌کند.

کدام را باید انتخاب کنید؟

این تصمیم به اهداف شما برای مالکیت، تأمین مالی و جریان نقدی بستگی دارد.

اگر انتظار دارید موارد زیر را انجام دهید، یک شرکت C را در نظر بگیرید:

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

اگر موارد زیر را دارید، یک شرکت S را در نظر بگیرید:

  • ۱۰۰٪ متعلق به افراد آمریکایی هستید که معیارها را دارند.
  • در حال حاضر سودآور هستید و می‌خواهید وجه نقد را به طور مؤثر به مالکان توزیع کنید.
  • می‌توانید با اطمینان حقوق و دستمزد را اجرا کنید و به مالکان-اپراتورها حقوق قابل دفاع و با نرخ بازار بپردازید.
  • برای انواع مختلف مالکان به کلاس‌های حقوق صاحبان سهام پیچیده نیاز ندارید.

اگر مطمئن نیستید، بسیاری از مشاغل به عنوان یک شرکت C دلاور شروع به کار می‌کنند تا حداکثر انعطاف‌پذیری را حفظ کنند. اگر سودآوری و ساختار مالکیت شما آن را سودمند کند، می‌توانید بعداً انتخاب شرکت S را ارزیابی کنید.


Beancount.io: چگونه دفاتر شما متفاوت است (با مثال)

چه یک شرکت C یا S را انتخاب کنید، دفتر کل متنی ساده Beancount.io جریان پول را برای مالیات و حقوق صاحبان سهام صریح و قابل حسابرسی می‌کند. در اینجا چند مثال وجود دارد که تفاوت‌های کلیدی در ورودی‌های دفتر روزنامه شما را نشان می‌دهد.

۱) شرکت C: تعهدی و پرداخت مالیات بر درآمد شرکت

یک شرکت C مسئول مالیات بر درآمد خود است. شما این بدهی را تعهدی می‌کنید و سپس آن را پرداخت می‌کنید.

2025-03-31 * "تعهدی مالیات بر درآمد شرکت فدرال برای سه ماهه اول"
Expenses:Taxes:Income 12500.00 USD
Liabilities:Taxes:Federal -12500.00 USD

2025-04-15 * "پرداخت مالیات تخمینی فدرال سه ماهه اول ۲۰۲۵"
Liabilities:Taxes:Federal 12500.00 USD
Assets:Bank:Checking -12500.00 USD

۲) شرکت C: پرداخت سود سهام در مقابل حفظ درآمد

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

2025-06-30 * "هیئت مدیره سود سهام نقدی را اعلام و پرداخت می‌کند"
Equity:Dividends 50000.00 USD
Assets:Bank:Checking -50000.00 USD

اگر در عوض درآمد را حفظ کنید، به سادگی این تراکنش را ثبت نمی‌کنید. سود در حساب Equity:RetainedEarnings شما باقی می‌ماند.

۳) شرکت S: حقوق معقول و مالیات بر حقوق و دستمزد

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

2025-01-31 * "حقوق و دستمزد مالک (دستمزد ناخالص و مالیات کارفرما)"
Expenses:Payroll:Wages 8000.00 USD ; حقوق ناخالص
Expenses:Payroll:EmployerFICA 612.00 USD ; سهم کارفرما از مالیات
Liabilities:Payroll:Federal -2000.00 USD ; کسر مالیات + FICA
Liabilities:Payroll:State -400.00 USD ; کسر مالیات ایالتی
Assets:Bank:Checking -6212.00 USD ; پرداخت خالص به مالک

2025-02-15 * "ارسال مالیات بر حقوق و دستمزد به آژانس‌ها"
Liabilities:Payroll:Federal 2000.00 USD
Liabilities:Payroll:State 400.00 USD
Assets:Bank:Checking -2400.00 USD

۴) شرکت S: توزیع مالک

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

2025-03-15 * "توزیع مالک (انتقال سود)"
Equity:Distributions:OwnerA 20000.00 USD
Assets:Bank:Checking -20000.00 USD

مالک یک Schedule K-1 دریافت می‌کند که سهم او از سود شرکت را شرح می‌دهد و مالیات را در اظهارنامه شخصی خود 처리 می‌کند.

نکات مربوط به نمودار حساب‌ها

  • مالیات:
    • شرکت C: به Expenses:Taxes:Income و Liabilities:Taxes:Federal نیاز خواهید داشت.
    • شرکت S: این حساب مالیات بر درآمد اغلب در سطح فدرال استفاده نمی‌شود، اما حساب‌های مالیات بر حقوق و دستمزد (Expenses:Payroll:Taxes و Liabilities:Payroll:*) ضروری هستند.
  • حقوق صاحبان سهام:
    • شرکت C: یک تنظیم استاندارد شامل Equity:CommonStock، Equity:AdditionalPaidInCapital، Equity:RetainedEarnings و Equity:Dividends است.
    • شرکت S: نمودار شما مشابه خواهد بود اما اغلب از Equity:Distributions به جای سود سهام استفاده می‌کند. برخی Equity:AAA (حساب تعدیل انباشته) را برای مدیریت مبنای توزیع ردیابی می‌کنند.
  • حقوق و دستمزد:
    • هر دو ساختار در صورت داشتن کارمند (از جمله کارمندان-مالک) به حساب‌های قوی Expenses:Payroll:* و Liabilities:Payroll:* نیاز دارند.

فرم‌های IRS مورد نیاز (موارد رایج)

  • شرکت C: فرم ۱۱۲۰ (اظهارنامه مالیاتی سالانه)، فرم ۱۱۲۰-W (مالیات تخمینی)، فرم ۹۴۱ (حقوق و دستمزد سه ماهه)، فرم ۹۴۰ (بیکاری سالانه/FUTA)، فرم ۱۰۹۹-DIV (برای هر سهامدار دریافت کننده سود سهام)، W-2/W-3.
  • شرکت S: فرم ۱۱۲۰-S (اظهارنامه مالیاتی سالانه)، Schedule K-1 (برای هر سهامدار)، فرم ۹۴۱/۹۴۰، W-2/W-3.
  • ایالت‌ها: به یاد داشته باشید که اظهارنامه‌های مالیاتی جداگانه ایالتی، حق امتیاز و حقوق و دستمزد احتمالاً برای هر دو اعمال می‌شود.

سوالات متداول سریع

  • آیا یک LLC می‌تواند یک شرکت S باشد؟ بله. یک LLC می‌تواند فرم ۸۸۳۲ را برای انتخاب مشمول مالیات شدن به عنوان یک شرکت ثبت کند، و سپس فرم ۲۵۵۳ را برای انتخاب وضعیت شرکت S ثبت کند (با فرض اینکه تمام قوانین واجد شرایط بودن را رعایت کند).

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

  • آیا شرکت‌های S می‌توانند سهام ممتاز داشته باشند؟ نه، نه به معنای اقتصادی. شرکت‌های S فقط می‌توانند یک کلاس سهام داشته باشند. شما می‌توانید حقوق رأی متفاوتی داشته باشید (به عنوان مثال، سهام عادی رأی دهنده و غیررأی دهنده)، اما همه سهام باید از حقوق یکسانی برای توزیع و دارایی‌های انحلال برخوردار باشند.

  • آیا می‌توانم بعداً از یکی به دیگری تغییر دهم؟ بله، اما می‌تواند پیچیده باشد. تبدیل از یک شرکت C به یک شرکت S رایج است، اما شما باید مراقب زمان‌بندی و قوانین مالیاتی بالقوه سودهای داخلی (BIG) باشید. تبدیل از یک شرکت S به یک شرکت C نیز امکان‌پذیر است و اغلب قبل از یک دور تأمین مالی VC مورد نیاز است.


چگونه Beancount.io کمک می‌کند

مهم نیست کدام نهاد را انتخاب کنید، Beancount.io شفافیت و کنترلی را که نیاز دارید فراهم می‌کند.

  • دفاتر متنی ساده، با کنترل نسخه که از یک شرکت S تک مالکیتی تا یک شرکت C با پشتوانه خطرپذیر مقیاس‌پذیر است.
  • جریان‌های کاری واضح حقوق و دستمزد و حقوق صاحبان سهام که تشخیص توزیع از سود سهام، ردیابی هزینه‌های آپشن سهام و مدیریت سود انباشته را آسان می‌کند.
  • صادرات تمیز برای CPA شما، از جمله تراز آزمایشی، صورت سود و زیان و ترازنامه، با یک مسیر کاملاً قابل حسابرسی برای هر عدد.
  • اتوماسیون قدرتمند برای فیدهای بانکی و ضبط اسناد، بدون اینکه شفافیت یک دفتر کل قابل خواندن توسط انسان را قربانی کنید.

آیا می‌خواهید شروع خوبی داشته باشید؟ نمودار حساب‌های نمونه شرکت C و شرکت S Beancount و بسته ورودی‌های نمونه را درخواست کنید.


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

مقایسه 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 برای توسعه نرم‌افزار به ارمغان آورد: شفافیت کامل، تکرارپذیری کامل و کنترل نهایی.

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