Featured post

Functionality of Segment Value Inheritance ESS Process

  The Segment Value Inheritance process simplifies the maintenance of the chart of accounts. When the characteristics of values in the value...

Wednesday 15 August 2018

Query to get Tax details from invoice in oracle apps r12

1) Below is the query to get tax details from invoice:



  SELECT  lines.TAX_AMT,lines.tax_rate   
         FROM zx_lines lines,ra_customer_trx_all rct,ra_customer_trx_lines_all rl,
 ZX_TAXES_B ZTB,GL_DAILY_CONVERSION_TYPES gc
  where rct.trx_number=:TRX_NUMBER  and rct.customer_trx_id=lines.trx_id
 and rct.customer_trx_id       = rl.customer_trx_id
  and ZTB.Exchange_Rate_Type=gc.conversion_type
  and ztb.tax_id=lines.tax_id
  AND RL.LINE_TYPE='LINE'
  and rct.org_id=:P_ORG_ID
  and lines.trx_line_id=rl.customer_trx_line_id
  and rl.customer_trx_line_id=:customer_trx_line_id;

2) For Standard and Blanket PO:

    ---for tax rate and amount
      SELECT tax_rate  , tax_amt 
(SELECT  lines.tax_rate  ,lines.tax_amt
      FROM   po_headers_all poh,
       po_lines_all pol , po_line_locations_all plla ,zx_lines Lines
--WHERE (poh.segment1 = :p_po_no OR :p_po_no IS NULL)
WHERE  poh.PO_HEADER_ID=:po_header_id1
AND POL.PO_LINE_ID=:L_PO_LINE_ID
AND    poh.org_id = :p_org_id
AND    pol.po_header_id = poh.po_header_id
AND    pol.org_id = poh.org_id
   and lines.trx_id=poh.po_header_id and lines.trx_line_id=plla.line_location_id
  and pol.po_line_id=plla.po_line_id 
--AND    poh.authorization_status = 'APPROVED'
AND    :p_report_type = 'STANDARD'
AND    pol.quantity > 0  --- version 115.2 added this condition to show only those lines which are open/not fully cancelled
UNION ALL
SELECT  lines.tax_rate  ,lines.tax_amt
      FROM   po_headers_all poh,
       po_lines_all pol,
       po_distributions_all pod,
       po_releases_all prl,po_line_locations_all  pll,
   zx_lines lines
--WHERE (poh.segment1 = :p_po_no OR :p_po_no IS NULL)
WHERE  poh.PO_HEADER_ID=:po_header_id1
AND    poh.org_id = :p_org_id
--AND    poh.authorization_status = 'APPROVED'
AND    pol.po_header_id = poh.po_header_id
AND    pol.org_id = poh.org_id
AND    pod.po_header_id = pol.po_header_id
AND    pod.po_line_id = pol.po_line_id
AND    pod.org_id = pol.org_id
AND    prl.po_release_id = pod.po_release_id
AND    prl.po_header_id = pod.po_header_id
AND    prl.org_id = pod.org_id
and lines.trx_id=prl.po_release_id
and lines.trx_line_id=pll.line_location_id
AND    :p_report_type = 'BLANKET'
AND    ( prl.po_release_id  =NVL( :po_release_id1,prl.po_release_id))
and pol.po_line_id =:L_PO_LINE_ID
AND PRL.RELEASE_NUM =NVL(:P_RELEASE_NO,PRL.RELEASE_NUM)
and pll.po_line_id=pol.PO_LINE_ID
and pll.PO_HEADER_ID=pol.PO_HEADER_ID
and pll.LINE_LOCATION_ID=pod.line_location_id
and NVL(pll.CANCEL_FLAG,'N')='N'
--and not exists (select 1 from PO_LINE_LOCATIONS_RELEASE_V pllr
--where pllr.PO_RELEASE_ID=prl.PO_RELEASE_ID
--and nvl(QUANTITY_CANCELLED,0)<>0)

) a;

Resources / Technical / Oracle R12 SQL Queries

Resources / Technical / Oracle R12 SQL Queries

The following are some SQL queries to run to pull Oracle eBTax (Oracle eBusiness Tax) information directly from the tables.
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, whether 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 DOESN’T 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-DEC-4999′)
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-MON-YYYY’)
,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;

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