Files
smom-dbis-138/config/omnl-ipsas-gl-registry.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

279 lines
12 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "IPSAS-aligned GL codes for OMNL Hybx (Fineract). Includes core M0/M1, FX/XAU (IAS 21), fees, and IAS 37 provisions.",
"version": "1.2.1",
"currencyCode": "USD",
"accounts": [
{
"glCode": "1000",
"name": "USD Settlement & Reserve Assets",
"fineractType": "ASSET",
"usage": "Cash and cash equivalents (IPSAS 2); settlement balances",
"ipsasStandards": ["IPSAS 2", "IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IAS 1", "IFRS 7"],
"roles": ["settlement", "cash_equivalent"]
},
{
"glCode": "1050",
"name": "USD Treasury Conversion Reserve (M0)",
"fineractType": "ASSET",
"usage": "Reserve backing M1 capacity; financial asset",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IAS 32", "IFRS 9"],
"roles": ["m0_reserve", "treasury_reserve"]
},
{
"glCode": "1410",
"name": "Due from Head Office (inter-office receivable)",
"fineractType": "ASSET",
"usage": "Branch receivable from HO for M1 allocation; not M4 near-money aggregate",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IFRS 7"],
"roles": ["interoffice_receivable", "due_from_ho"]
},
{
"glCode": "2200",
"name": "M2 — Broad money / meta-fiat rail",
"fineractType": "LIABILITY",
"usage": "Broad money layer backing token loads and external rails",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IAS 32"],
"roles": ["m2_broad", "meta_fiat"]
},
{
"glCode": "2300",
"name": "M3 — On-chain token liabilities",
"fineractType": "LIABILITY",
"usage": "Token liabilities minted from M2 backing on Chain 138",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IAS 32", "IFRS 9"],
"roles": ["m3_token_liability", "crypto_liability"]
},
{
"glCode": "2410",
"name": "Due to branch offices (inter-office payable)",
"fineractType": "LIABILITY",
"usage": "HO payable to branch for allocated M1 / opening journals",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IFRS 7"],
"roles": ["interoffice_payable", "due_to_branch"]
},
{
"glCode": "12010",
"name": "FX reserves — USD",
"fineractType": "ASSET",
"usage": "Foreign currency reserves — USD",
"ipsasStandards": ["IPSAS 29"],
"ifrsRefs": ["IAS 21"],
"roles": ["fx_reserve"]
},
{
"glCode": "12020",
"name": "FX reserves — EUR",
"fineractType": "ASSET",
"usage": "Foreign currency reserves — EUR (SEPA settlement)",
"ipsasStandards": ["IPSAS 29"],
"ifrsRefs": ["IAS 21"],
"roles": ["fx_reserve", "eur_settlement"]
},
{
"glCode": "12090",
"name": "FX reserves — other",
"fineractType": "ASSET",
"usage": "Other ISO-4217 and special units including XAU-linked",
"ipsasStandards": ["IPSAS 29"],
"ifrsRefs": ["IAS 21", "IFRS 13"],
"roles": ["fx_reserve", "xau_collateral"]
},
{
"glCode": "12015",
"name": "Digital asset reserves — BTC (L1 mainnet custody)",
"fineractType": "ASSET",
"usage": "HO native BTC L1 custody; debit on confirmed receipt to registered HO address",
"ipsasStandards": ["IPSAS 2", "IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IAS 21", "IFRS 13"],
"roles": ["digital_asset_reserve", "btc_l1_custody"],
"inLiveRegistry": false
},
{
"glCode": "12424",
"name": "Office 24 — digital asset custody — BTC (sent to HO)",
"fineractType": "ASSET",
"usage": "Credit on sender-office leg when HO confirms L1 BTC from HOSPITALLERS-24",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IFRS 13"],
"roles": ["digital_asset_custody", "interoffice_btc"],
"officeId": 24,
"inLiveRegistry": false
},
{
"glCode": "13010",
"name": "FX settlement — nostro",
"fineractType": "ASSET",
"usage": "Settlement balances with correspondent banks",
"ipsasStandards": ["IPSAS 2", "IPSAS 28"],
"ifrsRefs": ["IFRS 7"],
"roles": ["nostro", "correspondent"]
},
{
"glCode": "2000",
"name": "USD Central Deposits (M1 pool)",
"fineractType": "LIABILITY",
"usage": "Head Office central M1 pool / migration control; Phase C spendable M1 at branches uses 2100",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IAS 32", "IFRS 7"],
"roles": ["m1_liability", "demand_deposit"]
},
{
"glCode": "2100",
"name": "USD M1 Circulating (branch spendable)",
"fineractType": "LIABILITY",
"usage": "Branch spendable M1 / circulating eMoney (Phase C, Office 24 glM1); interoffice HO leg debits this account",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IAS 32"],
"roles": ["m1_restricted", "escrow", "fiduciary"]
},
{
"glCode": "21010",
"name": "M00 — Bank reserves (control)",
"fineractType": "LIABILITY",
"usage": "GRU M00 base reserve control (gold-referenced)",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IAS 32"],
"roles": ["m00_liability", "gru_base"]
},
{
"glCode": "23010",
"name": "Provisions — contingent liabilities (IAS 37)",
"fineractType": "LIABILITY",
"usage": "Recognized provisions",
"ipsasStandards": ["IPSAS 19"],
"ifrsRefs": ["IAS 37"],
"roles": ["provision"]
},
{
"glCode": "3000",
"name": "Opening Balance Control",
"fineractType": "EQUITY",
"usage": "Migration control; equity",
"ipsasStandards": ["IPSAS 1", "IPSAS 3"],
"ifrsRefs": ["IAS 1"],
"roles": ["equity", "migration_control"]
},
{
"glCode": "42000",
"name": "FX gains (realized)",
"fineractType": "INCOME",
"usage": "Realized foreign exchange gains",
"ipsasStandards": ["IPSAS 9"],
"ifrsRefs": ["IAS 21"],
"roles": ["fx_gain_realized"]
},
{
"glCode": "42100",
"name": "Unrealized FX gain (P&L)",
"fineractType": "INCOME",
"usage": "Unrealized FX gain on revaluation",
"ipsasStandards": ["IPSAS 9"],
"ifrsRefs": ["IAS 21", "IFRS 9"],
"roles": ["fx_gain_unrealized"]
},
{
"glCode": "51000",
"name": "FX losses (realized)",
"fineractType": "EXPENSE",
"usage": "Realized foreign exchange losses",
"ipsasStandards": ["IPSAS 9"],
"ifrsRefs": ["IAS 21"],
"roles": ["fx_loss_realized"]
},
{
"glCode": "52100",
"name": "Unrealized FX loss (P&L)",
"fineractType": "EXPENSE",
"usage": "Unrealized FX loss on revaluation",
"ipsasStandards": ["IPSAS 9"],
"ifrsRefs": ["IAS 21", "IFRS 9"],
"roles": ["fx_loss_unrealized"]
},
{
"glCode": "11040",
"name": "M00 Gold-Backed Asset Inventory (3FR M00)",
"fineractType": "ASSET",
"usage": "Face-value M00 from 3FR discounted exchange (T-3FR-001/002)",
"ipsasStandards": ["IPSAS 28", "IPSAS 29"],
"ifrsRefs": ["IFRS 9", "IFRS 13"],
"usGaapRefs": ["ASC 820", "ASC 860"],
"roles": ["m00_inventory", "gold_backed"]
},
{
"glCode": "32200",
"name": "M00 Discount / FVR — 3FR Exchange",
"fineractType": "EQUITY",
"usage": "Discount, haircut, monetization reserve / fair value reconciliation",
"ipsasStandards": ["IPSAS 1", "IPSAS 29"],
"ifrsRefs": ["IFRS 13", "IAS 1"],
"usGaapRefs": ["ASC 820"],
"roles": ["fvr_adjustment", "revaluation_deficit"]
}
],
"allowedJournalPairs": [
{ "debitGlCode": "1000", "creditGlCode": "2000", "ipsasRef": "IPSAS 3, 28", "memo": "T-001", "ifrsRef": "IAS 32 issuance" },
{ "debitGlCode": "1050", "creditGlCode": "2000", "ipsasRef": "IPSAS 28, 29", "memo": "T-001B", "ifrsRef": "IAS 32 M0 reserve" },
{ "debitGlCode": "2100", "creditGlCode": "2410", "ipsasRef": "IPSAS 28", "memo": "INTEROFFICE-HO", "ifrsRef": "IAS 32 Phase C HO leg (2100→2410)" },
{ "debitGlCode": "1410", "creditGlCode": "2100", "ipsasRef": "IPSAS 28", "memo": "INTEROFFICE-BR", "ifrsRef": "IAS 32 Phase C branch leg (1410→2100)" },
{ "debitGlCode": "2000", "creditGlCode": "2100", "ipsasRef": "IPSAS 28", "memo": "T-002B" },
{ "debitGlCode": "2100", "creditGlCode": "2410", "ipsasRef": "IPSAS 28", "memo": "T-H24-HO", "ifrsRef": "IAS 32 HO opening leg" },
{ "debitGlCode": "1410", "creditGlCode": "2100", "ipsasRef": "IPSAS 28", "memo": "T-H24-BR", "ifrsRef": "IAS 32 branch opening leg" },
{ "debitGlCode": "2100", "creditGlCode": "2200", "ipsasRef": "IPSAS 28, 29", "memo": "T-M1M2", "ifrsRef": "IAS 32 M1 to M2" },
{ "debitGlCode": "2200", "creditGlCode": "2300", "ipsasRef": "IPSAS 28, 29", "memo": "T-M2M3", "ifrsRef": "IAS 32 token liability" },
{ "debitGlCode": "2200", "creditGlCode": "1000", "ipsasRef": "IPSAS 2, 28", "memo": "T-M2M4", "ifrsRef": "IFRS 7 SWIFT suspense" },
{ "debitGlCode": "2100", "creditGlCode": "1000", "ipsasRef": "IPSAS 2, 28", "memo": "T-M1M4", "ifrsRef": "IFRS 7 SWIFT suspense" },
{ "debitGlCode": "1000", "creditGlCode": "2200", "ipsasRef": "IPSAS 2, 28", "memo": "T-M4-IN", "ifrsRef": "IFRS 7 inbound SWIFT" },
{ "debitGlCode": "1410", "creditGlCode": "2100", "ipsasRef": "IPSAS 28, 29", "memo": "T-SBLC", "ifrsRef": "IFRS 9 trade finance" },
{ "debitGlCode": "1410", "creditGlCode": "1000", "ipsasRef": "IPSAS 2, 28", "memo": "T-DLC", "ifrsRef": "IFRS 9 documentary LC" },
{ "debitGlCode": "1410", "creditGlCode": "2100", "ipsasRef": "IPSAS 28, 29", "memo": "T-BG", "ifrsRef": "IFRS 9 bank guarantee" },
{ "debitGlCode": "1000", "creditGlCode": "2200", "ipsasRef": "IPSAS 2, 28", "memo": "T-LS", "ifrsRef": "IFRS 7 letter of settlement" },
{ "debitGlCode": "12020", "creditGlCode": "42100", "ipsasRef": "IPSAS 29", "memo": "FX-REVAL-GAIN", "ifrsRef": "IAS 21 revaluation" },
{ "debitGlCode": "52100", "creditGlCode": "12020", "ipsasRef": "IPSAS 29", "memo": "FX-REVAL-LOSS", "ifrsRef": "IAS 21 revaluation" },
{ "debitGlCode": "52100", "creditGlCode": "23010", "ipsasRef": "IPSAS 19", "memo": "IAS37-PROVISION", "ifrsRef": "IAS 37" },
{ "debitGlCode": "13010", "creditGlCode": "2000", "ipsasRef": "IPSAS 28", "memo": "SETTLE-NOSTRO", "ifrsRef": "IFRS 7 settlement" }
],
"compoundJournalEntries": [
{
"memo": "T-3FR-001",
"debitGlCodes": ["11040", "32200"],
"creditGlCodes": ["2000"],
"totalAmountUsd": 900000000000,
"ipsasRef": "IPSAS 3, 28, 29",
"ifrsRef": "IFRS 9, IFRS 13, IAS 32",
"usGaapRef": "ASC 820, ASC 860, ASC 606 excluded",
"narrative": "3FR M00 substance-only compound — replaces T-001"
},
{
"memo": "T-3FR-002",
"debitGlCodes": ["11040", "32200"],
"creditGlCodes": ["1000"],
"totalAmountUsd": 900000000000,
"ipsasRef": "IPSAS 28, 29",
"ifrsRef": "IFRS 9, IFRS 13",
"usGaapRef": "ASC 820, ASC 860",
"narrative": "Substance reclass after T-001 settlement receipt — full compliant path"
}
],
"monetaryLayerHints": {
"m0_reserve": { "primaryGlCodes": ["1050"], "ipsasNarrative": "Treasury / M0 reserve assets (IPSAS 28, 29)" },
"m1_liability": { "primaryGlCodes": ["2000", "2100"], "ipsasNarrative": "Financial liabilities — deposits (IPSAS 28, 29)" },
"m2_broad": { "primaryGlCodes": ["2200"], "ipsasNarrative": "Broad money / meta-fiat rail (IPSAS 28, 29)" },
"m3_token": { "primaryGlCodes": ["2300"], "ipsasNarrative": "On-chain token liabilities (IPSAS 28, 29)" },
"m4_near_money": { "primaryGlCodes": ["1000"], "ipsasNarrative": "Settlement suspense + in-flight SWIFT — not GL 1410 (IPSAS 2, 28)" },
"interoffice_receivable": { "primaryGlCodes": ["1410"], "ipsasNarrative": "Due from Head Office — branch asset (IPSAS 28)" },
"interoffice_payable": { "primaryGlCodes": ["2410"], "ipsasNarrative": "Due to branch — HO liability (IPSAS 28)" },
"m00_gru": { "primaryGlCodes": ["21010"], "ipsasNarrative": "GRU M00 base reserve (gold-referenced)" },
"settlement": { "primaryGlCodes": ["1000", "13010"], "ipsasNarrative": "Cash and cash equivalents (IPSAS 2)" },
"equity": { "primaryGlCodes": ["3000"], "ipsasNarrative": "Equity / control (IPSAS 1)" },
"fx_xau": { "primaryGlCodes": ["12010", "12020", "12090"], "ipsasNarrative": "FX and XAU reserves (IPSAS 29, IAS 21)" },
"provisions": { "primaryGlCodes": ["23010"], "ipsasNarrative": "Provisions (IPSAS 19, IAS 37)" }
}
}