pub struct NetMonetaryPositionGainLoss {
pub reporting_date: NaiveDate,
pub opening_net_monetary_position: Decimal,
pub closing_net_monetary_position: Decimal,
pub period_indexation_factor: Decimal,
pub gain_or_loss: Decimal,
pub currency: String,
}Expand description
IAS 29 § 27 net-monetary-position gain or loss for a period.
Monetary items (cash, receivables, payables) lose purchasing power as the general price level rises. The gain or loss is recognised in P&L for the period.
Fields§
§reporting_date: NaiveDateReporting period end.
opening_net_monetary_position: DecimalOpening net monetary position (monetary assets less monetary liabilities) at the start of the period, in the functional currency.
closing_net_monetary_position: DecimalClosing net monetary position at reporting_date.
period_indexation_factor: DecimalIndexation factor for the period =
index(reporting_date) / index(opening_date).
gain_or_loss: DecimalComputed gain or loss on the net monetary position. Sign convention: a loss (negative number) when the entity is a net holder of monetary assets in a rising-price environment (the typical case in hyperinflation). A gain (positive) arises when the entity is a net debtor — its monetary liabilities lose purchasing power.
currency: StringFunctional currency code.
Implementations§
Source§impl NetMonetaryPositionGainLoss
impl NetMonetaryPositionGainLoss
Sourcepub fn compute(
reporting_date: NaiveDate,
opening_net_monetary_position: Decimal,
closing_net_monetary_position: Decimal,
period_indexation_factor: Decimal,
currency: impl Into<String>,
) -> Self
pub fn compute( reporting_date: NaiveDate, opening_net_monetary_position: Decimal, closing_net_monetary_position: Decimal, period_indexation_factor: Decimal, currency: impl Into<String>, ) -> Self
Compute the IAS 29 § 27 gain/loss using the simplified opening-balance restatement approach:
gain_or_loss = closing_net_monetary − (opening_net_monetary × factor)
A more rigorous calculation would index every monetary transaction during the period — that’s out of scope for v5.2’s model layer; the wiring layer can refine the input aggregation later.
Trait Implementations§
Source§impl Clone for NetMonetaryPositionGainLoss
impl Clone for NetMonetaryPositionGainLoss
Source§fn clone(&self) -> NetMonetaryPositionGainLoss
fn clone(&self) -> NetMonetaryPositionGainLoss
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more