Description of Malta Social Security Contribution setup.
The person pays taxes and social insurance contribution depending on the nr of Mondays they worked in a month - NIs (field L103 is counting Malta weeks in Payroll scripts, more details on weeks calculation in article https://adonishr.atlassian.net/l/cp/CLi3uEYD ), the amount is based on the basic weekly wage. The crew with a EU Address Country are eligible for the contribution.
Create Entry Codes
EC 885 Malta Income Tax (only applicable for office employees located in Malta)
EC 886 Corr. Malta Maternity Leave (optional, can be used for manual correction)
EC 887 Malta Maternity Leave (applicable for seafarers)
EC 888 Corr. Malta Social Security (optional, can be used for manual correction)
EC 889 Malta Social Security (applicable for seafarers)
Additional script: Malta Nationalities. Temporary accumulators that should be used in the script:
W91 - Address country (MT)
W92 - Nationality (MT)
W93 - Address country (MT)
W94 - Nationality (MT)
Add entry codes 887 and 889 as auto-generated to sea-service and other activities if applicable in Setup > General Codes > Activity Codes
MAL:002 - Additional Script for Malta check on Nationality and Address
//Check on address country IF P285<>"" THEN W91=P285 ELSE W91=P85 ENDIF //Check on Nationality W92=P6 IF W91="AT" OR W91="BE" OR W91="BG" OR W91="HR" OR W91="CY" OR W91="CZ" OR W91="DK" OR W91="EE" OR W91="FI" OR W91="DE" OR W91="GR" OR W91="HU" OR W91="IE" OR W91="IT" OR W91="LV" OR W91="LT" OR W91="LU" OR W91="MT" OR W91="NL" OR W91="PL" OR W91="PT" OR W91="RO" OR W91="SK" OR W91="ES" OR W91="SE" OR W91="GB" OR W91="NO" OR W91="LI" OR W91="IS" OR W91="SI" OR W91="FR" OR W91="CH" THEN W93="EU" ENDIF IF W92="AT" OR W92="BE" OR W92="BG" OR W92="HR" OR W92="CY" OR W92="CZ" OR W92="DK" OR W92="EE" OR W92="FI" OR W92="DE" OR W92="GR" OR W92="HU" OR W92="IE" OR W92="IT" OR W92="LV" OR W92="LT" OR W92="LU" OR W92="MT" OR W92="NL" OR W92="PL" OR W92="PT" OR W92="RO" OR W92="SK" OR W92="ES" OR W92="SE" OR W92="GB" OR W92="NO" OR W92="LI" OR W92="IS" OR W91="SI" OR W92="AW" OR W92="CW" OR W92="SM" OR W92="FR" OR W92="CH" THEN W94="EU" ENDIF
EC 885 Script
L990=L992 L64=L21
EC 886 Script
L990=L992 L63=L23 //Payslip L64=L63
EC 887 Script
L990=L992 @@MAL:002 //W72=L103 //If Empl. start date (P15e) is in the current month and "Y" is set on Activity //Additional field 11 (H161) - 1 NI week is deducted //Gives a possibility to deduct 1 week in case it was paid for by previous employer IF P15e>=P603d AND P15e<=P604d AND H161="Y" THEN W72=L103-1 ELSE W72=L103 ENDIF //Find Weekly Wages for Fixed Crew IF H151<>0 THEN W73=[((H151/EUR1)*12/52)*100+0,5]/100 ELSE IF PR1<>0 THEN W73=[((PR1/EUR1)*12/52)*100+0,5]/100 ELSE W73=[((X1/EUR1)*12/52)*100+0,5]/100 ENDIF ENDIF //Calculation of Social Security IF W73=0 OR W73<0,10 THEN L61=0 L63=0 ELSE IF (P499<18) AND (W73<=CB41) THEN //Cat A - Person under 18 and earning not more then indicated in CB41 L63=(CB45*W72) L24=A L25=W72 ELSE IF (P499>=18) AND (W73<=CB41) AND (PR29="min") OR (PR29="MIN") THEN //Cat - B Persons aged 18 and over earning not more then amount indicated in CB41 L63=(CB46*W72) L24=B L25=W72 ELSE IF (P499>=18) AND (W73<=CB41) THEN //Cat - B Persons aged 18 and over earning not more then amount indicated in CB41 and with volunteer amount L63=CB47*W72 L24=B L25=W72 ELSE IF (P144f<=19611231) AND (W73>=CB41) AND (W73<=CB42) THEN //Cat C - All persons whose basic weekly wage is equal to or exceeds CB42 and less then CB43 and born before 31.12.1961 L63=[(W73*CB48)+0,5]/100*W72 L24=C L25=W72 ELSE IF (P144f<=19611231) AND (W73>CB42) THEN //Cat D - All persons whose basic weekly wage is equal to or exceeds CB43 and born before 31.12.1961 L63=(CB49*W72) L24=D L25=W72 ELSE IF (P144f>19611231) AND (W73>CB41) AND (W73<=CB43) THEN //Cat C - All persons whose basic weekly wage is equal to or exceeds CB41 and less then CB43 and born after 31.12.1961 L63=[(W73*CB48)+0,5]/100*W72 L24=C L25=W72 ELSE IF (P144f>19611231) AND (W73>CB43) THEN //Cat D - All persons whose basic weekly wage is equal to or exceeds CB43 and born after 31.12.1961 L63=(CB50*W72) L24=D L25=W72 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF IF PR29="N" OR PR29="n" THEN L61=0 L63=0 ENDIF IF (W94<>"EU") AND (W93<>"EU") THEN L61=0 L63=0 L24=0 L25=0 L26=0 ENDIF L23=L63 L64=L61+L63 //Setting Basic Weekly Wages IF P241="USD" THEN L26=W73 L27=[(W73/USD1)*100+0,5]/100 ELSE IF P241="EUR" THEN L26=W73 L27=W73 ENDIF ENDIF //Payment Amount IF P241="USD" THEN L29=[(L63/USD1)*100+0,5]/100 ELSE IF P241="EUR" THEN L29=L63 ENDIF ENDIF
EC 888 Script
L990=L992 L61=L21 L63=L23 //Payslip L64=L61+L63
EC 889 Script
L990=L992 @@MAL:002 //W72=L103 //If Empl. start date (P15e) is in the current month and "Y" is set on Activity //Additional field 11 (H161) - 1 NI week is deducted //Gives a possibility to deduct 1 week in case it was paid for by previous employer IF P15e>=P603d AND P15e<=P604d AND H161="Y" THEN W72=L103-1 ELSE W72=L103 ENDIF //Find Weekly Wages for Fixed Crew IF H151<>0 THEN W73=[((H151/EUR1)*12/52)*100+0,5]/100 ELSE IF PR1<>0 THEN W73=[((PR1/EUR1)*12/52)*100+0,5]/100 ELSE W73=[((X1/EUR1)*12/52)*100+0,5]/100 ENDIF ENDIF //Calculation of Social Security IF W73=0 OR W73<0,10 THEN L61=0 L63=0 ELSE IF (P499<18) AND (W73<=CB21) THEN //Cat A - Person under 18 and earning not more then indicated in CB21 L61=CB25*W72 L63=CB25*W72 L24=A L25=W72 ELSE IF (P499>=18) AND (W73<=CB21) AND (PR29="min") OR (PR29="MIN") THEN //Cat - B Persons aged 18 and over earning not more then amount indicated in CB21 L61=CB26*W72 L63=CB26*W72 L24=B L25=W72 ELSE IF (P499>=18) AND (W73<=CB21) THEN //Cat - B Persons aged 18 and over earning not more then amount indicated in CB21 and with volunteer amount L61=CB26*W72 L63=CB26*W72 L24=B L25=W72 ELSE IF (P144f<=19611231) AND (W73>=CB21) AND (W73<=CB22) THEN //Cat C - All persons whose basic weekly wage is equal to or exceeds CB22 and less then CB23 and born before 31.12.1961 L61=[(W73*CB28)+0,5]/100*W72 L63=[(W73*CB28)+0,5]/100*W72 L24=C L25=W72 ELSE IF (P144f<=19611231) AND (W73>CB22) THEN //Cat D - All persons whose basic weekly wage is equal to or exceeds CB23 and born before 31.12.1961 L61=CB29*W72 L63=CB29*W72 L24=D L25=W72 ELSE IF (P144f>19611231) AND (W73>CB21) AND (W73<=CB23) THEN //Cat C - All persons whose basic weekly wage is equal to or exceeds CB21 and less then CB23 and born after 31.12.1961 L61=[(W73*CB28)+0,5]/100*W72 L63=[(W73*CB28)+0,5]/100*W72 L24=C L25=W72 ELSE IF (P144f>19611231) AND (W73>CB23) THEN //Cat D - All persons whose basic weekly wage is equal to or exceeds CB23 and born after 31.12.1961 L61=CB30*W72 L63=CB30*W72 L24=D L25=W72 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF IF PR29="N" OR PR29="n" THEN L61=0 L63=0 ENDIF IF (W94<>"EU") AND (W93<>"EU") THEN L61=0 L63=0 L24=0 L25=0 L26=0 ENDIF L21=L61 L23=L63 L64=L61+L63 //Contract type L28="ALLFIX" //Setting Basic Weekly Wages IF P241="USD" THEN L26=W73 L27=[(W73/USD1)*100+0,5]/100 ELSE IF P241="EUR" THEN L26=W73 L27=W73 ENDIF ENDIF //L27=W70/30*L22 W71=W71+L25 //Payment Amount IF P241="USD" THEN L29=[(L61/USD1)*100+0,5]/100 ELSE IF P241="EUR" THEN L29=L61 ENDIF ENDIF
Organization
Create a new Company for Malta, e.g. Malta Office.
Define Maltese National Payroll Code on Payroll > General:
Fill in fields in Reports > Maltese section (will be used for FS3 Payee Statement of Earnings export and FS3, FS5 and FS7 reports):
Define Register Flag=Malta for the vessels:
Add Malta Rates to the Maltese company Rates > System 1 (used for Social Security contribution calculation):
and System 2 (used for Maternity Leave contribution calculation):
Rates can be checked on web site: https://cfr.gov.mt/en/rates/Pages/SSC1/SSC1-2022.aspx
Payscales
Create new Payscales if applicable
Customized Topics
Create Customized Topics Codes (used for keeping SSN and Malta ID number used in the reports/ export)
General Codes Table > Customized > Topics codes:
Please make sure that the order of the fields is the same as in example above as this is used in FS3, FS5 and FS7 reports
Customized Reports
Import customized reports listed below:
EM_FS3 Payee Statement of earnings.fr3
FS3 Payee Statement of earnings.fr3
FS5 Monthly Payment Advice.fr3
FS7 Annual reconciliation.fr3
Reports can be provided by Adonis Help Desk support@adonis.no on request
Analytical Views
Create Analytical views that can be used for reporting and analysis of Malta Social Security and Maternity Leave contributions
Example of setup:
Scripts for Analytical views can be found here:
FS3: Payee statement of earnings Export
Set up Export to Malta Government in Tools > Export > FS3: Payee statement of earnings where UField 1-7 are Customized topic fields). Payee ID Card and other details:
Payee SS:
Spouse ID card:
Gross Emoluments:
Maternity Fund:
Income Tax (if applicable):