pub struct MT190 {
pub field_20: Field20,
pub field_21: Field21NoOption,
pub field_25: Field25AccountIdentification,
pub field_32: Field32,
pub field_52: Option<Field52OrderingInstitution>,
pub field_71b: Field71B,
pub field_72: Option<Field72>,
}
Expand description
MT190: Advice of Charges, Interest and Other Adjustments
§Purpose
Used to advise charges, interest and other adjustments that have been debited or credited to an account. This message provides detailed information about adjustments made to accounts, enabling proper reconciliation and transparency of fees, interest, and other financial adjustments.
§Scope
This message is:
- Sent by the account servicing institution to the account holder
- Used to advise charges, interest calculations, and account adjustments
- Applied to various types of adjustments including fees, interest, and corrections
- Essential for account reconciliation and financial transparency
- Part of the comprehensive account management and reporting process
§Key Features
- Adjustment Notification: Official notification of account adjustments
- Detailed Charges: Comprehensive breakdown of charges and fees
- Interest Information: Details of interest calculations and postings
- Reference Tracking: Links to related transactions or periods
- Account Identification: Clear identification of the affected account
- Flexible Amount Fields: Supports both debit and credit adjustments
§Common Use Cases
- Periodic interest posting notifications
- Bank fee and charge advisories
- Account maintenance charge notifications
- Overdraft interest calculations
- Investment management fee notifications
- Foreign exchange adjustment advisories
- Error corrections and adjustments
- Service charge notifications
§Message Structure
- Field 20: Transaction Reference Number (mandatory) - Unique reference for this advice
- Field 21: Related Reference (mandatory) - Reference to related transaction or period
- Field 25: Account Identification (mandatory) - Account being adjusted
- Field 32a: Value Date, Currency Code, Amount (mandatory) - Adjustment details (C or D)
- Field 52a: Ordering Institution (optional) - Institution initiating adjustment (A or D)
- Field 71B: Details of Charges (mandatory) - Detailed breakdown of charges/adjustments
- Field 72: Sender to Receiver Information (optional) - Additional information
§Network Validation Rules
- Reference Format: Transaction references must follow SWIFT standards
- Amount Validation: Adjustment amounts must be properly formatted
- Account Validation: Account identification must be valid and properly formatted
- Charge Details: Field 71B must contain meaningful adjustment information
- Currency Validation: Currency codes must be valid ISO 4217 codes
§Processing Context
§Adjustment Processing Workflow
- Adjustment calculation or determination
- Account posting (debit or credit)
- MT190 sent to advise adjustment
- Account holder updates records
§Account Management
- Periodic adjustment processing
- Fee calculation and posting
- Interest computation
- Account reconciliation support
§SRG2025 Status
- No Structural Changes: MT190 format remains stable
- Enhanced Processing: Improved integration with digital banking
- Validation Updates: Enhanced validation rules for better accuracy
- Real-time Capability: Support for immediate adjustment notifications
§Integration Considerations
- Banking Systems: Direct integration with core banking systems
- Account Management: Part of comprehensive account servicing
- Reconciliation: Essential for automated reconciliation processes
- Reporting: Key component of account reporting and statements
§Relationship to Other Messages
- Related to: MT900/910 for transaction confirmations
- Complements: MT940/950 statement messages
- Supports: Account reconciliation and management processes
- Alternative: MT290 for cancellation of adjustments
Fields§
§field_20: Field20
§field_21: Field21NoOption
§field_25: Field25AccountIdentification
§field_32: Field32
§field_52: Option<Field52OrderingInstitution>
§field_71b: Field71B
§field_72: Option<Field72>
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MT190
impl<'de> Deserialize<'de> for MT190
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 MT190
impl SwiftMessageBody for MT190
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 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 MT190
Auto Trait Implementations§
impl Freeze for MT190
impl RefUnwindSafe for MT190
impl Send for MT190
impl Sync for MT190
impl Unpin for MT190
impl UnwindSafe for MT190
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