---
id: change/bcapps/12290
type: change
title: "#12290 Remove CLEAN27 from Service Management"
summary: Removes code that had been kept behind the CLEAN27 symbol in Service Management across W1 and many localization layers. This deletes obsolete ES and IT pages and codeunits for updating posted service invoices and shipments and strips the related code from service tables, pages, page extensions, reports and codeunits.
tier: official
language: en
tags:
  - refactor
  - main
  - bc30
  - report sales - tax invoice
  - report service - invoice (be)
  - report service - invoice esr
  - pageextension service credit memo es
  - codeunit serv. invoice-split payment
  - codeunit serv. no taxable mgt.
system: service
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:02:03.524Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: bbd24bdec164c401436194e49376050764d05afd
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/12290
    title: "microsoft/BCApps#12290: Remove CLEAN27 from Service Management"
    date: "2026-10-06"
    commit: bbd24bdec164c401436194e49376050764d05afd
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/report/28072-au
    - object/report/11321-be
    - object/report/3010534-ch
    - object/pageextension/10735-es
    - object/codeunit/7000035-es
    - object/codeunit/10741-es
    - object/report/10792-es
    - object/codeunit/10789-es
    - object/report/13411-fi
    - object/report/10572-gb
    - object/report/5911
    - object/table/5902
    - object/pageextension/10020-ca
    - object/pageextension/10021-ca
    - object/pageextension/10022-ca
    - object/pageextension/10023-ca
    - object/pageextension/10024-ca
    - object/pageextension/10025-ca
    - object/pageextension/10026-ca
    - object/pageextension/10027-ca
    - object/report/10479-ca
    - object/codeunit/5968-ca
    - object/pageextension/10012-ca
    - object/pageextension/10013-ca
    - object/pageextension/10014-ca
    - object/pageextension/10015-ca
    - object/report/10474-ca
    - object/codeunit/10059-ca
    - object/report/10631-no
    - object/page/5935
    - object/page/9320
    - object/table/5900
    - object/page/5933
    - object/page/9319
    - object/table/5901
    - object/codeunit/99000842
    - object/page/5900
    - object/page/5914
    - object/page/9318
    - object/page/5964
    - object/page/9317
    - object/page/6030
    - object/page/5972
    - object/page/5971
    - object/page/5978
    - object/page/5977
    - object/page/5975
    - object/page/5974
    - object/table/5994
    - object/table/5992
    - object/table/5990
    - object/codeunit/6485
    - object/codeunit/827
    - object/page/5939
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 12290
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/12290
kind: pr
base_branch: main
major: "30"
merged_at: "2026-10-06T09:23:06Z"
author: Alexander-Ya
author_type: User
community_contribution: false
labels:
  - "Team: SCM"
change_class: code
change_kind: refactor
behavior_change: false
breaking: true
files:
  count: 88
  additions: 1732
  deletions: 9652
  al: 69
apps:
  - Base Application
objects_touched:
  - key: report/28072
    page: report/28072-au
    type: report
    id: 28072
    name: Sales - Tax Invoice
    app: Base Application
    status: modified
  - key: report/11321
    page: report/11321-be
    type: report
    id: 11321
    name: Service - Invoice (BE)
    app: Base Application
    status: modified
  - key: report/3010534
    page: report/3010534-ch
    type: report
    id: 3010534
    name: Service - Invoice ESR
    app: Base Application
    status: modified
  - key: pageextension/10735
    page: pageextension/10735-es
    type: pageextension
    id: 10735
    name: Service Credit Memo ES
    app: Base Application
    status: modified
  - key: codeunit/7000035
    page: codeunit/7000035-es
    type: codeunit
    id: 7000035
    name: Serv. Invoice-Split Payment
    app: Base Application
    status: modified
  - key: codeunit/10741
    page: codeunit/10741-es
    type: codeunit
    id: 10741
    name: Serv. No Taxable Mgt.
    app: Base Application
    status: modified
  - key: report/10792
    page: report/10792-es
    type: report
    id: 10792
    name: Service Invoice (ES)
    app: Base Application
    status: modified
  - key: codeunit/10789
    page: codeunit/10789-es
    type: codeunit
    id: 10789
    name: Service Posting Subscr. ES
    app: Base Application
    status: modified
  - key: report/13411
    page: report/13411-fi
    type: report
    id: 13411
    name: Service - Invoice (FI)
    app: Base Application
    status: modified
  - key: report/10572
    page: report/10572-gb
    type: report
    id: 10572
    name: Sales - Invoice GB
    app: Base Application
    status: modified
  - key: report/5911
    page: report/5911
    type: report
    id: 5911
    name: Service - Invoice
    app: Base Application
    status: modified
  - key: table/5902
    page: table/5902
    type: table
    id: 5902
    name: Service Line
    app: Base Application
    status: modified
  - key: pageextension/10020
    page: pageextension/10020-ca
    type: pageextension
    id: 10020
    name: Service Credit Memo NA
    app: Base Application
    status: modified
  - key: pageextension/10021
    page: pageextension/10021-ca
    type: pageextension
    id: 10021
    name: Service Credit Memos NA
    app: Base Application
    status: modified
  - key: pageextension/10022
    page: pageextension/10022-ca
    type: pageextension
    id: 10022
    name: Service Invoice NA
    app: Base Application
    status: modified
  - key: pageextension/10023
    page: pageextension/10023-ca
    type: pageextension
    id: 10023
    name: Service Invoices NA
    app: Base Application
    status: modified
  - key: pageextension/10024
    page: pageextension/10024-ca
    type: pageextension
    id: 10024
    name: Service Order NA
    app: Base Application
    status: modified
  - key: pageextension/10025
    page: pageextension/10025-ca
    type: pageextension
    id: 10025
    name: Service Orders NA
    app: Base Application
    status: modified
  - key: pageextension/10026
    page: pageextension/10026-ca
    type: pageextension
    id: 10026
    name: Service Quote NA
    app: Base Application
    status: modified
  - key: pageextension/10027
    page: pageextension/10027-ca
    type: pageextension
    id: 10027
    name: Service Quotes NA
    app: Base Application
    status: modified
  - key: report/10479
    page: report/10479-ca
    type: report
    id: 10479
    name: Elec. Service Invoice MX
    app: Base Application
    status: modified
  - key: codeunit/5968
    page: codeunit/5968-ca
    type: codeunit
    id: 5968
    name: Serv. Sales Tax Calculate
    app: Base Application
    status: modified
  - key: pageextension/10012
    page: pageextension/10012-ca
    type: pageextension
    id: 10012
    name: Posted Service Credit Memo NA
    app: Base Application
    status: modified
  - key: pageextension/10013
    page: pageextension/10013-ca
    type: pageextension
    id: 10013
    name: Posted Service Credit Memos NA
    app: Base Application
    status: modified
  - key: pageextension/10014
    page: pageextension/10014-ca
    type: pageextension
    id: 10014
    name: Posted Service Invoice NA
    app: Base Application
    status: modified
  - key: pageextension/10015
    page: pageextension/10015-ca
    type: pageextension
    id: 10015
    name: Posted Service Invoices NA
    app: Base Application
    status: modified
  - key: report/10474
    page: report/10474-ca
    type: report
    id: 10474
    name: Service Invoice-Sales Tax
    app: Base Application
    status: modified
  - key: codeunit/10059
    page: codeunit/10059-ca
    type: codeunit
    id: 10059
    name: Serv. Event Subscribers NA
    app: Base Application
    status: modified
  - key: report/10631
    page: report/10631-no
    type: report
    id: 10631
    name: Service - Invoice (NO)
    app: Base Application
    status: modified
  - key: page/5935
    page: page/5935
    type: page
    id: 5935
    name: Service Credit Memo
    app: Base Application
    status: modified
  - key: page/9320
    page: page/9320
    type: page
    id: 9320
    name: Service Credit Memos
    app: Base Application
    status: modified
  - key: table/5900
    page: table/5900
    type: table
    id: 5900
    name: Service Header
    app: Base Application
    status: modified
  - key: page/5933
    page: page/5933
    type: page
    id: 5933
    name: Service Invoice
    app: Base Application
    status: modified
  - key: page/9319
    page: page/9319
    type: page
    id: 9319
    name: Service Invoices
    app: Base Application
    status: modified
  - key: table/5901
    page: table/5901
    type: table
    id: 5901
    name: Service Item Line
    app: Base Application
    status: modified
  - key: codeunit/99000842
    page: codeunit/99000842
    type: codeunit
    id: 99000842
    name: Service Line-Reserve
    app: Base Application
    status: modified
  - key: page/5900
    page: page/5900
    type: page
    id: 5900
    name: Service Order
    app: Base Application
    status: modified
  - key: page/5914
    page: page/5914
    type: page
    id: 5914
    name: Service Order Statistics
    app: Base Application
    status: modified
  - key: page/9318
    page: page/9318
    type: page
    id: 9318
    name: Service Orders
    app: Base Application
    status: modified
  - key: page/5964
    page: page/5964
    type: page
    id: 5964
    name: Service Quote
    app: Base Application
    status: modified
  - key: page/9317
    page: page/9317
    type: page
    id: 9317
    name: Service Quotes
    app: Base Application
    status: modified
  - key: page/6030
    page: page/6030
    type: page
    id: 6030
    name: Service Statistics
    app: Base Application
    status: modified
  - key: page/5972
    page: page/5972
    type: page
    id: 5972
    name: Posted Service Credit Memo
    app: Base Application
    status: modified
  - key: page/5971
    page: page/5971
    type: page
    id: 5971
    name: Posted Service Credit Memos
    app: Base Application
    status: modified
  - key: page/5978
    page: page/5978
    type: page
    id: 5978
    name: Posted Service Invoice
    app: Base Application
    status: modified
  - key: page/5977
    page: page/5977
    type: page
    id: 5977
    name: Posted Service Invoices
    app: Base Application
    status: modified
  - key: page/5975
    page: page/5975
    type: page
    id: 5975
    name: Posted Service Shipment
    app: Base Application
    status: modified
  - key: page/5974
    page: page/5974
    type: page
    id: 5974
    name: Posted Service Shipments
    app: Base Application
    status: modified
  - key: table/5994
    page: table/5994
    type: table
    id: 5994
    name: Service Cr.Memo Header
    app: Base Application
    status: modified
  - key: table/5992
    page: table/5992
    type: table
    id: 5992
    name: Service Invoice Header
    app: Base Application
    status: modified
  - key: table/5990
    page: table/5990
    type: table
    id: 5990
    name: Service Shipment Header
    app: Base Application
    status: modified
  - key: codeunit/6485
    page: codeunit/6485
    type: codeunit
    id: 6485
    name: Serv. Get Demand To Reserve
    app: Base Application
    status: modified
  - key: codeunit/827
    page: codeunit/827
    type: codeunit
    id: 827
    name: Service Post Invoice Events
    app: Base Application
    status: modified
  - key: page/5939
    page: page/5939
    type: page
    id: 5939
    name: Serv. Apply Customer Entries
    app: Base Application
    status: modified
objects_unjoined:
  - path: src/Layers/ES/BaseApp/Local/Service/History/PostedServInvoiceUpdate.Page.al
    status: removed
    reason: removed
  - path: src/Layers/ES/BaseApp/Local/Service/History/ServiceInvoiceHeaderEdit.Codeunit.al
    status: removed
    reason: removed
  - path: src/Layers/ES/BaseApp/Service/Document/ServiceCreditMemo.Page.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/ES/BaseApp/Service/Posting/ServDocumentsMgt.Codeunit.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/ES/BaseApp/Service/Posting/ServPostingJournalsMgt.Codeunit.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/IT/BaseApp/Service/History/ServiceShipmentHeader.Table.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/IT/BaseApp/Service/Local/History/PostedServInvoiceUpdate.Page.al
    status: removed
    reason: removed
  - path: src/Layers/IT/BaseApp/Service/Local/History/PostedServiceShptUpdate.Page.al
    status: removed
    reason: removed
  - path: src/Layers/IT/BaseApp/Service/Local/History/ServShipmentHeaderEdit.Codeunit.al
    status: removed
    reason: removed
  - path: src/Layers/IT/BaseApp/Service/Local/History/ServiceInvoiceHeaderEdit.Codeunit.al
    status: removed
    reason: removed
  - path: src/Layers/NA/BaseApp/Service/History/ServiceInvoice.Report.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/W1/BaseApp/Service/Inventory/Planning/ServPlanningAvailability.Codeunit.al
    status: removed
    reason: removed
  - path: src/Layers/W1/BaseApp/Service/Pricing/ServPriceListLine.TableExt.al
    status: removed
    reason: removed
obsoletions: []
backports: []
fixes_issues: []
work_items:
  - 647784
systems:
  - service
  - finance
  - sales
  - integration
  - inventory
quote: null
joined_against:
  major: "30"
  commit: f18567dc08e2bd162bf192e1da4d714b57eb099f
---

# #12290 Remove CLEAN27 from Service Management

> Removes code that had been kept behind the CLEAN27 symbol in Service Management across W1 and many localization layers. This deletes obsolete ES and IT pages and codeunits for updating posted service invoices and shipments and strips the related code from service tables, pages, page extensions, reports and codeunits.

[Pull request](https://github.com/microsoft/BCApps/pull/12290) · merged into `main` (BC30) on 2026-10-06 by Alexander-Ya · 88 files (+1732 -9652), 69 AL · refactor · tier official · reviewed (checked by Opus)

## What changed

- Removed CLEAN27-guarded code from service documents, history pages, tables and reports
- Deleted ES and IT pages for updating posted service invoices and shipments
- Deleted the ES and IT codeunits for editing service invoice and shipment headers
- Cleaned NA service page extensions and event subscribers
- Touches W1, APAC, BE, CH, ES, FI, GB, IT, NA and NO layers
- Breaking: existing extensions can stop compiling or working.

## AL objects touched

- [Report 28072 "Sales - Tax Invoice"](../../objects/report/28072-au.md), Base Application (AU layer): modified
- [Report 11321 "Service - Invoice (BE)"](../../objects/report/11321-be.md), Base Application (BE layer): modified
- [Report 3010534 "Service - Invoice ESR"](../../objects/report/3010534-ch.md), Base Application (CH layer): modified
- [Page extension 10735 "Service Credit Memo ES"](../../objects/pageextension/10735-es.md), Base Application (ES layer): modified
- [Codeunit 7000035 "Serv. Invoice-Split Payment"](../../objects/codeunit/7000035-es.md), Base Application (ES layer): modified
- [Codeunit 10741 "Serv. No Taxable Mgt."](../../objects/codeunit/10741-es.md), Base Application (ES layer): modified
- [Report 10792 "Service Invoice (ES)"](../../objects/report/10792-es.md), Base Application (ES layer): modified
- [Codeunit 10789 "Service Posting Subscr. ES"](../../objects/codeunit/10789-es.md), Base Application (ES layer): modified
- [Report 13411 "Service - Invoice (FI)"](../../objects/report/13411-fi.md), Base Application (FI layer): modified
- [Report 10572 "Sales - Invoice GB"](../../objects/report/10572-gb.md), Base Application (GB layer): modified
- [Report 5911 "Service - Invoice"](../../objects/report/5911.md), Base Application: modified
- [Table 5902 "Service Line"](../../objects/table/5902.md), Base Application: modified
- [Page extension 10020 "Service Credit Memo NA"](../../objects/pageextension/10020-ca.md), Base Application (CA layer): modified
- [Page extension 10021 "Service Credit Memos NA"](../../objects/pageextension/10021-ca.md), Base Application (CA layer): modified
- [Page extension 10022 "Service Invoice NA"](../../objects/pageextension/10022-ca.md), Base Application (CA layer): modified
- [Page extension 10023 "Service Invoices NA"](../../objects/pageextension/10023-ca.md), Base Application (CA layer): modified
- [Page extension 10024 "Service Order NA"](../../objects/pageextension/10024-ca.md), Base Application (CA layer): modified
- [Page extension 10025 "Service Orders NA"](../../objects/pageextension/10025-ca.md), Base Application (CA layer): modified
- [Page extension 10026 "Service Quote NA"](../../objects/pageextension/10026-ca.md), Base Application (CA layer): modified
- [Page extension 10027 "Service Quotes NA"](../../objects/pageextension/10027-ca.md), Base Application (CA layer): modified
- [Report 10479 "Elec. Service Invoice MX"](../../objects/report/10479-ca.md), Base Application (CA layer): modified
- [Codeunit 5968 "Serv. Sales Tax Calculate"](../../objects/codeunit/5968-ca.md), Base Application (CA layer): modified
- [Page extension 10012 "Posted Service Credit Memo NA"](../../objects/pageextension/10012-ca.md), Base Application (CA layer): modified
- [Page extension 10013 "Posted Service Credit Memos NA"](../../objects/pageextension/10013-ca.md), Base Application (CA layer): modified
- [Page extension 10014 "Posted Service Invoice NA"](../../objects/pageextension/10014-ca.md), Base Application (CA layer): modified
- [Page extension 10015 "Posted Service Invoices NA"](../../objects/pageextension/10015-ca.md), Base Application (CA layer): modified
- [Report 10474 "Service Invoice-Sales Tax"](../../objects/report/10474-ca.md), Base Application (CA layer): modified
- [Codeunit 10059 "Serv. Event Subscribers NA"](../../objects/codeunit/10059-ca.md), Base Application (CA layer): modified
- [Report 10631 "Service - Invoice (NO)"](../../objects/report/10631-no.md), Base Application (NO layer): modified
- [Page 5935 "Service Credit Memo"](../../objects/page/5935.md), Base Application: modified
- [Page 9320 "Service Credit Memos"](../../objects/page/9320.md), Base Application: modified
- [Table 5900 "Service Header"](../../objects/table/5900.md), Base Application: modified
- [Page 5933 "Service Invoice"](../../objects/page/5933.md), Base Application: modified
- [Page 9319 "Service Invoices"](../../objects/page/9319.md), Base Application: modified
- [Table 5901 "Service Item Line"](../../objects/table/5901.md), Base Application: modified
- [Codeunit 99000842 "Service Line-Reserve"](../../objects/codeunit/99000842.md), Base Application: modified
- [Page 5900 "Service Order"](../../objects/page/5900.md), Base Application: modified
- [Page 5914 "Service Order Statistics"](../../objects/page/5914.md), Base Application: modified
- [Page 9318 "Service Orders"](../../objects/page/9318.md), Base Application: modified
- [Page 5964 "Service Quote"](../../objects/page/5964.md), Base Application: modified
- [Page 9317 "Service Quotes"](../../objects/page/9317.md), Base Application: modified
- [Page 6030 "Service Statistics"](../../objects/page/6030.md), Base Application: modified
- [Page 5972 "Posted Service Credit Memo"](../../objects/page/5972.md), Base Application: modified
- [Page 5971 "Posted Service Credit Memos"](../../objects/page/5971.md), Base Application: modified
- [Page 5978 "Posted Service Invoice"](../../objects/page/5978.md), Base Application: modified
- [Page 5977 "Posted Service Invoices"](../../objects/page/5977.md), Base Application: modified
- [Page 5975 "Posted Service Shipment"](../../objects/page/5975.md), Base Application: modified
- [Page 5974 "Posted Service Shipments"](../../objects/page/5974.md), Base Application: modified
- [Table 5994 "Service Cr.Memo Header"](../../objects/table/5994.md), Base Application: modified
- [Table 5992 "Service Invoice Header"](../../objects/table/5992.md), Base Application: modified
- [Table 5990 "Service Shipment Header"](../../objects/table/5990.md), Base Application: modified
- [Codeunit 6485 "Serv. Get Demand To Reserve"](../../objects/codeunit/6485.md), Base Application: modified
- [Codeunit 827 "Service Post Invoice Events"](../../objects/codeunit/827.md), Base Application: modified
- [Page 5939 "Serv. Apply Customer Entries"](../../objects/page/5939.md), Base Application: modified
- `src/Layers/ES/BaseApp/Local/Service/History/PostedServInvoiceUpdate.Page.al`: removed
- `src/Layers/ES/BaseApp/Local/Service/History/ServiceInvoiceHeaderEdit.Codeunit.al`: removed
- `src/Layers/ES/BaseApp/Service/Document/ServiceCreditMemo.Page.al`: modified, not in the BC30 snapshot
- `src/Layers/ES/BaseApp/Service/Posting/ServDocumentsMgt.Codeunit.al`: modified, not in the BC30 snapshot
- `src/Layers/ES/BaseApp/Service/Posting/ServPostingJournalsMgt.Codeunit.al`: modified, not in the BC30 snapshot
- `src/Layers/IT/BaseApp/Service/History/ServiceShipmentHeader.Table.al`: modified, not in the BC30 snapshot
- `src/Layers/IT/BaseApp/Service/Local/History/PostedServInvoiceUpdate.Page.al`: removed
- `src/Layers/IT/BaseApp/Service/Local/History/PostedServiceShptUpdate.Page.al`: removed
- `src/Layers/IT/BaseApp/Service/Local/History/ServShipmentHeaderEdit.Codeunit.al`: removed
- `src/Layers/IT/BaseApp/Service/Local/History/ServiceInvoiceHeaderEdit.Codeunit.al`: removed
- `src/Layers/NA/BaseApp/Service/History/ServiceInvoice.Report.al`: modified, not in the BC30 snapshot
- `src/Layers/W1/BaseApp/Service/Inventory/Planning/ServPlanningAvailability.Codeunit.al`: removed
- `src/Layers/W1/BaseApp/Service/Pricing/ServPriceListLine.TableExt.al`: removed

## Context

- Work items: AB#647784
- Labels: Team: SCM
- Systems: service, finance, sales, integration, inventory

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).
