[28.5] Backport PEPPOL onboarding and E-Document fixes - #11049
[28.5] Backport PEPPOL onboarding and E-Document fixes#11049Milica Đukić (djukicmilica) wants to merge 10 commits into
Conversation
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)
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)
Good Sense Reviewer - Round 1Recommendation: AcceptProblem-solution fit: Strong What this PR doesThis 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. SuggestionsNone. Risk assessment and necessityRisk: 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.
|
Backports all applicable changes from #8498 to
releases/28.5.The E-Document bridge previously called the W1
PEPPOL30 Sales Validationimplementation 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:
PEPPOL 3.0 Setup.PEPPOL30exporter and add its direct dependency.DataClassificationto 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:
git diff --check origin/releases/28.5..HEADpassed.Related: #8498
Fixes
AB#649041