Standalone interbank reimbursement product handling the lifecycle from authorization (MT740) through claim verification (MT742), payment (MT756), and closure. Separate from the ILC product; driven by incoming SWIFT messages from the issuing bank.
The Letter of Credit Reimbursement (LCR) product manages the reimbursement lifecycle between an issuing bank and a reimbursing bank. Unlike the ILC product (which originates from the applicant side), LCR is driven by incoming SWIFT messages from the issuing bank — primarily MT740 Authorization to Reimburse — and progresses through authorization, amendment, acknowledgment, claim verification, refusal, payment, and closure.
amount (authorized), utilizedAmount (claimed), outstandingAmount (remaining drawable), and availableAmount (authorized − utilized − outstanding).ReimbursementEventStatus flows: AUTHORIZED → AMEND / ACKNOWLEDGED → CLAIMED → PAID / REFUSED → CLOSED.
flowchart TD
RAUTH["1 · RAUTH
Authorization (MT740 in)"]
RM[("Reimbursement Master
created from the MT740
status: AUTHORIZED")]
RAMD["2 · RAMD
Amendment (MT747 in)"]
RACK["3 · RACK
Acknowledgment (MT799 / MT730 out)"]
RCLMV["4 · RCLMV
Claim Verification (MT742 in)"]
RRFS["5 · RRFS
Claim Refusal (MT744 in / out)"]
RPAY["6 · RPAY
Payment Advice (MT756 / MT202 out)"]
RCLS["7 · RCLS
Closure (MT799 out)"]
RAUTH -->|"creates"| RM
RM -->|"amend"| RAMD
RAMD -->|"amended"| RM
RM --> RACK
RM -->|"claim"| RCLMV
RCLMV -->|"clean claim"| RPAY
RCLMV -->|"discrepant"| RRFS
RRFS -->|"re-claim"| RCLMV
RPAY -->|"fully paid / expired"| RCLS
RCLS -->|"closed"| RM
classDef startNode fill:#0b1d3a,color:#fff,stroke:#1e6fba,stroke-width:2px
classDef masterNode fill:#1e6fba,color:#fff,stroke:#0b1d3a,stroke-width:2px
classDef eventIn fill:#1a5a2a,color:#fff,stroke:#2a7f2a,stroke-width:2px
classDef eventManual fill:#4a4a4a,color:#fff,stroke:#777,stroke-width:2px
classDef eventOut fill:#5a3a00,color:#fff,stroke:#6a4c00,stroke-width:2px
class RAUTH startNode
class RM masterNode
class RAMD,RCLMV,RRFS eventIn
class RACK,RCLS eventManual
class RPAY eventOut
Every event below is pre-configured in the product's event setup and drives which screens, queues, and messages are offered to operations staff. All events use the standard Create/Update/Approval/Cancellation policy quartet via createStandardPolicies().
| Order | Event | Business stage | Inbound | Outbound | Status |
|---|---|---|---|---|---|
| 1 | RAUTH | Entry point — record authorization & create the master | MT740 | MT747, MT799 | Active |
| 2 | RAMD | Amend authorization terms | MT747 | MT747, MT799 | Active |
| 3 | RACK | Acknowledge receipt of auth | — | MT799, MT730 | Active |
| 4 | RCLMV | Verify presenting bank claim | MT742 | MT756, MT799 | Active |
| 5 | RRFS | Refuse non-conforming claim | MT744 | MT744, MT799 | Active |
| 6 | RPAY | Send payment advice & cover | — | MT756, MT202 | Active |
| 7 | RCLS | Close reimbursement record | — | MT799 | Active |
All events use 4-queue maker–checker (Input → Update → Approval → Cancellation). Mandatory SWIFT messages must be generated on the Swift tab before final approval.
Operations staff experienced with one stage will recognize every other stage — the mechanics differ only in the data captured. Three mechanisms apply throughout:
When a form is saved it enters the INPUT queue. Submitting advances the record through its configured queue sequence; a decline sends it back one queue with the reasons recorded. The final approval queue performs all release actions at once — postings, charges, electronic messages, and stage-specific effects on the ReimbursementMaster.
Each event is configured with the tabs it needs. Visible tabs must be complete before submit: every posting and charge line needs an account number, and any mandatory SWIFT message must be generated and saved. Completion is shown with colour badges on the tabs.
Everything the stage sections describe as per event configuration is defined once, up front, on the Product Configuration screen. One Product record owns the reimbursement setup (product code RIB): identity fields and the Reimbursement Configuration block on Main Details, plus seven setup tabs that feed the queues, charges, SWIFT messages, checklists and postings each event uses. The reimbursement block appears when the product type is LCR.
app.settlement.claim.iban-required (default true; env var APP_SETTLEMENT_CLAIM_IBAN_REQUIRED) — when true, claim settlement validation requires both debit and credit IBANs to resolve to existing accounts.| Configuration | What it controls | Where it takes effect |
|---|---|---|
| Main Details — Reimbursement Configuration | ||
| Reimbursement Pre-Debit Notice Days | Notice horizon before debiting the issuing bank | Pre-debit date on claim verification / settlement |
| Reim Rejection Waiting Period (Days) | Waiting window after a refused claim | Refusal follow-up timing (screen toggle) |
| Allow Lien On Issuing Bank Account | Lien permission over the issuing bank account | Settlement-side control (screen toggle) |
| Vostro Balance Check | Check vostro cover before paying | Settlement-side control (screen toggle) |
| Event Setup (per event: RAUTH, RAMD, RACK, RCLMV, RRFS, RPAY, RCLS) | ||
| Queues | Input → Update → Approval → Cancellation sequence | Workflow engine |
| Release Tabs | Which of Posting / Charges / Swift / Advice / Settlement are visible | Form tabs |
| SWIFT Messages | Outbound message types, mandatory/optional flags | Swift tab generation |
| Charges | Charge codes, who pays (applicant/beneficiary), charge accounts | Charges tab |
| Postings | Accounting leg templates (DR/CR accounts, narration) | Posting tab |
| Checklists | Field-level validation rules, mandatory items | Form validation |
| Rules & Charges | ||
| Charge codes & rates | Commission, amendment, cable, handling fees | Charges tab; auto-calc on amount |
| Tolerance validation | Plus/minus bounds, override rules | RAUTH / RAMD validation |
| Date rules | Expiry forward-only; claim date ≤ authorization expiry | RAMD / RCLMV validation |
| Accounting Model | ||
| Authorization posting template | DR Liability / CR Nostro (or Issuing Bank) | RAUTH approval |
| Drawdown posting template | DR Nostro / CR Liability | RCLMV approval |
| Settlement posting template | DR Nostro / CR Issuing Bank | RPAY approval |
| Charge posting template | DR Issuing Bank / CR Income (per charge code) | Charge reconciliation |