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

3 participants