درک ثبتهای روزنامهای در Beancount
ثبتهای روزنامهای ستون فقرات حسابداری دوطرفه هستند و در Beancount، هر تراکنش *
که مینویسید یک ثبت روزنامهای است. این راهنما اصول اساسی—بدهکار و بستانکار، ثبتهای تعدیلکننده و معکوسکننده—را توضیح میدهد و نشان میدهد چگونه بهصورت تمیز به سینتکس متنی ساده Beancount مینقشند. شما یاد میگیرید چگونه با حداقل مراسم کتابهای دقیق داشته باشید.
مرور سریع: ثبت روزنامهای چیست؟
ثبت روزنامهای رکورد رسمی و تاریخدار یک معامله مالی است. این رکورد با بدهکار و بستانکار بیان میشود که معادله بنیادی حسابداری را متعادل نگه میدارند:
در یک سیستم دوطرفه، هر معامله حداقل دو حساب را تحت تأثیر قرار میدهد و مجموع بدهکارها باید برابر مجموع بستانکارها باشد. این قانون ساده است که گزارشهای مالی پاییندست مانند صورت سود و زیان و تر ازنامه را قابل اعتماد و دقیق میکند.
بدهکار و بستانکار در یک دقیقه
مفهوم بدهکار و بستانکار در ابتدا میتواند گیجکننده باشد، اما به چند قانون ساده خلاصه میشود. اینگونه فکر کنید: «ارزش از کجا آمد؟» (بستانکار) و «ارزش به کجا رفت؟» (بدهکار).
در اینجا یک برگه تقلب برای نحوه افزایش پنج نوع حساب اصلی آورده شده است:
نوع حساب | افزایش با |
---|---|
داراییها | بدهکار |
هزینهها | بدهکار |
بدهیها | بستانکار |
حقوق مالکانه | بستانکار |
درآمد | بستانکار |
شکل یک ثبت روزنامهای در Beancount
Beancount از دستورات متنی ساده و قابل خواندن برای انسان استفاده میکند تا تراکنشها را ثبت کند. هر تراکنش باید برای هر کالا (مثلاً USD، EUR، سهام AAPL) به صفر متعادل شود. اگر اینطور نباشد، Beancount خطا میدهد.
در اینجا یک تراکنش پایه برای خرید قهوه آورده شده است:
2025-09-10 * "Coffee Bar" "Team coffee"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD
دقت کنید که دو پست (خطهای حساب) به صفر میرسند: $18.00 + (-$18.00) = 0
.
شما میتوانید با استفاده از برچسبها (مانند #clientX
) برای فیلتر کردن و لینکها (مانند ^INV-2025-001
) برای ارتباط بین ورودیهای مرتبط، زمینه قدرتمندی را مستقیماً در روایت اضافه کنید.
به عنوان مثال، اینجا نحوه لینککردن یک فاکتور به پرداخت آن را میبینید:
; ابتدا فاکتور ارسالی به مشتری را ثبت میکنیم
2025-09-15 * "Acme Corp" "Invoice 2025-001 #clientX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD
; سپس پرداخت را ثبت میکنیم و به فاکتور اصلی لینک میکنیم
2025-09-28 * "Acme Corp" "Payment on ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD
برچسب #clientX
به شما امکان میدهد بهراحتی تمام تراکنشهای این مشتری را فیلتر کنید و لینک ^INV-2025-001
ارتباطی بین دو ورودی ایجاد میکند که میتوانید در گزارشها دنبال کنید.
ثبتهای روزنامهای رایج (آماده برای کپی)
در ادامه چند تراکنش تجاری رایج به فرمت Beancount آورده شده است.
سرمایهگذاری نقدی توسط مالک
یک مالک برای راهاندازی کسبوکار، وجوه شخصی خود را سرمایهگذاری می کند.
2025-01-01 * "Owner" "Initial capital contribution"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD