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

فلو مالی پروژه مژگان

فرض پایه: این سند بر این اساس تدوین شده است که حساب عملیاتی بانکی پروژه در اختیار شرکت توسعه‌دهنده نیست؛ بنابراین انجام عملیات بانکی و تأیید تراکنش‌ها با هماهنگی مسئول مالیِ دارندهٔ حساب انجام می‌شود و دسترسی شرکت توسعه‌دهنده، در صورت فراهم‌بودن، صرفاً برای پایش گردش حساب است.

تعریف نقاط کنترلی

نقاط کنترلی، کنترل‌هایی هستند که پیش از ثبت اثر مالی هر رویداد، صحت، مجازبودن و قابلیت ردیابی آن را تضمین می‌کنند:

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

روش‌های انجام عملیات بانکی

سامانه می‌تواند عملیات بانکی را به یکی از روش‌های زیر انجام دهد:

  1. دستی و از طریق نامه‌نگاری؛
  2. از طریق داشبورد و اپراتور؛
  3. به‌صورت خودکار.

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

۱. روش دستی و نامه‌نگاری

در این روش، در هر مرحله نامه یا گزارشی میان معاونت مالی شرکت صاحب حساب بانکی ــ هلدینگ در پروژهٔ مژگان ــ و ادمین سامانهٔ دارانو مبادله می‌شود. معاونت مالی، گردش حساب و عملیات بانکی را بررسی یا اجرا می‌کند و نتیجه را برای ثبت و تطبیق در سامانه به ادمین دارانو بازمی‌گرداند.

گزارش‌های دوره‌ای این روش عبارت‌اند از:

  • گزارش گردش حساب برای شناسایی وجوه واریزشده به حساب بانکی؛
  • گزارش واریزهای ترمینال IPG و Callback درگاه به‌پرداخت؛
  • گزارش توکن‌های خریداری‌شده توسط سرمایه‌گذاران؛
  • گزارش درخواست‌های برداشت از کیف پول ریالی، شامل:
  • برداشت سرمایه‌گذار؛
  • تجمیع و برداشت کارمزدها؛
  • تسویهٔ معادل ریالی توکن‌های خریداری‌شده با حساب پروژهٔ مژگان؛
  • گزارش بازخرید توکن‌ها؛
  • گزارش پرداخت منافع توکن، از جمله مبلغ اجاره، متناسب با میزان دارایی هر سرمایه‌گذار؛
  • گزارش کارمزدها.
sequenceDiagram
    actor Admin as ادمین دارانو
    participant Finance as معاونت مالی هلدینگ
    participant Bank as بانک
    participant System as سامانه دارانو

    Admin->>Finance: ارسال نامه و گزارش دوره‌ای
    Finance->>Bank: بررسی گردش حساب یا انجام عملیات
    Bank-->>Finance: اعلام نتیجه بانکی
    Finance-->>Admin: ارسال گزارش و مستندات
    Admin->>System: ثبت نتیجه و تطبیق حساب‌ها

۲. روش داشبورد و اپراتور

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

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

sequenceDiagram
    actor Admin as ادمین دارانو
    participant Panel as پنل عملیات بانکی
    actor Operator as اپراتور هلدینگ
    participant Bank as بانک

    Admin->>Panel: ثبت و تأیید درخواست
    Panel-->>Operator: نمایش گزارش و اقدام موردنیاز
    Operator->>Bank: انجام عملیات بانکی
    Bank-->>Operator: اعلام نتیجه
    Operator->>Panel: ثبت نتیجه و مستندات
    Panel-->>Admin: نمایش وضعیت نهایی

۳. روش خودکار

در این روش، سامانه از API بانکی استفاده می‌کند. دسترسی خودکار در دو سطح تعریف می‌شود:

سطح read-only

در این سطح، سامانه اجازهٔ ایجاد تراکنش بانکی ندارد و فقط اطلاعات حساب و وضعیت حواله‌ها را دریافت می‌کند:

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

سطح read-write

این سطح همهٔ قابلیت‌های read-only را دارد و علاوه بر آن، امکان ایجاد تراکنش بانکی را نیز فراهم می‌کند:

  • پس از دریافت و تأیید درخواست برداشت، درخواست حواله به‌صورت خودکار تنظیم و از طریق API بانکی ارسال می‌شود.
  • مبلغ برداشت به‌صورت خودکار از طریق پایا یا انتقال حساب‌به‌حساب به حساب بانکی تأییدشدهٔ کاربر واریز می‌شود.
  • نتیجهٔ حواله دریافت و وضعیت درخواست، کیف پول و دفترکل به‌روزرسانی می‌شود.

استفاده از هر سطح منوط به اعطای دسترسی فنی و مجوزهای لازم از سوی صاحب حساب و بانک است.

sequenceDiagram
    actor User as سرمایه‌گذار
    participant System as سامانه دارانو
    participant Bank as سرویس بانکی

    alt دسترسی read-only
        Bank-->>System: اعلام واریز یا وضعیت حواله
        System->>System: کنترل هویت و پول‌شویی
        System-->>User: شارژ کیف پول یا به‌روزرسانی وضعیت
    else دسترسی read-write
        User->>System: ثبت درخواست برداشت
        System->>System: بررسی و تأیید درخواست
        System->>Bank: ارسال خودکار حواله
        Bank-->>System: اعلام نتیجه پرداخت
        System-->>User: به‌روزرسانی کیف پول و وضعیت
    end

خلاصه قواعد کنترلی

واریز

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

برداشت

  • وجه فقط به حساب تأییدشده و متعلق به کاربر واریز شود.
  • بانک مقصد، در صورت وجود محدودیت مصوب، باید مورد تأیید باشد.
  • مبلغ برداشت از ماندهٔ قابل برداشت و سقف روزانه بیشتر نباشد.

الزامات مشترک

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

فلوی کنترل و ثبت عملیات بانکی

flowchart TB
    START(["شروع یک رویداد مالی"])
    REQUEST{"نوع رویداد"}
    DEPOSIT["واریز به حساب عملیاتی"]
    WITHDRAWAL["ثبت درخواست برداشت یا تسویه"]
    BANK_ACTION["انتقال وجه توسط مسئول مالی ناشر"]
    ACCESS{"دسترسی فقط‌خواندنی<br/>به گردش حساب وجود دارد؟"}
    AUTO["شناسایی سیستمی تراکنش بانکی"]
    CONTROL{"تأیید ناشر لازم است؟"}
    SYSTEM_CONFIRM["تأیید تراکنش توسط مسئول مالی ناشر"]
    MANUAL_CHECK["بررسی و تأیید دستی تراکنش"]
    INFORM["اعلام نتیجه به مسئول مالی میزبان"]
    MANUAL_LEDGER["ثبت اثر مالی در کیف پول"]
    AUTO_LEDGER["به‌روزرسانی خودکار کیف پول و دفترکل"]
    REPORT["گزارش عملیات برای دو طرف"]
    RECON["تطبیق روزانه حساب عملیاتی و کیف پول‌ها"]
    END(["پایان"])
    READ_ONLY["دسترسی پایش، مجوز تراکنش یا برداشت ندارد"]

    START --> REQUEST
    REQUEST -->|"ورود وجه"| DEPOSIT
    REQUEST -->|"خروج وجه"| WITHDRAWAL
    DEPOSIT --> ACCESS
    WITHDRAWAL --> BANK_ACTION
    BANK_ACTION --> ACCESS
    ACCESS -->|"بله"| AUTO
    AUTO --> CONTROL
    CONTROL -->|"بله"| SYSTEM_CONFIRM
    CONTROL -->|"خیر"| AUTO_LEDGER
    SYSTEM_CONFIRM --> AUTO_LEDGER
    ACCESS -->|"خیر"| MANUAL_CHECK
    MANUAL_CHECK --> INFORM
    INFORM --> MANUAL_LEDGER
    AUTO_LEDGER --> REPORT
    MANUAL_LEDGER --> REPORT
    REPORT --> RECON
    RECON --> END
    READ_ONLY -.-> ACCESS

    classDef bank fill:#e8f1fb,stroke:#245b8a,color:#102a43,stroke-width:1.5px;
    classDef system fill:#eaf7ef,stroke:#287a4b,color:#123524,stroke-width:1.5px;
    classDef manual fill:#fff4d6,stroke:#a46b00,color:#513600,stroke-width:1.5px;
    classDef decision fill:#f4eefa,stroke:#7048a3,color:#32204a,stroke-width:1.5px;
    classDef note fill:#f7f7f7,stroke:#666,color:#222,stroke-dasharray:4 3;
    class DEPOSIT,WITHDRAWAL,BANK_ACTION bank;
    class AUTO,AUTO_LEDGER,REPORT,RECON system;
    class SYSTEM_CONFIRM,MANUAL_CHECK,INFORM,MANUAL_LEDGER manual;
    class REQUEST,ACCESS,CONTROL decision;
    class READ_ONLY note;

منابع

  • «مدل مالی: حساب‌ها و جریان‌های مالی - پروژه توکن‌سازی ساختمان مژگان»، ویرایش یکم، خرداد ۱۴۰۵.
  • «جمع‌بندی نتایج جلسه بررسی مالی پروژه توکن‌سازی ساختمان مژگان و ارائه سازوکار انجام عملیات مالی».