Upload
ummi-izzs-khazali
View
193
Download
14
Tags:
Embed Size (px)
Citation preview
SAP / SabrixIntegration Fundamentals
January 2007
Course Overview Diagram
Basic SAP R/3
Overview
Sabrix Products and Technical
Overview
SabrixConnectionfor SAP with
SAP Standard Tax Interface
The life of a Purchase Order
(MM)
Getting Jurisdiction Codes from
Sabrix
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
Breakdown
Misc Vendor And Customer
Invoices(FI)
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In SabrixQ & A
Course Overview Diagram
Basic SAP R/3
Overview
Sabrix Products and Technical
Overview
SabrixConnectionfor SAP with
SAP Standard Tax Interface
The life of a Purchase Order
(MM)
Getting Jurisdiction Codes from
Sabrix
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
Breakdown
Misc Vendor And Customer
Invoices(FI)
Q & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
Sabrix Integration with SAP
SAP Modules that Integrate with Sabrix
SD Sales and Distribution – from order to delivery, including RFQ Sales orders Pricing Picking (and other warehouse processes) Packing Shipping
MM Materials Management – underpins the supply chain, including Requisitions Purchase orders Goods receipts Accounts payable Inventory management BOM’s Master raw materials, finished goods etc
FI Financial Accounting – essentially your regulatory ‘books of record’, including General ledger Book close Tax Accounts receivable Accounts payable Consolidation Special ledgers
Course Overview Diagram
Sabrix Products and
Technical Overview
Basic SAP R/3
Overview
SabrixConnectionfor SAP with
SAP Standard Tax Interface
The life of a Purchase Order
(MM)
Getting Jurisdiction Codes from
Sabrix
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
BreakdownQ & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
The Sabrix Solution
The Sabrix Solution – Product Breakdown
Tax Research Maintained by Sabrix
Tax Control Panelfor Tax Policy Configuration
Workbench forTransaction Modeling
Extract for Returns Processing
Consolidated Reporting
Financial Dashboard
• JavaScript
• HTTP Server• WebContainer
• servlet• JSP
• JDBC
• UI Components• Tax Content• Tax Configuration• Tax Audit
Technical Architecture
4 Tier ArchitectureWith their components
Web Browser
Web Server
Application Server
Database Server
XML viaHTTP or HTTPS
Invoice object
JDBC
HTML
Application Server
JavaScript
Sabrix Technical Architecture
Putting it all together
JavaScript
Web Browser
J2EE 1.4 App ServerOracle10g Application Server BEA WebLogic, WebSphere,
JBoss
Database Oracle RDBMS 10g, IBM DB2,
SQL Server
HTTP Server
Database Server
SAP Business
Applications
Sabrix US Tax data Sabrix VAT data
UI meta-data, Customer data, Audit data
Java Server Pages
Servlet Container
Web Pages
Controller
Universal Tax Engine
EJB Container
UI
SabrixC
onnection
Sabrix Centralized - Consolidation
SiebelCRM
Legacy Invoicing
Oracle Financials
SAP SRMSAP ERP SAP CRM SAP Mobile B2B
J2EE 1.4 App ServerOracle 10g, BEA WebLogic, IBM WebSphere, JBoss
Course Overview Diagram
SabrixConnectionFor SAP with SAP Standard Tax Interface
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Purchase Order
(MM)
Getting Jurisdiction Codes from
Sabrix
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
BreakdownQ & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
SabrixConnection for SAP Architecture High Lights
The SabrixConnection is a Java application that creates and transmits a simple XML structure over standard HTTP protocols.
Utilizes Java technology combined with Sabrix’s XML integration layer to connect with these SAP applications through SAP’s Java Connector (JCo): R/3 3.0* and higher mySAP CRM 2.0B and higher mySAP Mobile Client 4.0 and higher
One SabrixConnection code base supports integration with SAP R/3, CRM, and Mobile Client.
The SabrixConnection is a data transport mechanism only – contains no embedded tax or calculation logic.
No special tax or calculation logic is required within SAP.
The SabrixConnection can exchange standard SAP predefined data elements plus 40 additional line-level, customer-defined transaction data between SAP and the Sabrix Solution.
The SabrixConnection for SAP at Customers
Standard SAP Sales & Use Tax Interface System to 3rd party tax packages:
SAP provides a Standard Tax Interface System, which is capable of passing all needed data to an external tax system which determines tax jurisdictions, calculates taxes and then returns these calculated results back to SAP. This occurs during master data address maintenance to retrieve the appropriate tax jurisdiction code and during order and invoice processing out of FI, MM, and SD, to retrieve tax rates and tax amounts. The Tax Interface System also updates the third party’s software files with the appropriate tax information for legal reporting purposes.
SAP Standard Tax Interface
SAP Integration with Sabrix
SAP Integration with Sabrix
SabrixConnection for SAP
R/3 Applications
A/R
Sales Distribution(SD)
Financials(FI)
A/P
OE
Invoicing
Materials Management(MM)
Purchasing
Java Runtime
Environment
Sabr
ixC
onne
ctio
n
SAP
Tax
Inte
rfac
e
LIV
Goods Movement
SAP Tax CalculationA simplified view
Customer / VendorMaster Data•Tax relevant info•Partner details
Material Master Data•Tax relevant info•Material details
Other Master Data•Tax relevant info
Condition Tables•Tax Code•Prices/Discounts
Business Transaction
Tax / Pricing Procedure•Tax Attributes•Tax Call•Tax Rates / Values
Call to Sabrix
Resultsfrom Sabrix
Transaction Partner Data•Vendor/Sold-to•Ship-to/Ship-from
Transaction Item Data•Materials•Quantities•Locations•Prices
Course Overview Diagram
Remote Function Call
Breakdown
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Purchase Order
(MM)
Getting Jurisdiction Codes from
Sabrix
The life of a Sales Order
(SD)
SabrixConnectionFor SAP with SAP Standard Tax Interface
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
BreakdownQ & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
SAP Remote Function Calls (RFC)
There are four types of Remote Function Calls (RFC) made from SAP through the SAP Tax Interface System to Sabrix.
RFC_DETERMINE_JURISDICTION Used to call Sabrix for a Jurisdiction Code
RFC_CALCULATE_TAXES_DOC Used to call Sabrix for tax rates and tax amounts
RFC_UPDATE_TAXES_DOC Used to call Sabrix and update Sabrix Audit with the tax rates and tax
amounts
RFC_FORCE_TAXES DOC Used to call Sabrix and when SAP and Sabrix’s tax rates and tax amounts
do not match… SAP forces the SAP posting and the Sabrix Audit Data to match the amount SAP shows for rate and amount. SAP always wins.
These RFC’s hold the SAP structure for the fields needed in determining Jurisdiction Codes or Tax Calcs in Sabrix.
SAP Predefined RFC’s
RFC_DETERMINE_JURISDICTION
This is the predefined function that calls Sabrix to get a Jurisdiction Code for a new or an updated master address record. This is the part of the Integration which handles Address Management to support Jurisdiction Codes.
It calls the Sabrix Address Validation Servlet with address data and once Sabrix finds the appropriate jurisdiction, that data is returned to SAP in the form of a predefined code which is then stored on the master record.
Jurisdiction Codes:
US – USTX7506713480 (CountryState|Zip|Plus4|In/OutCityInd)
CAN – CABC (Country|Province)
Other – SG (Country)
Address Selection
RFC_CALCULATE_TAXES_DOC
This is the predefined function that calls Sabrix to get Tax Rates and Tax Amounts.
The Jurisdiction Code is sent rather than address details.
Transactions triggering a Tax call use this RFC:
Order to Cash (Sales & Distribution, SD) – sent per document
Purchase to Pay (Materials Management, MM) – sent per line
This call does not get audited in Sabrix.
Get Tax Rates & Amounts from Sabrix
RFC_UPDATE_TAXES_DOC
This is the predefined function that calls Sabrix to get Tax Rates and Tax Amounts when transaction is posted to the GL in SAP.
The Jurisdiction Code is sent rather than address details.
Transactions triggering a Tax call use this RFC:
Order to Cash (SD, FI-AR Posting) – per document
Purchase to Pay (MM, FI-AP Posting) – per line
This call does get audited in Sabrix.
Post Tax Rates & Amounts from Sabrix
RFC_FORCE_TAXES_DOC
This is the predefined function that calls Sabrix to get Tax Rates and Tax Amounts and when those rates deviate from the data in SAP, this call will change the tax results in Sabrix and audit the SAP determined rates and amounts.
The Jurisdiction Code is sent rather than address details.
Transactions triggering a Tax call use this RFC:
Order to Cash (SD, FI-AR) – per document
Purchase to Pay (MM, FI-AP) – per line
Record to Report (FI-GL) – per line
This call does get audited in Sabrix.
Change Tax Rates & Amounts from Sabrix
Course Overview Diagram
Getting Jurisdiction Codes from
Sabrix
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Purchase Order
(MM)
Remote Function Call
Breakdown
The life of a Sales Order
(SD)
SabrixConnectionFor SAP with SAP Standard Tax Interface
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
BreakdownQ & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
Jurisdiction Code Assignments
This section of the SAP / Sabrix Integration program covers the RFC_DETERMINE_JURISDICTION. This is the predefined function that calls Sabrix to get a Jurisdiction Code for a new or an updated master address record. This is the part of the Integration which handles Address Management to support Jurisdiction Codes.
SAP calls Sabrix’s Address Validation Servlet to obtain a Jurisdiction Code.
New Customer / Vendor record creation requires Jurisdiction Code
SAP sends Jurisdiction Code in place of full address for tax results
Master records that contain an address requiring Jurisdiction Codes include:
Customer Master Vendor Master Plant Cost Center Company
What is a Jurisdiction Code?
A Jurisdiction Code is a 15 digit (maximum) code which represents an entire address.
For US addresses, it includes Country code, State code, Zip code, Plus 4 code and an in city or out of city limits indicator. In Canada, it includes only the Country code and the Provincial abbreviation code. The Jurisdiction Code structure for US, Canada and all other countries is defined by the following tables:
United States Structure (procedure TAXUSX)
Country & State (4)
Zip Code (5) Location (4) Indicator (1)
USNY 14744 8703 0The two character country code and two character US state combined.
The five digit US zip code.
The four digit US plus four data. *If null, Sabrix changes to XXXX as a placeholder.
The indicator on whether the address is located within or outside city limits. 0 = in city, 1 = out of city.
Note: Why use XXXX as the placeholder for a null Plus 4? Because 0000 and 9999 are valid Plus 4’s in the United States! SAP requires data in those positions and XXXX is not a valid Plus 4 anywhere that we could find!
What is a Jurisdiction Code?
Canada Structure (procedure TAXCAX)
Country (2)Province Code (2) Not Used (0) Not Used (0)
CA BC
The two character country code for Canada.
The two character Province abbreviation.
All Other Countries Structure (procedure ZTAXxx) [xx represents Country Code or EU for European Union countries]
Singapore Structure (procedure ZTAXSG)
Country (2)Not Used (0) Not Used (0) Not Used (0)
SG
The two character country code for Singapore.
Quick Review
3. How would the following address be represented as a Jurisdiction Code? Daphne, AL 36527 USA
4. What about Vancouver, BC, V5Y 1V4 CANADA?
5. One more… Z400 70546 Stuttgart, Germany
6. What component of the Sabrix Application Suite is called to obtain a Jurisdiction Code?
1. What type of data in SAP requires Jurisdiction Code creation?
2. What does a Jurisdiction Code represent?
Address Evaluations
Using Sabrix Zones to determine taxing jurisdictions
The source system holds the customer or vendor addresses and when transactions are sent to Sabrix, the Zone tree is used to determine Country, Province/State, County, City and District level details from the address data sent.
Look up Plus 4 of 4005 in Montgomery, Alabama to show Zone Tree lookup. Sabrix Solution Login
Look up Zip code 36043 in Montgomery, Alabama to show Zone Tree lookup. Sabrix Solution Login
Sabrix found the zip code in Alabama, but because there was no other data sent Sabrix used the default attached to that zip code which determined the jurisdiction to reside in an unincorporated area in Lowndes County. In this case, the zip code determined is outside of the city limits, so no city sales / use tax would apply.
This example uses the Sabrix Calculation Servlet, where it finds the closest match possible using defaults set on zones in cases where multiple addresses might be valid. We’ll discuss why this is important later.
Zone Tree Lookups – Global
Zones outside of the US generally require less data to resolve to the correct taxing jurisdiction. Since most countries assess VAT at the Federal level, sending Country level address information to Sabrix generally all that is required.
Exceptions are Countries such as Canada, which also has Provincial level tax; Brazil, India, Mexico, which have State and City level VAT; and areas within a country that are excluded from the local VAT regime. Example includes the Copenhagen Free Port Zones in Denmark.
Look up Copenhagen, Denmark to show Zone Tree lookup. Sabrix Solution Login
Address Validation Servlet
The SAP Jurisdiction Determination function calls the Sabrix Address Validation Servlet, which behaves slightly different on the US side then the Calculation Servlet zone lookup as described above. The difference being in the goal of the function.
Calculation Servlet takes data given in the address and determines the most accurate jurisdiction possible. Default zones are used when less granular information is involved in the transaction.
Address Validation Servlet finds the most accurate jurisdiction given the information in the transaction. However, rather than settling on the defaults when multiple results are determined, Sabrix will send all possible jurisdiction choices back to SAP to let the User decide which is the appropriate address for the master data record. The default zone is always the first record returned in this situation.
Address Validation Servlet
Look up the following address using the Address Validation Servlet :
<ADDRESS><COUNTRY>US</COUNTRY><STATE>CO</STATE><CITY>LITTLETON</CITY><POSTCODE>80123</POSTCODE><GEOCODE>1712</GEOCODE></ADDRESS>
Giving the detail down to the Plus 4 is the most granular option for address data to be passed. When a Plus 4 is located within the zip code passed, Sabrix will only return one valid address.
The Zip plus 4 combination in this example was found in the Sabrix Zone tree only once and it resolved to the city of Littleton in Arapahoe County.
Address Validation Servlet
Now look up the same address omitting the Plus 4. Address Validation Servlet
<ADDRESS><COUNTRY>US</COUNTRY><STATE>CO</STATE><CITY>LITTLETON</CITY><POSTCODE>80123</POSTCODE></ADDRESS>
Address Validation Servlet
In this case, the Address Validation Servlet found 4 possible matches:
City of Columbine in Jefferson County Jefferson County, in the unincorporated area… or outside of the city limits City of Littleton in Arapahoe County Arapahoe County, but in an unincorporated part of that county
These addresses are all returned so that the user can select the appropriate address. In SAP, the user is presented with the list of possible addresses. The user must then select the appropriate address and that Jurisdiction Code is then saved on the record.
It’s important that the user chooses the correct address. Consider this, if the city of Littleton is chosen, the combined tax rate on June 1, 2006 is 7.35%. If instead the user selects the unincorporated area in Arapahoe County, the combined tax rate for the customer is only 4.35%.
Sabrix recommends the user look up the appropriate plus four data to determine the proper address.
Address Validation Servlet
Sabrix does not store every possible plus 4 available in the United States. Sabrix is an exception based product, and using exception based thinking, Sabrix only stores the Plus 4 data that will affect taxability.
Let’s use Baltimore, Maryland as our example. There are hundreds of Plus 4’s in Baltimore alone, but there are no local tax rates. If a zip code resolves to two different counties for Baltimore at the same time, it doesn’t matter the choice because the State tax is all that calculates in Maryland.
From a Tax Determination standpoint, the above holds true. From an Address Validation standpoint, the USPS address on the customer record is really most important. That’s why Sabrix recommends the user look up the correct address using USPS data prior to selecting the address in SAP.
Servlet Behavior
Address Validation Servlet Behavior Recap
When Zip Plus 4 is sent and Sabrix stores the Plus 4 value, only one Jurisdiction Code is returned.
When Zip Plus 4 is sent and Sabrix does not store the Plus 4 value, the default zone for the zip code is returned.
When Zip Plus 4 is not sent, and the Properties file defaults to one returned value, the default zone for the zip code is returned.
When Zip Plus 4 is not sent, and the Properties file is changed to return all results, all possible zones for the given zip code are returned with the default zone shown first in the list.
Recommendations
Sabrix Recommendations
For SAP users who do not send the Zip Plus 4 addresses, Sabrix recommends they allow the user to select from the list. Sabrix suggests the user look up the appropriate Plus four data in USPS to determine the proper address.
If they don’t want the user to have to select from a list, they should use the default Properties setting which sets the maximum jurisdiction returns to equal 1 and accept the default address. The risk is that the end user won’t have an indication that there may be a tax implication due to a list of possible jurisdictions. They won’t have an option to either select the correct jurisdiction code. This is not the Sabrix recommended solution.
Sabrix recommends users send the Zip and Plus 4 data.
SabrixConnection Properties File
Properties file: The connection.properties file can be used to change the behavior of the Jurisdiction Code lookup in the following ways:
Set the number of jurisdictions returned to SAP for users who do not send Plus 4 data
The default is 1 and returns the Sabrix default zone. Users can set this to 99 as that is the maximum number SAP can accept back from Sabrix. This is not Sabrix recommended. Rather, when SAP users do not send Plus 4 data, users should look up the correct information in USPS data.
Set the error message behavior for when maximum number is reached
Setting to control if error message should be raised when the maximum addresses is reached or if instead the max number of addresses specified should be returned. The default is N.
SabrixConnection Properties File
Set the connection to find only jurisdictions where the county sent must be an exact match
When the Sabrix Address Validation Servlet is called with a County address given when this flag is set, Sabrix will only send jurisdiction code selections when the county given is an exact match with findings in Sabrix. If the county is not found in Sabrix within the State sent by SAP, Sabrix will return an error rather than returning the correct State / County combination. This will help SAP users correct situations where Counties are spelled wrong. Default is set to No.
Set the connection to find only jurisdictions where the city sent must be an exact match
When the Sabrix Address Validation Servlet is called with a City address given when this flag is set, Sabrix will only send jurisdiction code selections when the City given is an exact match with findings in Sabrix. If the City is not found in Sabrix within the State sent by SAP, Sabrix will return an error rather than returning the correct State / City combination. This will help SAP users correct situations where Cities are spelled wrong. Default is set to No.
Set the override county flag to allow the Sabrix returned value for county to be saved in the SAP address details.
Quick Review
3. What is a typical URL for the Address Validation Servlet
4. Why is my user getting 99 choices for address determination?
5. What is the Sabrix recommended way to get only one returned result?
6. How many local authorities have a sales or use tax in Maryland?
1. What kind of jurisdictions are found using the Zone Tree?
2. What is the fundamental difference between the zone lookups for Calcs and zone lookups using the Address Validation Servlet?
Course Overview Diagram
The life of a Sales Order
(SD)
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Purchase Order
(MM)
Remote Function Call
Breakdown
Getting Jurisdiction Codes from
Sabrix
SabrixConnectionFor SAP with SAP Standard Tax Interface
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
BreakdownQ & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
Quote-to-Cash
Pre-SalesActivities
Payment
Sales OrderProcessing
Shipping
Billing
• Sales document type• Sales document functions
• Delivery scheduling• Shipping point and route details• Delivery block
• Edit delivery list• Picking• Post goods issue
• Edit billing list
Inventory Sourcing
Sales Order Process with Tax Calls
Master Data SD Transaction Data
Customer Address (ship to/ship from) Conditions (how to ship, etc) Pricing
Material Master Product S100 S200 S300
QuoteCustomer 50
Price $2,500 ea
S100
QTY 1000
Plant S100 3000 = QTY 50 3100 = QTY 5000
OrderCustomer 50
Price $2,500 ea
S100
QTY 1000
Plant 3100
DeliveryCustomer 50
Price $2,500 ea
S100
QTY 1000
Plant 3100
Shipping Notification
InvoiceCustomer 50
Price $2,500 ea
S100
QTY 1000
Plant 3100
Freight $1,200
Earlier versions of SAP do not have a tax call at delivery stage. Don’t know what freight will be until delivered.
TaxCalc
$112,500 tax
TaxCalc
$112,500 tax
TaxCalc
$112,554 tax
GL Post ARAccts Receivable$2,501,200 AR Materials$2,501,200- Offset
FI Post
Other Tax Relevant Data
Tax Calc& Audit
$112,554 tax
$112,554 Tax$112,554- Offset Tax
Sales Order Process with Tax Calls – with FORCE
RFC_FORCE_TAXES_DOC
When the Invoice is then posted to the GL, upon SAVE a call is made to Sabrix using the CALCULATE_TAX RFC and that tax amount from Sabrix is compared to the tax amount on the SAP Invoice. If they match, the amounts are posted to SAP AR and saved in Sabrix Audit.
If the amount returned from Sabrix does not match the amount on the SAP Invoice document, then the tax amount from the SAP Invoice gets posted to the SAP AR and saved in Sabrix Audit.
Sales Order Process with Tax Calls – with Force
SD Transaction Data
InvoiceCustomer 50
Price $2,500 ea
S100
QTY 1000
Plant 3100
Freight $1,200
TaxCalc
$112,554 tax
GL Post ARAccts Receivable$2,501,200 AR Materials$2,501,200- Offset
FI Post
Tax Calc& Audit
$118,214 taxCOMPARE
$112,554 Tax$112,554- Offset Tax
FORCE
FORCE
Pricing Procedure
Pricing Procedure Header
Per document
Item Pricing
Product A for price of $100Product B for price of $90Product A for price of $110 when shipped from Denver, CO
Process:Call is initiated by the header.
Call loops through all lines and creates a visual representation of all lines in onedocument.
Example: one RFC call with 3 lines included
The Price Procedure is configured with the Tax Jurisdiction levels that Sabrix determines and sends back to SAP. These levels are mapped to the appropriate GL Account numbers for posting.
Course Overview Diagram
The life of a Purchase Order
(MM)
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Getting Jurisdiction Codes from
Sabrix
SabrixConnectionFor SAP with SAP Standard Tax Interface
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
BreakdownQ & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
Purchase-to-Pay
Requisition
Pay Vendor
Purchase Order
GoodsReceipts
Logistics Invoice
Verification
Purchase Order Process with Tax Calls
Master Data MM Transaction Data
Vendor Address(sold to) Conditions Pricing
Material Master Product S100 S200 M300
RequisitionVendor 102
Price ₤10.000
M300
QTY 1
Cost Center 5020 = France 5050 = Germany 6000 = Greece
POVendor 102
Price ₤10.000
M300
QTY 1
Cost Center 5020
Goods ReceiptVendor 102
Price ₤10.000
M300
QTY 1
Cost Center 5020
Receipt Notification
LIVVendor 102
Price ₤10.000
M300
QTY 1
Cost Center 5020
Non-taxable Freight ₤250
TaxCalc
₤1.600 tax
TaxCalc
₤1.600 tax
TaxCalc
₤1.600 tax
GL Post APAccts Payable₤10.000 AP Inventory
₤10.000- Offset
FI Post
Other Tax Relevant Data
Tax Calc& Audit
₤1.600 tax
₤1.600 Tax₤1.600- Offset Tax
Course Overview Diagram
Misc Vendor And Customer
Invoices(FI)
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Getting Jurisdiction Codes from
Sabrix
SabrixConnectionFor SAP with SAP Standard Tax Interface
The life of a Purchase Order
(MM)
SabrixConnectionFor SAP
Configuration Breakdown
SAP Tax InterfaceConfiguration
BreakdownQ & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
Miscellaneous Vendor Invoice
GL Post APAccts Payable$1,200.00 AP Services Materials$1,200.00- Offset
FI Post
Tax Calc& Audit
$60.00 tax
$60.00 Tax$60.00- Offset Tax
FI Transaction Data
Create Misc InvoiceSue’s Plant Watering Company
Amount
$1,200.00
Tax Calc
$60.00 tax
5% Rate$60.00 Tax
Tax Procedure
Item Pricing
Product A for price of $100Product B for price of $90Product A for price of $110 when shipped from Denver, CO
Process:Call is initiated by the line.
Call creates a visual representation of each line one at a timeExample: three RFC calls with 1 lines included
The Tax Procedure is configured with the Tax Jurisdiction levels that Sabrix determines and sends to SAP. These levels are mapped to the appropriate GL Account numbers for posting.
Data Elements needed for Tax
Basic Elements Vendor or Customer registration numbers Ship from/to Point of title transfer Countries of buyer and seller (for services only) Supply/service country (for services only)
Additional Elements Complex transactions– Ultimate buyer– Final destination
Determination Elements Examples
What other elements are used in your SAP implementation that might help to drive tax policy?
Sabrix can Complement or Enhance available Data
Input XML Options TransEditor will set transaction type
Standard SAP Tax Interface Fields
Before you Append the 40 additional elements offered by Sabrix to further enhance your tax policy requirements, usethe 7 additional elements offered in your Standard SAP TaxInterface to map necessary data elements.
They are highlighted here and can be found on page 62 in the R/3 Tax Interface Configuration Guide.
Course Overview Diagram
SabrixConnectionFor SAP
Configuration Breakdown
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Getting Jurisdiction Codes from
Sabrix
SabrixConnectionFor SAP with SAP Standard Tax Interface
The life of a Purchase Order
(MM)
Misc Vendor And Customer
Invoices(FI)
SAP Tax InterfaceConfiguration
BreakdownQ & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
Installing the SabrixConnection for SAP
Ensure JVM 1.4 and JCo 2.1.6 both installed
Download the SabrixConnection from the Customer Center Unzip the files into the desired directory Perform one of the following actions:– Copy the sapjco.jar file into the directory in which you installed the
SabrixConnection for SAP– Set the SAPJCO_DIR variable in the SabrixConnection.bat or
SabrixConnection.sh files, depending on your operating system. Review the trace settings described in Troubleshooting the SabrixConnection for SAP
(page 29)
Configure the SabrixConnection Properties file Edit the SabrixConnection.properties file found in the directory in which you unzipped
the files. Use the table and sample file shown in the Installation Guide on pages 20 – 23.
Properties File Configuration
Two categories:
Connection parameters;control how the interface works, e.g. number of servers, log file location, log file content.
Business Transaction control;impact directly how some business scenarios are impacted, e.g. number of address records returned, city and/or county matching.
Properties File Attributes and Descriptions
Properties File Attributes and Descriptions
Properties File Example
Interface Components
Connection files:
Connection call:
Connection logs:
Accessing Log Files
sabrixconnection.log
Sabrix Solution Navigation: Menu System About Log Files
View Log File
Course Overview Diagram
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Getting Jurisdiction Codes from
Sabrix
SabrixConnectionFor SAP with SAP Standard Tax Interface
The life of a Purchase Order
(MM)
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
Q & A
Sabrix Basic Configuration For Testing
Only
Tax Policy Configurations
In Sabrix
SAP Tax Interface
Configuration Breakdown
SAP Change Concept
System ConfigurationBusiness specific definitions to uniquely represent a company’s structure, processes and entities.Done through IMG within SAP as part of a system implementation. Fully supported by SAP
System EnhancementsChange made to an SAP system for a particular customer need using a predefined place within the SAP processing logic (user-exit in ABAP code, APPEND in tables, etc.). SAP guarantees upward compatibility, support limited.
System ModificationsChange to a SAP repository object altering core code or structures. Modifications have to be reviewed, and where necessary adapted, during a upgrade. Not supported by SAP.*** Our VAT enhancement IS considered a Modification (slight change to
ABAP code) SAP hard codes the Tax Interface to accept ONLY US and CA
transactions. Our change allows ALL countries to pass.
Essential Integration Elements
Four RFC Calls RFC_DETERMINE_JURISDICTION RFC_CALCULATE_TAXES_DOC RFC_UPDATE_TAXES_DOC RFC_FORCE_TAXES_DOC
Uses SAP’s Standard Tax Interface Predefined list of standard transaction data elements (System Configuration) Up to 40 additional custom data elements at the line level (System Enhancements) Use SAP’s predefined user-exit and ABAP code to pass additional data elements. No
changes to SabrixConnection is required. (System Modification)
All SAP Supported Tax Calls Address Jurisdiction Determination (vendor, customer, cost center, plant…) MM purchase transactions: all order types (requisitions, contracts, PO), invoice
verification, posting to A/P SD sales transactions: all sales order types (inquiry, quote, contract, sales order,
credit/debit memos…), invoices (order, credit, debit, invoice), billing, posting to A/R FI transactions: all miscellaneous customer and vendor invoices, posting to GL
The Tasks required in SAP to support Sabrix
Enable SAP to connect to Sabrix – Create the RFC connections and implement user exits for additional
data elements – Set up all events in SAP as taxable – Tax procedure changes to be made with Sabrix elements– Create and assign the new pricing procedure with the Sabrix
elements Select Countries for Tax Automation by Sabrix – Tax codes per country and tax procedures to be made – Set up Tax Jurisdiction Code per country
Improve Tax Compliance – Include messages and applied registration numbers on invoices – Extend data capturing for tax reporting
The Tasks required in SAP to support Sabrix
Enable SAP to connect to Sabrix – Create the RFC connections and implement user exits for additional
data elements – Set up all events in SAP as taxable – Tax procedure changes to be made with Sabrix elements– Create and assign the new pricing procedure with the Sabrix
elements Select Countries for Tax Automation by Sabrix – Tax codes per country and tax procedures to be made – Set up Tax Jurisdiction Code per country
Improve Tax Compliance – Include messages and applied registration numbers on invoices – Extend data capturing for tax reporting
RFC Connector
Create the RFC connections and implement user exits for additional data elements
International Tax Calls in SAP
Enabling the calls SAP has hard-coded a check for US and CA to make the external tax call
only relevant to these two countries To enable international calls a modification to the SAP code needs to be
performed to open up the tax call to all countries
method check_destination_country. * data: isocode type t005-intca. * * if i_dest_country ne space. * select intca from t005 into isocode where land1 eq i_dest_country. * endselect. * if ( isocode ne 'US' ) and ( isocode ne 'CA' ). * o_dest_country_rel = space. * else. * o_dest_country_rel = 'X'. * endif. * else. * o_dest_country_rel = 'X'. "default always relevant!!!!!!! * endif. * Sabrix modification to open SAP for international tax integration o_dest_country_rel = 'X'. "default always relevant!!!!!!! endmethod.
Modification to Method
CHECK_DESTINATION_COUNTRY in Class CL_XTAX_RULES_CONFIGURATION
Taxable Events
Set all events to taxable Sabrix holds all necessary exemptions Only transactions sent to Sabrix will be in the audit data base Sabrix and SabrixConnection have superior performance Simplified configuration and master data setup in SAP
The SAP Implementation Guide and Configuration
Tax Procedures
Tax Procedure changes to be made with Sabrix elements
New Pricing Procedure
Create and assign the new pricing procedure with the Sabrix elements
The Tasks required in SAP to support Sabrix
Enable SAP to connect to Sabrix – Create the RFC connections and implement user exits for additional
data elements – Set up all events in SAP as taxable – Tax procedure changes to be made with Sabrix elements– Create and assign the new pricing procedure with the Sabrix
elements Select Countries for Tax Automation by Sabrix – Tax codes per country and tax procedures to be made – Set up Tax Jurisdiction Code per country
Improve Tax Compliance – Include messages and applied registration numbers on invoices – Extend data capturing for tax reporting
Tax codes per country and tax procedures to be made
Set up Tax Jurisdiction code per country
USA
TXJCD_L1 Country / State
TXJCD_L2 ZIP
TXJCD_L3 Location Code
TXJCD_L4 “Out of City" indicator (0 = in city, 1 = out of city)
Canada
TXJCD_L1 Country
TXJCD_L2 Region
TXJCD_L3
TXJCD_L4
International
TXJCD_L1 Country
TXJCD_L2
TXJCD_L3
TXJCD_L4
The Tasks required in SAP to support Sabrix
Enable SAP to connect to Sabrix – Create the RFC connections and implement user exits for additional
data elements – Set up all events in SAP as taxable – Tax procedure changes to be made with Sabrix elements– Create and assign the new pricing procedure with the Sabrix
elements Select Countries for Tax Automation by Sabrix – Tax codes per country and tax procedures to be made – Set up Tax Jurisdiction Code per country
Improve Tax Compliance – Include messages and applied registration numbers on invoices – Extend data capturing for tax reporting
Returned Messages to SAP
Enhancements Append RFC structure TAX_CAL_ITEM_OUT00 Condition base formulas need to be copied and changed
R/3 ApplicationsStandard RFC’s
Pricing/Tax Proc.Sa
brix
Con
nect
ion
SAP
Tax
Inte
rfac
e
Tax Manager
These changes will allow return of additional information to the pricing of SD via condition base formulas so that invoice messages can be stored in the transaction
text conditions for further processing.
Additional Fields for Reporting
Custom Fields 40 Additional Data Elements– 10 fields of 10 char– 20 fields 25 char– 8 fields 50 char– 2 fields 200 char
SAP User-Exit ZXFYTU03– Used to assign transaction data to the enhanced tax interface structure fields
Sabrix TransEditors– Move SAP value to User_Element-Attribute for taxability
Course Overview Diagram
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Getting Jurisdiction Codes from
Sabrix
SabrixConnectionFor SAP with SAP Standard Tax Interface
The life of a Purchase Order
(MM)
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
Q & ASAP Tax Interface
Configuration
Tax Policy Configurations
In Sabrix
Sabrix Basic Configuration For Testing
Only
Every company code integrating with the external system needs to be setup in Sabrix as a company with the “External ID” set as the SAP company code value.
Basic Sabrix Configuration for End-to-End Test
Basic Sabrix Configuration for End-to-End Test
Troubleshooting the Integration between SAP & Sabrix
Use the Transaction Function Builder in SAP (workbench)
Tax Determination
SabrixConnection for SAP
1. SM59; RFC Destination “Sabrix” – ping
2. SMGW; view of all connectionsSABRIXSABRIXSABRIX
3. SE37; SAP WB Tax Doc
Create a Business Trx –order creates call
Registers IP address
(handshake)
Sabrix’s Connection Pools
are listening
SM59 – RFC Destination Setup
SMGW – Gateway Monitor
SE37 – Function Builder
SE80 – Function Builder
SE38 – Report RFYTXDISPLAY
Course Overview Diagram
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Getting Jurisdiction Codes from
Sabrix
SabrixConnectionFor SAP with SAP Standard Tax Interface
The life of a Purchase Order
(MM)
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
Q & ASAP Tax Interface
Configuration
Sabrix Basic Configuration for
Testing Only
Tax Policy Configurations
In Sabrix
Tax Configuration Flexibility
Standard Rates, Rules, Zones, Zone Aliases, Authorities Global
Purchase Transaction TaxationPurchased Computer from Vendor w/o Nexus
Special Complex TaxationCross Border, Min/Max, Triangulation
Product ExceptionsNewspapers reduced to 6% in Belgium
SabrixDelivers
StandardProduct
Components
SabrixEnables
Configured by the Tax
Professional
AllocationsKit sold for $500 includes computer, software & training
Custom Product ExceptionsComputer equipment 3% - special state deal
Exemption Certificate Mgmt.Customer ABC is exempt from Tax
Custom Rates and RulesOur Sales Tax in LA county is 2%
TransEditorsIf Job Code = 35132 and GL = 98000, then Trx Type is DS
Corporate StructureBusiness entities, advanced user security
Custom AuthoritiesIndustry-specific excise taxes (fuels, alcohol, etc)
Tax Treatment Logic
Transaction Data Elements (from ERP)
Buyer Profile:• Registration (VAT)• Establishment (Nexus)• Primary Address
Seller Profile:• Registration (VAT)• Establishment (Nexus)• Primary Address
Transaction Details:• Supply Location• Ship From• Ship To• Product Code• Point of Title Transfer• Simplification (EU)• Transaction Type (Goods/Services)
TransactionData
Tax Data Elements (to ERP)
Determination Results• Jurisdiction(s) where transaction need to be reported• Tax Type (=Transaction Reporting Type)• Rate and/or Fee to be applied• VAT Rate amount due (output) / to be reclaimed (input) • Sales/Use Rate and/or Fee due or Consumers Use and/or Fees to be assessed
Tax Results
BusinessApplications
SabrixConnections
How is Sales, Use, Consumers Use and /or VAT Treatment Determination Implemented in Sabrix?
Processing Flow of Sabrix Tax Determination
LocationsTransEditors Calculation ProductsDetermineAuthorities Exemptions
“Tax Determination”
Input Data
Output D
ata
Allocations
Scope of Each Module
LocationsTransEditors Calculation ProductsDetermineAuthorities ExemptionsAllocations
InvoiceData
Every module acts on an invoice in its entirety.
Once a module processes an invoice – the results can be utilized by subsequent modules.
You may not alter the execution path.
InvoiceData
InvoiceData
InvoiceData
InvoiceData
InvoiceData
TransEditors are used to translate input data.
Tax policy in TransEditors should always be avoided, but sometimes it’s necessary.
Use hierarchies to improve readability
Performance impacts of large TransEditors TIP: Start with least likely exception
Be aware of line data vs. invoice data elements
Mathematical computation is not available
Document!!!!
TransEditors The Sabrix TransEditor enables you to modify the data sent to theTransaction Logic Engine automatically if certain conditions are met.
Allocations act on a single line at a time
An allocation can split the line into an unlimited number of allocation lines
Each allocation line is processed as if it were a line provided by the source system
An allocation can use and set attributes at the invoice level, but cannot reference the attributes of another line.
An allocation can be selected by naming it from the source system or setting the name value in a TransEditor
Sample Uses… Mail distribution transactions Services performed across multiple jurisdictions Items sold as a kit
The Sabrix Solution’s Allocations functionality enables you to split individual line items into logical components where applicable, resulting in increased accuracy of your tax liabilities.
Allocations
A simple way to minimize data required from the source system. A company may have an unlimited number of locations. Locations may be organized into location sets so the source system
only needs to provide a single value for a pre-determined combination of locations.
Locations and location sets may be set in TransEditors or Allocations.
During determination, Sabrix processes location data in the following order… Line level location detail provided by the source system. Location name at the line level. Location set at the invoice level. Invoice level location detail provided by the source system. Location name at the invoice level. Location set at the line level.
Predefined locations can be defined, given names and referenced during the tax determination process.
Locations
Provided with Sabrix content
Utilizes Sabrix Internal Logic (jurisdiction engines)
Authority Logic Groups are made up of multiple records which include: Role (buyer, seller, middleman) Transaction Type (goods, default services, etc.) Date Range JE Class
Behavior of the JE can be modified using Authority Options
Custom authorities are created from templates which have the JD assignment already made.
JE logic design is provided by Sabrix Tax Research and provided to Sabrix Engineering in the form of a combination of pseudo code and text descriptions.
Determining Authorities uses data on the transaction and applicabletax law to determine the applicable tax authorities on the transactionand their associated tax types.
DetermineAuthorities
Exemption certificates are associated with the customer for sales transactions
They may be associated with the supplier for purchase transactions, but a TransEditor is often required
An exemption certificate can be partially exempt, fully exempt or not at all
A physical exemption certificate doesn’t need to be present in order to use exemptions (e.g. government exemptions, managing usage based exceptions, etc)
Exemption certificates are selected during transaction processing using the customer data (number and name), status, date, and exempt reason. This cannot be controlled.
Blanket vs. Limited Use
You may limit an exemption to specific products (inclusion only).
Exemption certificates enable you to correctly calculate tax on transactions for which part or all of the transaction is tax-exempt.
Exemptions
Product exceptions are comprised of two components: Product Categories – classifications defined by Sabrix Tax Research
with associated product taxability rules by authority. Product Mappings – translation from customer-specific product codes
to product categories.
Product Categories may be defined by the customer
Product Categories have an associated UNSPSC classification for identification purposes
A product category may be fully excluded from the tax base, it may be partially excluded, or it may have any number of special rules Milk in California Shoes in New York
Product exceptions are used to identify product categories and apply authority exceptions, where appropriate.
Products
Every authority has a set of tax rules within Sabrix. A rule is determined using ‘rule qualifiers’ such as product, exempt reason, tax type, etc. The rule matching process…
Scans all rules based on rule order. A match is found when the values of all rule qualifiers on the rule match the corresponding values
on the transaction. A null value on any rule qualifier is a wildcard. Stops searching once matching rule is found.
Every rule has an associated rate or may be exempt. Calculation methods on rules are used to decide how tax is calculated…
Gross times amount Fee on quantity ICMS (Brazil) …
Tax base may include the gross amount as well as taxes previously calculated by other authorities
Max tax situations are managed using tiered and graduated rates
Calculation is the process of calculating the taxes for each of theauthorities identified during tax determination.Calculation
Designing Sabrix Configurations
ong Term. Understand that tax configurations need to handle the business over a long period of time. Tax professionals do not want to tweak configurations on a regular basis.
xceptions Only! Leverage Sabrix content by configuring the exceptions only. Note that exceptions includes missing data.
ystem Independent. Sabrix is designed to be used by multiple business applications simultaneously. Make sure the configurations leverage and don’t limit this capability.
imple. Keep the configurations simple and intuitive.
L
E
S
S
Course Overview Diagram
Basic SAP R/3
Overview
Sabrix Products and
Technical Overview
The life of a Sales Order
(SD)
Remote Function Call
Breakdown
Getting Jurisdiction Codes from
Sabrix
SabrixConnectionFor SAP with SAP Standard Tax Interface
The life of a Purchase Order
(MM)
Misc Vendor And Customer
Invoices(FI)
SabrixConnectionFor SAP
Configuration Breakdown
Tax Policy Configurations
In Sabrix
SAP Tax Interface
Configuration
Sabrix Basic Configuration for
Testing Only
Q & A