پرش به محتوای اصلی
Beancount.io Logo

استفاده از LLM‌ها با Beancount برای وارد کردن، بررسی و

دسته‌بندی تراکنش‌ها با LLM، بررسی ورودی‌های پیشنهادی Beancount، تأیید موجودی حساب‌ها و پرس‌وجو از دفترهای خود — ابری یا محلی.

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

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

انتخاب جریان کاری

تنظیمات شمااز اینجا شروع کنیدتغییرات چگونه به دفتر کل شما می‌رسند
از Beancount.io استفاده می‌کنیدبرای فایل‌های صورت‌حساب از وارد کردن هوشمند یا برای سؤالات و ویرایش‌های پیشنهادی از دستیار هوش مصنوعی استفاده کنید.قبل از ارسال واردات، ردیف‌ها را بررسی کنید. برای ویرایش‌های دستیار، تغییرات پیشنهادی را بررسی کرده و تأیید یا رد را انتخاب کنید.
از یک کلاینت هوش مصنوعی خارجی استفاده می‌کنیدبرای اتصال کلاینت خود به یک دفتر کل میزبانی‌شده، راهنمای راه‌اندازی Beancount MCP را دنبال کنید.یک اجرای آزمایشی، عملیات ویرایش را پیش‌نمایش می‌دهد. یک فراخوانی جداگانه برای نوشتن، آن را اعمال می‌کند. اعلان‌های تأیید به تنظیمات کلاینت شما بستگی دارد.
فایل‌های محلی نگهداری می‌کنیداز مبدل CSV به Beancount یا یک واردکننده استفاده کنید، سپس از یک ابزار هوش مصنوعی بخواهید دسته‌بندی پیشنهاد دهد.شما ورودی‌های پیشنهادی را بررسی می‌کنید، فایل را تأیید کرده و تغییرات پذیرفته‌شده را ذخیره می‌کنید.

دستیار میزبانی‌شده و MCP یکپارچه‌سازی‌های Beancount.io هستند. نصب موتور متن‌باز حسابداری Beancount این خدمات را به یک دفتر کل محلی اضافه نمی‌کند.

قبل از شروع

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

برای بررسی گام‌به‌گام محلی، Beancount را با استفاده از راهنمای شروع نصب کنید. همچنین برای اجرای جستجوی نهایی از ترمینال به Beanquery نیاز دارید. مثال در سراسر آن USD را فرض می‌کند و هیچ تراکنش موجودی در فایل نمونه ندارد.

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

1. با تراکنش‌های منبع شروع کنید

حساب جاری ساختگی ما ماه اوت را با ۱،۰۰۰٫۰۰ USD آغاز می‌کند. صورت‌حساب آن شامل سه برداشت است و پس از آن برداشت‌ها با ۸۰۵٫۱۰ USD بسته می‌شود:

date,payee,description,amount
2026-08-03,Office Depot,Printer paper,-45.00
2026-08-04,Cloud Hosting Inc,Monthly hosting,-120.00
2026-08-05,Amazon,Online purchase,-29.90

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

در مبدل CSV، این چهار ستون را نگاشت کنید و حساب منبع را با ارز USD روی Assets:Bank:Checking تنظیم کنید. برای این نمونه، وارونه کردن همه علائم را خاموش بگذارید. بررسی کنید که پستینگ‌های منبع منفی باشند. یک حساب مقصد موقت فقط تا زمانی که دسته‌بندی‌ها را بررسی نکرده‌اید، یک جایگزین است.

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

2. با محدودیت‌های صریح، دسته‌بندی درخواست کنید

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

برای هر ردیف در این صورت‌حساب نمونه، یک حساب مقصد پیشنهاد دهید. حساب منبع Assets:Bank:Checking است. فقط از Expenses:Office:Supplies یا Expenses:Business:Hosting استفاده کنید. تاریخ اصلی، دریافت‌کننده وجه، مبلغ، حساب پیشنهادی و یک دلیل کوتاه را برگردانید. اگر توضیحات کافی نبود، NEEDS_REVIEW را برگردانید و توضیح دهید چه اطلاعاتی از دست رفته است. حساب‌ها را اختراع نکنید، مبالغ را تغییر ندهید و به دفتر کل ننویسید.

سه ردیف CSV را همراه با پرامپت ارائه دهید. یک نتیجه مفید می‌تواند به این شکل باشد؛ جمله‌بندی و پیشنهادات مدل می‌تواند متفاوت باشد:

تاریخدریافت‌کننده وجهمبلغ (USD)حساب پیشنهادیدلیل بررسی
2026-08-03Office Depot‎-45.00Expenses:Office:Suppliesتوضیحات کاغذ چاپگر را شناسایی می‌کند.
2026-08-04Cloud Hosting Inc‎-120.00Expenses:Business:Hostingتوضیحات میزبانی را شناسایی می‌کند.
2026-08-05Amazon‎-29.90NEEDS_REVIEWنام فروشنده مشخص نمی‌کند چه چیزی خریداری شده است.

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

3. عدم قطعیت را برطرف کرده و ورودی‌ها را بررسی کنید

رسید خرید آمازون را بررسی کنید. برای این مثال، یک کابل USB-C برای دفتر را شناسایی می‌کند و بررسی‌کننده Expenses:Office:Supplies را اختصاص می‌دهد. بدون این شواهد، به‌جای پذیرش یک دسته‌بندی حدسی، ردیف را در انتظار بررسی نگه دارید.

یک فایل جدید به نام review.beancount با مثال کامل زیر ایجاد کنید. این شامل اعلان‌های حساب و موجودی افتتاحیه است که CSV آنها را ندارد. اگر از مبدل استفاده کرده‌اید، تراکنش‌های آن را با این ورودی‌های بررسی‌شده مقایسه کنید؛ هر دو نسخه را به همان دفتر کل اضافه نکنید.

option "title" "AI bookkeeping review example"
option "operating_currency" "USD"
 
2026-08-01 open Assets:Bank:Checking USD
2026-08-01 open Equity:Opening-Balances USD
2026-08-01 open Expenses:Office:Supplies USD
2026-08-01 open Expenses:Business:Hosting USD
 
2026-08-01 * "Opening balance"
  Assets:Bank:Checking       1000.00 USD
  Equity:Opening-Balances   -1000.00 USD
 
2026-08-03 * "Office Depot" "Printer paper"
  Assets:Bank:Checking        -45.00 USD
  Expenses:Office:Supplies     45.00 USD
 
2026-08-04 * "Cloud Hosting Inc" "Monthly hosting"
  Assets:Bank:Checking          -120.00 USD
  Expenses:Business:Hosting      120.00 USD
 
2026-08-05 * "Amazon" "Online purchase; receipt: office USB-C cable"
  Assets:Bank:Checking        -29.90 USD
  Expenses:Office:Supplies     29.90 USD
 
2026-08-06 balance Assets:Bank:Checking 805.10 USD

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

قبل از پذیرش یک تغییر پیشنهادی، هر تراکنش را با ردیف منبع آن مقایسه کنید. علائم، ارز، حساب‌ها و رسید پشتیبان را تأیید کنید. نام یک فروشنده آشنا به تنهایی هدف خرید را ثابت نمی‌کند.

4. اعتبارسنجی و تطبیق

اعتبارسنج Beancount را بر روی نمونه محلی اجرا کنید:

bea --file review.beancount check

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

نتیجه را با صورت‌حساب تأیید کنید:

  • سه تراکنش صورت‌حساب هر کدام یک بار ظاهر می‌شوند، علاوه بر تراز افتتاحیه.
  • کل برداشت‌ها ۱۹۴٫۹۰ USD است.
  • حساب جاری ۸۰۵٫۱۰ USD دارد: افتتاحیه ۱٬۰۰۰٫۰۰ USD منهای آن برداشت‌ها.
  • لوازم اداری مجموعاً ۷۴٫۹۰ USD و میزبانی مجموعاً ۱۲۰٫۰۰ USD است.

اگر تراکنش آمازون را معلق بگذارید، حساب جاری روی ۸۳۵٫۰۰ USD باقی می‌ماند و عبارت تراز با ۲۹٫۹۰ USD شکست می‌خورد. آن تفاوت را بررسی کنید؛ یک تنظیم غیرقابل توضیح فقط برای عبور از بررسی اضافه نکنید.

bea check خطاهای نحوی، حسابی، تراز و عبارت تراز را می‌گیرد. این ابزار نمی‌تواند ثابت کند که یک رسید معتبر است، دسته هزینه درستی انتخاب کرده‌اید، یا همه ردیف‌های صورت‌حساب وجود دارند. یک تراکنش ارسال‌شده به یک حساب هزینه اشتباه همچنان می‌تواند کاملاً تراز باشد.

وقتی چیزی مطابقت ندارد

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

از هوش مصنوعی بخواهید مغایرت‌ها را توضیح دهد و به ردیف‌های مربوطه اشاره کند. قبل از حذف یک مورد تکراری مشکوک یا تغییر یک مبلغ، شواهد را تأیید کنید.

5. نتیجه بررسی‌شده را ذخیره کرده و آن را جستجو کنید

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

می‌توانید مجموع‌های نمونه را با زبان پرس‌وجوی Beancount تأیید کنید. با نصب Beanquery، اجرا کنید:

bea --file review.beancount query "SELECT account, sum(position) WHERE account ~ '^Expenses:' AND date >= 2026-08-01 AND date < 2026-09-01 GROUP BY account"

دو مجموع هزینه باید ۷۴٫۹۰ USD برای لوازم اداری و ۱۲۰٫۰۰ USD برای میزبانی باشد. محدوده تاریخ و فیلتر حساب پرس‌وجو و همچنین خروجی آن را بررسی کنید.

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

هزینه‌های اوت ۲۰۲۶ را از دفتر کل نمونه، گروه‌بندی‌شده بر اساس حساب، جستجو کن. پرس‌وجو و نتایج آن را نشان بده. هیچ فایلی را تغییر نده.

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

فرآیند بررسی را در Beancount.io اعمال کنید

برای فایل‌های صورت‌حساب، در نوار کناری دفتر کل خود وارد کردن ← وارد کردن هوشمند را باز کنید. ردیف‌های استخراج‌شده را بررسی کنید، حساب منبع و ارز را انتخاب کنید و از پر کردن با هوش مصنوعی برای پیشنهادهای حساب مقصد استفاده کنید. دسته‌بندی‌ها را قبل از ارسال وارد کردن تصحیح کنید، که دکمه آن شامل تعداد تراکنش‌ها است. دفتر روزنامه و ترازهای حاصل را در یک دفتر کل نمونه قبل از پردازش یک صورت‌حساب واقعی بررسی کنید. تأیید کنید که برداشت‌ها حساب منبع را کاهش می‌دهند؛ CSV بالا برای مبدل محلی آماده شده است و واردکننده‌ها می‌توانند علائم را متفاوت تفسیر کنند.

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

برای MCP، دستورالعمل‌های راه‌اندازی مخصوص کلاینت که در بالا پیوند داده شده را دنبال کرده و دفتر کل موردنظر را مجاز کنید. قبل از اجازه ویرایش، editLedgerFiles را با dry_run: true درخواست کنید. محتوای پیشنهادی و خلاصه عملیات را بررسی کنید، سپس فقط پس از بررسی، اجازه یک فراخوانی جداگانه برای نوشتن بدهید. پیش‌نمایش اجرای آزمایشی صحت حسابداری را ثابت نمی‌کند و تضمین نمی‌کند که کلاینت شما قبل از نوشتن بعدی اجازه بخواهد.

فرآیند بررسی را هنگام خودکارسازی حفظ کنید

با یک دسته کوچک شروع کنید و پیشنهاداتی را که تغییر می‌دهید ثبت کنید. نگاشت‌های تکرارشده و تأییدشده را به قوانین واردات صریح تبدیل کنید یا نمونه‌های بررسی‌شده را به عنوان زمینه ارائه دهید. فرض نکنید که یک مدل به طور دائمی از یک تصحیح در یک گفتگو یاد می‌گیرد.

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

تحقیقات از این تمایز بین نحو معتبر و حسابداری صحیح پشتیبانی می‌کند. مطالعه ژانویه ۲۰۲۵ فیگروا روسرو و همکاران مدل‌های کوچک با وزن‌های باز را بر روی سناریوهای نسبت مالی و تولید تراکنش با استفاده از پرامپت‌های ساختاریافته ارزیابی کرد. نتایج آن، آن مدل‌ها و وظایف را توصیف می‌کند، نه نرخ دقت برای دستیارهای امروزی یا جریان واردات شما. جریان کاری خود را با تراکنش‌های منبع بررسی‌شده و تصحیحاتی که نیاز دارند، قضاوت کنید.

ابزارهایی برای یک جریان کاری محلی تکراری

برای بخشی از فرآیند که باید تکرار کنید، یک ابزار انتخاب کنید:

  • Beangulp یک چارچوب واردکننده فراهم می‌کند. این ابزار جایگزین چارچوب قدیمی‌تر beancount.ingest در Beancount 3 می‌شود.
  • smart_importer یک بسته جداگانه نصب‌شده است که پیشنهادات یادگیری ماشین را به واردکننده‌ها اضافه می‌کند. این یک ویژگی داخلی LLM نیست.
  • Beanborg دسته‌بندی مبتنی بر قانون، پیشنهادات یادگیری ماشین و پیش‌بینی‌های اختیاری ChatGPT را مستند می‌کند. قبل از پذیرش، تنظیمات فعلی و سازگاری آن را بررسی کنید.

برای زمینه گسترده‌تر، راهنمای خودکارسازی دفترداری و راهنمای جریان کاری حسابداری ماهانه را ببینید.

یک مثال بزرگ‌تر را کاوش کنید

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

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

منبع: https://beancount.io/fa/docs/Solutions/using-llms-to-automate-and-enhance-bookkeeping-with-beancount