ODG-PASS ISO 20022
Gateway · Operations Desk

For banks · gateway

ISO 20022 without rewriting the core banking system

The ODG-PASS gateway operates inside the bank’s contour, on the bank’s equipment, on top of the core. Inbound customer instructions (standard pain.001 or legacy requisites) are structured into compliant pain.001.001.09. Outbound pacs.008 and cover pacs.009 COV are emitted in full to SWIFT Alliance and NBG Montran ATS. The core banking system is not rewritten.

See the picture Request a pilot
🌐 Global Contour (BIS / SWIFT CBPR+) 🇬🇪 Georgia & SEPA Contour (NBG Montran ATS) ⚙️ Connection Parameters Matrix

Two gaps where the problem lives

The move to ISO 20022 creates two difficulties for the bank — and they sit in different places.

Inside the bank

The core is ready. The intake channels are not.

The core banking system already works with the new standard, or is moving there. The systems that bring payments from clients — online banking, file dumps from accounting, older interfaces — still form data in the MT format.

They cannot be rewritten at the same time as the core: separate systems, separate vendors, separate budgets, separate calendars. Payments still go out every day. One part of the bank speaks the new language, the other the old, and someone has to translate without losing data.

Outside the bank

Some correspondents still take only MT

Structured data the bank assembled correctly must be folded into four lines of thirty-five characters. Part of it does not fit. After send it cannot be restored — it is simply gone.

Investigations, document requests, and returns with no clear reason grow from that gap.

🌐 International Banking Contour · SWIFT & BIS CPMI

Universal Semantic Overlay for Any Bank in the World

The Bank for International Settlements (BIS) Committee on Payments and Market Infrastructures (CPMI) Report 230 establishes the global harmonised ISO 20022 payments chain (Graph 1). ODG-PASS sits directly at the critical junction between client payment origination (CGI-MP) and international settlement (CBPR+ / HVPS+), solving the data translation deficit On-Premise without touching the bank’s core accounting system.

End-to-end Cross-Border ISO 20022 Payments Chain (CPMI Graph 1) SWIFT Deadline: 12 June 2027
1. CGI-MP
Customer to Bank
pain.001 Customer Credit
pain.002 Payment Status
Corporate client or retail sender initiates payment via ERP or online banking. Structured addresses and purpose codes.
★ ODG-PASS OVERLAY
Sending Bank & Desk
pain.001.001.09 Intake
pacs.008 FI Credit
pacs.009 COV Cover
On-Premise gateway: CIF matching, purpose code verification, structured pairs validation, officer console, host outbox. Core stays untouched.
2. CBPR+ / HVPS+
SWIFT & RTGS
pacs.008 Clearing
camt.053 Statement
camt.054 Advices
Cross-border interbank routing via SWIFT Alliance or central bank high-value clearing (RTGS/CSM). Single UETR traceability.
3. Settlement
Receiving Bank & Payee
pacs.002 Status ACK
camt.054 Credit Advice
Crediting beneficiary account without truncation, full remittance data intact, automated straight-through reconciliation.
$5M – $30M
Capital Expenditure Saved
Rewriting a bank core system requires multi-million investments and 2–4 years. ODG-PASS deploys in 2 weeks.
12 June 2027
SWIFT Coexistence Mandate
SWIFT extended the MT/MX transition window due to global bank unreadiness. ODG-PASS provides full readiness today.
100% On-Premise
Sovereign Bank Contour
Air-gap or local server deployment. No external cloud dependence. Compliant with Bank of Russia, GCC, and EU data laws.
🇬🇪 Georgian & SEPA Banking Contour · NBG Montran ATS RTGS, TBC BIS v1 & BOG XS2A

Semantic Overlay for Georgian & Regional Banks: NBG Montran ATS, SEPA & SWIFT CBPR+

With the National Bank of Georgia’s full transition of the Automated Transfer System (Montran ATS RTGS) to ISO 20022 in May 2026 and the 14 November 2026 SWIFT structured address mandate, corporate payment channels (1C Georgia, Balance BDO, flat REST/SOAP APIs such as BSC Gemini G6) still submit unstructured strings. ODG-PASS deploys as an On-Premise semantic overlay, preserving the core banking system intact while ensuring 100% structured compliance and 4-Ledger Officer Reconciliation.

The 6 Systemic Breaks Eliminated by ODG-PASS
  • 1C / Balance BDO ↔ Bank API: Raw corporate exports are parsed and structured into clean pain.001.001.09 before hitting the bank gateway.
  • Flat Address Strings ↔ PMPG Nov 2026 Mandate: Decomposes single-line beneficiaryAddress into 9 discrete PostalAddress24 tags (StrtNm, BldgNb, BldgNm, Flr, Room, PstCd, TwnNm, TwnLctnNm, Ctry).
  • Georgian Mkhedruli ↔ SWIFT Latin X: Deterministic Decree No. 109 / ICAO transliteration without apostrophes or forbidden characters.
  • RS.ge State Treasury & 3rd-Party Tax: Isolates 9-digit Treasury budget codes (101001000) into <Cdtr><Id><OrgId> and third-party taxpayers into <UltmtDbtr>.
  • Statement (camt.053) ↔ Fee (camt.105) Stitching: Verifies OPBD + Cr − Db = CLBD and auto-binds .1 / parentExternalPaymentId wire fees to the parent payment.
  • 4-Ledger Officer Reconciliation Room: Dedicated officer ledgers for (1) Clean Passed, (2) In-Bank Hold, (3) Correspondent Inquiries/Returns, and (4) Separate Fee Accounting.
Architecture in the Bank Contour

ODG-PASS installs inside the bank perimeter (Linux x86_64 / Docker / Windows Server) without external cloud dependencies. Core banking balances and account ledgers stay untouched.

Accountant Client Terminal: Clean Accountant Mode (no XML tags), Payment & Fee Journal Room, and printable white bank receipts (pain.002).
Dual-Process Core: local-core (:18080) structure validation + odpasd (:8080) officer shift console and 4 reconciliation ledgers.
Multi-Rail Emission: NBG Montran ATS RTGS (GEL), SEPA Credit Transfer (EUR), and SWIFT CBPR+ (pacs.008 / pacs.009 COV).
Architectural Lock · The Three Registers Principle

The Three Registers: Strict Isolation of Purpose, Tax IDs (TXID), and Clean Remittance

Naïve converters dump tax numbers, budget codes, and free-text descriptions into a single unstructured field, causing correspondent filters to halt or reject the payment. ODG-PASS enforces strict Three Registers isolation:

Register 1 · Purpose & Category

366 ISO Purpose & 49 CategoryPurpose

Strictly placed in <Purp><Cd> and <PmtTpInf><CtgyPurp><Cd> using official 4-letter ISO 20022 codes (GDDS, SALA, TAXS, SUPP).

Register 2 · Party & Treasury ID

Tax ID (ს/კ · TXID) & RS.ge Budget Code

9-digit entity Tax IDs (ს/კ), 11-digit personal IDs, and 9-digit RS.ge Treasury codes (101001000) are isolated in <OrgId><Othr><Id> (TXID) and <UltmtDbtr>.

Register 3 · Remittance & Invoices

Clean Contract & Invoice Narrative

Commercial invoice dates, contract numbers, and specifications for the beneficiary are formatted into <RmtInf><Ustrd> up to 140 characters without truncation.

Technical Reference · Bank IT Connector

Connection Parameters Matrix: Global SWIFT CBPR+ vs. Georgia & SEPA Contour

Detailed technical specification of listening ports, protocols, message schemas, and integration points for On-Premise bank deployment:

Layer / Channel Global Contour (SWIFT / BIS d230) Georgia & SEPA Contour (Montran ATS / TBC / BOG) Protocol, Port & Security
Client Intake (DBO / ERP) Single & Batch origination pain.001.001.09 / CGI-MP Direct XML ingestion or multi-tx batch registry (HTTP 207) 1C / Balance BDO / TBC BIS v1 / BOG XS2A PMPG 2026 address placer, RS.ge 9n code, printable pain.002 HTTPS / OAuth 2.0 · Port :8085 / :8443 Bearer Token / Idempotency-Key
Structure Validation Engine Deterministic ISO rulepack local-core ISO Head 45 CBPR+ rules, IBAN Release 103 (89 countries), BTC 2025 local-core + Georgian National Library 366 Purpose + 49 CtgyPurp, 98 BICs, Decree 109 Latin X HTTP IPC Loopback · Port :18080 Internal loopback only (127.0.0.1)
Officer Shift Runtime Shift desks & 4 Ledgers odpasd Officer Console Client Intake, Inward Nostro, Release, SHA-256 journal odpasd + 4 Reconciliation Ledgers Room Clean Passed, In-Bank Hold, Correspondent Inquiry, Fee Ledger HTTP / WebView2 · Port :8080 Role PIN / Constant-time auth
Core Banking Interface Balance & ledger postings Host Outbox / MQ / Webhook Debit confirmation, camt.054 advice ingestion BSC Gemini G6 / SOAP mygemini & BIS v1 REST Live sync with test-api.tbcbank.ge & api.bog.ge XS2A REST / SOAP WS-Security Core banking system remains untouched
Network Emission & Rails Outward settlement pacs.008.001.08 + pacs.009 COV SWIFT Alliance Access / Lite2 / AutoClient, ACK {451:0} Multi-Rail: NBG Montran ATS + SEPA + SWIFT Domestic GEL RTGS, EUR SEPA Credit Transfer & USD/EUR SWIFT host-outbox/ & client-outbox/ Or MQ / AutoClient file interface
Treasury & Nostro Statements Liquidity & Fee Stitching camt.053 / camt.054 / camt.105 OPBD + Cr − Db = CLBD equation check & CLAV / Overdraft Multi-Ntry & Sandbox Movements Auto-links .1 / parentExternalPaymentId fees (GEL & USD) to parent payment Internal Ledger Module Auto-matching via UETR & EndToEndId

This bank’s contour — customer intake to SWIFT

The gateway operates inside this bank. It receives customer instructions, structures them into pain.001.001.09, and presents verification findings to the operations desk. Once the officer confirms structure, this bank emits clean pacs.008 and cover pacs.009 COV directly to SWIFT on the channels the bank already has. The core accounting system is not rewritten.

Library and rules, not a generative model.

Gateway in this bank’s contour: customer intake, human decision on the operations desk, verified pain.001.001.09, and emission of pacs.008 / pacs.009 COV to SWIFT Alliance — without rewriting core banking systems.

Sender
Before the payment goes to the bank
  1. The sender fills the paymentAmount, parties, IBAN, BIC, town and country as mandatory field pairs, purpose narrative.
  2. Terminal checks structureLibrary and rules. Which field. What to do. 🟢🟡🔴 is guidance — not a bank block.
  3. Structured data to this bankDelivered as pain.001 file or posted through bank API keys.
  4. Bank returns statusThe bank issues pain.002 status report (ACSP / ACSC). Debit and execution stay at this bank.
Bank
Inside this bank’s contour, before release
  1. Message enters this installFrom this bank’s client terminal, or legacy customer requisites — structured immediately into pain.001.
  2. Operations deskFrozen pain.001 as received. Working copy in pain.001.001.09. CIF profile check and trna purpose matching. A proposal from the library; a person confirms.
  3. This bank emits pacs.008Clean pacs.008 and cover pacs.009 COV are built with network UETR. If a legacy correspondent still takes MT, losses are shown before send.
  4. On the wire, then the receiverThis bank emits files directly to SWIFT Alliance, receives network ACK {451:0}, and archives in the immutable journal.

Together. The sender closes what they can see before send. Operations closes what the sender cannot. Clean pacs.008 on the wire. Format translation in the bank contour — not two products competing on SWIFT.

Where the gateway sits

The gateway is installed in the bank’s contour, on the bank’s equipment, on top of the core banking system.

The core is not rewritten. The gateway is a layer between intake channels and the outbound flow to the network: unpack, check, assemble.

Data does not leave the bank’s contour. Processing is local. Interaction with the network uses the channels the bank already has connected.

What the gateway does with inbound flow

What the gateway does with outbound flow

Emits pacs.008 and cover pacs.009 COV in full. Every verified and structured element is packaged with network AppHdr and UETR for direct transmission to SWIFT Alliance. Nothing is dropped.

Prepares MT for correspondents that have not moved — and shows the losses

When structured data is folded into MT, part of it does not fit. That usually happens in silence: the message leaves, the data disappears, and the bank learns from a correspondent query or a return.

The gateway shows the loss list before send: what did not fit, from which field, by how much. Operations sees it and decides — send as is, fix, or ask for clarification. The list is written to the decision trail. A month later it is possible to see what left truncated and who accepted that.

Purpose codes

The sender describes the purpose in their own words. The network requires a code. The correspondent requires a code. Matching description to code is done by hand, and differently by different people.

The gateway reads the description, proposes a code from the ISO 20022 classification, and shows the grounds — why this one. Operations confirms or picks another. Both the original words and the structured code stay in the message. One does not replace the other.

Operations desk

A finding comes with grounds, not only as an error

Operations does not parse XML line by line. The screen shows what needs a decision, and why. Applying a proposal is a human action: Accept structure proposal.

The original message stays unchanged

The inbound message is frozen and stored as received. Work is done on a working copy. The difference is an explicit list of changes — not a visual compare.

A person decides

For each finding, operations chooses: accept the proposal, correct it, request documents from the sender, or reject. While blocking findings are open, release is not possible — a system limit, not staff discipline.

Flow tape

Transactions sit on a tape with state marks: waiting, in review, ready to release, approaching cut-off.

Decision trail and operations journal

For each payment a full history is kept:

That gives the bank three things. An answer to a correspondent query a month later — assembled from the trail, not from memory. Material for internal control and audit — every decision dated and grounded. A way to reconstruct an incident — not only what happened, but why that decision was taken under the rules then in force.

Assistant for unstructured data

A local assistant is built into the gateway for one job: unpacking unstructured data — mainly addresses, where no formal rule exists.

Rules by jurisdiction

Payment requirements differ by country and change over time. Standard releases come yearly; regulators issue amendments; effective dates move.

The gateway core does not contain the rules of a particular jurisdiction. Rules arrive as packs: each pack has a version, an effective date, a source, and an owner. When a requirement changes, the pack is updated — not the program. The bank sees which pack version applied to each payment.

Install and pilot

Scope of the solution

Does

Prepares and checks messages. Structures customer instructions into pain.001.001.09. Forms outbound pacs.008 and pacs.009 COV in full to SWIFT Alliance. Shows MT losses before release when communicating with legacy correspondents. Records the immutable decision trail. Runs the officer queue.

Does not

Does not replace the bank’s compliance: sanctions lists, anti-money-laundering, customer identification, and regulator reporting stay with the bank and its systems. ODG-PASS does not take those functions on. Does not execute payments — posting, accounts, and settlement stay with the bank. Does not change delivery speed: route and correspondents do. It removes delays caused by data quality — manual unpack, document requests, returns. Does not give legal opinions.

What the bank gets

The move to the new standard stops being a choice between rewriting every system at once and working with losses.

Inbound flow from older channels is unpacked and completed. Outbound is formed in full. Where it cannot be made full, the bank knows that before send — not after a return. Every decision is recorded and grounded. Rules update without a program change. The core banking system stays untouched.

ODG-PASS Gateway — Sovereign ISO 20022 & SWIFT CBPR+ Structure Engine.
[email protected] · [email protected] · +968 79690973 (Telegram, WhatsApp)