Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

MAL:002 - Additional Script for Malta check on Nationality and Address

Expand
titleMAL:002 Script
Code Block
//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

Expand
titleEC 885 Script
Code Block
L990=L992

L64=L21

EC 886 Script

Expand
titleEC 886 Script
Code Block
L990=L992

L63=L23

//Payslip
L64=L63

EC 887 Script

Expand
titleEC 887 Script
Code Block
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

Expand
titleEC 888 Script
Code Block
L990=L992

L61=L21
L63=L23
//Payslip
L64=L61+L63

EC 889 Script

Expand
titleEC 889 Script
Code Block
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.

...

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 sitehttps://cfr.gov.mt/en/rates/Pages/SSC1/SSC1-20222023.aspx

Payscales

Create new Payscales if applicable

...

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

Info

Reports can be provided by Adonis Help Desk support@adonis.no on request

...