swift_mt_message/fields/
field32a.rs

1use chrono::NaiveDate;
2use serde::{Deserialize, Serialize};
3use swift_mt_message_macros::SwiftField;
4
5/// Field 32A: Value Date, Currency Code, Amount
6///
7/// Core transaction field with value date, currency, and amount.
8#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, SwiftField)]
9pub struct Field32A {
10    /// Value date (YYMMDD)
11    #[component("6!n", validate = ["date_format", "valid_date_range"])]
12    pub value_date: Option<NaiveDate>,
13    /// Currency code (ISO 4217)
14    #[component("3!a", validate = ["currency_code"])]
15    pub currency: String,
16    /// Amount
17    #[component("15d", validate = ["amount_format", "positive_amount"])]
18    pub amount: f64,
19}