Skip to main content

ChartOfAccountsGenerator

Struct ChartOfAccountsGenerator 

Source
pub struct ChartOfAccountsGenerator { /* private fields */ }
Expand description

Generator for Chart of Accounts.

Implementations§

Source§

impl ChartOfAccountsGenerator

Source

pub fn new( complexity: CoAComplexity, industry: IndustrySector, seed: u64, ) -> Self

Create a new CoA generator.

Source

pub fn with_french_pcg(self, use_pcg: bool) -> Self

Use French GAAP (Plan Comptable Général) account structure.

Deprecated: use with_coa_framework(CoAFramework::FrenchPcg) instead.

Source

pub fn with_expand_industry_subaccounts(self, expand: bool) -> Self

v5.7.0 — toggle industry-pack sub-account expansion.

When enabled, canonical accounts that have an entry in the industry’s pack (e.g. 4000 Product Revenue for manufacturing) become non-postable control accounts and 2–6 6-digit sub-accounts are added per parent. Default: off.

Source

pub fn with_coa_framework(self, framework: CoAFramework) -> Self

Set the accounting framework for CoA generation.

Source

pub fn generate(&mut self) -> ChartOfAccounts

Generate a complete chart of accounts.

Source

pub fn apply_coa_semantic_prior( coa: &mut ChartOfAccounts, prior: &CoaSemanticPrior, ) -> usize

SP4.2 — Post-process a generated CoA with corpus semantic content.

For each GLAccount in coa whose account_number appears in the prior, overwrite:

  • short_description and long_description with the real description
  • account_class / account_class_name with the prior’s values (when non-empty)
  • account_sub_class / account_sub_class_name with the prior’s values

Account numbers not in the prior are left unchanged so the structural consistency expected by downstream generators is preserved.

Returns the number of accounts enriched.

Trait Implementations§

Source§

impl Generator for ChartOfAccountsGenerator

Source§

type Item = ChartOfAccounts

The type of items this generator produces.
Source§

type Config = (CoAComplexity, IndustrySector)

The configuration type for this generator.
Source§

fn new(config: Self::Config, seed: u64) -> Self

Initialize the generator with configuration and seed. Read more
Source§

fn generate_one(&mut self) -> Self::Item

Generate a single item.
Source§

fn reset(&mut self)

Reset the generator to initial state (same seed). Read more
Source§

fn count(&self) -> u64

Get the current generation count.
Source§

fn seed(&self) -> u64

Get the seed used by this generator.
Source§

fn generate_batch(&mut self, count: usize) -> Vec<Self::Item>

Generate a batch of items. Read more
Source§

fn generate_iter(&mut self, count: usize) -> GeneratorIterator<'_, Self>
where Self: Sized,

Generate items into an iterator. 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more