swift_mt_message/fields/
field72.rs

1use serde::{Deserialize, Serialize};
2use swift_mt_message_macros::SwiftField;
3
4///   **Field 72: Sender to Receiver Information**
5///
6/// ## Purpose
7/// Specifies additional information for the Receiver or other specified party in
8/// financial messages. This field provides structured communication between financial
9/// institutions, enabling additional instructions, clarifications, and institutional
10/// coordination that supplements the main transaction details.
11///
12/// ## Format Specification
13/// - **Swift Format**: `6*35x`
14/// - **Structure**: Up to 6 lines of 35 characters each
15/// - **Content**: Structured narrative format with specific codes
16/// - **Line Format**: `/8c/[additional information]` (Code)(Narrative)
17///
18/// ## Business Context Applications
19/// - **Institutional Communication**: Additional instructions between banks
20/// - **Processing Instructions**: Specific handling requirements
21/// - **Regulatory Information**: Compliance-related communications
22/// - **Operational Coordination**: Coordination between correspondent banks
23///
24/// ## Network Validation Requirements
25/// - **Line Structure**: Each code must be between slashes at line beginning
26/// - **Continuation**: Continuation text starts with '//'  
27/// - **Prohibited Codes**: /REJT/ and /RETN/ codes not allowed (Error T81)
28/// - **ERI Exclusion**: Must not include ERI (Error T82)
29/// - **Character Set**: Must use valid SWIFT character set
30///
31/// ## Structured Code Requirements
32/// ### Mandatory Code Format
33/// - **Line 1**: `/8c/[additional information]` - Code followed by narrative
34/// - **Lines 2-6**: Continuation with '//' or new codes
35/// - **Code Uniqueness**: Each code should appear only once
36/// - **Format Compliance**: Exact adherence to code structure required
37///
38/// ### Primary Code: INS (Instructing Institution)
39/// - **Purpose**: Identifies instructing institution
40/// - **Format**: /INS/[BIC code]
41/// - **Validation**: Must be followed by valid BIC
42/// - **Uniqueness**: Must be unique within message
43/// - **Usage**: Critical for institutional identification
44///
45/// ## Regional Considerations
46/// - **European Networks**: SEPA and TARGET2 institutional communications
47/// - **US Systems**: Federal Reserve and commercial bank coordination
48/// - **Asian Markets**: Regional institutional communication requirements
49/// - **Cross-Border**: International institutional coordination
50///
51/// ## Error Prevention Guidelines
52/// - **Code Validation**: Verify all codes are properly formatted
53/// - **BIC Verification**: Confirm BIC codes are valid and registered
54/// - **Continuation Format**: Ensure continuation lines use '//' prefix
55/// - **Prohibited Content**: Avoid prohibited codes and content
56///
57/// ## Related Fields Integration
58/// - **Field 53A**: Sender's Correspondent (institutional relationships)
59/// - **Field 54A**: Receiver's Correspondent (receiving institutions)
60/// - **Field 70**: Remittance Information (payment details)
61/// - **Field 77A**: Narrative (extended narrative information)
62///
63/// ## Compliance Framework
64/// - **Regulatory Communication**: Institutional regulatory information exchange
65/// - **Audit Documentation**: Complete institutional communication trail
66/// - **Risk Management**: Institutional risk communication
67/// - **Operational Compliance**: Processing instruction compliance
68///
69/// ## See Also
70/// - Swift FIN User Handbook: Sender to Receiver Information Specifications
71/// - Institutional Communication: Banking Institution Coordination
72/// - Processing Instructions: Financial Institution Guidelines
73/// - Regulatory Communication: Banking Regulatory Requirements
74
75#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, SwiftField)]
76pub struct Field72 {
77    /// Sender to receiver information
78    ///
79    /// Format: 6*35x - Up to 6 lines of 35 characters each
80    /// Contains structured institutional communications with codes and narrative
81    /// Line 1: /8c/[additional information], subsequent lines: continuation or new codes
82    #[component("6*35x")]
83    pub information: Vec<String>,
84}