Codeunit 6200 "Non-Deductible VAT"
Base Application · Microsoft.Finance.VAT.Calculation
Across versions
- BC23-24present
- BC252 procedures added
- BC2611 procedures removed, 1 procedures added
- BC27unchanged
- BC281 events added
- BC29-30unchanged
Neighbourhood 25 connected objects and pages
Base Application · Microsoft.Finance.VAT.Calculation · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Public |
Events published
OnBeforeGetNonDeductibleVATPctForPurchLine(var NonDeductibleVATPct: Decimal; PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration): Integration event raised before determining non-deductible VAT percentage for purchase line. Enables custom logic for non-deductible VAT percentage calculation.OnBeforeGetNonDedVATPctForGenJnlLine(var NonDeductibleVATPct: Decimal; GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)(integration): Integration event raised before determining non-deductible VAT percentage for general journal line. Enables custom logic for non-deductible VAT percentage calculation in journal processing.OnBeforeGetBalNonDedVATPctForGenJnlLine(var NonDeductibleVATPct: Decimal; GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)(integration)OnBeforeGetNonDeductibleVATPctForDeferrals(var NonDeductibleVATPct: Decimal; VATBusPostGroupCode: Code[20]; VATProdPostGroupCode: Code[20]; DeferralDocType: Enum "Deferral Document Type"; var IsHandled: Boolean)(integration)OnBeforeCalcNonDedAmountsInGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; Currency: Record Currency; var IsHandled: Boolean)(integration)OnBeforeCalcBalNonDedAmountsInGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; Currency: Record Currency; var IsHandled: Boolean)(integration)OnBeforeGetNonDeductibleVATPct(var NonDeductibleVATPct: Decimal; VATPostingSetup: Record "VAT Posting Setup"; GeneralPostingType: Enum "General Posting Type"; var IsHandled: Boolean)(integration)OnBeforeUpdateNonDeductibleAmountsWithRoundingInPurchLine(var PurchaseLine: Record "Purchase Line"; var TempVATAmountLineRemainder: Record "VAT Amount Line" temporary; Currency: Record Currency; var IsHandled: Boolean)(integration)OnBeforeUpdateNonDeductibleAmountsInPurchLine(var PurchaseLine: Record "Purchase Line"; Currency: Record Currency; var IsHandled: Boolean)(integration)OnBeforeUpdateNonDeductibleAmountsWithFactorInPurchLine(var PurchaseLine: Record "Purchase Line"; Part: Decimal; Total: Decimal; AmountRoundingPrecision: Decimal; var IsHandled: Boolean)(integration)OnBeforeDivideNonDeductibleVATInPurchaseLine(var PurchaseLine: Record "Purchase Line"; var VATAmountLineRemainder: Record "VAT Amount Line"; VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; Part: Decimal; Total: Decimal; var IsHandled: Boolean)(integration)OnBeforeValidateVATAmountInVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; var IsHandled: Boolean)(integration)OnBeforeValidateNonDeductibleVATInVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; var IsHandled: Boolean)(integration)OnBeforeUpdateNonDeductibleAmountsInVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; var IsHandled: Boolean)(integration)OnBeforeUpdateNonDeductibleAmountsWithDiffInVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; var IsHandled: Boolean)(integration)OnBeforeAdjustVATAmountsFromGenJnlLine(var VATAmount: Decimal; var BaseAmount: Decimal; var VATAmountACY: Decimal; var BaseAmountACY: Decimal; var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)(integration)OnBeforeSetNonDedVATAmountInPurchLine(var PurchaseLine: Record "Purchase Line"; NonDeductibleVATAmount: Decimal; var IsHandled: Boolean)(integration)OnBeforeSetNonDedVATAmountDiffInPurchLine(var PurchaseLine: Record "Purchase Line"; var VATAmountLineRemainder: Record "VAT Amount Line"; var VATDifference: Decimal; VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; Part: Decimal; Total: Decimal; var IsHandled: Boolean)(integration)OnBeforeGetNonDedVATAmountFromVATAmountLine(var NonDeductibleVATAmount: Decimal; var VATAmountLineRemainder: Record "VAT Amount Line"; VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; Part: Decimal; Total: Decimal; var IsHandled: Boolean)(integration)OnBeforeAddNonDedAmountsOfPurchLineToVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; var VATAmountLineRemainder: Record "VAT Amount Line"; PurchaseLine: Record "Purchase Line"; Currency: Record Currency; Part: Decimal; Total: Decimal; var IsHandled: Boolean)(integration)OnBeforeCopyNonDedVATFromPurchInvLineToVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; PurchInvLine: Record "Purch. Inv. Line"; var IsHandled: Boolean)(integration)OnBeforeCopyNonDedVATFromPurchCrMemoLineToVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; PurchCrMemoLine: Record "Purch. Cr. Memo Line"; var IsHandled: Boolean)(integration)OnBeforeCheckVATPostingSetupChangeIsAllowed(VATPostingSetup: Record "VAT Posting Setup"; var IsHandled: Boolean)(integration)OnBeforeCheckNonDeductibleVATPctIsAllowed(PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnAfterCalcRevChargeVATAmountInPurchLine(PurchaseLine: Record "Purchase Line"; var VATAmount: Decimal)+ BC28 (integration)
Procedures
IsNonDeductibleVATEnabled(): Boolean: Returns true if the Non-Deductible VAT functionality is enabledShowNonDeductibleVATInLines(): Boolean: Returns true if Non-Deductible VAT fields must be shown in document linesGetNonDeductibleVATAmount(PurchaseLine: Record "Purchase Line"): Decimal: Returns the non-deductible VAT amount of the current purchase lineGetNonDeductibleVATPct(VATBusPostGroupCode: Code[20]; VATProdPostGroupCode: Code[20]; GeneralPostingType: Enum "General Posting Type"): Returns the non-deductible VAT percent for the combination of a VAT Business group, VAT Product group and a certain posting typeGetNonDeductibleVATPct(VATPostingSetup: Record "VAT Posting Setup"): Decimal: Returns the non-deductible VAT percent of the current VAT posting setupGetNonDeductibleVATAmount(GenJournalLine: Record "Gen. Journal Line"): Decimal: Returns the non-deductible VAT amount of the current general journal lineGetNonDeductibleVATPct(VATBusPostGroupCode: Code[20]; VATProdPostGroupCode: Code[20]; DeferralDocType: Enum "Deferral Document Type"): Decimal: Returns the non-deductible VAT percent for deferralsGetNonDeductibleVATAccForDeferrals(DeferralDocType: Enum "Deferral Document Type"; PostingGLAccountNo: Code[20]; VATPostingSetup: Record "VAT Posting Setup"): Code[20]: Returns the Non-Deductible VAT account for deferralsGetNonDeductibleVATAmountForItemCost(PurchaseLine: Record "Purchase Line"): Decimal: Get the Non-Deductible VAT amount to add to the item costGetNonDeductibleAmount(Amount: Decimal; NonDeductiblePercent: Decimal; AmountRoundingPrecision: Decimal; var Rounding: Decimal): Decimal: Get Non-Deductible VAT amountGetNonDeductibleVATBaseBothCurrencies(var NonDedVATBase: Decimal; var NonDedVATBaseACY: Decimal; VATEntry: Record "VAT Entry"): Returns the non-deductible VAT base from the VAT entry in both LCY and ACYSetNonDeductiblePct(var PurchaseLine: Record "Purchase Line"): Sets the non-deductible VAT percent in the purchase lineSetNonDedVATAmountInPurchLine(var PurchaseLine: Record "Purchase Line"; NonDeductibleVATAmount: Decimal): Set the Non-Deductible VAT amount in the purchase lineSetNonDedVATAmountDiffInPurchLine(var PurchaseLine: Record "Purchase Line"; var VATAmountLineRemainder: Record "VAT Amount Line"; var VATDifference: Decimal; VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; Part: Decimal; Total: Decimal): Set the Non-Deductible VAT difference of the VAT amount line to the purchase line with factor multiplicationSetNonDeductibleVATAmount(var VATEntry: Record "VAT Entry"; NonDedVATAmount: Decimal; NonDedVATAmountACY: Decimal): Set Non-Deductible VAT base in the VAT EntrySetNonDeductibleVATBase(var VATEntry: Record "VAT Entry"; NonDedVATBase: Decimal; NonDedVATBaseACY: Decimal): Set Non-Deductible VAT amount in the VAT EntrySetNonDeductibleVAT(var InvoicePostingBuffer: Record "Invoice Posting Buffer"; TotalNonDedVATBase: Decimal; TotalNonDedVATAmount: Decimal; TotalNonDedVATBaseACY: Decimal; TotalNonDedVATAmountACY: Decimal; TotalNonDedVATDiff: Decimal)− BC26: Set Non-Deductible VAT amounts in the invoice posting bufferSetNonDedVATInVATEntry(var VATEntry: Record "VAT Entry"; NonDedBase: Decimal; NonDedVATAmount: Decimal; SrcCurrNonDedBaseAmount: Decimal; SrcCurrNonDedVATAmount: Decimal; NonDedVATDiff: Decimal; NonDedVATDiffACY: Decimal): Set Non-Deductible VAT amounts in the VAT entryInit(var NonDedVATBase: Decimal; var NonDedVATAmount: Decimal; var NonDedVATBaseACY: Decimal; var NonDedVATAmountACY: Decimal; var NonDedVATDiff: Decimal; PurchaseLine: Record "Purchase Line"; PurchaseLineACY: Record "Purchase Line"): Initialize the Non-Deductible VAT amount from purchase lineInitNonDeductibleVATDiff(var PurchaseLine: Record "Purchase Line"): Clears Non-Deductible VAT difference in the purchase lineUpdate(var PurchaseLine: Record "Purchase Line"; var TempVATAmountLineRemainder: Record "VAT Amount Line" temporary; Currency: Record Currency)− BC26 − BC26: Updates the non-deductible VAT base and amount in the purchase line with roundingUpdate(var PurchaseLine: Record "Purchase Line"; Currency: Record Currency)− BC26 − BC26: Updates the non-deductible VAT base and amount in the purchase lineUpdate(var PurchaseLine: Record "Purchase Line"; Part: Decimal; Total: Decimal; AmountRoundingPrecision: Decimal)− BC26 − BC26: Update the non-deductible VAT base and amount in the purchase line with factor multiplicationUpdate(var TotalNonDedVATBase: Decimal; var TotalNonDedVATAmount: Decimal; var TotalNonDedVATBaseACY: Decimal; var TotalNonDedVATAmountACY: Decimal; var TotalNonDedVATDiff: Decimal; InvoicePostingBuffer: Record "Invoice Posting Buffer")− BC26 − BC26: Updates total Non-Deductible VAT amounts in the invoice posting bufferUpdate(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency)− BC26 − BC26: Update Non-Deductible VAT amounts in the VAT amount lineUpdate(var InvoicePostingBuffer: Record "Invoice Posting Buffer"; var RemainderInvoicePostingBuffer: Record "Invoice Posting Buffer"; AmountRoundingPrecision: Decimal)− BC26 − BC26: Update Non-Deductible VAT amounts in the invoice posting buffer with roundingDivideNonDeductibleVATInPurchaseLine(var PurchaseLine: Record "Purchase Line"; var VATAmountLineRemainder: Record "VAT Amount Line"; VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; Part: Decimal; Total: Decimal): Divide Non-Deductible VAT amounts of VAT amount line for the purchase lineValidateVATAmountInVATAmountLine(var VATAmountLine: Record "VAT Amount Line"): Update Non-Deductible VAT amounts on VAT amount validation in the VAT amount lineValidateNonDeductibleVATInVATAmountLine(var VATAmountLine: Record "VAT Amount Line"): Update Non-Deductible VAT amounts on Non-Deductible VAT amount validation in the VAT amount lineUpdateNonDeductibleAmountsWithDiffInVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency): Update Non-Deductible VAT amounts in the VAT amount line with VAT differenceGetNonDedVATAmountFromVATAmountLine(var VATAmountLineRemainder: Record "VAT Amount Line"; VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; Part: Decimal; Total: Decimal): Decimal: Get Non-Deductible VAT Amount from VAT amount line with factor multiplicationAddNonDedAmountsOfPurchLineToVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; var VATAmountLineRemainder: Record "VAT Amount Line"; PurchaseLine: Record "Purchase Line"; Currency: Record Currency; Part: Decimal; Total: Decimal): Adds the Non-Deductible VAT amounts to the VAT amount line from the purchase line with factor multiplicationCopyNonDedVATFromPurchInvLineToVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; PurchInvLine: Record "Purch. Inv. Line"): Copy Non-Deductible VAT amounts from the purchase invoice line to VAT amount lineCopyNonDedVATFromPurchCrMemoLineToVATAmountLine(var VATAmountLine: Record "VAT Amount Line"; PurchCrMemoLine: Record "Purch. Cr. Memo Line"): Copy Non-Deductible VAT amounts from the purchase credit memo line to VAT amount lineCopyNonDedVATAmountFromGenJnlLineToGLEntry(var GLEntry: Record "G/L Entry"; GenJournalLine: Record "Gen. Journal Line"): Copy Non-Deductible VAT amount from general journal line to G/L entryCopyNonDedVATFromGenJnlLineToFALedgEntry(var FALedgEntry: Record "FA Ledger Entry"; GenJnlLine: Record "Gen. Journal Line")+ BC25: Copy Non-Deductible VAT from general journal line to FA ledger EntryCopyNonDedVATFromGenJnlLineToJobJnlLine(var JobJnlLine: Record "Job Journal Line"; GenJnlLine: Record "Gen. Journal Line")+ BC26: Copies non-deductible VAT information from general journal line to job journal line for job-related transactions.CheckPrepmtWithNonDeductubleVATInPurchaseLine(PurchaseLine: Record "Purchase Line"): Throws an error if purchase line contains prepayment and Non-Deductible VATCheckPrepmtVATPostingSetup(VATPostingSetup: Record "VAT Posting Setup"): Throws the error about prepayment not compatible with Non-Deductible VAT if VAT Posting Setup contains Non-Deductible VATCheckUnrealizedVATWithNonDeductibleVATInVATPostingSetup(VATPostingSetup: Record "VAT Posting Setup"): Throws an error if current VAT posting setup contains unrealized VAT and Non-Deductible VATCheckVATPostingSetupChangeIsAllowed(VATPostingSetup: Record "VAT Posting Setup"): Check that a certain change of the VAT Posting Setup is allowedCheckNonDeductibleVATPctIsAllowed(PurchaseLine: Record "Purchase Line"): Check that a Non-Deductible VAT % is allowed in the purchase lineCheckNonDeductibleVATAmountDiff(var TempVATAmountLine: Record "VAT Amount Line" temporary; xTempVATAmountLine: Record "VAT Amount Line" temporary; AllowVATDifference: Boolean; Currency: Record Currency): Throws an error if the total Non-Deductible VAT difference is not allowedDeductNonDedValuesFromVATAmountLine(var TotalVATAmountLine: Record "VAT Amount Line"; VATAmountLineDeduct: Record "VAT Amount Line"): Deduct the Non-Deductible VAT amounts from the VAT amount lineReverse(var PurchaseLine: Record "Purchase Line")− BC26: Reverse the Non-Deductible VAT base and amount in the purchase lineReverse(var InvoicePostingBuffer: Record "Invoice Posting Buffer")− BC26: Reverse the Non-Deductible VAT base and amount in the invoice posting bufferReverse(var GLEntry: Record "G/L Entry"; GLEntryToReverse: Record "G/L Entry")− BC26: Reverse Non-Deductible amount in G/L EntryReverse(var VATEntry: Record "VAT Entry")− BC26: Reverse Non-Deductible amount in the VAT EntryIncrement(var TotalVATAmountLine: Record "VAT Amount Line"; VATAmountLine: Record "VAT Amount Line")− BC26: Increment the Non-Deductible VAT amounts in the VAT amount lineIncrement(var TotalPurchaseLine: Record "Purchase Line"; PurchaseLine: Record "Purchase Line")− BC26: Increment Non-Deductible VAT amounts in the purchase lineIncrement(var TotalInvoicePostingBuffer: Record "Invoice Posting Buffer"; InvoicePostingBuffer: Record "Invoice Posting Buffer")− BC26: Increment Non-Deductible VAT amounts in the invoice posting bufferIsNonDedFALedgEntryInFirstAcquisition(FALedgEntry: Record "FA Ledger Entry"): Boolean+ BC25: Identifies if the current FA ledger entry is a Non-Deductible VAT entry in the first acquisitionRoundNonDeductibleVAT(PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; TotalPurchaseLine: Record "Purchase Line"; TotalPurchaseLineLCY: Record "Purchase Line"): Round Non-Deductible VAT amounts after exchanging to the local currencyClearNonDeductibleVAT(var PurchaseLine: Record "Purchase Line")− BC26: Clear Non-Deductible VAT in the purchase lineClearNonDeductibleVAT(var InvoicePostingBuffer: Record "Invoice Posting Buffer")− BC26: Clear Non-Deductible VAT in the invoice posting bufferClearNonDedVATACYInVATEntry(var VATEntry: Record "VAT Entry"): Clear Non-Deductible VAT amounts in additional currency in VAT entryValidateNonDedVATPctInGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"): Validate the Non-Deductible VAT percent in the general journal lineValidateBalNonDedVATPctInGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"): Validate the Non-Deductible VAT percent in the general journal line for the balance accountCalculate(var GenJournalLine: Record "Gen. Journal Line"; Currency: Record Currency)− BC26: Calculate Non-Deductible VAT amounts in the general journal lineCalculateBalAcc(var GenJournalLine: Record "Gen. Journal Line"; Currency: Record Currency): Calculate Non-Deductible VAT amounts in the general journal line for the balance accountCalculate(var InvoicePostingBuffer: Record "Invoice Posting Buffer")− BC26: Calculate Non-Deductible VAT amounts in the invoice posting bufferCalculate(var NonDeductibleBaseAmount: Decimal; var NonDeductibleVATAmount: Decimal; var NonDeductibleVATAmtPerUnit: Decimal; var NonDeductibleVATAmtPerUnitLCY: Decimal; var NDVATAmountRounding: Decimal; var NDVATBaseRounding: Decimal; PurchHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line")− BC26: Calculate Non-Deductible VAT per unitCopy(var InvoicePostingBuffer: Record "Invoice Posting Buffer"; PurchaseLine: Record "Purchase Line")− BC26 − BC26: Copy Non-Deductible VAT from the purchase line to the invoice posting bufferCopy(var VATEntry: Record "VAT Entry"; GenJournalLine: Record "Gen. Journal Line")− BC26 − BC26: Copy Non-Deductible VAT from the general journal line to the VAT EntryCopy(var GenJournalLine: Record "Gen. Journal Line"; InvoicePostingBuffer: Record "Invoice Posting Buffer")− BC26 − BC26: Copy Non-Deductible VAT from the invoice posting buffer to the general journal lineExchangeAccGLJournalLine(var GenJournalLine: Record "Gen. Journal Line"; CopiedGenJournalLine: Record "Gen. Journal Line"): Exchange Non-Deductible VAT fields with the balance side in general journaal lineAdjustVATAmountsFromGenJnlLine(var VATAmount: Decimal; var BaseAmount: Decimal; var VATAmountACY: Decimal; var BaseAmountACY: Decimal; var GenJournalLine: Record "Gen. Journal Line"): Adjust VAT amounts with Non-Deductible VAT from general journal lineAdjustRoundingForInvoicePostingBufferUpdate(var RoundingInvoicePostingBuffer: Record "Invoice Posting Buffer"; var CurrInvoicePostingBuffer: Record "Invoice Posting Buffer"): Adjust rounding for invoice posting bufferUseNonDeductibleVATAmountForFixedAssetCost(): Boolean: Returns true if the Non-Deductible VAT amount must be added to the fixed asset costUseNonDeductibleVATAmountForJobCost(): Boolean: Returns true if the Non-Deductible VAT amount must be added to the job costApplyRoundingForFinalPostingFromInvoicePostingBuffer(var RoundingInvoicePostingBuffer: Record "Invoice Posting Buffer"; var CurrInvoicePostingBuffer: Record "Invoice Posting Buffer"): Apply rounding for the final posting from the invoice posting buffer
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.
- Codeunit 6201 “Non-Ded. VAT Impl.” (53 calls:
AddNonDedAmountsOfPurchLineToVATAmountLine → AddNonDedAmountsOfPurchLineToVATAmountLine,AdjustRoundingForInvoicePostingBufferUpdate → AdjustRoundingForInvoicePostingBufferUpdate,AdjustVATAmountsFromGenJnlLine → AdjustVATAmountsFromGenJnlLine, …)
Called by
- Codeunit 6201 “Non-Ded. VAT Impl.” (18 calls:
AddNonDedAmountsOfPurchLineToVATAmountLine → OnBeforeAddNonDedAmountsOfPurchLineToVATAmountLine,AdjustVATAmountsFromGenJnlLine → OnBeforeAdjustVATAmountsFromGenJnlLine,CalcRevChargeVATAmountInPurchLine → OnAfterCalcRevChargeVATAmountInPurchLine, …) - Table 39 “Purchase Line” (15 calls:
CalcInvDiscToInvoice → InitNonDeductibleVATDiff,CalcVATAmountLines → AddNonDedAmountsOfPurchLineToVATAmountLine,InitQtyToInvoice → InitNonDeductibleVATDiff, …) - Codeunit 12 “Gen. Jnl.-Post Line” (14 calls:
CalcPmtDiscVATBases → GetNonDeductibleVATBaseBothCurrencies,CreateReverseChargeVATGLEntries → IsNonDeductibleVATEnabled,InitVAT → CopyNonDedVATAmountFromGenJnlLineToGLEntry, …) - Codeunit 816 “Purch. Post Invoice” (7 calls:
CalculateVATAmounts → Update,InitTotalAmounts → Init,PrepareInvoicePostingBuffer → ClearNonDeductibleVAT, …) - Codeunit 90 “Purch.-Post” (6 calls:
CalcItemJnlLineToBeInvoicedAmounts → GetNonDeductibleVATAmountForItemCost,DivideAmount → DivideNonDeductibleVATInPurchaseLine,IncrAmount → Increment, …) - Table 290 “VAT Amount Line” (6 calls:
CalcVATFields → Update,CopyFromPurchCrMemoLine → CopyNonDedVATFromPurchCrMemoLineToVATAmountLine,CopyFromPurchInvLine → CopyNonDedVATFromPurchInvLineToVATAmountLine, …) - Table 55 “Invoice Posting Buffer” (6 calls:
AdjustRoundingForUpdate → AdjustRoundingForInvoicePostingBufferUpdate,ApplyRoundingForFinalPosting → ApplyRoundingForFinalPostingFromInvoicePostingBuffer,CalcDiscount → Calculate, …) - Codeunit 1004 “Job Transfer Line” (3 calls:
FromGenJnlLineToJnlLine → CopyNonDedVATFromGenJnlLineToJobJnlLine,FromPurchaseLineToJnlLine → Calculate,FromPurchaseLineToJnlLine → UseNonDeductibleVATAmountForJobCost) - Codeunit 17 “Gen. Jnl.-Post Reverse” (2 calls:
ReverseGLEntry → Reverse,ReverseVAT → Reverse) - Codeunit 366 “Exchange Acc. G/L Journal Line” (1 call:
OnRun → ExchangeAccGLJournalLine) - Codeunit 5604 “Make FA Ledger Entry” (1 call:
CopyFromGenJnlLine → CopyNonDedVATFromGenJnlLineToFALedgEntry) - Codeunit 5632 “FA Jnl.-Post Line” (1 call:
PostDeprUntilDate → IsNonDedFALedgEntryInFirstAcquisition) - Codeunit 815 “Sales Post Invoice” (1 call:
PrepareInvoicePostingBuffer → ClearNonDeductibleVAT) - Page 139 “Posted Purch. Invoice Subform” (1 call:
OnOpenPage → ShowNonDeductibleVATInLines) - Page 1575 “VAT Entries Preview Flat Subf.” (1 call:
OnOpenPage → IsNonDeductibleVATEnabled) - Page 315 “VAT Entries” (1 call:
OnOpenPage → IsNonDeductibleVATEnabled) - Page 472 “VAT Posting Setup” (1 call:
OnOpenPage → IsNonDeductibleVATEnabled) - Page 473 “VAT Posting Setup Card” (1 call:
OnOpenPage → IsNonDeductibleVATEnabled) - Page 54 “Purchase Order Subform” (1 call:
SetOpenPage → ShowNonDeductibleVATInLines) - Page 55 “Purch. Invoice Subform” (1 call:
SetOpenPage → ShowNonDeductibleVATInLines) - Page 576 “VAT Specification Subform” (1 call:
OnInit → IsNonDeductibleVATEnabled) - Page 6641 “Purchase Return Order Subform” (1 call:
OnOpenPage → ShowNonDeductibleVATInLines) - Page 9401 “VAT Amount Lines” (1 call:
OnInit → IsNonDeductibleVATEnabled) - Page 98 “Purch. Cr. Memo Subform” (1 call:
SetOpenPage → ShowNonDeductibleVATInLines) - Table 254 “VAT Entry” (1 call:
CopyFromGenJnlLine → Copy)
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: "Non-Deductible VAT"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.