CalcGrossAndAmountDistribute

Calculate and Edit Tax Amounts

Major Business Rule

Object Name: X00TAX

Parent DLL: CALLBSFN

Location: Client/Server

Language: C

Data Structure

D0000134 - Calculate Gross and Amount Distribute

Parameter NameData ItemData TypeReq/OptI/O/Both
mnAmountGross_AGAGMATH_NUMERICOPTOUTPUT

A value that specifies the total amount of the invoice or voucher pay item. The gross amount might include the tax amount, depending on 
the tax explanation code. The system does not decrease the gross amount when payments are applied. When you void a transaction, the 
system clears the gross amount field.

mnAmountToDistribute_AGAGMATH_NUMERICOPTOUTPUT

A value that specifies the total amount of the invoice or voucher pay item. The gross amount might include the tax amount, depending on 
the tax explanation code. The system does not decrease the gross amount when payments are applied. When you void a transaction, the 
system clears the gross amount field.

mnAmountTaxable_ATXAATXAMATH_NUMERICOPTINPUT

The amount on which taxes are assessed.

mnAmountNonTaxable_ATXNATXNMATH_NUMERICOPTINPUT

The amount upon which taxes are not assessed. This is the portion of the transaction not subject to sales, use, or VAT taxes because the 
products are tax-exempt or zero-rated.

mnTaxAmount_STAMSTAMMATH_NUMERICOPTINPUT

The amount assessed and payable to tax authorities. It is the total of the VAT, use, and sales taxes (PST).

mnNonRecoverableTaxAmt_NRTANRTAMATH_NUMERICOPTINPUT

The portion of the tax amount for which you cannot take a credit.

mnPSTTaxAmount_PSTXPSTXMATH_NUMERICOPTINPUT

The domestic amount of the provincial sales tax (PST) for the detail line of a transaction.

mnDiscountAmount_ADSCADSCMATH_NUMERICOPTINPUT

The amount of the invoice or voucher pay item that is eligible to be subtracted from the gross amount when the transaction is paid. The 
system calculates discount amounts based on the payment term entered on the transaction.  Note: If the system calculates the discount, verify 
that it applies to the pay item specified. Usually, freight, sales tax, and labor charges that are included in the gross amount do not qualify for 
discounts.

szTaxExplanationCode_EXR2EXR2charOPTINPUT

A value in user defined code table 00/EX that controls how a tax is assessed and distributed to the general ledger revenue and expense 
accounts. You assign this code to customers or suppliers to set up a default code for their transactions. Do not confuse this code with the 
taxable, non-taxable code. A single invoice or voucher can have both taxable and non-taxable items. The entire invoice or voucher, however, 
must have one tax explanation code.

szCompany_COCOcharOPTINPUT

A code that identifies a specific organization, fund, or other reporting entity. The company code must already exist in the Company 
Constants table (F0010) and must identify a reporting entity that has a complete balance sheet. At this level, you can have intercompany 
transactions. Note: You can use company 00000 for default values such as dates and automatic accounting instructions. You cannot use company 00000 
for transaction entries.

cSystemCodeFlag_EV01EV01charOPTINPUT

An option that specifies the type of processing for an event.

cTaxWriteDistFlag_EV01EV01charOPTINPUT

An option that specifies the type of processing for an event.

Related Functions

B0000055 ValidateAAICompletely
B0000182 Initialize Environment for Vendor Business Functions
B7300002 Validate Quantum GeoCode
N7000140 X00TAX - Plug & Play - 04
N7300001 Determine if Quantum is Active

Related Tables

F0014 Payment Terms
F0022 Tax Rules
F4008 Tax Areas
CalculateQuantumTaxes

CalculateQuantumTaxes

Calculate and Edit Tax Amounts

Major Business Rule

Object Name: X00TAX

Parent DLL: CALLBSFN

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose

This business function will calculate taxes through the Quantum software.    


1.2Setup Notes and Prerequisites

 

Business function B0000182 must run successfully before running this business function.

THIS MUST RUN ON THE SERVER WHERE QUANTUM IS INSTALLED


1.3Special Logic


2.Technical Specifications


2.1Parameters:

Data Item Data Structure DescriptionI/ORequiredNotes

agmnGrossAmountI/ONo

stammnTaxAmountI/ONo

atxamnTaxableAmountI/ONo

namtmnNetAmountI/ONo

adscmnAmtDiscountAvailableI/ONo

atadmnAmountToDistributeONo

atxnmnNonTaxAmountI/ONo

txa1szTaxRateAreaINoGeoCode

exr1szTaxExplanationCodeINo

coszCompanyINoWill be used to retrieve the tax rules

docszDocumentNumberINo

dctcDocumentTypeINo

sfxszDocumentPayItemINo

an8mnAddressNumberINo

mcuszCostCenterINo

divjjdInvoiceDateINo

umnUnitsINo

dcpmnDiscountPercentINo

ev01cReadVertexCacheINo'0' - No cache to be read 

'1' - Quantum tax cache exists 

'2' - Quantum post cache exists

ev02cSystemCodeFlagINo

lntyszLineTypeINo

vvabszSalesDivisionCodeINoCall N7300001 to retrieve this value

vuabszUseDivsionCodeINoCall N7300001 to retrieve this value

vvitszSalesItemBalanceCategoryINoCall N7300001 to retrieve this value

vuitszUseItemBalanceCategoryINoCall N7300001 to retrieve this value

vccsszCustomerClassCodeSalesINoCall N7300001 to retrieve this value

vccuszCustomerClassCodeUseINoCall N7300001 to retrieve this value

jobsmnJobNumberINo

vprtcQuantumDebugLogOnINoCall N7300001 to retrieve this value

qdlgszQuantumDebugLogINoCall N7300001 to retrieve this value

Data Structure

D7300010A - Calculate Quantum Taxes

Parameter NameData ItemData TypeReq/OptI/O/Both
mnGrossAmountAGMATH_NUMERICOPTNONE

A value that specifies the total amount of the invoice or voucher pay item. The gross amount might include the tax amount, depending on 
the tax explanation code. The system does not decrease the gross amount when payments are applied. When you void a transaction, the 
system clears the gross amount field.

mnTaxAmountSTAMMATH_NUMERICOPTNONE

The amount assessed and payable to tax authorities. It is the total of the VAT, use, and sales taxes (PST).

mnTaxableAmountATXAMATH_NUMERICOPTNONE

The amount on which taxes are assessed.

mnNetAmountNAMTMATH_NUMERICOPTNONE

The net amount of an invoice or voucher pay item, it is the gross amount less discounts and any other deductions.

mnAmtDiscountAvailableADSCMATH_NUMERICOPTNONE

The amount of the invoice or voucher pay item that is eligible to be subtracted from the gross amount when the transaction is paid. The 
system calculates discount amounts based on the payment term entered on the transaction.  Note: If the system calculates the discount, verify 
that it applies to the pay item specified. Usually, freight, sales tax, and labor charges that are included in the gross amount do not qualify for 
discounts.

mnAmountToDistributeATADMATH_NUMERICOPTNONE

The amount of the transaction that must be posted to the general ledger for the transaction to balance. Depending on the tax information 
provided, the value of this field might be different from the gross or taxable amount of the transaction.  For example, if you enter a voucher for the 
taxable amount of 1000 CAD using tax explanation C (sales plus VAT), and the tax rate area is set up for 7% VAT and 3% Sales, the system 
calculates the amount to distribute as 1, 030 CAD (1000 + 30).

mnNonTaxAmountATXNMATH_NUMERICOPTNONE

The amount upon which taxes are not assessed. This is the portion of the transaction not subject to sales, use, or VAT taxes because the 
products are tax-exempt or zero-rated.

szTaxRateAreaTXA1charOPTNONE

A code that identifies a tax or geographic area that has common tax rates and tax authorities. The system validates the code you enter 
against the Tax Areas table (F4008). The system uses the tax rate area in conjunction with the tax explanation code and tax rules to calculate tax 
and G/L distribution amounts when you create an invoice or voucher.

szTaxExplanationCodeEXR1charOPTNONE

A hard-coded user defined code (00/EX) that controls the algorithm that the system uses to calculate tax and G/L distribution amounts. The 
system uses the tax explanation code in conjunction with the tax rate area and tax rules to determine how the tax is calculated. Each 
transaction pay item can be defined with a different tax explanation code.

szCompanyCOcharOPTNONE

A code that identifies a specific organization, fund, or other reporting entity. The company code must already exist in the Company 
Constants table (F0010) and must identify a reporting entity that has a complete balance sheet. At this level, you can have intercompany 
transactions. Note: You can use company 00000 for default values such as dates and automatic accounting instructions. You cannot use company 00000 
for transaction entries.

mnDocumentNumberDOCMATH_NUMERICOPTNONE

A number that identifies the original document, such as a voucher, invoice, or journal entry. On entry forms, you can assign the document 
number or let the system assign it using the Next Numbers program (P0002). Matching document numbers (DOCM) identify related documents 
in the Accounts Receivable and Accounts Payable systems. Examples of original and matching documents are: Accounts Payable     o 
Original document - voucher     o Matching document - payment  Accounts Receivable     o Original document - invoice     o Matching document - 
receipt  Note: In the Accounts Receivable system, the following transactions simultaneously generate original and matching documents: 
deductions, unapplied receipts, chargebacks, and drafts.

szDocumentTypeDCTcharOPTNONE

A user defined code (00/DT) that identifies the origin and purpose of the transaction.  PeopleSoft reserves several prefixes for document 
types, such as, vouchers, invoices, receipts, and timesheets. The reserved document type prefixes for codes are: P Accounts payable 
documents R Accounts receivable documents  T Time and Pay documents I Inventory documents  O Purchase order documents  S Sales order 
documents 

szDocumentPayItemSFXcharOPTNONE

A number that identifies the pay item for a voucher or an invoice. The system assigns the pay item number. If the voucher or invoice has 
multiple pay items, the numbers are sequential.

mnAddressNumberAN8MATH_NUMERICOPTNONE

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

szCostCenterMCUcharOPTNONE

An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit 
might be a warehouse location, job, project, work center, branch, or plant. You can assign a business unit to a document, entity, or person for 
purposes of responsibility reporting. For example, the system provides reports of open accounts payable and accounts receivable by 
business unit to track equipment by responsible department. Business unit security might prevent you from viewing information about business units 
for which you have no authority.

jdInvoiceDateDIVJJDEDATEOPTNONE

The date that either you or the system assigns to an invoice or voucher. This can be either the date of the supplier's invoice to you or the 
date of your invoice to the customer.

mnUnitsUMATH_NUMERICOPTNONE

The quantity of something that is identified by a unit of measure. For example, it can be the number of barrels, boxes, cubic yards, gallons, 
hours, and so on.

mnDiscountPercentDCPMATH_NUMERICOPTNONE

The percent of the total invoice or voucher that you will discount if it is paid within the discount period. You enter the discount percent as a 
decimal, for example, a 2 percent discount is .02.

cReadVertexCacheEV01charOPTNONE

An option that specifies the type of processing for an event.

cSystemCodeFlagEV02charOPTNONE

An option that specifies the type of processing for an event.

szLineTypeLNTYcharOPTNONE

A code that controls how the system processes lines on a transaction. It controls the systems with which the transaction interfaces, such as 
General Ledger, Job Cost, Accounts Payable, Accounts Receivable, and Inventory Management. It also specifies the conditions under 
which a line prints on reports, and it is included in calculations. Codes include the following: S Stock item   J Job cost   N Nonstock item   F Freight  
T Text information   M Miscellaneous charges and credits   W Work order

szSalesDivisionCodeVVABcharOPTNONE

This field tells the Vertex Tax Interface the Address Book Category Code to use for Division/Store Code for Sales Tax.  The Division/Store 
Code is used by the Vertex Tax Decision Maker module.  The interface will use the corresponding category code based on the value 
specified in this field.

szUseDivisionCodeVUABcharOPTNONE

This field tells the Vertex Tax Interface the Address Book Category Code to use for Division/Store Code for Use Tax.  The Division/Store 
Code is used by the Vertex Tax Decision Maker module.  The interface will use the corresponding category code based on the value 
specified in this field.

szSalesItemBalanceCategoryVVITcharOPTNONE

This field tells the Vertex Tax interface the Item Branch/Plant category code to use for Product Category for Sales Tax. The Product 
Category code is used by the Vertex Tax Decision Maker module. The interface will use the corresponding category code from the Item 
Branch/Plant file based on the value specified in this field.

szUseItemBalanceCategoryVUITcharOPTNONE

This field tells the Vertex Tax interface the Item Branch/Plant category code to use for Product Category for Use Tax. The Product Category 
code is used by the Vertex Tax Decision Maker module. The interface will use the corresponding category code from the Item 
Branch/Plant file based on the value specified in this field.

szCustomerClassCodeSalesVCCScharOPTNONE

The Address Book Category Code that the Quantum Tax Interface uses for Customer Class Code for Sales Tax. The Customer Class 
Code is passed to Quantum and matched to the Customer Class Code in the Quantum Tax Decision Maker module.

szCustomerClassCodeUseVCCUcharOPTNONE

The Address Book Category Code that the Quantum Tax Interface uses for Customer Class Code for Use Tax. The Customer Class Code 
is passed to Quantum and matched to the Customer Class Code in the Quantum Tax Decision Maker module.

mnJobNumberJOBSMATH_NUMERICOPTNONE

The job number (work station ID) which executed the particular job.

cQuantumDebugLogOnVPRTcharOPTNONE

Print Vertex Link/Parm Area.  If this flag is set to 1, then the Vertex Link Parm Area will be printed before and after calling the Vertex Tax 
Calculator Program.  This feature is to be used with caution, two pages of data will be printed for every transaction going though the Tax 
Calculator for all users.

szQuantumDebugLogQDLGcharOPTNONE

The path and file name where the Quantum debug log will reside, such as C:.txt.

szCompanyKeyOrderNoKCOOcharOPTNONE

A number that, along with order number and order type, uniquely identifies an order document (such as a purchase order, a contract, a 
sales order, and so on). If you use the Next Numbers by Company/Fiscal Year facility, the Automatic Next Numbers program (X0010) uses the 
order company to retrieve the correct next number for that company. If two or more order documents have the same order number and order 
type, the order company lets you locate the desired document. If you use the regular Next Numbers facility, the order company is not used to 
assign a next number. In this case, you probably would not use the order company to locate the document.

mnLineNumberLNIDMATH_NUMERICOPTNONE

A number that identifies multiple occurrences, such as line numbers on a purchase order or other document. Generally, the system assigns 
this number,but in some cases you can override it.

szPaymentTermsCode01PTCcharOPTNONE

A code that specifies the terms of payment, including the percentage of discount available if the invoice is paid by the discount due date. 
Use a blank code to indicate the most frequently-used payment term. You define each type of payment term on the Payment Terms Revisions 
form. Examples of payment terms include: Blank Net 15 001      1/10 net 30 002      2/10 net 30 003      Due on the 10th day of every month 006     
Due upon receipt  This code prints on customer invoices.

szCertificateTaxExemptTXCTcharOPTNONE

The number that tax authorities issue to tax-exempt individuals and companies to identify their tax-exempt status.

mnIntraStateCityTaxableVSTTBMATH_NUMERICOPTNONE

The state amount that is subject to tax.

mnIntraStateDistrictTaxableVSTTBMATH_NUMERICOPTNONE

The state amount that is subject to tax.

mnIntraStateCountyTaxableVSTTBMATH_NUMERICOPTNONE

The state amount that is subject to tax.

cSuppressDiscountCalculationEV01charOPTINPUT

An option that specifies the type of processing for an event.

Related Functions

B0000055 ValidateAAICompletely
B0000182 Initialize Environment for Vendor Business Functions
B7300002 Validate Quantum GeoCode
N7000140 X00TAX - Plug & Play - 04
N7300001 Determine if Quantum is Active

Related Tables

F0014 Payment Terms
F0022 Tax Rules
F4008 Tax Areas
CalculateValidateTaxAmounts

CalculateValidateTaxAmounts

Calculate and Edit Tax Amounts

Major Business Rule

Object Name: X00TAX

Parent DLL: CALLBSFN

Location: Client/Server

Language: C

1.Functional Description

1.1Purpose

To calculate the tax amounts, discount, and amount to distribute to the G/L.  If given gross, will calculate taxable and tax amounts.  If given taxable will 

calculate gross and tax amounts.  Also, to provide validation of tax fields.

The tax calculator checks to see if Localization is on. If so will call the appropriate country server to calculate the taxes, if else checks if Vertex is On. 

If Vetex is on then the tax calculation will be done by the Vertex programs. If neither are on then all taxes are caluclated by the JDE tax calculator. 

 1.2Setup Notes and Prerequisites

• You must provide either a gross or a taxable amount.  If called from a distribution program the net 
- goods value must be provided.  

• Before calling the tax calculator you must get the tax unrounded running total by calling Maintain 
Tax Round Array.  After calculating taxes you must update the tax unrounded running total array by 

calling Maintain Tax Round Array. 

• Before calling the tax calculator you must get the discount unrounded running total by calling 
Maintain Discount Round Array.  After calculating taxes you must update the discount unrounded running 

total array by calling Maintain Discount Round Array. 

• When finished calculating all taxes/discounts you must terminate the Tax and Discount memory arrays 
by calling Maintain Tax Round Array and Maintain Discount Round Array.  

'b7'b7'b7'b7'b7'b7'b7'b7'b7'b7'b7

1.3Special Logic

• If the tax explanation is blank, the gross amount will be copied to the amount to distribute and the 
function will return.    

• If the tax rate area is blank, an error will be set and the function will return. 
• Non-taxable will be calculated and returned. 
• Amount to distribute to the G/L will be calculated and returned.   
• Discount will be calculated using the tax rules and the percent from the payment terms or the 
percentage sent to the function. 

• A running total of the unrounded tax amount will be calculated and sent back to calling program.  It 
will be used for soft rounding of the tax amount.  This running total needs to be updated to the 

Unrounded Tax memory array.  this array will have a record for each tax explanation/area combination.  

• An unrounded tax amount will also be returned with each call.  Store this amount for the line in the 
transaction and return to the tax calculator if calling again.  

• The AAI will be validated for each authority in the tax rate/area.  If you would like to bypass this 
edit send a '1' in the Bypass AAI edit parm.

'b7'b7'b7'b7'b7'b7'b7'b7'b7'b7'b72.Technical Specifications


2.1Parameters:

Data Item Data Structure DescriptionI/ORequiredNotes

agmnAmountGrossI/ONoGross amount

stammnAmttaxI/ONoTax amount 

atxamnAmountTaxableI/ONoTaxable amount 

adscmnAmtDiscountAvailiableI/ONoDiscount Available 

txa1szTaxAreaIYesTax Rate/Area 

exr1szTaxExemptReasonIYesTax Explanation 

dsvjjdedateDateServiceCurrencyIYesService /Tax date - used to retreive tax rate 

ptcszPaymentTermsCodeINoPayment terms code - used to retreive percentage to calculate discount 

coszCompanyIYesCompany- used to retreive tax rules - if tax rules are not found for 

specified company - 

company 00000 will be used , if tax rules still not found default will be 

Y, N

atxnmnTaxExemptONoNon taxable amount 

atadmnAmountDistributeOYesAmount to distribute to the G/L 

cryrcCurrencyFlagIYesCurrency flag Y, N, Z - get from systems value 

alt5cGlAlt5ONoGL ALT5 flag - only used in Journal entries   

ev01cTaxWriteDistFlagINoTaxes written in distribution flag - will be used to determine how to 

calculate amount to 

distribute - if set to a '1' will not subtract tax amounts from the amount 

to distribute 

ev01cOPVATAllowWCurrencyIYesProcessing option -  '1' = allow VAT taxes with currency on 

ev01cSystemCodeFlagIYesSystem code flag - used to retrieve tax rules  '1' = A/R, '2' = A/P, '3' = 

G/L  

itm mnItemNumberINoItem number  - Distribution field - used to retreive tax rate area 

agmnGoodsValueINoGoods Value - Net amount - used by distribution since they do not have 

a gross amount 

qtymnItemQtyINoItem quanity- Distribution field 

mn29d9mnUnroundedTaxAmtOYesUnrounded tax amount -used for soft rounding  

ev01cSummaryDetailFlagONoSummary/detail flag - retrieved fromthe tax rules - Distribution  field

ev01cItemNoUsedONoItem Number Used - returns a '1' if the item number was used to get 

the tax/rate area - 

Distribution field 

dcpmnDiscountPercentageINoDiscount percentage- will be used instead of payment terms percentage 

to calculate 

discount

ev01cBypassAAIEditINoBypass AAI edit - if a '1' the AAI edit will not be executed for the tax/ 

rate area  

mcuszCostcenterAAIEditINoIf Suppress AAI edit is not '1' will be used if the cost center in the AAI 

is blank 

mn29d9mnRunTotalUnroundTaxI/OYesRunning total unrounded tax - used in soft rounding of tax amount - 

retreive and update 

using Maintain Tax Round Array.

mn29d9mnUnroundedDiscAvailOYesUnrounded tax amount -used for soft rounding  

mn29d9mnRunTotalUnroundDiscI/OYesRunning total unrounded discount - used in soft rounding of  discount 

amount - retreive and 

update using Maintain Discount Round Array.

stammnPSTTaxAmtONoThe PST(Sales Tax Amount) - Distribution field 

ev01cBypassTaxEditsINoBypass Tax Edits - if a '1' the tax edits will not be executed  This would 

be used when loading 

an existing line to the grid - you need to calculate amt to distribute but 

do not need to edit 

the tax amounts.  Note the AAI edit will still be executed unless the 

bypass AAI edit is a '1'.  

Also, non-taxable and amt to distribute will be calculated. 

an8cCurrencyModeINowill be used by Localization

docmnDocVoucherInvoiceEINowill be used by Localization

dctszDocumentTypeINowill be used by Localization

kcoszCompanyKeyINowill be used by Localization

sfxszDocumentPayItemINowill be used by Localization

lnidmnLineNumberINowill be used by localization

nlinmnNoOfLinesOnOrderINowill be used by Localization

mcuszCostCenter_2INowill be used by Localization

ctidszComputerIDINowill be used by Localization

jobszJobNumberINowill be used by Localization

syszSystemCodeIYesVertex

ev01cCallTaxCalcFlagONoLocalization use





2.2Related Tables 

Table Table Description

F0014Payment Terms 

F0022Tax Rules 

F4008Tax Rates 


2.3Related Business Functions

Source NameFunction Name

b0000055.cValidateAAICompletely




2.4Processing 

This function calculates tax amount fields, discount, and amount to distribute to the G/L.  

• Checks for tax explanation - if blank copies gross to amount to distribute and returns 
• Checks for tax rate/area - if blank sets error and returns
• Retreives payment terms if discount percentage parm is 0 
• Parses tax explanation and determines what type of taxes 
• Retreives tax rules 
• Retreives tax rate area
• Calculates tax rate 
• Calculates tax only tax amounts 
• Calculates net amount - if distribution copies goods value parm to net amount 
• Calculates taxable amount using tax rules 
• Does Tennessee Tax Validation for Distribution if item qty is not 0 
• Calculates PST tax amount 
• Calcualtes VAT tax amount 
• Calculates Tax on Tax amount 
• Calculates gross and discount amount using tax rules 
• Does soft rounding of discount amount.  Uses unrounded discount running total to round discount 
amount.

• Does soft rounding of tax amount.  Uses unrounded tax amount running total to round tax amount.  
• Calculates Amount to Distribute 
• Calculates Non-Taxable Amount 
• Returns PST Tax amount  
• Validates Tax fields 
'b7'b7'b7'b7'b7'b7'b7'b7'b7'b7'b7       - Tax only edits 

       - Taxable amount edits 

       - Tax amount edits 

       - VAT tax edits 

       - JE VAT tax edits 

Data Structure

DXX00026 - Calculate and Edit Tax Amounts

Parameter NameData ItemData TypeReq/OptI/O/Both
mnAmountGrossAGMATH_NUMERICNONEBOTH

Gross Amount.
^

mnAmtTaxSTAMMATH_NUMERICNONEBOTH

Tax Amount.
^

mnAmountTaxableATXAMATH_NUMERICNONEBOTH

Taxable Amount.
^

mnAmtDiscountAvailableADSCMATH_NUMERICNONEBOTH

Discount available.
^

szTaxAreaTXA2charOPTINPUT

Tax rate area.
^

szTaxExemptReasonEXR2charOPTINPUT

Tax explanation.
^

jdedateDateServiceCurrencyDSVJJDEDATEOPTINPUT

Service/Tax date - used to retrieve tax rate.
^

szPaymentTermsCode01PTCcharNONEINPUT

Payment terms code - used to retrieve percentage to calculate discount.
^

szCompanyCOcharOPTINPUT

Company - used to tretieve tax rules. If tax rules are not found for specified company, then company 
00000 will be used.  If tax rules still not found, Calculate tax on gross including discount will 

equal 'Y' and Calculate discount on gross including tax will equal 'N'.

^

mnAmountTaxExemptATXNMATH_NUMERICNONEOUTPUT

Non taxable amount
^

mnAmountDistributeAGMATH_NUMERICOPTOUTPUT

Amount to distribute to the G/L.
^

cCurrencyFlagCRYRcharOPTINPUT

Currency flag Y, N or Z - retrieve these values from the system values.
^

cGLAlt5ALT5charNONEOUTPUT

GL ALT5 flag - used only in journal entries.
^

cTaxWriteDistFlagEV01charNONEINPUT

Taxes written in distribution flag - will be used to determine how to calculate amount to ditribute. 
If set to a '1' will not subtract amounts from the amount to distribute

^

cOPVATAllowWCurrencyEV01charOPTINPUT

Proecessing option - '1' allow VAT taxes with currency on.
^

cSystemCodeFlagEV01charOPTINPUT

System code flag - used to retrieve tax rules.  Valid values are '1' = A/R, '2' = A/P and '3' = G/L.
^

mnItemNumberITMMATH_NUMERICNONEINPUT

Item number(Distribution field) - used to retrieve tax rate area.
^

mnGoodsValueAGMATH_NUMERICNONEINPUT

Goods value (or net amount) - used by distribution since they do not have a gross amount.
^

mnItemQtyQTYMATH_NUMERICNONEINPUT

Item quanity - distribution field.
^

mnUnroundedTaxAmtSTAMMATH_NUMERICOPTOUTPUT

Unrounded tax amount - used for soft rounding.
^

cSummaryDetailFlagEV01charNONEOUTPUT

Summary/detail flag(distribution field) - retrieved from the tax rules. 
^

mnDiscountPercentageDCPMATH_NUMERICNONEINPUT

Discount percentage - will be used instead of payment terms percentage to calculate discount.
^

cItemNoUsedEV01charNONEOUTPUT

Item number used (distribution field) - returns a '1' if the item number was used to get the tax/rate 
area.

^

cBypassAAIEditEV01charNONEINPUT

Bypass AAI edit - if a '1' the AAI edit will not be executed for the tax/rate area.
^

szCostcenterAAIEditMCUcharNONEINPUT

If bypass AAI edit is not '1', this will be used if the cost center in the AAI is blank.
^

mnRunTotalUnroundTaxSTAMMATH_NUMERICOPTBOTH

Running total unrounded tax - used in soft rounding of tax amount. Retrieve and update using Maintain 
Tax Round Array.

^

mnUnroundedDiscAvailADSCMATH_NUMERICOPTOUTPUT

Unrounded discount amount - used for soft rounding.
^

mnRunTotalUnroundDiscADSCMATH_NUMERICOPTBOTH

Running total unrounded discount - used in soft rounding of discount amount.  Retrieve and update 
using Maintain Discount Round Array.

^

mnPSTTaxAmtSTAMMATH_NUMERICNONEOUTPUT

The PST (sales tax amount) - used in distribution.
^

cBypassTaxEditsEV01charNONEINPUT

Bypass tax edits - If a '1' the tax edits will not be executed.  This would be used when loading an 
existing line to the grid.  An example is one would need to calculate amount to distribute but does not 

need to edit the tax amounts.  Note the AAI edit will still be executed unless teh bypass AAI edit is 

a '1'.  Also, non-taxable and amount to distribute will be calculated. 

^

mnAddressNumberAN8MATH_NUMERICNONEINPUT

Address number - Localization field.
^

cCurrencyModeCRRMcharNONEINPUT

Currency mode - Localization field.
^

mnDocVoucherInvoiceEDOCMATH_NUMERICNONEINPUT

Invoice number - Localization field.
^

szDocumentTypeDCTcharNONEINPUT

Document type - Localization field.
^

szCompanyKeyKCOcharNONEINPUT

Key company - Localization field.
^

szDocumentPayItemSFXcharNONEINPUT

Document pay item - Localization field.
^

mnLineNumberLNIDMATH_NUMERICNONEINPUT

Line number - Localization field.
^

szCostCenterMCUcharNONEINPUT

Cost center - Localization field.
^

szComputerIDCTIDcharNONEINPUT

Computer ID - Localization field.
^

szSystemCodeSYcharNONEINPUT

System code - Vertex field.
^

cCallTaxCalcFlagEV01charNONEOUTPUT

Call tax calculator flag (localization field) - if not '1' then the tax calculator will be bypassed.
^

cMatchTypeMATCcharNONEINPUT

Match type - Localization field.
^

mnDocumentOrderInvoiceEDOCOMATH_NUMERICNONEINPUT

Document invoice order number - localization field.
^

mnNoOfLinesNLINMATH_NUMERICNONEINPUT

Number of lines on order - localization field.
^

mnPayItemExtensionNumberSFXEMATH_NUMERICNONEINPUT

Pay item extension number - localization field.
^

mnJobnumberJOBSMATH_NUMERICNONEINPUT

Job number - localization field.
^

jdDateForGLDGJJDEDATENONEINPUT

G/L Date - localization field.
^

mnJournalEntryLineNoJELNMATH_NUMERICNONEINPUT

Journal entry line number - localization field.
^

szLedgerTypeLTcharNONEINPUT

Ledger Type - localization field.
^

szLineExtensionCodeEXTLcharNONEINPUT

Line extension code - localization field.
^

cRetainedAmountOrPercentFlagEV02charNONEINPUT

Indicates whether an amount or a percent will be passed into the parameter 
mnRetainedAmountOrPercent(subcontracting field). Valid values: '0'  Percent  or '1'  Amount.

^

cDeferredTaxFlagEV02charNONEINPUT

Indicates whether the Vat portion of the tax will be deferred for tax types of 'V' and 'C' only 
(subcontracting field).  Valid values:

'0'  Vat tax will not be deferred

'1'  Vat tax will be deferred.

^

mnRetainedAmountOrPercentAAMATH_NUMERICNONEBOTH

CRetainedAmountOrPercentFlag determines what value will be placed in this parameter(subcontracting 
field). If a 20% percent retainage is applied, then a 20 should be placed in this parameter. The 

retained amount will be sent back.  If a retainage amount is applied, then place the amount in this 

parameter.  Note: If a taxable amount is inserted into the tax calculator, then the retainage needs to be 

taxable. If a gross amount is inserted into the tax calculator, then the retainage needs to be gross.

^

mnDeferredTaxAmountSTAMMATH_NUMERICNONEOUTPUT

Tax amount that was deferred (subcontracting field).
^

mnNonRecoverableTaxAmtNRTAMATH_NUMERICOPTOUTPUT

The portion of the tax amount for which you cannot take a credit.

cSuppressDiscountCalculationEV01charOPTINPUT

An option that specifies the type of processing for an event.

Related Functions

B0000055 ValidateAAICompletely
B0000182 Initialize Environment for Vendor Business Functions
B7300002 Validate Quantum GeoCode
N7000140 X00TAX - Plug & Play - 04
N7300001 Determine if Quantum is Active

Related Tables

F0014 Payment Terms
F0022 Tax Rules
F4008 Tax Areas
LoadAndRetrieveQuantumPostCache

LoadAndRetrieveQuantumPostCache

Calculate and Edit Tax Amounts

Major Business Rule

Object Name: X00TAX

Parent DLL: CALLBSFN

Location: Client/Server

Language: C

This business function be used in the post program.  The reason the cache was created was for a couple of reasons: Since the Quantum tax register is 
write only, there is not a way to update the the register if the post errors half way through the process.  The cache will be written for each voucher/invoice 

pay item which is retrieved.  At the very end of the post, when all the validation has been done, the post cache will be retrieved and the register records will 

be written.



Parameters


Data Item Data Structure DescriptionI/ORequiredNotes

icumnBatchNumberIYesKey to the cache

icutszBatchTypeIYesKey to the cache

kcoszKeyCompanyIYesKey to the cache

docmnDocumentNumberIYesKey to the cache

dctszDocumentTypeIYesKey to the cache

sfxszDocumentPayItemIYesKey to the cache

sfxemnPayItemExtensionNumberINoKey to the cache

txa1szGeoCodeI/ONo

exr1szTaxExplanationCodeI/ONo

atxamnTaxableAmountI/ONo

an8mnAddressNumberI/ONo

coszCompanyI/ONo

dsvjjdTaxServiceDateI/ONo

dgljdTransactionDateI/ONo

umnUnitsI/ONo

mcuszCostCenterI/ONo

modecModeIYes '1' - Add record from cache

 '3' - Retrieve record from cache

 '4' - Delete record from cache

jobsmnJobNumberIYesKey to the cache

genlngidCacheCursorPointerI/ONoUsed to keep track of the position of the 

cache cursor.

int01 nNumberOfRecordsRetrievedONo Will be used in calling application to keep 
track of how many cache records will need  to be retrieved.

Processing


• Initialize QuantumCachePostParm cache.
• If cMode is equal to a '1' (add mode).
• 

Verify that the job number passed in is not zero.
• If the job number passed in is zero.
• 
Call next number routine to retrieve the next job number.
• 
Add fields to cache.
• Else the function is in retrieval or delete mode.
• 
If the idCacheCursorPointer has not been set or in delete mode.
• 
Fetch the cache record and store the idCacheCursorPointer if not in delete mode.
• Return to the calling function how many records need to be retrieved from the cache.
• 
Else
• 
Retrieve the idCacheCursroPointer.
• Fetch the cache record.
• 
If cMode is equal to a '3' (retrieval mode).
• 
Return values to calling program.
• 
Else if cMode is equal to '4' (delete mode).
• 
Delete all records with the same cache key.
• 
Free memory associated with idCacheCursorPointer.

Data Structure

D7300010C - Load and Retrieve Quantum Post Cache

Parameter NameData ItemData TypeReq/OptI/O/Both
mnBatchNumberICUMATH_NUMERICREQINPUT

A number that identifies a group of transactions that the system processes and balances as a unit. When you enter a batch, you can either 
assign a batch number or let the system assign it using the Next Numbers program.

szBatchTypeICUTcharREQINPUT

A code that specifies the system and type of transactions entered in a batch. The system assigns the value when you enter a transaction. 
Valid values are set up in user defined code table 98/IT. You cannot assign new values. All batch types are hard coded.

szCompanyKeyKCOcharREQINPUT

A number that, with the document number, document type and G/L date, uniquely identifies an original document, such as invoice, voucher, 
or journal entry. If you use the Next Numbers by Company/Fiscal Year feature, the Automatic Next Numbers program (X0010) uses the 
document company to retrieve the correct next number for that company. If two or more original documents have the same document number and 
document type, you can use the document company to locate the desired document.

mnDocumentNumberDOCMATH_NUMERICREQINPUT

A number that identifies the original document, such as a voucher, invoice, or journal entry. On entry forms, you can assign the document 
number or let the system assign it using the Next Numbers program (P0002). Matching document numbers (DOCM) identify related documents 
in the Accounts Receivable and Accounts Payable systems. Examples of original and matching documents are: Accounts Payable     o 
Original document - voucher     o Matching document - payment  Accounts Receivable     o Original document - invoice     o Matching document - 
receipt  Note: In the Accounts Receivable system, the following transactions simultaneously generate original and matching documents: 
deductions, unapplied receipts, chargebacks, and drafts.

szDocumentTypeDCTcharREQINPUT

A user defined code (00/DT) that identifies the origin and purpose of the transaction.  PeopleSoft reserves several prefixes for document 
types, such as, vouchers, invoices, receipts, and timesheets. The reserved document type prefixes for codes are: P Accounts payable 
documents R Accounts receivable documents  T Time and Pay documents I Inventory documents  O Purchase order documents  S Sales order 
documents 

szDocumentPayItemSFXcharREQINPUT

A number that identifies the pay item for a voucher or an invoice. The system assigns the pay item number. If the voucher or invoice has 
multiple pay items, the numbers are sequential.

mnPayItemExtensionNumberSFXEMATH_NUMERICREQINPUT

A code to designate an adjusting entry to a pay item on a voucher or invoice. This field is required so that each record is unique.

szGeoCodeTXA1charOPTBOTH

A code that identifies a tax or geographic area that has common tax rates and tax authorities. The system validates the code you enter 
against the Tax Areas table (F4008). The system uses the tax rate area in conjunction with the tax explanation code and tax rules to calculate tax 
and G/L distribution amounts when you create an invoice or voucher.

szTaxExplanationCodeEXR1charOPTBOTH

A hard-coded user defined code (00/EX) that controls the algorithm that the system uses to calculate tax and G/L distribution amounts. The 
system uses the tax explanation code in conjunction with the tax rate area and tax rules to determine how the tax is calculated. Each 
transaction pay item can be defined with a different tax explanation code.

mnTaxableAmountATXAMATH_NUMERICOPTBOTH

The amount on which taxes are assessed.

mnAddressNumberAN8MATH_NUMERICOPTBOTH

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

szCompanyCOcharOPTBOTH

A code that identifies a specific organization, fund, or other reporting entity. The company code must already exist in the Company 
Constants table (F0010) and must identify a reporting entity that has a complete balance sheet. At this level, you can have intercompany 
transactions. Note: You can use company 00000 for default values such as dates and automatic accounting instructions. You cannot use company 00000 
for transaction entries.

jdTaxServiceDateDSVJJDEDATEOPTBOTH

A date that indicates when you purchased goods or services, or when you incurred a tax liability. 

jdTransactionDateDGLJDEDATEOPTBOTH

A date that identifies the financial period to which the transaction is to be posted.  The company constants specify the date range for each 
financial period. You can have as many as 14 periods. Generally, period 14 is used for audit adjustments. The system validates this field for 
PBCO (posted before cutoff), PYEB (prior year ending balance), PACO (post after cutoff), and WACO (post way after cutoff) messages.

mnUnitsUMATH_NUMERICOPTBOTH

The quantity of something that is identified by a unit of measure. For example, it can be the number of barrels, boxes, cubic yards, gallons, 
hours, and so on.

szCostCenterMCUcharOPTBOTH

An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit 
might be a warehouse location, job, project, work center, branch, or plant. You can assign a business unit to a document, entity, or person for 
purposes of responsibility reporting. For example, the system provides reports of open accounts payable and accounts receivable by 
business unit to track equipment by responsible department. Business unit security might prevent you from viewing information about business units 
for which you have no authority.

cModeMODEcharREQINPUT

The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed.

mnJobNumberJOBSMATH_NUMERICREQINPUT

The job number (work station ID) which executed the particular job.

idCacheCursorPointerGENLNGIDOPTBOTH

General purpose ID variable.

nNumberOfRecordsRetrievedINT01integerOPTOUTPUT

Number of Days in Future to Query for Responses Due. 

Related Functions

B0000055 ValidateAAICompletely
B0000182 Initialize Environment for Vendor Business Functions
B7300002 Validate Quantum GeoCode
N7000140 X00TAX - Plug & Play - 04
N7300001 Determine if Quantum is Active

Related Tables

F0014 Payment Terms
F0022 Tax Rules
F4008 Tax Areas
LoadAndRetrieveQuantumTaxCache

LoadAndRetrieveQuantumTaxCache

Calculate and Edit Tax Amounts

Major Business Rule

Object Name: X00TAX

Parent DLL: CALLBSFN

Location: Client/Server

Language: C

This business function be used in the non-financial programs.  The reason the cache was created was for a one reason: Instead of adding extra fields to 
the tax calculator, this cache will pass Quantum information to the tax calculator.  The tax calculator will then return specific GeoCode taxing information.


Setup Notes
 

This is the process for each detail record:

• Application calling this function
• 

Add record to cache
• Call the tax calculator
• Retrieve cache for any Quantum tax information
• Delete cache
• Tax calculator calling this function
• 
Retrieve cache
• Calculate taxes via Quantum
• Update cache with tax information
'b7'b7'b7'b7'b7'b7



Parameters

Data ItemData Structure DescriptionI/ORequiredNotes

jobsmnJobNumberIYesKey to the cache

modecModeIYes'1' - Add record from cache

 '2' - Update record from cache

 '3' - Retrieve record from cache

 '4' - Delete record from cache

ev01cConstantCategoryCodeINoIndicates which Quantum constants to 

work with:

 '0' - Sales constants in F7306

 '1' - Use constants in F7306

vwtrgcWriteQuantumRegisterINo'0' - Do not write register

 '1' - Write register

vgcstszGeoCodeShipToI/ONo

vgcsfszGeoCodeShipFromONo

vgcoaszGeoCodeOrderAcceptI/ONo

kcooszCompanyKeyOrderAcceptINo

tax1cTaxableYNINo

itmmnIdentifierShortItemINo

vvtyszVertexTransactionTypeONo'0' - Sale 

'1' - Purchase 

'2' - Service

'3' - Rental/Lease

vttgcszTransactionTaxGeoCodeONoIndicates which GeoCode was taxed by 

passing back the GeoCode

vtdmrcTDMReturnCodeONoReturn codes from TDM:

'1' - Customer table exemption used 

'2' - Product table exemption used

'3' - Master table not collecting taxes               

      in taxing state

vdsafcDistrictApplyFlagONoDistrict Tax Jurisdiction Application Level 

Identifiers:

'0' - None

'1' - Applies to city

'2' - Applies to county

vsttbmnStateTaxableAmountONo

vsttrmnStateTaxRateONo

vsttamnStateTaxAmountONo

vcntbmnCountyTaxableAmountONo

vcntrmnCountyTaxRateONo

vcntamnCountyTaxAmountONo

vcttbmnCityTaxableAmountONo

vcttrmnCityTaxRateONo

vcttamnCityTaxAmountONo

vdstbmnDistrictTaxableAmountONo

vdstrmnDistrictTaxRateONo

vdstamnDistrictTaxAmountONo

vttxrmnTotalTaxRateONo

vitgcszIntraStateTaxedGeoCodeONo

vicnrmnIntraStateCountyRateONo

vicntmnIntraStateCountyTaxONo

victrmnIntraStateCityRateONo

victtmnIntraStateCityTaxONo

vidsrmnIntraStateDistrictRateONo

vidstmnIntraStateDistrictTaxONo

vststszShipToStateONoState abbreviation

vstcnszShipToCountyONoCounty name

vstctszShipToCityONoCity name

vsfstszShipFromStateONoState abbreviation

vsfcnszShipFromCountyONoCounty name

vsfctszShipFromCityONoCity name

voastszOrderAcceptStateONoState abbreviation

voacnszOrderAcceptCountyONoCounty name

voactszOrderAcceptCityONoCity name

umnUnitsINo

vvtcszProductCodeINo

lntyszLineTypeINo

dctoszDocumentOrderTypeINo

vdsafcIntraStateDistrictApplyFlagONoDistrict Tax Jurisdiction Application Level 

Identifiers:

'0' - None

'1' - Applies to city

'2' - Applies to county



Processing

• Initialize QuantumCacheTaxParmCache.
• If cMode is equal to a '1' (add mode).
• 
Add fields to cache.
• Else the function is in retrieval, update or delete mode.
• 
If cMode is equal to a '2' (update mode).
• 
Update values from calling program. 
• 
Else if cMode is equal to a '3' (retrieval mode).
• 
Return values to calling program.
• 
Else if cMode is equal to '4' (delete mode).
• 
Delete all records with the same cache key.
'b7'b7'b7'b7'b7'b7



Data Structure

D7300010B - Load and Retrieve Quantum Tax Cache

Parameter NameData ItemData TypeReq/OptI/O/Both
mnJobNumberJOBSMATH_NUMERICOPTNONE

The job number (work station ID) which executed the particular job.

cModeMODEcharOPTNONE

The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed.

cConstantTaxCategoryCodeEV01charOPTNONE

An option that specifies the type of processing for an event.

cWriteQuantumRegisterVWTRGcharOPTNONE

A value that instructs Quantum whether to write to the Register database. Valid values are:    0   Do not write to the Quantum Register 
database.    1   Write to the Quantum Register database.

szGeoCodeShipToVGCSTcharOPTNONE

The location to which a product is delivered. This location is used by the Quantum calculation system for determining the appropriate taxing 
jurisdiction.

szGeoCodeShipFromVGCSFcharOPTNONE

The location (warehouse or store location) from which a product was shipped or where a service is performed. This location is used by the 
Quantum calculating tax engine to determine the appropriate taxing jurisdiction.

szGeoCodeOrderAcceptVGCOAcharOPTNONE

The jurisdiction where a sales transaction is approved or a contract is accepted by the seller.

szCompanyKeyOrderNoKCOOcharOPTNONE

A number that, along with order number and order type, uniquely identifies an order document (such as a purchase order, a contract, a 
sales order, and so on). If you use the Next Numbers by Company/Fiscal Year facility, the Automatic Next Numbers program (X0010) uses the 
order company to retrieve the correct next number for that company. If two or more order documents have the same order number and order 
type, the order company lets you locate the desired document. If you use the regular Next Numbers facility, the order company is not used to 
assign a next number. In this case, you probably would not use the order company to locate the document.

cTaxableYNTAX1charOPTNONE

A code that indicates whether the item is subject to sales tax when you sell it. The system calculates tax on the item only if the customer is 
also taxable.

mnIdentifierShortItemITMMATH_NUMERICOPTNONE

An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item 
numbers (see data item XRT) to accommodate substitute item numbers, replacements, bar codes, customer numbers, supplier numbers, and 
so forth. The item numbers are as follows:   o Item Number (short) - An eight-digit, computer-assigned item number     o 2nd Item Number - The 
25-digit, free-form, user defined alphanumeric item number     o 3rd Item Number - Another 25-digit, free-form, user defined alphanumeric item 
number

szVertexTransactionTypeVVTYcharOPTNONE

Vertex Sales and Use Tax transaction type.

szTransactionTaxGeoCodeVTTGCcharOPTNONE

The GeoCode that identifies the taxing jurisdiction. This value is determined by the Quantum tax calculating engine.

cTDMReturnCodeVTDMRcharOPTNONE

Indicates if the TDM overrides are used.

cDistrictApplyFlagVDSAFcharOPTNONE

Determines whether the district tax, if any, is for the city or county. Valid values are:    blank No district tax    1       District tax applies to the city    
2       District tax applies to the county 

mnStateTaxableAmountVSTTBMATH_NUMERICOPTNONE

The state amount that is subject to tax.

mnStateTaxRateVSTTRMATH_NUMERICOPTNONE

State tax rate.

mnStateTaxAmountVSTTAMATH_NUMERICOPTNONE

Amount of state tax calculated.

mnCountyTaxableAmountVCNTBMATH_NUMERICOPTNONE

The county amount that is subject to tax.

mnCountyTaxRateVCNTRMATH_NUMERICOPTNONE

County tax rate.

mnCountyTaxAmountVCNTAMATH_NUMERICOPTNONE

Amount of county tax calculated.

mnCityTaxableAmountVCTTBMATH_NUMERICOPTNONE

The city amount that is subject to tax.

mnCityTaxRateVCTTRMATH_NUMERICOPTNONE

City tax rate.

mnCityTaxAmountVCTTAMATH_NUMERICOPTNONE

Amount of city tax calculated.

mnDistrictTaxableAmountVDSTBMATH_NUMERICOPTNONE

The district amount that is subject to tax.

mnDistrictTaxRateVDSTRMATH_NUMERICOPTNONE

District tax rate.

mnDistrictTaxAmountVDSTAMATH_NUMERICOPTNONE

Amount of district tax calculated.

mnTotalTaxRateVTTXRMATH_NUMERICOPTNONE

The total combined tax rate for a transaction.

szIntraStateTaxedGeoCodeVITGCcharOPTNONE

The location, other than the taxing jurisdiction, where local taxes are collected.

mnIntraStateCountyRateVICNRMATH_NUMERICOPTNONE

The jurisdiction's county tax rate.

mnIntraStateCountyTaxVICNTMATH_NUMERICOPTNONE

The jurisdiction's county tax amount.

mnIntraStateCityRateVICTRMATH_NUMERICOPTNONE

The jurisdiction's city tax rate.

mnIntraStateCityTaxVICTTMATH_NUMERICOPTNONE

The jurisdiction's city tax amount.

mnIntraStateDistrictRateVIDSRMATH_NUMERICOPTNONE

The jurisdiction's district tax rate.

mnIntraStateDistrictTaxVIDSTMATH_NUMERICOPTNONE

The jurisdiction's district tax amount.

szShipToStateVSTSTcharOPTNONE

The state that is associated with the ship-to GeoCode.

szShipToCountyVSTCNcharOPTNONE

The county associated with the ship-to GeoCode.

szShipToCityVSTCTcharOPTNONE

The city associated with the ship-to GeoCode.

szShipFromStateVSFSTcharOPTNONE

The state that is associated with the ship-from GeoCode.

szShipFromCountyVSFCNcharOPTNONE

The county that is associated with the ship-from GeoCode.

szShipFromCityVSFCTcharOPTNONE

The city that is associated with the ship-from GeoCode.

szOrderAcceptStateVOASTcharOPTNONE

The state that is associated with the order acceptance GeoCode.

szOrderAcceptCountyVOACNcharOPTNONE

The county that is associated with the order acceptance GeoCode.

szOrderAcceptCityVOACTcharOPTNONE

The city that is associated with the order acceptance GeoCode.

mnUnitsUMATH_NUMERICOPTNONE

The quantity of something that is identified by a unit of measure. For example, it can be the number of barrels, boxes, cubic yards, gallons, 
hours, and so on.

szProductCodeVVTCcharOPTNONE

User defined code used in the Vertex Tax Decision Maker for products or services that are non-taxable or are at a non-stanard rate.

szLineTypeLNTYcharOPTNONE

A code that controls how the system processes lines on a transaction. It controls the systems with which the transaction interfaces, such as 
General Ledger, Job Cost, Accounts Payable, Accounts Receivable, and Inventory Management. It also specifies the conditions under 
which a line prints on reports, and it is included in calculations. Codes include the following: S Stock item   J Job cost   N Nonstock item   F Freight  
T Text information   M Miscellaneous charges and credits   W Work order

szDocumentOrderTypeDCTOcharOPTNONE

A user defined code (00/DT) that identifies the type of document. This code also indicates the origin of the transaction. J.D. Edwards has 
reserved document type codes for vouchers, invoices, receipts, and time sheets, which create automatic offset entries during the post 
program. (These entries are not self-balancing when you originally enter them.) The following document types are defined by J.D. Edwards and 
should not be changed: P Accounts Payable documents   R Accounts Receivable documents   T Payroll documents   I Inventory documents  
O Purchase Order Processing documents   J General Accounting/Joint Interest Billing documents   S Sales Order Processing documents

cIntraStateDistrictApplyFlagVDSAFcharOPTNONE

Determines whether the district tax, if any, is for the city or county. Valid values are:    blank No district tax    1       District tax applies to the city    
2       District tax applies to the county 

mnDocumentOrderInvoiceDOCOMATH_NUMERICOPTNONE

A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry, 
and so on.

szOrderSuffixSFXOcharOPTNONE

In the A/R and A/P systems, a code that corresponds to the pay item. In the Sales Order and Procurement systems, this code identifies 
multiple transactions for an original order. For purchase orders, the code is always 000. For sales orders with multiple partial receipts against an 
order, the first receiver used to record receipt has a suffix of 000, the next has a suffix of 001, the next 002, and so on.

mnLineNumberLNIDMATH_NUMERICOPTNONE

A number that identifies multiple occurrences, such as line numbers on a purchase order or other document. Generally, the system assigns 
this number,but in some cases you can override it.

mnDetailBranchAn8AN8MATH_NUMERICOPTNONE

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

szDetailBranchCompanyCOcharOPTNONE

A code that identifies a specific organization, fund, or other reporting entity. The company code must already exist in the Company 
Constants table (F0010) and must identify a reporting entity that has a complete balance sheet. At this level, you can have intercompany 
transactions. Note: You can use company 00000 for default values such as dates and automatic accounting instructions. You cannot use company 00000 
for transaction entries.

cWarningErrorFlagEV06charOPTNONE

An option that specifies the type of processing for an event.

mnAmtDiscountAvailableADSCMATH_NUMERICOPTNONE

The amount of the invoice or voucher pay item that is eligible to be subtracted from the gross amount when the transaction is paid. The 
system calculates discount amounts based on the payment term entered on the transaction.  Note: If the system calculates the discount, verify 
that it applies to the pay item specified. Usually, freight, sales tax, and labor charges that are included in the gross amount do not qualify for 
discounts.

mnShipToSoldToAN8MATH_NUMERICOPTNONE

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

mnIntraStateCityTaxableVSTTBMATH_NUMERICOPTNONE

The state amount that is subject to tax.

mnIntraStateDistrictTaxableVSTTBMATH_NUMERICOPTNONE

The state amount that is subject to tax.

mnIntraStateCountyTaxableVSTTBMATH_NUMERICOPTNONE

The state amount that is subject to tax.

mnDocVoucherInvoiceNumberDOCMATH_NUMERICOPTINPUT

A number that identifies the original document, such as a voucher, invoice, or journal entry. On entry forms, you can assign the document 
number or let the system assign it using the Next Numbers program (P0002). Matching document numbers (DOCM) identify related documents 
in the Accounts Receivable and Accounts Payable systems. Examples of original and matching documents are: Accounts Payable     o 
Original document - voucher     o Matching document - payment  Accounts Receivable     o Original document - invoice     o Matching document - 
receipt  Note: In the Accounts Receivable system, the following transactions simultaneously generate original and matching documents: 
deductions, unapplied receipts, chargebacks, and drafts.

Related Functions

B0000055 ValidateAAICompletely
B0000182 Initialize Environment for Vendor Business Functions
B7300002 Validate Quantum GeoCode
N7000140 X00TAX - Plug & Play - 04
N7300001 Determine if Quantum is Active

Related Tables

F0014 Payment Terms
F0022 Tax Rules
F4008 Tax Areas
MaintainDiscRoundArray

MaintainDiscRoundArray

Calculate and Edit Tax Amounts

Major Business Rule

Object Name: X00TAX

Parent DLL: CALLBSFN

Location: Client/Server

Language: C


Data Structure

D0000116 - Maintain Discount Round Array

Parameter NameData ItemData TypeReq/OptI/O/Both
szPaymentTermPTCcharOPTINPUT

Payment terms code.
^

mnUnroundedRunTotalMN29D9MATH_NUMERICOPTBOTH

Unrounded running discount total.  This value is retrieve by the tax calculator and stored in cache 
for the purposes of soft rounding.

^

cActionACTNcharOPTINPUT

Action code valid values: '1' = Inquire/Add, '3' = Update, '4' = Delete pay terms record, and '8' = 
Terminate cache.

^

mnJobNumberJOBSMATH_NUMERICOPTINPUT

Job number.
^

Related Functions

B0000055 ValidateAAICompletely
B0000182 Initialize Environment for Vendor Business Functions
B7300002 Validate Quantum GeoCode
N7000140 X00TAX - Plug & Play - 04
N7300001 Determine if Quantum is Active

Related Tables

F0014 Payment Terms
F0022 Tax Rules
F4008 Tax Areas
MaintainTaxRoundArray

MaintainTaxRoundArray

Calculate and Edit Tax Amounts

Major Business Rule

Object Name: X00TAX

Parent DLL: CALLBSFN

Location: Client/Server

Language: C


Data Structure

D0000114 - Maintain Tax Rounding Array

Parameter NameData ItemData TypeReq/OptI/O/Both
szTaxExplanationEXR1charOPTINPUT

Tax explanation code.
^

szTaxRateAreaTXA1charOPTINPUT

Tax rate area.
^

cActionACTNcharOPTINPUT

Action code valid values: '1' = Inquire/Add, '3' = update, '4' = Delete tax explanation/area record, 
and '8' = Terminate cache.

^

mnUnroundedRunTotalMN29D9MATH_NUMERICOPTBOTH

Unrounded running total.  This value is retrieved by the tax calculator and stored in this cache for 
the purposes of soft rounding.

^

mnJobNumberJOBSMATH_NUMERICOPTINPUT

Job number.
^

Related Functions

B0000055 ValidateAAICompletely
B0000182 Initialize Environment for Vendor Business Functions
B7300002 Validate Quantum GeoCode
N7000140 X00TAX - Plug & Play - 04
N7300001 Determine if Quantum is Active

Related Tables

F0014 Payment Terms
F0022 Tax Rules
F4008 Tax Areas
an>
ev01cConstantCategoryCodeINoIndicates which Quantum constants to 

work with:

 '0' - Sales constants in F7306

 '1' - Use constants in F7306

vwtrgcWriteQuantumRegisterINo'0' - Do not write register

 '1' - Write register

vgcstszGeoCodeShipToI/ONo

vgcsfszGeoCodeShipFromONo

vgcoaszGeoCodeOrderAcceptI/ONo

kcooszCompanyKeyOrderAcceptINo

tax1cTaxableYNINo

itmmnIdentifierShortItemINo

vvtyszVertexTransactionTypeONo'0' - Sale 

'1' - Purchase 

'2' - Service

'3' - Rental/Lease

vttgcszTransactionTaxGeoCodeONoIndicates which GeoCode was taxed by 

passing back the GeoCode

vtdmrcTDMReturnCodeONoReturn codes from TDM:

'1' - Customer table exemption used 

'2' - Product table exemption used