# OMNL Fineract scripts Scripts for the **OMNL** tenancy ([omnl.hybxfinance.io](https://omnl.hybxfinance.io/)). Load env from `omnl-fineract/.env` or repo root `.env` (see [OMNL_FINERACT_CONFIGURATION.md](../../docs/04-configuration/OMNL_FINERACT_CONFIGURATION.md)). | Script | Purpose | |--------|---------| | **omnl-gl-accounts-create.sh** | Create the five migration GL accounts (1000, 1050, 2000, 2100, 3000) via `POST /glaccounts`. Idempotent (skips if exists). Run **before** ledger post. | | **omnl-discovery.sh** | GET offices, clients, savings/FD/RD products and accounts; output JSON. Set `OUT_DIR=` to write files. | | **omnl-ledger-post.sh** | Post ledger allocation entries T-001, T-001B, T-002A–T-008 per [LEDGER_ALLOCATION_POSTING_RUNBOOK.md](../../docs/04-configuration/mifos-omnl-central-bank/LEDGER_ALLOCATION_POSTING_RUNBOOK.md). Resolves GL account IDs from `GET /glaccounts`. Set `DRY_RUN=1` to print payloads only; `TRANSACTION_DATE=yyyy-MM-dd`, `OFFICE_ID=1` optional. | | **omnl-deposit-one.sh** | Post a single deposit to an existing savings account. `ACCOUNT_ID= AMOUNT= [DATE=yyyy-MM-dd]`. Use discovery output for account IDs; for bulk, loop over a CSV or discovery JSON. | **Run from repo root:** ```bash # 1. Create GL accounts (run first; idempotent) bash scripts/omnl/omnl-gl-accounts-create.sh # 2. Post ledger entries (T-001–T-008) bash scripts/omnl/omnl-ledger-post.sh # Discovery (list products, clients, accounts) bash scripts/omnl/omnl-discovery.sh OUT_DIR=./output/omnl-discovery bash scripts/omnl/omnl-discovery.sh # Ledger dry run (print payloads only) DRY_RUN=1 bash scripts/omnl/omnl-ledger-post.sh # Single deposit (ACCOUNT_ID from discovery) ACCOUNT_ID=1 AMOUNT=100 DATE=2026-02-10 bash scripts/omnl/omnl-deposit-one.sh ``` **Requirements:** `curl`, `jq` (for ledger posting and pretty-print in discovery).