[Master]-Withholding Tax Posting generates Unbalanced G/L Entries when Multiple Withholding Tax Rates are used on one Purchase Invoice. - #10073
Draft
neeleshsinghal wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes an issue in the Withholding Tax purchase posting flow where multiple withholding tax entries (from multiple WHT rates/product posting groups on the same purchase invoice) could result in incorrect vendor liability adjustments and unbalanced G/L entries.
Changes:
- Accumulate
Purchase Header."Withholding Tax Amount"across all relevant Withholding Tax Entries during posting (instead of overwriting it per entry). - Add a regression test covering multiple WHT rates on a single purchase invoice, plus helper procedures to set up lines and posting setups.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| src/Apps/W1/WithholdingTax/app/src/Purchase/Transaction/WthldgTaxPurchSubscribers.Codeunit.al | Fixes posting logic by accumulating withholding tax amounts across multiple WHT entries. |
| src/Apps/W1/WithholdingTax/Test/src/ERMWithholdingTaxTestsI.Codeunit.al | Adds regression coverage for multiple WHT rates on one invoice and supporting test helpers. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| Initialize(); | ||
|
|
||
| // [GIVEN] Withholding Tax enabled and two WHT Posting Setups sharing the WHT Bus. Posting Group but with different WHT Prod. Posting Groups and percentages. | ||
| UpdateGeneralLedgerSetup(true, false); // Round Amount for WHT Calc and True as Enable WHT. |
Comment on lines
+1938
to
+1940
| ExpectedWHTAmount := | ||
| Round(LineAmount1 * WHTPostingSetup1."Withholding Tax %" / 100) + | ||
| Round(LineAmount2 * WHTPostingSetup2."Withholding Tax %" / 100); |
| LineAmount := PurchaseLine."Line Amount"; | ||
| end; | ||
|
|
||
| local procedure CreateSecondWHTPostingSetupForSameBusGroup(var WHTPostingSetup2: Record "Withholding Tax Posting Setup"; WHTPostingSetup1: Record "Withholding Tax Posting Setup"; WHTPct: Decimal) |
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
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.
Fixes AB#646139