You are on page 1of 9

a. Tax Regimes: ZX_REGIMES_B b. Taxes: ZX_TAXES_B c. Tax Status: ZX_STATUS_B d. Tax Rates: ZX_RATES_B e. Tax Jurisdictions: ZX_JURISDICTIONS_B f.

Tax Rules: ZX_RULES_B You will most likely need to refine your extracts based on the data you have, whetehr you have migrated data or multiple countries etc.

SELECT * FROM zx_regimes_b WHERE tax_regime_code = '&tax_regime_code'; SELECT * FROM zx_taxes_b WHERE DECODE('&tax_name',null,'xxx',tax) = nvl('&tax_name','xxx') AND tax_regime_code = '&tax_regime_code'; SELECT * FROM zx_status_b WHERE tax = '&tax_name' AND tax_regime_code = '&tax_regime_code'; SELECT * FROM zx_rates_b WHERE tax = '&tax_name' AND tax_regime_code = '&tax_regime_code'; SELECT * FROM zx_jurisdictions_b WHERE DECODE('&tax_name',null,'xxx',tax) = nvl('&tax_name','xxx') AND tax_regime_code = '&tax_regime_code'; SELECT * FROM zx_rules_b WHERE tax = '&tax_name' AND tax_regime_code = '&tax_regime_code'; ===================================================

-- TAX DETERMINING FACTORS-Select dftt.DET_FACTOR_TEMPL_NAME,

dft.DETERMINING_FACTOR_CLASS_CODE, dft.DETERMINING_FACTOR_CQ_CODE, dft.DETERMINING_FACTOR_CODE, dft.REQUIRED_FLAG--, from zx_det_factor_templ_dtl dft, zx_det_factor_templ_tl dftt WHERE dft.DET_FACTOR_TEMPL_ID = dftt.DET_FACTOR_TEMPL_ID ===================================================

-- TAX CONDITIONS -Select zxc.CONDITION_GROUP_CODE, zxcg.DET_FACTOR_TEMPL_CODE, zxc.DETERMINING_FACTOR_CLASS_CODE, zxc.DETERMINING_FACTOR_CODE, zxc.DETERMINING_FACTOR_CQ_CODE, zxc.OPERATOR_CODE, zxc.value_low from zx_conditions zxc, zx_condition_groups_b zxcg where OPERATOR_CODE <> 'Y' and zxc.CONDITION_GROUP_CODE = zxcg.CONDITION_GROUP_CODE AND ZXC.IGNORE_FLAG = 'N' order by zxcg.det_factor_templ_code, zxc.CONDITION_GROUP_CODE, zxc.condition_group_code, zxc.determining_factor_class_code ===================================================

-- EBTAX TRANSACTION TABLES -Following are the main E-Business tax tables that will contain the transaction information that will have the tax details after tax is calculated. a. ZX_LINES: This table will have the tax lines for associated with PO/Release schedules. TRX_ID: Transaction ID. This is linked to the PO_HEADERS_ALL.PO_HEADER_ID TRX_LINE_ID: Transaction Line ID. This is linked to the PO_LINE_LOCATIONS_ALL.LINE_LOCATION_ID b. ZX_REC_NREC_DIST: This table will have the tax distributions for associated with PO/Release distributions. TRX_ID: Transaction ID. This is linked to the PO_HEADERS_ALL.PO_HEADER_ID TRX_LINE_ID: Transaction Line ID. This is linked to the PO_LINE_LOCATIONS_ALL.LINE_LOCATION_ID

TRX_LINE_DIST_ID: Transaction Line Distribution ID. This is linked to the PO_DISTRIBUTIONS_ALL.PO_DISTRIBUTION_ID RECOVERABLE_FLAG: Recoverable Flag. If the distribution is recoverable then the flag will be set to Y and there will be values in the RECOVERY_TYPE_CODE and RECOVERY_RATE_CODE. c. PO_REQ_DISTRIBUTIONS_ALL: This table will have the tax distributions for associated with Requisition distribution. RECOVERABLE_TAX: Recoverable tax amount NONRECOVERABLE_TAX: Non Recoverable tax amount d. ZX_LINES_DET_FACTORS: This table holds all the information of the tax line transaction for both the requisitions as well as the purchase orders/releases. TRX_ID: Transaction ID. This is linked to the PO_REQUISITION_HEADERS_ALL.REQUISITION_HEADER_ID / PO_HEADERS_ALL.PO_HEADER_ID TRX_LINE_ID: Transaction Line ID. This is linked to the PO_REQUISITION_LINES_ALL.REQUISITION_LINE_ID / PO_LINE_LOCATIONS_ALL.LINE_LOCATION_ID =============================================================

-- SQL FOR PARTY FISCAL CLASSIFICATION CODE -SELECT HPP.PARTY_NAME,HP.PARTY_SITE_NAME ,HCA.* FROM ZX_PARTY_TAX_PROFILE ZP ,HZ_CODE_ASSIGNMENTS HCA ,HZ_PARTY_SITES HP ,HZ_PARTIES HPP WHERE ZP.PARTY_TAX_PROFILE_ID = HCA.OWNER_TABLE_ID --AND ZP.PARTY_ID = :PARTY_ID AND HCA.OWNER_TABLE_NAME = 'ZX_PARTY_TAX_PROFILE' AND HP.PARTY_SITE_ID = ZP.PARTY_ID AND HPP.PARTY_ID= HP.PARTY_ID AND HCA.CLASS_CODE IS NOT NULL ORDER BY ZP.LAST_UPDATE_DATE DESC SELECT HP.PARTY_ID, HP.PARTY_NAME, HPS.PARTY_SITE_ID, HPS.PARTY_SITE_NAME, ZP.PARTY_TAX_PROFILE_ID FROM ZX_PARTY_TAX_PROFILE ZP, HZ_PARTY_SITES HPS, HZ_PARTIES HP, HZ_CUST_ACCOUNTS_ALL CA WHERE HP.PARTY_ID = HPS.PARTY_ID AND HP.PARTY_ID = CA.PARTY_ID AND HPS.PARTY_SITE_ID = ZP.PARTY_ID AND CA.CUSTOMER_CLASS_CODE = 'WEB CUSTOMER' AND UPPER(HP.PARTY_NAME) LIKE 'CAROLE%FINCK%' AND EXISTS ( SELECT 1

FROM HZ_CODE_ASSIGNMENTS HCA WHERE HCA.OWNER_TABLE_ID = ZP.PARTY_TAX_PROFILE_ID AND HCA.OWNER_TABLE_NAME = 'ZX_PARTY_TAX_PROFILE' AND HCA.CLASS_CODE IS NOT NULL) ORDER BY ZP.LAST_UPDATE_DATE DESC; =================================================================

-- BELOW QUERY RETRIEVES CUSTOMER ADDRESSES THAT DOESNT HAVE ANY GEOGRAPHY REFERENCE -SELECT HCA.ACCOUNT_NUMBER ,HCA.ACCOUNT_NAME ,HCS_SHIP.SITE_USE_CODE ,HL_SHIP.ADDRESS1 ADDRESS ,HL_SHIP.STATE STATE ,HL_SHIP.COUNTY COUNTY ,HL_SHIP.CITY CITY ,HL_SHIP.POSTAL_CODE FROM HZ_CUST_SITE_USES_ALL HCS_SHIP , HZ_CUST_ACCT_SITES_ALL HCA_SHIP , HZ_CUST_ACCOUNTS HCA , HZ_PARTY_SITES HPS_SHIP , HZ_LOCATIONS HL_SHIP WHERE HCA.CUST_ACCOUNT_ID=HCA_SHIP.CUST_ACCOUNT_ID(+) AND HCS_SHIP.CUST_ACCT_SITE_ID(+) = HCA_SHIP.CUST_ACCT_SITE_ID -- AND HCA.ACCOUNT_NUMBER='10001' AND HCA_SHIP.PARTY_SITE_ID = HPS_SHIP.PARTY_SITE_ID AND HPS_SHIP.LOCATION_ID = HL_SHIP.LOCATION_ID AND HCA.STATUS='A' AND HCS_SHIP.STATUS='A' AND HCA_SHIP.STATUS='A' AND HL_SHIP.COUNTRY='US' AND NOT EXISTS (SELECT 1 FROM HZ_GEOGRAPHIES HG WHERE HG.GEOGRAPHY_ELEMENT2_CODE=HL_SHIP.STATE AND UPPER(HL_SHIP.COUNTY)=UPPER(HG.GEOGRAPHY_ELEMENT3_CODE) AND UPPER(HL_SHIP.CITY)=UPPER(HG.GEOGRAPHY_ELEMENT4_CODE) AND SYSDATE BETWEEN HG.START_DATE AND HG.END_DATE) =================================================================

-- BELOW SQL QUERY RETRIEVES LIST OF JURISDICTIONS' FOR WHICH TAX RATES HAS BEEN DEFINED -SELECT TAX, TAX_JURISDICTION_CODE, GEOGRAPHY_ELEMENT2_CODE STATE_CODE, GEOGRAPHY_ELEMENT3_CODE COUNTY_CODE, GEOGRAPHY_ELEMENT4_CODE CITY_CODE FROM ZX_JURISDICTIONS_B ZJ, HZ_GEOGRAPHIES HG WHERE ZJ.TAX_REGIME_CODE='US_SALE_AND_USE_TAX' AND SYSDATE BETWEEN ZJ.EFFECTIVE_FROM AND NVL(ZJ.EFFECTIVE_TO,'31-DEC4999') AND SYSDATE BETWEEN HG.START_DATE AND HG.END_DATE AND ZJ.ZONE_GEOGRAPHY_ID=HG.GEOGRAPHY_ID AND ZJ.TAX=HG.GEOGRAPHY_TYPE AND NOT EXISTS (SELECT 1 FROM ZX_RATES_B ZR

WHERE ZR.TAX_REGIME_CODE='US_SALE_AND_USE_TAX' AND ZR.TAX_JURISDICTION_CODE=ZJ.TAX_JURISDICTION_CODE) ORDER BY TAX, TAX_JURISDICTION_CODE, GEOGRAPHY_ELEMENT2_CODE , GEOGRAPHY_ELEMENT3_CODE, GEOGRAPHY_ELEMENT4_CODE ========================================================================

-- BELOW QUERY RETRIEVES LIST OF GEOGRAPHY'S WITHOUT JURISDICTIONS-SELECT * FROM (SELECT GEOGRAPHY_TYPE, GEOGRAPHY_ELEMENT2_CODE STATE_CODE, GEOGRAPHY_ELEMENT3_CODE COUNTY_CODE, GEOGRAPHY_ELEMENT4_CODE CITY_CODE FROM HZ_GEOGRAPHIES HG WHERE HG.GEOGRAPHY_TYPE='STATE' AND SYSDATE BETWEEN HG.START_DATE AND HG.END_DATE AND GEOGRAPHY_ELEMENT1_CODE='US' AND NOT EXISTS (SELECT 1 FROM ZX_JURISDICTIONS_B ZJ WHERE ZJ.ZONE_GEOGRAPHY_ID=HG.GEOGRAPHY_ID AND ZJ.TAX_REGIME_CODE='US_SALE_AND_USE_TAX' AND SYSDATE BETWEEN ZJ.EFFECTIVE_FROM AND NVL(ZJ.EFFECTIVE_TO,'31-DEC-4999') AND ZJ.TAX=HG.GEOGRAPHY_TYPE) UNION SELECT GEOGRAPHY_TYPE, GEOGRAPHY_ELEMENT2_CODE STATE_CODE, GEOGRAPHY_ELEMENT3_CODE COUNTY_CODE, GEOGRAPHY_ELEMENT4_CODE CITY_CODE FROM HZ_GEOGRAPHIES HG WHERE HG.GEOGRAPHY_TYPE='COUNTY' AND SYSDATE BETWEEN HG.START_DATE AND HG.END_DATE AND GEOGRAPHY_ELEMENT1_CODE='US' AND NOT EXISTS (SELECT 1 FROM ZX_JURISDICTIONS_B ZJ WHERE ZJ.ZONE_GEOGRAPHY_ID=HG.GEOGRAPHY_ID AND ZJ.TAX_REGIME_CODE='US_SALE_AND_USE_TAX' AND SYSDATE BETWEEN ZJ.EFFECTIVE_FROM AND NVL(ZJ.EFFECTIVE_TO,'31-DEC-4999') AND ZJ.TAX=HG.GEOGRAPHY_TYPE) UNION SELECT GEOGRAPHY_TYPE, GEOGRAPHY_ELEMENT2_CODE STATE_CODE, GEOGRAPHY_ELEMENT3_CODE COUNTY_CODE, GEOGRAPHY_ELEMENT4_CODE CITY_CODE FROM HZ_GEOGRAPHIES HG WHERE HG.GEOGRAPHY_TYPE='CITY' AND SYSDATE BETWEEN HG.START_DATE AND HG.END_DATE AND GEOGRAPHY_ELEMENT1_CODE='US' AND NOT EXISTS (SELECT 1 FROM ZX_JURISDICTIONS_B ZJ WHERE ZJ.ZONE_GEOGRAPHY_ID=HG.GEOGRAPHY_ID AND ZJ.TAX_REGIME_CODE='_US_SALE_AND_USE_TAX' AND SYSDATE BETWEEN ZJ.EFFECTIVE_FROM AND

NVL(ZJ.EFFECTIVE_TO,'31-DEC-4999') AND ZJ.TAX=HG.GEOGRAPHY_TYPE)) ORDER BY GEOGRAPHY_TYPE,STATE_CODE, COUNTY_CODE, CITY_CODE ===================================================================

-- TAX RULES AND CONDITIONS -SELECT tax_regime_code ,tax ,DECODE( rul.service_type_code ,'DET_TAX_STATUS' ,'Determine Tax Status' ,'DET_RECOVERY_RATE' ,'Determine Tax Rate' ,'DET_APPLICABLE_TAXES' ,'Determine Applicability' ,'DET_PLACE_OF_SUPPLY' ,'Determine Place of supply' ,'DET_TAX_RATE' ,'Determine Tax Rate' ) rule ,rul.priority ,det_factor_templ_code factor_set ,res.priority ,condition_group_code ,alphanumeric_result ,NVL(ou.name, 'Global Configuration Owner') owner FROM zx.zx_rules_b rul ,zx.zx_process_results res ,zx.zx_party_tax_profile pp ,hr_operating_units ou WHERE rul.tax_rule_id = res.tax_rule_id AND rul.content_owner_id = pp.party_tax_profile_id AND pp.party_id = ou.organization_id(+) ORDER BY rul.tax_regime_code ,rul.tax ,rul.service_type_code ,rul.priority ,res.priority ===================================================================

--SUPPLIER TAX REGISTRATION CREATION-Use the below script to create Tax Registrations for suppliers - if you have defined any tax rule based on Tax Registrations DECLARE X_RETURN_STATUS VARCHAR2(1); BEGIN ZX_REGISTRATIONS_PKG.INSERT_ROW ( P_REQUEST_ID => NULL ,P_ATTRIBUTE1 => NULL ,P_ATTRIBUTE2 => NULL

,P_ATTRIBUTE3 => NULL ,P_ATTRIBUTE4 => NULL ,P_ATTRIBUTE5 => NULL ,P_ATTRIBUTE6 => NULL ,P_VALIDATION_RULE => NULL ,P_ROUNDING_RULE_CODE => 'UP' ,P_TAX_JURISDICTION_CODE => NULL ,P_SELF_ASSESS_FLAG => 'Y' ,P_REGISTRATION_STATUS_CODE => 'REGISTERED' ,P_REGISTRATION_SOURCE_CODE => 'IMPLICIT' ,P_REGISTRATION_REASON_CODE => NULL ,P_TAX => NULL ,P_TAX_REGIME_CODE => 'DAR' ,P_INCLUSIVE_TAX_FLAG => 'N' ,P_EFFECTIVE_FROM => TO_DATE('01-DEC-2007','DD-MONYYYY') ,P_EFFECTIVE_TO => NULL ,P_REP_PARTY_TAX_NAME => NULL ,P_DEFAULT_REGISTRATION_FLAG => 'N' ,P_BANK_ACCOUNT_NUM => NULL ,P_RECORD_TYPE_CODE => NULL ,P_LEGAL_LOCATION_ID => NULL ,P_TAX_AUTHORITY_ID => NULL ,P_REP_TAX_AUTHORITY_ID => NULL ,P_COLL_TAX_AUTHORITY_ID => NULL ,P_REGISTRATION_TYPE_CODE => NULL ,P_REGISTRATION_NUMBER => NULL ,P_PARTY_TAX_PROFILE_ID => 812988 ,P_LEGAL_REGISTRATION_ID => NULL ,P_BANK_ID => NULL ,P_BANK_BRANCH_ID => NULL ,P_ACCOUNT_SITE_ID => NULL ,P_ATTRIBUTE14 => NULL ,P_ATTRIBUTE15 => NULL ,P_ATTRIBUTE_CATEGORY => NULL ,P_PROGRAM_LOGIN_ID => NULL ,P_ACCOUNT_ID => NULL ,P_TAX_CLASSIFICATION_CODE => NULL ,P_ATTRIBUTE7 => NULL ,P_ATTRIBUTE8 => NULL ,P_ATTRIBUTE9 => NULL ,P_ATTRIBUTE10 => NULL ,P_ATTRIBUTE11 => NULL ,P_ATTRIBUTE12 => NULL ,P_ATTRIBUTE13 => NULL ,X_RETURN_STATUS => X_RETURN_STATUS ); DBMS_OUTPUT.PUT_LINE('RETURN STATUS :' ||X_RETURN_STATUS); COMMIT; END; ================================================================

--EXCLUDE FREIGHT FROM DISCOUNT-SELECT APS.VENDOR_NAME, APS.EXCLUDE_FREIGHT_FROM_DISCOUNT VEND_EXCD, APSS.VENDOR_SITE_CODE, APSS.EXCLUDE_FREIGHT_FROM_DISCOUNT SITE_EXCD

FROM APPS.AP_SUPPLIERS APS, APPS.AP_SUPPLIER_SITES_ALL APSS WHERE APS.VENDOR_ID = APSS.VENDOR_ID AND APS.VENDOR_ID NOT IN (1, 2, 3) AND APSS.EXCLUDE_FREIGHT_FROM_DISCOUNT IS NULL AND APS.EXCLUDE_FREIGHT_FROM_DISCOUNT IS NULL =================================================================

--Tax rates and the accounts associated to them-SELECT rates.tax_regime_code regime ,rates.tax tax ,rates.tax_status_code status ,rates.tax_rate_code tax_rate ,rates.percentage_rate rate ,rates.default_rec_rate_code rec_rate ,rates.offset_tax_rate_code offset_rate ,ou.name org ,rate_acc.concatenated_segments ar_acc ,rec_acc.concatenated_segments ap_acc FROM zx.zx_rates_b rates ,zx.zx_taxes_b tax ,zx.zx_accounts rate_zx_acc ,gl_code_combinations_kfv rate_acc ,zx.zx_rates_b rec ,zx.zx_accounts rec_zx_acc ,gl_code_combinations_kfv rec_acc ,hr_operating_units ou WHERE 1 = 1 AND rates.tax = tax.tax AND rates.default_rec_rate_code = rec.tax_rate_code AND rates.rate_type_code = 'PERCENTAGE' AND tax.tax_type_code <> 'OFFSET' AND(rates.effective_to IS NULL OR rates.effective_to >= TRUNC(SYSDATE)) AND rates.active_flag = 'Y' AND rate_zx_acc.tax_account_entity_code(+) = 'RATES' AND rate_zx_acc.tax_account_entity_id(+) = rates.tax_rate_id AND rate_zx_acc.tax_account_ccid = rate_acc.code_combination_id(+) AND rec_zx_acc.tax_account_entity_code = 'RATES' AND rec_zx_acc.tax_account_entity_id = rec.tax_rate_id AND rec_zx_acc.tax_account_ccid = rec_acc.code_combination_id AND rate_zx_acc.internal_organization_id = ou.organization_id (+) AND rec_zx_acc.internal_organization_id = NVL(rate_zx_acc.internal_organization_id, rec_zx_acc.internal_organization_id) AND rates.tax <> 'DUMMY TAX' UNION SELECT rates.tax_regime_code regime ,rates.tax tax ,rates.tax_status_code status ,rates.tax_rate_code tax_rate ,rates.percentage_rate rate ,rates.default_rec_rate_code rec_rate

,rates.offset_tax_rate_code offset_rate ,ou.name org ,rate_acc.concatenated_segments ar_acc ,NULL ap_acc FROM zx.zx_rates_b rates ,zx.zx_taxes_b tax ,zx.zx_accounts rate_zx_acc ,gl_code_combinations_kfv rate_acc ,hr_operating_units ou WHERE 1 = 1 AND rates.tax = tax.tax AND rates.rate_type_code = 'PERCENTAGE' AND tax.tax_type_code <> 'OFFSET' AND(rates.effective_to IS NULL OR rates.effective_to >= TRUNC(SYSDATE)) AND rates.active_flag = 'Y' AND rate_zx_acc.tax_account_entity_code(+) = 'RATES' AND rate_zx_acc.tax_account_entity_id(+) = rates.tax_rate_id AND rate_zx_acc.tax_account_ccid = rate_acc.code_combination_id(+) AND rate_zx_acc.internal_organization_id = ou.organization_id (+) AND rates.default_rec_rate_code IS NULL AND rates.tax <> 'DUMMY TAX' ORDER BY regime ,tax ,status ,tax_rate

You might also like