If an ID is passed or an existing employee is matched (according to the matchType parameter), it will be updated. Otherwise a new employee will be created.

MatchType parameter values:

  • Standard (default): attempts to match an existing employee - first, based on the tax file number, then based on first name + surname + date of birth + email address
  • None: do not attempt to match an existing employee (create a new one)
  • An employee may be created with a status of 'Incomplete' by specifying at least the minimum fields; firstName, surname, startDate, employmentType and taxFileNumber.
    For an employee record to be considered 'Complete' the following groups of data are required:

  • Basic Details (Name, Start Date, Date of Birth and Address Details)
  • Tax File Declaration (TFN and Employment Type)
  • Pay Run Defaults (Default Pay Category, Pay Cycle and Location)
  • Locations (at least one)
  • Bank Account/s (at least one)
  • Super Fund/s (at least one)
  • If reporting dimensions are enabled for the business, add primary reporting dimension values using "|" as a separator between values.

    Request

    POST https://api.yourpayroll.com.au/api/v2/business/{businessId}/employee/unstructured

    Path parameters

    Parameter name Value Description Additional
    businessId string Required

    Query parameters

    Parameter name Value Description Additional
    matchType string

    Possible values are:

    • None
    • Standard

    Request body

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

    {
        "anniversaryDate": "date-time",
        "australianResident": "boolean",
        "automaticallyPayEmployee": "string",
        "bankAccount1_AccountName": "string",
        "bankAccount1_AccountNumber": "string",
        "bankAccount1_AllocatedPercentage": "double",
        "bankAccount1_BSB": "string",
        "bankAccount1_FixedAmount": "double",
        "bankAccount2_AccountName": "string",
        "bankAccount2_AccountNumber": "string",
        "bankAccount2_AllocatedPercentage": "double",
        "bankAccount2_BSB": "string",
        "bankAccount2_FixedAmount": "double",
        "bankAccount3_AccountName": "string",
        "bankAccount3_AccountNumber": "string",
        "bankAccount3_AllocatedPercentage": "double",
        "bankAccount3_BSB": "string",
        "bankAccount3_FixedAmount": "double",
        "businessAwardPackage": "string",
        "claimMedicareLevyReduction": "boolean",
        "claimTaxFreeThreshold": "boolean",
        "closelyHeldEmployee": "boolean",
        "closelyHeldReporting": "string",
        "contractorABN": "string",
        "dateCreated": "date-time",
        "dateOfBirth": "date-time",
        "dateTaxFileDeclarationReported": "date-time",
        "dateTaxFileDeclarationSigned": "date-time",
        "dvlPaySlipDescription": "string",
        "emailAddress": "string",
        "emergencyContact1_Address": "string",
        "emergencyContact1_AlternateContactNumber": "string",
        "emergencyContact1_ContactNumber": "string",
        "emergencyContact1_Name": "string",
        "emergencyContact1_Relationship": "string",
        "emergencyContact2_Address": "string",
        "emergencyContact2_AlternateContactNumber": "string",
        "emergencyContact2_ContactNumber": "string",
        "emergencyContact2_Name": "string",
        "emergencyContact2_Relationship": "string",
        "employingEntityABN": "string",
        "employingEntityId": "string",
        "employmentAgreement": "string",
        "employmentType": "string",
        "endDate": "date-time",
        "externalId": "string",
        "firstName": "string",
        "gender": "string",
        "hasApprovedWorkingHolidayVisa": "boolean",
        "hasWithholdingVariation": "boolean",
        "homePhone": "string",
        "hoursPerDay": "double",
        "hoursPerWeek": "double",
        "id": "int32",
        "includeInPortableLongServiceLeaveReport": "boolean",
        "isEnabledForTimesheets": "string",
        "isExemptFromFloodLevy": "boolean",
        "isExemptFromPayrollTax": "boolean",
        "isSeasonalWorker": "boolean",
        "jobTitle": "string",
        "leaveAccrualStartDateType": "string",
        "leaveTemplate": "string",
        "leaveYearStart": "date-time",
        "locations": "string",
        "maximumQuarterlySuperContributionsBase": "double",
        "medicareLevyExemption": "string",
        "medicareLevyReductionDependentCount": "int32",
        "medicareLevyReductionSpouse": "boolean",
        "medicareLevySurchargeWithholdingTier": "string",
        "middleName": "string",
        "mobilePhone": "string",
        "otherTaxOffset": "boolean",
        "overrideTemplateRate": "string",
        "payConditionRuleSet": "string",
        "payRateTemplate": "string",
        "paySchedule": "string",
        "paySlipNotificationType": "string",
        "portableLongServiceLeaveId": "string",
        "postalAddressIsOverseas": "boolean",
        "postalAddressLine2": "string",
        "postalCountry": "string",
        "postalPostCode": "string",
        "postalState": "string",
        "postalStreetAddress": "string",
        "postalSuburb": "string",
        "preferredName": "string",
        "previousSurname": "string",
        "primaryLocation": "string",
        "primaryPayCategory": "string",
        "rate": "double",
        "rateUnit": "string",
        "reportingDimensionValues": "string",
        "residentialAddressIsOverseas": "boolean",
        "residentialAddressLine2": "string",
        "residentialCountry": "string",
        "residentialPostCode": "string",
        "residentialState": "string",
        "residentialStreetAddress": "string",
        "residentialSuburb": "string",
        "rosteringNotificationChoices": "string",
        "seniorsTaxOffset": "boolean",
        "singleTouchPayroll": "string",
        "startDate": "date-time",
        "status": "string",
        "stslDebt": "boolean",
        "superFund1_AllocatedPercentage": "double",
        "superFund1_EmployerNominatedFund": "boolean",
        "superFund1_FixedAmount": "double",
        "superFund1_FundName": "string",
        "superFund1_MemberNumber": "string",
        "superFund1_ProductCode": "string",
        "superFund2_AllocatedPercentage": "double",
        "superFund2_EmployerNominatedFund": "boolean",
        "superFund2_FixedAmount": "double",
        "superFund2_FundName": "string",
        "superFund2_MemberNumber": "string",
        "superFund2_ProductCode": "string",
        "superFund3_AllocatedPercentage": "double",
        "superFund3_EmployerNominatedFund": "boolean",
        "superFund3_FixedAmount": "double",
        "superFund3_FundName": "string",
        "superFund3_MemberNumber": "string",
        "superFund3_ProductCode": "string",
        "superThresholdAmount": "double",
        "surname": "string",
        "tags": "string",
        "taxCategory": "string",
        "taxFileNumber": "string",
        "taxVariation": "double",
        "terminationReason": "string",
        "title": "string",
        "workPhone": "string",
        "workTypes": "string",
        "workingHolidayVisaCountry": "string",
        "workingHolidayVisaStartDate": "date-time"
    }

    Properties

    Name Type Description
    anniversaryDate date-time Nullable
    australianResident boolean Nullable
    automaticallyPayEmployee string String
    bankAccount1_AccountName string String
    bankAccount1_AccountNumber string String
    bankAccount1_AllocatedPercentage double Nullable
    bankAccount1_BSB string String
    bankAccount1_FixedAmount double Nullable
    bankAccount2_AccountName string String
    bankAccount2_AccountNumber string String
    bankAccount2_AllocatedPercentage double Nullable
    bankAccount2_BSB string String
    bankAccount2_FixedAmount double Nullable
    bankAccount3_AccountName string String
    bankAccount3_AccountNumber string String
    bankAccount3_AllocatedPercentage double Nullable
    bankAccount3_BSB string String
    bankAccount3_FixedAmount double Nullable
    businessAwardPackage string String
    claimMedicareLevyReduction boolean Nullable
    claimTaxFreeThreshold boolean Nullable
    closelyHeldEmployee boolean

    Nullable

    Note:A non-null value here will overwrite the SingleTouchPayroll value. Set this to null if SingleTouchPayroll value should be used.

    closelyHeldReporting string

    Nullable

    Note:During a transition period, a null value will default to PayPerQuarter if CloselyHeldEmployee is "true".

    A null value with CloselyHeldEmployee = "true" will not be valid in the future.

    Possible values are:

    • PerQuarter
    • PerPayRun
    contractorABN string String
    dateCreated date-time DateTime
    dateOfBirth date-time Nullable
    dateTaxFileDeclarationReported date-time Nullable
    dateTaxFileDeclarationSigned date-time Nullable
    dvlPaySlipDescription string

    String

    Possible values are:

    • EmployeePrimaryPayCategory
    • The name of any other pay category

    emailAddress string String
    emergencyContact1_Address string String
    emergencyContact1_AlternateContactNumber string String
    emergencyContact1_ContactNumber string String
    emergencyContact1_Name string String
    emergencyContact1_Relationship string String
    emergencyContact2_Address string String
    emergencyContact2_AlternateContactNumber string String
    emergencyContact2_ContactNumber string String
    emergencyContact2_Name string String
    emergencyContact2_Relationship string String
    employingEntityABN string String
    employingEntityId string String
    employmentAgreement string String
    employmentType string String
    endDate date-time Nullable
    externalId string String
    firstName string String
    gender string String
    hasApprovedWorkingHolidayVisa boolean Nullable
    hasWithholdingVariation boolean Nullable
    homePhone string String
    hoursPerDay double

    Nullable

    A null value will default to the business setting for Standard hours per day

    hoursPerWeek double Nullable
    id int32 Int32
    includeInPortableLongServiceLeaveReport boolean Nullable
    isEnabledForTimesheets string String
    isExemptFromFloodLevy boolean Nullable
    isExemptFromPayrollTax boolean Nullable
    isSeasonalWorker boolean Nullable
    jobTitle string String
    leaveAccrualStartDateType string Nullable

    Possible values are:

    • EmployeeStartDate
    • SpecifiedDate
    • CalendarYear
    leaveTemplate string String
    leaveYearStart date-time Nullable
    locations string String
    maximumQuarterlySuperContributionsBase double Nullable
    medicareLevyExemption string String
    medicareLevyReductionDependentCount int32 Nullable
    medicareLevyReductionSpouse boolean Nullable
    medicareLevySurchargeWithholdingTier string Nullable

    Possible values are:

    • Tier1
    • Tier2
    • Tier3
    middleName string String
    mobilePhone string String
    otherTaxOffset boolean Nullable
    overrideTemplateRate string String
    payConditionRuleSet string String
    payRateTemplate string String
    paySchedule string String
    paySlipNotificationType string String
    portableLongServiceLeaveId string String
    postalAddressIsOverseas boolean Nullable
    postalAddressLine2 string String
    postalCountry string String
    postalPostCode string String
    postalState string String
    postalStreetAddress string String
    postalSuburb string String
    preferredName string String
    previousSurname string String
    primaryLocation string String
    primaryPayCategory string String
    rate double Nullable
    rateUnit string String
    reportingDimensionValues string String
    residentialAddressIsOverseas boolean Nullable
    residentialAddressLine2 string String
    residentialCountry string String
    residentialPostCode string String
    residentialState string String
    residentialStreetAddress string String
    residentialSuburb string String
    rosteringNotificationChoices string String
    seniorsTaxOffset boolean Nullable
    singleTouchPayroll string Nullable

    Possible values are:

    • CloselyHeld
    • ForeignEmployment
    • InboundAssignee
    • LabourHire
    • OtherSpecifiedPayments
    startDate date-time Nullable
    status string EmployeeStatusEnum

    Possible values are:

    • Active
    • Terminated
    • Incomplete
    stslDebt boolean Nullable
    superFund1_AllocatedPercentage double Nullable
    superFund1_EmployerNominatedFund boolean Nullable
    superFund1_FixedAmount double Nullable
    superFund1_FundName string String
    superFund1_MemberNumber string String
    superFund1_ProductCode string

    Nullable

    Must be "SMSF" for a self managed super fund

    superFund2_AllocatedPercentage double Nullable
    superFund2_EmployerNominatedFund boolean Nullable
    superFund2_FixedAmount double Nullable
    superFund2_FundName string String
    superFund2_MemberNumber string String
    superFund2_ProductCode string

    Nullable

    Must be "SMSF" for a self managed super fund

    superFund3_AllocatedPercentage double Nullable
    superFund3_EmployerNominatedFund boolean Nullable
    superFund3_FixedAmount double Nullable
    superFund3_FundName string String
    superFund3_MemberNumber string String
    superFund3_ProductCode string

    Nullable

    Must be "SMSF" for a self managed super fund

    superThresholdAmount double Nullable
    surname string String
    tags string String
    taxCategory string Nullable

    Possible values are:

    • Actor_WithTaxFreeThreshold
    • Actor_NoTaxFreeThreshold
    • Actor_LimitedPerformancePerWeek
    • Actor_Promotional
    • HorticulturalistShearer_WithTaxFreeThreshold
    • HorticulturalistShearer_ForeignResident
    • SeniorPensioner_Single
    • SeniorPensioner_Married
    • SeniorPensioner_SeparatedCoupleIllness
    • ATODefined_DeathBeneficiary
    • ATODefined_DownwardVariation
    • ATODefined_NonEmployee
    • DailyCasual
    taxFileNumber string String
    taxVariation double Nullable
    terminationReason string String
    title string String
    workPhone string String
    workTypes string String
    workingHolidayVisaCountry string String
    workingHolidayVisaStartDate date-time Nullable

    Response

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

    Status code Description Resource
    200 OK

    OK

    EmployeeUpdateResponseModel