---
id: object/table/1252
type: object
title: Table 1252 "Bank Pmt. Appl. Rule"
summary: Table 1252 "Bank Pmt. Appl. Rule" in Base Application (Microsoft.Bank.Reconciliation). 9 fields, 12 public procedures, 3 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 2b3cdcfd5157b48056a984f21348ef405ffb60e20286bfff9efad5790cc0990d
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Bank/Reconciliation/BankPmtApplRule.Table.al
    title: src/Layers/W1/BaseApp/Bank/Reconciliation/BankPmtApplRule.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 1252
name: Bank Pmt. Appl. Rule
namespace: Microsoft.Bank.Reconciliation
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 9
  procedures: 20
  events: 3
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Table 1252 "Bank Pmt. Appl. Rule"

> Table 1252 "Bank Pmt. Appl. Rule" in Base Application (Microsoft.Bank.Reconciliation). 9 fields, 12 public procedures, 3 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.

Base Application · Microsoft.Bank.Reconciliation · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Bank/Reconciliation/BankPmtApplRule.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Bank Pmt. Appl. Rule |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Match Confidence | Option | Specifies your confidence in the application rule that you defined by the values in the Related Party Matched, Doc. No./Ext. Doc. No. Matched, and Amount Incl. Tolerance Matched fields on the line in the Payment Application Rules window. | OptionCaption: None,Low,Medium,High |
| 2 | Priority | Integer | Specifies the priority of the application rule in relation to other application rules that are defined as lines in the Payment Application Rules window. 1 represents the highest priority. |  |
| 3 | Related Party Matched | Option | Specifies how much information on the payment reconciliation journal line must match the open entry before the application rule will apply the payment to the open entry. | OptionCaption: Not Considered,Fully,Partially,No |
| 4 | Doc. No./Ext. Doc. No. Matched | Option | Specifies if text on the payment reconciliation journal line must match with the value in the Document No. field or the External Document No. field on the open entry before the application rule will be used to automatically apply the payment to the open entry. | OptionCaption: Not Considered,Yes,No,Yes - Multiple |
| 5 | Amount Incl. Tolerance Matched | Option | Specifies how many entries must match the amount including payment tolerance, before the application rule will be used to apply a payment to the open entry. | OptionCaption: Not Considered,One Match,Multiple Matches,No Matches |
| 6 | Direct Debit Collect. Matched | Option | Specifies if the Transaction ID value on the payment reconciliation journal line must match with the value in the related Transaction ID field in the Direct Debit Collect. Entries window. | OptionCaption: Not Considered,Yes,No |
| 30 | Score | Integer | — | not editable |
| 40 | Review Required | Boolean | Specifies if bank statement lines matched with this rule will be shown as recommended for review. |  |
| 41 | Apply Immediatelly | Boolean | Specifies whether to search for alternative ledger entries that this line can be applied to. If turned on, the value is applied to the first match and alternative ledger entries are not considered. |  |

## Keys

- Key1: Match Confidence, Priority (clustered)
- Key2: Score

## Events published

- `OnBeforeValidatePriority(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; var IsHandled: Boolean)` (integration)
- `OnInsertDefaultMatchingRulesBeforeInsertHighConfidenceRules(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; var RulePriority: Integer)` (integration)
- `OnGetBestMatchScoreOnAfterSetFilters(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; ParameterBankPmtApplRule: Record "Bank Pmt. Appl. Rule")` (integration)

## Procedures

- `LoadRules()`: Loads all payment application rules into the current temporary record. Used for efficient processing of multiple rules during payment matching operations. Must be called on temporary table instances for performance optimization.
- `GetBestMatchScore(ParameterBankPmtApplRule: Record "Bank Pmt. Appl. Rule"): Integer`: Determines the best matching score for given payment application criteria. Evaluates all applicable rules based on the provided matching parameters and returns the highest score achievable, enabling optimal rule selection for payment matching.
- `GetReviewRequiredScoreFilter(): Text`
- `IsMatchedAutomatically(MatchConfidence: Option; NoOfAppliedEntries: Integer): Boolean`
- `GetTextMapperScore(): Integer`
- `GetMaxTextMapperScore(): Integer`
- `GetTextMapperScore(SubstringLength: Integer; ExactMatch: Boolean): Integer` (internal)
- `GetMatchConfidence(MatchQuality: Integer): Integer`
- `GetLowestScoreInRange(AssignedScore: Integer): Integer`
- `GetHighestScoreInRange(AssignedScore: Integer): Integer`
- `GetHighestPossibleScore(): Integer`
- `InsertDefaultMatchingRules()`

Plus 5 local procedures.

## Triggers

OnInsert, OnRename

## Pages and codeunits on this table

- [Page 1252 "Payment Application Rules"](../page/1252.md) (source table)

## 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 46 "SelectionFilterManagement"](../codeunit/46.md) (1 call: `GetReviewRequiredScoreFilter → GetSelectionFilter`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26-28

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: "table", object_name: "Bank Pmt. Appl. Rule")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
