Orivo
Cash Management
Blueprint praktis untuk merancang kanal cash management milik bank: benchmark portal, fitur, menu, layar, data, integrasi, pembayaran, EOD, COA, laporan, kontrol keamanan, dan tahapan membangun prototype di Arena.ai.
Mulai dari produk yang tepat
Orivo adalah kanal digital milik bank bagi nasabah korporasi—bukan SaaS treasury multibank dan bukan pengganti core banking atau Bank GL.
15 portal Indonesia + 15 portal global
Daftar kandidat pembanding, bukan ranking resmi. Fokusnya menemukan pola produk dan UX—bukan menyalin fitur atau merek.
| # | Portal | Pasar | Fokus observasi UX/produk | Sumber |
|---|---|---|---|---|
| 01 | Kopra by Mandiri | Indonesia | Cash-management journey, account visibility, payment and corporate services. | Mandiri ↗ |
| 02 | QLola by BRI | Indonesia | Corporate channel, service discovery, cash/payment workflows. | BRI ↗ |
| 03 | myBCA Bisnis | Indonesia | Business digital banking, account tasks and user journey. | BCA ↗ |
| 04 | KlikBCA Bisnis | Indonesia | Corporate e-banking, entitlements and operational workflow. | BCA document ↗ |
| 05 | BNIDirect | Indonesia | Cash management service flow and corporate payment journey. | BNI ↗ |
| 06 | OCTOBIZ | Indonesia | Business account services, cash management and self-service guidance. | CIMB Niaga ↗ |
| 07 | OCBC Business | Indonesia | Corporate digital channel and service/terms clarity. | OCBC ↗ |
| 08 | Danamon Cash Connect | Indonesia | Corporate e-channel and operational workflows. | Danamon ↗ |
| 09 | Permata eBusiness | Indonesia | Corporate banking service package and digital task coverage. | Permata ↗ |
| 10 | DBS IDEAL | Indonesia / regional | Digital corporate banking, cash visibility and cross-market experience. | DBS Indonesia ↗ |
| 11 | UOB Infinity | Indonesia / regional | Corporate channel, role journeys and self-service support. | UOB Indonesia ↗ |
| 12 | HSBCnet Indonesia | Indonesia / global | Global corporate access, cash and cross-border workflows. | HSBC Indonesia ↗ |
| 13 | Standard Chartered Straight2Bank | Indonesia / global | Transaction banking and cross-border experience. | Standard Chartered ↗ |
| 14 | BTN Bale Korpora | Indonesia | Corporate service entry point and payment journey. | BTN ↗ |
| 15 | bank bjb IBC | Indonesia | Regional-bank corporate internet banking and service workflows. | bank bjb ↗ |
| 16 | J.P. Morgan Access | Global | Global cash/payment workspace and treasury visibility. | J.P. Morgan ↗ |
| 17 | BofA CashPro | Global | Corporate payments, cash position and user experience patterns. | BofA ↗ |
| 18 | CitiDirect | Global | Global corporate platform and data/service integration. | Citi ↗ |
| 19 | HSBCnet | Global | Multi-country cash, payments and access-control patterns. | HSBC ↗ |
| 20 | Standard Chartered Straight2Bank | Global | Transaction banking, payments and corporate integrations. | Standard Chartered ↗ |
| 21 | Deutsche Bank Autobahn Cash Manager | Global | Cash-management workspace and account/transaction views. | Deutsche Bank ↗ |
| 22 | BNP Paribas Connexis Cash | Global | Cash management digital channel and service organization. | BNP Paribas ↗ |
| 23 | Barclays iPortal | Global | Corporate banking navigation, tasks and digital services. | Barclays ↗ |
| 24 | Wells Fargo Vantage | Global | Commercial banking workspace and role-oriented services. | Wells Fargo ↗ |
| 25 | ANZ Transactive Global | Global | Global transaction banking and business workflow. | ANZ ↗ |
| 26 | Santander Cash Nexus | Global | Consolidated treasury and multi-bank visibility concepts. | Santander ↗ |
| 27 | BBVA Global Net Cash / Net Cash | Global | Corporate payments, cash services and digital channel. | BBVA ↗ |
| 28 | DBS IDEAL | Global / Asia | Regional cash management, payments and account services. | DBS ↗ |
| 29 | UOB Infinity | Global / Asia | Corporate banking journeys and cross-market experience. | UOB ↗ |
| 30 | OCBC Velocity | Global / Asia | Business banking services and digital corporate UX. | OCBC ↗ |
30 kandidat ditampilkan.
Cash cockpit yang dapat ditelusuri
Posisi per entity/account/currency, waktu pembaruan, sumber saldo dan drill-down—not just one rolled-up number.
Payment lifecycle terlihat
Batch/item, approval, cut-off, rail, status bank, rejection reason dan statement matching berada pada alur yang sama.
Role & exception first
Approver mendapatkan inbox yang fokus; maker mendapatkan validasi per baris; operations melihat exception yang actionable.
Modul dan fitur yang direkomendasikan
Urutkan prioritas dari fungsi yang menutup siklus kas: terlihat → instruksi → kontrol → penyelesaian → rekonsiliasi → pelaporan.
Dashboard & Cash Position
Ringkasan likuiditas yang jelas dan fresh.
- Saldo per rekening, entitas, bank dan currency.
- Ledger vs available vs holds; waktu/source data.
- Cash movement, upcoming value dates, exception.
- Konsolidasi grup hanya sesuai entitlement.
Payments & Bulk Upload
Single, batch, payroll, vendor dan scheduled payment.
- CSV/XLSX bank template; pain.001/API/H2H bila disepakati.
- Validation per baris, error report, duplicate protection.
- Maker-checker-releaser, limits, fee preview, status timeline.
- Partial vs all-or-nothing policy per produk.
Collections
Visibilitas penerimaan dan rekonsiliasi.
- Virtual account and incoming payment references.
- RFP/DDT bila bank/product enabled.
- Statement, matching, unreconciled collections.
- Settlement status, cutoff and exceptions.
Liquidity & FX
Kontrol saldo, forecast dan konversi FX.
- Balances tetap per currency; jangan campur tanpa rate/time.
- FX quote, acceptance, expiry, source dan value date.
- Liquidity forecast dan intercompany transfers bila didukung.
- Rate/fee approval dan ledger vs available.
Statements & Reconciliation
Bandingkan instruksi, status bank dan statement.
- Auto/manual matching dengan reference, amount, date.
- Unmatched, duplicate, partial match dan suspense queue.
- Import camt.053/CSV atau adapter bank.
- Alasan dan resolusi exception tercatat.
EOD & Control
Close-operational, bukan menggantikan ledger resmi bank.
- Business date, timezone, kalender dan cutoff per rail.
- Statement ingestion, control totals, reconcile, exceptions.
- Idempotent rerun dan bukti audit.
- Corporate view terpisah dari bank-ops EOD.
Integration Hub
Koneksi bank-side dan corporate-side yang dipisahkan.
- Core banking, Payment Hub, FX, statements, fraud.
- HRID/HRIS/payroll, ERP/accounting, API, H2H/SFTP.
- Versioned adapters, mapping, monitor, retry, DLQ.
- Demo mode: mock API lawan & file output synthetic.
COA & Posting
Dua domain akuntansi—jangan satukan chart.
- Bank GL rules & adapter pada bank control plane.
- ERP COA mapping per tenant/legal entity.
- Balanced journal, versioning, approval, ack, reversal.
- Hanya settled/posted/booked menjadi journal final.
Reports & Audit
Satu engine report untuk design dan view.
- SatuReport Designer & Viewer (layout terpublikasi).
- Report catalog per role, tenant dan legal entity.
- PDF/XLSX/export audit dan report run metadata.
- Large/sensitive report job di backend.
Bentuk layar yang paling berguna untuk Orivo
Gunakan AurivoDash untuk layout shell: sidebar, topbar, KPI, chart, table, filter dan export. Ganti seluruh demo non-treasury dengan konteks cash.
Maker Demo AIDR 39.5MReview
HRID mockIDR 17MReview
Dashboard visual hierarchy
1) tenant/entity/date context → 2) cash by currency → 3) approvals & payment state → 4) exceptions/EOD → 5) transaction drill-down. Jangan gabungkan multi-currency jadi satu angka tanpa rate dan timestamp.
Approval visual hierarchy
Tampilkan maker, beneficiary, debit account, amount/currency, fee, requested rail, cutoff, risk result, source file and changed-after-approval warning sebelum checker/releaser memutuskan.
Jalur pembayaran dan format data
Bulk upload adalah cara mengirim instruksi; payment hub memecah/rutekan item mengikuti eligibility dan kebijakan bank.
MVP. Single dan bulk antar rekening bank yang sama. Tampilkan booking status dari core banking.
MVPMVP bila aktif. Individual dan bulk credit transfer; BCT relevan untuk payroll/vendor jika bank peserta dan layanan tersedia. RFP/DDT ditambahkan bila product scope siap.
MVP*Untuk transaksi bernilai besar/urgent sesuai aturan, cutoff, limit dan eligibility bank. Item dari file bulk diproses sebagai instruksi individual. Jangan hardcode limit historis.
MVP*Adapter kompatibilitas jika dibutuhkan produk/kontrak existing. Jangan jadikan default tanpa konfirmasi bank.
KondisionalCross-border sebagai tahap berikutnya. Untuk instruksi FI-to-FI baru, gunakan ISO 20022 MX (mis. pacs.008 jika sesuai use case); MT bukan default. Demo hanya ekspor file sintetis, tidak dikirim ke jaringan.
Tahap 2Virtual account, statement matching, RFP/DDT atau collection adapter sesuai produk dan kesiapan bank.
BertahapFile corporate yang direkomendasikan
Manual: bank CSV template berversi; XLSX terkontrol tanpa macro.
ERP/HRID: ISO 20022 pain.001 bila profil bank disepakati; atau API JSON/H2H/SFTP dengan canonical model yang sama.
Status: pain.002/API callback serta hasil validasi per baris.
Statement: camt.053 EOD, camt.052 intraday, camt.054 notification bila didukung; CSV sebagai opsi.
File pesan bank / demo
Cross-border: payment hub bank membentuk MX pacs.008 setelah approval jika jalurnya sesuai. Jangan biarkan corporate upload membypass control.
Demo file: `DEMO_YYYYMMDD_
Legacy MT: hanya profile compatibility bila kontrak/kanal secara eksplisit mengizinkan.
Validasi: XSD + business rules bank, versioned usage guide, structured/hybrid address.
Microservices, control plane dan data plane
Frontend dan backend terpisah. Satu klaster PostgreSQL dapat menjadi tahap awal, tetapi ownership data tetap per service.
Internal bank systems
Core Banking · Payment Hub · Bank GL · FX · Statement · Fraud/Compliance · Monitoring. Bank staff identity and console are separate.
Corporate systems
ERP/accounting · HRID/HRIS/payroll · corporate APIs · H2H/SFTP. Connections and files are tenant-scoped.
JDK 25 / Spring Boot
Spring Boot 4.1.x compatible line, REST/OpenAPI, PostgreSQL, versioned migrations, metrics/tracing and test suite. Pin exact patch and validate bank libraries.
Struktur data inti
Semua transaksi/report tenant-scoped; bank internal data berada pada scope dan izin yang berbeda. Ini model konseptual, bukan migration final.
| Entitas / tabel | Scope | Field inti (contoh) | Hubungan / kontrol |
|---|---|---|---|
| tenant | tenant | tenant_id, customer_group_id, status, product_entitlements | Root isolasi corporate. |
| legal_entity | tenant | legal_entity_id, tenant_id, country, business_calendar | Parent ke account, user scope, report. |
| user_membership / entitlement | tenant / bank | user_id, tenant_id, legal_entity_scope, role, account_scope | Makers/checkers/releasers terpisah; bank identity terpisah. |
| account_read_model | tenant | account_id, tenant_id, legal_entity_id, currency, ledger/available, as_of, source_ref | Read model dari Core Banking; saldo bukan sumber official portal. |
| payment_batch / payment_item | tenant | batch_id, source, file_hash, row_ref, account, beneficiary, amount, currency, rail, status | Batch punya banyak item; status per item; idempotency key. |
| approval_step / status_event | tenant / bank ops | maker/checker/releaser, payload_hash, actor, event_time, reason | Approval melekat ke detail transaksi; append-only history. |
| integration_connection/message/attempt | bank atau tenant | scope_type, scope_id, protocol, secret_ref, mapping_version, correlation_id | Bank connection terpisah dari koneksi HRID/ERP nasabah. |
| statement / reconciliation_item | tenant | statement_id, account_id, value_date, entry_ref, amount, match_status | Match ke payment/collection; exception punya owner dan reason. |
| eod_run / eod_control_total | tenant atau bank | business_date, account/currency, counts, totals, control/status, rerun_ref | Corporate EOD terpisah dari Bank Operations EOD. |
| bank_posting_rule_set / bank_gl_ref | bank control plane | rule_version, effective_from, event_code, GL refs, approval, active status | Bank GL rules tidak boleh muncul pada corporate COA. |
| corporate_coa_mapping / journal_export | tenant + legal entity | coa_version, transaction_code, debit/credit account, export_ack | Mapping per nasabah/badan hukum; tidak shared lintas tenant. |
| report_definition / report_run | bank or tenant | report_key, layout_version, role_acl, parameter, as_of, export_id | Source data backend whitelist; audit view/export. |
| audit_event | bank / tenant | actor, scope, action, resource, outcome, correlation_id, timestamp | Mask PII; immutable/tamper-evident retention. |
Hierarki dan ownership
Aturan tenant pada database/API
Tenant berasal dari identitas/membership terverifikasi, bukan request browser. Gunakan tenant-aware foreign keys, Postgres RLS sebagai defense-in-depth, dan negative tests pada API, report, export, cache, search, webhook dan background job.
Dua domain posting—jangan campur
Orivo mendukung orkestrasi Bank GL dan Corporate ERP, tetapi masing-masing memakai rule set, COA, scope akses dan acknowledgement sendiri.
Bank Posting Rules → Bank GL
Rule set berversi dan efektif tanggal, konfigurasi maker-checker, idempotent journal batch, reversal dan adapter ke Core/Bank GL. Core/GL tetap authoritative—Orivo tidak menulis langsung ke tabel ledger.
Corporate COA Mapping → ERP
Mapping per tenant/entity untuk bank transaction code, payment, collection, fee dan FX. ERP mengirim acknowledgement; “file created” bukan berarti sudah posted.
Contoh jurnal ilustratif • data demo Orivo (bukan COA resmi/advice akuntansi)
| Scope | Event | Debit | Kredit | Jumlah IDR |
|---|---|---|---|---|
| Bank GL (demo) | 2 supplier payments settled | Deposit liability | Payment clearing | 39.500.000 |
| Bank GL (demo) | Virtual account collection settled | Settlement asset | Deposit liability | 7.250.000 |
| Corporate ERP (demo) | 2 supplier payments settled | AP | Bank cash | 39.500.000 |
| Corporate ERP (demo) | Collection settled | Bank cash | AR | 7.250.000 |
Masing-masing journal batch: debit IDR 46.750.000 = kredit IDR 46.750.000. Bank COA dan tenant COA terpisah. Payment cross-border USD 1.500 berstatus processing/hold; belum menjadi jurnal settled.
Corporate EOD
Per business date, entity, account, currency: payment status, statement, closing position, recon and exception.
Bank Operations EOD
Settlement windows, batch control totals, failed posting, queue/rail health, GL acknowledgement and suspense exceptions.
Posting eligibility
Final journal hanya berdasarkan settled/posted/booked event. Processing, validation failure, approval pending dan hold dipisah.
Urutan proses EOD Orivo
EOD Orivo adalah proses kontrol, rekonsiliasi, snapshot dan orkestrasi output. Ia tidak “mengubah semua payment menjadi settled” dan tidak menggantikan EOD resmi core banking/Bank GL.
| Langkah | Aktivitas | Kontrol penting | Output |
|---|---|---|---|
| 1. Buka run | Pilih scope `BANK` atau `TENANT`, business date, timezone, legal entity/account/currency, kalender libur dan cycle. | Role, periode dan cutoff harus valid; simpan EOD run ID dan policy version. | Run `SCHEDULED` + parameter snapshot. |
| 2. Cut-off & snapshot | Tentukan transaksi yang masuk business date ini atau date berikutnya sesuai rail dan kebijakan bank. | Jangan tutup kanal 24/7 secara diam-diam. Payment yang terlambat diperlakukan sesuai rail/date policy. | Source watermarks, cutoff decisions, pending list. |
| 3. Tarik data sumber | Ambil events dari Core Banking, Payment Hub, collections/VA, statement, FX dan respons HRID/ERP. | Idempotent ingestion, deduplikasi, correlation ID, record source timestamp. | Staging records + counts per source. |
| 4. Normalisasi & validasi | Mapping status, rekening, tenant/entity, currency, tanggal, fee, rail dan external references. | Kesalahan schema/tenant/account di-quarantine; jangan mengubah status source of truth. | Validated / rejected / unresolved counts. |
| 5. Cocokkan payment | Bandingkan instruction dan approval dengan acceptance/status dari Payment Hub/Core. | `SUBMITTED`/`PROCESSING` bukan `SETTLED`. Return/reversal ditautkan ke transaksi asal. | Per-item status + payment exceptions. |
| 6. Import statement & match | Import statement/camt.053/CSV; cocokkan payment, collection, fee dan FX entries. | Match pakai bank ref/end-to-end ID/amount/date/currency. Partial, duplicate dan unmatched masuk queue. | Matched/unmatched totals + recon evidence. |
| 7. Hitung posisi & controls | Hitung ledger movement, available balance, settlement totals dan counts per account/currency/rail. | Rekonsiliasi opening + posted credits − posted debits = closing; holds dilaporkan terpisah. | Control totals, closing snapshot, break/variance. |
| 8. Siapkan posting | Generate bank-scope Bank GL batch dan corporate-scope ERP journal export secara terpisah. | Hanya settled/posted/booked events yang lolos rule eligible; balance per ledger/currency; idempotent key dan rule version. | Posting/ERP batches + acknowledgements atau pending status. |
| 9. Review exceptions | Assign owner, severity, action, SLA dan alasan menerima exception. | Close hanya jika hard controls pass; soft exception dapat ditutup dengan approval sesuai policy. | `CLOSED` atau `CLOSED_WITH_EXCEPTIONS` sesuai policy. |
| 10. Publish & carry forward | Publikasikan report/snapshot untuk user yang berhak; carry-forward unsettled items ke business date berikutnya. | Rerun tidak boleh membuat posting/report ganda. Reopen butuh role, alasan dan audit. | EOD pack, report-run IDs, next-day pending queue. |
Run state dan rerun
Cabang status: `CLOSED_WITH_EXCEPTIONS`, `FAILED` atau `REOPENED`. Posting Bank GL dan ERP memiliki sub-status/ack tersendiri; apakah ack wajib sebelum close ditentukan oleh policy bank.
Contoh hitung • IDR (synthetic)
Yang tidak boleh dilakukan EOD
- Menyamakan status `submitted` dengan dana settled.
- Mengikutkan payment `processing`, approval pending atau validation failure ke jurnal final.
- Menimpa run sebelumnya saat rerun atau mengirim journal ganda.
- Menggabungkan saldo IDR dan USD tanpa FX rate, timestamp dan rule.
- Mengubah ledger Core Banking—Orivo merekonsiliasi dan mengorkestrasi, sistem sumber tetap authoritative.
SatuReport Designer + Viewer
Satu engine report bersama untuk Orivo, bukan hanya satu contoh penjualan. Simpan layout final di backend dengan versioning/approval.
Komponen yang dipakai
Designer: AurivoDash Report Design ↗
Viewer: AurivoDash Report Viewer ↗
Source: github.com/radianadhic/satureport ↗
Vendor source secara lokal, pin commit/release dan sertakan LICENSE + attribution MIT. Jangan fetch JS dari GitHub saat runtime.
Keamanan penggunaan
- Viewer memanggil Report Data API same-origin dengan reportKey/parameter yang di-whitelist.
- Jangan expose raw SQL, arbitrary URL, atau tenant_id dari browser.
- Layout official, roles, scope dan versi disimpan di backend/PostgreSQL; IndexedDB hanya draft lokal.
- Filter row/column access, mask PII, audit view/print/export.
- Report besar/sensitif dijalankan sebagai backend job/pagination.
Finance / Treasury
Cash position, collections, payments, fee/FX, statement, reconciliation, EOD.
Maker / Approver
Upload summary, row errors, approval queue, approvals, batch status and exceptions.
Bank Ops / Audit
Settlement, return/reject, EOD controls, posting acknowledgements, integration health and audit evidence.
Kontrol dari awal—tanpa klaim compliance palsu
Regulatory compliance harus diturunkan menjadi control matrix dan disetujui bank; checklist teknis saja bukan certification.
Security baseline
- OIDC/SSO dan MFA/step-up untuk transaksi sensitif.
- Least privilege, SoD, maker-checker, limits, approval terikat detail.
- TLS/mTLS, encryption at rest, vault/HSM references; no secrets di database/log.
- Append-only/tamper-evident audit, BCP/DR, monitoring, rate limits, file scan.
- RLS + negative cross-tenant tests pada semua jalur.
Traceability matrix
Petakan: aturan/obligation → kontrol aplikasi → data/evidence → test case → owner/sign-off. Periksa sumber primer BI, OJK, PPATK, UU PDP, bank policy, jalur pembayaran, cross-border and outsourcing.
Bank Indonesia
Periksa status, transisi, kelayakan peserta, cutoff dan aturan service BI-FAST/RTGS/SKNBI.
SWIFT / ISO 20022
Untuk CBPR+, verifikasi usage guideline dan tanggal efektif terbaru; gunakan data alamat terstruktur/hybrid sesuai ketentuan aktif.
Demo dan data
Gunakan data sintetis yang berlabel; demo tidak terkoneksi ke live rail. Data riil hanya dari bank dengan otorisasi, minimization dan masking.
Benchmark bukan legal advice
Apa yang dilakukan di Arena.ai
Master prompt berfungsi sebagai spesifikasi. Mulai dengan rancangan, lalu prototype terisolasi; jangan meminta satu generasi langsung ke produksi.
- Tenant A tidak dapat mengakses data B via UI/API/report/export/cache/job.
- Bulk upload menghasilkan valid/invalid rows, approval dan status item.
- Mock payment hub membuat 2 settled + 1 pre-validation failure.
- Statement → reconciliation → EOD memiliki total konsisten.
- Bank GL mock + corporate ERP mock menghasilkan jurnal terpisah dan seimbang.
- Pacs.008 demo dapat diunduh tanpa network transmission.
- Dokumentasi dan sandbox CBS/payment hub/HRID/ERP/GL.
- Bank-specific rail, limit, cutoff, FX, fee, COA/posting approval.
- UAT, security/penetration test, BCP/DR & observability.
- Legal, Compliance, Risk, InfoSec, Operations, Architecture and Internal Audit approvals.
Sumber utama dan batasan
Daftar benchmark bertujuan sebagai cohort pembanding. Periksa ulang halaman resmi dan dokumen aktual pada saat discovery produk.
Template dan report engine
Relasi kategori produk
15+15 pada bagian benchmark adalah portal bank/channel corporate banking. Software TMS/payment-hub vendors—Kyriba, GTreasury, SAP, Oracle, FIS, ION, Coupa, TIS, Nomentia, HighRadius, Trovata, Bottomline, Finastra dan Murex—merupakan pembanding sekunder kategori berbeda, bukan ranking portal.
Tanggal blueprint: 12 Oktober 2026 · Orivo · Indonesia-first · data contoh seluruhnya simulasi.
Dokumen blueprint produk dan rancangan Arena.ai. Benchmark bukan ranking resmi; fitur perlu diverifikasi dengan sumber dan kontrak bank. Contoh data/jurnal sintetis bukan data nasabah atau saran akuntansi. Regulasi dan production readiness memerlukan validasi serta persetujuan bank.