pub enum Field59 {
A(Field59A),
F(Field59F),
NoOption(Field59NoOption),
}
Expand description
Field 59: Beneficiary Customer
§Purpose
Identifies the ultimate beneficiary of the payment instruction. The beneficiary customer is the final recipient of the funds being transferred. Different options provide various levels of detail and identification methods to accommodate different business scenarios.
§Options Overview
- Option A: Account + BIC identification (structured, STP-preferred)
- Option F: Party identifier + name/address (detailed identification)
- No Option: Account + name/address (flexible format)
§STP Compliance Requirements
- STP Preferred: Option A with valid BIC and account information
- STP Compatible: No option with complete account and address details
- Manual Processing: Incomplete or incorrectly formatted beneficiary information
§Network Validation Rules
- Account Validation: Account numbers must conform to domestic standards when provided
- BIC Validation: BIC codes must be valid and reachable when specified
- Name Validation: Beneficiary name must not match sanctions screening lists
- Address Completeness: Sufficient address detail for regulatory compliance
§Regional Considerations
- SEPA: IBAN mandatory for EUR payments within SEPA zone
- US: Fedwire and ACH routing information may be required
- UK: Sort code and account number validation for GBP payments
- Emerging Markets: Enhanced beneficiary documentation may be required
§Anti-Money Laundering (AML) Requirements
- Customer Due Diligence: Beneficiary information must support KYC requirements
- Sanctions Screening: Real-time screening against global watchlists
- Regulatory Reporting: Some jurisdictions require detailed beneficiary reporting
- Record Keeping: Beneficiary details retained for compliance periods
§Examples by Option
// Option A: BIC-based (STP preferred)
:59A:/GB82WEST12345698765432
MIDLGB22XXX
// Option F: Party identifier with details
:59F:/GB82WEST12345698765432
1/ACME CORPORATION LIMITED
2/123 BUSINESS STREET
3/LONDON EC1A 1BB
4/UNITED KINGDOM
// No option: Flexible format
:59:/GB82WEST12345698765432
JOHN SMITH
456 RESIDENTIAL AVENUE
MANCHESTER M1 1AA
UNITED KINGDOM
§Related Fields
- Field 57a: Account With Institution (beneficiary’s bank)
- Field 70: Remittance Information (payment purpose/reference)
- Field 77T: Structured Remittance Information (REMIT messages)
- Field 72: Sender to Receiver Information (additional beneficiary details)
§Error Prevention Guidelines
- Complete Information: Provide full name, address, and account details
- Accurate BICs: Verify BIC codes before transmission
- Consistent Formatting: Follow domestic account number standards
- Sanctions Compliance: Screen against current sanctions lists
§See Also
- Swift FIN User Handbook: Beneficiary Customer Specifications
- FATF Guidelines: Customer Due Diligence Requirements
- Regional Payment Guides: Country-specific beneficiary requirements
- AML/CFT Compliance: Beneficiary Screening Best Practices
Variants§
A(Field59A)
Option A: BIC-based identification with optional account Preferred for STP processing with structured bank identification
F(Field59F)
Option F: Party identifier with detailed name and address Used when enhanced beneficiary identification is required
NoOption(Field59NoOption)
No option: Account and name/address in flexible format Most common option providing balance of structure and flexibility
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Field59
impl<'de> Deserialize<'de> for Field59
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl SwiftField for Field59
impl SwiftField for Field59
Source§fn parse_with_variant(
value: &str,
variant: Option<&str>,
field_tag: Option<&str>,
) -> Result<Self>
fn parse_with_variant( value: &str, variant: Option<&str>, field_tag: Option<&str>, ) -> Result<Self>
Parse field value with variant hint for enum fields
Default implementation falls back to regular parse
Source§fn to_swift_string(&self) -> String
fn to_swift_string(&self) -> String
Convert field back to SWIFT string format
Source§fn format_spec() -> &'static str
fn format_spec() -> &'static str
Get field format specification
impl StructuralPartialEq for Field59
Auto Trait Implementations§
impl Freeze for Field59
impl RefUnwindSafe for Field59
impl Send for Field59
impl Sync for Field59
impl Unpin for Field59
impl UnwindSafe for Field59
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more