-
Notifications
You must be signed in to change notification settings - Fork 682
[E-Document Formats][PINT A-NZ] - Migrate electronic formats to new purchase draft concept for e-invoicing (e-invoice preview) (PINT A-NZ )(APAC localization) #29006
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
GMatuleviciute
wants to merge
14
commits into
microsoft:main
Choose a base branch
from
GMatuleviciute:dev/aan/PINT_A-NZ-v2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Implements structured format reader for PINT A-NZ e-documents to enable processing of incoming invoices and credit notes from Australian/New Zealand vendors. Adds enum extension for draft reading capability and implements comprehensive XML parsing logic that extracts vendor information, document details, and line items from UBL-formatted documents. Supports vendor matching through multiple identifiers including ABN, VAT registration numbers, GLN codes, and participant IDs with fallback to name/address matching. Updates version to 27.0.37120.0 to reflect new functionality.
Standardizes the version number format by removing the build number suffix, likely preparing for a new release cycle or aligning with versioning conventions.
Renames codeunit to better reflect its purpose as a comprehensive handler rather than just a draft reader. Adds comprehensive XML documentation for public procedures to improve code maintainability and developer experience. Optimizes XML processing by eliminating intermediate stream variable and using direct method chaining. Removes unused namespace import and redundant local helper method by leveraging existing XML helper functionality. Improves database performance by disabling trigger execution on non-critical insert and modify operations and adding field loading optimization for vendor lookups.
…TANZHandler.Codeunit.al Co-authored-by: Grasiele Matuleviciute <[email protected]>
Moves GLN scheme identifier constant to class level for better organization and reusability across methods. Changes label constants to token constants with Locked attribute for better maintainability and localization handling. Replaces indexed for loop with foreach loop for better performance and readability when processing XML line nodes. Reorganizes using statements in alphabetical order for improved code organization.
…TANZHandler.Codeunit.al
…TANZHandler.Codeunit.al
|
Could not find linked issues in the pull request description. Please make sure the pull request description contains a line that contains 'Fixes #' followed by the issue number being fixed. Use that pattern for every issue you want to link. |
Ensures purchase invoices and credit memos are properly classified by setting the E-Document Type field during document processing. This prevents potential issues with document categorization and improves data consistency in the PINT A-NZ electronic document handling workflow.
Introduces integration tests for the PINT A‑NZ structured import flow that validate draft extraction, viewing extracted data, and finalizing into a purchase document using embedded sample data. Adds a mock e-document format and a test helper library to simplify setup and assertions, extends test configuration (ID range, OnPrem target, resource folder), and declares a dependency on the PINT A‑NZ tests package. Adds a draft reset procedure to remove draft purchase data for an e-document, ensuring clean re-runs and predictable test states.
Switches the test file path to a locked label to avoid hard-coded strings and ease maintenance. Prevents trigger execution during setup/cleanup for faster, more deterministic tests. Adds BDD-style comments to clarify test intent. Removes the OnPrem target from the test app manifest to align with cloud environments.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request does not have a related issue as it's part of the delivery for development agreed directly with @altotovi @Groenbech96
Implementation
Implements structured format reader for PINT A-NZ e-documents to enable processing of incoming invoices and credit notes from Australian/New Zealand vendors.
Adds enum extension for draft reading capability and implements comprehensive XML parsing logic that extracts vendor information, document details, and line items from UBL-formatted documents.
Supports vendor matching through multiple identifiers including ABN, VAT registration numbers, GLN codes, and participant IDs with fallback to name/address matching.
Important
This Pull request depends on #28983
Fixes #