swift_mt_message/fields/
field86.rs

1use serde::{Deserialize, Serialize};
2use swift_mt_message_macros::SwiftField;
3
4///   **Field 86: Information to Account Owner**
5///
6/// ## Purpose
7/// Provides additional information to the account owner regarding specific transactions
8/// or account activities. This field supplements transaction details in statement messages,
9/// offering extended explanations, references, and context that help account holders
10/// understand and reconcile their account activities.
11///
12/// ## Format Specification
13/// - **Swift Format**: `6*65x`
14/// - **Structure**: Up to 6 lines of 65 characters each
15/// - **Content**: Free-form narrative with transaction details
16/// - **Character Set**: SWIFT character set with extended line length
17///
18/// ## Business Context Applications
19/// - **Customer Statements**: Additional details in MT 940 Customer Statement
20/// - **Transaction Explanation**: Extended transaction descriptions
21/// - **Reference Information**: Additional references and codes
22/// - **Account Communication**: Important account-related communications
23///
24/// ## Network Validation Requirements
25/// - **Line Length**: Maximum 6 lines of 65 characters each
26/// - **Character Set**: Must use valid SWIFT character set
27/// - **Content Relevance**: Information should be relevant to account owner
28/// - **Format Compliance**: Proper line structure and formatting
29///
30/// ## Information Categories
31/// ### Transaction Details
32/// - **Extended Descriptions**: Detailed transaction explanations
33/// - **Reference Numbers**: Additional reference numbers and codes
34/// - **Counterparty Information**: Details about transaction counterparties
35/// - **Purpose Codes**: Transaction purpose and classification codes
36///
37/// ### Account Information
38/// - **Balance Explanations**: Explanations of balance changes
39/// - **Fee Descriptions**: Detailed fee and charge descriptions
40/// - **Service Information**: Account service notifications
41/// - **Regulatory Information**: Compliance-related information
42///
43/// ## Regional Considerations
44/// - **European Banking**: SEPA statement information requirements
45/// - **US Banking**: Federal and state banking information standards
46/// - **Asian Markets**: Local banking communication requirements
47/// - **Cross-Border**: International account information standards
48///
49/// ## Error Prevention Guidelines
50/// - **Relevance Check**: Ensure information is relevant to account owner
51/// - **Length Validation**: Confirm content fits within length limits
52/// - **Character Validation**: Verify all characters are SWIFT-valid
53/// - **Clarity Verification**: Ensure information is clear and understandable
54///
55/// ## Related Fields Integration
56/// - **Field 61**: Statement Line (related transaction details)
57/// - **Field 60/62**: Opening/Closing Balance (balance context)
58/// - **Field 20**: Transaction Reference (reference coordination)
59/// - **Field 25**: Account Identification (account context)
60///
61/// ## Compliance Framework
62/// - **Customer Communication**: Clear and transparent account communication
63/// - **Regulatory Requirements**: Meeting account information disclosure requirements
64/// - **Consumer Protection**: Adequate information for account holder protection
65/// - **Audit Documentation**: Complete account information documentation
66///
67/// ## See Also
68/// - Swift FIN User Handbook: Information to Account Owner Specifications
69/// - MT 940 Standards: Customer Statement Information
70/// - Banking Communication: Account Holder Information Standards
71/// - Customer Protection: Account Information Requirements
72
73#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, SwiftField)]
74pub struct Field86 {
75    /// Information narrative for account owner
76    ///
77    /// Format: 6*65x - Up to 6 lines of 65 characters each
78    /// Contains additional transaction and account information for account holder
79    /// Provides extended details beyond basic transaction information
80    #[component("6*65x")]
81    pub narrative: Vec<String>,
82}