# ROADMAP: Integrasi Bermadani ke Manasuka Ledger Cloud
**KSPPS Berkah Madani UMB × Manasuka Ledger SaaS (Financial Core as a Service)**  
*Dibuat: 18 September 2026 | Diperbarui: 19 September 2026*  
*Author: Reyvan Purnama (Founder Manasuka Ledger) × Tim Pengurus Bermadani*  
*Status: MODEL ARSITEKTUR RESMI (B2B SaaS / External Cloud Ledger)*

---

## 🎯 LATAR BELAKANG & MODEL BISNIS BARU

### 1. Dari "Embedded Engine" Menjadi "Independent B2B SaaS"
Awalnya, Manasuka Ledger direncanakan dipasang langsung di dalam monolit Bermadani (via WASM/Node package). Namun, keputusan strategis menetapkan:
- **Manasuka Ledger dibangun sebagai entitas bisnis mandiri (SaaS)**: Sebuah *Financial Core Engine & Cryptographic Audit Infrastructure* berkecepatan tinggi berbasis Rust yang dimiliki dan dikembangkan secara independen oleh Reyvan Purnama.
- **KSPPS Berkah Madani UMB menjadi Klien / Pelanggan Pertama (Tenant #1)**: Bermadani akan berlangganan layanan cloud Manasuka (*Monthly SaaS Subscription*) untuk menyerahkan beban akuntansi terberat, rekonsiliasi otomatis, dan sertifikasi audit SHA-256.

### 2. Mengapa Pemisahan Ini Menguntungkan Kedua Pihak?

```
┌────────────────────────────────────────┐       ┌────────────────────────────────────────┐
│      KSPPS BERKAH MADANI UMB           │       │          MANASUKA LEDGER SAAS          │
│   (Klien / Subscriber Pertama)         │       │        (Bisnis Mandiri / Provider)     │
├────────────────────────────────────────┤       ├────────────────────────────────────────┤
│ • Fokus ke operasional kampus & toko   │       │ • Mesin Rust berkecepatan tinggi       │
│ • Server Laravel tetap ringan & simpel │  API  │ • Multi-tenant architecture            │
│ • Bebas pusing urusan engine akuntansi │◄═════►│ • Menangani ribuan transaksi <10ms     │
│ • Laporan keuangan bersertifikat audit │       │ • Potensi ekspansi ke ratusan          │
│ • Biaya langganan operasional resmi    │       │   koperasi & BMT lain di Indonesia     │
└────────────────────────────────────────┘       └────────────────────────────────────────┘
```

- **Bagi Bermadani**:
  - Codebase Laravel Bermadani tetap bersih, maintainable, dan fokus pada CRUD bisnis, autentikasi, master data anggota, dan POS minimarket.
  - Tidak ada dependency berat (WASM compiler, C/Rust toolchains) di server produksi Bermadani.
  - Mendapatkan jaminan integritas anti-tamper (SHA-256 cryptographic chain) dan rekonsiliasi bank otomatis dalam hitungan milidetik.
- **Bagi Manasuka Ledger (Reyvan Purnama)**:
  - Validasi *real-world product-market fit* dengan data riil Bermadani (5.541 jurnal, 28 debitur BMT, mutasi bank Bukopin, omzet kasir POS).
  - Siap di-scale menjadi produk SaaS komersial untuk pasar koperasi syariah dan BMT se-Indonesia.

---

## 🏗️ ARSITEKTUR INTEGRASI: CLIENT-SERVER B2B SAAS

```
┌────────────────────────────────────────────────────────────────────────┐
│                        APLIKASI BERMADANI                              │
│  (Laravel 12 + MariaDB + React 19 + POS Kasir)                         │
│                                                                        │
│  [Event Transaksi]        [Upload Bank/BMT]     [Laporan Keuangan]    │
│  • Setoran Simpanan       • Rekening Koran      • Neraca               │
│  • Angsuran Pembiayaan    • Tagihan BMT         • Laba Rugi            │
│  • Belanja / Kasir POS    • Payroll Kampus      • Arus Kas             │
└───────────────┬───────────────────┬─────────────────────▲──────────────┘
                │                   │                     │
    (Async JSON Queue)       (Multipart POST)       (Audit Status)
                │                   │                     │
                ▼                   ▼                     │
┌─────────────────────────────────────────────────────────┴──────────────┐
│                  MANASUKA LEDGER CLOUD API (SaaS)                      │
│             Domain: https://api.manasukaledger.com (Rust / Axum)       │
│                                                                        │
│  ┌───────────────────────┐  ┌───────────────────────────────────────┐  │
│  │ Tenant & Auth Guard   │  │ Core Ledger Engine (Rust)             │  │
│  │ • API Key & HMAC Sig  │  │ • Strict Double-Entry O(1)            │  │
│  │ • Tenant ID Isolation │  │ • Fixed-Point i128 Currency Math      │  │
│  └───────────────────────┘  │ • SHA-256 Merkle Hash Chain           │  │
│                             │ • Reconciler O(n+m) Engine            │  │
│                             └───────────────────────────────────────┘  │
└────────────────────────────────────────────────────────────────────────┘
```

### Mekanisme Komunikasi Data
1. **Tenant Identification**: Setiap request Bermadani menyertakan header:
   - `X-Manasuka-Tenant-Id: bermadani-umb`
   - `X-Manasuka-Api-Key: msk_live_...`
2. **Dual-Book / Shadow Ledger Asynchronous**:
   - Transaksi di Bermadani disimpan normal di MariaDB.
   - Background worker Laravel (`SendToManasukaJob`) mengirim event transaksi ke Manasuka Cloud.
   - Manasuka mencatat ke rantai hash blok kriptografi dan memvalidasi balance.
3. **Rekonsiliasi Bank & Payroll via Cloud**:
   - Pengurus Bermadani upload file mutasi rekening koran atau file BMT.
   - Bermadani mengirim file ke endpoint `/v1/reconcile/bank` Manasuka.
   - Manasuka memproses perbandingan dalam <10ms dan mengembalikan hasil rekonsiliasi terstruktur (matched, unmatched, anomaly).
4. **Audit Widget di Frontend Bermadani**:
   - Komponen React `ManasukaAuditBadge` di halaman Neraca memanggil endpoint `/v1/audit/status` untuk membuktikan integritas saldo Rp 0 selisih secara publik/transparan.

---

## 📋 TAHAPAN ROADMAP TERKINI

```
┌─────────────────────────────────────────────────────────────────────────┐
│              ROADMAP INTEGRASI BERMADANI × MANASUKA SAAS                │
├────────────────────────────────┬────────────────────────────────────────┤
│ FASE 0: Persiapan Core SaaS    │ 🛠️ SEDANG BERJALAN (Sisi Manasuka)    │
│                                │ • Rust Engine standalone (Axum REST)   │
│                                │ • Tenant isolation & API auth          │
├────────────────────────────────┼────────────────────────────────────────┤
│ FASE 1: Bermadani API Client   │ 🔜 TAHAP BERIKUTNYA (Sisi Bermadani)   │
│                                │ • `ManasukaClient.php` service         │
│                                │ • Config `config/manasuka.php`         │
├────────────────────────────────┼────────────────────────────────────────┤
│ FASE 2: Async Shadow Ledger    │ ⏳ PERSIAPAN                           │
│                                │ • Queue job streaming transaksi        │
│                                │ • Historical sync (5.541 jurnal)       │
├────────────────────────────────┼────────────────────────────────────────┤
│ FASE 3: Cloud Bank Reconciler  │ ⏳ PERSIAPAN                           │
│                                │ • Upload mutasi bank & tagihan BMT     │
│                                │ • Otomasi jurnal selisih               │
├────────────────────────────────┼────────────────────────────────────────┤
│ FASE 4: Live Cryptographic UI  │ ⏳ PERSIAPAN                           │
│                                │ • Badge audit SHA-256 di Neraca        │
│                                │ • Sertifikat audit digital RAT 2026    │
└────────────────────────────────┴────────────────────────────────────────┘
```

---

### FASE 0 — Standalone API Service Manasuka (Dikerjakan Mandiri oleh Reyvan)
**Tanggung Jawab: Manasuka / Reyvan Purnama | Status: 🛠️ In Progress**

Tujuan: Mengemas engine Rust `project/manasuka-ledger` menjadi layanan API web independen.
1. **API Framework**: Membangun REST/JSON interface menggunakan Rust (`axum` atau `actix-web`).
2. **Tenant Isolation**: Model data multi-tenant di mana data Koperasi Bermadani diisolasi penuh dari tenant lain.
3. **Endpoint Utama**:
   - `POST /v1/transactions`: Ingest single / batch double-entry journal.
   - `GET /v1/ledger/trial-balance`: Hitung trial balance & verifikasi selisih Rp 0.
   - `POST /v1/reconcile/bank`: Rekonsiliasi mutasi rekening koran vs mutasi kasir/payroll.
   - `GET /v1/audit/integrity`: SHA-256 chain integrity check.
4. **Deployment**: Hosting di VPS mandiri atau cloud container dengan HTTPS & TLS encryption.

---

### FASE 1 — SDK & API Client di Bermadani (Sisi Koperasi)
**Tanggung Jawab: Tim Bermadani | Estimasi: 2–3 hari kerja**

Tujuan: Menyiapkan konektor klien di aplikasi Bermadani agar siap berkomunikasi dengan Manasuka Cloud.
1. **Konfigurasi Environment (`.env`)**:
   ```env
   MANASUKA_BASE_URL=https://api.manasukaledger.com
   MANASUKA_TENANT_ID=bermadani-umb
   MANASUKA_API_KEY=msk_live_xxxxxxxxxxxxxxxxx
   MANASUKA_SYNC_ENABLED=true
   ```
2. **Configuration File (`config/manasuka.php`)**:
   Pengaturan timeout, retry policy, dan endpoint mapping.
3. **Service Client (`app/Services/Manasuka/ManasukaClient.php`)**:
   Wrapper HTTP client Laravel (`Http::baseUrl()`) dengan signature HMAC dan handling error yang elegan (tidak memutus transaksi lokal jika server cloud sedang maintenance).

---

### FASE 2 — Asynchronous Shadow Ledger (Sync Mutasi & Jurnal)
**Tanggung Jawab: Tim Bermadani | Estimasi: 3–4 hari kerja**

Tujuan: Mengirim data jurnal transaksi lokal Bermadani ke Manasuka Cloud tanpa menghambat performa user.
1. **Event & Queue Job**:
   - Setiap kali `JournalService::createJournal()` berhasil commit di MariaDB, trigger event `JournalRecorded`.
   - Worker memproses `SendJournalToManasukaJob` di background.
2. **Batch Initial Ingestion**:
   - Command satu kali: `php artisan manasuka:sync-historical` untuk mengirim 5.541 jurnal historis tahun buku 2026.
   - Manasuka Cloud mengunci hash awal dan menghasilkan *Genesis Block* koperasi Bermadani.

---

### FASE 3 — Layanan Rekonsiliasi Bank & BMT Itqan Otomatis (SaaS Pipeline)
**Tanggung Jawab: Kolaborasi Bermadani & Manasuka | Estimasi: 4–5 hari kerja**

Tujuan: Menggantikan tugas bulanan manual bendahara dengan layanan rekonsiliasi cerdas dari Manasuka.
1. **Halaman Upload Rekonsiliasi di Bermadani** (`/admin/reconcile`):
   - Bendahara cukup upload PDF/CSV Rekening Koran Bukopin dan CSV Tagihan BMT Itqan.
2. **Cloud Processing**:
   - Bermadani meneruskan raw file ke Manasuka Cloud API.
   - Manasuka Reconcile Engine mencocokkan data payroll 26 anggota, porsi non-payroll Ridlo Abdillah, dan bagi hasil margin BMT Itqan dalam <5 milidetik.
3. **Feedback Interaktif**:
   - Menampilkan tabel rekonsiliasi instan:
     - Hijau: Transaksi klop 100%.
     - Kuning: Potensi selisih admin bank / timing cutoff.
     - Tombol "Posting Jurnal Penyesuaian Otomatis".

---

### FASE 4 — Live Cryptographic Audit Widget & RAT 2026 Showcase
**Tanggung Jawab: Frontend Bermadani | Estimasi: 2–3 hari kerja**

Tujuan: Memberikan transparansi akuntansi berstandar tinggi bagi pengurus, pengawas, dan anggota saat RAT.
1. **Komponen `ManasukaAuditBadge.jsx`**:
   - Terpasang di pojok atas halaman Laporan Neraca, Laba Rugi, dan Arus Kas Bermadani.
   - Menampilkan status live dari Manasuka Cloud:
     ```
     ┌────────────────────────────────────────────────────────┐
     │  🛡️ MANASUKA VERIFIED  ✅ SHA-256 Valid (Block #5541)  │
     │  Trial Balance: Rp 0,00  │  Audit Timestamp: Real-time │
     └────────────────────────────────────────────────────────┘
     ```
2. **Laporan Audit RAT 2026**:
   - Pengawas koperasi dapat mengunduh *Cryptographic Audit Certificate* resmi yang ditandatangani secara digital oleh Manasuka Ledger Cloud.

---

## 🏁 STATUS HISTORIS DATA & KEPUTUSAN KOPERASI (UPDATE 19 SEPT 2026)

Seluruh isu data anomali yang sebelumnya pending telah **100% tuntas dan dibukukan**:

| Item | Status | Keterangan Eksekusi |
|---|:---:|---|
| **Ridlo Abdillah (Rp 40 Jt - 2 Fasilitas)** | ✅ **SELESAI** | Resmi tercatat di DB (`Loan ID 73` Rp 15 Jt & `Loan ID 74` Rp 25 Jt). Sisa pokok Rp 31,25 Jt. Diakui sebagai modal operasional koperasi (Non-payroll UMB, akun pengurus aman). |
| **BMT Itqan Channeling (28 Rekening)** | ✅ **SELESAI** | 28 fasilitas aktif senilai Rp 199.367.903 klop 100% dengan invoice perbankan BMT Itqan. Bagi hasil Rp 8,46 Jt (Jan–Jun) telah masuk COA `4.1.02`. |
| **Pinjaman Kas Internal Bermadani (2 Rekening)** | ✅ **SELESAI** | Syarif H (Rp 150 rb) & Agus Sandi (Rp 333 rb) total Rp 483 rb. Menjelaskan total 30 fasilitas koperasi (Rp 199,9 Jt). |
| **30 Transaksi Belanja Operasional Toko/Rak** | ✅ **SELESAI** | Jurnal 5857–5886 terbukukan lengkap (Rp 18,9 Jt). Struk receipt dijadikan opsional agar tidak memblokir pencatatan kasir. |
| **Audit Trail POS Kasir & Multi-Metode Bayar** | ✅ **SELESAI** | Cash/QRIS/Saldo terpisah rapi saat tutup shift kasir, `journal_id` terhubung ke `pos_transactions`, halaman drill-down monitoring shift `/admin/retail/shifts/{id}` aktif. |
| **Dashboard Admin Modern (Apple HIG)** | ✅ **SELESAI** | Segmented Control responsif mobile touch, modular `ExecutiveAnalyticsBento` (kualitas kredit, BMT channeling, target retail, chart 6 bulan, antrean otorisasi). |
| **Rekening Koran Juli–Agustus 2026** | ⏳ **PENDING** | Menunggu file softcopy dari bendahara saat pipeline rekonsiliasi SaaS siap diuji coba. |

---

## 🤝 RINGKASAN MODEL KERJA SAMA (SUBSCRIPTION SLA)

1. **Service**: Manasuka Ledger Cloud API (Core Ledger, Cryptographic Audit Trail, Batch Reconciler).
2. **Pricing Model**: Biaya langganan bulanan flat / per transaksi (*B2B SaaS subscription*) yang dibayarkan kas operasional koperasi Bermadani ke penyedia Manasuka.
3. **Data Ownership**: Data transaksi dan keanggotaan 100% tetap milik KSPPS Berkah Madani UMB. Manasuka hanya menyimpan state kriptografis hash, balance, dan token transaksi yang terenkripsi.
4. **Independent Road**: Reyvan Purnama dapat terus menyempurnakan engine Rust di repo `project/manasuka-ledger` secara bebas tanpa mengganggu codebase Bermadani.
