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

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

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

یک ساختار حساب آزموده‌شده را از یکی از این شش دفتر کل زنده Beancount کپی کنید، سپس نام حساب‌ها را تغییر دهید و مبالغ فرضی را با مبالغ خودتان جایگزین کنید. هر دفتر کل جاسازی‌شده عمومی است، در Git نسخه‌گذاری شده، و با bea check اعتبارسنجی می‌شود. برای بازسازی یک گزارش شرکت سهامی عام به همین روش، به مدل‌سازی یک شرکت سهامی عام در Beancount مراجعه کنید.

شروع از یک فایل دانلودشده​

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

۱. یکی از الگوهای زیر را انتخاب کنید: خانوار برای پول نقد و کارت‌ها، پاکت‌ها برای اهداف بودجه، فریلنسری برای صورتحساب‌ها. ۲. فایل آن را از لینک کنار همان الگو دانلود کنید. ۳. فایل ذخیره‌شده را با bea --file <file> check اعتبارسنجی کنید. یک دفتر کل بی‌خطا از bea check با کد خروج 0 خارج می‌شود؛ خطاها با کد خروج غیرصفر فهرست می‌شوند. ۴. آن را با fava باز کنید و از آدرس چاپ‌شده در مرورگر خود استفاده کنید.

امور مالی شخصی روزمره​

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

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

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

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Checking USD
2026-01-01 open Liabilities:CreditCard USD
2026-01-01 open Equity:Opening-Balances USD
2026-01-01 open Expenses:Food:Groceries USD
 
2026-01-01 * "Opening balance"
  Assets:Bank:Checking          3,000.00 USD
  Equity:Opening-Balances      -3,000.00 USD
 
2026-01-18 * "Corner Market" "Weekly groceries"
  Liabilities:CreditCard          -71.90 USD
  Expenses:Food:Groceries          71.90 USD
 
2026-01-25 * "Credit card" "Statement payment"
  Liabilities:CreditCard           71.90 USD
  Assets:Bank:Checking            -71.90 USD

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

این الگو را به‌صورت household-starter.bean دانلود کنید، سپس bea --file household-starter.bean check و fava household-starter.bean را اجرا کنید. فایل با بلوک بالا مطابقت دارد: حساب جاری در 2928.10 دلار پایان می‌یابد، خواربار در 71.90 دلار، و کارت در صفر. Corner Market، مبلغ افتتاحیه 3,000.00، و مبالغ 71.90 را با بانک، کارت، و هزینه‌های خودتان جایگزین کنید.

بودجه‌بندی پاکتی با قابلیت انتقال​

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

باز کردن دفتر کل بودجه پاکتی در برگه جدید

درخت Equity:Budget را کپی کنید و برنامه را از پول جدا نگه دارید:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Checking USD
2026-01-01 open Income:Salary USD
2026-01-01 open Expenses:Groceries USD
2026-01-01 open Equity:Budget:Unallocated USD
2026-01-01 open Equity:Budget:Groceries USD
 
2026-01-05 * "Acme Corp" "January salary"
  Assets:Bank:Checking          4,100.00 USD
  Income:Salary                -4,100.00 USD
 
2026-01-05 * "Budget" "Fund groceries"
  Equity:Budget:Unallocated      -550.00 USD
  Equity:Budget:Groceries         550.00 USD
 
2026-01-08 * "Whole Foods" "Weekly shop"
  Assets:Bank:Checking           -128.44 USD
  Expenses:Groceries              128.44 USD
  Equity:Budget:Groceries        -128.44 USD
  Equity:Budget:Unallocated       128.44 USD

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

این الگو را به‌صورت envelope-budgeting-starter.bean دانلود کنید، سپس bea --file envelope-budgeting-starter.bean check و fava envelope-budgeting-starter.bean را اجرا کنید. فایل با بلوک بالا مطابقت دارد: حساب جاری در 3971.56 دلار پایان می‌یابد، و پاکت خواربار 421.56 دلار در برابر 421.56- دلار تخصیص‌نیافته نگه می‌دارد. Acme Corp، حقوق 4,100.00، و تخصیص 550.00 را با حقوق و پاکت‌های خودتان جایگزین کنید.

صورت‌حساب و مطالبات فریلنسری​

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

باز کردن دفتر کل صورتحساب فریلنسری در برگه جدید

درخت دریافتنی را کپی کنید و شماره صورتحساب را روی هر دو رویداد بگذارید:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Business USD
2026-01-01 open Assets:Receivable:Northwind USD
2026-01-01 open Income:Consulting USD
 
2026-01-09 * "Northwind Traders" "January retainer"
  invoice: "2026-001"
  due: 2026-02-08
  Assets:Receivable:Northwind    6,000.00 USD
  Income:Consulting             -6,000.00 USD
 
2026-02-05 * "Northwind Traders" "Payment — invoice 2026-001"
  invoice: "2026-001"
  Assets:Bank:Business           6,000.00 USD
  Assets:Receivable:Northwind   -6,000.00 USD

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

این الگو را به‌صورت freelance-starter.bean دانلود کنید، سپس bea --file freelance-starter.bean check و fava freelance-starter.bean را اجرا کنید. فایل با بلوک بالا مطابقت دارد: حساب Business در 6000.00 دلار پایان می‌یابد، Consulting در 6000.00- دلار، و دریافتنی در صفر. Northwind Traders، صورتحساب 2026-001، و مبالغ 6,000.00 را با مشتریان و صورتحساب‌های خودتان جایگزین کنید.

ملک اجاره‌ای و اصل وام مسکن​

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

باز کردن دفتر کل ملک اجاره‌ای در برگه جدید

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

option "operating_currency" "USD"
 
1970-01-01 commodity PROP123MAIN
2024-01-01 open Assets:RealEstate:Property PROP123MAIN
2024-01-01 open Assets:Bank:Checking USD
2024-01-01 open Assets:Bank:EscrowImpound USD
2024-01-01 open Liabilities:Mortgage USD
2024-01-01 open Income:RealEstate:Rent USD
2024-01-01 open Expenses:RealEstate:MortgageInterest USD
 
2024-03-15 * "Escrow" "Buy rental property"
  Assets:RealEstate:Property       1 PROP123MAIN {400,000.00 USD}
  Assets:Bank:Checking                       -80,000.00 USD
  Liabilities:Mortgage                      -320,000.00 USD
 
2024-04-01 * "Bank" "Mortgage payment"
  Expenses:RealEstate:MortgageInterest         1,866.67 USD
  Liabilities:Mortgage                           262.39 USD
  Assets:Bank:EscrowImpound                      566.67 USD
  Assets:Bank:Checking                        -2,695.73 USD

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

لات‌های ارز دیجیتال و مبنای بهای تمام‌شده​

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

باز کردن دفتر کل مبنای بهای تمام‌شده ارز دیجیتال در برگه جدید

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

option "operating_currency" "USD"
 
1970-01-01 commodity BTC
2024-01-01 open Assets:Crypto:Coinbase:BTC BTC
2024-01-01 open Assets:Crypto:Coinbase:USD USD
2024-01-01 open Expenses:Crypto:Fees:Trading USD
2024-01-01 open Income:Crypto:CapitalGains:ShortTerm USD
 
2024-02-15 * "Coinbase" "Buy 0.10 BTC"
  Assets:Crypto:Coinbase:BTC     0.10 BTC {43,800.00 USD, 2024-02-15}
  Assets:Crypto:Coinbase:USD   -4,380.00 USD
 
2024-08-20 * "Coinbase" "Sell the February lot"
  Assets:Crypto:Coinbase:BTC    -0.10 BTC {43,800.00 USD, 2024-02-15}
  Assets:Crypto:Coinbase:USD    5,900.00 USD
  Expenses:Crypto:Fees:Trading      8.85 USD
  Assets:Crypto:Coinbase:USD       -8.85 USD
  Income:Crypto:CapitalGains:ShortTerm -1,520.00 USD

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

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

لات‌های سهام، سود سهام، و تجزیه سهام​

یک سهم یک عدد نیست، بلکه یک لات است: مقداری که با هزینه‌ای معلوم و در تاریخی معلوم تحصیل شده. هر خرید کارگزاری را با {cost, date} صریح بنویسید و یک فروش بعدی می‌تواند دقیقاً همان لات مورد واگذاری را نام ببرد، بنابراین Beancount سود محقق‌شده و دوره نگهداری آن را محاسبه می‌کند به‌جای آنکه دو لات را با هم میانگین بگیرد. سود سهام به‌عنوان درآمد قابل مشاهده می‌ماند به‌جای آنکه در قیمت سهم تعدیل‌شده ناپدید شود.

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

نمودار کارگزاری، لات تاریخ‌دار، و فروش لات مشخص را کپی کنید:

option "operating_currency" "USD"
option "booking_method" "STRICT"
 
1970-01-01 commodity ACME
2024-01-01 open Assets:Brokerage:Cash USD
2024-01-01 open Assets:Brokerage:ACME ACME
2024-01-01 open Equity:Opening USD
2024-01-01 open Income:Dividends:Qualified USD
2024-01-01 open Income:CapitalGains:LongTerm USD
2024-01-01 open Expenses:Brokerage:Commissions USD
 
2024-01-08 * "Broker" "Wire funding to taxable brokerage account"
  Assets:Brokerage:Cash                  50,000.00 USD
  Equity:Opening                        -50,000.00 USD
 
2024-06-18 * "Broker" "Buy 150 ACME @ $68.20"
  Assets:Brokerage:ACME                        150 ACME {68.20 USD, 2024-06-18}
  Expenses:Brokerage:Commissions              4.95 USD
  Assets:Brokerage:Cash                 -10,234.95 USD
 
2025-03-14 * "Broker" "ACME quarterly cash dividend"
  Assets:Brokerage:Cash                      63.00 USD
  Income:Dividends:Qualified                -63.00 USD
 
2026-02-20 * "Broker" "Sell 60 ACME from the 2024 lot — long-term gain"
  Assets:Brokerage:ACME                        -60 ACME {68.20 USD, 2024-06-18}
  Assets:Brokerage:Cash                   5,778.00 USD
  Expenses:Brokerage:Commissions              4.95 USD
  Assets:Brokerage:Cash                      -4.95 USD
  Income:CapitalGains:LongTerm           -1,686.00 USD
 
2026-02-21 balance Assets:Brokerage:ACME              90 ACME
2026-02-21 balance Assets:Brokerage:Cash      45,601.10 USD

ثبت سود همان محاسبه است، نه یک عدد جبرانی: فروش 60 سهم به قیمت 96.30 دلار هر کدام، 5,778.00 دلار عواید است در برابر 4,092.00 دلار مبنا، و تاریخ 2024-06-18 لات همان چیزی است که آن را بلندمدت می‌کند. دفتر کل زنده تا یک توزیع ETF دوباره سرمایه‌گذاری‌شده، یک تقسیم ۴ به ۱ که مبنای کل را حفظ می‌کند، یک فروش کوتاه‌مدت از لات دوم، و تأییدهای تعداد سهام پایان سال ادامه می‌یابد. option "booking_method" "STRICT" همان چیزی است که «فروش 40 ACME» را به یک خطا تبدیل می‌کند به‌جای یک میانگین خاموش؛ راهنمای گزینه‌ها گزینه‌های جایگزین را پوشش می‌دهد.

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

منبع: https://beancount.io/fa/docs/examples