pub struct MT942 {
pub field_20: Field20,
pub field_21: Option<Field21NoOption>,
pub field_25: Field25AccountIdentification,
pub field_28c: Field28C,
pub field_34f_debit_limit: Field34F,
pub field_34f_credit_limit: Option<Field34F>,
pub field_13d: Field13D,
pub statement_lines: Vec<MT942StatementLine>,
pub field_90d: Option<Field90D>,
pub field_90c: Option<Field90C>,
pub field_86: Option<Field86>,
}
Expand description
MT942: Interim Transaction Report
§Purpose
Used to report interim account information including real-time or intraday transaction details and balance updates. This message provides timely account information between regular statement periods for enhanced cash management and liquidity monitoring.
§Scope
This message is:
- Sent for real-time or intraday account reporting
- Used when immediate transaction visibility is required
- Applied for active cash management and treasury operations
- Essential for intraday liquidity management and position monitoring
- Part of real-time cash management and payment system integration
§Key Features
- Real-time Reporting: Immediate transaction and balance information
- Intraday Updates: Multiple reports possible within a single business day
- Balance Limits: Credit and debit limit information for account management
- Transaction Details: Individual transaction entries with real-time processing
- Summary Information: Debit and credit entry summaries for quick analysis
- Available Balance: Current available balance for immediate decision making
§Common Use Cases
- Intraday liquidity monitoring
- Real-time cash position management
- Payment system integration
- Overdraft and credit limit monitoring
- High-frequency trading account management
- Treasury operations requiring immediate visibility
- Risk management and exposure monitoring
- Automated cash sweeping and positioning
§Field Structure
- 20: Transaction Reference (mandatory) - Unique report reference
- 21: Related Reference (optional) - Reference to related period or statement
- 25: Account Identification (mandatory) - Account being reported
- 28C: Statement Number/Sequence (mandatory) - Report numbering
- 34F: Debit Floor Limit (mandatory) - Minimum debit amount for reporting
- 34F: Credit Ceiling Limit (optional) - Maximum credit limit information
- 13D: Date/Time Indication (mandatory) - Precise timing of report
- Statement Lines: Repetitive sequence of transaction details
- 90D: Number/Sum of Debit Entries (optional) - Debit transaction summary
- 90C: Number/Sum of Credit Entries (optional) - Credit transaction summary
- 86: Information to Account Owner (optional) - Additional transaction information
§Network Validation Rules
- Currency Consistency: All balance and limit fields must use consistent currency
- Entry Currency Consistency: Entry summaries must use same currency as balances
- Reference Format: Transaction references must follow SWIFT standards
- Required Fields: All mandatory fields must be present and properly formatted
- Real-time Constraints: Timing information must reflect current processing
§SRG2025 Status
- Structural Changes: None - MT942 format remains unchanged in SRG2025
- Validation Updates: Additional validation for real-time reporting accuracy
- Processing Improvements: Improved support for real-time banking platforms
- Compliance Notes: Enhanced support for modern payment system APIs
§Integration Considerations
- Banking Systems: Real-time integration with payment processing and account management systems
- Treasury Systems: Critical input for intraday liquidity management and cash positioning
- API Integration: Essential for modern real-time banking and payment system integration
- Risk Management: Key component for real-time exposure monitoring and limit management
§Relationship to Other Messages
- Triggered by: MT920 (Request Message) for real-time account information requests
- Complements: MT940 (daily statements) and MT941 (balance reports) with real-time updates
- Supports: Intraday liquidity management, payment processing, and real-time cash management
- Integrates with: Real-time payment systems, treasury platforms, and risk management systems
Fields§
§field_20: Field20
§field_21: Option<Field21NoOption>
§field_25: Field25AccountIdentification
§field_28c: Field28C
§field_34f_debit_limit: Field34F
§field_34f_credit_limit: Option<Field34F>
§field_13d: Field13D
§statement_lines: Vec<MT942StatementLine>
§field_90d: Option<Field90D>
§field_90c: Option<Field90C>
§field_86: Option<Field86>
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MT942
impl<'de> Deserialize<'de> for MT942
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 SwiftMessageBody for MT942
impl SwiftMessageBody for MT942
Source§fn message_type() -> &'static str
fn message_type() -> &'static str
Get the message type identifier (e.g., “103”, “202”)
Source§fn from_fields(
fields: HashMap<String, Vec<(String, usize)>>,
) -> SwiftResult<Self>
fn from_fields( fields: HashMap<String, Vec<(String, usize)>>, ) -> SwiftResult<Self>
Create from field map with sequential consumption tracking
Source§fn from_fields_with_config(
fields: HashMap<String, Vec<(String, usize)>>,
config: &ParserConfig,
) -> Result<ParseResult<Self>, ParseError>
fn from_fields_with_config( fields: HashMap<String, Vec<(String, usize)>>, config: &ParserConfig, ) -> Result<ParseResult<Self>, ParseError>
Create from field map with configuration for error collection
Source§fn to_ordered_fields(&self) -> Vec<(String, String)>
fn to_ordered_fields(&self) -> Vec<(String, String)>
Convert to ordered field list for MT serialization
Returns fields in the correct sequence order for multi-sequence messages
Source§fn required_fields() -> Vec<&'static str>
fn required_fields() -> Vec<&'static str>
Get required field tags for this message type
Source§fn optional_fields() -> Vec<&'static str>
fn optional_fields() -> Vec<&'static str>
Get optional field tags for this message type
impl StructuralPartialEq for MT942
Auto Trait Implementations§
impl Freeze for MT942
impl RefUnwindSafe for MT942
impl Send for MT942
impl Sync for MT942
impl Unpin for MT942
impl UnwindSafe for MT942
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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