پرسشهای زیر از جامعه حسابداری متنساده میآیند — ردیت، Hacker News، فهرست پستی Beancount — و نحوه کار عملی آن را پوشش میدهند. برای پرسشهایی درباره خود سرویس Beancount.io (قیمتگذاری، طرحها، پشتیبانی، مدیریت حساب)، به پرسشهای پرتکرار محصول مراجعه کنید.
شروع کار
چقدر باید از حسابداری بدانم قبل از شروع؟
حدود پنج مفهوم، نه یک مدرک دانشگاهی. باید پنج نوع حساب (داراییها، بدهیها، سرمایه، درآمد، هزینهها)، این ایده که هر تراکنش ارزش را بین حداقل دو مورد از آنها جابهجا میکند، و این قاعده که تراکنش باید تراز باشد را بدانید. Beancount بقیه را برای شما اعمال میکند — هر تراکنشی که اعدادش جمع نشود را بهجای پذیرش بیصدا، بهعنوان خطا علامتگذاری میکند، پس نرمافزار اشتباهاتی را میگیرد که یک مبتدی در غیر این صورت از دست میداد.
با مقدمهای بر Beancount شروع کنید، واژهنامه را در یک زبانه باز نگه دارید، و نخستین تراکنشهایتان را در شروع سریع اضافه کنید.
بدهکار و بستانکار در Beancount کجا هستند؟
Beancount اصلاً از واژههای «بدهکار» و «بستانکار» استفاده نمیکند — از اعداد علامتدار استفاده میکند که باید به صفر برسند. پولی که از یک حساب خارج میشود منفی است، پولی که وارد میشود مثبت است، و یک تراکنش زمانی معتبر است که ثبتهایش یکدیگر را خنثی کنند. این همان حسابداری دوطرفهای است که حسابداران انجام میدهند، با واژگانی که سردرگمی تازهواردان را حذف کرده.
اگر از نرمافزار حسابداری سنتی استفاده کردهاید، ترجمهاش این است: بدهکار یک عدد مثبت است و بستانکار یک عدد منفی. برای شیوه نوشتن ثبتها، مرجع نحو زبان را ببینید، یا برای پیشینه حسابداری به زبان ساده بدهکار و بستانکار به زبان ساده را ببینید.
چرا تراکنشها باید به صفر برسند؟
چون پول همیشه از جایی میآید، و جمعصفر همان چیزی است که این واقعیت را به یک بررسی خطا تبدیل میکند. اگر ۴۰ دلار برای خواربار خرج میکنید، آن پول از یک حساب بانکی خارج شده — ثبت هر دو نیمه یعنی آن دو باید یکدیگر را خنثی کنند، و هر غلط تایپی در هر یک از مبالغ بهعنوان خطا علامتگذاری میشود نه اینکه بیصدا ماندهای اشتباه تولید کند.
به همین دلیل یک دفتر متنساده قابلاعتمادتر از یک صفحهگسترده هزینههاست: خود ساختار خودبررسی است. تصدیق مانده مکانیزم مرتبطی است که دفتر شما را با واقعیت بررسی میکند.
ماندههای افتتاحیه خود را چگونه تنظیم کنم؟
تراکنشی در تاریخ شروعتان ثبت کنید که مانده جاری هر حساب را از
Equity:Opening-Balances جابهجا کند، سپس یک تصدیق balance برای تثبیت آن اضافه کنید.
لازم نیست تاریخ مالیتان را بازسازی کنید — یک تاریخ شروع انتخاب کنید، ماندهها را همان
طور که آن روز هستند بردارید، و از آنجا به جلو بروید.
شروع سریع یک نمونه کامل مانده افتتاحیه را گامبهگام نشان میدهد.
نمودار حسابهای من چقدر باید دقیق باشد؟
خشن شروع کنید و تنها زمانی تقسیم کنید که تقسیم دقیقتر تصمیمی را تغییر دهد. حدود بیست حساب برای شروع کافی است؛ اگر در حال فکر کردن به این هستید که آیا «Expenses:Food» باید خواربار را از رستوران جدا کند، آزمون مفید این است که آیا واقعاً با دانستن این تفکیک کار متفاوتی انجام میدهید.
تغییر نام و تقسیم بعداً یک جستوجو-و-جایگذاری در یک فایل متنی است، پس هزینه شروع ساده پایین است. نام حسابها تودرتو میشوند، پس میتوانید با یک دسته گسترده شروع کنید و بعداً آن را بدون بازنویسی تاریخ به زیرحسابها تقسیم کنید — اگر ساختاری برای کپی کردن میخواهید، چگونه نمودار حسابها طراحی کنیم را ببینید.
چرا متن ساده؟
چرا به جای صفحهگسترده از حسابداری متنساده استفاده کنم؟
یک صفحهگسترده نمیتواند به شما بگوید کجا اشتباه است. حسابداری متنساده دوطرفه را
اعمال میکند، پس هر تراکنش خودبررسی است، و فایل تا زمانی که فایلهای متنی وجود دارند
قابل grep، diff و اسکریپتنویسی باقی میماند. همچنین تاریخ نسخه واقعی به دست میآورید:
git log روی دفترتان دقیقاً نشان میدهد چه چیزی، چه زمانی و چرا تغییر کرده است.
تفاوت عملی با چندین حساب، ارز یا سرمایهگذاری ظاهر میشود، جایی که یک صفحهگسترده تکثبتی بیصدا از حقیقت فاصله میگیرد. حسابداری شفاف و قابلحسابرسی را ببینید.
آیا دفترداری دوطرفه برای امور مالی شخصی بیش از حد است؟
اگر فقط میخواهید بدانید چقدر برای قهوه خرج کردهاید، بله — یک صفحهگسترده کافی است. حسابداری دوطرفه از همان لحظهای که چندین حساب، یک وام مسکن، یک حساب کارگزاری، یا بیش از یک ارز دارید ارزش خود را ثابت میکند، چون آنها دقیقاً موقعیتهایی هستند که ردیابی تکثبتی بدون اطلاع دادن پول را از دست میدهد.
یک روش مفید برای فکر کردن: حسابداری دوطرفه یک جمعکننده کنترلی برای امور مالی شماست. برای استدلال مفصلتر مقدمه را ببینید.
آیا باید از خط فرمان استفاده کنم؟
نه. Fava یک رابط وب کامل روی همان فایل متنی است —
ترازنامهها، صورتهای سود و زیان، نمودارها، و ورود تراکنش — و Beancount.io آن را
برای شما همراه با دفترتان در ابر اجرا میکند. فایل متنی همچنان منبع حقیقت باقی میماند،
پس میتوانید رابط وب را روزمره استفاده کنید و تنها زمانی که میخواهید به ترمینال بروید.
اگر ترمینال را ترجیح میدهید، خط فرمان bea همان فایل را ایجاد، بررسی و گزارش میکند —
شروع سریع CLI را ببینید.
برای آنچه رابط کاربری میتواند انجام دهد ویژگیهای رابط کاربری را ببینید، یا نسخه نمایشی زنده را امتحان کنید.
وارد کردن دادههایتان
چگونه تراکنشهای بانکی خود را به Beancount وارد کنم؟
بیشتر مردم ۸۰ تا ۹۵٪ تراکنشها را وارد میکنند و بقیه را دستی وارد میکنند. به ترتیب تقریبی قابلیت اعتماد: دانلود مستقیم OFX/QFX از بانکتان، خروجی CSV بههمراه قواعد وارد کردن، اتصال یک تجمیعکننده، و — فقط بهعنوان آخرین راهحل — تبدیل صورتحساب PDF به CSV. همگامسازی بانکی Beancount.io اتصال و دستهبندی را برای شما انجام میدهد.
انتظار داشته باشید برای هر مؤسسه یک قاعده بنویسید یا تنظیم کنید: خروجیهای CSV بانکی بهطور بدنامی ناسازگارند، و نام یک فروشنده حاوی یک ویرگول بدون escape یک مشکل واقعی و رایج است. برای مسیر خودکار وارد کردن هوشمند را ببینید.
برای یک فایل یکبارمصرف، دو تبدیلکننده رایگان مرورگر بخش مکانیکی را بدون بارگذاری
هیچ چیزی انجام میدهند: CSV به Beancount برای خروجیهای
صفحهگسترده، و OFX و QIF به Beancount برای دانلودهای
.ofx، .qfx، .qbo و .qif که بانکها وقتی هیچ CSV ارائه نمیدهند عرضه میکنند.
چگونه از وارد کردن دوباره همان تراکنش جلوگیری کنم؟
واردکنندهها در برابر ورودیهای موجود در دفترتان، با تطبیق تاریخ، مبلغ و ذینفع، حذف تکراری انجام میدهند و هر چیز مبهمی را برای تأیید علامتگذاری میکنند نه اینکه حدس بزنند. گردشکار معمول واردکردنیهای نامطمئن را بهعنوان معلق علامتگذاری میکند تا پیش از اینکه بخشی از سابقه دائمی شوند آنها را بررسی کنید.
OFX این کار را از CSV آسانتر میکند: هر تراکنش یک FITID حمل میکند که بانک آن را در
دانلودهای مختلف پایدار نگه میدارد، پس یک واردکننده میتواند بر اساس هویت تطبیق دهد
نه استنباط — تبدیلکننده OFX آن را بهعنوان یک فیلد فراداده
id: حفظ میکند.
نیمه دیگر پاسخ انتقالها هستند: پولی که بین دو حساب تحت مالکیت شما جابهجا میشود در خروجی هر دو بانک ظاهر میشود. آن را یک بار بهعنوان یک تراکنش واحد با دو ثبت ثبت کنید.
آیا باید به شخص ثالث لاگین بانکی خود را بدهم؟
نه — و برای بسیاری از مردم این دلیل استفاده از حسابداری متنساده است. میتوانید خودتان OFX یا CSV را از بانکتان صادر کنید و هرگز اعتبارنامهها را به یک تجمیعکننده نسپارید. اگر همگامسازی خودکار را ترجیح میدهید، Beancount.io از یک تجمیعکننده مورد تأیید بانک استفاده میکند و رمز بانکداری آنلاین شما را ذخیره نمیکند.
جزئیات را در صفحه امنیت بخوانید.
چگونه دفتر خود را با صورتحساب بانکی تطبیق دهم؟
یک تصدیق balance برای رقم پایانی صورتحساب اضافه کنید، با تاریخ روز پس از تاریخ
پایانی. تصدیقهای مانده در ابتدای تاریخ خود ارزیابی میشوند، پس تصدیق صبح روز بعد
همان چیزی است که هر تراکنش تا آخرین روز صورتحساب را شامل میشود. اگر دفتر شما با بانک
مغایرت داشته باشد، bea check یک خطای Balance failed گزارش میکند و با کد غیرصفر
خارج میشود، که مطابقتدهی را از یک مقایسه دستی به چیزی تبدیل میکند که نرمافزار هر
بار که اجرا میشود بررسی میکند.
یک تناوب ماهانه برای بیشتر مردم کافی است. برای ردیابی یک مغایرت فیلتر کردن و جستوجو را ببینید.
ارزها و سرمایهگذاریها
Beancount چگونه چند ارز را مدیریت میکند؟
بهصورت بومی، و این یکی از قویترین مزایای آن نسبت به برنامههای مالی مصرفی است. هر
مبلغ ارز خود را حمل میکند، حسابها میتوانند چندین ارز را همزمان داشته باشند، و
تبدیلها بهصراحت با @ برای قیمت یا {} برای بهای تمامشده ثبت میشوند، پس تغییر نرخ
ارز هرگز بیصدا تاریخ شما را بازنویسی نمیکند.
هیچ چیزی پشت سر شما تبدیل نمیشود — همیشه هم ارز اصلی و هم ارزش تبدیلشده را میبینید. برای جنبه حسابداری، نحو زبان، دقت و تلورانسها، و حسابداری چندارزی را ببینید.
چگونه قیمتهای ارزشگذاری را بهروز نگه دارم؟
از قیمتهای زنده برای داراییهای پشتیبانیشده در یک دفتر
Beancount.io میزبانیشده استفاده کنید، یا برای Beancount بالادستی و Fava نقلقولها را
در فایلهای قیمت محلی واکشی کنید. انتخابگر به شما امکان میدهد یک ارز نقلقول انتخاب
کنید و includeهای مدیریتشده را کپی کنید. نسخههای سازگار bea نیز از includeهای
مدیریتشده پشتیبانی میکنند؛ راهنمای راهاندازی به دستورالعملهای آنها لینک دارد.
قیمتهای مدیریتشده بر ارزشگذاری بازار تأثیر میگذارند، نه بر مبالغ تراکنش یا بهای تمامشده. قیمت خودتان برای همان تاریخ و جفت ارز اولویت دارد. بازخوانیها میتوانند در طول یک قطعی از قیمتهای کششده کهنه استفاده کنند، و یک نقلقول بعدی نمیتواند یک تاریخ ارزشگذاری تاریخی ازدسترفته را پر کند.
مبنای هزینه و سود سرمایه را چگونه پیگیری کنم؟
خریدها را با یک بهای تمامشده در آکولاد ثبت کنید — 10 AAPL {150.00 USD} — و
Beancount هر بسته را جداگانه پیگیری میکند. وقتی میفروشید، میگویید کدام بسته را
کاهش میدهید، و سود سرمایه بهطور خودکار از محاسبات بیرون میآید نه اینکه چیزی باشد که
دستی محاسبه میکنید.
Beancount از روشهای ثبت STRICT، FIFO، LIFO و NONE پشتیبانی میکند. ثبت به روش میانگین موزون تجزیه میشود اما بهطور کامل پیادهسازی نشده — اگر حوزه مالیاتی شما روش میانگین موزون را الزامی میکند، برنامهریزی کنید که آن را با یک پلاگین یا بستههای صریح پیگیری کنید. مدیریت موجودی را ببینید.
تریدهای ارز دیجیتال و مبنای هزینه آنها را چگونه ثبت کنم؟
دقیقاً مثل هر کالای دیگر: یک ارز دیجیتال واحدی با بهای تمامشده است، پس همان ماشین بسته و ثبت اعمال میشود. تبدیل یک توکن به توکن دیگر یک تراکنش واحد است که یک بسته را کاهش میدهد و بسته دیگری باز میکند، که همینطور همان سود محققشدهای است که بیشتر مقامات مالیاتی میخواهند گزارش شود.
پیگیری پرتفوی ارز دیجیتال و قالبهای آماده ارز دیجیتال را ببینید.
دفاتر تجاری و فریلنسری
آیا میتوانم از Beancount برای یک کسبوکار کوچک استفاده کنم، یا فقط برای امور مالی شخصی است؟
کسبوکارها از آن استفاده میکنند، شامل شرکتهایی با صدها هزار تراکنش. این نرمافزار حسابداری تعهدی، ساختارهای چندموجودیتی و گزارشهایی که یک حسابدار انتظار دارد را انجام میدهد. محدودیتهای صادقانه اینها هستند: ویرایش همزمان چندکاربره وجود ندارد، رابط کاربری فاکتورسازی داخلی وجود ندارد، و گردشکار تأیید حسابهای پرداختنی وجود ندارد — این یک دفتر است، نه یک ERP.
راهاندازیهای مختص صنعت و نمایشگاه دفتر باز از دفاتر واقعی شرکتها را ببینید.
آیا باید دفترهای جداگانه برای شخصی و تجاری نگه دارم؟
آنها را جدا نگه دارید — یا بهعنوان درختهای حساب سطحبالای متمایز در یک فایل یا
بهعنوان دو فایل ترکیبشده با include. مخلوط کردن آنها صورت سود و زیان کسبوکار را
بیمعنا میکند و زمان مالیات را سختتر میکند، و جدا کردن آنها در ابتدا هیچ هزینهای
ندارد.
دو فایل معمولاً انتخاب تمیزتر است زمانی که کسبوکار حساب بانکی خودش را دارد. پشتیبانی چندفایلی را ببینید.
فاکتورها و حسابهای دریافتنی را چگونه مدیریت کنم؟
دریافتنیها را بهعنوان یک حساب دارایی و پرداختنیها را بهعنوان یک بدهی مدل کنید، سپس فاکتور را وقتی صادر میکنید و پرداخت را وقتی میرسد ثبت کنید — این حسابداری تعهدی است، و Beancount مستقیماً از آن پشتیبانی میکند. آنچه ندارد یک رابط فاکتورسازی است: این نرمافزار آنچه به شما بدهکارند را پیگیری میکند، فاکتور را تولید یا ارسال نمیکند.
برای جنبه گزارش قالبهای گزارشدهی مالی، برای نمونههای عملی راهاندازیهای مختص صنعت، و برای مفاهیم درک حسابهای دریافتنی را ببینید.
چگونه دفتر خود را در زمان مالیات به حسابدارم تحویل دهم؟
گزارشها را صادر کنید نه دفتر را. حسابدار شما تقریباً مطمئناً یک فایل متنی نمیخواهد — او یک صورت سود و زیان، یک ترازنامه و یک فهرست تراکنش میخواهد، که میتوانید آنها را بهعنوان CSV یا PDF از رابط وب یا با یک کوئری تولید کنید.
برای استخراج دقیقاً اعدادی که میخواهند، راهنماهای آمادهسازی مالیات، قالبهای گزارشدهی مالی و کوئری با SQL را ببینید.
ابزارها و اکوسیستم
Beancount، Ledger و hledger چگونه با هم تفاوت دارند؟
هر سه سیستمهای دوطرفه متنساده با قالبهای فایل مشابه هستند. Ledger اصلیترین و آسانگیرترین تجزیهکننده است؛ hledger یک بازپیادهسازی Haskell است که به خاطر قواعد دوستانه وارد کردن CSV و مستنداتش شناخته شده؛ Beancount سختگیرترین تجزیهکننده و قویترین پشتیبانی از سرمایهگذاریها، بستهها و چندین ارز را دارد، بههمراه یک API پلاگین پایتون.
سختگیری معامله واقعی است: Beancount از بارگذاری فایلی که آن را مبهم مییابد خودداری میکند، که خطاها را زودتر میگیرد به قیمت سختگیری بیشتر. Beancount در برابر Ledger CLI و Beancount در برابر hledger را ببینید.
آیا Beancount بودجهبندی پاکتی مانند YNAB انجام میدهد؟
نه بهصورت بومی — این یک شکاف واقعی است نه یک ویژگی پنهان. بودجهبندی داخلی Beancount محدود است، و کسانی که رفتار سختگیرانه پاکتی میخواهند معمولاً از یک پلاگین جامعه یا مدلسازی پاکتها بهعنوان حساب استفاده میکنند.
اگر بودجهبندی پاکتی چیز اصلی است که میخواهید، پیش از تغییر Beancount در برابر YNAB را بخوانید. برای آنچه امروز کار میکند، بودجهبندی در Beancount را ببینید.
آیا میتوانم رسیدها را به تراکنشها پیوست کنم؟
بله. دستور document یک فایل را به یک حساب و تاریخ پیوند میدهد، و رابط وب به شما
امکان میدهد آن اسناد را در کنار تراکنشهایی که به آنها تعلق دارند بارگذاری و مرور
کنید. رسیدها بهعنوان فایلهای معمولی روی دیسک باقی میمانند، پس به همان اندازه خود
دفتر قابل حمل هستند.
ویژگیهای رابط کاربری را ببینید.
آیا برنامه موبایل وجود دارد؟
یک دفتر چقدر میتواند بزرگ شود قبل از اینکه کند شود؟
یک دهه امور مالی شخصی چند مگابایت است و در بسیار کمتر از یک ثانیه بارگذاری میشود.
Beancount ماندهها را از تاریخ کامل تراکنشها در هر بارگذاری بازمحاسبه میکند، و این
تا صدها هزار ورودی سریع باقی میماند. فراتر از آن، محدودیت راحتی ویرایش و diff است نه
زمان بارگذاری: تقسیم بر اساس سال با include فایلهای منفرد را کوچک نگه میدارد، اما
فایلهای includeشده همچنان یک دفتر ترکیبی واحد را تشکیل میدهند که Beancount بهطور
کامل بارگذاری و بازمحاسبه میکند، پس این یک راحتی سازماندهی فایل است نه یک سرعتبخش
یا راهی برای نگه داشتن دفاتر جداگانه.
برای چگونگی تقسیم یک دفتر در حال رشد پشتیبانی چندفایلی را ببینید.
هنوز گیر کردهاید؟
مرکز راهنما فهرست کامل مستندات را نمایه میکند، و واژهنامه هر اصطلاح بالا که ناآشنا بوده را تعریف میکند.