Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
sagardora
Member

In this Technical Solution I am sharing my experience with SABRIX and doing business with japan Vendors or Customers.

Many questions might arise if you do not know about SABRIX. If SABRIX is known to you, then next question will be what could be the issue in doing business with Japan Vendors or Customers.

SABRIX is tax calculation third party software. Input is Tax Jurisdiction Code and Ship from and Ship to and other attributes.

Issue:

  1. Japan has a very specific requirement for Collective Invoicing. For that reason a special Business Functionality was activated. This functionality does not require TXJCD and SAP standard ignores this. For that reason, it was decided that Japan will be going with the Non-Sabrix option similar to Brazil.

   2. We have scenarios where other countries do business with Japan(NON-JAPAN to JAPAN). These countries use SABRIX for          tax calculation. As TXJCD is a required field for SABRIX, it gives and error when calculating Taxes.


   3. Affected areas are Billing and Purchasing.


Possible Business Scenario’s

Sales

  1. Non Japan entity shipping to customer in Japan (Non Japan to Japan).
  2. Non Japan entity shipping to customer in Japan from plant in Japan (JAPAN to  JAPAN, SO is owned NON JAPAN).
  3. Non Japan entity shipping to Non JAPAN customer from Japan plant (JAPAN to Non SP )

  Purchase 

  1. Purchase order with non Japanese Vendor and delivery address in Japan      (Non JAPAN to JAPAN)
  2. Purchase order with Japanese Vendor and Delivery address in Japan.(JAPAN to    JAPAN. PO is owned NON JAPAN)
  3. Purchase order with Japanese Vendor and delivery address not in Japan.(JAPAN to  Non JAPAN)

   

Solution in different area’s:


Order

User Exit: USEREXIT_PRICING_PREPARE_TKOMK (Program: MV45AFZZ)


Logic:

  1. Check for TKOMK-BUKRS. If not Japan Company Code, then
  2. Check customer from XVBAK-KUNNR, if customer belongs to Japan.
  3. If both conditions suffice, Update TKOMK-TXJCD ; update ship to and ship from.



  Invoice 


Header Level:

User Exit: USEREXIT_PRICING_PREPARE_TKOMK (Program: RV60AFZZ)

Logic:

  1. Check for TKOMK-BUKRS. If not Japan Company Code,
  2. Check customer from TKOMK-KUNWE, if customer belongs to Japan.
  3. If both conditions suffice, Update TKOMK-TXJCD; update ship to and ship from.



  Item Level

User Exit: USEREXIT_PRICING_PREPARE_TKOMK (Program: RV60AFZZ)

Logic:

  1. Check for  VBRK-BUKRS. If not Japan Company Code, then
  2. Check customer from VBRK-KUNAG, if customer belongs to Japan.
  3. If both conditions suffice, Update XVBRP-TXJCD ; update ship to and ship from.



Purchase

BADI: ME_TAX_FROM_ADDRESS

Logic:

  1. Check if TXJCD is populated or not. If not then below is the logic
  2. Populate country key as the TXJCD from either Vendor, Customer, Address number and Plant.
  3. If Vendor or customer is present then populate their country key.
  4. If Address number is present then populate the country key from the address.
  5. If Plant is present then populate the Plants country.
  6. Population of Country gets prioritized in the following order

  Vendor à Customer àManual Address Number in PO à Plant 

  1. As data is filled in the PO, during creation of an invoice, the same data moves in it as well, populating the TXJCD at the line item level as expected.




Populating  Ship from

  1. Ship from needs to be populated when a Non Japan entity is delivering from Japan plant (Sales Order / Purchase Order).

  Program: ZXFYTU03 

Logic:

  1. Check if Ship From TXJCD is initial.
  2. If yes, check the plant’s country key and populate it.


I hope this will give the basic Idea about the programs where we have to readily look into when using SABRIX.


Regards,

Sagar Puppala.

1 Comment