---
id: object/table/296
type: object
title: Table 296 "Reminder Line"
summary: Table 296 "Reminder Line" in Base Application (Microsoft.Sales.Reminder). 30 fields, 8 public procedures, 21 events. Present since at least BC23, still in BC30, changed in BC24-25, BC28.
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: 6d9bdc28e744ae9b89abf66117ab4a651a6501ab8e70f13c657cac9b5c195eb0
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/Reminder/ReminderLine.Table.al
    title: src/Layers/W1/BaseApp/Sales/Reminder/ReminderLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/fi
    - localization/gb
    - localization/no
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10504
object_type: table
object_id: 296
name: Reminder Line
namespace: Microsoft.Sales.Reminder
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "28"
source_major: "29"
obsolete: null
countries:
  - fi
  - gb
  - "no"
ms_search_form_ids: []
counts:
  fields: 30
  procedures: 35
  events: 21
  subscribers: 0
relations:
  out: 9
  referenced_by: 6
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 296 "Reminder Line"

> Table 296 "Reminder Line" in Base Application (Microsoft.Sales.Reminder). 30 fields, 8 public procedures, 21 events. Present since at least BC23, still in BC30, changed in BC24-25, BC28.

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

## Properties

| Property | Value |
|---|---|
| Caption | Reminder Line |
| 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 | Reminder No. | Code[20] | — | TableRelation [Table 295 "Reminder Header"](../table/295.md) (Reminder Header) |
| 2 | Line No. | Integer | — | NotBlank |
| 3 | Attached to Line No. | Integer | — | TableRelation [Table 296 "Reminder Line"](../table/296.md) ("Reminder Line"."Line No." where("Reminder No." = field("Reminder No."))); not editable |
| 4 | Type | Enum "Reminder Source Type" | Specifies the line type. | enum [Enum 296 "Reminder Source Type"](../enum/296.md) |
| 5 | Entry No. | Integer | — | TableRelation [Table 21 "Cust. Ledger Entry"](../table/21.md) (Cust. Ledger Entry) |
| 6 | No. of Reminders | Integer | Specifies a number that indicates the reminder level. |  |
| 7 | Posting Date | Date | Specifies the posting date of the customer ledger entry that this reminder line is for. | not editable |
| 8 | Document Date | Date | Specifies the date when the related document was created. | not editable |
| 9 | Due Date | Date | Specifies the due date of the customer ledger entry this reminder line is for. | not editable |
| 10 | Document Type | Enum "Gen. Journal Document Type" | Specifies the document type of the customer ledger entry this reminder line is for. | enum [Enum 6 "Gen. Journal Document Type"](../enum/6.md) |
| 11 | Document No. | Code[20] | Specifies the document number of the customer ledger entry this reminder line is for. |  |
| 12 | Description | Text[100] | Specifies an entry description, based on the contents of the Type field. |  |
| 13 | Original Amount | Decimal | Specifies the original amount of the customer ledger entry that this reminder line is for. | not editable |
| 14 | Remaining Amount | Decimal | Specifies the remaining amount of the customer ledger entry this reminder line is for. | not editable |
| 15 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 7 "Standard Text"](../table/7.md) (if (Type = const(" ")) "Standard Text" else if (Type = const("G/L Account")) "G/L Account" else if (Type = const("Line Fee")) "G/L Account") |
| 16 | Amount | Decimal | Specifies the amount in the currency that is represented by the currency code on the reminder header. |  |
| 17 | Interest Rate | Decimal | — |  |
| 18 | Gen. Prod. Posting Group | Code[20] | — | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group) |
| 19 | VAT % | Decimal | — | not editable |
| 20 | VAT Calculation Type | Enum "Tax Calculation Type" | — | enum [Enum 254 "Tax Calculation Type"](../enum/254.md); not editable |
| 21 | VAT Amount | Decimal | Specifies the VAT amount in the currency that is represented by the currency code on the reminder header. | not editable |
| 22 | Tax Group Code | Code[20] | — | TableRelation [Table 321 "Tax Group"](../table/321.md) (Tax Group) |
| 23 | VAT Prod. Posting Group | Code[20] | — | TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md) (VAT Product Posting Group) |
| 24 | VAT Identifier | Code[20] | — | not editable |
| 25 | Line Type | Enum "Reminder Line Type" | Specifies the type of the reminder line. | enum [Enum 297 "Reminder Line Type"](../enum/297.md) |
| 26 | VAT Clause Code | Code[20] | — | TableRelation [Table 560 "VAT Clause"](../table/560.md) (VAT Clause) |
| 27 | Applies-to Document Type | Enum "Gen. Journal Document Type" | Specifies the type of the posted document that this document or journal line will be applied to when you post, for example to register payment. | enum [Enum 6 "Gen. Journal Document Type"](../enum/6.md) |
| 28 | Applies-to Document No. | Code[20] | Specifies the number of the posted document that this document or journal line will be applied to when you post, for example to register payment. |  |
| 30 | Detailed Interest Rates Entry | Boolean | — |  |
| 101 | System-Created Entry | Boolean | — | not editable |

## Keys

- Key1: Reminder No., Line No. (clustered)
- Key2: Reminder No., Type, Line Type, Detailed Interest Rates Entry
- Key3: Reminder No., Detailed Interest Rates Entry
- Key4: Reminder No., Type

## Events published

- `OnAfterCopyFromCustLedgEntry(var ReminderLine: Record "Reminder Line"; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Raised after copying values from a customer ledger entry to the reminder line.
- `OnAfterCalcFinChrg(var ReminderLine: Record "Reminder Line"; var ReminderHeader: Record "Reminder Header")` (integration): Raised after calculating the finance charge for the reminder line.
- `OnAfterFillLineWithGLAccountData(var ReminderLine: Record "Reminder Line"; ReminderHeader: Record "Reminder Header"; GLAccount: Record "G/L Account")` (integration): Raised after filling the reminder line with G/L account data.
- `OnAfterSetCustLedgEntryView(ReminderHeader: Record "Reminder Header"; ReminderLine: Record "Reminder Line"; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Raised after setting the view filters on customer ledger entry for lookup.
- `OnBeforeCalcFinChrg(var ReminderLine: Record "Reminder Line"; var ReminderHeader: Record "Reminder Header"; var IsHandled: Boolean)` (integration): Raised before calculating the finance charge for the reminder line.
- `OnBeforeLookupDocNo(var ReminderLine: Record "Reminder Line"; var IsHandled: Boolean)` (integration): Raised before the document number lookup on the reminder line.
- `OnBeforeLookupEntryNo(var ReminderLine: Record "Reminder Line"; var IsHandled: Boolean)` (integration): Raised before the entry number lookup on the reminder line.
- `OnBeforeValidateDocumentNo(var ReminderLine: Record "Reminder Line"; var xReminderLine: Record "Reminder Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration): Raised before validating the document number on the reminder line.
- `OnBeforeValidateDocumentType(var ReminderLine: Record "Reminder Line"; var IsHandled: Boolean)` (integration): Raised before validating the document type on the reminder line.
- `OnBeforeValidateEntryNo(var ReminderLine: Record "Reminder Line"; var xReminderLine: Record "Reminder Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration): Raised before validating the entry number on the reminder line.
- `OnCalcFinChrgOnAfterCalcShouldSkipCalcFinChrg(var ReminderLine: Record "Reminder Line"; var ReminderHeader: Record "Reminder Header"; var CustLedgerEntry: Record "Cust. Ledger Entry"; var ShouldSkipCalcFinChrg: Boolean)` (integration): Raised after determining whether to skip finance charge calculation.
- `OnCalcFinChrgOnBeforeValidatePostingGroups(var ReminderLine: Record "Reminder Line"; var ReminderHeader: Record "Reminder Header"; var Amount: Decimal)` (integration): Raised before validating posting groups during finance charge calculation.
- `OnValidateVATProdPostingGroupOnAfterVATPostingSetupGet(var VATPostingSetup: Record "VAT Posting Setup"; ReminderLine: Record "Reminder Line")` (integration): Raised after retrieving the VAT posting setup during VAT product posting group validation.
- `OnGetNoOfReminderForCustLedgEntryOnAfterReminderEntrySetFilters(var ReminderEntry: Record "Reminder/Fin. Charge Entry")` (integration): Raised after setting filters on reminder entries when counting reminders for a customer ledger entry.
- `OnBeforeGetNoOfReminderForCustLedgEntry(var ReminderLine: Record "Reminder Line"; var NoOfReminders: Integer; EntryNo: Integer; var IsHandled: Boolean)` (integration): Raised before getting the number of reminders for a customer ledger entry.
- `OnAfterLookupDocNo(var ReminderLine: Record "Reminder Line"; xRecReminderLine: Record "Reminder Line")` (integration): Raised after the document number lookup on the reminder line.
- `OnCalcFinChrgOnBeforeCalcFinanceChargeInterestRate(var ReminderLine: Record "Reminder Line"; var ReminderHeader: Record "Reminder Header"; var FinanceChargeTerms: Record "Finance Charge Terms"; var IsHandled: Boolean)` (integration): Raised before calculating the finance charge interest rate.
- `OnCalcFinChrgOnAfterDetailedCustLedgEntrySetFilters(var DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; ReminderLine: Record "Reminder Line")` (integration): Raised after setting filters on detailed customer ledger entries during finance charge calculation.
- `OnCalcFinChrgOnAfterReminderEntrySetFilters(var ReminderFinChargeEntry: Record "Reminder/Fin. Charge Entry")` (integration): Raised after setting filters on reminder/finance charge entries during finance charge calculation.
- `OnCalcFinChrgOnAfterCalcInterest(var FinanceChargeTerms: Record "Finance Charge Terms"; var Amount: Decimal)` (integration): Raised after calculating the interest amount during finance charge calculation.
- `OnValidateAppliesToDocumentNoOnAfterCalcRemainingAmount(var CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Raised after calculating the remaining amount during Applies-to Document No. validation.

## Procedures

- `CalcFinanceCharge()`: Calculates the finance charge amount for this reminder line based on overdue days and interest terms.
- `GetReminderHeader()`: Retrieves the reminder header for this line and validates required fields.
- `GetCurrencyCodeFromHeader(): Code[10]`: Gets the currency code from the associated reminder header.
- `GetNoOfReminderForCustLedgEntry(EntryNo: Integer): Integer`: Gets the number of reminders that have been issued for a customer ledger entry.
- `CumulateDetailedEntries(var CumAmount: Decimal; UseDueDate: Date; UseCalcDate: Date; UseInterestRate: Decimal; UseInterestPeriod: Decimal)`: Calculates cumulative interest amount from detailed customer ledger entries.
- `LookupDocNo()`: Opens a lookup page to select a document number from customer ledger entries.
- `CalcFinanceChargeInterestRate(var FinanceChargeInterestRate: Record "Finance Charge Interest Rate"; var UseDueDate: Date; var UseInterestRate: Decimal; var UseCalcDate: Date)`: Calculates the applicable finance charge interest rate based on the date range and terms.
- `CreateMulitplyInterestRateEntries(var ExtraReminderLine: Record "Reminder Line"; var FinanceChargeInterestRate: Record "Finance Charge Interest Rate"; var UseDueDate: Date; var UseInterestRate: Decimal; var UseCalcDate: Date; var CumAmount: Decimal)`: Creates additional reminder lines for multiple interest rate periods when rates change over time.

Plus 6 local procedures.

## Triggers

OnDelete, OnInsert, OnModify

## Relations

- No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- Entry No.: TableRelation [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Reminder No.: TableRelation [Table 295 "Reminder Header"](../table/295.md)
- Attached to Line No.: TableRelation [Table 296 "Reminder Line"](../table/296.md)
- Tax Group Code: TableRelation [Table 321 "Tax Group"](../table/321.md)
- VAT Prod. Posting Group: TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md)
- VAT Clause Code: TableRelation [Table 560 "VAT Clause"](../table/560.md)
- No.: TableRelation [Table 7 "Standard Text"](../table/7.md) (conditional)

## Referenced by

6 fields in 2 objects relate to this table (TableRelation or CalcFormula).

- [Table 295 "Reminder Header"](../table/295.md): Add. Fee per Line, Additional Fee, Interest Amount, Remaining Amount, VAT Amount
- [Table 296 "Reminder Line"](../table/296.md): Attached to Line No.

## Pages and codeunits on this table

- [Page 435 "Reminder Lines"](../page/435.md) (source table)

## Recent changes

- 2026-08-31 [#10504 [Reminders] Complete the communication texts model uptake](../../changes/bcapps/10504.md) (main, BC30, feature)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-25, BC28

## Countries that replace it

[FI](../../localizations/fi.md), [GB](../../localizations/gb.md), [NO](../../localizations/no.md)

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