Skip to main content

AccrualDefinition

Struct AccrualDefinition 

Source
pub struct AccrualDefinition {
Show 16 fields pub accrual_id: String, pub company_code: String, pub description: String, pub accrual_type: AccrualType, pub expense_revenue_account: String, pub accrual_account: String, pub calculation_method: AccrualCalculationMethod, pub fixed_amount: Option<Decimal>, pub percentage_rate: Option<Decimal>, pub base_account: Option<String>, pub frequency: AccrualFrequency, pub auto_reverse: bool, pub cost_center: Option<String>, pub is_active: bool, pub effective_from: NaiveDate, pub effective_to: Option<NaiveDate>,
}
Expand description

Accrual definition for recurring period-end entries.

Fields§

§accrual_id: String

Accrual ID.

§company_code: String

Company code.

§description: String

Description.

§accrual_type: AccrualType

Accrual type.

§expense_revenue_account: String

Expense/Revenue account to debit/credit.

§accrual_account: String

Accrual liability/asset account.

§calculation_method: AccrualCalculationMethod

Calculation method.

§fixed_amount: Option<Decimal>

Fixed amount (if applicable).

§percentage_rate: Option<Decimal>

Percentage rate (if applicable).

§base_account: Option<String>

Base account for percentage calculation.

§frequency: AccrualFrequency

Frequency.

§auto_reverse: bool

Auto-reverse on first day of next period.

§cost_center: Option<String>

Cost center.

§is_active: bool

Active flag.

§effective_from: NaiveDate

Start date.

§effective_to: Option<NaiveDate>

End date (if defined).

Implementations§

Source§

impl AccrualDefinition

Source

pub fn new( accrual_id: String, company_code: String, description: String, accrual_type: AccrualType, expense_revenue_account: String, accrual_account: String, ) -> Self

Creates a new accrual definition.

Source

pub fn with_fixed_amount(self, amount: Decimal) -> Self

Sets the fixed amount.

Source

pub fn with_percentage(self, rate: Decimal, base_account: &str) -> Self

Sets percentage-based calculation.

Source

pub fn is_effective_on(&self, date: NaiveDate) -> bool

Checks if the accrual is effective for a given date.

Trait Implementations§

Source§

impl Clone for AccrualDefinition

Source§

fn clone(&self) -> AccrualDefinition

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AccrualDefinition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V