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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

bean-query books.beancount open-invoices.sql

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


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

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

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

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

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

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


مراحل بعدی

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

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

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

ثبت‌های تعدیلی در Beancount: تنظیمات پایان ماه شما

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

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

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

2022-01-25-adjusting-entries-in-beancount-your-month-end-tune-up


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

انجام این تنظیمات برای حسابداری صحیح اساسی است. آنها اطمینان می‌دهند که صورت‌های مالی شما دقیق و قابل اعتماد هستند.

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

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

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


شش دسته بندی رایج (با قطعه کدهای Beancount)

در اینجا شش نوع رایج از ثبت‌های تعدیلی، با مثال‌هایی از نحوه ثبت آنها در دفتر کل Beancount شما آورده شده است. به استفاده از فراداده‌هایی مانند adj:"accrual" توجه کنید تا این ثبت‌ها به راحتی در آینده پیدا و تجزیه و تحلیل شوند.

۱. درآمد تعهدی

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

2025-07-31 * "مشاوره - ساعات جولای"
Assets:AccountsReceivable 12000.00 USD
Income:Consulting
; adj:"accrual" period:"Jul-25"

۲. هزینه تعهدی

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

2025-07-31 * "وکیل - حق الوکاله جولای"
Expenses:Legal 2500.00 USD
Liabilities:AccruedPayables
; adj:"accrual"

۳. درآمد معوق (کسب نشده)

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

2025-07-31 * "پیش پرداخت SaaS سالانه (شناسایی ۱/۱۲)"
Liabilities:UnearnedRevenue 833.33 USD
Income:SaaS
; adj:"deferral"

۴. هزینه پیش پرداخت شده (معوق)

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

2025-07-31 * "بیمه - هزینه ۱ ماه از پیش پرداخت"
Expenses:Insurance 400.00 USD
Assets:PrepaidInsurance
; adj:"deferral"

۵. استهلاک و مستهلک شدن

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

2025-07-31 * "استهلاک مک استودیو"
Expenses:Depreciation 1250.00 USD
Assets:Computers:AccumDepr
; asset_id:"MAC-03" adj:"estimate"

۶. ذخیره مطالبات مشکوک الوصول

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

2025-07-31 * "تامین بدهی سوخت شده (۲٪ از مطالبات)"
Expenses:BadDebt 700.00 USD
Assets:AllowanceForBadDebt
; basis:"A/R" rate:0.02 adj:"estimate"

یک گردش کار تکرارپذیر

برای اینکه بسته شدن پایان ماه شما کارآمد و بدون خطا باشد، یک گردش کار ثابت را اتخاذ کنید.

  • از یک فایل جداگانه استفاده کنید. تمام تنظیمات یک دوره را در یک مکان نگه دارید، مانند adjustments-2025-07.bean. در فایل دفتر کل اصلی خود، از دستورالعمل include برای وارد کردن آن در آخر استفاده کنید. این تضمین می‌کند که تنظیمات درست قبل از تولید گزارش‌های نهایی اعمال می‌شوند.

  • فراداده‌های خود را استاندارد کنید. همیشه از کلیدها و مقادیر فراداده ثابت استفاده کنید، مانند adj:"accrual|deferral|estimate" و period:"Jul-25". این امر جستجو و بررسی انواع خاصی از تنظیمات را آسان می‌کند.

  • یک بررسی پیش از پرواز انجام دهید. قبل از اعمال تغییرات خود در Git، bean-check را روی فایل تنظیمات خود اجرا کنید تا هرگونه اشتباه تایپی یا ثبت نامتوازن را پیدا کنید.

  • یک بررسی سلامت تک خطی انجام دهید. این پرس و جو تایید می‌کند که تمام تنظیمات شما برای دوره متعادل هستند و به شما اطمینان می‌دهد که خطایی وارد نکرده‌اید.

    bean-query main.bean "SELECT account, SUM(number) WHERE meta('adj') AND meta('period') = 'Jul-25' GROUP BY account"

نکات سریع عیب‌یابی 🤔

  • آیا مانده Liabilities:UnearnedRevenue شما در حال افزایش است؟ مراحل قرارداد خود را بررسی کنید. ممکن است درآمد را خیلی کندتر از کاری که ارائه می‌دهید، شناسایی کنید.

  • آیا مانده Assets:PrepaidInsurance شما منفی است؟ احتمالاً آن را سریعتر از برنامه دارایی هزینه می‌کنید. برنامه مستهلک شدن خود را دوباره بررسی کنید.

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


افکار پایانی

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

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

موفق باشید!

سود خالص ۱٠۱ — و نحوه پیگیری آن در Beancount

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

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

بیایید آن را تجزیه کنیم.

2020-03-12-net-income-101-how-to-track-it-in-beancount

معنای واقعی سود خالص

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

این واضح‌ترین شاخص واحد سلامت مالی یک شرکت است. این یک رقم حیاتی برای همه است:

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

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

فرمول اصلی (سطح جزئیات مورد نیاز خود را انتخاب کنید)

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

  • فرمول کامل: درآمد – بهای تمام شده کالای فروش رفته – هزینه‌های عملیاتی – بهره – مالیات = سود خالص
  • فرمول استاندارد: درآمد – بهای تمام شده کالای فروش رفته – هزینه‌ها = سود خالص
  • فرمول سریع و تقریبی: کل درآمدها – کل هزینه‌ها = سود خالص

نکته سریع در مورد هزینه‌ها: تفاوت بین بهای تمام شده کالای فروش رفته و هزینه‌های عملیاتی چیست؟ بهای تمام شده کالای فروش رفته (COGS) هزینه‌های مستقیم مرتبط با تولید کالاها یا خدمات شما (به عنوان مثال، مواد اولیه، نیروی کار مستقیم) را پوشش می‌دهد. هزینه‌های عملیاتی همه چیزهای دیگری را که چراغ‌ها را روشن نگه می‌دارد، پوشش می‌دهد - حقوق، اجاره، اشتراک نرم افزار، بیمه و غیره.

یک مثال کوچک

بیایید این را ملموس کنیم. تصور کنید یک کسب و کار کوچک برشته کردن قهوه نتایج زیر را در ماه گذشته داشته است.

موردمبلغمثال حساب دفتر کل
درآمد فروش۶٠,٠٠٠ دلارIncome:Sales
بهای تمام شده کالای فروش رفته (دانه‌های قهوه سبز)٢٠,٠٠٠ دلارExpenses:COGS
هزینه‌های عملیاتی١٨,٠٠٠ دلارExpenses:Ops:*
بهره (وام تجهیزات)١,٠٠٠ دلارExpenses:Interest
مالیات١,٠٠٠ دلارExpenses:Taxes

با استفاده از فرمول کامل، محاسبه ساده است:

سود;خالص=۶٠,٠٠٠دلار٢٠,٠٠٠دلار١٨,٠٠٠دلار١,٠٠٠دلار١,٠٠٠دلار=٢٠,٠٠٠دلارسود;خالص = ۶٠,٠٠٠ دلار - ٢٠,٠٠٠ دلار - ١٨,٠٠�٠ دلار - ١,٠٠٠ دلار - ١,٠٠٠ دلار = ٢٠,٠٠٠ دلار

این کسب و کار ٢٠,٠٠٠ دلار سود واقعی برای ماه ایجاد کرده است.

نحوه ثبت آن در Beancount

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

  • تمام درآمدها را تحت یک حساب والد Income، مانند Income:Sales یا Income:Services برچسب گذاری کنید.
  • هزینه‌های خود را تقسیم کنید تا بین هزینه‌های مستقیم و غیرمستقیم تمایز قائل شوید. از Expenses:COGS برای هزینه‌های مستقیم و از حساب‌های فرعی مانند Expenses:Ops:Salaries یا Expenses:Ops:Software برای سایر موارد استفاده کنید.
  • بهره و مالیات را در حساب‌های خود ثبت کنید (Expenses:Interest، Expenses:Taxes). این کار تجزیه و تحلیل‌های آینده، به ویژه برای آماده سازی مالیات، را بسیار ساده‌تر می‌کند.
  • به طور منظم ترازنامه خود را تنظیم کنید. معادله حسابداری اساسی، دارایی‌ها = بدهی‌ها + حقوق صاحبان سهام، باید همیشه صادق باشد.

در پایان یک دوره (به عنوان مثال، یک ماه)، می‌توانید از ادعاهای balance برای تأیید وضعیت حساب‌های خود استفاده کنید. این ورودی‌ها پول را جابجا نمی‌کنند. آنها اعلام می‌کنند که موجودی باید چه باشد، و bean-check در صورت عدم وجود آن خطا را گزارش می‌دهد.

; 2025-07-31 Coffee Roaster Enterprises — July close
2025-07-31 balance Assets:Bank:Operating 42000.00 USD
2025-07-31 balance Expenses:COGS 20000.00 USD
2025-07-31 balance Expenses:Ops 18000.00 USD
2025-07-31 balance Expenses:Interest 1000.00 USD
2025-07-31 balance Expenses:Taxes 1000.00 USD
2025-07-31 balance Income:Sales -60000.00 USD

پرس و جوی سود خالص یک خطی

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

bean-query books.beancount \
"SELECT period, sum(number) WHERE account =~ '^(Income|Expenses)' \
AND year = 2025 GROUP BY month"

این پرس و جو تمام مقادیر موجود در حساب‌های Income و Expenses شما را برای سال ٢٠٢۵ جمع می‌کند و آنها را بر اساس ماه گروه بندی می‌کند. در Beancount، درآمد با اعداد منفی و هزینه‌ها با اعداد مثبت نشان داده می‌شوند، بنابراین نتیجه منفی سود خالص شما خواهد بود.

حتی بهتر از آن، شما حتی نیازی به اجرای دستی این پرس و جو ندارید. Fava، رابط وب برای Beancount، این را به طور خودکار برای شما در نمای Reports → Income Statement ترسیم می‌کند.

بینش‌های سریعی که می‌توانید خودکار کنید

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

  • خلاصه ایمیل ماهانه: یک کار cron برای اجرای bean-report books.beancount income_statement > net-income.txt و سپس ارسال ایمیل فایل متنی حاصل به خودتان در اولین روز هر ماه تنظیم کنید.
  • هشدار سودآوری: از یک قلاب pre-commit گیت استفاده کنید که یک پرس و جو را برای بررسی سودآوری ماه تا به امروز اجرا می‌کند. می‌توانید آن را طوری برنامه ریزی کنید که در صورت منفی بودن سود خالص، commit را رد کند و شما را مجبور به تصدیق یک ماه ضررده کند.
  • مدل سازی سناریو: آیا می‌خواهید کسب و کار خود را تحت فشار قرار دهید؟ فقط books.beancount را در scenarios/recession.bean کپی کنید، ورودی‌های Income خود را ٢٠٪ کاهش دهید و پرس و جوی سود خالص خود را دوباره اجرا کنید تا تأثیر آن را فوراً ببینید.

نکات کلیدی

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

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

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

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

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

2019-03-24-bookkeeping-basics

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مطالعه بیشتر

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