Struct Field70

Source
pub struct Field70 {
    pub narrative: Vec<String>,
}
Expand description

Field 70: Remittance Information

§Purpose

Specifies details of individual transactions or references to other messages containing details to be transmitted to the beneficiary customer. This field carries payment-related information that helps the beneficiary identify the purpose of the payment, reconcile accounts, and process the transaction appropriately. Critical for STP processing and beneficiary transaction identification.

§Format Specification

  • Swift Format: 4*35x
  • Structure: Up to 4 lines of 35 characters each
  • Content: Narrative format with structured codes and references
  • Character Set: SWIFT character set (A-Z, 0-9, space, and limited special characters)

§Business Context Applications

  • Payment Instructions: MT 103 STP and customer credit transfers
  • Beneficiary Information: Details for payment recipient identification
  • Invoice References: Commercial payment references and invoice details
  • Trade Finance: Documentary credit and trade transaction references

§Network Validation Requirements

  • Length Restrictions: Maximum 4 lines of 35 characters each
  • Character Set: Must use valid SWIFT character set
  • Format Compliance: Structured codes must follow specified formats
  • Reference Validation: Invoice and payment references must be properly formatted
  • STP Requirements: ISO 11649 Creditor Reference must appear alone on first line for STP

§Structured Content Codes

§Payment References

  • INV: Invoice reference followed by date, reference, and details
  • IPI: International Payment Instruction (up to 20 characters)
  • RFB: Reference for Beneficiary (up to 16 characters)
  • ROC: Reference of Customer
  • TSU: Trade Services Utility transaction reference

§Format Examples

:70:/INV/20231215/INV-12345/Payment for goods
:70:/RFB/PAY-REF-789456
:70:/ROC/Customer order 123456
:70:PAYMENT FOR SERVICES RENDERED

§STP Processing Requirements

§ISO 11649 Creditor Reference

  • Format: RF followed by 2 check digits and up to 21 alphanumeric characters
  • Position: Must appear alone on first line for STP processing
  • Validation: Check digit validation required
  • Usage: Automated reconciliation and payment processing

§Multiple References

  • Separation: Multiple references separated by double slash ‘//’
  • Line Management: Each line maximum 35 characters
  • Continuation: Long references can span multiple lines
  • Priority: Most important reference should appear first

§Regional Considerations

  • European Payments: SEPA remittance information requirements
  • US Payments: ACH and wire transfer reference standards
  • Asian Markets: Local payment reference requirements
  • Cross-Border: International payment reference coordination

§Clearing System Requirements

  • Length Checking: Sender must verify length restrictions with receiver
  • Format Validation: Structured codes must be properly formatted
  • Character Validation: All characters must be SWIFT-valid
  • Reference Uniqueness: References should be unique for reconciliation

§Error Prevention Guidelines

  • Length Validation: Confirm total length does not exceed limits
  • Character Checking: Verify all characters are SWIFT-valid
  • Reference Format: Ensure structured references follow correct format
  • Beneficiary Clarity: Ensure information is clear for beneficiary
  • Field 59: Beneficiary Customer (recipient of remittance information)
  • Field 72: Sender to Receiver Information (additional instructions)
  • Field 77A: Narrative (extended narrative information)
  • Field 50: Ordering Customer (originator context)

§Compliance Framework

  • Regulatory Requirements: Payment reference reporting requirements
  • AML Compliance: Transaction purpose identification for AML screening
  • Customer Protection: Clear payment purpose communication
  • Audit Trail: Complete payment reference documentation

§Trade Finance Applications

  • Documentary Credits: Letter of credit references
  • Trade Settlements: Commercial invoice and shipping references
  • Supply Chain: Purchase order and delivery references
  • International Trade: Import/export documentation references

§See Also

  • Swift FIN User Handbook: Remittance Information Specifications
  • ISO 11649: Creditor Reference Standard
  • Payment Reference Standards: International Payment References
  • STP Guidelines: Straight Through Processing Requirements

Fields§

§narrative: Vec<String>

Remittance information narrative

Format: 4*35x - Up to 4 lines of 35 characters each Contains payment details, references, and instructions for beneficiary May include structured codes (INV, IPI, RFB, ROC, TSU) and ISO 11649 references

Trait Implementations§

Source§

impl Clone for Field70

Source§

fn clone(&self) -> Field70

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 Field70

Source§

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

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

impl<'de> Deserialize<'de> for Field70

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 Field70

Source§

fn eq(&self, other: &Field70) -> 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 Field70

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 Field70

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 Field70

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> 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>,