pub struct PensionObligation {
pub plan_id: String,
pub period: String,
pub dbo_opening: Decimal,
pub service_cost: Decimal,
pub interest_cost: Decimal,
pub actuarial_gains_losses: Decimal,
pub benefits_paid: Decimal,
pub dbo_closing: Decimal,
}Expand description
Defined Benefit Obligation (DBO) roll-forward for one reporting period.
Reconciles opening to closing DBO per IAS 19.140 / ASC 715-20-50.
Fields§
§plan_id: StringReference to the parent DefinedBenefitPlan.id.
period: StringPeriod label (e.g. “2024-01” or “FY2024”).
dbo_opening: DecimalDBO at start of period.
service_cost: DecimalCurrent service cost — present value of benefits earned by employees during the current period.
interest_cost: DecimalInterest cost — unwinding of the discount on the obligation
(dbo_opening × discount_rate).
actuarial_gains_losses: DecimalActuarial gains (negative) or losses (positive) arising from changes in assumptions or experience adjustments.
benefits_paid: DecimalBenefits paid to retirees during the period (reduces DBO).
dbo_closing: DecimalDBO at end of period.
Identity: dbo_opening + service_cost + interest_cost + actuarial_gains_losses − benefits_paid
Trait Implementations§
Source§impl Clone for PensionObligation
impl Clone for PensionObligation
Source§fn clone(&self) -> PensionObligation
fn clone(&self) -> PensionObligation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PensionObligation
impl Debug for PensionObligation
Source§impl<'de> Deserialize<'de> for PensionObligation
impl<'de> Deserialize<'de> for PensionObligation
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PensionObligation
impl RefUnwindSafe for PensionObligation
impl Send for PensionObligation
impl Sync for PensionObligation
impl Unpin for PensionObligation
impl UnsafeUnpin for PensionObligation
impl UnwindSafe for PensionObligation
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
Mutably borrows from an owned value. Read more