codeunitFinanceofficial - Microsoftderived - from the source, no model text

Codeunit 441 "Prepayment Mgt."

Base Application · Microsoft.Finance.ReceivablesPayables

Across versions

  1. BC23-27present
  2. BC282 events added
  3. BC29-30unchanged

Neighbourhood 19 connected objects and pages

Codeunit 414 "Release Sales Document" (calls, 4 links)Release Sales DocumentCodeunit 415 "Release Purchase Document" (calls, 4 links)Release Purchase DocumentTable 36 "Sales Header" (calls, 4 links)Table 38 "Purchase Header" (calls, 3 links)Purchase HeaderCodeunit 442 "Sales-Post Prepayments" (calls, 2 links)Sales-Post PrepaymentsCodeunit 456 "Job Queue Management" (calls, 2 links)Job Queue ManagementCodeunit 383 "Upd. Pending Prepmt. Sales" (calls)Upd. Pending Prepmt. SalesCodeunit 384 "Upd. Pending Prepmt. Purchase" (calls)Codeunit 444 "Purchase-Post Prepayments" (calls)Purchase-Post PrepaymentsCodeunit 453 "Job Queue - Enqueue" (calls)Job Queue - EnqueueCodeunit 5341 "CRM Int. Table. Subscriber" (calls)CRM Int. Table. SubscriberCodeunit 86 "Sales-Quote to Order" (calls)Sales-Quote to OrderCodeunit 87 "Blanket Sales Order to Order" (calls)Codeunit 96 "Purch.-Quote to Order" (calls)Purch.-Quote to OrderCodeunit 97 "Blanket Purch. Order to Order" (calls)Blanket Purch. Order to OrderTable 111 "Sales Shipment Line" (calls)Sales Shipment LineTable 121 "Purch. Rcpt. Line" (calls)Purch. Rcpt. LineTable 37 "Sales Line" (calls)Table 39 "Purchase Line" (calls)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Finance.ReceivablesPayables · BC23-30 · source at ea08af5e · facts from BC29

Events published

  • OnBeforeUpdatePendingPrepaymentSales(var SalesHeader: Record "Sales Header") + BC28 (integration): Integration event raised before pending prepayment sales orders are processed for release.
  • OnAfterUpdatePendingPrepaymentSales(var SalesHeader: Record "Sales Header") + BC28 (integration): Integration event raised after pending prepayment sales orders have been processed for release.
  • OnBeforeTestSalesPrepayment(SalesHeader: Record "Sales Header"; var TestResult: Boolean; var IsHandled: Boolean) (integration): Integration event raised before testing sales prepayment requirements.
  • OnBeforeTestPurchPrepayment(PurchHeader: Record "Purchase Header"; var TestResult: Boolean; var IsHandled: Boolean) (integration): Integration event raised before testing purchase prepayment requirements.
  • OnBeforeTestSalesPayment(var SalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean) (integration): Integration event raised before testing sales payment status.
  • OnBeforeTestPurchasePayment(PurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean) (integration): Integration event raised before testing purchase payment status.
  • OnTestSalesPaymentOnBeforeCustLedgerEntrySetFilter(var CustLedgerEntry: Record "Cust. Ledger Entry"; SalesHeader: Record "Sales Header"; SalesInvHeader: Record "Sales Invoice Header") (integration): Integration event raised before setting customer ledger entry filters in sales payment test.
  • OnTestPurchasePaymentOnBeforeVendLedgerEntrySetFilter(var VendLedgerEntry: Record "Vendor Ledger Entry"; PurchaseHeader: Record "Purchase Header"; PurchInvHeader: Record "Purch. Inv. Header") (integration): Integration event raised before setting vendor ledger entry filters in purchase payment test.
  • OnBeforeSetSalesPrepaymentPct(var SalesLine: Record "Sales Line"; Date: Date; var IsHandled: Boolean) (integration): Integration event raised before setting sales prepayment percentage.
  • OnBeforeTestSalesOrderLineForGetShptLines(SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Integration event raised before testing sales order lines for get shipment lines operation.
  • OnBeforeTestPurchaseOrderLineForGetRcptLines(PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean) (integration): Integration event raised before testing purchase order lines for get receipt lines operation.

Procedures

  • AssertPrepmtAmountNotMoreThanDocAmount(DocumentTotalInclVAT: Decimal; PrepmtTotalInclVAT: Decimal; CurrencyCode: Code[10]; InvoiceRoundingSetup: Boolean): Validates that prepayment amount does not exceed the total document amount including VAT. Applies invoice rounding if configured and throws error if prepayment exceeds document total.
  • SetSalesPrepaymentPct(var SalesLine: Record "Sales Line"; Date: Date): Sets prepayment percentage on sales line based on customer and item prepayment configuration. Determines appropriate prepayment percentage from customer, item, or G/L account setup.
  • SetPurchPrepaymentPct(var PurchLine: Record "Purchase Line"; Date: Date): Sets purchase prepayment percentage based on purchase prepayment setup. Updates purchase line prepayment percentage from purchase prepayment percentage configuration.
  • TestSalesPrepayment(SalesHeader: Record "Sales Header"): Boolean: Tests if sales document has prepayment requirements. Validates whether sales order contains prepayment percentages that require prepayment invoice processing.
  • TestPurchasePrepayment(PurchaseHeader: Record "Purchase Header"): Boolean: Tests if purchase document has prepayment requirements. Validates whether purchase order contains prepayment percentages that require prepayment invoice processing.
  • TestSalesOrderLineForGetShptLines(SalesLine: Record "Sales Line"): Tests sales order line for compatibility with Get Shipment Lines function. Validates that sales line can be processed when using Get Shipment Lines with prepayment scenarios.
  • TestPurchaseOrderLineForGetRcptLines(PurchaseLine: Record "Purchase Line"): Tests purchase order line for compatibility with Get Receipt Lines function. Validates that purchase line can be processed when using Get Receipt Lines with prepayment scenarios.
  • TestSalesPayment(SalesHeader: Record "Sales Header"): Boolean: Tests if sales prepayment invoices are paid before posting.
  • TestPurchasePayment(PurchaseHeader: Record "Purchase Header"): Boolean: Tests if purchase prepayment invoices are paid before posting.
  • UpdatePendingPrepaymentSales(): Updates pending prepayment status for sales orders.
  • UpdatePendingPrepaymentPurchase(): Updates pending prepayment status for purchase orders.
  • CreateAndStartJobQueueEntrySales(UpdateFrequency: Option Never,Daily,Weekly): Creates and starts job queue entry for updating pending prepayment sales orders.
  • CreateAndStartJobQueueEntryPurchase(UpdateFrequency: Option Never,Daily,Weekly): Creates and starts job queue entry for updating pending prepayment purchase orders.
  • CreateAndStartJobQueueEntry(CodeunitID: Integer; UpdateFrequency: Option Never,Daily,Weekly; Category: Text): Creates and starts a job queue entry for automatic prepayment processing.

Plus 3 local procedures.

Triggers

OnRun

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.

Called by

Recent changes

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: "Prepayment Mgt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources