pub struct FrameworkSettings {
pub framework: AccountingFramework,
pub use_lifo_inventory: bool,
pub capitalize_development_costs: bool,
pub use_ppe_revaluation: bool,
pub allow_impairment_reversal: bool,
pub lease_term_threshold: f64,
pub lease_pv_threshold: f64,
pub default_incremental_borrowing_rate: f64,
pub variable_consideration_constraint: f64,
}Expand description
Framework-specific settings that control accounting treatment options.
These settings allow fine-grained control over framework-specific accounting policies within the selected framework.
Fields§
§framework: AccountingFrameworkThe primary accounting framework.
use_lifo_inventory: boolWhether to use LIFO inventory costing (US GAAP only).
Default: false (use FIFO/weighted average)
capitalize_development_costs: boolWhether to capitalize development costs (IFRS requirement, US GAAP option).
Under IFRS, development costs must be capitalized when criteria are met. Under US GAAP, most development costs are expensed.
use_ppe_revaluation: boolWhether to use revaluation model for PPE (IFRS option).
Under IFRS, entities can choose between cost model and revaluation model. Under US GAAP, revaluation above cost is not permitted.
allow_impairment_reversal: boolWhether to reverse impairment losses when conditions improve (IFRS option).
Under IFRS, impairment losses (except for goodwill) can be reversed. Under US GAAP, impairment losses generally cannot be reversed.
lease_term_threshold: f64Threshold percentage for lease term test (US GAAP: 75%).
A lease is classified as finance/capital if the lease term is >= this percentage of the asset’s economic life.
lease_pv_threshold: f64Threshold percentage for present value test (US GAAP: 90%).
A lease is classified as finance/capital if the present value of lease payments is >= this percentage of the asset’s fair value.
default_incremental_borrowing_rate: f64Default incremental borrowing rate for lease calculations.
variable_consideration_constraint: f64Revenue recognition constraint for variable consideration.
Under both frameworks, variable consideration is constrained to the amount that is highly probable (IFRS) or probable (US GAAP) not to result in a significant revenue reversal.
Implementations§
Source§impl FrameworkSettings
impl FrameworkSettings
Sourcepub fn dual_reporting() -> Self
pub fn dual_reporting() -> Self
Create settings for dual reporting.
Sourcepub fn french_gaap() -> Self
pub fn french_gaap() -> Self
Create settings for French GAAP (Plan Comptable Général).
Sourcepub fn german_gaap() -> Self
pub fn german_gaap() -> Self
Create settings for German GAAP (Handelsgesetzbuch — HGB).
Sourcepub fn validate(&self) -> Result<(), FrameworkValidationError>
pub fn validate(&self) -> Result<(), FrameworkValidationError>
Validate settings are consistent with the selected framework.
Trait Implementations§
Source§impl Clone for FrameworkSettings
impl Clone for FrameworkSettings
Source§fn clone(&self) -> FrameworkSettings
fn clone(&self) -> FrameworkSettings
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 FrameworkSettings
impl Debug for FrameworkSettings
Source§impl Default for FrameworkSettings
impl Default for FrameworkSettings
Source§impl<'de> Deserialize<'de> for FrameworkSettings
impl<'de> Deserialize<'de> for FrameworkSettings
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>,
Auto Trait Implementations§
impl Freeze for FrameworkSettings
impl RefUnwindSafe for FrameworkSettings
impl Send for FrameworkSettings
impl Sync for FrameworkSettings
impl Unpin for FrameworkSettings
impl UnsafeUnpin for FrameworkSettings
impl UnwindSafe for FrameworkSettings
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
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<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.