pageSales & Receivablesofficial - Microsoftderived - from the source, no model text

Page 232 "Apply Customer Entries"

Base Application · Microsoft.Sales.Receivables

Across versions

  1. BC23present
  2. BC241 procedures added
  3. BC255 events added, 3 events removed
  4. BC262 events added, 1 events removed
  5. BC27unchanged
  6. BC283 events removed, 2 procedures removed
  7. BC29-30unchanged

Neighbourhood 8 connected objects and pages

Table 21 "Cust. Ledger Entry" (relates to)Cust. Ledger EntryCodeunit 103 "Cust. Entry-Edit" (calls, 3 links)Cust. Entry-EditCodeunit 226 "CustEntry-Apply Posted Entries" (calls, 3 links)CustEntry-Apply Posted EntriesCodeunit 426 "Payment Tolerance Management" (calls, 3 links)Payment Tolerance ManagementCodeunit 101 "Cust. Entry-SetAppl.ID" (calls)Cust. Entry-SetAppl.IDCodeunit 225 "Gen. Jnl.-Apply" (calls)Gen. Jnl.-ApplyCodeunit 366 "Exchange Acc. G/L Journal Line" (calls)Exchange Acc. G/L Journal LineCodeunit 80 "Sales-Post" (calls)Sales-Post

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.Sales.Receivables · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Caption Apply Customer Entries
SourceTable Cust. Ledger Entry
PageType Worksheet

Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control’s own, else the bound field’s (marked).

Group Control Shows ToolTip
General Posting Date TempApplyingCustLedgEntry."Posting Date" Specifies the posting date of the entry to be applied. This date is used to find the correct exchange rate when applying entries in different currencies.
Document Type TempApplyingCustLedgEntry."Document Type" Specifies the document type of the entry to be applied.
Document No. TempApplyingCustLedgEntry."Document No." Specifies the document number of the entry to be applied.
Customer No. TempApplyingCustLedgEntry."Customer No." Specifies the customer number of the entry to be applied.
Customer Name TempApplyingCustLedgEntry."Customer Name" Specifies the customer name of the entry to be applied.
Description TempApplyingCustLedgEntry.Description Specifies the description of the entry to be applied.
Currency Code TempApplyingCustLedgEntry."Currency Code" Specifies the code for the currency that amounts are shown in.
Amount TempApplyingCustLedgEntry.Amount Specifies the amount on the entry to be applied.
Remaining Amount TempApplyingCustLedgEntry."Remaining Amount" Specifies the amount on the entry to be applied.
Control1 AppliesToID Applies-to ID Specifies the ID of entries that will be applied to when you choose the Apply Entries action. from the table field
Posting Date Posting Date Specifies the customer entry’s posting date. from the table field
Document Type Document Type Specifies the document type that the customer entry belongs to. from the table field
Document No. Document No. Specifies the entry’s document number. from the table field
Prepayment Prepayment Specifies if the related payment is a prepayment. from the table field
Customer No. Customer No. Specifies the customer account number that the entry is linked to. from the table field
Customer Name Customer Name Specifies the customer name that the entry is linked to. from the table field
Description Description Specifies a description of the customer entry. from the table field
Currency Code Currency Code Specifies the currency code for the amount on the line. from the table field
Original Amount Original Amount Specifies the amount of the original entry. from the table field
Amount Amount Specifies the amount of the entry. from the table field
Debit Amount Debit Amount Specifies the total of the ledger entries that represent debits. from the table field
Credit Amount Credit Amount Specifies the total of the ledger entries that represent credits. from the table field
Remaining Amount Remaining Amount Specifies the amount that remains to be applied to before the entry has been completely applied. from the table field
Appln. Remaining Amount CalcApplnRemainingAmount(Rec."Remaining Amount") Specifies the amount that remains to be applied to before the entry is totally applied to.
Amount to Apply Amount to Apply Specifies the amount to apply. from the table field
Appln. Amount to Apply CalcApplnAmountToApply(Rec."Amount to Apply") Specifies the amount to apply.
Due Date Due Date Specifies the due date on the entry. from the table field
Pmt. Discount Date Pmt. Discount Date Specifies the date on which the amount in the entry must be paid for a payment discount to be granted. from the table field
Pmt. Disc. Tolerance Date Pmt. Disc. Tolerance Date Specifies the latest date the amount in the entry must be paid in order for a payment discount tolerance to be granted. from the table field
Original Pmt. Disc. Possible Original Pmt. Disc. Possible Specifies the discount that the customer can obtain if the entry is applied to before the payment discount date. from the table field
Remaining Pmt. Disc. Possible Remaining Pmt. Disc. Possible Specifies the remaining payment discount which can be received if the payment is made before the payment discount date. from the table field
Appln. Pmt. Disc. Possible CalcApplnRemainingAmount(Rec."Remaining Pmt. Disc. Possible") Specifies the discount that the customer can obtain if the entry is applied to before the payment discount date.
Max. Payment Tolerance Max. Payment Tolerance Specifies the maximum tolerated amount the entry can differ from the amount on the invoice or credit memo. from the table field
External Document No. External Document No. Specifies a document number that refers to the customer’s or vendor’s numbering system. from the table field
Your Reference Your Reference Specifies the customer’s reference. from the table field
Open Open Specifies whether the amount on the entry has been fully paid or there is still a remaining amount that must be applied to. from the table field
Positive Positive Specifies if the entry to be applied is positive. from the table field
Global Dimension 1 Code Global Dimension 1 Code Specifies the code for the global dimension that is linked to the record or entry for analysis purposes. Two global dimensions, typically for the company’s most important activities, are available on all cards, documents, reports, and lists. from the table field
Global Dimension 2 Code Global Dimension 2 Code Specifies the code for the global dimension that is linked to the record or entry for analysis purposes. Two global dimensions, typically for the company’s most important activities, are available on all cards, documents, reports, and lists. from the table field
Appln. Currency ApplnCurrencyCode ApplnCurrencyCode Specifies the currency code that the amount will be applied in, in case of different currencies.
Amount to Apply Amount to Apply AppliedAmount Specifies the sum of the amounts on all the selected customer ledger entries that will be applied by the entry shown in the Available Amount field. The amount is in the currency represented by the code in the Currency Code field.
Pmt. Disc. Amount Pmt. Disc. Amount -PmtDiscAmount Specifies the sum of the payment discount amounts granted on all the selected customer ledger entries that will be applied by the entry shown in the Available Amount field. The amount is in the currency represented by the code in the Currency Code field.
Rounding Rounding ApplnRounding Specifies the rounding difference when you apply entries in different currencies to one another. The amount is in the currency represented by the code in the Currency Code field.
Applied Amount Applied Amount AppliedAmount + (-PmtDiscAmount) + ApplnRounding Specifies the sum of the amounts in the Amount to Apply field, Pmt. Disc. Amount field, and the Rounding. The amount is in the currency represented by the code in the Currency Code field.
Available Amount Available Amount ApplyingAmount Specifies the amount of the journal entry, sales credit memo, or current customer ledger entry that you have selected as the applying entry.
Balance Balance AppliedAmount + (-PmtDiscAmount) + ApplyingAmount + ApplnRounding Specifies any extra amount that will remain after the application.
FactBoxes Control1903096107 part Page 9106 “Customer Ledger Entry FactBox” —

Actions

Group Action ToolTip Runs
Entry Reminder/Fin. Charge Entries View the reminders and finance charge entries that you have entered for the customer. Page 444 “Reminder/Fin. Charge Entries”
Applied Entries View the ledger entries that have been applied to this record. Page 61 “Applied Customer Entries”
Dimensions View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.
Detailed Ledger Entries View a summary of the all posted entries and adjustments related to a specific customer ledger entry. Page 573 “Detailed Cust. Ledg. Entries”
Find entries… Find entries and documents that exist for the document number and posting date on the selected document. (Formerly this action was named Navigate.)
Application Set Applies-to ID Set the Applies-to ID field on the posted entry to automatically be filled in with the document number of the entry in the journal.
Post Application Define the document number of the ledger entry to use to perform the application. In addition, you specify the Posting Date for the application.
Preview Posting Review the different types of entries that will be created when you post the document or journal.
Show Only Selected Entries to Be Applied View the selected ledger entries that will be applied to the specified record.
Processing Show Posted Document Show details for the posted payment, invoice, or credit memo.
Show Document Attachment View documents or images that are attached to the posted invoice or credit memo.

Events published

  • OnAfterCalcApplnAmount(CustLedgerEntry: Record "Cust. Ledger Entry"; var AppliedAmount: Decimal; var ApplyingAmount: Decimal; var CalcType: Enum "Customer Apply Calculation Type"; var AppliedCustLedgEntry: Record "Cust. Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line") (integration): Raised after the application amount has been calculated.
  • OnAfterCalcApplnAmountToApply(CustLedgerEntry: Record "Cust. Ledger Entry"; var ApplnAmountToApply: Decimal) (integration): Raised after the application amount to apply has been calculated.
  • OnAfterCalcApplnRemainingAmount(CustLedgerEntry: Record "Cust. Ledger Entry"; var ApplnRemainingAmount: Decimal) (integration): Raised after the remaining application amount has been calculated.
  • OnAfterExchangeLedgerEntryAmounts(var CalcCustLedgEntry: Record "Cust. Ledger Entry"; CustLedgerEntry: Record "Cust. Ledger Entry"; CurrencyCode: Code[10]) (integration): Raised after ledger entry amounts have been exchanged to the application currency.
  • OnAfterGetAppliesToID(CalcType: Enum "Customer Apply Calculation Type"; var AppliesToID: Code[50]) (integration): Raised after the Applies-to ID has been retrieved.
  • OnAfterLookupOKOnPush(var OK: Boolean) (integration): Raised after the Lookup OK action has been processed.
  • OnAfterOnOpenPage(var GenJnlLine: Record "Gen. Journal Line"; var CustLedgerEntry: Record "Cust. Ledger Entry"; var ApplyingCustLedgEntry: Record "Cust. Ledger Entry") (integration): Raised after the page has been opened.
  • OnAfterSetApplyingCustLedgEntry(var ApplyingCustLedgEntry: Record "Cust. Ledger Entry"; GenJournalLine: Record "Gen. Journal Line"; SalesHeader: Record "Sales Header") (integration): Raised after the applying customer ledger entry has been set.
  • OnBeforeCalcApplnAmount(var CustLedgerEntry: Record "Cust. Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line"; SalesHeader: Record "Sales Header"; var AppliedCustLedgerEntry: Record "Cust. Ledger Entry"; CalculationType: Option; ApplicationType: Option; var IsHandled: Boolean) (integration): Raised before the application amount is calculated.
  • OnBeforeCheckRounding(CalcType: Enum "Customer Apply Calculation Type"; var ApplnRounding: Decimal; var IsHandled: Boolean) (integration): Raised before rounding is checked for the application.
  • OnBeforeHandledChosenEntries(Type: Option Direct,GenJnlLine,SalesHeader; CurrentAmount: Decimal; CurrencyCode: Code[10]; PostingDate: Date; var AppliedCustLedgerEntry: Record "Cust. Ledger Entry"; var IsHandled: Boolean; var CustLedgEntry: Record "Cust. Ledger Entry") (integration): Raised before chosen entries are processed for application.
  • OnBeforeEarlierPostingDateError(ApplyingCustLedgerEntry: Record "Cust. Ledger Entry"; CustLedgerEntry: Record "Cust. Ledger Entry"; var RaiseError: Boolean; CalcType: Option; var OK: Boolean) (integration): Raised before an error is raised for applying entries with earlier posting dates.
  • OnBeforePostDirectApplication(var CustLedgerEntry: Record "Cust. Ledger Entry"; PreviewMode: Boolean; var IsHandled: Boolean; var ApplyingCustLedgEntry: Record "Cust. Ledger Entry" temporary) (integration): Raised before a direct application is posted.
  • OnBeforeSetApplyingCustLedgerEntry(var ApplyingCustLedgEntry: Record "Cust. Ledger Entry"; GenJournalLine: Record "Gen. Journal Line"; SalesHeader: Record "Sales Header"; var CalcType: Enum "Customer Apply Calculation Type"; var IsHandled: Boolean) + BC25 (integration): Raised before the applying customer ledger entry is set.
  • OnBeforeSetCustEntryApplID(CustLedgerEntry: Record "Cust. Ledger Entry"; CurrentRec: Boolean; var ApplyingAmount: Decimal; var ApplyingCustLedgerEntry: Record "Cust. Ledger Entry"; AppliesToID: Code[50]; var IsHandled: Boolean; var GenJournalLine: Record "Gen. Journal Line") (integration): Raised before the customer entry Applies-to ID is set.
  • OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnBeforeSetAppliedAmount(var AppliedCustLedgEntry: Record "Cust. Ledger Entry"; ApplnDate: Date; ApplnCurrencyCode: Code[10]) (integration): Raised before setting the applied amount during general journal line application to document number.
  • OnCheckCustLedgEntryOnBeforeCheckAgainstApplnCurrency(var CustLedgerEntry: Record "Cust. Ledger Entry"; GenJournalLine: Record "Gen. Journal Line"; var TempApplyingCustLedgEntry: Record "Cust. Ledger Entry" temporary; CalcType: Enum "Customer Apply Calculation Type") (integration): Raised before checking against application currency during customer ledger entry validation.
  • OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnAfterSetAppliedAmount(var AppliedCustLedgEntry: Record "Cust. Ledger Entry"; ApplnDate: Date; ApplnCurrencyCode: Code[10]; var AppliedAmount: Decimal) (integration): Raised after setting the applied amount during general journal line application to document number.
  • OnCalcApplnAmountOnCalcTypeSalesHeaderOnApplnTypeToDocNoOnBeforeSetAppliedAmount(var AppliedCustLedgEntry: Record "Cust. Ledger Entry"; ApplnDate: Date; ApplnCurrencyCode: Code[10]) (integration): Raised before setting the applied amount during sales header application to document number.
  • OnFindFindApplyingEntryOnAfterCustLedgEntrySetFilters(ApplyingCustLedgerEntry: Record "Cust. Ledger Entry"; var CustLedgerEntry: Record "Cust. Ledger Entry") (integration): Raised after filters have been set when finding the applying entry.
  • OnFindApplyingEntryOnBeforeCalcApplnAmount(var CustLedgerEntry: Record "Cust. Ledger Entry") (integration): Raised before calculating the application amount when finding the applying entry.
  • OnHandleChosenEntriesOnAfterTempAppliedCustLedgEntryInsert(var TempAppliedCustLedgerEntry: Record "Cust. Ledger Entry" temporary) (integration): Raised after a temporary applied customer ledger entry has been inserted during entry handling.
  • OnHandleChosenEntriesOnBeforeDeleteTempAppliedCustLedgEntry(var AppliedCustLedgEntry: Record "Cust. Ledger Entry"; TempAppliedCustLedgEntry: Record "Cust. Ledger Entry" temporary; CurrencyCode: Code[10]) (integration): Raised before deleting a temporary applied customer ledger entry during entry handling.
  • OnSetCustApplIdOnAfterCheckAgainstApplnCurrency(var CustLedgerEntry: Record "Cust. Ledger Entry"; var CustLedgerEntry2: Record "Cust. Ledger Entry"; CalcType: Option; var GenJnlLine: Record "Gen. Journal Line"; SalesHeader: Record "Sales Header"; ApplyingCustLedgEntry: Record "Cust. Ledger Entry") + BC25 + BC26 − BC26 (integration): Raised after checking against application currency when setting the Applies-to ID.
  • OnSetApplyingCustLedgEntryOnBeforeCalcTypeDirectCalcApplnAmount(var CustLedgerEntry: Record "Cust. Ledger Entry"; var ApplyingAmount: Decimal; var TempApplyingCustLedgEntry: Record "Cust. Ledger Entry") (integration): Raised before calculating the application amount for direct calculation type.
  • OnOnQueryClosePageOnBeforeRunCustEntryEdit(var CustLedgerEntry: Record "Cust. Ledger Entry") (integration): Raised before running customer entry edit when closing the page.
  • OnPostDirectApplicationBeforeSetValues(var ApplicationDate: Date) (integration): Raised before setting values during direct application posting.
  • OnPostDirectApplicationBeforeApply(GLSetup: Record "General Ledger Setup"; var NewApplyUnapplyParameters: Record "Apply Unapply Parameters") (integration): Raised before applying during direct application posting.
  • OnAfterSetApplyingCustLedgEntrySalesHeader(var TempApplyingCustLedgEntry: Record "Cust. Ledger Entry" temporary; var SalesHeader: Record "Sales Header") (integration): Raised after setting the applying customer ledger entry from a sales header.
  • OnAfterSetApplyingCustLedgEntryGenJnlLine(var TempApplyingCustLedgEntry: Record "Cust. Ledger Entry" temporary; var GenJnlLine: Record "Gen. Journal Line") (integration): Raised after setting the applying customer ledger entry from a general journal line.
  • OnExchangeLedgerEntryAmountsOnBeforeCalculateAmounts(var CalcCustLedgerEntry: Record "Cust. Ledger Entry"; CustLedgerEntry: Record "Cust. Ledger Entry"; CurrencyCode: Code[10]; CalculateCurrency: Boolean; var IsHandled: Boolean) (integration): Raised before calculating amounts during ledger entry exchange.
  • OnCheckCustLedgEntryOnAfterEarlierPostingDateTest(ApplyingCustLedgerEntry: Record "Cust. Ledger Entry"; CustLedgerEntry: Record "Cust. Ledger Entry"; CalcType: Enum "Customer Apply Calculation Type"; var OK: Boolean) (integration): Raised after testing for earlier posting date during customer ledger entry check.
  • OnQueryClosePageOnAfterEarlierPostingDateTest(ApplyingCustLedgerEntry: Record "Cust. Ledger Entry"; CustLedgerEntry: Record "Cust. Ledger Entry"; CalcType: Enum "Customer Apply Calculation Type"; var OK: Boolean) (integration): Raised after testing for earlier posting date when closing the page.
  • OnCheckCustLedgEntryOnBeforeCheckAgainstApplnCurrencyWhenEntryNoIsNotNull(CustLedgerEntry: Record "Cust. Ledger Entry"; GenJournalLine: Record "Gen. Journal Line") (integration): Raised before checking against application currency when entry number is not null.
  • OnPostDirectApplicationOnAfterApply(var CustLedgerEntry: Record "Cust. Ledger Entry"; var NewApplyUnapplyParameters: Record "Apply Unapply Parameters"; PreviewMode: Boolean; Applied: Boolean) + BC26 (integration): Raised after the application has been posted during direct application.

Procedures

  • SetGenJnlLine(NewGenJnlLine: Record "Gen. Journal Line"; ApplnTypeSelect: Integer): Sets up the page to apply entries from a general journal line context.
  • SetSales(NewSalesHeader: Record "Sales Header"; var NewCustLedgEntry: Record "Cust. Ledger Entry"; ApplnTypeSelect: Integer): Sets up the page to apply entries from a sales header document context.
  • SetCustLedgEntry(NewCustLedgEntry: Record "Cust. Ledger Entry"): Sets the current record to the specified customer ledger entry.
  • SetApplyingCustLedgEntry(): Initializes the applying customer ledger entry based on the current calculation type.
  • GetCustomAppliesToID(): Code[50] (internal): Gets the custom Applies-to ID if it was set exactly once during the session.
  • SetCustApplId(CurrentRec: Boolean): Sets the Applies-to ID on selected customer ledger entries for application.
  • CheckCustLedgEntry(var CustLedgerEntry: Record "Cust. Ledger Entry"): Validates that selected customer ledger entries can be applied against the applying entry.
  • CalcApplnAmount(): Calculates the application amounts including applied amount, payment discount, and rounding.
  • CalcApplnRemainingAmount(Amount: Decimal): Decimal (protected)
  • FindAmountRounding() (protected)
  • CheckRounding(): Calculates any rounding amount needed when applying entries in different currencies.
  • GetCustLedgEntry(var CustLedgEntry: Record "Cust. Ledger Entry"): Gets the current customer ledger entry record.
  • HandleChosenEntries(Type: Enum "Customer Apply Calculation Type"; CurrentAmount: Decimal; CurrencyCode: Code[10]; PostingDate: Date) (protected)
  • SetAppliesToID(AppliesToID2: Code[50]): Sets the Applies-to ID to use for filtering entries.
  • ExchangeLedgerEntryAmounts(Type: Enum "Customer Apply Calculation Type"; CurrencyCode: Code[10]; var CalcCustLedgEntry: Record "Cust. Ledger Entry"; PostingDate: Date): Converts ledger entry amounts to the specified currency using the exchange rate at the posting date.
  • CalcOppositeEntriesAmount(var TempAppliedCustLedgerEntry: Record "Cust. Ledger Entry" temporary): Decimal: Calculates the total remaining amount of entries with the opposite sign.
  • GetApplnCurrencyCode(): Code[10]: Gets the application currency code.
  • GetCalcType(): Integer: Gets the calculation type as an integer value.
  • SetCalcType(NewCalcType: Enum "Customer Apply Calculation Type"): Sets the calculation type for the application process.

Plus 15 local procedures.

Triggers

OnAfterGetCurrRecord, OnAfterGetRecord, OnInit, OnModifyRecord, OnOpenPage, OnQueryClosePage

Relations

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.

Countries that replace it

CA, MX, US

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

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: "page", object_name: "Apply Customer Entries"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources