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
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>
279 lines
12 KiB
JSON
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)" }
|
|
}
|
|
}
|