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

راهنمای کامل مدیریت حساب‌ها در Beancount و Fava

· زمان مطالعه 13 دقیقه
Mike Thrift
Mike Thrift
Marketing Manager

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

پنج نوع حساب

Beancount از مدل استاندارد حسابداری دوبل با دقیقاً پنج نوع حساب ریشه استفاده می‌کند:

نوعهدفعلامت طبیعیگزارش
Assetsمنابعی که مالک آن‌ها هستید (نقد، سرمایه‌گذاری، ملک)مثبت (بدهکار)ترازنامه
Liabilitiesبدهی‌هایی که به عهده دارید (کارت اعتباری، وام، رهن)منفی (بستانکار)ترازنامه
Equityسهم مالک، سود انباشته، مانده‌های ابتداییمنفی (بستانکار)ترازنامه
Incomeمنابع درآمد (حقوق، سود بانکی، سود سهام)منفی (بستانکار)صورت سود و زیان
Expensesدسته‌بندی هزینه‌ها (غذا، اجاره، قبوض)مثبت (بدهکار)صورت سود و زیان

معادله اساسی حسابداری همیشه برقرار است:

Assets + Expenses + Equity + Income + Liabilities = 0

یک قاعده کاربردی: اگر مبالغ فقط برای یک بازه زمانی معنادار هستند (مثلاً "این ماه چقدر برای غذا خرج کردم؟")، از Income یا Expenses استفاده کنید. اگر نماینده یک مانده مستمر هستند (مثلاً "چقدر در حساب جاری‌ام موجودی دارم؟")، از Assets یا Liabilities استفاده کنید.

قواعد نام‌گذاری حساب‌ها

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

  • باید با یکی از پنج نوع ریشه شروع شود: Assets، Liabilities، Equity، Income، Expenses
  • هر بخش با یک حرف بزرگ یا عدد آغاز می‌شود
  • بخش‌ها می‌توانند شامل حروف، اعداد و خط تیره باشند (بدون فاصله یا زیرخط)
  • حداقل دو بخش الزامی است (مثلاً Expenses:Food و نه فقط Expenses)
  • دونقطه (:) سطوح سلسله‌مراتب را جدا می‌کند
; نام‌های معتبر حساب
Assets:US:BofA:Checking
Liabilities:CA:RBC:CreditCard
Equity:Retained-Earnings
Income:US:Acme:Salary
Expenses:Food:Groceries
Assets:Crypto:BTC-Holdings

; نام‌های نامعتبر حساب
assets:checking ; نوع ریشه با حرف کوچک
Assets:my checking ; فاصله مجاز نیست
Expenses ; فقط یک بخش

الگوی پیشنهادی نام‌گذاری برای حساب‌های ترازنامه به این صورت است:

Type : Country : Institution : Account : SubAccount

به عنوان مثال: Assets:US:Vanguard:401k:VTSAX یا Liabilities:US:Chase:Sapphire.

برای حساب‌های هزینه و درآمد، از نام‌گذاری مبتنی بر دسته‌بندی استفاده کنید:

Expenses:Food:Groceries
Expenses:Housing:Utilities:Electric
Income:US:Employer:Salary

سفارشی‌سازی نام‌های ریشه

می‌توانید پنج نوع ریشه را برای بومی‌سازی یا ترجیح شخصی تغییر نام دهید:

option "name_assets"       "Actifs"
option "name_liabilities" "Passifs"
option "name_equity" "Capital"
option "name_income" "Revenus"
option "name_expenses" "Depenses"

ایجاد حساب‌ها (دستور Open)

هر حساب باید قبل از ثبت تراکنش با دستور open اعلان شود. سینتکس کامل به این صورت است:

YYYY-MM-DD open Account [ConstraintCurrency,...] ["BookingMethod"]

باز کردن ساده

2014-05-01 open Assets:US:BofA:Checking

با محدودیت ارز

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

2014-05-01 open Assets:US:BofA:Checking       USD
2014-05-01 open Assets:Cash USD,CAD,EUR
2012-03-01 open Assets:US:ETrade:Main:ITOT ITOT

با روش‌های تطبیق (Booking Methods)

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

2014-02-11 open Assets:US:ETrade:IVV   IVV   "FIFO"
2014-02-11 open Assets:US:Schwab:AAPL AAPL "LIFO"
2014-02-11 open Assets:US:Fidelity GOOG "STRICT"

روش‌های تطبیق موجود:

روشرفتار
"STRICT"پیش‌فرض. نیاز به مشخص کردن دقیق لات دارد؛ در صورت ابهام خطا می‌دهد
"FIFO"اولین ورودی-اولین خروجی -- ابتدا قدیمی‌ترین لات‌ها کاهش می‌یابد
"LIFO"آخرین ورودی-اولین خروجی -- ابتدا جدیدترین لات‌ها کاهش می‌یابد
"AVERAGE"همه لات‌ها ادغام شده و میانگین بها محاسبه می‌شود
"NONE"بدون تطبیق لات؛ هر قیمتی پذیرفته می‌شود

با فراداده (Metadata)

2013-03-14 open Assets:US:BTrade:HOOLI
category: "taxable"
institution: "BTrade Corp"
account-number: "XX-1234-5678"

انتخاب هوشمندانه تاریخ باز کردن

  • از تاریخ تولد خود برای حساب‌های عمومی مانند Expenses:Groceries استفاده کنید (این کار مجموع‌های مادام‌العمر به شما می‌دهد)
  • از تاریخ شروع استخدام برای حساب‌های درآمدی مرتبط با شغل استفاده کنید
  • از تاریخ واقعی ایجاد حساب برای حساب‌های مختص مؤسسه (حساب‌های بانکی، کارت‌های اعتباری) استفاده کنید

باز کردن خودکار با افزونه

اگر می‌خواهید در مرحله نمونه‌سازی، دستورهای open دستی را رد کنید:

plugin "beancount.plugins.auto_accounts"

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

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

استفاده از bean-query (BQL)

# فهرست همه حساب‌ها با مانده
bean-query ledger.beancount "SELECT account, units(sum(position)) GROUP BY 1"

# فهرست فقط حساب‌های هزینه
bean-query ledger.beancount "SELECT account WHERE account ~ 'Expenses'"

# صورتحساب حساب با مانده جاری
bean-query ledger.beancount \
"SELECT date, account, position, balance WHERE account ~ 'BofA:Checking'"

# نمای دفتر روزنامه برای یک حساب خاص
bean-query ledger.beancount "JOURNAL 'Assets:US:BofA:Checking'"

استفاده از bean-report

# تراز آزمایشی (همه حساب‌ها با مانده نهایی)
bean-report ledger.beancount balances

# ترازنامه
bean-report ledger.beancount balsheet

# صورت سود و زیان
bean-report ledger.beancount income

# دفتر روزنامه برای یک حساب خاص
bean-report ledger.beancount journal -a Assets:US:BofA:Checking

استفاده از Fava

Fava یک رابط بصری غنی برای بررسی حساب‌ها فراهم می‌کند:

  • صفحه ترازنامه: درخت تعاملی از تمام Assets، Liabilities و Equity
  • صفحه صورت سود و زیان: درخت تعاملی از تمام Income و Expenses
  • صفحه حساب: روی هر نام حساب کلیک کنید تا تب‌های دفتر روزنامه، تغییرات و مانده‌ها را ببینید
  • نوار فیلتر: از الگوهای regex برای نمایش فقط حساب‌های مطابق استفاده کنید (مثلاً Assets:US)

به‌روزرسانی حساب‌ها (تغییر نام و بازسازماندهی)

Beancount دستور تغییر نام داخلی ندارد، اما چندین رویکرد وجود دارد.

۱. جستجو و جایگزینی

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

sed -i 's/Assets:US:OldBank:Checking/Assets:US:NewBank:Checking/g' *.beancount

۲. افزونه rename_accounts

بسته beancount_reds_plugins یک افزونه تغییر نام قدرتمند ارائه می‌دهد:

plugin "beancount_reds_plugins.rename_accounts.rename_accounts" "{
'Expenses:Taxes' : 'Income:Taxes',
'Assets:House:Capital-Improvements' : 'Expenses:House:Appliances',
}"

این افزونه:

  • از تطبیق زیررشته‌ای استفاده می‌کند (Expenses:Taxes:Federal به‌طور خودکار به Income:Taxes:Federal تبدیل می‌شود)
  • از regex با ارجاعات عقبگرد پشتیبانی می‌کند
  • به‌طور خودکار دستورهای Open برای حساب‌های تغییر نام یافته ایجاد می‌کند
  • فایل‌های منبع شما را تغییر نمی‌دهد -- فقط نمایش درون حافظه‌ای را تغییر می‌دهد
  • با کامنت کردن خط افزونه می‌توان آن را فعال/غیرفعال کرد

۳. الگوی بستن و باز کردن مجدد

برای مهاجرت واقعی حساب (مثلاً تغییر بانک):

; حساب قدیمی
2010-01-01 open Assets:US:OldBank:Checking USD

; بستن قدیمی، باز کردن جدید
2024-06-15 close Assets:US:OldBank:Checking
2024-06-15 open Assets:US:NewBank:Checking USD

; انتقال مانده باقی‌مانده
2024-06-15 * "Transfer to new bank"
Assets:US:OldBank:Checking -5000.00 USD
Assets:US:NewBank:Checking 5000.00 USD

بستن حساب‌ها

دستور close یک حساب را به عنوان غیرفعال علامت‌گذاری می‌کند:

2016-11-28 close Liabilities:CreditCard:CapitalOne

بستن حساب چه کاری انجام می‌دهد

  • اگر هرگونه ثبتی پس از تاریخ بستن انجام شود، خطا ایجاد می‌کند
  • حساب را از گزارش‌ها خارج از دوره فعال فیلتر می‌کند
  • به Fava می‌گوید حساب را از نمای درختی پنهان کند (قابل تنظیم)

چه زمانی حساب‌ها را ببندیم

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

همیشه قبل از بستن، مانده صفر را تأیید کنید

Beancount به‌طور خودکار مانده صفر را هنگام بستن بررسی نمی‌کند. یک تأییدیه دستی اضافه کنید:

2023-12-31 balance Assets:US:OldBank:Savings  0.00 USD
2023-12-31 close Assets:US:OldBank:Savings

سازماندهی نمودار حساب‌ها

ساده شروع کنید، به مرور بهبود دهید

نیازی نیست در روز اول نمودار حساب‌های کاملی داشته باشید. با دسته‌بندی‌های کلی شروع کنید و با رشد نیازهای گزارش‌گیری، آن‌ها را تقسیم کنید. نویسنده Beancount گزارش می‌دهد که بیش از ۲۵۰ حساب هزینه دارد که همگی به‌مرور ایجاد شده‌اند.

الگوهای متداول سازماندهی

الگوی ۱: بر اساس مؤسسه (برای حساب‌های ترازنامه)

Assets:US:BofA:Checking
Assets:US:BofA:Savings
Assets:US:Vanguard:401k:VTSAX
Assets:US:Vanguard:401k:VBTLX
Liabilities:US:Amex:Platinum
Liabilities:US:Chase:Sapphire

الگوی ۲: بر اساس دسته‌بندی (برای حساب‌های درآمد و هزینه)

Expenses:Food:Groceries
Expenses:Food:Restaurant
Expenses:Food:Coffee
Expenses:Housing:Rent
Expenses:Housing:Insurance
Expenses:Housing:Utilities:Electric
Expenses:Housing:Utilities:Water
Expenses:Transport:Subway
Expenses:Transport:Gas
Expenses:Health:Medical
Expenses:Health:Dental

الگوی ۳: بر اساس جغرافیا (برای امور مالی چند کشوره)

Assets:US:BofA:Checking
Assets:CA:RBC:Checking
Assets:UK:HSBC:Current
Income:US:Acme:Salary
Income:CA:Freelance:Consulting

الگوی ۴: بر اساس ملک یا پروژه (برای املاک یا کسب‌وکار)

Assets:US:Loft4530:Property
Income:US:Loft4530:Rental
Expenses:Loft4530:Electricity
Expenses:Loft4530:Insurance
Expenses:Loft4530:Maintenance

الگوی ۵: بازتاب حساب‌های مرتبط (بخش مؤسسه یکسان)

Assets:US:ETrade:Cash
Assets:US:ETrade:AAPL
Income:US:ETrade:Dividends
Income:US:ETrade:PnL
Expenses:US:ETrade:Commissions

سلسله‌مراتب تا چه عمقی باید باشد؟

  • ۲ تا ۳ سطح برای دسته‌بندی‌های هزینه رایج است (Expenses:Food:Restaurant)
  • ۳ تا ۴ سطح برای اقلام ساختاریافته ترازنامه (Assets:US:Vanguard:401k:VTSAX)
  • از بیش از ۵ سطح اجتناب کنید مگر اینکه دلیل گزارش‌گیری قوی داشته باشید
  • سلسله‌مراتب عمیق زمانی خوب کار می‌کند که Fava آن‌ها را در نمای درختی جمع کند

یک نمونه واقعی

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

; ── دارایی‌ها ──
Assets:US:BofA:Checking USD
Assets:US:BofA:Savings USD
Assets:US:Vanguard:401k:VTSAX VTSAX
Assets:US:Vanguard:Roth:VTSAX VTSAX
Assets:US:ETrade:Cash USD
Assets:US:ETrade:AAPL AAPL
Assets:Cash:Wallet USD

; ── بدهی‌ها ──
Liabilities:US:Amex:Platinum USD
Liabilities:US:Chase:Freedom USD
Liabilities:US:BofA:Mortgage USD

; ── درآمدها ──
Income:US:Employer:Salary
Income:US:Employer:Bonus
Income:US:Employer:Match401k
Income:US:ETrade:Dividends
Income:US:BofA:Interest

; ── هزینه‌ها ──
Expenses:Food:Groceries
Expenses:Food:Restaurant
Expenses:Food:Coffee
Expenses:Housing:Rent
Expenses:Housing:Insurance
Expenses:Housing:Utilities:Electric
Expenses:Housing:Utilities:Water
Expenses:Transport:Subway
Expenses:Transport:Taxi
Expenses:Transport:Gas
Expenses:Health:Medical
Expenses:Health:Dental
Expenses:Health:Pharmacy
Expenses:Shopping:Clothing
Expenses:Shopping:Electronics
Expenses:Entertainment:Streaming
Expenses:Entertainment:Books
Expenses:Travel:Flights
Expenses:Travel:Hotels
Expenses:Taxes:Federal
Expenses:Taxes:State
Expenses:Taxes:SocialSecurity
Expenses:Taxes:Medicare

; ── حقوق صاحبان سهام ──
Equity:Opening-Balances
Equity:Retained-Earnings

قابلیت‌های اختصاصی Fava

نشانگرهای به‌روز بودن

یکی از بهترین قابلیت‌های Fava برای مدیریت حساب. این فراداده را به هر حسابی اضافه کنید:

2014-05-01 open Assets:US:BofA:Checking  USD
fava-uptodate-indication: TRUE

سپس Fava نقاط رنگی در کنار حساب نمایش می‌دهد:

  • نقطه سبز: آخرین ورودی یک تأییدیه مانده موفق است (حساب تطبیق شده)
  • نقطه قرمز: آخرین ورودی یک تأییدیه مانده ناموفق است (نیاز به بررسی دارد)
  • نقطه زرد: آخرین ورودی وجود دارد اما تأییدیه مانده نیست (هنوز تطبیق نشده)
  • نقطه خاکستری: فعالیتی در دوره بازنگری وجود ندارد

تنظیم آستانه خاکستری:

2016-06-14 custom "fava-option" "uptodate-indicator-grey-lookback-days" "60"

کنترل‌های نمای درختی

نحوه نمایش حساب‌ها در Fava را کنترل کنید:

; نمایش حساب‌های بسته شده در درخت
2016-06-14 custom "fava-option" "show-closed-accounts" "true"

; نمایش حساب‌های بدون تراکنش
2016-06-14 custom "fava-option" "show-accounts-with-zero-transactions" "true"

; نمایش حساب‌های با مانده صفر
2016-06-14 custom "fava-option" "show-accounts-with-zero-balance" "true"

الگوهای جمع‌شدن

حساب‌های عمیقاً تودرتو را به‌طور پیش‌فرض جمع کنید:

; جمع کردن همه حساب‌ها با ۳ سطح یا بیشتر
2016-06-14 custom "fava-option" "collapse-pattern" ".*:.*:.*"

; جمع کردن زیردرخت‌های خاص
2016-06-14 custom "fava-option" "collapse-pattern" "Assets:US:Vanguard:.*"

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

هنگام مشاهده دفتر روزنامه یک حساب در Fava، ثبت‌های حساب‌های فرزند را نیز شامل کنید:

2016-06-14 custom "fava-option" "account-journal-include-children" "true"

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

به‌طور پیش‌فرض، درآمد و بدهی‌ها به‌صورت اعداد منفی نمایش داده می‌شوند (علامت طبیعی آن‌ها). برای نمایش به‌صورت مثبت:

2016-06-14 custom "fava-option" "invert-income-liabilities-equity" "true"

مدیریت اسناد

Fava مدیریت اسناد را با سلسله‌مراتب حساب شما ادغام می‌کند. یک مسیر ریشه اسناد تنظیم کنید:

option "documents" "/path/to/documents"

سپس فایل‌ها را بر اساس مسیر حساب سازماندهی کنید:

/path/to/documents/
Assets/
US/
BofA/
Checking/
2024-01-15.january-statement.pdf
2024-02-15.february-statement.pdf
Liabilities/
US/
Amex/
Platinum/
2024-03-15.march-bill.pdf

فایل‌هایی که با YYYY-MM-DD شروع می‌شوند، به‌طور خودکار توسط Fava شناسایی شده و در نمای دفتر روزنامه حساب ظاهر می‌شوند.

اشتباهات رایج و نحوه اجتناب از آن‌ها

۱. غلط تایپی در نام حساب‌ها

یک غلط تایپی مانند Expenses:Grocries یک حساب جدید و ناخواسته ایجاد می‌کند.

راه‌حل: از افزونه auto_accounts در محیط عملیاتی استفاده نکنید. دستورهای open صریح الزامی کنید. Beancount فوراً برای هر حساب اعلان‌نشده خطا می‌دهد:

ERROR: Invalid reference to unknown account 'Expenses:Grocries'

۲. فراموش کردن محدودیت ارز

بدون محدودیت ارز، ممکن است به‌طور تصادفی EUR را در حساب فقط-USD ثبت کنید.

راه‌حل: همیشه ارزها را در دستورهای open مشخص کنید:

2014-01-01 open Assets:US:BofA:Checking  USD

۳. عدم تأیید منظم مانده‌ها

بدون تأییدیه‌های منظم مانده، خطاها ممکن است ماه‌ها شناسایی نشوند.

راه‌حل: برای هر حساب فعال، تأییدیه‌های مانده ماهانه اضافه کنید:

2024-01-01 balance Assets:US:BofA:Checking   5,432.10 USD
2024-02-01 balance Assets:US:BofA:Checking 4,890.55 USD
2024-03-01 balance Assets:US:BofA:Checking 6,123.00 USD

۴. ناسازگاری در قواعد نام‌گذاری

ترکیب الگوها (مثلاً Expenses:Food در مقابل Expenses:US:Food) پرس‌وجوها و گزارش‌ها را گیج‌کننده می‌کند.

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

۵. بستن بدون تأییدیه مانده صفر

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

راه‌حل: همیشه بستن را با تأییدیه مانده جفت کنید:

2023-12-31 balance Assets:US:OldBank:Savings  0.00 USD
2023-12-31 close Assets:US:OldBank:Savings

الگوهای پیشرفته

نکات چند ارزی

ارزهای عملیاتی خود را برای ستون‌های اختصاصی گزارش اعلان کنید:

option "operating_currency" "USD"
option "operating_currency" "EUR"

برای حساب‌های چند ارزی، تمام ارزهای مجاز را فهرست کنید:

2014-01-01 open Assets:Cash  USD,CAD,EUR

تأییدیه‌های مانده با چندین ارز باید هر ارز را جداگانه انجام دهید:

2024-01-01 balance Assets:Cash     562.00 USD
2024-01-01 balance Assets:Cash 210.00 CAD
2024-01-01 balance Assets:Cash 60.00 EUR

استفاده از Pad و Balance برای راه‌اندازی اولیه

از دستور pad برای تعیین مانده‌های ابتدایی بدون محاسبه دستی مبالغ استفاده کنید:

2000-05-28 open Assets:US:BofA:Checking  USD
2000-05-28 pad Assets:US:BofA:Checking Equity:Opening-Balances
2024-07-01 balance Assets:US:BofA:Checking 12,345.67 USD

Beancount به‌طور خودکار تراکنش تعدیل را ایجاد می‌کند. یک نکته مهم: تأییدیه‌های مانده، مانده را در ابتدای تاریخ مشخص‌شده بررسی می‌کنند. بنابراین یک pad در ۲ ژانویه نیاز به تأییدیه مانده در ۳ ژانویه یا بعد از آن دارد.

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

از فراداده در دستورهای open برای گزارش‌گیری سفارشی استفاده کنید:

2014-01-01 open Assets:US:BofA:Checking  USD
category: "liquid"
tax-status: "taxable"

2014-01-01 open Assets:US:Vanguard:401k USD
category: "retirement"
tax-status: "tax-deferred"

فراداده را با BQL پرس‌وجو کنید:

SELECT account, META("category") WHERE META("tax-status") = "taxable"

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

یادداشت‌های تاریخ‌دار به دفتر روزنامه هر حساب ضمیمه کنید:

2024-03-20 note Assets:US:BofA:Checking "Called about disputed charge, ref #12345"
2024-06-01 note Liabilities:US:Chase:Sapphire "Annual fee waived after calling retention"

این یادداشت‌ها در دفتر روزنامه حساب در Fava ظاهر می‌شوند و یک مسیر حسابرسی ایجاد می‌کنند.

ردیابی حساب‌ها و تخصیص وجوه

Beancount ثبت‌های مجازی Ledger را ندارد، اما می‌توانید از زیرحساب‌ها برای تخصیص وجوه استفاده کنید:

; ردیابی صندوق اضطراری در حساب جاری
Assets:US:BofA:Checking:EmergencyFund USD
Assets:US:BofA:Checking:Operating USD

; ردیابی بازپرداخت‌ها
Assets:Receivables:Employer:Travel USD
Assets:Receivables:Friend:SharedDinner USD

دسته‌بندی هزینه‌های مالیات‌پسند

حساب‌های هزینه را به‌گونه‌ای ساختار دهید که تهیه اظهارنامه مالیاتی آسان‌تر شود:

Expenses:Health:Medical:Deductible
Expenses:Charity:Deductible
Expenses:Business:Office
Expenses:Business:Equipment
Expenses:Education:Professional

برگه مرجع سریع

کارسینتکس
باز کردن حساب2024-01-01 open Assets:US:BofA:Checking USD
بستن حساب2024-12-31 close Assets:US:OldBank:Savings
تأییدیه مانده2024-01-01 balance Assets:US:BofA:Checking 5,432.10 USD
تکمیل تا مانده2024-01-01 pad Assets:Cash Equity:Opening-Balances
افزودن یادداشت2024-01-15 note Assets:US:BofA:Checking "Monthly reconciliation done"
ضمیمه کردن سند2024-01-15 document Assets:US:BofA:Checking "/path/to/statement.pdf"
افزودن فرادادهکلید-مقدار تورفته در خط بعد از open
باز کردن خودکار (توسعه)plugin "beancount.plugins.auto_accounts"
محدودیت ارز2024-01-01 open Assets:Cash USD,EUR
تنظیم روش تطبیق2024-01-01 open Assets:US:ETrade:AAPL AAPL "FIFO"

خلاصه

مدیریت خوب حساب‌ها پایه و اساس حسابداری مؤثر با Beancount است. نکات کلیدی:

  1. همیشه از دستورهای open صریح استفاده کنید -- آن‌ها غلط‌های تایپی را می‌گیرند و نظم را اعمال می‌کنند
  2. محدودیت ارز اضافه کنید تا از خطاهای بین‌ارزی جلوگیری شود
  3. از قرارداد نام‌گذاری یکسان استفاده کنید -- بر اساس مؤسسه برای ترازنامه، بر اساس دسته‌بندی برای درآمد/هزینه‌ها
  4. ساده شروع کنید و بهبود دهید -- با رشد نیازهای گزارش‌گیری، حساب‌ها را تقسیم کنید
  5. به‌طور منظم مانده‌ها را تأیید کنید -- تطبیق ماهانه خطاها را زود شناسایی می‌کند
  6. حساب‌ها را به‌درستی ببندید -- با تأییدیه مانده صفر
  7. از قابلیت‌های Fava بهره ببرید -- نشانگرهای به‌روز بودن، الگوهای جمع‌شدن و ادغام اسناد
  8. از فراداده استفاده کنید برای دسته‌بندی و گزارش‌گیری سفارشی

حسابداری خوشی داشته باشید!

References: