Skip to content

[28.5] Backport PEPPOL onboarding and E-Document fixes - #11049

Open
Milica Đukić (djukicmilica) wants to merge 10 commits into
releases/28.5from
backport/647383-peppol-validation-28.5
Open

[28.5] Backport PEPPOL onboarding and E-Document fixes#11049
Milica Đukić (djukicmilica) wants to merge 10 commits into
releases/28.5from
backport/647383-peppol-validation-28.5

Conversation

@djukicmilica

@djukicmilica Milica Đukić (djukicmilica) commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Backports all applicable changes from #8498 to releases/28.5.

The E-Document bridge previously called the W1 PEPPOL30 Sales Validation implementation directly, bypassing localized validators such as Belgium's validator that accepts Enterprise No. This backport restores setup-driven validation and also includes the associated PEPPOL onboarding demo, test, and metadata fixes from the original PR.

Included in this PR:

  • Resolve sales and service validation and XML generation through PEPPOL 3.0 Setup.
  • Migrate E-Document demo data to the standalone PEPPOL30 exporter and add its direct dependency.
  • Set customer and contact email in the shared E-Document test setup.
  • Pin the W1 PEPPOL service format in the format-specific test.
  • Add field-level DataClassification to PEPPOL setup fields 2 and 3.

Four other files from #8498 already contain the required changes on this release branch: the PEPPOL data-exchange subscribers, financial-results XMLport, E-Document test dependency, and purchase-header whitespace cleanup.

Validation:

Related: #8498

Fixes
AB#649041

Switches the W1 E-Document PEPPOL bridge from a hardcoded
"PEPPOL 3.0 - Sales" format to the format selected on PEPPOL 3.0 Setup,
and from a fixed "PEPPOL30 Sales/Service Validation" codeunit to an
interface lookup via the configured "PEPPOL 3.0 Format" enum value.

This lets country-localized PEPPOL apps (NO/BE/NA/DE) extend the format
enum and have their custom validation, posted document iterator, document
info provider, and party info provider implementations take effect for
documents flowing through the E-Document framework, by selecting their
format value on the PEPPOL 3.0 Setup page.

Affected:
  * EDocPEPPOLBIS30.Codeunit.al: Check uses Interface "PEPPOL30 Validation"
    resolved per-direction from setup; Create dispatches sales/service
    invoices/credit memos to the appropriate format from setup; new
    GetSalesFormat/GetServiceFormat helpers
  * EDocDataExchangeImpl.Codeunit.al: same setup-driven interface lookup
    in Check

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
(cherry picked from commit 5fb2b25)
@github-actions github-actions Bot added AL: Apps (W1) Add-on apps for W1 Team: Integrations GitHub request for Integrations area labels Sep 4, 2026
@github-actions github-actions Bot added this to the Version 28.5 milestone Sep 4, 2026
Magnus Hartvig Grønbech and others added 5 commits September 4, 2026 11:55
Replace obsoleted "Exp. Sales Inv. PEPPOL BIS3.0" with
"Exp. Sales Inv. PEPPOL30" and add PEPPOL dependency to
E-Document Core Demo Data app.json.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
(cherry picked from commit 9e5aa64)
DE PEPPOL requires Sell-to E-Mail on the sales header. The shared
E-Document test setup creates a customer without an email, causing
Integration Tests (Avalara, etc.) to fail when posting sales documents
in NAV_DE where PEPPOL30 DE Sales Validation runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
(cherry picked from commit a8d582c)
CheckEDocumentServiceOrderErrorForYourReferance asserts the W1 PEPPOL
behavior that 'Your Reference' is mandatory on service orders. On
NAV_DE the PEPPOL 3.0 Setup defaults to 'PEPPOL 3.0 - Service DE'
which routes through PEPPOL30 DE Service Validation and intentionally
omits the Your Reference check (DE deviation). Pin the setup to the W1
service format so the assertion is comparing against the same impl on
every country.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
(cherry picked from commit 989503a)
SetupStandardSalesScenario sets the customer e-mail (required by DE PEPPOL),
which populates "Sell-to E-Mail" on the sales header. On NAV_DK the OIOUBL
"Sell-to Customer No." validation re-validates the sell-to contact, and base
app raises the "contact has no e-mail address" confirm because the linked
contact has no e-mail - failing the E-Document tests as Unhandled UI.

Write the same e-mail directly onto the customer's contact (no Validate) so
Contact."E-Mail" is never empty and the confirm condition is never met.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
(cherry picked from commit 8ed7adf)
The Data Classs Demo Data Tests.TestDataSensitivities test fails for
table 37202 when field-level DataClassification is missing; the
table-level setting is not inherited by individual fields.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
(cherry picked from commit 1a1dd8b)
@djukicmilica Milica Đukić (djukicmilica) changed the title [28.5] Read PEPPOL 3.0 format from setup in E-Document bridge [28.5] Backport PEPPOL onboarding and E-Document fixes Sep 4, 2026
@alexei-dobriansky

Copy link
Copy Markdown
Contributor

Good Sense Reviewer - Round 1

Recommendation: Accept

Problem-solution fit: Strong

What this PR does

This PR backports PEPPOL integration fixes around setup-driven document generation, validation before sending, demo data, and related test coverage. The changed code keeps generation and validation tied to the configured electronic format instead of hard-coding the old path.

The tests move with the behavior change and cover the main setup combinations touched by the diff. I did not find a merge-blocking issue.

Suggestions

None.

Risk assessment and necessity

Risk: Moderate. This is in the E-Document PEPPOL send/setup area, so setup selection mistakes can block document exchange. The diff keeps the scope narrow and includes matching tests.

Necessity: The change is needed so PEPPOL validation and generation follow the selected setup in the affected release branch.


[AI-PR-REVIEW] version=1 promptVersion=4 system=github pr=11049 round=1 by=alexei-dobriansky at=2026-09-04T22:15:25Z lastSha=af7971a6d73b5db718dcb53e98644f3e86e4a266 reviewKey=9951068df0e897679d98da9ed14cd2e309d0aee7f90675d9e1cc36441427c700 suggestions=none

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AL: Apps (W1) Add-on apps for W1 Team: Integrations GitHub request for Integrations area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants