---
id: change/bcapps/10504
type: change
title: "#10504 [Reminders] Complete the communication texts model uptake"
summary: Reminder attachment and email communication model is now the permanent behavior across runtime code, UI, tests, and demo data, removing feature-gated branches and legacy model assumptions.
tier: official
language: en
tags:
  - feature
  - main
  - bc30
  - codeunit create reminder text
  - codeunit contoso reminder
  - codeunit bc14 reminder text migrator
  - table reminder header
  - report reminder
  - table reminder line
system: sales
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:07:03.214Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 5ebbccd89969820e8de68aa8ff89c72baf3a5dcb
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/10504
    title: "microsoft/BCApps#10504: [Reminders] Complete the communication texts model uptake"
    date: "2026-08-31"
    commit: 5ebbccd89969820e8de68aa8ff89c72baf3a5dcb
    t: null
    quote: Always use reminder attachment and email communication records.
links:
  learn: []
  objects:
    - object/codeunit/5268
    - object/codeunit/5694
    - object/codeunit/46927
    - object/table/295
    - object/report/117
    - object/table/296
    - object/page/8901
    - object/table/1053
    - object/table/293
    - object/page/432
    - object/page/431
    - object/page/1052
    - object/table/1052
    - object/page/433
    - object/table/294
    - object/codeunit/1890
    - object/table/503
    - object/page/1895
    - object/page/837
    - object/page/459
    - object/codeunit/8616
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 10504
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/10504
kind: pr
base_branch: main
major: "30"
merged_at: "2026-08-31T10:47:55Z"
author: Jose-agg
author_type: User
community_contribution: false
labels:
  - "AL: Apps (W1)"
  - "Team: Finance"
change_class: code
change_kind: feature
behavior_change: true
breaking: false
files:
  count: 158
  additions: 2674
  deletions: 2564
  al: 62
apps:
  - Base Application
  - ContosoCoffeeDemoDataset
  - HybridBC14
objects_touched:
  - key: codeunit/5268
    page: codeunit/5268
    type: codeunit
    id: 5268
    name: Create Reminder Text
    app: ContosoCoffeeDemoDataset
    status: modified
  - key: codeunit/5694
    page: codeunit/5694
    type: codeunit
    id: 5694
    name: Contoso Reminder
    app: ContosoCoffeeDemoDataset
    status: modified
  - key: codeunit/46927
    page: codeunit/46927
    type: codeunit
    id: 46927
    name: BC14 Reminder Text Migrator
    app: HybridBC14
    status: modified
  - key: table/295
    page: table/295
    type: table
    id: 295
    name: Reminder Header
    app: Base Application
    status: modified
  - key: report/117
    page: report/117
    type: report
    id: 117
    name: Reminder
    app: Base Application
    status: modified
  - key: table/296
    page: table/296
    type: table
    id: 296
    name: Reminder Line
    app: Base Application
    status: modified
  - key: page/8901
    page: page/8901
    type: page
    id: 8901
    name: Finance Manager Role Center
    app: Base Application
    status: modified
  - key: table/1053
    page: table/1053
    type: table
    id: 1053
    name: Line Fee Note on Report Hist.
    app: Base Application
    status: modified
  - key: table/293
    page: table/293
    type: table
    id: 293
    name: Reminder Level
    app: Base Application
    status: modified
  - key: page/432
    page: page/432
    type: page
    id: 432
    name: Reminder Levels
    app: Base Application
    status: modified
  - key: page/431
    page: page/431
    type: page
    id: 431
    name: Reminder Terms
    app: Base Application
    status: modified
  - key: page/1052
    page: page/1052
    type: page
    id: 1052
    name: Reminder Terms Translation
    app: Base Application
    status: modified
  - key: table/1052
    page: table/1052
    type: table
    id: 1052
    name: Reminder Terms Translation
    app: Base Application
    status: modified
  - key: page/433
    page: page/433
    type: page
    id: 433
    name: Reminder Text
    app: Base Application
    status: modified
  - key: table/294
    page: table/294
    type: table
    id: 294
    name: Reminder Text
    app: Base Application
    status: modified
  - key: codeunit/1890
    page: codeunit/1890
    type: codeunit
    id: 1890
    name: Reminder Communication
    app: Base Application
    status: modified
  - key: table/503
    page: table/503
    type: table
    id: 503
    name: Reminder Email Text
    app: Base Application
    status: modified
  - key: page/1895
    page: page/1895
    type: page
    id: 1895
    name: Reminder Level Fee Setup
    app: Base Application
    status: modified
  - key: page/837
    page: page/837
    type: page
    id: 837
    name: Reminder Terms List
    app: Base Application
    status: modified
  - key: page/459
    page: page/459
    type: page
    id: 459
    name: Sales & Receivables Setup
    app: Base Application
    status: modified
  - key: codeunit/8616
    page: codeunit/8616
    type: codeunit
    id: 8616
    name: Config. Management
    app: Base Application
    status: modified
objects_unjoined:
  - path: src/Layers/APAC/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/APAC/BaseApp/Sales/Reminder/Reminder.Report.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/APAC/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/AT/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/AU/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/BE/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/CH/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/CH/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/DACH/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/DACH/BaseApp/Sales/Reminder/Reminder.Report.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/DE/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/ES/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/ES/BaseApp/Sales/Reminder/ReminderLine.Table.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/ES/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/FI/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/FI/BaseApp/Sales/Reminder/Reminder.Report.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/FI/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/FR/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/GB/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/GB/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/IS/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/IS/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/IT/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/IT/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NA/BaseApp/Sales/Reminder/Reminder.Report.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NL/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NO/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/NO/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/RU/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/RU/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/SE/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al
    status: modified
    reason: not-in-snapshot
obsoletions: []
backports:
  - number: 10729
    base: releases/29.x
    url: https://github.com/microsoft/BCApps/pull/10729
fixes_issues: []
work_items:
  - 599040
systems:
  - sales
  - platform
  - administration
  - development
  - finance
quote: Always use reminder attachment and email communication records.
joined_against:
  major: "30"
  commit: f18567dc08e2bd162bf192e1da4d714b57eb099f
---

# #10504 [Reminders] Complete the communication texts model uptake

> Reminder attachment and email communication model is now the permanent behavior across runtime code, UI, tests, and demo data, removing feature-gated branches and legacy model assumptions.

[Pull request](https://github.com/microsoft/BCApps/pull/10504) · merged into `main` (BC30) on 2026-08-31 by Jose-agg · 158 files (+2674 -2564), 62 AL · feature · tier official · reviewed (checked by Opus)

## What changed

- Always use reminder attachment and email communication records instead of legacy text model
- Remove feature-key branches and redirect legacy navigation to new pages/reports
- Update tests to use permanent model without feature toggling
- Generate Contoso demo data for reminder communications with safe rerun capability
- Align line-fee report history with level-over-terms, per-language fallback semantics
- Behaviour changes for users or extensions.

## AL objects touched

- [Codeunit 5268 "Create Reminder Text"](../../objects/codeunit/5268.md), ContosoCoffeeDemoDataset: modified
- [Codeunit 5694 "Contoso Reminder"](../../objects/codeunit/5694.md), ContosoCoffeeDemoDataset: modified
- [Codeunit 46927 "BC14 Reminder Text Migrator"](../../objects/codeunit/46927.md), HybridBC14: modified
- [Table 295 "Reminder Header"](../../objects/table/295.md), Base Application: modified
- [Report 117 "Reminder"](../../objects/report/117.md), Base Application: modified
- [Table 296 "Reminder Line"](../../objects/table/296.md), Base Application: modified
- [Page 8901 "Finance Manager Role Center"](../../objects/page/8901.md), Base Application: modified
- [Table 1053 "Line Fee Note on Report Hist."](../../objects/table/1053.md), Base Application: modified
- [Table 293 "Reminder Level"](../../objects/table/293.md), Base Application: modified
- [Page 432 "Reminder Levels"](../../objects/page/432.md), Base Application: modified
- [Page 431 "Reminder Terms"](../../objects/page/431.md), Base Application: modified
- [Page 1052 "Reminder Terms Translation"](../../objects/page/1052.md), Base Application: modified
- [Table 1052 "Reminder Terms Translation"](../../objects/table/1052.md), Base Application: modified
- [Page 433 "Reminder Text"](../../objects/page/433.md), Base Application: modified
- [Table 294 "Reminder Text"](../../objects/table/294.md), Base Application: modified
- [Codeunit 1890 "Reminder Communication"](../../objects/codeunit/1890.md), Base Application: modified
- [Table 503 "Reminder Email Text"](../../objects/table/503.md), Base Application: modified
- [Page 1895 "Reminder Level Fee Setup"](../../objects/page/1895.md), Base Application: modified
- [Page 837 "Reminder Terms List"](../../objects/page/837.md), Base Application: modified
- [Page 459 "Sales & Receivables Setup"](../../objects/page/459.md), Base Application: modified
- [Codeunit 8616 "Config. Management"](../../objects/codeunit/8616.md), Base Application: modified
- `src/Layers/APAC/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/APAC/BaseApp/Sales/Reminder/Reminder.Report.al`: modified, not in the BC30 snapshot
- `src/Layers/APAC/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/AT/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/AU/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/BE/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/CH/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/CH/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/DACH/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/DACH/BaseApp/Sales/Reminder/Reminder.Report.al`: modified, not in the BC30 snapshot
- `src/Layers/DE/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/ES/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/ES/BaseApp/Sales/Reminder/ReminderLine.Table.al`: modified, not in the BC30 snapshot
- `src/Layers/ES/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/FI/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/FI/BaseApp/Sales/Reminder/Reminder.Report.al`: modified, not in the BC30 snapshot
- `src/Layers/FI/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/FR/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/GB/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/GB/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/IS/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/IS/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/IT/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/IT/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NA/BaseApp/Sales/Reminder/Reminder.Report.al`: modified, not in the BC30 snapshot
- `src/Layers/NL/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NO/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/NO/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/RU/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/RU/BaseApp/Sales/Setup/SalesReceivablesSetup.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/SE/BaseApp/Finance/RoleCenters/FinanceManagerRoleCenter.Page.al`: modified, not in the BC30 snapshot

## Also merged into

- [#10729](https://github.com/microsoft/BCApps/pull/10729) into `releases/29.x` on 2026-08-30

## Context

- Work items: AB#599040
- Labels: AL: Apps (W1), Team: Finance
- Systems: sales, platform, administration, development, finance
- From the description: "Always use reminder attachment and email communication records."

Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).
