Table "Payment Application Proposal"
Temporary table for managing payment application proposals during bank reconciliation processes. This table stores potential matches between bank statement lines and ledger entries, allowing users to review, modify, and approve automatic payment applications before final posting. Provides comprehensive proposal details including amounts, currencies, match quality, and supporting documentation for informed decision-making.
Remarks
Key functionality includes proposal validation, amount calculations with currency handling, applied amount tracking, difference management, and integration with multiple ledger entry types (customer, vendor, employee, bank account). Supports both automatic proposal generation and manual proposal creation workflows with comprehensive audit trails and approval mechanisms. Used extensively in payment reconciliation journals for proposal review and application processing.
Properties
| Name | Value |
|---|---|
| Caption | Payment Application Proposal |
| DataClassification | CustomerContent |
Fields
| Name | Type | Description |
|---|---|---|
| "Bank Account No." | Code[20] | Bank account number for the payment application proposal. Identifies the bank account where the payment was received or will be processed. |
| "Statement No." | Code[20] | Statement number from the bank reconciliation being processed. Links the proposal to the specific bank statement import or reconciliation session. |
| "Statement Line No." | Integer | Line number within the bank statement being processed. Identifies the specific transaction line for payment application. |
| "Statement Type" | Enum Microsoft.Bank.Reconciliation."Bank Acc. Rec. Stmt. Type" | Type of statement being processed for payment application. Determines whether this is a bank reconciliation or payment application workflow. |
| "Account Type" | Enum Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Account Type" | Type of account that the payment should be applied to. Determines the target ledger entry table for payment application. |
| "Account No." | Code[20] | Account number for the payment application target. Identifies the specific customer, vendor, or other account for payment application. |
| "Applies-to Entry No." | Integer | Entry number of the ledger entry to apply the payment to. Links the payment to a specific open customer, vendor, or other ledger entry. |
| "Applied Amount" | Decimal | Amount to apply from the payment to the target ledger entry. Can be partial amount allowing for split applications across multiple entries. |
| Applied | Boolean | Indicates whether the payment application proposal has been applied. Controls the application state and enables unapplication functionality. |
| "Applied Pmt. Discount" | Decimal | Payment discount amount applied during the payment application. Reduces the payment amount when early payment discounts are taken. |
| Quality | Integer | Quality score for the automatic matching proposal. Higher values indicate better matching confidence based on matching criteria. |
| "Posting Date" | Date | Original posting date of the target ledger entry. Used for matching and validation during payment application processing. |
| "Document Type" | Enum Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Document Type" | Document type of the target ledger entry. Determines application behavior and business logic for different transaction types. |
| "Document No." | Code[20] | Document number of the target ledger entry. Used for reference matching and identification during payment application. |
| Description | Text[100] | Description from the target ledger entry. Provides context and identification information for payment application. |
| "Currency Code" | Code[10] | Currency code for the payment application proposal. Must match the currency of both payment and target ledger entry. |
| "Due Date" | Date | Due date of the target ledger entry. Used for payment discount calculations and aging analysis. |
| "External Document No." | Code[35] | External document number from the target ledger entry. Used for matching with external references in payment data. |
| "Match Confidence" | Enum Microsoft.Bank.Reconciliation."Bank Rec. Match Confidence" | Confidence level for the automatic matching proposal. Indicates the system's confidence in the accuracy of the proposed application. |
| "Pmt. Disc. Due Date" | Date | Specifies the date on which the remaining amount on the open entry must be paid to grant a discount. |
| "Remaining Pmt. Disc. Possible" | Decimal | Specifies the remaining payment discount amount that can still be utilized. |
| "Pmt. Disc. Tolerance Date" | Date | Specifies the payment discount tolerance date for the payment application. |
| "Applied Amt. Incl. Discount" | Decimal | Specifies the applied amount including any payment discount applied. |
| "Remaining Amount" | Decimal | Specifies the remaining amount after application of this payment proposal. |
| "Remaining Amt. Incl. Discount" | Decimal | Specifies the remaining amount including any available payment discount. |
| Type | Option | Specifies the type of ledger entry being applied to in this payment proposal. |
| "Sorting Order" | Integer | Specifies the sorting order for displaying payment application proposals. |
| "Stmt To Rem. Amount Difference" | Decimal | Specifies the difference between the statement amount and the remaining amount after application. |
| SystemId | Guid | |
| SystemCreatedAt | DateTime | |
| SystemCreatedBy | Guid | |
| SystemModifiedAt | DateTime | |
| SystemModifiedBy | Guid | |
| SystemCreatedByUserName | Text[50] | |
| SystemCreatedByFullName | Text[80] | |
| SystemModifiedByUserName | Text[50] | |
| SystemModifiedByFullName | Text[80] | |
| SystemRowVersion | BigInteger |
Methods
GetAppliedPaymentEntry
procedure GetAppliedPaymentEntry(var AppliedPaymentEntry: Record "Applied Payment Entry"): Boolean
Parameters
| Name | Type | Description |
|---|---|---|
| AppliedPaymentEntry | Table Microsoft.Bank.Reconciliation."Applied Payment Entry" |
Returns
| Type | Description |
|---|---|
| Boolean |
TransferFromBankAccReconLine
procedure TransferFromBankAccReconLine(BankAccReconLine: Record "Bank Acc. Reconciliation Line")
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconLine | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation Line" |
CreateFromAppliedPaymentEntry
procedure CreateFromAppliedPaymentEntry(AppliedPaymentEntry: Record "Applied Payment Entry")
Parameters
| Name | Type | Description |
|---|---|---|
| AppliedPaymentEntry | Table Microsoft.Bank.Reconciliation."Applied Payment Entry" |
CreateFromBankStmtMacthingBuffer
procedure CreateFromBankStmtMacthingBuffer(TempBankStmtMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; BankAccount: Record "Bank Account")
Parameters
| Name | Type | Description |
|---|---|---|
| TempBankStmtMatchingBuffer | Table Microsoft.Bank.Reconciliation."Bank Statement Matching Buffer" | |
| BankAccReconciliationLine | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation Line" | |
| BankAccount | Table Microsoft.Bank.BankAccount."Bank Account" |
UpdateDefaultCalculatedFields
procedure UpdateDefaultCalculatedFields(var BankAccount: Record "Bank Account"; AppliesToEntryNo: Integer)
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccount | Table Microsoft.Bank.BankAccount."Bank Account" | |
| AppliesToEntryNo | Integer |
GetRemainingAmountAfterPostingValue
procedure GetRemainingAmountAfterPostingValue(): Decimal
Returns
| Type | Description |
|---|---|
| Decimal |
RemoveApplications
procedure RemoveApplications()
AccountNameDrillDown
procedure AccountNameDrillDown()
GetAccountName
procedure GetAccountName(): Text
Returns
| Type | Description |
|---|---|
| Text |
AppliesToEntryNoDrillDown
procedure AppliesToEntryNoDrillDown()
Events
OnAfterCreateFromBankStmtMacthingBuffer
[IntegrationEvent(False,False)]
local procedure OnAfterCreateFromBankStmtMacthingBuffer(var PaymentApplicationProposal: Record "Payment Application Proposal"; TempBankStmtMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; BankAccount: Record "Bank Account")
Parameters
| Name | Type | Description |
|---|---|---|
| PaymentApplicationProposal | Table Microsoft.Bank.Reconciliation."Payment Application Proposal" | |
| TempBankStmtMatchingBuffer | Table Microsoft.Bank.Reconciliation."Bank Statement Matching Buffer" | |
| BankAccReconciliationLine | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation Line" | |
| BankAccount | Table Microsoft.Bank.BankAccount."Bank Account" |
OnBeforeUpdateRemainingAmount
[IntegrationEvent(False,False)]
local procedure OnBeforeUpdateRemainingAmount(var PaymentApplicationProposal: Record "Payment Application Proposal"; BankAccount: Record "Bank Account"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| PaymentApplicationProposal | Table Microsoft.Bank.Reconciliation."Payment Application Proposal" | |
| BankAccount | Table Microsoft.Bank.BankAccount."Bank Account" | |
| IsHandled | Boolean |
OnApplyOnBeforeShowMessage
[IntegrationEvent(False,False)]
local procedure OnApplyOnBeforeShowMessage(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; PostingDate: Date; var ShowMessage: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliationLine | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation Line" | |
| PostingDate | Date | |
| ShowMessage | Boolean |