Previous  Next          Contents  Index  Navigation  Glossary  Library

Preparing Receivables

The tax extension is a PL/SQL procedure that is called by the Oracle Tax Engine every time a tax rate is calculated within Receivables or Oracle Order Entry.

When you calculate a tax rate, the system calls the procedure ARP_TAX_VENDOR.CALCULATE. If a tax vendor is not installed, the Tax Extension passes back a 'No Vendor' return code and Receivables uses the tax rates calculated internally. You can perform the following optional steps to prepare Receivables to calculate tax on invoice lines by an external tax vendor.

Load External Tax Information

Receivables provides two sample SQL*Loader control files, AR_TOP/bin/aravp.ctl and AR_TOP/bin/arvertex.ctl, to load new locations and tax rates from data files supplied by your Tax Vendor. These programs let you load multiple tax rates for the same location, which may cover different date ranges and postal codes. The following diagram shows how your Tax Vendor's data is imported into Receivables tax tables.

Note: Receivables provides six possible Sales Tax Location Flexfield structures. The sample SQL*Loader files, aravp.ctl and arvertex.ctl, only support the structure, State.County.City. If you select another structure, you will have to modify these SQL*Loader files.

Receivables provides database views to pass tax information to the Tax Engine. You can use these views to control which database columns are passed into the Tax Engine for every transaction line you tax.

The following views have been defined:

For more information, please refer to the Receivables Applications Technical Reference Manual and the Oracle Order Entry/Shipping Applications Technical Reference Manual.

The above set of views are the default Oracle database views. You can specify a separate set of views in the Tax alternative region of the System Options window. You can set the Tax Vendor Views field to one of the following:

For more information, see: Tax System Options.

If you set the Tax Vendor Views field to 'Oracle', Receivables uses the above set of views. If you use any other tax vendor view, the view names that Receivables uses are appended with the following:

Receivables Tax Engine

The Tax Engine uses the information passed by the database views to calculate tax, regardless of whether an external Tax Vendor is installed. Both the Tax Extension and the AR Tax Module are components of the Tax Engine and are called every time the Tax Engine is requested to calculate tax. If an external tax vendor is installed, the Tax Engine will use the tax rate or amount returned by the Tax Extension to override the rate or amount calculated by the AR Tax Module.

If the following columns, available in each view, are not populated, the Tax Extension will be passed NULL for each of their values.

View Column Name Description
POO_ADDRESS_CODE Jurisdiction code for Point of Order Origin
POA_ADDRESS_CODE Jurisdiction code for Point of Order Acceptance
SHIP_FROM_ADDRESS_CODE Jurisdiction code for Ship From Address
SHIP_TO_ADDRESS_CODE Jurisdiction code for Ship-To Address
FOB_CODE Free On Board or Point of Title Passage
PART_NUMBER Inventory Part Number
LOCATION_QUALIFIER Identifies the Taxing Authority, e.g. 'ALL', 'STATE', 'COUNTY' or 'CITY'

Tax Jurisdictions

Within the United States, a tax rate is calculated from Ship-To, Ship From, Point of Order Origin, and Point of Order Acceptance. To implement the Tax Extension using each of these addresses, you will have to store the latter three values in descriptive flexfields at the appropriate level: Invoice Line or Header, or Order Line or Header.

If you use AutoInvoice to import orders from Oracle Order Entry, AutoInvoice will populate the item line Transaction Flexfield with packing slip information. This may be used to source the Ship From site use and address for each order. See Integrating Oracle Order Entry with Oracle Receivables in the Oracle Financials Open Interfaces Manual.

The jurisdiction codes are loaded by the Sales Tax Rate Interface into attribute 1 of the table ar_location_rates. To load vendor jurisdiction codes into the other view columns, you will have to modify the views to join ar_location_rates with your appropriate customized table.

If you require postal code data to nine characters (zip+4) to segregate customer addresses by jurisdiction code, you will have to manually update the address data provided by your Tax Vendor. You can use the Location and Rates window to update the postal code data to comply with your jurisdiction code requirements.

Below is an example of multiple jurisdiction codes within a standard five digit zip code designation:

location_segment_id from_postal_code to_postal_code jurisdiction code
43 (San Francisco) 94110 94116 code 1
43 (San Francisco) 94117 94117 code 2
43 (San Francisco) 94118 94118-3999 code 3
43 (San Francisco) 94118-4000 94118-9999 code 4

Generating Multiple Tax Lines

To generate multiple tax lines per invoice line, the views would be changed to return multiple rows per invoice line, with each line identified by a unique location_qualifier. For example:

TRX_ID TRX_LINE_ID LINE_NO EXTENDED
_AMOUNT
LOCATION_QUALIFIER
123 78955 1 5000 State
123 78955 1 5000 County
123 78955 1 5000 City
123 78955 1 5000 Federal
123 78955 1 5000 Provincial

Receivables would then store each tax rate as a separate tax line on the invoice.

Warning: Be careful to use outer joins for your customizations of the tax database views. Failure to do so may result in order or invoice lines not being taxed.

See Also

Available Parameters


         Previous  Next          Contents  Index  Navigation  Glossary  Library