Codeunit 108 "Net Cust/Vend Balances Mgt."
Base Application · Microsoft.Finance.ReceivablesPayables
Across versions
- BC23-24present
- BC257 events added
- BC26-30unchanged
Neighbourhood 1 connected objects and pages
Base Application · Microsoft.Finance.ReceivablesPayables · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnAfterInitGenJnlLine(var GenJnlLine: Record "Gen. Journal Line"; VendLedgEntry: Record "Vendor Ledger Entry")(integration): Integration event raised after initializing a general journal line from vendor ledger entry data. Enables custom modifications to journal line fields during net balance processing.OnAfterFillGenJnlLineFromCustLedgEntry(var GenJnlLine: Record "Gen. Journal Line"; CustLedgEntry: Record "Cust. Ledger Entry")(integration): Integration event raised after filling general journal line from customer ledger entry. Allows customization of journal line fields based on customer ledger entry data.OnAfterFillGenJnlLineFromVendLedgEntry(var GenJnlLine: Record "Gen. Journal Line"; VendLedgEntry: Record "Vendor Ledger Entry")(integration): Integration event raised after filling general journal line from vendor ledger entry. Enables modification of journal line fields derived from vendor ledger entry data.OnCalcPartNetAmountAfterSetDocumentType(var VendorLedgerEntry: Record "Vendor Ledger Entry"; var CustLedgerEntry: Record "Cust. Ledger Entry"; var VendNetAmount: Decimal; var CustNetAmount: Decimal; DocType: Enum "Gen. Journal Document Type"; var IsHandled: Boolean)+ BC25 (integration): Integration event raised after calculating partial net amounts and setting document type. Allows custom logic for determining net amounts and handling special document type scenarios.OnFillGenJnlLineFromCustledgEntryBeforeValidateAmount(var CustLedgerEntry: Record "Cust. Ledger Entry")+ BC25 (integration): Integration event raised before validating amount on journal line created from customer ledger entry. Enables custom amount calculation or validation logic for customer entries.OnFillGenJnlLineFromVendLedgEntryBeforeValidateAmount(var VendorLedgerEntry: Record "Vendor Ledger Entry")+ BC25 (integration): Integration event raised before validating amount on journal line created from vendor ledger entry. Allows custom amount calculation or validation logic for vendor entries.OnNetBalancesBeforeSetCustomerRemainingAmount(var CustLedgerEntry: Record "Cust. Ledger Entry")+ BC25 (integration): Integration event raised before setting customer remaining amount during net balance processing. Enables custom logic for determining customer remaining amount calculations.OnNetBalancesBeforeSetVendorRemainingAmount(var VendorLedgerEntry: Record "Vendor Ledger Entry")+ BC25 (integration): Integration event raised before setting vendor remaining amount during net balance processing. Allows custom logic for determining vendor remaining amount calculations.OnSumCustomerRemainingAmountBeforeCalcResult(var CustLedgerEntry: Record "Cust. Ledger Entry"; var Result: Decimal; var IsHandled: Boolean)+ BC25 (integration): Integration event raised before calculating the sum of customer remaining amounts. Enables custom calculation logic for customer remaining amount totals.OnSumVendorRemainingAmountBeforeCalcResult(var VendorLedgerEntry: Record "Vendor Ledger Entry"; var Result: Decimal; var IsHandled: Boolean)+ BC25 (integration): Integration event raised before calculating the sum of vendor remaining amounts. Allows custom calculation logic for vendor remaining amount totals.
Procedures
NetCustVendBalances(var Vendor: Record Vendor; NewNetBalancesParameters: Record "Net Balances Parameters"): Processes vendors to identify linked customers and creates netted balance journal entries. Calculates net amounts between customer and vendor balances for the same business partner.SetGenJnlLine(NewGenJnlLine: Record "Gen. Journal Line"): Sets the general journal line template for both vendor and customer journal entries. Copies line information to be used for creating netted balance entries.
Plus 18 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 103 “Cust. Entry-Edit” (1 call:
SetOnHold → SetOnHold)
Recent changes
- 2026-09-03 #10878 Ruleset hardening: promote five low-risk rules to Error (main, BC30, refactor)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Net Cust/Vend Balances Mgt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.