ردیاب هزینه با Claude Code: اتصال، وارد کردن صورتحساب و مغایرتگیری
Claude Code را با یک لینک به Expense Budget Tracker وصل کنید، پیشنمایش ورود صورتحساب را تأیید کنید، ماندهها را مغایرتگیری کنید و بدون اتصال بانکی بودجه را بهروز نگه دارید.
حتی یک صورتحساب چهاردیفی هم میتواند با اختلاف €0.00 مغایرتگیری شود و در عین حال بودجهتان را اشتباه نشان دهد. کافی است خرید €54.20 از سوپرمارکت را بهجای «مواد غذایی» در دستهٔ «سفر» بگذارید: ماندهٔ حساب همچنان دقیق است، اما گزارش دستهبندیها €54.20 خطا دارد.
پس یک ردیاب هزینهٔ مفید در Claude Code به دو کنترل جداگانه نیاز دارد. تراکنشهای ذخیرهشده باید ماندهٔ بانک را توضیح دهند و دستهبندیهای ذخیرهشده هم باید با صورتحساب بازبینیشده مطابقت داشته باشند. Claude Code تجزیهٔ فایل، محاسبات و فراخوانیهای API را انجام میدهد؛ شما حساب و دستهها را انتخاب میکنید، رکوردهای پیشنهادی را میبینید و همان تغییرات مشخص را تأیید میکنید.
Expense Budget Tracker در این روش نه اتصال مستقیم بانکی دارد و نه امکان بارگذاری صورتحساب. باید خودتان از بانک خروجی بگیرید، فایل را جایی بگذارید که Claude Code اجازهٔ خواندنش را داشته باشد و فقط رکوردهای تأییدشده را از طریق Agent API مدیریتشده بفرستید. اگر اولویت اصلیتان این است که برنامه دسترسی دائمی به بانک نداشته باشد، مقالهٔ اپلیکیشن بودجهبندی بدون اتصال به بانک بدهبستانهای کلیتر این انتخاب را توضیح میدهد.

Claude Code را با یک لینک کشف سرویس متصل کنید
Claude Code را طبق راهنمای شروع رسمی Anthropic نصب کنید و وارد حساب شوید. مرجع CLI هم توضیح میدهد پوشهٔ کاری و دسترسی به فایلهای خارج از آن چطور مدیریت میشوند.
دستور claude را در پوشهای اجرا کنید که صورتحساب در آن قرار دارد؛ یا با روشی که راهاندازی شما پشتیبانی میکند، دسترسی به پوشهٔ فایل را بدهید. بعد این پرامپت را وارد کنید:
از طریق این لینک کشف سرویس به Expense Budget Tracker متصل شو:
https://app.expense-budget-tracker.com/api/agent
آن را با GET دریافت کن، JSON برگشتی را بخوان و URLهای فعلی هر عملیات را دنبال کن.
روند API را حدس نزن و آن را در کد ثابت نکن. ایمیل Expense Budget Tracker مرا
بپرس و فرایند OTP ایمیلی را شروع کن.
بعد از موفقشدن درخواست، اگر پیام را نمیبینم از من بخواه پوشهٔ spam یا junk را
بررسی کنم، کد 8 رقمی را بپرس و عملیات راستیآزمایی برگشتی را دنبال کن.
پس از راستیآزمایی، از من بخواه محل دائمی مشخصی را برای ذخیرهٔ ApiKey برگشتی، خارج
از حافظهٔ چت و کنترل نسخه، تأیید کنم. اطلاعات حسابم را بارگیری کن، فضاهای کاریام را
فهرست کن، از من بخواه فضای کاری مقصد را تأیید کنم، آن را بهعنوان پیشفرض این کلید
ذخیره کن و شِمای زنده را بررسی کن. برای اطمینان از فضای کاری انتخابشده، یک کوئری
کوچک فقطخواندنی اجرا کن. هیچ دادهٔ مالی ننویس.
لینک عامل مخصوص برنامه سند زندهٔ کشف سرویس را برمیگرداند. این سند در حال حاضر https://api.expense-budget-tracker.com/v1/ را بهعنوان آدرس پایهٔ API، همراه با URLهای عملیات احراز هویت و SQL، ارائه میکند. همان لینک دامنهٔ برنامه را وارد کنید؛ Claude Code باید URLهای برگشتی سرویس را دنبال کند، نه اینکه توالی داخلی آنها را از قبل در خود نگه دارد.
همین فرایند ایمیلی هم برای ثبتنام است و هم برای ورود. وقتی کد 8 رقمی را بدهید، Claude Code یک ApiKey بلندمدت دریافت میکند. محل مشخصی را برای ذخیرهٔ آن تأیید کنید؛ برای نمونه، فایل محرمانهای که در کنترل نسخه قرار نمیگیرد. کلید را هرگز در CLAUDE.md نگذارید و در هیچ مخزنی کامیت نکنید. راهنمای راهاندازی عامل هوش مصنوعی جزئیات فرایند احراز هویت و انتخاب فضای کاری را شرح میدهد.
Agent API و MCP را با هم اشتباه نگیرید
عبارت «ردیاب هزینه Claude» ممکن است به دو نوع اتصال متفاوت اشاره کند. روش این مقاله اجرای Claude Code در ترمینال و استفاده از Agent API است. در مقابل، Claude و Claude Desktop میتوانند از کانکتور MCP راه دور و میزبانیشده استفاده کنند.
| Claude Code با Agent API | Claude یا Claude Desktop با MCP | |
|---|---|---|
| مناسب برای | کار در ترمینال، با فایلهای محلی در دسترس و HTTP مستقیم | گفتوگو در یکی از کلاینتهای Claude که از MCP پشتیبانی میکند |
| نقطهٔ شروع | https://app.expense-budget-tracker.com/api/agent |
https://mcp.expense-budget-tracker.com/mcp |
| احراز هویت | OTP ایمیلی و سپس یک ApiKey بلندمدت |
OAuth در مرورگر |
| رابط داده | URLهای کشف سرویس که به نقطههای پایانی کوئری و اجرا میرسند | ابزار sql_query و در صورت نیاز sql_execute |
| دسترسی به صورتحساب | فایلها و پوشههایی که همان نشست Claude Code به آنها دسترسی دارد | کانکتور راه دور به فایلهای محلی دسترسی نمیدهد |
اعتبارنامههای این دو روش بهجای یکدیگر کار نمیکنند. برای نسخهٔ وب یا دسکتاپ Claude، راهنمای اتصال MCP ردیاب هزینه Claude را بخوانید. اگر کارتان از فایلی شروع میشود که Claude Code میتواند آن را بخواند، گردش کار Agent API در ادامهٔ این مقاله مناسب است.
دو مرز دیگر را هم باید شفاف نگه داشت:
- پردازش داده توسط ارائهدهندهٔ مدل، از API و فضای ذخیرهسازی Expense Budget Tracker جداست. پیش از بهاشتراکگذاشتن اطلاعات صورتحساب، مستندات استفاده از داده در Claude Code و شرایط ارائهدهندهای را که در نصب شما تنظیم شده است بررسی کنید.
- راهاندازی محلی Docker Compose در راهنمای میزبانی شخصی برنامهٔ وب، سرویس احراز هویت، پایگاه داده و پردازشگر نرخ ارز را اجرا میکند؛ اما Agent API مدیریتشدهای را که در این مقاله استفاده میکنیم در اختیارتان نمیگذارد. استقرار AWS این مخزن، راهاندازی جداگانهای است که API عمومی برای ماشینها را هم شامل میشود.
محدودهٔ ورود اطلاعات را دقیق مشخص کنید
برای بار اول، فقط سراغ یک حساب، یک ارز و یک دورهٔ صورتحساب بستهشده بروید. CSV مناسب است، چون میتوان ردیفهایش را سریع بررسی کرد. اگر خروجی بانک فرمت دیگری دارد، ابتدا از Claude Code بخواهید تأیید کند که میتواند فایل را در محیط شما بخواند و ردیفهای استخراجشده را نشان دهد. صرفاً از روی نام فایل فرض نکنید که پشتیبانی میشود.
این شش مورد را به Claude Code بدهید:
- مسیر محلی فایل صورتحساب.
- حساب بانکی و حساب متناظر آن در ردیاب.
- ارز حساب.
- اولین و آخرین تاریخ ثبت نهایی تراکنشها.
- ماندهٔ آغازین یا آخرین ماندهٔ صحیحی که قبلاً تأیید کردهاید.
- ماندهٔ پایانی صورتحساب.
تراکنشهای در انتظار را تا زمان ثبت نهایی وارد نکنید. فایل اصلی را هم دستنخورده نگه دارید و از Claude Code بخواهید پیشنمایش را در خروجی جداگانهای آماده کند.
برای پوشهٔ فایلهای مالی، میتوانید چنین قواعدی را در یک CLAUDE.md محلی بگذارید:
# گردش کار Expense Budget Tracker
- از https://app.expense-budget-tracker.com/api/agent شروع کن و سند کشف سرویس را دنبال کن.
- پیش از نوشتن SQL، فضای کاری مقصد را تأیید و شِمای زنده را بررسی کن.
- برای تمام بررسیها و مغایرتگیریها از عملیات خواندن استفاده کن.
- پیش از هر نوشتن، جمع مبالغ مبدأ، موارد مشکوک به تکراریبودن، SQL دقیق و تعداد ردیفهای مورد انتظار را نشان بده.
- منتظر تأیید صریح من برای کل مجموعهٔ تغییرات بمان.
- عملیات نوشتن را فقط برای INSERT، UPDATE یا DELETE تأییدشده اجرا کن.
- نتیجهٔ هر عملیات نوشتن را با یک خواندن تازه راستیآزمایی کن.
- هرگز تراکنش ترازکننده نساز و برای دستهبندی نامطمئن بیسروصدا تصمیم نگیر.
- ApiKey را بیرون از این فایل و دور از کنترل نسخه نگه دار.
جزئیات ثابتی مثل نام واقعی حسابها، قواعد دستهبندی، روش ثبت انتقال و ارز گزارشدهی خودتان را هم اضافه کنید. دستههای نمونهٔ این مقاله را فقط زمانی کپی کنید که با دفتر کل شما مطابقت دارند.
صورتحساب را فقط با پیشنمایش کامل وارد کنید
وقتی اتصال برقرار شد، پرامپت زیر را وارد کنید و مقادیر داخل کروشه را با اطلاعات خودتان جایگزین کنید:
فایل [مسیر محلی صورتحساب] را برای [حساب ردیاب]، از [تاریخ شروع ثبت نهایی] تا
[تاریخ پایان ثبت نهایی] و با ارز [ارز] وارد کن. ماندهٔ آغازین [مبلغ] است و ماندهٔ
پایانی بانک [مبلغ].
ابتدا فضای کاری انتخابشده را تأیید کن و شِمای زنده را بررسی کن. فقط از عملیات
خواندن برای بررسی حساب مقصد، دستههای موجود و ردیفهای دفتر کل در بازهٔ همپوشان
با صورتحساب استفاده کن. تأیید کن که میتوانی فایل محلی را بخوانی، آن را تجزیه کنی
و بدون نوشتن هیچ دادهای یک پیشنمایش کامل آماده کنی.
برای هر ردیف مبدأ، شناسهٔ مبدأ یا شمارهٔ ردیف، تاریخ ثبت نهایی، مبلغ با علامت مثبت
یا منفی، ارز، حساب مقصد، نوع پیشنهادی تراکنش، دستهٔ پیشنهادی و وضعیت تکراریبودن را
نشان بده. انتقالها، برگشت وجه، بازپرداخت هزینه، کارمزد و طرفهای
ناشناختهٔ تراکنش، ردیفهای دارای ارز خارجی و هر دستهبندی نامطمئن را مشخص کن.
بعد تعداد ردیفهای مبدأ و جمع جبری آنها، تمام ردیفهای پیشنهادی دفتر کل، موارد
مشکوک به تکراریبودن، SQL دقیقی که میفرستی و تعداد ردیفهایی را که انتظار میرود
تغییر کنند نشان بده. توقف کن و منتظر تأیید صریح من برای کل مجموعهٔ تغییرات بمان.
تا وقتی تغییری را تأیید نکردهاید، تمام کارهای پایگاه داده باید فقطخواندنی بمانند. Claude Code باید شِمای زنده را ببیند، نه اینکه نام ستونها را از مقالهای کپی کند. همچنین باید حساب متناظر را پیدا کند و ردیفهای موجود در همان بازهٔ زمانی را بخواند. یکیبودن تاریخ و مبلغ فقط یک تراکنش را به مورد مشکوک به تکرار تبدیل میکند، نه تکراری قطعی؛ دو خرید واقعی ممکن است در هر دو فیلد مقدار یکسانی داشته باشند.
یک مثال چهاردیفی
فرض کنید صورتحساب یک حساب جاری با ماندهٔ آغازین €1,250.00 این چهار ردیف نهاییشده را دارد:
| ردیف | تاریخ ثبت | شرح | مبلغ با علامت | نوع پیشنهادی | دستهٔ پیشنهادی | نکتهٔ بازبینی |
|---|---|---|---|---|---|---|
| 1 | 2026-08-31 | حقوق | +€2,000.00 | درآمد | حقوق | روشن است |
| 2 | 2026-09-02 | سوپرمارکت | −€54.20 | هزینه | مواد غذایی | اگر فروشنده را نمیشناسید، بررسی کنید |
| 3 | 2026-09-03 | انتقال به پسانداز | −€300.00 | انتقال | — | حساب طرف دیگر را تأیید کنید |
| 4 | 2026-09-04 | کافه | −€8.40 | هزینه | رستوران و کافه | روشن است |
جمع جبری این چهار مبلغ +€1,637.40 است. با اضافهکردن آن به ماندهٔ آغازین €1,250.00، ماندهٔ پایانی مورد انتظار به €2,887.40 میرسد. این مثال در یک صفحهنمایش جا میشود؛ در یک ورود طولانیتر هم همچنان باید تکتک ردیفهای مبدأ در پیشنمایش باشند و همهٔ ابهامها مشخص شوند.
برای انتقال باید حساب طرف دیگر مشخص باشد، چون جابهجایی پول میان حسابهای خودتان خرج محسوب نمیشود. برگشت وجه و بازپرداخت هزینه هم باید با نوع واقعی خود ثبت شوند. اگر دستهبندی روشن نیست، آن مورد را برای تصمیمگیری علامت بزنید و صرفاً محتملترین دسته را انتخاب نکنید.
دقیقاً همان مجموعهٔ تغییر را تأیید کنید
فضای کاری، حساب، محدودهٔ زمانی، تعداد ردیفها، جمع جبری، موارد مشکوک به تکرار و دستهبندیها را بررسی کنید. بهجای دستور کلی «همهچیز را وارد کن»، همان پیشنمایش و SQL مشخص را تأیید کنید.
Agent API عملیات خواندن و نوشتن را از هم جدا میکند. Claude Code برای اجرای یک SELECT یا WITH ... SELECT از عملیات خواندنی استفاده میکند که از سند کشف سرویس گرفته است؛ سپس فقط برای INSERT، UPDATE یا DELETE صریحاً تأییدشده سراغ عملیات نوشتن میرود. مرجع نهایی نام جدولها و ستونها همیشه شِمای زنده است. مرجع API قرارداد و محدودیتهای SQL را توضیح میدهد.
پیش از اجرای گروهی، درج و بهروزرسانی طولانی را آزمایش کنید
پیش از یک INSERT یا UPDATE طولانی، دستورالعمل زندهٔ کشف سرویس از عامل میخواهد نمونهای با همان ساختار SQL را آزمایش کند: برای INSERT بین 1 تا 3 ردیف با مقادیر صریح، و برای UPDATE یک ردیف مشخص. تأیید شما هم این اجرای آزمایشی و هم ردیفهای باقیماندهٔ همان مجموعهٔ بازبینیشده را پوشش میدهد.
اگر اجرای آزمایشی موفق بود، Claude Code باید بلافاصله ادامهٔ کار را در گروههای پیاپی با حداکثر 100 رکورد انجام دهد و هر گروه را همان موقع راستیآزمایی کند. از یک ورود 247 ردیفی که اجرای آزمایشی آن 3 ردیف دارد، سه گروه 100، 100 و 44 ردیفی باقی میماند. تغییر محدوده، ابهام تازه یا خطای اجرا به تأیید جدید نیاز دارد؛ گروههای عادی بعدی در همان مجموعهای که قبلاً تأیید شده، چنین نیازی ندارند.
SQL محدودشده از ON CONFLICT پشتیبانی نمیکند، پس رسیدگی به موارد تکراری باید صریح باشد. خروجی عملیات خواندن هم حداکثر 100 ردیف دارد. Claude Code باید فرادادهٔ تعداد ردیفها و کوتاهشدن پاسخ را بررسی کند، جمعها را داخل SQL حساب کند و بررسی جزئیات را به چند خواندن محدود و مرتب تقسیم کند. پاسخ کوتاهشده، راستیآزمایی کامل ورود اطلاعات نیست.
دادههای ذخیرهشده را دوباره بخوانید
پاسخ موفق API فقط ثابت میکند درخواست اجرا شده است؛ تضمین نمیکند تکتک مقادیر ذخیرهشده با پیشنمایش یکسان باشند. حساب و دورهای را که تغییر کردهاند دوباره بخوانید و این موارد را مقایسه کنید:
- تعداد ردیفهای درجشده
- تاریخها، مبالغ مثبت و منفی و ارزها
- حسابی که هر ردیف به آن تخصیص یافته است
- نوع و دستهٔ تراکنشها
- موارد مشکوک به تکرار
- جمع هر گروه اجرایی و جمع کل صورتحساب
اگر موردی متفاوت بود، به عیبیابی فقطخواندنی برگردید. پیش از نوشتن دوباره، یک اصلاح مشخص را بررسی و تأیید کنید. راهنمای وارد کردن صورتحساب بانکی دربارهٔ دورههای همپوشان، برگشت وجه و انتقالها جزئیات بیشتری دارد.
مانده و دستهبندیها را جداگانه مغایرتگیری کنید
در مغایرتگیری مانده بررسی میکنید که آیا تراکنشهای ذخیرهشده، ماندهٔ پایانی بانک را در همان بازهٔ زمانی تراکنشهای نهاییشده توضیح میدهند یا نه.
برای یک حساب سپردهٔ معمولی:
ماندهٔ پایانی مورد انتظار = ماندهٔ آغازین + ورودیهای ثبتشده − خروجیهای ثبتشده
اگر مبلغ تراکنشها علامت مثبت و منفی دارد:
ماندهٔ پایانی مورد انتظار = ماندهٔ آغازین + جمع جبری تراکنشهای ثبتشده
حسابهای بدهی، مثل کارت اعتباری، ممکن است قاعدهٔ دیگری برای علامتگذاری مبالغ داشته باشند. Claude Code باید پیش از محاسبه و مقایسه، قاعدهای را که در دادهها دیده است توضیح دهد.
با این پرامپت ادامه دهید:
فقط از عملیات خواندن استفاده کن. [حساب] را از [تاریخ شروع ثبت نهایی] تا
[تاریخ پایان ثبت نهایی] با ماندهٔ پایانی بانک به مبلغ [مبلغ و ارز] مغایرتگیری کن.
مرز آغازین، قاعدهٔ علامتگذاری مبالغ، تعداد ردیفهای ذخیرهشده و جمع جبری تراکنشها
را بیان کن.
ماندهٔ پایانی مورد انتظار، ماندهٔ پایانی بانک و اختلاف دقیق را نشان بده. اگر اختلاف
صفر نیست، ردیفهای احتمالاً جاافتاده، تکراری، کنارگذاشتهشده، دارای تاریخ اشتباه یا
علامت اشتباه را فهرست کن. تراکنش ترازکننده درج نکن و هیچ دادهای را تغییر نده.
بعد از کنترل مانده، جمع دستهها را جداگانه بررسی کن. ردیفهای بدون دسته، انتقالهایی
که بهعنوان هزینه حساب شدهاند و دستههایی را که با پیشنمایش تأییدشده تفاوت دارند
فهرست کن.
در مثال چهاردیفی، حاصل €1,250.00 + €1,637.40 = €2,887.40 است. اگر ماندهٔ پایانی بانک هم €2,887.40 باشد، اختلاف مانده €0.00 خواهد بود.
این صفر فقط درستی محاسبات حساب را برای محدودهٔ انتخابشده تأیید میکند، نه درستی دستهبندیها را. اگر ردیف €54.20 سوپرمارکت را از «مواد غذایی» به «سفر» منتقل کنید، اختلاف مانده همچنان صفر میماند، اما €54.20 از جمع یک دسته کم و به دستهٔ دیگر اضافه میشود. بررسی دستهها مرحلهٔ جداگانهای برای تأیید نهایی است.
اگر اختلاف صفر نیست، ماندهٔ آغازین، ردیفهای جاافتاده یا تکراری، انتقالها، تراکنشهای در انتظار، علامتها، تاریخها و ارزها را بررسی کنید. برای صفرکردن اختلاف هرگز تراکنش ترازکنندهٔ ساختگی نسازید. راهنمای مغایرتگیری این چرخهٔ عیبیابی را با جزئیات بیشتری توضیح میدهد.
بودجه را فقط بعد از مغایرتگیری بهروز کنید
فقط وقتی سراغ بودجه بروید که دادههای بازخوانیشده درست باشند، ماندهٔ حساب مغایرت نداشته باشد و جمع دستهها منطقی به نظر برسد. ردیاب بودجه Claude Code میتواند درآمد و هزینهٔ واقعی را با budget_lines مقایسه و تغییرات پیشنهادی را آماده کند. یک ماه غیرعادی بهتنهایی نباید برنامهٔ ماه بعد را تعیین کند.
فضای کاری را تأیید کن و شِمای فعلی را بررسی کن. با عملیات خواندن، درآمد و هزینهٔ
واقعی در [دورهٔ کامل] را با ردیفهای بودجهٔ متناظر مقایسه کن. انتقالها را بر اساس
نوع ذخیرهشدهٔ تراکنش کنار بگذار و تراکنشهای بدون دسته را جداگانه نشان بده.
برای هر تغییر پیشنهادی بودجه، دسته، مبلغ فعلی، مبلغ واقعی، مبلغ پیشنهادی، اختلاف و
دلیل را نشان بده. سپس SQL دقیق و تعداد ردیفهایی را که انتظار میرود تغییر کنند
ارائه کن. تا وقتی ردیفهای مشخص را تأیید نکردهام، چیزی ننویس.
پس از تأیید، عملیات نوشتن را فقط برای همان ردیفها اجرا کن و نتیجه را با یک خواندن
تازه راستیآزمایی کن. هر مقدار ذخیرهشدهای را که با پیشنهاد تأییدشده فرق دارد گزارش کن.
ممکن است یک هزینهٔ بزرگ کاملاً استثنایی باشد. چیزی که خرج بیش از بودجه به نظر میرسد هم شاید انتقال یا برگشت وجهی باشد که در دستهٔ اشتباه ثبت شده است. Claude Code اختلافها را محاسبه و SQL را آماده میکند؛ تصمیم دربارهٔ مبلغ ماه بعد همچنان با شماست.
برای هر صورتحساب همین ترتیب را تکرار کنید
ترتیب کار را برای هر صورتحساب ثابت نگه دارید:
- از
https://app.expense-budget-tracker.com/api/agentشروع کنید و سند کشف سرویس را دنبال کنید. - اطلاعات حساب را بارگیری کنید، فضای کاری را تأیید کنید و شِمای زنده را ببینید.
- یک فایل صورتحساب در دسترس و مرزهای دقیق مانده را به Claude Code بدهید.
- دادههای دفتر کل در بازهٔ همپوشان را بخوانید و پیشنمایش کامل ورود اطلاعات را آماده کنید.
- یک مجموعهٔ تغییر مشخص را تأیید کنید.
- برای درج طولانی، 1 تا 3 ردیف را آزمایشی اجرا کنید و بعد با گروههای پیاپی حداکثر 100 ردیفی ادامه دهید.
- هر گروه ذخیرهشده را دوباره بخوانید و با پیشنمایش مقایسه کنید.
- حساب را بدون ساخت تراکنش ترازکننده با ماندهٔ پایانی بانک مغایرتگیری کنید.
- حتی اگر اختلاف مانده صفر است، جمع دستهها را بررسی کنید.
- تغییرات ردیفهای بودجه را جداگانه آماده، تأیید و راستیآزمایی کنید.
با یک حساب و یک دورهٔ بستهشده شروع کنید. وقتی دفتر کل با صورتحساب مغایرت نداشت و بودجه را هم بازبینی کردید، همین گردش کار را برای حساب بعدی تکرار کنید. کار تکراری خواندن فایل و فراخوانی API با Claude Code میماند؛ در عوض، هر تصمیم مالی پیش از آنکه رکوردهای شما را تغییر دهد، جلوی چشمتان است.