Codeunit 6785 "Withholding Tax Mgmt."
WithholdingTax · Microsoft.WithholdingTax
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 5 connected objects and pages
WithholdingTax · Microsoft.WithholdingTax · BC29-30 · source at ea08af5e · facts from BC29
Procedures
CheckApplicationPurchWithholdingTax(var PurchHeader: Record "Purchase Header")CheckApplicationGenPurchWithholdingTax(var GenJnlLine: Record "Gen. Journal Line")InsertVendInvoiceWithholdingTax(var PurchInvHeader: Record "Purch. Inv. Header")InsertVendCreditWithholding(var PurchCreditHeader: Record "Purch. Cr. Memo Hdr."; AppliesID: Code[50])InsertVendJournalWithholdingTax(var GenJnlLine: Record "Gen. Journal Line"): IntegerCheckWithholdingCalculationRule(TotalInvoiceAmountLCY: Decimal; WithholdingPostingSetup: Record "Withholding Tax Posting Setup"): BooleanIsWithholdingTaxApplicable(InvoiceAmount: Decimal; WithholdingTaxPostingSetup: Record "Withholding Tax Posting Setup"): BooleanInsertWithholdingTax(TransType: Option Purchase,Sale): IntegerNextEntryNo(): IntegerCheckPmtDisc(PostingDate: Date; PmtDiscDate: Date; Amount1: Decimal; Amount2: Decimal; Amount3: Decimal; Amount4: Decimal): BooleanInitWithholdingTaxEntry(TempWithholdingTaxEntry: Record "Withholding Tax Entry"; AppldAmount: Decimal; PaymentAmount1: Decimal; var WithholdingTaxEntry3: Record "Withholding Tax Entry")InsertVendPrepaymentInvoiceWithholding(var PurchInvHeader: Record "Purch. Inv. Header"; var PurchHeader: Record "Purchase Header")InsertVendPrepaymentCrMemoWithholding(var PurchCrMemoHeader: Record "Purch. Cr. Memo Hdr."; var PurchHeader: Record "Purchase Header")InsertPrepaymentUnrealizedWithholding(TransType: Option Purchase,Sale): IntegerWithholdingAmountJournal(var GenJnlLine1: Record "Gen. Journal Line"; Post: Boolean): DecimalCalcVendExtraWithholdingForEarliest(var GenJnlLine: Record "Gen. Journal Line"): DecimalCalcAppliedWithholdingTaxAmount(var VendorLedgerEntry: Record "Vendor Ledger Entry"; AppliedAmountWithholding: Decimal; WithholdingTaxPercent: Decimal; ExitLoop: Boolean): DecimalABSMin(Decimal1: Decimal; Decimal2: Decimal): DecimalPrintWHTSlips(var GLReg: Record "G/L Register"; ScheduleInJobQueue: Boolean)ApplyVendInvoiceWHT(var VendLedgerEntry: Record "Vendor Ledger Entry"; var GenJnlLine: Record "Gen. Journal Line"): IntegerProcessPayment(var GenJnlLine: Record "Gen. Journal Line"; TransactionNo: Integer; EntryNo: Integer; Source: Option Vendor,Customer; AmountWithDisc: Boolean): IntegerInsertWithholdingTaxPostingBuffer(var WithholdingTaxEntryGL: Record "Withholding Tax Entry"; var GenJnlLine: Record "Gen. Journal Line"; Source: Option Payment,Refund; Oldest: Boolean)RoundWithholdingTaxAmount(Amount: Decimal): Decimal(internal)ProcessManualReceipt(var GenJnlLine: Record "Gen. Journal Line"; TransactionNo: Integer; EntryNo: Integer; Source: Option Vendor,Customer): IntegerApplyVendInvoiceWHTPosted(var VendLedgerEntry: Record "Vendor Ledger Entry"; var GenJnlLine: Record "Gen. Journal Line"; TransNo: Integer): IntegerProcessPaymentPosted(var GenJnlLine: Record "Gen. Journal Line"; TransactionNo: Integer; EntryNo: Integer; Source: Option Vendor,Customer): IntegerCheckVendorWithholdingTaxLiable(GenJnlLine: Record "Gen. Journal Line"): BooleanInitTextVariable()FormatNoText(var NoText: array[2] of Text[80]; No: Decimal; CurrencyCode: Code[10])
Plus 13 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Page 456 “No. Series” (5 calls:
InitWithholdingTaxEntry → (object),InsertWithholdingTax → (object),PrintWHTSlips → (object), …) - Codeunit 1373 “Batch Posting Print Mgt.” (1 call:
PrintWHTSlips → SchedulePrintJobQueueEntry) - Codeunit 444 “Purchase-Post Prepayments” (1 call:
InsertVendPrepaymentInvoiceWithholding → PrepmtAmount)
Called by
- Codeunit 6786 “Withholding Tax Jnl Subscriber” (37 calls:
ApplyVendLedgEntryOnBeforeOldVendLedgEntryModify → ProcessPayment,ApplyWHT → ApplyVendInvoiceWHTPosted,AssignBalGLAccValue → CheckVendorWithholdingTaxLiable, …) - Codeunit 6784 “Wthldg Tax Purch. Subscribers” (9 calls:
CheckWithholdingApplication → CheckApplicationPurchWithholdingTax,OnBeforePostBalancingEntry → CheckVendorWithholdingTaxLiable,PostPrepmtInvLineBuffer → CheckVendorWithholdingTaxLiable, …)
Recent changes
- 2026-09-17 #10869 [29.x]-[WHT] Inconsistency with the Payments (releases/29.x, BC29, fix)
- 2026-09-17 #10545 [Master] - Bug 647253: [WHT] Inconsistency with the Payments (main, BC30, fix)
- 2026-08-26 #10631 Integration/main to releases 29.x 31a860b5 (releases/29.x, BC29, feature)
- 2026-08-21 #10352 [Master]-Bug 646964: Withholding Tax Prod. Posting Group is missing o… (main, BC30, fix)
- 2026-08-19 #9865 [Main] - ‘Greater Than’ Withholding Tax Calculation Rule is not app… (main, BC30, fix)
- 2026-07-29 #9481 [Withholding Tax] FCY documents get wrongly rounded to LCY precision … (main, BC30, fix)
- 2026-07-22 #9650 [Master] -Revert Changes- ‘Greater Than’ Withholding Tax Calculation Rule is not applied correctly in Withholding Tax Posting Setup. (main, BC30, other)
- 2026-07-20 #9515 [Master] - ‘Greater Than’ Withholding Tax Calculation Rule is not applied correctly in Withholding Tax Posting Setup. (main, BC30, fix)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Withholding Tax Mgmt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.