pub struct CguConfig {
pub cgus: Vec<CguDefinitionEntry>,
pub goodwill_allocations: Vec<CguGoodwillAllocationEntry>,
}Expand description
v5.2 — IAS 36 § 10 cash-generating-unit (CGU) plan.
Engagement-static CGU configuration: defines the CGUs the engagement will test for annual goodwill impairment + the goodwill amounts allocated to each CGU at the original acquisition date (IAS 36 § 80). Per-period test inputs (fair value less costs of disposal, value in use) live elsewhere — outside the manifest layer this PR ships.
Empty by default: an engagement without configured CGUs simply
skips the impairment test phase and emits no
consolidated/cgu_impairment_tests.json artefact. This preserves
backwards compatibility byte-for-byte for v5.0–v5.1 archives.
Fields§
§cgus: Vec<CguDefinitionEntry>CGU definitions. IDs must be unique within the engagement;
each CGU’s member_entity_codes must reference entities that
exist in ownership.entities. Validation happens in
crate::manifest::cgu_plan::build_cgu_plan.
goodwill_allocations: Vec<CguGoodwillAllocationEntry>Goodwill allocations (one per (CGU, business combination) pair).
Amounts are non-negative; bargain purchases produce no
goodwill and therefore no allocation row. Each entry’s
cgu_id must reference an entry in cgus; the
business_combination_id is loosely validated (BC files live
per-shard so cross-validation is deferred to the aggregate
phase).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for CguConfig
impl<'de> Deserialize<'de> for CguConfig
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>,
impl Eq for CguConfig
impl StructuralPartialEq for CguConfig
Auto Trait Implementations§
impl Freeze for CguConfig
impl RefUnwindSafe for CguConfig
impl Send for CguConfig
impl Sync for CguConfig
impl Unpin for CguConfig
impl UnsafeUnpin for CguConfig
impl UnwindSafe for CguConfig
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.