Field54A

Struct Field54A 

Source
pub struct Field54A {
    pub party_identifier: Option<String>,
    pub bic: String,
}
Expand description

Field 54: Receiver’s Correspondent

§Purpose

Specifies the branch of the Receiver or financial institution where funds will be made available in correspondent banking arrangements. This field defines the receiving end of the correspondent relationship, indicating where funds become available to the Receiver or through which institution final settlement occurs. Essential for completion of correspondent banking settlement chains.

§Format Options Overview

  • Option A: BIC with optional party identifier - structured receiver correspondent identification
  • Option B: Party identifier with location - domestic receiver correspondent routing
  • Option D: Party identifier with name/address - detailed receiver correspondent information

§Business Context Applications

  • Fund Availability: Defines where funds become available to the Receiver
  • Settlement Completion: Final link in correspondent banking settlement chain
  • Branch Specification: Identifies specific Receiver branch for fund availability
  • Intermediary Institution: Non-Receiver institution providing fund availability

§Usage Rules and Conditions

  • Conditional Presence: Required based on Rule C4 correspondent banking logic
  • Receiver Branch: Can specify Receiver’s branch for fund availability
  • Intermediary Usage: May reference institution other than Receiver
  • Reimbursement Claims: Defines reimbursement path when used with Receiver branch

§Network Validation Requirements

  • BIC Registration: All BIC codes must be registered financial institutions
  • Institution Validity: Referenced institutions must be operational and reachable
  • Service Capability: Institutions must provide correspondent services
  • Currency Support: Must support transaction currency and settlement

§Correspondent Banking Integration

  • Field 53A Coordination: Works with Sender’s Correspondent for complete settlement path
  • Field 55A Usage: Triggers Field 55A when funds available through different institution
  • Direct Relationships: Enables direct settlement when Receiver branch specified
  • Cover Message Avoidance: Proper usage can eliminate need for cover messages

§Regional Considerations

  • European Networks: TARGET2 correspondent arrangements and Euro settlement
  • US Systems: Fedwire correspondent relationships and USD clearing
  • Asian Markets: Regional correspondent networks and local currency settlement
  • Cross-Border: Multi-currency correspondent arrangements and final settlement

§Error Prevention Guidelines

  • Relationship Verification: Confirm correspondent relationships are active
  • Institution Validation: Verify referenced institutions can provide services
  • Currency Checking: Ensure institution supports transaction currency
  • Chain Validation: Verify complete correspondent chain is operational
  • Field 53A: Sender’s Correspondent (settlement chain coordination)
  • Field 55A: Third Reimbursement Institution (complex routing scenarios)
  • Field 57A: Account With Institution (final beneficiary bank)
  • Field 32A: Value Date, Currency, Amount (settlement details)

§STP Processing Benefits

  • Automated Settlement: System-driven correspondent settlement routing
  • Chain Optimization: Efficient correspondent banking chain processing
  • Exception Reduction: Proper correspondent identification reduces delays
  • Straight-Through Processing: Enhanced STP through structured correspondent data

§See Also

  • Swift FIN User Handbook: Receiver’s Correspondent Specifications

  • Correspondent Banking Guidelines: Settlement Chain Management

  • Cross-Border Payments: Correspondent Banking Settlement

  • Risk Management: Correspondent Banking Risk Assessment

    Field 54A: Receiver’s Correspondent (BIC with Party Identifier)

Structured receiver correspondent identification using BIC code with optional party identifier. Preferred option for automated correspondent banking processing on the receiving end.

Fields§

§party_identifier: Option<String>

Optional party identifier for correspondent account reference

Format: [/1!a][/34x] - Single character code + up to 34 character identifier
Used for vostro account identification and receiver correspondent routing

§bic: String

Bank Identifier Code of the receiver’s correspondent

Format: 4!a2!a2!c[3!c] - 8 or 11 character BIC code Must be registered financial institution BIC

Trait Implementations§

Source§

impl Clone for Field54A

Source§

fn clone(&self) -> Field54A

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Field54A

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Field54A

Source§

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 PartialEq for Field54A

Source§

fn eq(&self, other: &Field54A) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Field54A

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl SwiftField for Field54A

Source§

fn parse(value: &str) -> Result<Self>

Parse field value from string representation
Source§

fn to_swift_string(&self) -> String

Convert field back to SWIFT string format
Source§

fn format_spec() -> &'static str

Get field format specification
Source§

fn parse_with_variant( value: &str, _variant: Option<&str>, _field_tag: Option<&str>, ) -> Result<Self>
where Self: Sized,

Parse field value with variant hint for enum fields Default implementation falls back to regular parse
Source§

fn valid_variants() -> Option<Vec<&'static str>>

Get valid variant letters for enum fields Returns None for non-enum fields, Some(vec) for enum fields
Source§

impl StructuralPartialEq for Field54A

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Fake for T

Source§

fn fake<U>(&self) -> U
where Self: FakeBase<U>,

Source§

fn fake_with_rng<U, R>(&self, rng: &mut R) -> U
where R: Rng + ?Sized, Self: FakeBase<U>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,