یک ساختار حساب آزمودهشده را از یکی از این شش دفتر کل زنده 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 و فایلهای قیمت ثابت استفاده میکند. یک فید نماد واقعی را جایگزین یک کالای فرضی نکنید. برای داراییهای خودتان جفتهای پشتیبانیشده را با قیمتهای زنده انتخاب کنید، در حالی که قیمتهای دستی را برای این مثال بازتولیدپذیر نگه میدارید.