Skip to end of banner
Go to start of banner

Malta Social Security Contribution Configuration

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 31 Current »


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:

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):

  • No labels