🔹 Join the OracleApps88 Telegram Group - Stay up to date with the latest on Oracle EBS R12 and Oracle Cloud/Fusion Applications. 📌 Telegram Group : https://t.me/OracleApps88

💡 Facing issues copying code/scripts or viewing posts? We're here to help!
📬 Contact on Telegram : https://t.me/apps88
📱 Telegram/WhatsApp: +91 905 957 4321
📧 Email Support: OracleApp88@Yahoo.com

Monday, July 14, 2025

PROC FAQs - Procurement Fusion Tax Best Practices and General Questions

 1. Why tax is not calculated on Purchase Order?

The reasons for that a tax is not calculated on a Purchase Order are multiples.

One of this reason is tax regime is subscribed to Legal entity and Use subscription of Legal entity checkbox in Party tax profile screen of Business Unit tax content is not checked.

Explanation:

When tax regime is subscribed to Operating unit, then the Use subscription of Legal entity checkbox in Party tax profile screen of Business Unit tax content should not be Checked.

When tax regime is subscribed to Legal entity, then the Use subscription of Legal entity checkbox in Party tax profile screen of Business Unit tax content should be checked.

If the checkbox values are not as per the above description, tax will not be calculated.

 

2. How to create a default tax setup?

Please see Practice 1 for this setup.

 

3. Is it possible to override the defaulted tax code?

Yes, it is possible to override the default tax code.

We have many possibility to do this.

For example we can use: Product Fiscal Classification, Product Category, User-Defined Fiscal Classification, Intended Use, Tax Classification.

In the next two points we show how exactlly the default tax can be overriden using Tax Classification and Fiscal Classification.

 

4. How to override tax using Tax Classification?

Please see Practice 2 for this setup.

 

5. How to override Tax using User-Defined Fiscal Classification?

Please see Practice 3 for this setup.

 

6. How make tax not be calculated on Purchase Order?

In order for the tax not to be calculated on Purchase Order, we can use Tax Classification setup or User Defined Fiscal Classification setup.

In the next two points it will be shown how to do such a setup in order that tax to not be calculated on Purchase Order.

 

7. How to use Tax Classification that no tax applied?

Please see Practice 4 for this setup.

 

8. How to use User-defined Fiscal Classification to make sure no tax is applied?

Please see Practice 5 for this setup.

 

9. How to have a different tax on specific item categories?

Please see Practice 6 for this setup.

 

10. How make tax not be calculated on specific item categories?

Please see Practice 7 for this setup.

 

11. How to default tax from Supplier or from Supplier Site?

Please see Practice 8 for this setup.

 

12. How to default tax from Items?

Please see Practice 9 for this setup.

 

13. How to make tax not be calculated for one supplier?

Please see Practice 10 for this setup.

 

14. How to create more than one Supplier/ Customer with the same Tax Registration Number?

Receiving this error message when trying to create a Supplier:

This Tax Registration Number is already in use for Party Type: Third Party and party name: XXXXXX for the same period.

STEPS TO REPRODUCE

  1. Find a supplier 'XXXXXX'
  2. In Tax Details page, have a Tax Registration with registration number "EXEMPT" assigned.
  3. As per Oracle explanation, customer now needs to create a new Tax Registration in the context of a Tax Regime.
  4. They have attempted to delete the existing registration but the option is not available.
  5. While they can end-date the registration, an attempt to create a new Supplier with the same Tax Registration results in the above error.

The only way to enter duplicate Tax Registration Number (TRN) is to have this setup:

1) “Allow Duplicate Registration Number” to be enabled for tax used (in this case for TAX 1 that we defined in Practice 1 from above)

2) In Mange Tax Registration for Third Party Tax Profile for one supplier  we need to enter the required details and choose the regime and tax as defined in Practice 1 from above
Make the registration as default registration
Save the registration details
Save the party tax profile information.
Now the duplicate tax registration number can be used in the context of this tax.

This script can be used to see registration number for a supplier site:

SELECT *

  FROM zx_registrations

 WHERE     party_tax_profile_id IN (&siteID, &SupplierSiteIDs)

       AND registration_number = &tax_reg_number;

 

15. Which are the main Fusion tax tables that will contain the setup information that will help support in troubleshooting Fusion tax information?

Following are the main Fusion tax tables that will contain the setup information that will help support in troubleshooting Fusion tax information:
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
 
To get a dump of the Tax setups, you can use the following set of queries.  
Please provide the tax regime code when prompted. If the issue is limited to a tax then provide the tax name when prompted else please leave it blank.

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';

 

16. Which are the main Fusion tax tables that will contain the transaction information that will have the tax details after tax is calculated?

Following are the main Fusion 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 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

Requisition information is not present in this table
 
b. ZX_REC_NREC_DIST: This table will have the tax distributions for associated with PO 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. POR_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
TRX_ID: Transaction ID. This is linked to the POR_REQUISITION_HEADERS_ALL.REQUISITION_HEADER_ID / PO_HEADERS_ALL.PO_HEADER_ID

TRX_LINE_ID: Transaction Line ID. This is linked to the POR_REQUISITION_LINES_ALL.REQUISITION_LINE_ID / PO_LINE_LOCATIONS_ALL.LINE_LOCATION_ID

 

17. What Are The Primary Purchasing and Tax Tables Populated for Requisitions and Purchase Orders?

Some common queries that can be used:

Purchase Order:

SELECT poh.segment1,
poh.po_header_id,
pol.line_num,
poll.shipment_num,
zxd.input_tax_classification_code,
zxd.user_defined_fisc_class
FROM ZX_LINES_DET_FACTORS zxd,
zx_lines zxl,
po_headers_all poh,
po_lines_all pol,
po_line_locations_all poll
WHERE poh.po_header_id = pol.po_header_id
AND pol.po_line_id = poll.po_line_id
AND zxd.trx_id = zxl.trx_id
AND zxl.trx_id = poll.po_header_id
AND zxd.entity_code = 'PURCHASE_ORDER'
AND poh.segment1 = '&po_number';

Note the po_header_id:

 
SELECT * FROM PO_HEADERS_ALL
WHERE PO_HEADER_ID = &po_header_id;

SELECT * FROM PO_LINES_ALL
WHERE PO_HEADER_ID = &po_header_id;

SELECT * FROM PO_LINE_LOCATIONS_ALL
WHERE PO_HEADER_ID = &po_header_id;

SELECT * FROM PO_DISTRIBUTIONS_ALL
WHERE PO_HEADER_ID = &po_header_id;

SELECT * FROM ZX_LINES_DET_FACTORS
WHERE APPLICATION_ID = 201
AND ENTITY_CODE = 'PURCHASE_ORDER'
AND EVENT_CLASS_CODE = 'PO_PA'
AND TRX_ID = &po_header_id;

SELECT * FROM ZX_LINES
WHERE APPLICATION_ID = 201
AND ENTITY_CODE = 'PURCHASE_ORDER'
AND EVENT_CLASS_CODE = 'PO_PA'
AND TRX_ID = &po_header_id;

SELECT * FROM ZX_REC_NREC_DIST
WHERE APPLICATION_ID = 201
AND ENTITY_CODE = 'PURCHASE_ORDER'
AND EVENT_CLASS_CODE = 'PO_PA'
AND TRX_ID = &po_header_id;

 

_______________________________________________________________________

 

Requisition:

select prh.segment1,
prl.line_num,
prd.recoverable_tax,
prd.nonrecoverable_tax,
zd.*
from
por_requisition_headers_all prh,
por_requisition_lines_all prl,
por_req_distributions_all prd,
zx_lines_det_factors zd
where
prh.requisition_header_id = prl.requisition_header_id and
prl.requisition_line_id = prd.requisition_line_id and
prl.requisition_line_id = zd.trx_line_id and
prl.requisition_header_id = zd.trx_id and
prh.segment1 = '&req_number';

 

select * from zx_lines_det_factors
where trx_id = &por_requisition_header_id;

_______________________________________________________________________

Checking vendor tax information:

select
ap.vendor_name vendor_name,
ap.vendor_id vendor_id,
aps.vendor_site_code vendor_site_code,
aps.vendor_site_id,
aps.party_site_id party_site_id_site,
zx.party_type_code,
zx.process_for_applicability_flag process_for_app_flag
from
POZ_SUPPLIERS_INT ap,
POZ_SUPPLIER_SITES_INT aps,
zx_party_tax_profile zx
where
ap.vendor_name = '&vendor_name' and
ap.vendor_id = aps.vendor_id and
aps.party_site_id = zx.party_id and
zx.party_type_code in ('THIRD_PARTY_SITE', 'THIRD_PARTY');

 

18. Which table is stored the tax classification of Suppliers?

For finding Fiscal classification code on the supplier please use this script:

SELECT HZ_CODE_ASSIGNMENTS.*

FROM

(SELECT HzCodeAssignmentEO.*

FROM HZ_CODE_ASSIGNMENTS HzCodeAssignmentEO,

HZ_CLASS_CATEGORY_USES hccd,

zx_fc_types_b zft

WHERE HzCodeAssignmentEO.CLASS_CATEGORY = hccd.CLASS_CATEGORY

AND HzCodeAssignmentEO.CLASS_CATEGORY = zft.OWNER_ID_CHAR) HZ_CODE_ASSIGNMENTS ,

ZX_PARTY_TAX_PROFILE,

HZ_PARTY_SITES ,

POZ_SUPPLIER_SITES_INT

WHERE HZ_CODE_ASSIGNMENTS.OWNER_TABLE_NAME = 'ZX_PARTY_TAX_PROFILE'

AND HZ_CODE_ASSIGNMENTS.OWNER_TABLE_ID = ZX_PARTY_TAX_PROFILE.PARTY_TAX_PROFILE_ID

AND ZX_PARTY_TAX_PROFILE.PARTY_ID = HZ_PARTY_SITES.PARTY_SITE_ID

AND POZ_SUPPLIER_SITES_INT.PARTY_SITE_ID = POZ_SUPPLIER_SITES_INT.PARTY_SITE_ID

AND POZ_SUPPLIER_SITES_INT.VENDOR_SITE_CODE = '&SupplierSiteCode';

 

 

select * from POZ_SUPPLIER_SITES_INT where party_site_id in

(SELECT party_id FROM zx_party_tax_profile WHERE party_type_code = 'THIRD_PARTY_SITE' AND tax_classification_code is not null);

 

19. Can we have INCLUSIVE TAX on Purchase Order?

Inclusive tax is supported in fusion in Procurement from 18C.
Please refer the whats new URL as below
https://www.oracle.com/webfolder/technetwork/tutorials/tutorial/cloud/r13/wn/r13-2018-procurement-wn.htm#F2698

Please see Practice 13 for this setup.

 

20. How to stop calculations for all taxes on Purchase Order?

 Please see Practice 11 for this setup.

 

21. How to stop a tax from applying in Procurement but still in other modules?

Please see Practice 12 for this setup.

 

22. When using the register supplier function, the system require us to enter a value for at least one of these fields: D-U-N-S Number, Taxpayer ID, or Tax Registration Number.
      Is that any way to disable this restriction?

At this time there is no way to made those fields non-mandatory.

NOTE: The explanation for the non-display of the "*"-mandatory-  for those three fields is because "*" is for single mandatory field -- in this case at least one is required.


This issue has been identified as an Enhancement. Please create a new idea in Idea Lab on Customer Connect to have this functionality considered in the future.
For more details, please refer to: How To Log An Enhancement Request (in Idea Labs) (Note: 
2254478.1)

Using the Idea Lab, you will be able to:
- Socialize with Customer Community
- Voting Capability which allows you to vote on ideas that are important to your business
- More clear statuses on your ideas, including the ability to communicate with our Product Management team.
- Visibility to see other customer ideas

 

23. On Supplier Self Service Registration Page: Company Details - There should be Tax Registration number validation for UAE. There should be a field 'Are you UAE tax registered'    Yes/  No , if yes, the TRN field should be mandatory.
      How to do this?

 Product Management team confirmed that this is not feasible: One of the three fields (DUNS, TRN or Taxpayer ID) are required.

 

24. The user made the tax registration number in supplier to mandatory. But the system is validating the mandatory check only if user go to the particular tab Transaction Tax>Tax Registrations>Registration Number.
      If don't enter the registration number also it allows user to save the records, unless user go to the above navigation.
      Why this is happen?

Product Management team confirmed us that this is the behavior i.e. if user do not access a tab, it will not enforce users for any required validation.

 

25. Why tax is not getting calculated while Uploading Purchase Orders (POs) through FBDI template?

In FBDI template: Purchase Orders Import there are some fields in po_line_locations_interface related tax:

Tax Classification Code, Intended Use, Product Category Code, Product Fiscal Classification.

If any of these fields are used tax on PO imported will be calculated.

For example let use Tax Classification field for tax to be calculated on a PO imported through FBDI template.

For this is necessary to have this setup:

  • Setup for Tax Classification Code (see Practice 2 from this note)
  • In FBDI template in field: Tax Classification is necessary to insert exactly the name for tax classification defined above in order that tax to be calculated. It is recommended to check a PO already created manually and take from there exactly the name for Tax Classification in order to insert the correct information in FBDi template.

 

26. How to Allow Suppliers With Duplicate Taxpayer ID?

Allowing Tax Payer ID sharing across suppliers in the same parent-child hierarchy will allow to same Supplier Tax Identification Number for child supplier. This only works if parent supplier and child supplier relationship established.
Enabling this feature will not impact sharing of tax payer ID if parent-child hierarchy is not established.
Tax Identification number is unique, and same number is not allowed for any other suppliers.
There is no such task to allow duplicate tax payer ID except this procurement new offering, but this new offering doesn't support duplicate tax payer id (it supports only parent-child suppliers).
Please see these notes for more details:
-Implication Of Selecting Opt In Feature --Allowing Tax Payer ID Sharing Across Suppliers (Doc ID 
2391181.1)
-How to Allow Suppliers With Duplicate Taxpayer ID? Can We Use Supplier Registration Process For Creating Suppliers With Duplicate Taxpayer ID? (Doc ID 
2488369.1)
Instead you can create more than a supplier with the same Tax Registration Number.
For this setup please see this note:  FAQs - Procurement Fusion Tax Best Practices and General Questions (Doc ID 
2377199.1)
Section: 14. How to create more than one Supplier/ Customer with the same Tax Registration Number?

 

27. How to create a supplier from an existing party (customer)?

When it is created a supplier from an existing party, the party type  has to be an organization to ensure supplier creation is successful.  When a supplier is created, the party_type mapped to the supplier is 'Organization'.
It is possible to create a  supplier via FBDI for an existing party (customer) with the party type=Organization. Supplier and customer need to have the same register id.

 

28. It is possible to have a different tax classification code (TCC) for a supplier and a customer that have the same name and the same register_id?

It is not possible to have different TCC for a supplier and a customer that have the same name and the same register_id.
But as a workaround  it can be sugessted to have the TCC setup as:
At the Supplier Site Level, set the TCC as 'AP TAX: Offset Tax'
And at the Customer Level, set the TCC as 'AR TAX: Regular Tax'

Now setup the defaulting hierarchy at the application tax options as:
For AP:
Default Heirarchy1 - Supplier Site
Default Heirarchy2 - Supplier

For AR:
Default Heirarchy1 - Customer
Default Heirarchy2 - Customer Site

 

29. How to update by spreadsheet tax classification code (TCC) for a supplier?

The TCC it is possible to be imported through spreadsheet.
The following attributes can be uploaded:
1. Allow Tax Applicability
2. Allow offset Taxes
3. Tax Classification Code

Process:
1.Navigate to Set up and Maintenance
2.Choose the ‘Manage Tax Regimes’ Task.
3.In the ‘Transaction Tax Regimes’, Select the Download Tax Implementation Workbook.

4.Save the file on the local folder.

5.Open the excel sheet, select the Tax registrations tab

6.Right click on the tab, and select Unhide.

7.The ‘Party Tax Profile Controls’ tab opens, where you can find

8.Enter the required data and save the file and generate the csv, as per the ‘Tax Impl Workbook Instructions’ tab.

9.After filling the excel up, Navigate to Transaction tax regimes, Choose ‘Upload Tax Implementation Workbook’.

10.Browse the file and select upload

Please see this note: Classification Code, Allow Tax Applicability, Allow Offset Taxes (Doc ID 
2247576.1) , for more details.

 

30) How it is validation of Tax Registration Number (TRN)?

Validation for TRN is made in this order:
1) Tax
2) Tax Regime
3) Country Default Control

If at Manage Tax we don't have set nothing to Registration Number Control and defaults for Validation Level then is going to Manage Tax Regime.
If at Manage Tax regime we don't have nothing is going to the last source: Manage country Default Control.

Validation type behavior it is in this way :
Blank = to allow to fill any TRN Valid or invalid and Save the information at supplier level ( working as expected)
Warning =to validate the TRN ,to provide a warning message if TNR is invalid and to Save the information at supplier Level (not working as expected)
Error = to validate the TRN ,to provide a Error message if TRN is invalid and to Not Save the information at supplier Level until the TRN is Valid ( working as expected)
Warning configuration is not supported in Suppliers flow. In Supplier flow it is necessary to use Error or no validation.

 

31) How it is the correct way to insert Tax Registration Number (TRN) on supplier?

The correct ways to insert a TRN is to insert Registration number with Tax Regime Code and Tax using Suppliers UI or from  Manage Tax Registration.

 

32) Which is the functionality of field Registration Number from Supplier UI ?

 The field Registration Number from Supplier UI showing the last TRN inserted from Manage Tax Registration task.

No comments:

Post a Comment

If you are facing any issues while copying the Code/Script or any issues with Posts, Please send a mail to OracleApp88@Yahoo.com or message me at @apps88 or +91 905 957 4321 in telegram.
Best Blogger TipsGet Flower Effect