---
id: change/bcapps/9461
type: change
title: "#9461 [Extensibility Request] issue 30335: add OnBeforeRecreateSalesLine IsHandled event"
summary: A new OnBeforeRecreateSalesLine integration event with IsHandled flag was added to the Sales Header table in all country layers, enabling extensions to skip the standard sales line recreation logic and provide custom implementations.
tier: official
language: en
tags:
  - feature
  - main
  - bc30
  - table sales header
system: sales
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:11:31.584Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 8846dd6291ac11f0be3e9ea665b23498768a7f92
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/9461
    title: "microsoft/BCApps#9461: [Extensibility Request] issue 30335: add OnBeforeRecreateSalesLine IsHandled event"
    date: "2026-07-24"
    commit: 8846dd6291ac11f0be3e9ea665b23498768a7f92
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/table/36
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 9461
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/9461
kind: pr
base_branch: main
major: "30"
merged_at: "2026-07-24T13:39:06Z"
author: AleksandricMarko
author_type: User
community_contribution: false
labels:
  - "Team: SCM"
  - event-request
change_class: code
change_kind: feature
behavior_change: false
breaking: false
files:
  count: 15
  additions: 240
  deletions: 15
  al: 15
apps:
  - Base Application
objects_touched:
  - key: table/36
    page: table/36
    type: table
    id: 36
    name: Sales Header
    app: Base Application
    status: modified
objects_unjoined:
  - path: src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al
    status: modified
    reason: not-in-snapshot
obsoletions: []
backports: []
fixes_issues: []
work_items:
  - 641988
systems:
  - sales
quote: null
joined_against:
  major: "30"
  commit: f18567dc08e2bd162bf192e1da4d714b57eb099f
---

# #9461 [Extensibility Request] issue 30335: add OnBeforeRecreateSalesLine IsHandled event

> A new OnBeforeRecreateSalesLine integration event with IsHandled flag was added to the Sales Header table in all country layers, enabling extensions to skip the standard sales line recreation logic and provide custom implementations.

[Pull request](https://github.com/microsoft/BCApps/pull/9461) · merged into `main` (BC30) on 2026-07-24 by AleksandricMarko · 15 files (+240 -15), 15 AL · feature · tier official · reviewed (checked by Opus)

## What changed

- New OnBeforeRecreateSalesLine IsHandled integration event published in RecreateSalesLinesHandleSupplementTypes
- Allows subscribers to bypass standard CreateSalesLine call and implement custom sales line creation
- Change propagated across all country-specific layers (W1, NA, GB, BE, CH, CZ, ES, FI, FR, IT, NL, NO, RU, SE, APAC)
- Enables conditional business logic based on extension fields without modifying core recreation flow
- Addresses extensibility gap for complex sales line recreation scenarios

## AL objects touched

- [Table 36 "Sales Header"](../../objects/table/36.md), Base Application: modified
- `src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al`: modified, not in the BC30 snapshot
- `src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al`: modified, not in the BC30 snapshot
- `src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al`: modified, not in the BC30 snapshot

## Context

- Work items: AB#641988
- Labels: Team: SCM, event-request
- Systems: sales

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