Value-Added Tax - Two-Thirds Rule
Two-Thirds Rule
"Where the provision of a service also involves the supply of goods or, alternatively, the supply of goods also involves the supply of a service, the rate of VAT applicable to the service can be used provided that the value of the goods does not exceed two-thirds of the total charge.
The rule has particular relevance to repair services and installation of fixtures in buildings."
Example of Irish VAT Calculation
Tax rates:
Tax on Material: 21%
Tax on Service : 12.5%
Value of material value is less than two-thirds of the total:
Service 2hrs 40.00
Material 1pc 50.00
Total 90.00
Tax on Service @ 12.5% = 5.00
Tax on Material @ 12.5% = 6.26
Value of material is greater / equal than two-thirds of the total:
Service 1hr 20.00
Material 1pc 50.00
Total 70.00
Tax on Service @ 21% = 4.20
Tax on Material @ 21% = 10.50
Possible Solution
Customizing
We would recommend to use the following customizing.
Tax codes:
Output Tax A0: 0 %
Output Tax A1: 12.5 %
Output Tax A2: 21 %
Customer Taxes
MWST Output Tax 0 Tax Exempt
MWST Output Tax 1 Liable for Taxes
MWST Output Tax 3 Low tax rate **
MWST Output Tax 4 High tax rate **
Material Taxes
MWST Output Tax 0 No tax
MWST Output Tax 1 Full tax
MWST Output Tax 2 Half tax**
MWST Output Tax 3 Low tax rate**
**
specific for the "Two-Thirds" Rule
Master data
Material / service master data |
Type |
Tax indicator |
Material |
1 | |
Service |
DIEN |
3 |
Output Tax condition
Tax customer |
Tax material |
Tax rate |
Tax code |
0 Tax Exempt |
0 No tax |
0% |
A0 |
1 Liable for Taxes |
1 Full tax |
21% |
A2 |
1 Liable for Taxes |
3 Low tax rate |
12.5% |
A1 |
3 Low tax rate |
1 Full tax |
12.5% |
A1 |
3 Low tax rate |
3 Low tax rate |
12.5% |
A1 |
4 High tax rate |
1 Full tax |
21.5% |
A2 |
4 High tax rate |
3 Low tax rate |
21.5% |
A2 |
User Exit
The following coding could be used as a template.
Please, be aware that manual changes of the customer class taxk1 except changes to tax exempt in the sales order will no influence the recalculation of the tax.
You should not use the function invoice split together with the Two-Third Rule. Also you could avoid invoice split by defining service deliverable.
Object name : MV45AFZZ
form userexit_save_document_prepare.
data: goods like vbap-netwr,
servs like vbap-netwr.
clear: goods, servs.
* Check to see if Irish VAT rules need to be applied
* It could be possible, that you have to check also the company code
* If so, then carry out new pricing with pricing type 'G' which will
* only change taxes
if t001-land1 eq 'IE ' and
kuagv-land1 eq 'IE '.
* IF customer is exempt, exit routine
check vbak-taxk1 ne '0'.
* Loop through items adding up the net values of goods and services
* Goods have material tax category 1, services 3
loop at xvbap.
if xvbap-taxm1 = '1'.
goods = goods + xvbap-netwr.
elseif xvbap-taxm1 = '3'.
servs = servs + xvbap-netwr.
endif.
endloop.
* See if goods is > 2/3 of the invoice.
goods = goods / 2.
if goods > servs.
* Set the customer tax classification to 4 (high) and reprice the order
perform vbak_bearbeiten_vorbereiten(sapfv45k).
vbak-taxk1 = '4'.
perform vbak_bearbeiten(sapfv45k).
perform preisfindung_gesamt using charg.
else.
* Set the customer tax classification to 3 (low) and reprice the order
perform vbak_bearbeiten_vorbereiten(sapfv45k).
vbak-taxk1 = '3'.
perform vbak_bearbeiten(sapfv45k).
perform preisfindung_gesamt using charg.
endif.
endif.
endform.