Update the National Insurance Record and P45 for the Employee

Request

PUT https://api.yourpayroll.co.uk/api/v2/business/{businessId}/employee/{employeeId}/nationalinsurancerecord

Path parameters

Parameter name Value Description Additional
businessId string Required
employeeId string Required

Request body

The request body takes a complete TaxNationalInsuranceEditModel resource, containing the following writable properties:

{
    "nationalInsuranceRecord": {
        "appointmentEndDate": "date-time",
        "appointmentStartDate": "date-time",
        "benefitsInKind": "double",
        "dateOfBirth": "date-time",
        "dateSigned": "date-time",
        "employeeId": "int32",
        "employeeStarterType": "string",
        "employeeStatement": "string",
        "employeeType": "string",
        "europeanEconomicAreaCitizen": "boolean",
        "freeportQualifyingEndDate": "date-time",
        "gender": "string",
        "hasBenefitsInKind": "boolean",
        "hasPostGradLoan": "boolean",
        "hasStudentLoan": "boolean",
        "ignoreFields": {
            "<key>": "string"
        },
        "investmentQualifyingEndDate": "date-time",
        "isApprentice": "boolean",
        "isCompanyDirector": "boolean",
        "isIR35Contractor": "boolean",
        "isSecondedEmployee": "boolean",
        "mdmId": "string",
        "mdmSchemaVersion": "string",
        "mdmVersion": "int64",
        "nationalInsuranceCalculationMethod": "string",
        "nationalInsuranceCategory": "string",
        "nationalInsuranceNumber": "string",
        "nationalInsuranceRecordId": "int32",
        "nicCalculationOverrideWarning": "boolean",
        "notNoticeSequenceNumber": "int64",
        "occupationalPension": "boolean",
        "p6CodingNoticeSequenceNumber": "int64",
        "p9CodingNoticeSequenceNumber": "int64",
        "payrollId": "string",
        "pgl2CodingNoticeSequenceNumber": "int64",
        "pglCodingNoticeSequenceNumber": "int64",
        "secondmentType": "string",
        "sendToMdm": "boolean",
        "sl2CodingNoticeSequenceNumber": "int64",
        "slCodingNoticeSequenceNumber": "int64",
        "source": "string",
        "startDate": "date-time",
        "studentLoanType": "string",
        "taxCalculationMethod": "string",
        "taxCode": "string",
        "triggeredFromMdm": "boolean",
        "veteransQualifyingEndDate": "date-time"
    },
    "previousEmployer": {
        "financialYearStarting": "int32",
        "leavingDate": "date-time",
        "officeNumber": "string",
        "referenceNumber": "string",
        "source": "string",
        "studentLoanDeductions": "boolean",
        "taxCode": "string",
        "taxPeriodFrequency": "string",
        "taxPeriodNumber": "int32",
        "taxWithheld": "double",
        "taxablePay": "double",
        "weekOneMonthOne": "boolean"
    }
}

Properties

Name Type Description
nationalInsuranceRecord object EmployeeNationalInsuranceRecordModel
nationalInsuranceRecord.appointmentEndDate date-time Nullable
nationalInsuranceRecord.appointmentStartDate date-time Nullable
nationalInsuranceRecord.benefitsInKind double Decimal
nationalInsuranceRecord.dateOfBirth date-time DateTime
nationalInsuranceRecord.dateSigned date-time Nullable
nationalInsuranceRecord.employeeId int32 Int32
nationalInsuranceRecord.employeeStarterType string EmployeeStarterTypeEnum

Possible values are:

  • NewStarter
  • ReportedHmrc
nationalInsuranceRecord.employeeStatement string EmployeeStatementEnum

Possible values are:

  • Current
  • CurrentAfterStartOfFinancialYear
  • HasAnotherJob
nationalInsuranceRecord.employeeType string Nullable

Possible values are:

  • NewStarter
  • ExistingEmployee
nationalInsuranceRecord.europeanEconomicAreaCitizen boolean Nullable
nationalInsuranceRecord.freeportQualifyingEndDate date-time Nullable
nationalInsuranceRecord.gender string String
nationalInsuranceRecord.hasBenefitsInKind boolean Boolean
nationalInsuranceRecord.hasPostGradLoan boolean Boolean
nationalInsuranceRecord.hasStudentLoan boolean Boolean
nationalInsuranceRecord.ignoreFields object IDictionary
nationalInsuranceRecord.ignoreFields.<key> map of string String
nationalInsuranceRecord.investmentQualifyingEndDate date-time Nullable
nationalInsuranceRecord.isApprentice boolean Nullable
nationalInsuranceRecord.isCompanyDirector boolean Boolean
nationalInsuranceRecord.isIR35Contractor boolean Nullable
nationalInsuranceRecord.isSecondedEmployee boolean Nullable
nationalInsuranceRecord.mdmId string String
nationalInsuranceRecord.mdmSchemaVersion string String
nationalInsuranceRecord.mdmVersion int64 Nullable
nationalInsuranceRecord.nationalInsuranceCalculationMethod string NationalInsuranceCalculationMethodEnum

Possible values are:

  • Cumulative
  • NonCumulative
nationalInsuranceRecord.nationalInsuranceCategory string NationalInsuranceType

Possible values are:

  • A
  • B
  • C
  • H
  • J
  • M
  • X
  • Z
  • F
  • I
  • L
  • S
  • V
  • D
  • E
  • K
  • N
nationalInsuranceRecord.nationalInsuranceNumber string String
nationalInsuranceRecord.nationalInsuranceRecordId int32 Int32
nationalInsuranceRecord.nicCalculationOverrideWarning boolean Boolean
nationalInsuranceRecord.notNoticeSequenceNumber int64 Int64
nationalInsuranceRecord.occupationalPension boolean Nullable
nationalInsuranceRecord.p6CodingNoticeSequenceNumber int64 Int64
nationalInsuranceRecord.p9CodingNoticeSequenceNumber int64 Int64
nationalInsuranceRecord.payrollId string String
nationalInsuranceRecord.pgl2CodingNoticeSequenceNumber int64 Int64
nationalInsuranceRecord.pglCodingNoticeSequenceNumber int64 Int64
nationalInsuranceRecord.secondmentType string Nullable

Possible values are:

  • InOutUK
  • Stay183DaysOrMore
  • StayLessThan183Days
nationalInsuranceRecord.sendToMdm boolean Boolean
nationalInsuranceRecord.sl2CodingNoticeSequenceNumber int64 Int64
nationalInsuranceRecord.slCodingNoticeSequenceNumber int64 Int64
nationalInsuranceRecord.source string Nullable

Possible values are:

  • None
  • Saasu
  • Xero
  • MYOB
  • Deputy
  • EmployeeTimePunch
  • ClickSuper
  • IntegratedTimesheets
  • FileImport
  • FileExport
  • QuickBooks
  • Harmony
  • AwardStore
  • Attache
  • IntegratedRostering
  • ReckonAccounts
  • API
  • MicroPower
  • RosterLive
  • NetSuite
  • Kounta
  • TimeAndAttendanceKiosk
  • DetailedFileExport
  • JonasPremier
  • WageEasy
  • Maestrano
  • WorkZone
  • EmployeePortal
  • RosterTemplate
  • Onboarding
  • Admin
  • WorkZoneClockOnOff
  • NetSuiteOneWorld
  • Sage50
  • PensionSync
  • FinancialsOffice
  • ProntoXI
  • PayRunDefault
  • StandardWorkDay
  • Beam
  • PayRunAutomation
  • BureauDashboard
  • Wiise
  • QBOMigrationTool
  • AbridgedFileImport
  • QBOForcedMigration
  • HmrcDpsUpdate
  • HmrcDpsStudentLoan
  • HmrcDpsPostGradLoan
  • Sage50FileImporter
  • FPSFileImporter
  • OAuth
  • FreshBooks
  • StarFileImporter
  • ActiveCampaign
  • SummaryAndDetailsExport
  • Telleroo
  • EmployeeAdvancedHoursUpload
  • BusinessCentral
  • Paytron
  • AccessFinancials
  • Comma
  • Zoho
  • FlatFileEmployeeImporter
  • Twinfield
  • SageAccounting
  • Square
  • Quickfile
  • Tide
  • TideSso
  • FreeAgent
  • Akahu
  • InstaPay
  • Zepto
  • Slack
  • Caxton
  • QuickbooksStandalonePayroll
  • ImportEmployeeSelfSetup
  • XeroIdentityPayrollSignUp
  • XeroIdentityHrSignUp
  • SageIntacct
  • InstaPayDaily
nationalInsuranceRecord.startDate date-time DateTime
nationalInsuranceRecord.studentLoanType string StudentLoanType

Possible values are:

  • None
  • Plan1
  • Plan2
  • PostGrad
  • Plan4
nationalInsuranceRecord.taxCalculationMethod string TaxCalculationMethodEnum

Possible values are:

  • Cumulative
  • Week1Month1
nationalInsuranceRecord.taxCode string String
nationalInsuranceRecord.triggeredFromMdm boolean Boolean
nationalInsuranceRecord.veteransQualifyingEndDate date-time Nullable
previousEmployer object PreviousEmployerEditModel
previousEmployer.financialYearStarting int32 Int32
previousEmployer.leavingDate date-time Nullable
previousEmployer.officeNumber string String
previousEmployer.referenceNumber string String
previousEmployer.source string Nullable

Possible values are:

  • None
  • Saasu
  • Xero
  • MYOB
  • Deputy
  • EmployeeTimePunch
  • ClickSuper
  • IntegratedTimesheets
  • FileImport
  • FileExport
  • QuickBooks
  • Harmony
  • AwardStore
  • Attache
  • IntegratedRostering
  • ReckonAccounts
  • API
  • MicroPower
  • RosterLive
  • NetSuite
  • Kounta
  • TimeAndAttendanceKiosk
  • DetailedFileExport
  • JonasPremier
  • WageEasy
  • Maestrano
  • WorkZone
  • EmployeePortal
  • RosterTemplate
  • Onboarding
  • Admin
  • WorkZoneClockOnOff
  • NetSuiteOneWorld
  • Sage50
  • PensionSync
  • FinancialsOffice
  • ProntoXI
  • PayRunDefault
  • StandardWorkDay
  • Beam
  • PayRunAutomation
  • BureauDashboard
  • Wiise
  • QBOMigrationTool
  • AbridgedFileImport
  • QBOForcedMigration
  • HmrcDpsUpdate
  • HmrcDpsStudentLoan
  • HmrcDpsPostGradLoan
  • Sage50FileImporter
  • FPSFileImporter
  • OAuth
  • FreshBooks
  • StarFileImporter
  • ActiveCampaign
  • SummaryAndDetailsExport
  • Telleroo
  • EmployeeAdvancedHoursUpload
  • BusinessCentral
  • Paytron
  • AccessFinancials
  • Comma
  • Zoho
  • FlatFileEmployeeImporter
  • Twinfield
  • SageAccounting
  • Square
  • Quickfile
  • Tide
  • TideSso
  • FreeAgent
  • Akahu
  • InstaPay
  • Zepto
  • Slack
  • Caxton
  • QuickbooksStandalonePayroll
  • ImportEmployeeSelfSetup
  • XeroIdentityPayrollSignUp
  • XeroIdentityHrSignUp
  • SageIntacct
  • InstaPayDaily
previousEmployer.studentLoanDeductions boolean Boolean
previousEmployer.taxCode string String
previousEmployer.taxPeriodFrequency string String
previousEmployer.taxPeriodNumber int32 Nullable
previousEmployer.taxWithheld double Nullable
previousEmployer.taxablePay double Nullable
previousEmployer.weekOneMonthOne boolean Boolean

Response

The following HTTP status codes may be returned, optionally with a response resource.

Status code Description Resource
200 OK

OK

TaxNationalInsuranceEditModel