حساب به شبا
از کد بانک و شماره حساب، شبا با رقم کنترل میسازد.
حساب معتبر لازم است.
مرتبط
دهههاست در ایران «شماره حساب» زبان مشترک بانک، کارفرما و فروشنده است؛ روی دفترچهٔ قدیمی، فیش حقوق، یا ستون Excel هنوز همان رشتهٔ ارقام چاپ میشود. از سمت دیگر، سامانهٔ پایا، ساتنا، ERP، و بسیاری از درگاههای B2B فقط فیلد شبا (IBAN) میپذیرند. شکاف بین این دو دنیای اداری، همان جایی است که ابزار حساب به شبا در FinAI قرار میگیرد: شما نام بانک را از لیست انتخاب میکنید و شماره حساب را همانطور که روی سند دارید وارد میکنید؛ خروجی، رشتهٔ IR با رقم کنترل معتبر است — در مرورگر شما ساخته میشود و لازم نیست شماره حساب کامل به سرور FinAI برود.
الگوریتم IBAN ایران با تولید شبا از کد بانک و حساب یکی است؛ تفاوت، زاویهٔ نگاه و مسیر جستجوست. generate-sheba برای کسی نوشته شده که «کد سهرقمی ۰۱۷» را از جدول کد بانک بلد است. حساب به شبا برای کسی است که میگوید «بانک ملی» و «این ارقام پایین دفترچه» — نه لزوماً کد موسسه. اگر هدف شما مهاجرت آرشیو حسابداری به ستون شبا است، نه درک BBAN، این صفحه و ابزارش مسیر طبیعیترند.
مهاجرت ستون «حساب» به «شبا» در پروندهٔ حقوق
تصور کنید فایل حقوق پنجساله دارید: ستون A نام، ستون B کد ملی، ستون C «شماره حساب» بدون شبا. بانک تازه اعلام کرده واریز دستهای فقط با IBAN. دو خطا قبل از هر الگوریتم رخ میدهد: کد بانک اشتباه از حافظه (ادغامها و تغییر برند) و حذف صفرهای پیشرو در Excel. حساب به شبا صفرهای ابتدای حساب را در ورودی شما حفظ میکند — به شرطی که آنها را paste نکرده باشید؛ Excel گاهی صفر را میبلعد و حساب کوتاه میسازد.
گردش کار پیشنهادی FinAI برای HR و finance ops:
- برای هر ردیف، بانک را از dropdown ابزار انتخاب کنید (نه از حدس روی لوگوی قدیمی فیش).
- شماره حساب را از منبع بانکی بگیرید: اپ موبایل، PDF صورتحساب، یا دفترچه — نه از یادداشت دستی همکار.
- شبای خروجی را برای سه کارمند نمونه با شبای نمایشدادهشده در اپ مقایسه کنید؛ باید یکسان باشد.
- بعد macro، VLOOKUP، یا import ERP را برای هزار ردیف گسترش دهید.
- قبل از اولین واریز زنده، خروجی را در اعتبارسنجی شبا هم بگذارید — sanity check دوم.
این ابزار «نام صاحب حساب» را برنمیگرداند؛ فقط رشتهٔ فنی درست میسازد. اگر mod 97 درست باشد ولی در درگاه نام mismatch دیدید، واریز را متوقف کنید — مشکل از حساب قدیمی، حساب بسته، یا فیلد اشتباه است نه از checksum.
چرا dropdown بانک با «تولید شبا» فرق دارد
در generate-sheba، کد سهرقمی ورودی صریح است؛ مناسب توسعهدهنده، integrator، یا کاربری که از قبل با جدول کد کار کرده. در حساب به شبا، همان کد پشت نام فارسی بانک پنهان است — UI خطای «بانک اشتباه ولی کد تصادفی درست mod» را برای کاربر غیرفنی کمتر میکند، چون انتخاب از لیست IRAN_BANKS محدود به موسسههای شناختهشده در FinAI است.
اگر بانک در لیست نیست، تولید null میشود؛ این عمدی است تا شبای نیمهکاره در CSV ننشیند. موسسهٔ تازه یا خارج از index را باید از اپ بانک copy کنید یا پس از بهروزرسانی جدول FinAI دوباره امتحان کنید. برای استخراج کد از شبای موجود، تشخیص بانک از شبا مسیر معکوسِ «نام» است.
دفترچهٔ فیزیکی در مقابل اپ
دفترچههای قدیمی گاهی «شماره حساب» کوتاه و «شبا» جدا چاپ میکنند. در مهاجرت، منبع حقیقت برای واریز همان شبای اپ است. اگر از حساب کوتاه دفترچه شبا بسازید و با اپ یکی نبود، قبل از blame کردن ابزار، pad و فیلد را چک کنید: آیا رقمهای «شعبه» یا «نوع سپرده» جزئی از همان فیلد حساب در BBAN هستند یا جدا؟ FinAI یک قانون واحد pad-to-19 برای IBAN ایران اعمال میکند؛ core banking بانک ممکن است در UI فیلدهای بیشتری نشان دهد.
- برخی سازمانها «شماره مشتری» و «شماره حساب» را قاطی میکنند؛ فقط یکی در BBAN میرود.
- حساب ارزی یا قرضالحسنه ممکن است شبای جدا با همان برند بانک داشته باشد.
- پس از ادغام بانکها، لوگوی روی فاکتور با کد جدول متفاوت است — کد را از شبای رسمی بگیرید.
رقم کنترل؛ همان منطق، زبان متفاوت
برای خوانندهٔ حسابداری: IBAN ایران = IR + دو رقم کنترل + BBAN بیستودو رقمی (سه رقم کد بانک + حساب pad شده). دو رقم کنترل طوری انتخاب میشوند که باقیماندهٔ mod 97 برابر یک شود. حساب به شبا این را برای شما انجام میدهد؛ لازم نیست فرمول را حفظ کنید. برای audit داخلی، کافی است بدانید: یک رقم جابهجا در حساب، کل شبا را عوض میکند — نمیتوانید فقط «۰۱» جلوی حساب بگذارید و امیدوار باشید شبکه بپذیرد.
تفاوت با اعتبارسنجی: validate فرض میکند شبا از قبل دارید و میپرسد آیا ریاضی درست است. حساب به شبا ساخت میکند. هر دو در FinAI client-side همخواناند: generate سپس validate باید true بدهد.
Excel، CSV، و دامنهٔ صفرهای پیشرو
مهاجرت واقعی اغلب در Excel اتفاق میافتد. ستون را به «متن» format کنید قبل از paste حساب. اگر از CSV european import میکنید، encoding و جداکننده را یکسان نگه دارید. برای نمایش انسانی در فاکتور PDF بعد از ساخت، فرمت شبا فقط فاصله اضافه میکند؛ اعتبار را عوض نمیکند.
سناریوی B2B: فروشنده روی فاکتور «بانک X» و حساب کوتاه چاپ کرده. خریدار با همین ابزار شبا میسازد؛ قبل از مبلغ بالا، تلفنی با فروشنده شبای اپ را تطبیق دهید. تولید موفق یعنی checksum درست است، نه اینکه فروشنده حساب را عوض نکرده.
مرز با کارت بانکی
کارت به شبا عمداً مسیر PAN را برای ساخت literal BBAN طی نمیکند؛ شمارهٔ sixteen رقم کارت شناسهٔ کارت است، نه لزوماً همان فیلد «حساب» در دفترچه. اگر فقط کارت دارید، validate و lookup کارت مسیر جداست. حساب به شبا برای account number دفتری است — همان چیزی که روی گردش حساب قدیمی میبینید.
اگر BIN کارت از lookup با بانک انتخابشده در این فرم فرق کرد، قبل از واریز توقف کنید — شاید کارت co-brand یا حساب قدیمی روی فاکتور است. مرجع transfer شبا است.
حریم خصوصی در مهاجرت پرونده
شماره حساب شناسهٔ مالی است. محاسبه در مرورگر FinAI برای پروندهٔ حقوق و لیست تأمینکنندگان اهمیت دارد: لپتاپ شخصی نباید به خاطر «یک ستون شبا» داده را به cloud ناشناس بفرستد. در تیکت عمومی یا چت گروهی، شبا یا حساب کامل paste نکنید؛ در آموزش داخلی از اعداد ساختگی استفاده کنید.
خطاهایی که قبل از mod 97 قطع میشوند
حساب خالی، بیش از نوزده رقم، یا کد بانک خارج از جدول: خروجی null — نه حدس. ارقام فارسی به لاتین نرمال میشوند. این رفتار از «شبای نیمهکاره در export» جلوگیری میکند.
چکلیست یکبار برای کل سازمان
- نمونهٔ سهگانه: شبای اپ = خروجی FinAI برای همان حساب.
- سیاست واحد: منبع حقیقت «اپ بانک» نه «دفترچهٔ اسکنشدهٔ ده سال پیش».
- مستندسازی pad: اگر IT macro نوشت، تست edge با صفر پیشرو.
- لینک validate در SOP واریز برای کارمندانی که دستی شبا paste میکنند.
- برای کد بانک در API داخلی، generate-sheba و repo FinAI یک منبع truth دارند — از duplicate logic با pad متفاوت پرهیز کنید.
وقتی شبا از قبل دارید
اگر ستون شبا پر است، به validate و format بروید؛ نیازی به بازسازی از حساب نیست مگر برای audit «آیا سالها پیش اشتباه pad شده». bank-from-sheba برای تطبیق نام موسسه با انتظار سازمان مفید است.
فایل تأمینکنندگان و پرداختهای دورهای
برخلاف حقوق که یک بار migrate میشود، vendor master data سالها patch میخورد: ادغام بانک طرف مقابل، تغییر حساب، یا دو ردیف «حساب قدیم / جدید» روی یک PDF. تیم treasury وقتی فقط «شماره حساب» روی قرارداد امضاشده دارد، با dropdown بانک سریعتر از decode کردن لوگو به کد سهرقمی عمل میکند. پیشنهاد عملی: برای هر vendor جدید، شبا را از فاکتور رسمی یا نامهٔ بانکی بگیرید؛ اگر فقط حساب چاپ شده، یک بار با این ابزار بسازید و در letterhead بانک تأیید بگیرید قبل از اولین پرداخت بالای سقف.
در ERP، فیلد شبا اغلب unique key میشود؛ duplicate شبای ساختهشده از دو pad متفاوت برای «همان» حساب واقعی، duplicate payment risk میسازد. SOP: هر بار که حساب vendor عوض شد، شبای قدیم را archive کنید نه overwrite بیسابقه.
حساب مشترک، وکالت، و امضای چندگانه
ابزار نمیداند حساب joint است یا corporate — فقط IBAN میسازد. برای واریز حقوقی، نام گیرنده در درگاه بانک شما match میشود؛ IBAN درست با نام اشتباه still خطر دارد. حساب به شبا جایگزین KYC نیست.
آموزش کارمند غیرمالی
Copy برای intranet: «بانک را از لیست انتخاب کن، نه از حدس؛ حساب را با صفر اول copy کن؛ خروجی را با اپ مقایسه کن.» اسکرینشات generate-sheba با فیلد کد برای IT کافی است؛ برای عموم dropdown خواناتر است.
جمعبندی برای مدیر مالی
حساب به شبا ابزار «ترجمهٔ زبان دفترچه به زبان پایا» است — نه استعلام نام، نه تضمین حساب فعال. با dropdown بانک، مسیر مهاجرت Excel و HR سادهتر از ورود دستی کد میشود؛ با generate-sheba برای stack فنی یکسان میماند. قبل از اولین batch wage، سه تطبیق کاراکتر به کاراکتر با اپ بانک ارزش بیشتری از صد بار mod 97 دستی دارد.
سناریوی ادغام بانک و دو ستون موازی
پس از ادغام، ممکن است سالها «حساب قدیم» و «شبای جدید» هر دو در CRM بمانند. rule migration: اگر شبای رسمی در اپ با ساخت از حساب قدیمی match نکرد، حساب قدیم obsolete است — نه pad دیگر. حساب به شبا برای prove کردن obsolete بودن مفید است: یک بار میسازید، با شبای اپ diff میگیرید، ticket را میبندید. برای audit trail، screenshot تاریخدار از FinAI و از اپ در پوشهٔ vendor/employee کافی است.
در پروژهٔ data quality، metric پیشنهادی: «درصد ردیفهایی که شبای ساختهشده = شبای استعلام» — اگر زیر ۹۹٪ بود، pad یا bank dropdown اشتباه systemic است نه تکردیفی. یک ردیف خطا در batch wage هزاران reject میسازد.
مسیرهای مرتبط: تولید شبا، اعتبارسنجی، کد بانکها، بانک از شبا، فرمت.