---
id: change/bcapps/10437
type: change
title: "#10437 [FR E-Reporting] Add payment and invoice lifecycle messages"
summary: E-Document message lifecycle infrastructure and French electronic invoicing support added to enable payment and invoice lifecycle communication with message queuing, response handling, VAT allocation, and buyer acceptance or refusal workflows.
tier: official
language: en
tags:
  - feature
  - main
  - bc30
  - permissionset e-doc. core - objects
  - permissionset e-doc. core - user
  - table e-document
  - interface imessageresponsehandler
  - interface imessagesender
  - enum service integration
system: integration
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:05:03.351Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 9c3aad52a7e47e033ce5c440e2903499df879a70
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/10437
    title: "microsoft/BCApps#10437: [FR E-Reporting] Add payment and invoice lifecycle messages"
    date: "2026-09-15"
    commit: 9c3aad52a7e47e033ce5c440e2903499df879a70
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/permissionset/6100
    - object/permissionset/6105
    - object/table/6121
    - object/interface/imessageresponsehandler
    - object/interface/imessagesender
    - object/enum/6151
    - object/codeunit/6246
    - object/codeunit/6133
    - object/table/6434
    - object/codeunit/6533
    - object/codeunit/6433
    - object/codeunit/6538
    - object/codeunit/6539
    - object/codeunit/6535
    - object/codeunit/6537
    - object/enum/6429
    - object/codeunit/6534
    - object/codeunit/6248
    - object/codeunit/6249
    - object/enum/6539
    - object/table/6433
    - object/codeunit/6536
    - object/enum/6115
    - object/table/6432
    - object/codeunit/6532
    - object/page/6434
    - object/codeunit/6531
    - object/reportextension/6100
    - object/codeunit/6168
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 10437
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/10437
kind: pr
base_branch: main
major: "30"
merged_at: "2026-09-15T10:18:53Z"
author: djukicmilica
author_type: User
community_contribution: false
labels:
  - "AL: Apps (W1)"
  - "Ownership: Needs Review"
  - "Team: Other"
change_class: code
change_kind: feature
behavior_change: true
breaking: false
files:
  count: 61
  additions: 6347
  deletions: 51
  al: 29
apps:
  - EDocument
objects_touched:
  - key: permissionset/6100
    page: permissionset/6100
    type: permissionset
    id: 6100
    name: E-Doc. Core - Objects
    app: EDocument
    status: modified
  - key: permissionset/6105
    page: permissionset/6105
    type: permissionset
    id: 6105
    name: E-Doc. Core - User
    app: EDocument
    status: modified
  - key: table/6121
    page: table/6121
    type: table
    id: 6121
    name: E-Document
    app: EDocument
    status: modified
  - key: interface/imessageresponsehandler
    page: interface/imessageresponsehandler
    type: interface
    id: null
    name: IMessageResponseHandler
    app: EDocument
    status: added
  - key: interface/imessagesender
    page: interface/imessagesender
    type: interface
    id: null
    name: IMessageSender
    app: EDocument
    status: added
  - key: enum/6151
    page: enum/6151
    type: enum
    id: 6151
    name: Service Integration
    app: EDocument
    status: modified
  - key: codeunit/6246
    page: codeunit/6246
    type: codeunit
    id: 6246
    name: E-Doc. Item Charge Mapping
    app: EDocument
    status: modified
  - key: codeunit/6133
    page: codeunit/6133
    type: codeunit
    id: 6133
    name: E-Document Background Jobs
    app: EDocument
    status: modified
  - key: table/6434
    page: table/6434
    type: table
    id: 6434
    name: E-Doc. External Reference
    app: EDocument
    status: added
  - key: codeunit/6533
    page: codeunit/6533
    type: codeunit
    id: 6533
    name: E-Doc. Message Context
    app: EDocument
    status: added
  - key: codeunit/6433
    page: codeunit/6433
    type: codeunit
    id: 6433
    name: E-Doc. Message Mgt.
    app: EDocument
    status: modified
  - key: codeunit/6538
    page: codeunit/6538
    type: codeunit
    id: 6538
    name: E-Doc. Message Resp. Runner
    app: EDocument
    status: added
  - key: codeunit/6539
    page: codeunit/6539
    type: codeunit
    id: 6539
    name: E-Doc. Message Response Job
    app: EDocument
    status: added
  - key: codeunit/6535
    page: codeunit/6535
    type: codeunit
    id: 6535
    name: E-Doc. Message Send Job
    app: EDocument
    status: added
  - key: codeunit/6537
    page: codeunit/6537
    type: codeunit
    id: 6537
    name: E-Doc. Message Send Runner
    app: EDocument
    status: added
  - key: enum/6429
    page: enum/6429
    type: enum
    id: 6429
    name: E-Doc. Message Status
    app: EDocument
    status: modified
  - key: codeunit/6534
    page: codeunit/6534
    type: codeunit
    id: 6534
    name: E-Doc. Msg. Transport Default
    app: EDocument
    status: added
  - key: codeunit/6248
    page: codeunit/6248
    type: codeunit
    id: 6248
    name: E-Doc. Payment Occ. Dispatcher
    app: EDocument
    status: added
  - key: codeunit/6249
    page: codeunit/6249
    type: codeunit
    id: 6249
    name: E-Doc. Payment Occ. Runner
    app: EDocument
    status: added
  - key: enum/6539
    page: enum/6539
    type: enum
    id: 6539
    name: E-Doc. Payment Occ. Status
    app: EDocument
    status: added
  - key: table/6433
    page: table/6433
    type: table
    id: 6433
    name: E-Doc. Payment Occurrence
    app: EDocument
    status: added
  - key: codeunit/6536
    page: codeunit/6536
    type: codeunit
    id: 6536
    name: E-Doc. Payment Occurrence Mgt.
    app: EDocument
    status: added
  - key: enum/6115
    page: enum/6115
    type: enum
    id: 6115
    name: E-Doc. Payment Occurrence Type
    app: EDocument
    status: added
  - key: table/6432
    page: table/6432
    type: table
    id: 6432
    name: E-Document Message
    app: EDocument
    status: modified
  - key: codeunit/6532
    page: codeunit/6532
    type: codeunit
    id: 6532
    name: E-Document Message API
    app: EDocument
    status: added
  - key: page/6434
    page: page/6434
    type: page
    id: 6434
    name: E-Document Messages FactBox
    app: EDocument
    status: modified
  - key: codeunit/6531
    page: codeunit/6531
    type: codeunit
    id: 6531
    name: E-Doc. Remit. Advice Export
    app: EDocument
    status: modified
  - key: reportextension/6100
    page: reportextension/6100
    type: reportextension
    id: 6100
    name: E-Doc. Remit. Advice Journal
    app: EDocument
    status: modified
  - key: codeunit/6168
    page: codeunit/6168
    type: codeunit
    id: 6168
    name: E-Document Upgrade
    app: EDocument
    status: modified
objects_unjoined: []
obsoletions: []
backports:
  - number: 10823
    base: releases/29.x
    url: https://github.com/microsoft/BCApps/pull/10823
fixes_issues: []
work_items:
  - 637593
systems:
  - integration
quote: null
joined_against:
  major: "30"
  commit: ecbc028c25dbe83b61313bc566e6c1d41184bb1c
---

# #10437 [FR E-Reporting] Add payment and invoice lifecycle messages

> E-Document message lifecycle infrastructure and French electronic invoicing support added to enable payment and invoice lifecycle communication with message queuing, response handling, VAT allocation, and buyer acceptance or refusal workflows.

[Pull request](https://github.com/microsoft/BCApps/pull/10437) · merged into `main` (BC30) on 2026-09-15 by djukicmilica · 61 files (+6347 -51), 29 AL · feature · tier official · reviewed (checked by Opus)

## What changed

- New public E-Document message API with IMessageSender and IMessageResponseHandler contracts, payload persistence, queued delivery, response polling and retry
- Generic applied and reversed payment occurrences with replay protection and links to the original occurrence
- French Collected and Negative Collected messages for payment applications and unapplications, with proportional VAT allocation by rate and category
- Buyer Accepted and Refused messages for incoming purchase invoices, with optional refusal reasons and only one response allowed
- Incoming lifecycle messages are correlated by external IDs, with status normalization, transition validation and deduplication
- Behaviour changes for users or extensions.

## AL objects touched

- [Permission set 6100 "E-Doc. Core - Objects"](../../objects/permissionset/6100.md), EDocument: modified
- [Permission set 6105 "E-Doc. Core - User"](../../objects/permissionset/6105.md), EDocument: modified
- [Table 6121 "E-Document"](../../objects/table/6121.md), EDocument: modified
- [Interface "IMessageResponseHandler"](../../objects/interface/imessageresponsehandler.md), EDocument: added
- [Interface "IMessageSender"](../../objects/interface/imessagesender.md), EDocument: added
- [Enum 6151 "Service Integration"](../../objects/enum/6151.md), EDocument: modified
- [Codeunit 6246 "E-Doc. Item Charge Mapping"](../../objects/codeunit/6246.md), EDocument: modified
- [Codeunit 6133 "E-Document Background Jobs"](../../objects/codeunit/6133.md), EDocument: modified
- [Table 6434 "E-Doc. External Reference"](../../objects/table/6434.md), EDocument: added
- [Codeunit 6533 "E-Doc. Message Context"](../../objects/codeunit/6533.md), EDocument: added
- [Codeunit 6433 "E-Doc. Message Mgt."](../../objects/codeunit/6433.md), EDocument: modified
- [Codeunit 6538 "E-Doc. Message Resp. Runner"](../../objects/codeunit/6538.md), EDocument: added
- [Codeunit 6539 "E-Doc. Message Response Job"](../../objects/codeunit/6539.md), EDocument: added
- [Codeunit 6535 "E-Doc. Message Send Job"](../../objects/codeunit/6535.md), EDocument: added
- [Codeunit 6537 "E-Doc. Message Send Runner"](../../objects/codeunit/6537.md), EDocument: added
- [Enum 6429 "E-Doc. Message Status"](../../objects/enum/6429.md), EDocument: modified
- [Codeunit 6534 "E-Doc. Msg. Transport Default"](../../objects/codeunit/6534.md), EDocument: added
- [Codeunit 6248 "E-Doc. Payment Occ. Dispatcher"](../../objects/codeunit/6248.md), EDocument: added
- [Codeunit 6249 "E-Doc. Payment Occ. Runner"](../../objects/codeunit/6249.md), EDocument: added
- [Enum 6539 "E-Doc. Payment Occ. Status"](../../objects/enum/6539.md), EDocument: added
- [Table 6433 "E-Doc. Payment Occurrence"](../../objects/table/6433.md), EDocument: added
- [Codeunit 6536 "E-Doc. Payment Occurrence Mgt."](../../objects/codeunit/6536.md), EDocument: added
- [Enum 6115 "E-Doc. Payment Occurrence Type"](../../objects/enum/6115.md), EDocument: added
- [Table 6432 "E-Document Message"](../../objects/table/6432.md), EDocument: modified
- [Codeunit 6532 "E-Document Message API"](../../objects/codeunit/6532.md), EDocument: added
- [Page 6434 "E-Document Messages FactBox"](../../objects/page/6434.md), EDocument: modified
- [Codeunit 6531 "E-Doc. Remit. Advice Export"](../../objects/codeunit/6531.md), EDocument: modified
- [Report extension 6100 "E-Doc. Remit. Advice Journal"](../../objects/reportextension/6100.md), EDocument: modified
- [Codeunit 6168 "E-Document Upgrade"](../../objects/codeunit/6168.md), EDocument: modified

## Also merged into

- [#10823](https://github.com/microsoft/BCApps/pull/10823) into `releases/29.x` on 2026-09-03

## Context

- Work items: AB#637593
- Labels: AL: Apps (W1), Ownership: Needs Review, Team: Other
- Systems: integration

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