pub struct UserHeader {Show 13 fields
pub service_identifier: Option<String>,
pub banking_priority: Option<String>,
pub message_user_reference: Option<String>,
pub validation_flag: Option<String>,
pub balance_checkpoint: Option<BalanceCheckpoint>,
pub message_input_reference: Option<MessageInputReference>,
pub related_reference: Option<String>,
pub service_type_identifier: Option<String>,
pub unique_end_to_end_reference: Option<String>,
pub addressee_information: Option<String>,
pub payment_release_information: Option<PaymentReleaseInfo>,
pub sanctions_screening_info: Option<SanctionsScreeningInfo>,
pub payment_controls_info: Option<PaymentControlsInfo>,
}
Expand description
User Header (Block 3): Extended Service Options and Controls
§Purpose
The User Header provides optional extended functionality for SWIFT messages, enabling advanced services, enhanced straight-through processing (STP), compliance controls, and end-to-end transaction tracking. This header has become increasingly important for regulatory compliance, particularly with SWIFT gpi tracking and enhanced payment transparency requirements.
§Format Specification
- Block Format:
{3:{tag:value}{tag:value}...}
- Tag Format: Numeric tags with structured values
- Nesting: Tags enclosed in curly braces
- Optional Block: Entire block 3 may be omitted
§Business Context Applications
- SWIFT gpi Tracking: End-to-end payment tracking via UETR
- STP Enhancement: Validation flags for automated processing
- Regulatory Compliance: Sanctions screening and payment controls
- Service Enhancement: Additional service options and features
§Critical Tags for Modern Payments
§Tag 121: Unique End-to-End Transaction Reference (UETR)
- Format: 36 characters UUID (8-4-4-4-12 format)
- Purpose: Global payment tracking across entire payment chain
- Mandatory: Required for SWIFT gpi participant banks
- Persistence: Must remain unchanged through payment lifecycle
§Tag 119: Validation Flag
- STP: Straight-Through Processing capability
- REMIT: Remittance information present
- COV: Cover payment indicator
- RFDD: Request for Direct Debit
§Service Identifiers
§Tag 103: Service Identifier
- Purpose: Identifies specific SWIFT services
- Values: Service-specific codes (e.g., “FIN”)
- Usage: Mainly for FIN Copy service
- Processing: Affects message routing and copying
§Tag 111: Service Type Identifier
- Format: 3 numeric digits
- Purpose: Sub-categorizes service types
- Common: “001” for standard processing
- Impact: May affect fee calculation
§Message Control and Reference
§Tag 108: Message User Reference (MUR)
- Format: Up to 16 characters
- Purpose: Sender’s unique reference
- Usage: Transaction tracking and reconciliation
- Uniqueness: Should be unique per sender
§Tag 113: Banking Priority
- Format: 4 characters
- Values: NORM, HIGH, URGP
- Purpose: Internal bank priority handling
- Note: Different from network priority
§Compliance and Screening Tags
§Tag 433: Sanctions Screening Information
- AOK: All OK - Passed screening
- FPO: False Positive Override
- NOK: Not OK - Requires review
- Additional: Optional 20 character details
§Tag 434: Payment Controls Information
- Format: 3-letter code + optional details
- Purpose: Payment control status
- Usage: Compliance and regulatory controls
- Processing: May trigger manual review
§FIN Copy Service Tags
§Tag 115: Addressee Information
- Format: Up to 32 characters
- Purpose: Third-party copy recipient
- Service: FIN Copy service only
- Delivery: Additional message copy sent
§Tag 165: Payment Release Information
- Format: 3-char code + optional 34 chars
- Service: FINInform service
- Purpose: Payment release notifications
- Usage: Corporate payment factories
§Message Recovery Tags (MIRS)
§Tag 106: Message Input Reference (MIR)
- Format: 28 characters structured
- Components: Date + LT + Session + Sequence
- Purpose: Original message reference
- Usage: Message recovery and reconciliation
§Tag 423: Balance Checkpoint
- Format: YYMMDDHHMMSS[ss]
- Purpose: Balance snapshot timing
- Service: MIRS recovery service
- Precision: Optional hundredths of second
§Tag 424: Related Reference
- Format: Up to 16 characters
- Purpose: Links related messages
- Usage: Message chains and corrections
- Service: MIRS functionality
§Network Validation Requirements
- Tag Compatibility: Some tags require specific services
- Value Validation: Each tag has specific format rules
- Service Subscription: Tags available per service agreement
- Mandatory Combinations: Some tags require others
§Regional and Regulatory Impact
- SWIFT gpi: Tag 121 mandatory for participants
- EU Regulations: Enhanced screening requirements
- US Compliance: Specific control requirements
- Local Rules: Additional regional tag usage
§STP Processing Impact
§Validation Flag Effects
- STP Flag: Enables full automation
- Format Restrictions: Stricter field validation
- Character Sets: Limited to STP-safe characters
- Processing Speed: Faster automated handling
§Error Prevention Guidelines
- UETR Format: Ensure valid UUID format
- Service Compatibility: Verify tag availability
- Value Formats: Follow exact specifications
- Mandatory Rules: Include required combinations
§Integration with Other Blocks
- Block 1: Service must match subscription
- Block 2: Message type affects available tags
- Block 4: Validation flags affect field rules
- Block 5: Some tags reflected in trailer
§Compliance Framework
- Regulatory Mandates: Screening and control requirements
- Audit Trail: Enhanced tracking via UETR
- Service Agreements: Tag usage per agreement
- Privacy Rules: Data handling requirements
§Best Practices
- UETR Generation: Use proper UUID libraries
- Reference Uniqueness: Ensure MUR uniqueness
- Screening Accuracy: Accurate screening codes
- Service Alignment: Use appropriate service tags
§Future Evolution
- ISO 20022 Alignment: Mapping considerations
- Enhanced Tracking: Additional tracking features
- Compliance Evolution: New regulatory tags
- Service Innovation: New service identifiers
§See Also
- SWIFT FIN User Handbook: Block 3 Tag Specifications
- SWIFT gpi Standards: UETR Implementation Guide
- STP Guidelines: Validation Flag Requirements
- Compliance Framework: Screening Tag Usage
Fields§
§service_identifier: Option<String>
Tag 103 - Service Identifier (3!a) - Mandatory for FINcopy Service
banking_priority: Option<String>
Tag 113 - Banking Priority (4!x) - Optional
message_user_reference: Option<String>
Tag 108 - Message User Reference (16!x) - Optional
validation_flag: Option<String>
Tag 119 - Validation Flag (8c) - Optional (STP, REMIT, RFDD, COV)
balance_checkpoint: Option<BalanceCheckpoint>
Tag 423 - Balance checkpoint date and time (YYMMDDHHMMSS[ss]) - Optional (MIRS only)
message_input_reference: Option<MessageInputReference>
Tag 106 - Message Input Reference MIR (28c) - Optional (MIRS only)
Tag 424 - Related reference (16x) - Optional (MIRS only)
service_type_identifier: Option<String>
Tag 111 - Service type identifier (3!n) - Optional
unique_end_to_end_reference: Option<String>
Tag 121 - Unique end-to-end transaction reference (UUID format) - Mandatory for GPI
addressee_information: Option<String>
Tag 115 - Addressee Information (32x) - Optional (FINCopy only)
payment_release_information: Option<PaymentReleaseInfo>
Tag 165 - Payment release information receiver (3!c/34x) - Optional (FINInform only)
sanctions_screening_info: Option<SanctionsScreeningInfo>
Tag 433 - Sanctions screening information (3!a/[20x]) - Optional
payment_controls_info: Option<PaymentControlsInfo>
Tag 434 - Payment controls information (3!a/[20x]) - Optional
Implementations§
Trait Implementations§
Source§impl Clone for UserHeader
impl Clone for UserHeader
Source§fn clone(&self) -> UserHeader
fn clone(&self) -> UserHeader
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more