pub struct DocumentFlowJeGenerator { /* private fields */ }Expand description
Generator for creating JEs from document flows.
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_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 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.
When the invoice carries tax (tax_amount > 0), the entry is split:
- DR GR/IR Clearing = net amount
- DR Input VAT = tax amount
- CR AP = gross (payable) amount
When there is no tax, the original two-line entry is produced:
- DR GR/IR Clearing = payable amount
- CR AP = payable amount
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