---
id: change/bcapps/10637
type: change
title: "#10637 [Master] - Bug 639548 [Expense Agent] Consolidate country demo data into single W1 app"
summary: Expense Agent demo data is consolidated from separate country packages into a single W1 implementation, with country-specific demo data centralized while localization apps retain only integration hooks.
tier: official
language: en
tags:
  - refactor
  - main
  - bc30
  - codeunit expense event subscriber at
  - codeunit expense event subscriber au
  - codeunit expense event subscriber ca
  - codeunit expense event subscriber de
  - codeunit expense event subscriber dk
  - codeunit expense event subscriber es
system: copilot
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:07:05.813Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: d0c590892ce825c6b40edf3c810d39fe18c8634a
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/10637
    title: "microsoft/BCApps#10637: [Master] - Bug 639548 [Expense Agent] Consolidate country demo data into single W1 app"
    date: "2026-08-28"
    commit: d0c590892ce825c6b40edf3c810d39fe18c8634a
    t: null
    quote: Consolidates Expense Agent demo data into the W1 demo-data extension instead of maintaining separate implementations and packages for each country.
links:
  learn: []
  objects:
    - object/codeunit/6914-at
    - object/codeunit/6915-au
    - object/codeunit/6916-ca
    - object/codeunit/6917-de
    - object/codeunit/6918-dk
    - object/codeunit/6919-es
    - object/codeunit/6920-fr
    - object/codeunit/6921-gb
    - object/codeunit/6977-nz
    - object/codeunit/6913-us
    - object/codeunit/6987
    - object/codeunit/6973
    - object/codeunit/6971
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 10637
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/10637
kind: pr
base_branch: main
major: "30"
merged_at: "2026-08-28T15:30:39Z"
author: v-rohangarg20
author_type: User
community_contribution: false
labels:
  - "AL: Apps (W1)"
  - "Build: scripts & configs"
  - "Ownership: Manual"
  - "Team: Other"
change_class: code
change_kind: refactor
behavior_change: false
breaking: false
files:
  count: 44
  additions: 4741
  deletions: 3753
  al: 13
apps:
  - ExpenseAgent
  - ExpenseAgent_AT
  - ExpenseAgent_AU
  - ExpenseAgent_CA
  - ExpenseAgent_DE
  - ExpenseAgent_DK
  - ExpenseAgent_ES
  - ExpenseAgent_FR
  - ExpenseAgent_GB
  - ExpenseAgent_NZ
  - ExpenseAgent_US
objects_touched:
  - key: codeunit/6914
    page: codeunit/6914-at
    type: codeunit
    id: 6914
    name: Expense Event Subscriber AT
    app: ExpenseAgent_AT
    status: modified
  - key: codeunit/6915
    page: codeunit/6915-au
    type: codeunit
    id: 6915
    name: Expense Event Subscriber AU
    app: ExpenseAgent_AU
    status: modified
  - key: codeunit/6916
    page: codeunit/6916-ca
    type: codeunit
    id: 6916
    name: Expense Event Subscriber CA
    app: ExpenseAgent_CA
    status: modified
  - key: codeunit/6917
    page: codeunit/6917-de
    type: codeunit
    id: 6917
    name: Expense Event Subscriber DE
    app: ExpenseAgent_DE
    status: modified
  - key: codeunit/6918
    page: codeunit/6918-dk
    type: codeunit
    id: 6918
    name: Expense Event Subscriber DK
    app: ExpenseAgent_DK
    status: modified
  - key: codeunit/6919
    page: codeunit/6919-es
    type: codeunit
    id: 6919
    name: Expense Event Subscriber ES
    app: ExpenseAgent_ES
    status: modified
  - key: codeunit/6920
    page: codeunit/6920-fr
    type: codeunit
    id: 6920
    name: Expense Event Subscriber FR
    app: ExpenseAgent_FR
    status: modified
  - key: codeunit/6921
    page: codeunit/6921-gb
    type: codeunit
    id: 6921
    name: Expense Event Subscriber GB
    app: ExpenseAgent_GB
    status: modified
  - key: codeunit/6977
    page: codeunit/6977-nz
    type: codeunit
    id: 6977
    name: Expense Event Subscriber NZ
    app: ExpenseAgent_NZ
    status: modified
  - key: codeunit/6913
    page: codeunit/6913-us
    type: codeunit
    id: 6913
    name: Expense Event Subscriber US
    app: ExpenseAgent_US
    status: modified
  - key: codeunit/6987
    page: codeunit/6987
    type: codeunit
    id: 6987
    name: Expense Report-Post
    app: ExpenseAgent
    status: modified
  - key: codeunit/6973
    page: codeunit/6973
    type: codeunit
    id: 6973
    name: Create Expense Categories
    app: ExpenseAgent
    status: modified
  - key: codeunit/6971
    page: codeunit/6971
    type: codeunit
    id: 6971
    name: Create Expense GL Account
    app: ExpenseAgent
    status: modified
objects_unjoined: []
obsoletions: []
backports: []
fixes_issues: []
work_items:
  - 639548
  - 646163
systems:
  - copilot
quote: Consolidates Expense Agent demo data into the W1 demo-data extension instead of maintaining separate implementations and packages for each country.
joined_against:
  major: "30"
  commit: a4406cfa9e57437fedc49c53c327a199a854491e
---

# #10637 [Master] - Bug 639548 [Expense Agent] Consolidate country demo data into single W1 app

> Expense Agent demo data is consolidated from separate country packages into a single W1 implementation, with country-specific demo data centralized while localization apps retain only integration hooks.

[Pull request](https://github.com/microsoft/BCApps/pull/10637) · merged into `main` (BC30) on 2026-08-28 by v-rohangarg20 · 44 files (+4741 -3753), 13 AL · refactor · tier official · reviewed (checked by Opus)

## What changed

- Moved demo data setup, master, transactional, and historical data from AT, AU, CA, DE, DK, ES, FR, GB, NZ, US extensions into W1 demo-data app
- Centralized G/L accounts, posting groups, categories, per-diem rules, and posted reports with country awareness
- Country Expense Agent subscribers now contain only remaining integration hooks, with obsolete code marked for BC30 cleanup
- Simplified maintenance by eliminating duplicate implementations across 10+ countries
- Updated build configuration, project groups, manifests, and object ID ranges

## AL objects touched

- [Codeunit 6914 "Expense Event Subscriber AT"](../../objects/codeunit/6914-at.md), ExpenseAgent_AT (AT layer): modified
- [Codeunit 6915 "Expense Event Subscriber AU"](../../objects/codeunit/6915-au.md), ExpenseAgent_AU (AU layer): modified
- [Codeunit 6916 "Expense Event Subscriber CA"](../../objects/codeunit/6916-ca.md), ExpenseAgent_CA (CA layer): modified
- [Codeunit 6917 "Expense Event Subscriber DE"](../../objects/codeunit/6917-de.md), ExpenseAgent_DE (DE layer): modified
- [Codeunit 6918 "Expense Event Subscriber DK"](../../objects/codeunit/6918-dk.md), ExpenseAgent_DK (DK layer): modified
- [Codeunit 6919 "Expense Event Subscriber ES"](../../objects/codeunit/6919-es.md), ExpenseAgent_ES (ES layer): modified
- [Codeunit 6920 "Expense Event Subscriber FR"](../../objects/codeunit/6920-fr.md), ExpenseAgent_FR (FR layer): modified
- [Codeunit 6921 "Expense Event Subscriber GB"](../../objects/codeunit/6921-gb.md), ExpenseAgent_GB (GB layer): modified
- [Codeunit 6977 "Expense Event Subscriber NZ"](../../objects/codeunit/6977-nz.md), ExpenseAgent_NZ (NZ layer): modified
- [Codeunit 6913 "Expense Event Subscriber US"](../../objects/codeunit/6913-us.md), ExpenseAgent_US (US layer): modified
- [Codeunit 6987 "Expense Report-Post"](../../objects/codeunit/6987.md), ExpenseAgent: modified
- [Codeunit 6973 "Create Expense Categories"](../../objects/codeunit/6973.md), ExpenseAgent: modified
- [Codeunit 6971 "Create Expense GL Account"](../../objects/codeunit/6971.md), ExpenseAgent: modified

## Context

- Work items: AB#639548, AB#646163
- Labels: AL: Apps (W1), Build: scripts & configs, Ownership: Manual, Team: Other
- Systems: copilot
- From the description: "Consolidates Expense Agent demo data into the W1 demo-data extension instead of maintaining separate implementations and packages for each country."

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