Hello viewers

Welcome to our SAP FICO Q&A Blog

This blog is meant to be a forum for SAP FICO Professionals all over the world to share knowledge and experience, as well as to provide timely suggestions and solutions for the work related issues.

Please provide your valuable suggestions to improve this Blog.

Website counter

Search This Blog for SAP Solutions

Tuesday, April 19, 2011

BAdI: Tax Jurisdiction Code from Delivery Address

Hi Sharavana,

Please find below solution for your issue on populating Tax Jurisdiction Code in a Purchae Order:

The Business Add-In (BAdI) ME_TAX_FROM_ADDRESS provides you with additional functionality to determine the tax jurisdiction code in purchase orders. At item level, the tax jurisdiction code maintained in the delivery address can be used for tax calculation purposes.


You activate tax handling with tax jurisdiction codes in FI Customizing (transaction OBCO). In the standard system, When an Enjoy purchase order (transaction ME21N) is created, the system takes the following sources into account for the jurisdiction code: reference documents (RFQ, contract), plant table, manual user input, account assignment object (if a tax jurisdiction code has been maintained there). In the process, the system overwrites the previous value in this list in each case. If, for example, you have maintained a tax jurisdiction code for a PO item with the account assignment object, this entry "wins" over the entry in the plant table.

If you implement the BAdI ME_TAX_FROM_ADDRESS, when a PO item is created, these tax jurisdiction codes previously determined by the system will be overwritten with the value from the delivery address. This also applies if no value has been maintained in the delivery address. In this case, the field remains empty. However, you can modi fy this behavior in the code of the implementation (cf. the following description of the example implementation). The checks provided in the system (e.g. whether the combination of tax code and tax jurisdiction code in the system is valid) continue to be run. If you implement the BAdI ME_TAX_FROM_ADDRESS, you must thus ensure that a valid tax jurisdiction code is always maintained in the delivery address. One option is to use an external system for tax calculation purposes here (e.g. Tax ware or Vertex). Or you stipulate in the implementation that an empty field is populated with a value from another source.

Manual input of the tax jurisdiction code by the user is taken into account in all cases. If the BAdI is active, however, input is only possible on the "Delivery Address" tab page, not on the "Invoice" tab page.

Requirements

• You can only use the functionality of the BAdI ME_TAX_FROM_ADDRESS in the "new" purchase order transaction ME21N. In the "old" PO transaction ME21, the code is not utilized.

• For the country belonging to the plant/company code of the PO item, tax handling with tax jurisdiction codes must have been activated.

• The system message 06 263 "Tax jurisdiction & of account assignment adopted in item", should be set to ' ' ("no message") in Customizing for Purchasing (transaction OLME -> Environment Data -> Define Attributes of System Messages -> System Messages).

Example

In the example implementation for BAdI ME_TAX_FROM_ADDRESS supplied, the following system behavior is defined:

• The tax jurisdiction code from the delivery address is set.

• If no value has been maintained there:

- A warning message is issued

- The value for the jurisdiction code previously determined by the system is inserted again

- The cursor jumps to the "Delivery Address" tab page, giving the user the opportunity to correct the tax jurisdiction code manually.

The following data is available to control the system behavior in determining the tax jurisdiction code with the BAdI:

• Purchasing document header (EKKO),

• Purchasing document item (EKPO) - old and new status

• Account assignment data for item (EKKN),

• Tax jurisdiction code from delivery address

• Tax jurisdiction code from plant table


Regards

Murthy Pillutla

2 comments:

Anonymous said...

Thanks you! It was very helpful.

Anonymous said...

Very informative