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

مهاجرت از QuickBooks به Beancount: راهنمای تغییر سیستم

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

یک تاریخ تغییر سیستم انتخاب کنید، تراز آزمایشی QuickBooks را برای روز قبل از آن صادر کنید، و دفتر کل Beancount خود را با یک pad و یک balance برای هر حساب ترازنامه باز کنید. وقتی bea check قبول شد و مانده حقوق صاحبان سهام با QuickBooks مطابقت داشت، دفاتر شما منتقل شده‌اند. تمام موارد پس از تاریخ تغییر سیستم در Beancount ثبت می‌شود.

این راهنما برای QuickBooks Online و QuickBooks Desktop کار می‌کند. به یک واردکننده QuickBooks وابسته نیست، چون هیچ‌کدام همراه Beancount عرضه نمی‌شود. ابتدا مانده‌ها را منتقل می‌کنید، سپس تصمیم می‌گیرید چه مقدار از سوابق را همراه ببرید.

اگر هنوز در حال تصمیم‌گیری برای تغییر هستید، ابتدا Beancount در برابر QuickBooks را بخوانید.

۱. تاریخ تغییر سیستم و آنچه نگه می‌دارید را تعیین کنید​

اولین روز یک سال مالی، مانند 2026-01-01 را انتخاب کنید. مرز سال باعث می‌شود یک سال مالیاتی در یک سیستم بماند. همچنین به این معناست که اولین صورت سود و زیان Beancount شما از صفر شروع می‌شود.

همین حالا تصمیم بگیرید که Beancount چه مقدار سابقه را نگه دارد:

  • فقط مانده‌ها. در تاریخ تغییر باز کنید و گزارش‌های QuickBooks را به عنوان آرشیو برای سال‌های قبل نگه دارید. این سریع‌ترین مسیر است و ادامه این راهنما آن را فرض می‌کند.
  • خلاصه‌های سالانه. یک ورودی خلاصه برای هر سال گذشته از تراز آزمایشی آن سال اضافه کنید. سپس گزارش‌های چندساله شما در Beancount کار می‌کنند.
  • تاریخ کامل تراکنش‌ها. خروجی دفتر کل را با یک اسکریپت تبدیل کنید. این بیشترین کار را دارد و بخش ۵ توضیح می‌دهد که شامل چه چیزی است.

هر حساب بانکی و کارت را در QuickBooks تا روز قبل از تغییر سیستم تطبیق دهید. مانده تطبیق‌نشده خطای آن را به دفتر کل جدید شما منتقل می‌کند.

۲. صادر کردن از QuickBooks​

به سه گزارش نیاز دارید، همه با پایان روز قبل از تغییر سیستم (2025-12-31 در این راهنما):

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

QuickBooks Online. به Reports بروید، سپس Standard reports، و هر گزارش را با نام باز کنید. Export/Print را انتخاب کنید، سپس Export to Excel. فهرست حساب همان گزارش نمودار حساب‌ها است. ابزار Export data زیر Settings، در ستون Tools، مجموعه‌ای از گزارش‌ها و فهرست‌ها را به عنوان فایل‌های Excel در یک فایل zip صادر می‌کند. Intuit هر دو مسیر را در Export your QuickBooks Online data مستند کرده است.

این خروجی‌های QuickBooks Online فایل‌های Excel هستند. هر کدام را در یک صفحه‌گسترده باز کنید و یک نسخه CSV ذخیره کنید اگر قرار است اسکریپت آن را بخواند.

پیوست‌ها جداگانه صادر می‌شوند. در QuickBooks Online، به Settings بروید، سپس Attachments، فایل‌ها را انتخاب کنید و Batch actions و سپس Export را انتخاب کنید. zip را با آرشیو خود نگه دارید.

QuickBooks Desktop. در ویندوز، هر گزارش را از Reports و سپس Reports Center باز کنید. Excel را انتخاب کنید، سپس Create New Worksheet. پنجره بعدی می‌تواند یک کتاب کاری Excel یا یک فایل CSV را مستقیماً ذخیره کند، همان‌طور که در Export reports as Excel workbooks توضیح داده شده است. Desktop همچنین می‌تواند فهرست‌ها، از جمله نمودار حساب‌ها را به عنوان فایل IIF صادر کند: File، سپس Utilities، سپس Export، سپس Lists to IIF Files. خروجی IIF فقط شامل فهرست‌ها است. Intuit اعلام می‌کند که می‌توانید تراکنش‌ها را وارد کنید اما نمی‌توانید آن‌ها را صادر کنید، همان‌طور که در Export, import, and edit IIF files توضیح داده شده است.

خروجی‌های اصلی را بدون تغییر نگه دارید. آن‌ها مدرک شما هستند اگر بعداً یک عدد زیر سؤال برود.

۳. نگاشت حساب‌ها به سلسله‌مراتب Beancount​

Beancount پنج حساب اصلی دارد. هر نوع حساب QuickBooks زیر یکی از آن‌ها قرار می‌گیرد:

نوع حساب QuickBooksحساب Beancount
بانکAssets:Bank:Checking, Assets:Bank:Savings
حساب‌های دریافتنی (A/R)Assets:AccountsReceivable
سایر دارایی‌های جاری، دارایی‌های ثابتAssets:Prepaid:…, Assets:Equipment:…
کارت اعتباریLiabilities:CreditCard:Visa
حساب‌های پرداختنی (A/P)، سایر بدهی‌های جاریLiabilities:AccountsPayable, Liabilities:SalesTax
بدهی‌های بلندمدتLiabilities:Loans:…
حقوق صاحبان سهام، سود انباشته، حقوق صاحبان سهام افتتاحیهEquity:Opening-Balances
درآمد، سایر درآمدهاIncome:Sales, Income:Interest
بهای تمام‌شده کالای فروش‌رفتهExpenses:COGS:…
هزینه‌ها، سایر هزینه‌هاExpenses:Rent, Expenses:Software

نام حساب‌ها با یک حرف بزرگ شروع می‌شود و فاصله ندارد، بنابراین "Office Supplies" به Expenses:Office-Supplies تبدیل می‌شود. زیرحساب‌های QuickBooks به بخش‌های عمیق‌تر تبدیل می‌شوند، مانند Expenses:Vehicle:Fuel.

سود انباشته و حقوق صاحبان سهام افتتاحیه در یک حساب Equity:Opening-Balances ادغام می‌شوند. Beancount سود سال جاری را از حساب‌های درآمد و هزینه شما محاسبه می‌کند، بنابراین نیازی به حمل حساب جداگانه سود انباشته به جلو نیست.

۴. باز کردن دفتر کل در تاریخ تغییر سیستم​

این شرکت نمونه یک تراز آزمایشی چهارخطی در 2025-12-31 دارد. خطوط درآمد و هزینه قبلاً در سود انباشته ادغام شده‌اند. QuickBooks Online خودش همین کار را وقتی سال مالی جدید شروع می‌شود انجام می‌دهد، همان‌طور که در View retained earnings account details توضیح داده شده است.

حساببدهکاربستانکار
حساب جاری۱۲,۴۵۰.۰۰
حساب‌های دریافتنی (A/R)۳,۲۰۰.۰۰
کارت اعتباری ویزا۱,۸۷۵.۴۰
سود انباشته۱۳,۷۷۴.۶۰
مجموع۱۵,۶۵۰.۰۰۱۵,۶۵۰.۰۰

این را به عنوان main.bean ذخیره کنید:

option "operating_currency" "USD"
 
2025-12-31 open Assets:Bank:Checking USD
2025-12-31 open Assets:AccountsReceivable USD
2025-12-31 open Liabilities:CreditCard:Visa USD
2025-12-31 open Equity:Opening-Balances USD
 
; Opening balances from the QuickBooks Trial Balance as of 2025-12-31
2025-12-31 pad Assets:Bank:Checking Equity:Opening-Balances
2025-12-31 pad Assets:AccountsReceivable Equity:Opening-Balances
2025-12-31 pad Liabilities:CreditCard:Visa Equity:Opening-Balances
 
2026-01-01 balance Assets:Bank:Checking 12450.00 USD
2026-01-01 balance Assets:AccountsReceivable 3200.00 USD
2026-01-01 balance Liabilities:CreditCard:Visa -1875.40 USD
2026-01-01 balance Equity:Opening-Balances -13774.60 USD

هر pad از Beancount می‌خواهد که ورودی‌ای را درج کند که ادعای balance بعدی را درست می‌کند. طرف متعادل‌کننده هر pad به Equity:Opening-Balances می‌رود. ادعای balance در ابتدای تاریخش بررسی می‌شود، بنابراین pad‌ها تاریخ روز قبل از تغییر سیستم را دارند.

بدهکاران اعداد مثبت و بستانکاران اعداد منفی می‌شوند. به همین دلیل مانده ویزا -1875.40 USD است.

خط آخر تطبیق است. حقوق صاحبان سهام باید به -13774.60 USD برسد، یعنی بستانکار سود انباشته. یک رقم اشتباه در دارایی یا بدهی، حقوق صاحبان سهام پدشده را تغییر می‌دهد و آن ادعا شکست می‌خورد.

برای یک شرکت واقعی، یک open، یک pad و یک balance برای هر حساب ترازنامه در تراز آزمایشی اضافه کنید. حساب‌های دریافتنی و پرداختنی را به یک زیرحساب برای هر مشتری یا فروشنده تقسیم کنید اگر فاکتورهای باز را با نام پیگیری می‌کنید.

۵. آوردن سابقه​

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

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

  1. خروجی دفتر کل را به عنوان CSV ذخیره کنید.
  2. سطرهای آن را بر اساس تاریخ و شماره تراکنش به تراکنش‌ها گروه‌بندی کنید.
  3. هر حساب را با نگاشت مرحله ۳ خود تغییر نام دهید.
  4. هر گروه را به عنوان یک تراکنش Beancount بنویسید که ثبت‌های آن مجموع صفر دارند.

اگر سابقه را وارد می‌کنید، حساب‌ها را در ابتدای آن سابقه باز کنید نه در تاریخ تغییر سیستم. سپس ادعاهای balance با تاریخ 2026-01-01 را نگه دارید. آن‌ها ثابت می‌کنند که سابقه تبدیل‌شده به همان مانده‌هایی می‌رسد که QuickBooks گزارش کرده بود.

۶. تأیید در برابر QuickBooks​

دفتر کل را بررسی کنید، سپس همه مانده‌ها را فهرست کنید:

bea --file main.bean check
bea --file main.bean query "SELECT account, sum(position) GROUP BY account ORDER BY account"

bea check هیچ خطایی گزارش نمی‌کند. پرس‌وجو چهار سطر برمی‌گرداند: Assets:AccountsReceivable با 3200.00 USD، Assets:Bank:Checking با 12450.00 USD، Equity:Opening-Balances با -13774.60 USD، و Liabilities:CreditCard:Visa با -1875.40 USD. هر سطر را با خط تراز آزمایشی QuickBooks خط به خط مقایسه کنید، با بستانکاران به عنوان اعداد منفی.

با خط فرمان آشنا نیستید؟ bea را با شروع سریع CLI نصب کنید.

۷. چه چیزی منتقل نمی‌شود​

مهاجرت دفتر کل، مانده‌ها و سابقه حسابداری را منتقل می‌کند. عملیاتی که QuickBooks حول آن‌ها اجرا می‌کند را منتقل نمی‌کند:

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

صفحه مقایسه صریح می‌گوید: Beancount را بر این فرض انتخاب نکنید که چند پلاگین کل مجموعه عملیاتی QuickBooks را بازسازی می‌کنند. آن را انتخاب کنید وقتی خود دفتر کل سیستم ثبت بلندمدت شماست.

کسب‌وکار کوچکی را روی Beancount اداره می‌کنید؟ Beancount.io برای کسب‌وکارهای کوچک را برای دفترهای کل میزبانی‌شده، همگام‌سازی بانکی و همکاری با حسابدار ببینید.

منبع: https://beancount.io/fa/docs/Solutions/migrate-from-quickbooks