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

حساب‌های بانکی (Bank Accounts)

۱. مقدمه: حساب بانکی در سیستم یعنی چه؟

موجودیت «حساب بانکی» (Bank Account) نقطه تلاقی عملیات خزانه‌داری و حسابداری مالی است. این فرم، نماینده دیجیتالی حساب واقعی است که شرکت شما در یکی از شعب بانک‌ها افتتاح کرده است.

تفاوت این فرم با فرم «بانک» چیست؟ بسیاری از کاربران این دو را اشتباه می‌گیرند:

  • فرم بانک (فصل ۱): فقط نام برند را نگه می‌دارد (مثلاً: "بانک ملت"). مثل نام یک شرکت خودروسازی.
  • فرم حساب بانکی (این فصل): مشخصات دقیق مالی شما را نگه می‌دارد (مثلاً: "حساب جاری ۱۰۴۴ شعبه ونک"). مثل پلاک یک خودروی خاص.

قانون طلایی: تمام واریزها (Receipts)، برداشت‌ها (Payments)، صدور چک‌ها و مغایرت‌گیری‌ها، روی «حساب بانکی» انجام می‌شود، نه روی نام بانک.


۲. انواع حساب‌های بانکی (دسته‌بندی)

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

نوع حساب نام فنی (Enum) ویژگی‌ها و محدودیت‌ها
۱. حساب جاری Current / Checking (پرکاربردترین)
ویژگی: قابلیت تعریف دسته چک دارد. برای واریز و برداشت روزمره استفاده می‌شود.
۲. حساب پس‌انداز/کوتاه مدت Savings / Deposit ویژگی: معمولاً سود به آن تعلق می‌گیرد. قابلیت تعریف دسته چک ندارد. فقط واریز/برداشت اینترنتی مجاز است.
۳. حساب ارزی ForeignCurrency ویژگی: مخصوص نگهداری ارز (دلار/یورو). سیستم اجازه تراکنش ریالی روی آن را نمی‌دهد.
۴. حساب تنخواه کارت CorporateCard ویژگی: کارت بانکی که دست پرسنل است اما به حساب شرکت متصل است.

۳. راهنمای تکمیل فرم تعریف حساب بانکی

مسیر دسترسی: خزانه‌داری > تعاریف پایه > حساب‌های بانکی

لطفاً فیلدها را با دقت و بر اساس اطلاعات دفترچه حساب یا قرارداد بانک پر کنید.

الف) اطلاعات شناسنامه حساب (General Info)

عنوان فیلد نام فنی (Technical) نوع داده راهنمای تکمیل و منطق سیستم
بنگاه اقتصادی LegalEntityID FK (حیاتی) مالک قانونی حساب کیست؟
منطق: تمام اسناد حسابداری این حساب در دفاتر کل (General Ledger) این شرکت ثبت می‌شود.
کد داخلی Code String یک کد کوتاه برای استفاده سریع در سیستم (مثلاً MEL-01).
نام حساب Title String نام توصیفی جهت نمایش در گزارشات.
مثال: جاری فراگیر ملت - مرکزی (حقوق)
بانک عامل BankID FK حساب نزد کدام بانک است؟ (انتخاب از لیست بانک‌های تعریف شده در فصل ۱).
شعبه BranchID FK حساب در کدام شعبه افتتاح شده؟ (انتخاب از لیست شعب تعریف شده).
شماره حساب AccountNumber String شماره حساب اصلی (فقط عدد وارد کنید، بدون خط تیره).
شماره شبا (IBAN) IBAN String شماره ۲۴ یا ۲۶ رقمی استاندارد بین‌المللی.
کنترل سیستمی: سیستم به صورت خودکار صحت شبا را بررسی می‌کند. وجود شبا برای پرداخت‌های پایا و ساتنا الزامی است.
نوع حساب AccountType Enum جاری، پس‌انداز و ... (طبق جدول بالا).
ارز CurrencyID FK ارز پایه حساب.
نکته: پس از ثبت اولین تراکنش، این فیلد غیرقابل تغییر می‌شود.
وضعیت IsActive Boolean اگر حساب بسته شد، آن را غیرفعال کنید.

ب) تنظیمات مالی و حسابداری (Accounting Configuration)

این بخش قلب اتصال به حسابداری است.

عنوان فیلد نام فنی (Technical) راهنمای تکمیل
حساب معین (GL) GLAccountID (مهمترین فیلد) کد حسابداری که موجودی این بانک را در ترازنامه نشان می‌دهد.
مثال: ۱۱۰۱۰۰۱ - موجودی نقد بانک ملت
حساب واسط (مغایرت) ClearingGLAccountID (اختیاری/پیشرفته) حسابی برای ثبت موقت تراکنش‌ها.
کاربرد: وقتی چک صادر می‌کنید، مبلغ ابتدا در این حساب بستانکار می‌شود و وقتی در پرینت بانک دیدید (پاس شد)، به حساب اصلی منتقل می‌شود. (روش استاندارد جهانی).
فرمت پرداخت PaymentFormat Enum
سقف اعتبار (Overdraft) OverdraftLimit Amount
حداقل موجودی MinBalanceAlert Amount

۴. سناریوهای عملیاتی: کار با حساب بانکی

سناریو ۱: افتتاح حساب و واریز سرمایه

داستان: شرکت حساب جاری جدیدی در بانک پاسارگاد باز کرده و ۱ میلیارد ریال واریز کرده است.

  1. تعریف: کاربر فرم را پر می‌کند. نوع حساب را «جاری» و ارز را «ریال» می‌گذارد.
  2. سند واریز: در بخش «سند دریافت»، یک واریز نقدی ثبت می‌کند.
    • [بدهکار]: حساب معین بانک پاسارگاد (۱,۰۰۰,۰۰۰,۰۰۰)
    • [بستانکار]: حساب جاری شرکا (۱,۰۰۰,۰۰۰,۰۰۰)

سناریو ۲: تعریف دسته چک برای حساب

داستان: بانک یک دسته چک ۵۰ برگی (صیادی) به ما داده است.

  1. پیش‌شرط: نوع حساب حتماً باید Current (جاری) باشد.
  2. عملیات: کاربر به منوی «دسته چک‌ها» می‌رود.
  3. انتخاب حساب: حساب پاسارگاد را انتخاب می‌کند.
  4. ثبت: سریال شروع و پایان را وارد می‌کند.
    • نتیجه: از این پس، وقتی بخواهید «سند پرداخت چکی» صادر کنید و بانک پاسارگاد را انتخاب کنید، سیستم به طور خودکار شماره چک بعدی را پیشنهاد می‌دهد.

سناریو ۳: پرداخت حقوق (پرداخت گروهی پایا)

داستان: پایان ماه است و باید حقوق ۲۰۰ کارمند واریز شود.

  1. تنظیمات: در تعریف حساب، فیلد PaymentFormat را روی "فرمت پایا بانک پاسارگاد" گذاشته‌ایم.
  2. عملیات: در ماژول حقوق، دکمه "صدور فایل بانک" را می‌زنیم.
  3. خروجی: سیستم یک فایل متنی/اکسل با ساختار استاندارد بانک می‌سازد.
  4. اجرا: فایل را در اینترنت بانک آپلود می‌کنیم و یک سند کل حسابداری می‌زنیم:
    • [بدهکار]: حقوق پرداختنی.
    • [بستانکار]: حساب بانک پاسارگاد.

۵. کنترل‌های هوشمند سیستم (System Validations)

برای جلوگیری از خطاهای انسانی، سیستم این موارد را چک می‌کند:

  1. قفل دسته چک:
    • اگر نوع حساب «پس‌انداز» باشد، دکمه "تعریف دسته چک" برای آن غیرفعال می‌شود.
  2. صحت‌سنجی شبا (IBAN Check):
    • کاربر نمی‌تواند شبای اشتباه تایپ کند. سیستم الگوریتم MOD-97 را اجرا می‌کند. اگر اشتباه باشد، ذخیره نمی‌کند.
  3. یکتایی شماره حساب:
    • امکان ثبت دو شماره حساب تکراری در یک بانک وجود ندارد.
  4. کنترل بنگاه اقتصادی:
    • در زمان پرداخت فاکتور، سیستم چک می‌کند که آیا این حساب بانکی متعلق به همان شرکتی است که فاکتور برایش صادر شده؟ (جلوگیری از پرداخت‌های اشتباه بین شرکتی).

۶. گزارش‌های کلیدی

  • دفتر بانک (Bank Ledger): ریز تمام تراکنش‌های واریز و برداشت ثبت شده در سیستم (شبیه پرینت بانک).
  • صورت مغایرت بانکی (Bank Reconciliation): جدولی که نشان می‌دهد چرا موجودی سیستم با موجودی واقعی بانک فرق دارد؟ (مثلاً ۳ فقره چک صادر شده که هنوز نقد نشده‌اند).
  • پیش‌بینی نقدینگی (Cash Forecast):
    • موجودی فعلی
    • (+) چک‌های دریافتی که فردا وصول می‌شوند
    • (-) چک‌های پرداختی که فردا باید پاس شوند
    • (=) موجودی قابل برنامه‌ریزی فردا.

۷. پرسش‌های متداول (FAQ)

س: حساب واسط (Clearing Account) به چه دردی می‌خورد؟

پ: این یک روش حرفه‌ای حسابداری است. وقتی چکی صادر می‌کنید، به جای اینکه مستقیم از "موجودی بانک" کم کنید، مبلغ را در "حساب واسط" می‌برید. وقتی چک واقعاً پاس شد (در پرینت بانک دیدید)، مبلغ را از واسط به بانک اصلی می‌برید. این کار باعث می‌شود مغایرت‌گیری بسیار ساده‌تر شود.

س: آیا می‌توانم ارز حساب را بعداً تغییر دهم؟

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

س: اگر شماره شبا را نداشته باشم چه؟

پ: می‌توانید فعلاً آن را خالی بگذارید (اگر اجباری نکرده باشید)، اما توجه کنید که بدون شبا، امکان استفاده از قابلیت‌های پرداخت گروهی (پایا/ساتنا) را نخواهید داشت.