---
id: change/bcapps/10631
type: change
title: "#10631 Integration/main to releases 29.x 31a860b5"
summary: Integration of 46 commits from main into the BC29 release branch includes enhancements to e-document processing, expense report policy evaluations, agent features, and various localization and financial modules.
tier: official
language: en
tags:
  - feature
  - releases/29.x
  - bc29
  - codeunit export xrechnung document
  - codeunit import xrechnung document
  - codeunit export zugferd document
  - codeunit import zugferd document
  - codeunit peppol30 de party info
  - codeunit peppol30 de sales validation
system: copilot
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:07:33.570Z"
  flags: []
generated:
  at: "2026-10-11T00:26:06.897Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 202b98770ce601716f20cf99439483fc6171628a
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/10631
    title: "microsoft/BCApps#10631: Integration/main to releases 29.x 31a860b5"
    date: "2026-08-26"
    commit: 202b98770ce601716f20cf99439483fc6171628a
    t: null
    quote: Final integration from main into releases/29.x, including all changes through commit 31a860b527f0dc72c7a44a255d7e7d403cfa4789.
links:
  learn: []
  objects:
    - object/codeunit/13916-de
    - object/codeunit/13915-de
    - object/codeunit/13917-de
    - object/codeunit/13919-de
    - object/codeunit/37403-de
    - object/codeunit/37400-de
    - object/codeunit/10041-us
    - object/pageextension/4353
    - object/pageextension/4354
    - object/codeunit/4350
    - object/page/4350
    - object/page/4352
    - object/page/4363
    - object/table/6121
    - object/page/6105
    - object/pageextension/6165
    - object/tableextension/6173
    - object/pageextension/6161
    - object/tableextension/6165
    - object/codeunit/6109
    - object/codeunit/6175
    - object/codeunit/6406
    - object/codeunit/6124
    - object/report/4403
    - object/report/4402
    - object/table/4401
    - object/page/6909
    - object/page/6915
    - object/page/7104
    - object/page/7126
    - object/page/6905
    - object/page/6929
    - object/page/6928
    - object/page/7108
    - object/codeunit/7107
    - object/table/7106
    - object/page/6913
    - object/page/7105
    - object/codeunit/6901
    - object/codeunit/6906
    - object/enum/6984
    - object/enum/6989
    - object/enum/6990
    - object/page/7125
    - object/page/7124
    - object/page/7109
    - object/page/7106
    - object/table/7096
    - object/table/7105
    - object/codeunit/6974
    - object/codeunit/6987
    - object/codeunit/6984
    - object/page/6999
    - object/page/6993
    - object/table/6906
    - object/table/6907
    - object/table/6911
    - object/table/6908
    - object/table/6909
    - object/table/6916
    - object/page/6945
    - object/page/7127
    - object/table/7092
    - object/permissionset/6953
    - object/permissionset/6952
    - object/permissionset/6904
    - object/permissionset/6905
    - object/permissionset/6906
    - object/permissionset/6907
    - object/codeunit/6950
    - object/codeunit/6978
    - object/page/6996
    - object/page/6991
    - object/table/6930
    - object/codeunit/7056
    - object/pageextension/3309
    - object/page/4409
    - object/codeunit/4415
    - object/page/4404
    - object/codeunit/4418
    - object/codeunit/4581
    - object/codeunit/4408
    - object/table/4588
    - object/codeunit/4589
    - object/tableextension/4412
    - object/page/4410
    - object/codeunit/4591
    - object/page/4400
    - object/codeunit/4306
    - object/codeunit/30103
    - object/codeunit/30246
    - object/codeunit/30161
    - object/codeunit/6218
    - object/page/6219
    - object/pageextension/6211
    - object/table/6786
    - object/pageextension/6799
    - object/pageextension/6800
    - object/codeunit/6785
    - object/codeunit/12
    - object/table/39
    - object/table/37
    - object/codeunit/10750-es
    - object/table/5050
    - object/codeunit/5812
    - object/codeunit/1222
    - object/codeunit/22
    - object/report/1131
    - object/codeunit/561
    - object/codeunit/99000758
    - object/report/5802
    - object/report/5855
    - object/page/9631
    - object/page/9633
    - object/codeunit/5378
    - object/permissionset/5377
    - object/permissionset/209
    - object/codeunit/7018
    - object/enum/1005
    - object/table/315
    - object/codeunit/5900
    - object/report/7305
    - object/page/694
    - object/table/478
    - object/page/691
    - object/page/692
    - object/table/476
    - object/table/473
    - object/page/690
    - object/codeunit/4307
    - object/codeunit/4308
    - object/codeunit/4300
    - object/page/4300
    - object/codeunit/4301
    - object/page/4343
    - object/permissionset/8335
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 10631
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/10631
kind: pr
base_branch: releases/29.x
major: "29"
merged_at: "2026-08-26T07:23:17Z"
author: mirouhl
author_type: User
community_contribution: false
labels:
  - "AL: Apps (W1)"
  - "AL: Business Foundation"
  - "AL: System Application"
  - "AL: Tools"
  - "Build: Automation"
  - "Build: scripts & configs"
  - needs-approval
change_class: code
change_kind: feature
behavior_change: true
breaking: false
files:
  count: 263
  additions: 16755
  deletions: 1826
  al: 176
apps:
  - AgentDesignExperience
  - Base Application
  - EDocument
  - EDocumentDE
  - ExcelReports
  - ExpenseAgent
  - ExpenseWithholdingTax
  - IRSForms
  - PEPPOLDE
  - PayablesAgent
  - SalesOrderAgent
  - Shopify
  - Sustainability
  - System Application
  - WithholdingTax
objects_touched:
  - key: codeunit/13916
    page: codeunit/13916-de
    type: codeunit
    id: 13916
    name: Export XRechnung Document
    app: EDocumentDE
    status: modified
  - key: codeunit/13915
    page: codeunit/13915-de
    type: codeunit
    id: 13915
    name: Import XRechnung Document
    app: EDocumentDE
    status: modified
  - key: codeunit/13917
    page: codeunit/13917-de
    type: codeunit
    id: 13917
    name: Export ZUGFeRD Document
    app: EDocumentDE
    status: modified
  - key: codeunit/13919
    page: codeunit/13919-de
    type: codeunit
    id: 13919
    name: Import ZUGFeRD Document
    app: EDocumentDE
    status: modified
  - key: codeunit/37403
    page: codeunit/37403-de
    type: codeunit
    id: 37403
    name: PEPPOL30 DE Party Info
    app: PEPPOLDE
    status: modified
  - key: codeunit/37400
    page: codeunit/37400-de
    type: codeunit
    id: 37400
    name: PEPPOL30 DE Sales Validation
    app: PEPPOLDE
    status: modified
  - key: codeunit/10041
    page: codeunit/10041-us
    type: codeunit
    id: 10041
    name: IRS 1099 Form Box Calc. Impl.
    app: IRSForms
    status: modified
  - key: pageextension/4353
    page: pageextension/4353
    type: pageextension
    id: 4353
    name: Agent Card
    app: AgentDesignExperience
    status: modified
  - key: pageextension/4354
    page: pageextension/4354
    type: pageextension
    id: 4354
    name: Agent List
    app: AgentDesignExperience
    status: modified
  - key: codeunit/4350
    page: codeunit/4350
    type: codeunit
    id: 4350
    name: Custom Agent Setup
    app: AgentDesignExperience
    status: modified
  - key: page/4350
    page: page/4350
    type: page
    id: 4350
    name: Custom Agent Setup
    app: AgentDesignExperience
    status: modified
  - key: page/4352
    page: page/4352
    type: page
    id: 4352
    name: Cust. Agent Instructions Log
    app: AgentDesignExperience
    status: modified
  - key: page/4363
    page: page/4363
    type: page
    id: 4363
    name: Agent Instruction Editor
    app: AgentDesignExperience
    status: modified
  - key: table/6121
    page: table/6121
    type: table
    id: 6121
    name: E-Document
    app: EDocument
    status: modified
  - key: page/6105
    page: page/6105
    type: page
    id: 6105
    name: Inbound E-Documents
    app: EDocument
    status: modified
  - key: pageextension/6165
    page: pageextension/6165
    type: pageextension
    id: 6165
    name: E-Doc. Company Information
    app: EDocument
    status: modified
  - key: tableextension/6173
    page: tableextension/6173
    type: tableextension
    id: 6173
    name: E-Doc. Company Information
    app: EDocument
    status: added
  - key: pageextension/6161
    page: pageextension/6161
    type: pageextension
    id: 6161
    name: E-Doc. Vendor Page
    app: EDocument
    status: modified
  - key: tableextension/6165
    page: tableextension/6165
    type: tableextension
    id: 6165
    name: E-Document Vendor
    app: EDocument
    status: modified
  - key: codeunit/6109
    page: codeunit/6109
    type: codeunit
    id: 6109
    name: E-Document Import Helper
    app: EDocument
    status: modified
  - key: codeunit/6175
    page: codeunit/6175
    type: codeunit
    id: 6175
    name: E-Doc. Activity Log Session
    app: EDocument
    status: modified
  - key: codeunit/6406
    page: codeunit/6406
    type: codeunit
    id: 6406
    name: EDoc Prepare Purch. Draft
    app: EDocument
    status: modified
  - key: codeunit/6124
    page: codeunit/6124
    type: codeunit
    id: 6124
    name: E-Doc. Providers
    app: EDocument
    status: modified
  - key: report/4403
    page: report/4403
    type: report
    id: 4403
    name: EXR Aged Acc Payable Excel
    app: ExcelReports
    status: modified
  - key: report/4402
    page: report/4402
    type: report
    id: 4402
    name: EXR Aged Accounts Rec Excel
    app: ExcelReports
    status: modified
  - key: table/4401
    page: table/4401
    type: table
    id: 4401
    name: EXR Aging Report Buffer
    app: ExcelReports
    status: modified
  - key: page/6909
    page: page/6909
    type: page
    id: 6909
    name: Exp. Report Line Particip. API
    app: ExpenseAgent
    status: modified
  - key: page/6915
    page: page/6915
    type: page
    id: 6915
    name: Exp. Report Line Per Diem API
    app: ExpenseAgent
    status: modified
  - key: page/7104
    page: page/7104
    type: page
    id: 7104
    name: Expense Policies API
    app: ExpenseAgent
    status: added
  - key: page/7126
    page: page/7126
    type: page
    id: 7126
    name: Expense Policy Evaluations API
    app: ExpenseAgent
    status: added
  - key: page/6905
    page: page/6905
    type: page
    id: 6905
    name: Expense Report Line Item API
    app: ExpenseAgent
    status: modified
  - key: page/6929
    page: page/6929
    type: page
    id: 6929
    name: Expense Report Lines API
    app: ExpenseAgent
    status: modified
  - key: page/6928
    page: page/6928
    type: page
    id: 6928
    name: Expense Reports API
    app: ExpenseAgent
    status: modified
  - key: page/7108
    page: page/7108
    type: page
    id: 7108
    name: Exp. Policies To Eval API
    app: ExpenseAgent
    status: added
  - key: codeunit/7107
    page: codeunit/7107
    type: codeunit
    id: 7107
    name: Exp. Policies To Eval Builder
    app: ExpenseAgent
    status: added
  - key: table/7106
    page: table/7106
    type: table
    id: 7106
    name: Exp. Policy To Eval Buffer
    app: ExpenseAgent
    status: added
  - key: page/6913
    page: page/6913
    type: page
    id: 6913
    name: Posted Exp. Report Lines API
    app: ExpenseAgent
    status: modified
  - key: page/7105
    page: page/7105
    type: page
    id: 7105
    name: Posted Policy Evaluations API
    app: ExpenseAgent
    status: added
  - key: codeunit/6901
    page: codeunit/6901
    type: codeunit
    id: 6901
    name: Expense Report Approval Mgmt
    app: ExpenseAgent
    status: modified
  - key: codeunit/6906
    page: codeunit/6906
    type: codeunit
    id: 6906
    name: Expense Capabilities Provider
    app: ExpenseAgent
    status: modified
  - key: enum/6984
    page: enum/6984
    type: enum
    id: 6984
    name: Expense Capability
    app: ExpenseAgent
    status: modified
  - key: enum/6989
    page: enum/6989
    type: enum
    id: 6989
    name: Expense Policy Status
    app: ExpenseAgent
    status: added
  - key: enum/6990
    page: enum/6990
    type: enum
    id: 6990
    name: Expense Policy Subject
    app: ExpenseAgent
    status: added
  - key: page/7125
    page: page/7125
    type: page
    id: 7125
    name: Expense Policy Evaluation Card
    app: ExpenseAgent
    status: added
  - key: page/7124
    page: page/7124
    type: page
    id: 7124
    name: Expense Policy Evaluations
    app: ExpenseAgent
    status: added
  - key: page/7109
    page: page/7109
    type: page
    id: 7109
    name: Posted Exp. Policy Evaluations
    app: ExpenseAgent
    status: added
  - key: page/7106
    page: page/7106
    type: page
    id: 7106
    name: Posted Policy Evaluation Card
    app: ExpenseAgent
    status: added
  - key: table/7096
    page: table/7096
    type: table
    id: 7096
    name: Expense Policy Evaluation
    app: ExpenseAgent
    status: added
  - key: table/7105
    page: table/7105
    type: table
    id: 7105
    name: Posted Exp. Policy Evaluation
    app: ExpenseAgent
    status: added
  - key: codeunit/6974
    page: codeunit/6974
    type: codeunit
    id: 6974
    name: Cancel Posted Expense Report
    app: ExpenseAgent
    status: modified
  - key: codeunit/6987
    page: codeunit/6987
    type: codeunit
    id: 6987
    name: Expense Report-Post
    app: ExpenseAgent
    status: modified
  - key: codeunit/6984
    page: codeunit/6984
    type: codeunit
    id: 6984
    name: Release Exp. Report Document
    app: ExpenseAgent
    status: modified
  - key: page/6999
    page: page/6999
    type: page
    id: 6999
    name: Expense Report SubPage
    app: ExpenseAgent
    status: modified
  - key: page/6993
    page: page/6993
    type: page
    id: 6993
    name: Posted Expense Report SubP.
    app: ExpenseAgent
    status: modified
  - key: table/6906
    page: table/6906
    type: table
    id: 6906
    name: Expense Report Header
    app: ExpenseAgent
    status: modified
  - key: table/6907
    page: table/6907
    type: table
    id: 6907
    name: Expense Report Line
    app: ExpenseAgent
    status: modified
  - key: table/6911
    page: table/6911
    type: table
    id: 6911
    name: Expense Report Line Item
    app: ExpenseAgent
    status: modified
  - key: table/6908
    page: table/6908
    type: table
    id: 6908
    name: Expense Report Line Particip.
    app: ExpenseAgent
    status: modified
  - key: table/6909
    page: table/6909
    type: table
    id: 6909
    name: Expense Report Line Per Diem
    app: ExpenseAgent
    status: modified
  - key: table/6916
    page: table/6916
    type: table
    id: 6916
    name: Posted Expense Report Line
    app: ExpenseAgent
    status: modified
  - key: page/6945
    page: page/6945
    type: page
    id: 6945
    name: Expense Category Card
    app: ExpenseAgent
    status: modified
  - key: page/7127
    page: page/7127
    type: page
    id: 7127
    name: Expense Policies
    app: ExpenseAgent
    status: added
  - key: table/7092
    page: table/7092
    type: table
    id: 7092
    name: Expense Policy
    app: ExpenseAgent
    status: added
  - key: permissionset/6953
    page: permissionset/6953
    type: permissionset
    id: 6953
    name: Expense Agent - Data
    app: ExpenseAgent
    status: modified
  - key: permissionset/6952
    page: permissionset/6952
    type: permissionset
    id: 6952
    name: Expense Agent - Objects
    app: ExpenseAgent
    status: modified
  - key: permissionset/6904
    page: permissionset/6904
    type: permissionset
    id: 6904
    name: Expense Management - Objects
    app: ExpenseAgent
    status: modified
  - key: permissionset/6905
    page: permissionset/6905
    type: permissionset
    id: 6905
    name: Expense Mgmt. Admin
    app: ExpenseAgent
    status: modified
  - key: permissionset/6906
    page: permissionset/6906
    type: permissionset
    id: 6906
    name: Expense Mgmt. Edit
    app: ExpenseAgent
    status: modified
  - key: permissionset/6907
    page: permissionset/6907
    type: permissionset
    id: 6907
    name: Expense Mgmt. Read
    app: ExpenseAgent
    status: modified
  - key: codeunit/6950
    page: codeunit/6950
    type: codeunit
    id: 6950
    name: Expense Agent Privacy Subs.
    app: ExpenseAgent
    status: modified
  - key: codeunit/6978
    page: codeunit/6978
    type: codeunit
    id: 6978
    name: Upgrade Expense Agent Setup
    app: ExpenseAgent
    status: modified
  - key: page/6996
    page: page/6996
    type: page
    id: 6996
    name: Expense Agent Setup
    app: ExpenseAgent
    status: modified
  - key: page/6991
    page: page/6991
    type: page
    id: 6991
    name: Expense Agent Setup Wizard
    app: ExpenseAgent
    status: modified
  - key: table/6930
    page: table/6930
    type: table
    id: 6930
    name: Expense Agent Setup
    app: ExpenseAgent
    status: modified
  - key: codeunit/7056
    page: codeunit/7056
    type: codeunit
    id: 7056
    name: WHT Expense Category Mgt.
    app: ExpenseWithholdingTax
    status: modified
  - key: pageextension/3309
    page: pageextension/3309
    type: pageextension
    id: 3309
    name: PA Purchase Invoice List
    app: PayablesAgent
    status: modified
  - key: page/4409
    page: page/4409
    type: page
    id: 4409
    name: SOA Create Task
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4415
    page: codeunit/4415
    type: codeunit
    id: 4415
    name: SOA Create Task Impl
    app: SalesOrderAgent
    status: modified
  - key: page/4404
    page: page/4404
    type: page
    id: 4404
    name: SOA Email Message
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4418
    page: codeunit/4418
    type: codeunit
    id: 4418
    name: SOA Reply Retry Mgt.
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4581
    page: codeunit/4581
    type: codeunit
    id: 4581
    name: SOA Send Replies
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4408
    page: codeunit/4408
    type: codeunit
    id: 4408
    name: SOA Set Reply Failed
    app: SalesOrderAgent
    status: added
  - key: table/4588
    page: table/4588
    type: table
    id: 4588
    name: SOA Task Contact Override
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4589
    page: codeunit/4589
    type: codeunit
    id: 4589
    name: SOA Upgrade
    app: SalesOrderAgent
    status: modified
  - key: tableextension/4412
    page: tableextension/4412
    type: tableextension
    id: 4412
    name: SOA Item Ext
    app: SalesOrderAgent
    status: added
  - key: page/4410
    page: page/4410
    type: page
    id: 4410
    name: SOA Multi Items Availability
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4591
    page: codeunit/4591
    type: codeunit
    id: 4591
    name: SOA Item Search
    app: SalesOrderAgent
    status: modified
  - key: page/4400
    page: page/4400
    type: page
    id: 4400
    name: SOA Setup
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4306
    page: codeunit/4306
    type: codeunit
    id: 4306
    name: SOA Session Filter
    app: SalesOrderAgent
    status: modified
  - key: codeunit/30103
    page: codeunit/30103
    type: codeunit
    id: 30103
    name: Shpfy Communication Mgt.
    app: Shopify
    status: modified
  - key: codeunit/30246
    page: codeunit/30246
    type: codeunit
    id: 30246
    name: Shpfy Create Sales Doc. Refund
    app: Shopify
    status: modified
  - key: codeunit/30161
    page: codeunit/30161
    type: codeunit
    id: 30161
    name: Shpfy Import Order
    app: Shopify
    status: modified
  - key: codeunit/6218
    page: codeunit/6218
    type: codeunit
    id: 6218
    name: Sustainability Calc. Mgt.
    app: Sustainability
    status: modified
  - key: page/6219
    page: page/6219
    type: page
    id: 6219
    name: Sustainability Journal
    app: Sustainability
    status: modified
  - key: pageextension/6211
    page: pageextension/6211
    type: pageextension
    id: 6211
    name: Sust. Purch. Order Subform
    app: Sustainability
    status: modified
  - key: table/6786
    page: table/6786
    type: table
    id: 6786
    name: Withholding Tax Posting Setup
    app: WithholdingTax
    status: modified
  - key: pageextension/6799
    page: pageextension/6799
    type: pageextension
    id: 6799
    name: Withholding General Journal
    app: WithholdingTax
    status: added
  - key: pageextension/6800
    page: pageextension/6800
    type: pageextension
    id: 6800
    name: Withholding Payment Journal
    app: WithholdingTax
    status: added
  - key: codeunit/6785
    page: codeunit/6785
    type: codeunit
    id: 6785
    name: Withholding Tax Mgmt.
    app: WithholdingTax
    status: modified
  - key: codeunit/12
    page: codeunit/12
    type: codeunit
    id: 12
    name: Gen. Jnl.-Post Line
    app: Base Application
    status: modified
  - key: table/39
    page: table/39
    type: table
    id: 39
    name: Purchase Line
    app: Base Application
    status: modified
  - key: table/37
    page: table/37
    type: table
    id: 37
    name: Sales Line
    app: Base Application
    status: modified
  - key: codeunit/10750
    page: codeunit/10750-es
    type: codeunit
    id: 10750
    name: SII XML Creator
    app: Base Application
    status: modified
  - key: table/5050
    page: table/5050
    type: table
    id: 5050
    name: Contact
    app: Base Application
    status: modified
  - key: codeunit/5812
    page: codeunit/5812
    type: codeunit
    id: 5812
    name: Calculate Standard Cost
    app: Base Application
    status: modified
  - key: codeunit/1222
    page: codeunit/1222
    type: codeunit
    id: 1222
    name: SEPA CT-Prepare Source
    app: Base Application
    status: modified
  - key: codeunit/22
    page: codeunit/22
    type: codeunit
    id: 22
    name: Item Jnl.-Post Line
    app: Base Application
    status: modified
  - key: report/1131
    page: report/1131
    type: report
    id: 1131
    name: Cost Allocation
    app: Base Application
    status: modified
  - key: codeunit/561
    page: codeunit/561
    type: codeunit
    id: 561
    name: IC Data Exchange API
    app: Base Application
    status: modified
  - key: codeunit/99000758
    page: codeunit/99000758
    type: codeunit
    id: 99000758
    name: Mfg. Cost Calculation Mgt.
    app: Base Application
    status: modified
  - key: report/5802
    page: report/5802
    type: report
    id: 5802
    name: Inventory Valuation - WIP
    app: Base Application
    status: modified
  - key: report/5855
    page: report/5855
    type: report
    id: 5855
    name: Implement Standard Cost Change
    app: Base Application
    status: modified
  - key: page/9631
    page: page/9631
    type: page
    id: 9631
    name: Page Inspection
    app: Base Application
    status: modified
  - key: page/9633
    page: page/9633
    type: page
    id: 9633
    name: Page Inspection Extensions
    app: Base Application
    status: modified
  - key: codeunit/5378
    page: codeunit/5378
    type: codeunit
    id: 5378
    name: Page Inspection VS Code Helper
    app: Base Application
    status: modified
  - key: permissionset/5377
    page: permissionset/5377
    type: permissionset
    id: 5377
    name: Page Inspection
    app: Base Application
    status: modified
  - key: permissionset/209
    page: permissionset/209
    type: permissionset
    id: 209
    name: D365 Basic - Read
    app: Base Application
    status: modified
  - key: codeunit/7018
    page: codeunit/7018
    type: codeunit
    id: 7018
    name: Price UX Management
    app: Base Application
    status: modified
  - key: enum/1005
    page: enum/1005
    type: enum
    id: 1005
    name: Job Archive Option
    app: Base Application
    status: added
  - key: table/315
    page: table/315
    type: table
    id: 315
    name: Jobs Setup
    app: Base Application
    status: modified
  - key: codeunit/5900
    page: codeunit/5900
    type: codeunit
    id: 5900
    name: ServOrderManagement
    app: Base Application
    status: modified
  - key: report/7305
    page: report/7305
    type: report
    id: 7305
    name: Whse.-Source - Create Document
    app: Base Application
    status: modified
  - key: page/694
    page: page/694
    type: page
    id: 694
    name: Report Inbox Companies API
    app: Base Application
    status: added
  - key: table/478
    page: table/478
    type: table
    id: 478
    name: Report Inbox Company Buffer
    app: Base Application
    status: added
  - key: page/691
    page: page/691
    type: page
    id: 691
    name: Report Inbox Content API
    app: Base Application
    status: added
  - key: page/692
    page: page/692
    type: page
    id: 692
    name: Report Inbox File API
    app: Base Application
    status: added
  - key: table/476
    page: table/476
    type: table
    id: 476
    name: Report Inbox File Buffer
    app: Base Application
    status: added
  - key: table/473
    page: table/473
    type: table
    id: 473
    name: Report Inbox Item Buffer
    app: Base Application
    status: added
  - key: page/690
    page: page/690
    type: page
    id: 690
    name: Report Inbox Items API
    app: Base Application
    status: added
  - key: codeunit/4307
    page: codeunit/4307
    type: codeunit
    id: 4307
    name: Agent Message
    app: System Application
    status: modified
  - key: codeunit/4308
    page: codeunit/4308
    type: codeunit
    id: 4308
    name: Agent Message Impl.
    app: System Application
    status: modified
  - key: codeunit/4300
    page: codeunit/4300
    type: codeunit
    id: 4300
    name: Agent Task Impl.
    app: System Application
    status: modified
  - key: page/4300
    page: page/4300
    type: page
    id: 4300
    name: Agent Task List
    app: System Application
    status: modified
  - key: codeunit/4301
    page: codeunit/4301
    type: codeunit
    id: 4301
    name: Agent Impl.
    app: System Application
    status: modified
  - key: page/4343
    page: page/4343
    type: page
    id: 4343
    name: Agent Task Context Part
    app: System Application
    status: modified
  - key: permissionset/8335
    page: permissionset/8335
    type: permissionset
    id: 8335
    name: VSC Intgr. - Admin
    app: System Application
    status: modified
objects_unjoined:
  - path: src/Layers/APAC/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/BE/BaseApp/Sales/Document/SalesLine.Table.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/CH/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/ES/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/IT/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al
    status: modified
    reason: not-in-snapshot
obsoletions: []
backports: []
fixes_issues: []
work_items:
  - 646616
systems:
  - copilot
  - integration
  - finance
  - purchasing
  - sales
  - development
  - inventory
  - manufacturing
  - sustainability
  - projects
  - administration
  - crm
  - service
  - warehouse
quote: Final integration from main into releases/29.x, including all changes through commit 31a860b527f0dc72c7a44a255d7e7d403cfa4789.
joined_against:
  major: "29"
  commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
---

# #10631 Integration/main to releases 29.x 31a860b5

> Integration of 46 commits from main into the BC29 release branch includes enhancements to e-document processing, expense report policy evaluations, agent features, and various localization and financial modules.

[Pull request](https://github.com/microsoft/BCApps/pull/10631) · merged into `releases/29.x` (BC29) on 2026-08-26 by mirouhl · 263 files (+16755 -1826), 176 AL · feature · tier official · reviewed (checked by Opus)

## What changed

- Integrates 46 commits from main into releases/29.x, keeping the original order and SHAs
- Expense Agent gains policy evaluation tables, pages, enums and APIs, including posted evaluations
- E-Document, AgentDesignExperience, Sales Order Agent, Shopify, Sustainability, Withholding Tax and Excel Reports apps are modified
- German e-document (XRechnung, ZUGFeRD, PEPPOL) and US IRS 1099 code and Base Application objects also change
- Behaviour changes for users or extensions.

## AL objects touched

- [Codeunit 13916 "Export XRechnung Document"](../../objects/codeunit/13916-de.md), EDocumentDE (DE layer): modified
- [Codeunit 13915 "Import XRechnung Document"](../../objects/codeunit/13915-de.md), EDocumentDE (DE layer): modified
- [Codeunit 13917 "Export ZUGFeRD Document"](../../objects/codeunit/13917-de.md), EDocumentDE (DE layer): modified
- [Codeunit 13919 "Import ZUGFeRD Document"](../../objects/codeunit/13919-de.md), EDocumentDE (DE layer): modified
- [Codeunit 37403 "PEPPOL30 DE Party Info"](../../objects/codeunit/37403-de.md), PEPPOLDE (DE layer): modified
- [Codeunit 37400 "PEPPOL30 DE Sales Validation"](../../objects/codeunit/37400-de.md), PEPPOLDE (DE layer): modified
- [Codeunit 10041 "IRS 1099 Form Box Calc. Impl."](../../objects/codeunit/10041-us.md), IRSForms (US layer): modified
- [Page extension 4353 "Agent Card"](../../objects/pageextension/4353.md), AgentDesignExperience: modified
- [Page extension 4354 "Agent List"](../../objects/pageextension/4354.md), AgentDesignExperience: modified
- [Codeunit 4350 "Custom Agent Setup"](../../objects/codeunit/4350.md), AgentDesignExperience: modified
- [Page 4350 "Custom Agent Setup"](../../objects/page/4350.md), AgentDesignExperience: modified
- [Page 4352 "Cust. Agent Instructions Log"](../../objects/page/4352.md), AgentDesignExperience: modified
- [Page 4363 "Agent Instruction Editor"](../../objects/page/4363.md), AgentDesignExperience: modified
- [Table 6121 "E-Document"](../../objects/table/6121.md), EDocument: modified
- [Page 6105 "Inbound E-Documents"](../../objects/page/6105.md), EDocument: modified
- [Page extension 6165 "E-Doc. Company Information"](../../objects/pageextension/6165.md), EDocument: modified
- [Table extension 6173 "E-Doc. Company Information"](../../objects/tableextension/6173.md), EDocument: added
- [Page extension 6161 "E-Doc. Vendor Page"](../../objects/pageextension/6161.md), EDocument: modified
- [Table extension 6165 "E-Document Vendor"](../../objects/tableextension/6165.md), EDocument: modified
- [Codeunit 6109 "E-Document Import Helper"](../../objects/codeunit/6109.md), EDocument: modified
- [Codeunit 6175 "E-Doc. Activity Log Session"](../../objects/codeunit/6175.md), EDocument: modified
- [Codeunit 6406 "EDoc Prepare Purch. Draft"](../../objects/codeunit/6406.md), EDocument: modified
- [Codeunit 6124 "E-Doc. Providers"](../../objects/codeunit/6124.md), EDocument: modified
- [Report 4403 "EXR Aged Acc Payable Excel"](../../objects/report/4403.md), ExcelReports: modified
- [Report 4402 "EXR Aged Accounts Rec Excel"](../../objects/report/4402.md), ExcelReports: modified
- [Table 4401 "EXR Aging Report Buffer"](../../objects/table/4401.md), ExcelReports: modified
- [Page 6909 "Exp. Report Line Particip. API"](../../objects/page/6909.md), ExpenseAgent: modified
- [Page 6915 "Exp. Report Line Per Diem API"](../../objects/page/6915.md), ExpenseAgent: modified
- [Page 7104 "Expense Policies API"](../../objects/page/7104.md), ExpenseAgent: added
- [Page 7126 "Expense Policy Evaluations API"](../../objects/page/7126.md), ExpenseAgent: added
- [Page 6905 "Expense Report Line Item API"](../../objects/page/6905.md), ExpenseAgent: modified
- [Page 6929 "Expense Report Lines API"](../../objects/page/6929.md), ExpenseAgent: modified
- [Page 6928 "Expense Reports API"](../../objects/page/6928.md), ExpenseAgent: modified
- [Page 7108 "Exp. Policies To Eval API"](../../objects/page/7108.md), ExpenseAgent: added
- [Codeunit 7107 "Exp. Policies To Eval Builder"](../../objects/codeunit/7107.md), ExpenseAgent: added
- [Table 7106 "Exp. Policy To Eval Buffer"](../../objects/table/7106.md), ExpenseAgent: added
- [Page 6913 "Posted Exp. Report Lines API"](../../objects/page/6913.md), ExpenseAgent: modified
- [Page 7105 "Posted Policy Evaluations API"](../../objects/page/7105.md), ExpenseAgent: added
- [Codeunit 6901 "Expense Report Approval Mgmt"](../../objects/codeunit/6901.md), ExpenseAgent: modified
- [Codeunit 6906 "Expense Capabilities Provider"](../../objects/codeunit/6906.md), ExpenseAgent: modified
- [Enum 6984 "Expense Capability"](../../objects/enum/6984.md), ExpenseAgent: modified
- [Enum 6989 "Expense Policy Status"](../../objects/enum/6989.md), ExpenseAgent: added
- [Enum 6990 "Expense Policy Subject"](../../objects/enum/6990.md), ExpenseAgent: added
- [Page 7125 "Expense Policy Evaluation Card"](../../objects/page/7125.md), ExpenseAgent: added
- [Page 7124 "Expense Policy Evaluations"](../../objects/page/7124.md), ExpenseAgent: added
- [Page 7109 "Posted Exp. Policy Evaluations"](../../objects/page/7109.md), ExpenseAgent: added
- [Page 7106 "Posted Policy Evaluation Card"](../../objects/page/7106.md), ExpenseAgent: added
- [Table 7096 "Expense Policy Evaluation"](../../objects/table/7096.md), ExpenseAgent: added
- [Table 7105 "Posted Exp. Policy Evaluation"](../../objects/table/7105.md), ExpenseAgent: added
- [Codeunit 6974 "Cancel Posted Expense Report"](../../objects/codeunit/6974.md), ExpenseAgent: modified
- [Codeunit 6987 "Expense Report-Post"](../../objects/codeunit/6987.md), ExpenseAgent: modified
- [Codeunit 6984 "Release Exp. Report Document"](../../objects/codeunit/6984.md), ExpenseAgent: modified
- [Page 6999 "Expense Report SubPage"](../../objects/page/6999.md), ExpenseAgent: modified
- [Page 6993 "Posted Expense Report SubP."](../../objects/page/6993.md), ExpenseAgent: modified
- [Table 6906 "Expense Report Header"](../../objects/table/6906.md), ExpenseAgent: modified
- [Table 6907 "Expense Report Line"](../../objects/table/6907.md), ExpenseAgent: modified
- [Table 6911 "Expense Report Line Item"](../../objects/table/6911.md), ExpenseAgent: modified
- [Table 6908 "Expense Report Line Particip."](../../objects/table/6908.md), ExpenseAgent: modified
- [Table 6909 "Expense Report Line Per Diem"](../../objects/table/6909.md), ExpenseAgent: modified
- [Table 6916 "Posted Expense Report Line"](../../objects/table/6916.md), ExpenseAgent: modified
- [Page 6945 "Expense Category Card"](../../objects/page/6945.md), ExpenseAgent: modified
- [Page 7127 "Expense Policies"](../../objects/page/7127.md), ExpenseAgent: added
- [Table 7092 "Expense Policy"](../../objects/table/7092.md), ExpenseAgent: added
- [Permission set 6953 "Expense Agent - Data"](../../objects/permissionset/6953.md), ExpenseAgent: modified
- [Permission set 6952 "Expense Agent - Objects"](../../objects/permissionset/6952.md), ExpenseAgent: modified
- [Permission set 6904 "Expense Management - Objects"](../../objects/permissionset/6904.md), ExpenseAgent: modified
- [Permission set 6905 "Expense Mgmt. Admin"](../../objects/permissionset/6905.md), ExpenseAgent: modified
- [Permission set 6906 "Expense Mgmt. Edit"](../../objects/permissionset/6906.md), ExpenseAgent: modified
- [Permission set 6907 "Expense Mgmt. Read"](../../objects/permissionset/6907.md), ExpenseAgent: modified
- [Codeunit 6950 "Expense Agent Privacy Subs."](../../objects/codeunit/6950.md), ExpenseAgent: modified
- [Codeunit 6978 "Upgrade Expense Agent Setup"](../../objects/codeunit/6978.md), ExpenseAgent: modified
- [Page 6996 "Expense Agent Setup"](../../objects/page/6996.md), ExpenseAgent: modified
- [Page 6991 "Expense Agent Setup Wizard"](../../objects/page/6991.md), ExpenseAgent: modified
- [Table 6930 "Expense Agent Setup"](../../objects/table/6930.md), ExpenseAgent: modified
- [Codeunit 7056 "WHT Expense Category Mgt."](../../objects/codeunit/7056.md), ExpenseWithholdingTax: modified
- [Page extension 3309 "PA Purchase Invoice List"](../../objects/pageextension/3309.md), PayablesAgent: modified
- [Page 4409 "SOA Create Task"](../../objects/page/4409.md), SalesOrderAgent: modified
- [Codeunit 4415 "SOA Create Task Impl"](../../objects/codeunit/4415.md), SalesOrderAgent: modified
- [Page 4404 "SOA Email Message"](../../objects/page/4404.md), SalesOrderAgent: modified
- [Codeunit 4418 "SOA Reply Retry Mgt."](../../objects/codeunit/4418.md), SalesOrderAgent: modified
- [Codeunit 4581 "SOA Send Replies"](../../objects/codeunit/4581.md), SalesOrderAgent: modified
- [Codeunit 4408 "SOA Set Reply Failed"](../../objects/codeunit/4408.md), SalesOrderAgent: added
- [Table 4588 "SOA Task Contact Override"](../../objects/table/4588.md), SalesOrderAgent: modified
- [Codeunit 4589 "SOA Upgrade"](../../objects/codeunit/4589.md), SalesOrderAgent: modified
- [Table extension 4412 "SOA Item Ext"](../../objects/tableextension/4412.md), SalesOrderAgent: added
- [Page 4410 "SOA Multi Items Availability"](../../objects/page/4410.md), SalesOrderAgent: modified
- [Codeunit 4591 "SOA Item Search"](../../objects/codeunit/4591.md), SalesOrderAgent: modified
- [Page 4400 "SOA Setup"](../../objects/page/4400.md), SalesOrderAgent: modified
- [Codeunit 4306 "SOA Session Filter"](../../objects/codeunit/4306.md), SalesOrderAgent: modified
- [Codeunit 30103 "Shpfy Communication Mgt."](../../objects/codeunit/30103.md), Shopify: modified
- [Codeunit 30246 "Shpfy Create Sales Doc. Refund"](../../objects/codeunit/30246.md), Shopify: modified
- [Codeunit 30161 "Shpfy Import Order"](../../objects/codeunit/30161.md), Shopify: modified
- [Codeunit 6218 "Sustainability Calc. Mgt."](../../objects/codeunit/6218.md), Sustainability: modified
- [Page 6219 "Sustainability Journal"](../../objects/page/6219.md), Sustainability: modified
- [Page extension 6211 "Sust. Purch. Order Subform"](../../objects/pageextension/6211.md), Sustainability: modified
- [Table 6786 "Withholding Tax Posting Setup"](../../objects/table/6786.md), WithholdingTax: modified
- [Page extension 6799 "Withholding General Journal"](../../objects/pageextension/6799.md), WithholdingTax: added
- [Page extension 6800 "Withholding Payment Journal"](../../objects/pageextension/6800.md), WithholdingTax: added
- [Codeunit 6785 "Withholding Tax Mgmt."](../../objects/codeunit/6785.md), WithholdingTax: modified
- [Codeunit 12 "Gen. Jnl.-Post Line"](../../objects/codeunit/12.md), Base Application: modified
- [Table 39 "Purchase Line"](../../objects/table/39.md), Base Application: modified
- [Table 37 "Sales Line"](../../objects/table/37.md), Base Application: modified
- [Codeunit 10750 "SII XML Creator"](../../objects/codeunit/10750-es.md), Base Application (ES layer): modified
- [Table 5050 "Contact"](../../objects/table/5050.md), Base Application (FR layer): modified
- [Codeunit 5812 "Calculate Standard Cost"](../../objects/codeunit/5812.md), Base Application: modified
- [Codeunit 1222 "SEPA CT-Prepare Source"](../../objects/codeunit/1222.md), Base Application (NL layer): modified
- [Codeunit 22 "Item Jnl.-Post Line"](../../objects/codeunit/22.md), Base Application: modified
- [Report 1131 "Cost Allocation"](../../objects/report/1131.md), Base Application: modified
- [Codeunit 561 "IC Data Exchange API"](../../objects/codeunit/561.md), Base Application: modified
- [Codeunit 99000758 "Mfg. Cost Calculation Mgt."](../../objects/codeunit/99000758.md), Base Application: modified
- [Report 5802 "Inventory Valuation - WIP"](../../objects/report/5802.md), Base Application: modified
- [Report 5855 "Implement Standard Cost Change"](../../objects/report/5855.md), Base Application: modified
- [Page 9631 "Page Inspection"](../../objects/page/9631.md), Base Application: modified
- [Page 9633 "Page Inspection Extensions"](../../objects/page/9633.md), Base Application: modified
- [Codeunit 5378 "Page Inspection VS Code Helper"](../../objects/codeunit/5378.md), Base Application: modified
- [Permission set 5377 "Page Inspection"](../../objects/permissionset/5377.md), Base Application: modified
- [Permission set 209 "D365 Basic - Read"](../../objects/permissionset/209.md), Base Application: modified
- [Codeunit 7018 "Price UX Management"](../../objects/codeunit/7018.md), Base Application: modified
- [Enum 1005 "Job Archive Option"](../../objects/enum/1005.md), Base Application: added
- [Table 315 "Jobs Setup"](../../objects/table/315.md), Base Application: modified
- [Codeunit 5900 "ServOrderManagement"](../../objects/codeunit/5900.md), Base Application: modified
- [Report 7305 "Whse.-Source - Create Document"](../../objects/report/7305.md), Base Application: modified
- [Page 694 "Report Inbox Companies API"](../../objects/page/694.md), Base Application: added
- [Table 478 "Report Inbox Company Buffer"](../../objects/table/478.md), Base Application: added
- [Page 691 "Report Inbox Content API"](../../objects/page/691.md), Base Application: added
- [Page 692 "Report Inbox File API"](../../objects/page/692.md), Base Application: added
- [Table 476 "Report Inbox File Buffer"](../../objects/table/476.md), Base Application: added
- [Table 473 "Report Inbox Item Buffer"](../../objects/table/473.md), Base Application: added
- [Page 690 "Report Inbox Items API"](../../objects/page/690.md), Base Application: added
- [Codeunit 4307 "Agent Message"](../../objects/codeunit/4307.md), System Application: modified
- [Codeunit 4308 "Agent Message Impl."](../../objects/codeunit/4308.md), System Application: modified
- [Codeunit 4300 "Agent Task Impl."](../../objects/codeunit/4300.md), System Application: modified
- [Page 4300 "Agent Task List"](../../objects/page/4300.md), System Application: modified
- [Codeunit 4301 "Agent Impl."](../../objects/codeunit/4301.md), System Application: modified
- [Page 4343 "Agent Task Context Part"](../../objects/page/4343.md), System Application: modified
- [Permission set 8335 "VSC Intgr. - Admin"](../../objects/permissionset/8335.md), System Application: modified
- `src/Layers/APAC/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al`: modified, not in the BC29 snapshot
- `src/Layers/BE/BaseApp/Sales/Document/SalesLine.Table.al`: modified, not in the BC29 snapshot
- `src/Layers/CH/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al`: modified, not in the BC29 snapshot
- `src/Layers/ES/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al`: modified, not in the BC29 snapshot
- `src/Layers/IT/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al`: modified, not in the BC29 snapshot

## Context

- Work items: AB#646616
- Labels: AL: Apps (W1), AL: Business Foundation, AL: System Application, AL: Tools, Build: Automation, Build: scripts & configs, needs-approval
- Systems: copilot, integration, finance, purchasing, sales, development, inventory, manufacturing, sustainability, projects, administration, crm, service, warehouse
- From the description: "Final integration from main into releases/29.x, including all changes through commit 31a860b527f0dc72c7a44a255d7e7d403cfa4789."

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