Employees as Directors

Directors of a company are classed as employees for payroll purposes but they can be treated slightly differently when it comes to calculating National Insturance. Directors still pay National Insurance on annual income from salary and bonuses above the Lower Earnings Limit (LEL) for the current tax year. Instead contributions are worked out from their annual earnings rather than from what they earn in each pay period.

There are two distinct calculation methods that can be used:

  • Annual Basis - this method is best suited directors who are paid irregularly.
  • Alternative Basis - this method is best suited directors who are paid regularly.

The PayRun.io API supports both calculation methods and will automatically make the correct submission to HMRC in the Full Payment Submssions when an employee's status changes.

Paying an employee as a director

The first step in setting up an employee as a director is to set the DirectorshipAppointmentDate property on the Employee. If your employee already exists then you can issue a PATCH request as below.

When updating an employee you must provide the effective date of the new revision you are creating. This should on or before the DirectorshipAppointmentDate or the directorship status may not be correctly applied.

If you are updating an employee's status retrospectively then you may need to rewind the payroll to correct any mis-calcualted periods.

curl -X PATCH
   https://api.test.payrun.io/Employer/ER001/Employee/EE001
   -H 'Content-type: application/xml'
   -H 'Accept: application/xml'
   -H 'Api-Version: default'
   -H 'Authorization: {OAuthHeader}'
   -H 'Cache-Control: no-cache'
-d '<?xml version="1.0"?>
<Employee xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <EffectiveDate>2017-04-30</EffectiveDate>
    <DirectorshipAppointmentDate>2017-05-22</DirectorshipAppointmentDate>
</Employee>'
curl -X PATCH
   https://api.test.payrun.io/Employer/ER001/Employee/EE001
   -H 'Content-type: application/json'
   -H 'Accept: application/json'
   -H 'Api-Version: default'
   -H 'Authorization: {OAuthHeader}'
   -H 'Cache-Control: no-cache'
-d '{
  "Employee": {
    "EffectiveDate": "2017-04-30",
	"DirectorshipAppointmentDate": "2017-05-22"
  }
}'

The second step is to create a new NIPayInstruction and set the DirCalculationMethod you wish to use for your director. In this example we'll set the AlternativeBasis for our director. The directorship status has no bearing on the NI letter in use so unless you are explicity advised to do so you should use the same NI letter as before.

curl -X POST
   https://api.test.payrun.io/Employer/ER001/Employee/EE001/PayInstructions"
   -H 'Content-type: application/xml'
   -H 'Accept: application/xml'
   -H 'Api-Version: default'
   -H 'Authorization: {OAuthHeader}'
   -H 'Cache-Control: no-cache'
-d '<?xml version="1.0"?>
<NIPayInstruction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <StartDate>2017-04-30</StartDate>
  <EndDate xsi:nil="true" />
  <DirCalculationMethod>AlternativeBasis</DirCalculationMethod>
  <NILetter>A</NILetter>
</NIPayInstruction>'
curl -X POST
   https://api.test.payrun.io/Employer/ER001/Employee/EE001/PayInstructions
   -H 'Content-type: application/json'
   -H 'Accept: application/json'
   -H 'Api-Version: default'
   -H 'Authorization: {OAuthHeader}'
   -H 'Cache-Control: no-cache'
-d '{
  "NIPayInstruction": {
    "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
        "StartDate": "2017-04-30",
    "EndDate": {
      "@xsi:nil": "true"
    },
    "DirCalculationMethod": "AlternativeBasis",
    "NILetter": "A"
  }
}'