pub struct DocumentFlowJeGenerator {
pub loaded_priors: Option<Arc<LoadedPriors>>,
/* private fields */
}Expand description
Generator for creating JEs from document flows.
Fields§
§loaded_priors: Option<Arc<LoadedPriors>>SP3.12 — when Some, pads fixed-shape JEs with balancing pair-lines
so the lines-per-JE distribution matches the corpus prior.
Set by the orchestrator from the same LoadedPriors used by
JournalEntryGenerator. No-op when None.
Implementations§
Source§impl DocumentFlowJeGenerator
impl DocumentFlowJeGenerator
Sourcepub fn with_config_and_seed(config: DocumentFlowJeConfig, seed: u64) -> Self
pub fn with_config_and_seed(config: DocumentFlowJeConfig, seed: u64) -> Self
Create with custom account configuration and seed.
Sourcepub fn set_loaded_priors(&mut self, priors: Arc<LoadedPriors>)
pub fn set_loaded_priors(&mut self, priors: Arc<LoadedPriors>)
SP3.12 — Wire industry priors so that fixed-shape document-flow JEs are padded with balancing pair-lines to match the real lines-per-JE prior.
Sourcepub fn set_auxiliary_account_lookup(&mut self, lookup: HashMap<String, String>)
pub fn set_auxiliary_account_lookup(&mut self, lookup: HashMap<String, String>)
Set the auxiliary account lookup map (partner_id → auxiliary GL account).
When populated, FEC auxiliary_account_number fields will use the
framework-specific auxiliary GL account (e.g., PCG “4010001”) instead
of the raw partner ID.
Sourcepub fn set_cost_center_pool(&mut self, ids: Vec<String>)
pub fn set_cost_center_pool(&mut self, ids: Vec<String>)
Set the cost-center pool (master-data IDs). See
JeGenerator::with_cost_center_pool for semantics.
Sourcepub fn set_profit_center_pool(&mut self, ids: Vec<String>)
pub fn set_profit_center_pool(&mut self, ids: Vec<String>)
Set the profit-center pool (master-data IDs).
Sourcepub fn generate_from_p2p_chain(
&mut self,
chain: &P2PDocumentChain,
) -> Vec<JournalEntry>
pub fn generate_from_p2p_chain( &mut self, chain: &P2PDocumentChain, ) -> Vec<JournalEntry>
Generate all JEs from a P2P document chain.
Sourcepub fn generate_from_o2c_chain(
&mut self,
chain: &O2CDocumentChain,
) -> Vec<JournalEntry>
pub fn generate_from_o2c_chain( &mut self, chain: &O2CDocumentChain, ) -> Vec<JournalEntry>
Generate all JEs from an O2C document chain.
Sourcepub fn generate_from_goods_receipt(
&mut self,
gr: &GoodsReceipt,
) -> Option<JournalEntry>
pub fn generate_from_goods_receipt( &mut self, gr: &GoodsReceipt, ) -> Option<JournalEntry>
Generate JE from Goods Receipt. DR Inventory, CR GR/IR Clearing
Sourcepub fn generate_from_vendor_invoice(
&mut self,
invoice: &VendorInvoice,
) -> Option<JournalEntry>
pub fn generate_from_vendor_invoice( &mut self, invoice: &VendorInvoice, ) -> Option<JournalEntry>
Generate JE from Vendor Invoice.
Canonical three-way-match path (priors disabled, or direct-expense draw fails):
- DR GR/IR Clearing = net amount (or payable when no VAT)
- DR Input VAT = tax amount (only when VAT > 0)
- CR AP = gross (payable) amount
SP3.13 W1 — Direct-expense path (priors enabled, random draw <
direct_expense_share; ~70 % of real KR invoices are services /
utilities / travel that bypass GR/IR):
- DR
= net amount (or payable when no VAT) - DR Input VAT = tax amount (only when VAT > 0)
- CR AP = gross (payable) amount
The expense GL is drawn from the per-source “KR” conditional in
loaded_priors, enabling W1.5 split_je_expense_lines to split it
into multiple cost-account lines matching the corpus shape.
Sourcepub fn generate_from_ap_payment(
&mut self,
payment: &Payment,
) -> Option<JournalEntry>
pub fn generate_from_ap_payment( &mut self, payment: &Payment, ) -> Option<JournalEntry>
Generate JE from AP Payment. DR AP, CR Cash
Sourcepub fn generate_from_delivery(
&mut self,
delivery: &Delivery,
) -> Option<JournalEntry>
pub fn generate_from_delivery( &mut self, delivery: &Delivery, ) -> Option<JournalEntry>
Generate JE from Delivery. DR COGS, CR Inventory
Sourcepub fn generate_from_customer_invoice(
&mut self,
invoice: &CustomerInvoice,
) -> Option<JournalEntry>
pub fn generate_from_customer_invoice( &mut self, invoice: &CustomerInvoice, ) -> Option<JournalEntry>
Generate JE from Customer Invoice.
When the invoice carries tax (total_tax_amount > 0), the entry is split:
- DR AR = gross amount
- CR Revenue = net amount
- CR VAT Payable = tax amount
When there is no tax, the original two-line entry is produced:
- DR AR = gross amount
- CR Revenue = gross amount
Sourcepub fn generate_from_ar_receipt(
&mut self,
payment: &Payment,
) -> Option<JournalEntry>
pub fn generate_from_ar_receipt( &mut self, payment: &Payment, ) -> Option<JournalEntry>
Generate JE from AR Receipt (Customer Payment). DR Cash, CR AR
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for DocumentFlowJeGenerator
impl RefUnwindSafe for DocumentFlowJeGenerator
impl Send for DocumentFlowJeGenerator
impl Sync for DocumentFlowJeGenerator
impl Unpin for DocumentFlowJeGenerator
impl UnsafeUnpin for DocumentFlowJeGenerator
impl UnwindSafe for DocumentFlowJeGenerator
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> 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.