pub struct EquityMethodInvestment {Show 14 fields
pub investee_code: String,
pub investor_entity_code: String,
pub ownership_percent: Decimal,
pub opening_carrying_value: Decimal,
pub opening_suppressed_loss: Decimal,
pub share_of_profit: Decimal,
pub share_of_profit_recognised: Decimal,
pub dividends_received: Decimal,
pub impairment: Decimal,
pub suppressed_loss_this_period: Decimal,
pub closing_suppressed_loss: Decimal,
pub closing_carrying_value: Decimal,
pub period_end: NaiveDate,
pub currency: String,
}Expand description
One equity-method investment’s rollforward record for the period.
closing_carrying_value = opening + share_of_profit_recognised - dividends_received - impairment
per IAS 28.10–11 / ASC 323-10-35, clamped at zero per IAS 28.38.
When the rollforward would push the carrying value below zero, the
investor discontinues recognising further losses; the unrecognised
amount is tracked as suppressed_loss_this_period and accumulated
in closing_suppressed_loss for use against future profits.
Fields§
§investee_code: StringCode of the investee (associate or joint venture).
investor_entity_code: StringCode of the investor entity (the parent who holds the investment). Carried explicitly so the consolidated note disclosure can attribute the investment without re-walking the manifest.
ownership_percent: DecimalInvestor’s ownership share of the investee, in (0, 1).
opening_carrying_value: DecimalCarrying amount of the investment brought forward from the prior period (zero on the first period of an engagement).
opening_suppressed_loss: DecimalCumulative losses suppressed (not recognised in profit or loss) brought forward from prior periods per IAS 28.38. Zero on the first period of an engagement. v5.1+: applied against current period profits before any further share is recognised.
Investor’s “natural” share of the investee’s period net
income = ownership_percent * investee_net_income (IAS 28.10),
before any clawback against opening suppressed losses.
Amount of share_of_profit actually recognised in profit or
loss this period. Equals share_of_profit when there is no
opening suppressed loss; otherwise reduced by the portion
applied against the opening cumulative suppressed loss
(IAS 28.38 second paragraph).
dividends_received: DecimalDistributions (dividends) received from the investee =
ownership_percent * investee_dividends_paid. Reduces the
carrying amount.
impairment: DecimalImpairment loss recognised this period (IAS 28.40 / IAS 36). Caller supplies the amount; v5.0 has no auto-impairment. Always non-negative.
suppressed_loss_this_period: DecimalLoss not recognised this period because the rollforward would have pushed the carrying value below zero (IAS 28.38). Always non-negative. Zero when the carrying value rollforward stays at or above zero.
closing_suppressed_loss: DecimalCumulative suppressed losses carried forward to next period =
(opening_suppressed_loss − recovered) + suppressed_loss_this_period,
where recovered is the portion of opening suppressed losses
applied against current-period share of profit. Used as next
period’s opening_suppressed_loss.
closing_carrying_value: DecimalClosing carrying value =
opening + share_of_profit_recognised - dividends_received - impairment,
rounded to 2dp and clamped at zero (IAS 28.38).
period_end: NaiveDatePeriod end date the rollforward is as of.
currency: StringGroup presentation currency.
Trait Implementations§
Source§impl Clone for EquityMethodInvestment
impl Clone for EquityMethodInvestment
Source§fn clone(&self) -> EquityMethodInvestment
fn clone(&self) -> EquityMethodInvestment
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EquityMethodInvestment
impl Debug for EquityMethodInvestment
Source§impl<'de> Deserialize<'de> for EquityMethodInvestment
impl<'de> Deserialize<'de> for EquityMethodInvestment
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>,
Source§impl PartialEq for EquityMethodInvestment
impl PartialEq for EquityMethodInvestment
Source§fn eq(&self, other: &EquityMethodInvestment) -> bool
fn eq(&self, other: &EquityMethodInvestment) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for EquityMethodInvestment
impl Serialize for EquityMethodInvestment
impl StructuralPartialEq for EquityMethodInvestment
Auto Trait Implementations§
impl Freeze for EquityMethodInvestment
impl RefUnwindSafe for EquityMethodInvestment
impl Send for EquityMethodInvestment
impl Sync for EquityMethodInvestment
impl Unpin for EquityMethodInvestment
impl UnsafeUnpin for EquityMethodInvestment
impl UnwindSafe for EquityMethodInvestment
Blanket Implementations§
impl<T> Allocation for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.