Expand description
§SWIFT MT Message Fields
§Purpose
Comprehensive field definitions for all SWIFT MT message types, providing type-safe parsing, validation, and serialization for individual message fields.
§Field Architecture
Each field module provides:
- Type-Safe Structures: Strongly-typed field definitions with validation
- Format Compliance: SWIFT User Handbook format specification adherence
- Variant Support: Complex enum fields with multiple format options (e.g., Field50: A/F/K)
- JSON Serialization: Clean JSON output without enum wrapper layers
§Field Categories
- Reference Fields: Transaction references, message references (Field 20, 21)
- Amount Fields: Currencies, amounts, exchange rates (Field 32, 33, 36)
- Party Fields: Customer and institution identification (Field 50-59)
- Date/Time Fields: Value dates, execution dates (Field 30, 32A)
- Instruction Fields: Processing instructions and codes (Field 23, 71)
- Information Fields: Remittance and additional information (Field 70, 72)
§Field Format Support
All fields support SWIFT format specifications:
n: Numeric characters (0-9)a: Alphabetic characters (A-Z, a-z)c: Capital letters (A-Z)x: Any character except spacesh: Hexadecimal characters (0-9, A-F)d: Decimal numbers with precision
§Usage Example
use swift_mt_message::fields::{Field20, Field32A, Field50OrderingCustomerAFK, Field59};
use swift_mt_message::SwiftField;
// Parse simple field
let field_20 = Field20::parse("TXN123456")?;
// Parse complex amount field
let field_32a = Field32A::parse("240315USD1000,00")?;
// Parse enum field with variant
let field_50 = Field50OrderingCustomerAFK::parse_with_variant("JOHN DOE\n123 MAIN ST", Some("K"), Some("50"))?;Re-exports§
pub use field11::*;pub use field12::*;pub use field13::*;pub use field19::*;pub use field20::*;pub use field21::*;pub use field23::*;pub use field25::*;pub use field26::*;pub use field28::*;pub use field30::*;pub use field32::*;pub use field33::*;pub use field34::*;pub use field36::*;pub use field37::*;pub use field50::*;pub use field51::*;pub use field52::*;pub use field53::*;pub use field54::*;pub use field55::*;pub use field56::*;pub use field57::*;pub use field58::*;pub use field59::*;pub use field60::*;pub use field61::*;pub use field62::*;pub use field64::*;pub use field65::*;pub use field70::*;pub use field71::*;pub use field72::*;pub use field75::*;pub use field76::*;pub use field77::*;pub use field79::*;pub use field86::*;pub use field90::*;
Modules§
- field11
- Field 11: MT Reference
- field12
- Field 12: Sub Message Type
- field13
- Field 13: Time/Date Indication
- field19
- Field 19: Sum of Amounts
- field20
- field21
- field23
- field25
- field26
- field28
- field30
- field32
- Field 32: Value Date, Currency Code, Amount
- field33
- field34
- field36
- field37
- field50
- Field 50: Ordering Customer
- field51
- field52
- field53
- field54
- field55
- field56
- field57
- field58
- field59
- field60
- field61
- field62
- field64
- field65
- field70
- field71
- field72
- field75
- field76
- field77
- field79
- field86
- field90
- Field 90: Number & Sum