project QadFinancials > class BVAT > method GetTaxEnvironmentAndCalculateTax

Description

Calculate the tax amounts to post, based on an input amount with or without tax


Parameters


icShipFromTaxZoneinputcharacter
icShipToTaxZoneinputcharacter
icTxclTaxClsinputcharacter
icCurrencyCodeinputcharacterTax Currency
icTransactionTypeinputcharacterTransaction Type
icDocumentReferenceinputcharacterDocument Reference : invoice number, voucher number, ...
icDocumentNumberinputcharacterDocument Number : eg po number, payment number, ...
ilTaxIsIncludedinputlogicalis the Amount with taxes or without ?
itTaxPointDateinputdatetax point date
itPostingDateinputdateposting date
icTaxUsageCodeinputcharacterTax Usage
idAmountTCinputdecimalAmount TC : invoice amount with or without taxes, you can indicate that by setting the input parameter ilTaxIsIncluded
idExchangeRateScaleinputdecimalScale factor of the exchange rate
idExchangeRateinputdecimalexchange rate
icCompanyCodeinputcharacterCompany code of the invoice
icPaymentConditioninputcharacterPayment condition : necessary to get the discount percentage
ilIsTaxInCityFromCompanyinputlogicalIn city flag from the Headoffice address of the company
ilIsTaxInCityFromShipToinputlogicalIn city flag from the headoffice address of the ship to
ilIsTaxableinputlogicalTaxable flag
idAdjustmentFactorinputdecimalAdjustment Factor
iiShipFromAddressIDinputinteger
iiShipToAddressIDinputinteger
icCustomerCodeinputcharacter
icInvoiceTypeinputcharacter
tTaxDetailinput-outputtemp-tableoutput records with all tax lines to post in it
tTaxParametersExtVAToutputtemp-table
ocTxenvTaxEnvoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCInvoice.CalculateTax
method BCInvoice.DefaultValuesTax
method BDInvoice.CalculateTax
method BDInvoice.DefaultValuesTax


program code (program7/bvat.p)

<I-1 {bFcStartAndOpenInstance
     &CLASS              = "PGTM"}>

<M-2 run GetTaxEnvironment
   (input  false (ilStartAndOpenPGTM), 
    input  icShipFromTaxZone (icShipFromTaxZone), 
    input  icShipToTaxZone (icShipToTaxZone), 
    input  icTxclTaxCls (icTxclTaxCls), 
    output ocTxenvTaxEnv (ocTxenvTaxEnv), 
    output viFcReturnSuper (oiReturnStatus)) in BVAT>

if viFcReturnSuper >= 0
then do:
    <M-3 run CalculateTax
       (input  false (ilStartAndOpenPGTM), 
        input  icCurrencyCode (icCurrencyCode), 
        input  icTransactionType (icTransactionType), 
        input  icDocumentReference (icDocumentReference), 
        input  icDocumentNumber (icDocumentNumber), 
        input  ilTaxIsIncluded (ilTaxIsIncluded), 
        input  itTaxPointDate (itTaxPointDate), 
        input  itPostingDate (itPostingDate), 
        input  ocTxenvTaxEnv (icTaxEnvCode), 
        input  icShipFromTaxZone (icFromTaxZoneCode), 
        input  icShipToTaxZone (icToTaxZoneCode), 
        input  icTxclTaxCls (icTaxClassCode), 
        input  icTaxUsageCode (icTaxUsageCode), 
        input  idAmountTC (idAmountTC), 
        input  idExchangeRateScale (idExchangeRateScale), 
        input  idExchangeRate (idExchangeRate), 
        input  icCompanyCode (icCompanyCode), 
        input  icPaymentCondition (icPaymentCondition), 
        input  ilIsTaxInCityFromCompany (ilIsTaxInCityFromCompany), 
        input  ilIsTaxInCityFromShipTo (ilIsTaxInCityFromShipTo), 
        input  ilIsTaxable (ilIsTaxable), 
        input  idAdjustmentFactor (idAdjustmentFactor), 
        input  iiShipToAddressID (iiShipToAddressID), 
        input  iiShipFromAddressID (iiShipFromAddressID), 
        input  icCustomerCode (icCustomerCode), 
        input  icInvoiceType (icInvoiceType), 
        input-output tTaxDetail (tTaxDetail), 
        output tTaxParametersExtVAT (tTaxParametersExtVAT), 
        output viFcReturnSuper (oiReturnStatus)) in BVAT>
end.
    
if viFcReturnSuper < 0 or
   oiReturnStatus  = 0
then assign oiReturnStatus = viFcReturnSuper.

<I-4 {bFcCloseAndStopInstance
     &CLASS           = "PGTM"}>