pub struct MT107 {Show 18 fields
pub field_20: Field20,
pub field_23e: Option<Field23E>,
pub field_21e: Option<Field21>,
pub field_30: Field30,
pub field_51a: Option<GenericBicField>,
pub field_50a_instructing: Option<Field50>,
pub field_50a_creditor: Option<Field50>,
pub field_52a: Option<GenericBicField>,
pub field_26t: Option<Field26T>,
pub field_77b: Option<Field77B>,
pub field_71a: Option<Field71A>,
pub field_72: Option<Field72>,
pub transactions: Vec<MT107Transaction>,
pub field_32b: Option<GenericCurrencyAmountField>,
pub field_19: Option<GenericBalanceField>,
pub field_71f: Option<GenericCurrencyAmountField>,
pub field_71g: Option<GenericCurrencyAmountField>,
pub field_53a: Option<GenericBicField>,
}
Expand description
§MT107: Request for Cancellation/Amendment (Enhanced Architecture)
§Overview
MT107 is used by financial institutions to request cancellation or amendment of previously sent direct debit instructions. It supports batch processing of multiple transaction modifications with detailed settlement information.
This implementation uses the enhanced macro system with separate transaction structures for optimal type safety and validation.
§Structure
- Sequence A: General Information (mandatory, single occurrence)
- Sequence B: Transaction Details (mandatory, repetitive) - MT107Transaction struct
- Sequence C: Settlement Details (optional, single occurrence) - Individual fields
§Key Features
- Multiple transaction modification support in single message
- Flexible creditor/debtor identification
- Optional settlement consolidation
- Comprehensive regulatory reporting
- Charge allocation options
- Amendment and cancellation instructions
- Type-safe transaction handling
Fields§
§field_20: Field20
Sender’s Reference - Field 20 (Mandatory) Unique ID assigned by the sender to identify this MT107 message.
field_23e: Option<Field23E>
Instruction Code - Field 23E Seq A (Conditional) Values: AUTH, NAUT, OTHR, RTND (C1)
field_21e: Option<Field21>
Registration Reference - Field 21E (Conditional) Optional ID. Subject to C2/C3
field_30: Field30
Requested Execution Date - Field 30 (Mandatory) Format: YYMMDD
field_51a: Option<GenericBicField>
Sending Institution - Field 51A (Optional) FileAct only
field_50a_instructing: Option<Field50>
Instructing Party - Field 50a Seq A (Conditional) Options: C, L. Who orders debit. Subject to C2
field_50a_creditor: Option<Field50>
Creditor - Field 50a Seq A (Conditional) Options: A, K. Name & account details. Subject to C1/C3
field_52a: Option<GenericBicField>
Creditor’s Bank - Field 52a Seq A (Conditional) Options: A, C, D. Clearing/routing. Subject to C2
field_26t: Option<Field26T>
Transaction Type Code - Field 26T Seq A (Conditional) Purpose code. Subject to C2
field_77b: Option<Field77B>
Regulatory Reporting - Field 77B Seq A (Conditional) Statutory codes. Subject to C2
field_71a: Option<Field71A>
Details of Charges - Field 71A Seq A (Conditional) Values: BEN, OUR, SHA. Subject to C2
field_72: Option<Field72>
Sender to Receiver Information - Field 72 (Conditional) RTND required. Subject to C4
transactions: Vec<MT107Transaction>
Transaction Details - Sequence B (Mandatory, Repetitive) Each entry represents one transaction to be cancelled/amended
field_32b: Option<GenericCurrencyAmountField>
Settlement Amount - Field 32B Seq C (Optional) Final amount including charges
field_19: Option<GenericBalanceField>
Sum of Amounts - Field 19 (Conditional) If 32B not used. Subject to C8
field_71f: Option<GenericCurrencyAmountField>
Sum of Sender’s Charges - Field 71F Seq C (Conditional) Totals from B blocks. Subject to C5
field_71g: Option<GenericCurrencyAmountField>
Sum of Receiver’s Charges - Field 71G Seq C (Conditional) Totals from B blocks. Subject to C5
field_53a: Option<GenericBicField>
Sender’s Correspondent - Field 53a (Optional) Options: A, B. Reimbursement branch