Skip to content

Conversation

@Groenbech96
Copy link
Contributor

@Groenbech96 Groenbech96 commented Oct 13, 2025

This pull request does not have a related issue as it's part of the delivery for development agreed directly with @altotovi @Groenbech96

Implementation

Created new PEPPOL and Tests-PEPPOL apps to move PEPPOL BIS 3.0 format out of Base app to a 1P app. Replaced the extensibility points with interfaces instead of events.

This initial implementation includes:

Core codeunits for managing and validating PEPPOL documents
XMLports for exporting Sales Invoices and Credit Memos
New enums and interfaces to provide extensibility
Service support for handling Service Invoices and Credit Memos
The implementation provides a framework for creating PEPPOL-compliant documents and ensures data integrity through validation rules.
You can find new app extensibility examples in extensibility_examples.md file (part of this pull request)

Important

This Pull request related with https://github.com/microsoft/BusinessCentralApps/pull/1595

Fixes #

AndriusAndrulevicius and others added 26 commits September 23, 2025 16:41
Adds the PEPPOL 3.0 electronic document format to enable
sending and receiving business documents according to the
PEPPOL standard.

This initial implementation includes:
- Core codeunits for managing and validating PEPPOL documents
- XMLports for exporting Sales Invoices and Credit Memos
- New enums and interfaces to provide extensibility
- Service support for handling Service Invoices and Credit Memos

The implementation provides a framework for creating
PEPPOL-compliant documents and ensures data integrity
through validation rules.
Moves main app source files into an 'App' subfolder and introduces a new 'Test' folder for PEPPOL, including test runner configuration, logo, test app manifest, and an extensive automated test suite for PEPPOL functionality and validation.

Enables comprehensive automated testing and separation of production and test code for improved maintainability.
Improves maintainability and developer experience by introducing
comprehensive XML documentation across PEPPOL 3.0 management,
validation, export, and interface layers. Summarizes intent,
parameters, and return values for procedures, enums, and fields.
Enhances clarity and discoverability of PEPPOL e-document processing,
validation, and export workflows, supporting better onboarding and
future extensibility.
Eliminates unused format provider references to simplify code and reduce maintenance overhead.
Renames various procedures for consistency and clarity.
Refactors tests to use interfaces instead of concrete implementations, enhancing flexibility and future extensibility.
Aligns codeunit and app object IDs with new reserved range
to ensure compliance with updated extension conventions
and prevent conflicts with existing objects.
Introduces examples and guidance for extending PEPPOL export functionality,
including dependency setup, enum extensions, and interface implementations.
Helps partners customize business logic and validation while leveraging standard procedures.
…ment.Codeunit.al

Co-authored-by: Grasiele Matuleviciute <[email protected]>
…mentImpl.Codeunit.al

Co-authored-by: Grasiele Matuleviciute <[email protected]>
…Impl.Codeunit.al

Co-authored-by: Grasiele Matuleviciute <[email protected]>
…PPOL30Mgmt.Codeunit.al

Co-authored-by: Grasiele Matuleviciute <[email protected]>
Co-authored-by: Grasiele Matuleviciute <[email protected]>
Co-authored-by: Grasiele Matuleviciute <[email protected]>
Integrates format provider selection via company setup, replacing hardcoded logic and manual interface instantiation.
Improves extensibility for PEPPOL document export and related info providers.
Reduces obsolete comments and unused code, clarifies interface documentation, and corrects minor typos.
Enables easier support for future e-document formats and cleaner code maintenance.
Ensures new electronic document formats are automatically created when the app is installed by introducing a dedicated install codeunit and refactoring initialization logic. Updates documentation to clarify adjustments needed for PEPPOL format usage.
@github-actions
Copy link

Could not find a linked ADO work item. Please link one by using the pattern 'AB#' followed by the relevant work item number. You may use the 'Fixes' keyword to automatically resolve the work item when the pull request is merged. E.g. 'Fixes AB#1234'

Magnus Hartvig Grønbech added 2 commits October 13, 2025 13:45
@Groenbech96 Groenbech96 changed the title Private/magnushar/peppol iteration PEPPOL 3.0 1P App Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants