Understanding Data Validation (STP)

Overview

The ATO mandate that the data supplied in Single Touch Payroll Pay Events must conform to a strict specification. In many instances the specification is much stricter than the data validation that applies generally in Netsuite. As the employee records in Netsuite aren't just used for Payroll we can't always validate at the point of data entry, particularly if the data is multi subsidiary or synced from an integration.

If the data submitted does not conform to the specification required by the ATO you will receive one of two responses:

  • An Error for the full submission, warning of an invalid Certificate (EBMS:0101) or invalid certificate parameters.
  • A Partial Success, with individual employee Pay Events being rejected.

The following information outlines the validation rules applied before submission to the ATO, explaining how to correct this data.

Data Transformation

To ensure the quality of the data sent to the ATO the following data transformations are applied BEFORE data validation. This ensures that common data integrity do not block your ability to submit your Pay Event.

  • Telephone: Remove all characters that are not numeric or a space
  • Address 1, Address 2 (if supplied), Suburb: Replace all white space characters (line return, carriage return, tab etc) with a space

The data transformation is applied to the data before the Pay Event Validation; and the transformation does not update the employee record source data.

Personal Detail Validation

The following data validation is applied to the employee personal details, if an employee has a data validation warning review the notes to clear the warning.


FieldReq.Max CharAllowed CharactersValidation MessageNotes
First NameNo40
[0-9a-zA-Z .,?(){}:;'|\-_=\\/@#$%*&"]
Invalid First NameCheck the name only contains characters as listed in the allowed characters. Be careful with special characters such as ' - " as these may be unicode characters. If you are unsure, edit the record and delete the symbol and manually enter it using the keyboard.

Middle NameNo40
[0-9a-zA-Z .,?(){}:;'|\-_=\\/@#$%*&"]
Invalid Middle Name
Last NameYes40
[0-9a-zA-Z .,?(){}:;'|\-_=\\/@#$%*&"]

Missing Last Name

Invalid Last Name

Date Of BirthNon/an/aInvalid DOBThe Date of birth is either prior to 1st January 1900, or is in the future.
EmailNo200sbrEmailItemTypen/aThe email is taken from the employee record employee field that has stricter validation than the ATO requirement
PhoneNo16
[0-9 ]
n/aAs the phone number is changed in data transformation it is either empty or valid.
TFNYes9
[0-9]

Missing TFN

Invalid TFN

The ATO requires a valid TFN which is check by applying the ATO validation algorithm. In addition the following are also accepted
000000000,111111111,333333333,444444444
Payroll IDYes200sbr:StringItemTypen/aThe Payroll ID is taken from the employee record internalid so is ensured to be a numeric that is unique.

Legal First Name

The ATO requires that the first name supplied is the employees legal first name. If you have not set the employee's legal first name in the NetSuite first name field, your account can be configured to use an alternate custom field to specify a legal name which is empty will pull the name from the standard NetSuite field.


Address Validation

The address is a mandatory component of the personal data supplied and the validation applied is different depending on whether the address is an Australian or Other Country address. The address used is the employee address flagged as the residential address.

Australian Address

FieldReq.Max CharAllowed CharactersValidation MessageNotes
Address Line 1Yes38sbr:StringItemTypeInvalid Address Line 1Check the address line or suburb contains valid characters. Be careful with ' - and " as these characters maybe unicode characters. If you are unsure edit the record and delete the symbol and manually enter it using the keyboard.
Address Line 2No38sbr:StringItemTypeInvalid Address Line 2
SuburbYes46sbr:StringItemTypeInvalid Suburb
StateYesn/a
'ACT', 'NSW', 'NT', 'QLD', 'SA', 'TAS', 'VIC', 'WA', 'AAT'
Invalid StateSee Correcting State Validation Below
PostcodeYes4
0200 - 9999

Missing Postcode

Invalid Postcode

Ensure Postcode is not empty and between 0200 and 3999


Non Australian Address

For a non-Australian address the state and postcode fields are not mandatory and are not included in the submission.

FieldReq.Max CharAllowed CharactersValidation MessageNotes
Address Line 1Yes38sbr:StringItemTypeInvalid Address Line 1Check the address line or suburb contains valid characters. Be careful with ' - and " as these characters maybe unicode characters. If you are unsure edit the record and delete the symbol and manually enter it using the keyboard.
Address Line 2No38sbr:StringItemTypeInvalid Address Line 2
SuburbYes46sbr:StringItemTypeInvalid Suburb
Country CodeYes2ad, ae, af, ag, ai, al, am, ao, aq, ar, as, at, au, aw, ax, az,
ba, bb, bd, be, bf, bg, bh, bi, bj, bl, bm, bn, bo, bq, br, bs, bt, bv, bw,
by, bz, ca, cc, cd, cf, cg, ch, ci, ck, cl, cm, cn, co, cr, cu, cv, cw, cx,
cy, cz, de, dj, dk, dm, do, dz, ec, ee, eg, eh, er, es, et, fi, fj, fk, fm,
fo, fr, ga, gb, gd, ge, gf, gg, gh, gi, gl, gm, gn, gp, gq, gr, gs, gt, gu,
gw, gy, hk, hm, hn, hr, ht, hu, id, ie, il, im, in, io, iq, ir, is, it, je,
jm, jo, jp, ke, kg, kh, ki, km, kn, kp, kr, kw, ky, kz, la, lb, lc, li, lk,
lr, ls, lt, lu, lv, ly, ma, mc, md, me, mf, mg, mh, mk, ml, mm, mn, mo, mp,
mq, mr, ms, mt, mu, mv, mw, mx, my, mz, na, nc, ne, nf, ng, ni, nl, no, np,
nr, nu, nz, om, pa, pe, pf, pg, ph, pk, pl, pm, pn, pr, ps, pt, pw, py, qa,
re, ro, rs, ru, rw, sa, sb, sc, sd, se, sg, sh, si, sj, sk, sl, sm, sn, so,
sr, ss, st, sv, sx, sy, sz, tc, td, tf, tg, th, tj, tk, tl, tm, tn, to, tr,
tt, tv, tw, tz, ua, ug, um, us, uy, uz, va, vc, ve, vg, vi, vn, vu, wf, ws,
ye, yt, za, zm, zw


Invalid Country Code



Note: For Branch Addresses the state for Non AU will be replaced with OTH when the Pay Event is created, this is due to a legacy ATO requirement.


Correcting State Validation

If you are seeing an invalid state warning for an address, it maybe that you are not using the standard drop down. To resolve navigate to the employee record in edit mode click the pencil icon next to the address line to open the address for editing. If the state dropdown is empty select the correct state (do not type freeform text) and save the address and employee record.


Allowance Validation

If an employee has a reportable allowance, 3 validations are applied to the allowance data:

  • Check to ensure an STP Allowance Type has been set for the Pay Component Sub Type (this is sourced from the pay component subtype)
  • If the STP Allowance Type is set to Other:
    • Ensure the sub type description sent meets the character set validation
    • Ensure the sub type description is no longer than 40 characters

One Allowance Validation Per Employee

Due to a limit in the validation response and as a perofrmance optimisation only the first error is returned per employee. Therefore if you have multiple allowances for an employee with the same issue, you may see the same error after you have corrected the first one.


Branch Validation

The Company / Branch data is sent with every Submit / Update Pay Event. The data is initially validated as part of the branch setup, and is validated again prior to Reporting STP.  All errors identified during branch validation can be corrected by running the STP Branch Setup Wizard, except for folder corrections that must be re-synced by running the associated payroll configuration.


FieldReqMax CharAllowed CharactersValidation MessageNotes
BMS IDYes36n/aBMS ID missing or invalid.The BMS ID field is automatically populated on completion of the branch wizard. It will be rejected if less than 36 characters and should not be manually amended.
ABNYes*11
[0-9]
ABN is invalid.ABN or WPN must be supplied if both are set the ABN is used in preference.
WPNYes*11
[0-9]
WPN is invalid.
Branch NumberYes3
[0-9]

Branch Number is Empty
Addressfollows same validation as Employee AU and Non AU Address
Managed KeyYesn/an/aManaged Key has not been configured.The managed key is populated during the branch wizard
Company NameYes200
[0-9a-zA-Z .,?(){}:;'|\-_=\\/@#$%*&"]
Company Name is empty or contains invalid charactersCompany Name must be the legal name of the company as listed against your ABN. https://abr.business.gov.au
Contact NameYes200
[0-9a-zA-Z .,?(){}:;'|\-_=\\/@#$%*&"]
Invalid Contact Name
Contact EmailYes200sbrEmailItemTypeInvalid Contact Email
Contact PhoneNo16
[0-9 ]
Invalid Contact Phone
FolderYesn/an/aFolder Not Set, Folder ID: XX could not be foundThe folder is set when the branch is initially created by the payroll configuration, and updated when payroll configuration is run for existing branches. When creating a new branch, make sure you run the payroll configuration to sync the folder. (see Branch Folder Permission below)

Branch Folder Permissions

If you see the branch folder message "Folder ID: XX could not be found", it could be that the folder exists but your user is not part of the employee group that has been used to restrict access. In this case you will need to update the employee user group and have your employee added to it. For instructions on adding your employee to the folder group click here.


Employee YTD Total Validation

All financial information reported to the ATO for an employee is a Year to Date total, and as a result must be zero or positive. A validation warning will show for any employee with a negative YTD total.  If you are seeing an unexpected negative value warning for an ETP YTD Total please review our guide here.


The zero or positive restriction does not apply to the Period Pay Event Totals used for BAS W1 and W2 pre-fill. This mean you can send a Submit Pay Event where the total taxable pay and tax payable are negative (for example for an adjustment / correction pay run) as long as the employee YTD totals are 0 or positive.