---
id: change/bcapps/11431
type: change
title: "#11431 [Master] - [Expense Management] Move missing Employee Posting Group validation to rule violation"
summary: The Expense Agent now validates Employee Posting Group through rule violations instead of hard errors, allowing users to review and resolve missing posting groups gracefully without getting stuck during submission.
tier: official
language: en
tags:
  - fix
  - main
  - bc30
  - table expense
  - page expense report
  - table expense report header
  - codeunit expense rule validation
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:04:51.214Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 804f2e623faf4878f55fd41d310527ce26fd2bf4
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/11431
    title: "microsoft/BCApps#11431: [Master] - [Expense Management] Move missing Employee Posting Group validation to rule violation"
    date: "2026-09-15"
    commit: 804f2e623faf4878f55fd41d310527ce26fd2bf4
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/table/6900
    - object/page/6910
    - object/table/6906
    - object/codeunit/6902
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 11431
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/11431
kind: pr
base_branch: main
major: "30"
merged_at: "2026-09-15T15:30:34Z"
author: v-rohangarg20
author_type: User
community_contribution: false
labels:
  - "AL: Apps (W1)"
  - "Team: Finance"
change_class: code
change_kind: fix
behavior_change: true
breaking: false
files:
  count: 5
  additions: 231
  deletions: 5
  al: 4
apps:
  - ExpenseAgent
objects_touched:
  - key: table/6900
    page: table/6900
    type: table
    id: 6900
    name: Expense
    app: ExpenseAgent
    status: modified
  - key: page/6910
    page: page/6910
    type: page
    id: 6910
    name: Expense Report
    app: ExpenseAgent
    status: modified
  - key: table/6906
    page: table/6906
    type: table
    id: 6906
    name: Expense Report Header
    app: ExpenseAgent
    status: modified
  - key: codeunit/6902
    page: codeunit/6902
    type: codeunit
    id: 6902
    name: Expense Rule Validation
    app: ExpenseAgent
    status: modified
objects_unjoined: []
obsoletions: []
backports: []
fixes_issues: []
work_items:
  - 645043
systems:
  - development
quote: null
joined_against:
  major: "30"
  commit: ecbc028c25dbe83b61313bc566e6c1d41184bb1c
---

# #11431 [Master] - [Expense Management] Move missing Employee Posting Group validation to rule violation

> The Expense Agent now validates Employee Posting Group through rule violations instead of hard errors, allowing users to review and resolve missing posting groups gracefully without getting stuck during submission.

[Pull request](https://github.com/microsoft/BCApps/pull/11431) · merged into `main` (BC30) on 2026-09-15 by v-rohangarg20 · 5 files (+231 -5), 4 AL · fix · tier official · reviewed (checked by Opus)

## What changed

- Moved Employee Posting Group validation from field-level hard errors to rule violation logic in Expense Rule Validation codeunit
- Added automatic line-level rule re-evaluation when Employee Posting Group is updated on Expense Report Header
- Exposed Employee Posting Group field on the Expense Report page
- Added comprehensive test coverage for the rule violation behavior
- Behaviour changes for users or extensions.

## AL objects touched

- [Table 6900 "Expense"](../../objects/table/6900.md), ExpenseAgent: modified
- [Page 6910 "Expense Report"](../../objects/page/6910.md), ExpenseAgent: modified
- [Table 6906 "Expense Report Header"](../../objects/table/6906.md), ExpenseAgent: modified
- [Codeunit 6902 "Expense Rule Validation"](../../objects/codeunit/6902.md), ExpenseAgent: modified

## Context

- Work items: AB#645043
- Labels: AL: Apps (W1), Team: Finance
- Systems: development

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