Files
smom-dbis-138/config/omnl-journal-matrix.json
zaragoza444 886a373356
Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m16s
CI/CD Pipeline / Security Scanning (push) Successful in 2m39s
CI/CD Pipeline / Lint and Format (push) Failing after 50s
CI/CD Pipeline / Terraform Validation (push) Failing after 25s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 30s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 29s
OMNL reconcile anchor / Run omnl:reconcile and upload artifacts (push) Failing after 29s
Validation / validate-genesis (push) Successful in 30s
Validation / validate-terraform (push) Failing after 30s
Validation / validate-kubernetes (push) Failing after 13s
Validation / validate-smart-contracts (push) Failing after 11s
Validation / validate-security (push) Failing after 1m24s
Validation / validate-documentation (push) Failing after 20s
Verify Deployment / Verify Deployment (push) Failing after 1m7s
fix: Phase C IPSAS matrix (2100/2410 HO legs) and runtime double-entry guards
Align interoffice HO allocations to 2100→2410 with branch 1410→2100 two-leg entries, registry v1.2.1, explicit same-GL rejection in validators, doc matrices, and validation tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 10:11:44 -07:00

292 lines
8.6 KiB
JSON

{
"description": "IPSAS double-entry journal matrix for OMNL Hybx (Fineract). Every entry debits one GL and credits a distinct GL. Phase C interoffice: HO leg 2100→2410, branch leg 1410→2100. Served path: smom-dbis-138/config/omnl-journal-matrix.json (override OMNL_JOURNAL_MATRIX_PATH).",
"source": "OMNL_IPSAS_COMPLIANCE_MATRIX",
"currencyCode": "USD",
"dateFormat": "yyyy-MM-dd",
"locale": "en",
"doubleEntryRule": "debitGlCode !== creditGlCode; sum(debits) === sum(credits) per journal",
"phaseCInterofficeRule": "HO officeId=1: Dr 2100 M1 circulating / Cr 2410 due to branch; branch office: Dr 1410 due from HO / Cr 2100 M1 circulating",
"entries": [
{
"memo": "T-001",
"officeId": 1,
"debitGlCode": "1000",
"creditGlCode": "2000",
"amount": 900000000000,
"narrative": "Opening Balance Migration (Head Office) — Dr settlement asset / Cr M1 central pool",
"ipsasRef": "IPSAS 3, 28",
"moneyLayer": "M1"
},
{
"memo": "T-001B",
"officeId": 1,
"debitGlCode": "1050",
"creditGlCode": "2000",
"amount": 250000000000,
"narrative": "Treasury Conversion — Dr M0 reserve / Cr M1 central pool (Head Office)",
"ipsasRef": "IPSAS 28, 29",
"moneyLayer": "M0"
},
{
"memo": "T-002A-HO",
"officeId": 1,
"debitGlCode": "2100",
"creditGlCode": "2410",
"amount": 2900000000,
"narrative": "Phase C HO leg — Shamrayan Available (M1) Office 2: Dr M1 circulating / Cr due to branch",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-002A-BR",
"officeId": 2,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 2900000000,
"narrative": "Phase C branch leg — Shamrayan Available (M1) Office 2: Dr due from HO / Cr M1 circulating",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-002B",
"officeId": 1,
"debitGlCode": "2000",
"creditGlCode": "2100",
"amount": 2100000000,
"narrative": "Shamrayan Restricted — Dr M1 central pool / Cr M1 restricted escrow (Office 2)",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-003",
"officeId": 1,
"debitGlCode": "2000",
"creditGlCode": "2100",
"amount": 350000000000,
"narrative": "HYBX Capitalization Escrow — Dr M1 central pool / Cr M1 restricted (Office 3)",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-004-HO",
"officeId": 1,
"debitGlCode": "2100",
"creditGlCode": "2410",
"amount": 5000000000,
"narrative": "Phase C HO leg — TAJ Allocation (M1) Office 4",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-004-BR",
"officeId": 4,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 5000000000,
"narrative": "Phase C branch leg — TAJ Allocation (M1) Office 4",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-005-HO",
"officeId": 1,
"debitGlCode": "2100",
"creditGlCode": "2410",
"amount": 5000000000,
"narrative": "Phase C HO leg — Aseret Allocation (M1) Office 5",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-005-BR",
"officeId": 5,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 5000000000,
"narrative": "Phase C branch leg — Aseret Allocation (M1) Office 5",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-006-HO",
"officeId": 1,
"debitGlCode": "2100",
"creditGlCode": "2410",
"amount": 5000000000,
"narrative": "Phase C HO leg — Mann Li Allocation (M1) Office 6",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-006-BR",
"officeId": 6,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 5000000000,
"narrative": "Phase C branch leg — Mann Li Allocation (M1) Office 6",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-007-HO",
"officeId": 1,
"debitGlCode": "2100",
"creditGlCode": "2410",
"amount": 50000000000,
"narrative": "Phase C HO leg — OSJ Allocation (M1) Office 7",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-007-BR",
"officeId": 7,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 50000000000,
"narrative": "Phase C branch leg — OSJ Allocation (M1) Office 7",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-008-HO",
"officeId": 1,
"debitGlCode": "2100",
"creditGlCode": "2410",
"amount": 50000000000,
"narrative": "Phase C HO leg — Alltra Allocation (M1) Office 8",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-008-BR",
"officeId": 8,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 50000000000,
"narrative": "Phase C branch leg — Alltra Allocation (M1) Office 8",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-H24-HO",
"officeId": 1,
"debitGlCode": "2100",
"creditGlCode": "2410",
"amount": 1000000000,
"narrative": "HOSPITALLERS-24 opening HO leg — Dr M1 circulating / Cr due to Office 24",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-H24-BR",
"officeId": 24,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 1000000000,
"narrative": "HOSPITALLERS-24 opening branch leg — Dr due from HO / Cr M1 circulating (live $1B post)",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
},
{
"memo": "T-M1M2",
"officeId": 24,
"debitGlCode": "2100",
"creditGlCode": "2200",
"amount": 0,
"narrative": "M1→M2 broad-money conversion — Dr M1 circulating / Cr M2 broad money",
"ipsasRef": "IPSAS 28, 29",
"moneyLayer": "M2"
},
{
"memo": "T-M2M3",
"officeId": 24,
"debitGlCode": "2200",
"creditGlCode": "2300",
"amount": 0,
"narrative": "M2→M3 token load — Dr M2 broad money / Cr M3 on-chain token liability",
"ipsasRef": "IPSAS 28, 29",
"moneyLayer": "M3"
},
{
"memo": "T-M2M4",
"officeId": 24,
"debitGlCode": "2200",
"creditGlCode": "1000",
"amount": 0,
"narrative": "M2→M4 SWIFT/RTGS outbound — Dr M2 broad money / Cr settlement suspense (GL 1000)",
"ipsasRef": "IPSAS 2, 28",
"moneyLayer": "M4"
},
{
"memo": "T-M1M4",
"officeId": 24,
"debitGlCode": "2100",
"creditGlCode": "1000",
"amount": 0,
"narrative": "M1→M4 SWIFT/RTGS outbound — Dr M1 circulating / Cr settlement suspense (GL 1000)",
"ipsasRef": "IPSAS 2, 28",
"moneyLayer": "M4"
},
{
"memo": "T-M4-IN",
"officeId": 24,
"debitGlCode": "1000",
"creditGlCode": "2200",
"amount": 0,
"narrative": "M4 inbound SWIFT settled — Dr settlement suspense / Cr M2 broad money",
"ipsasRef": "IPSAS 2, 28",
"moneyLayer": "M4"
},
{
"memo": "T-SBLC",
"officeId": 24,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 0,
"narrative": "SBLC trade finance — Dr inter-office receivable / Cr M1",
"ipsasRef": "IPSAS 28, 29",
"moneyLayer": "M4"
},
{
"memo": "T-DLC",
"officeId": 24,
"debitGlCode": "1410",
"creditGlCode": "1000",
"amount": 0,
"narrative": "Documentary LC — Dr contingent receivable / Cr M4 settlement suspense",
"ipsasRef": "IPSAS 2, 28",
"moneyLayer": "M4"
},
{
"memo": "T-BG",
"officeId": 24,
"debitGlCode": "1410",
"creditGlCode": "2100",
"amount": 0,
"narrative": "Bank guarantee — Dr contingent receivable / Cr M1",
"ipsasRef": "IPSAS 28, 29",
"moneyLayer": "M4"
},
{
"memo": "T-LS",
"officeId": 24,
"debitGlCode": "1000",
"creditGlCode": "2200",
"amount": 0,
"narrative": "Letter of settlement — Dr M4 suspense / Cr M2",
"ipsasRef": "IPSAS 2, 28",
"moneyLayer": "M4"
},
{
"memo": "SETTLE-NOSTRO",
"officeId": 1,
"debitGlCode": "13010",
"creditGlCode": "2000",
"amount": 0,
"narrative": "Nostro settlement — Dr FX nostro asset / Cr M1 central pool",
"ipsasRef": "IPSAS 28",
"moneyLayer": "M1"
}
]
}