Record of Employment on the Web (ROE Web) - Technical Specifications to develop an XML Interface

 Table of contents 

Appendix B: Bulk Transfer for 53 weeks - XML File Layout and Edit Rules

  • File Format: Text File
  • File Size: 1,048,576 bytes / characters
  • Naming convention: File name is maximum of 256 alphanumeric, File extension must be 'BLK'. Example: ACME_ROE200.BLK

Notes:

  • Thousand separators are not permitted
  • All amounts fields must have a decimal separator and the decimal separator must be either a period or a comma.
  • Dates must be valid and must be in the format DDMMYYYY, example: 29032005
  • Less Than and Greater Than signs should not be used in any fields
  • Codes and types are not case sensitive
  • XML tag names and attributes are case sensitive

Note:
The tag level represents if the tag is contained within another tag or not. The parent tag would be the first previous tag with a lower tag level number.

Table 1

Description of the ROE WEB specifications for a bulk transfer for 53 weeks.
Tag Name Tag Level Required Tag
(Y/N)
Data Size
(Min/Max)
Description
ROEHEADER 0 Y N/A

This tag serves as the root tag of the bulk file therefore it must be present even though it contains only other tags within it. The following attributes must be present with a corresponding value -Refer to the List of Attributes Used in the XML Structure:

Application
FileVersion

ROE 1 Y N/A

This tag indicates the beginning of each ROE record. The following attributes must be present with a corresponding value - Refer to the List of Attributes Used in the XML Structure:

Printing Language
Issue

B2 2 N 0/9

S.N. of ROE Amended or replaced

May be blank
Must be 9 characters

B3 2 N 0/15

Employer's payroll reference number

May be blank
Must be 15 characters or less

B5 2 Y 15/15

Canada Revenue Agency Business Number

Must not be blank
The first character must be an '8' or a '1'
The first 9 characters must be numeric
The first 9 characters must be numeric and must not be all zeros
Characters ten and eleven must be 'RP'
Characters ten and eleven must be 'RP'
The last four characters must be numeric and greater than '0000'

B6 2 Y 1/1

Pay period type

Must not be blank
Must be one of the following codes:

B = Bi-weekly
M = Monthly
O = Monthly non-standard
S = Semi-Monthly
E = Semi-Monthly non-standard
H = Thirteen Per Year
W = Weekly

B8 2 Y 9/9

Social Insurance Number of the employee for whom the ROE will be issued

Must not be all zeros
All 9 characters must be numeric
1st character must not be a '0', or an '8'

B9 2 Y N/A

This is the parent tag for the Employee information

Must be present
It only contains other tags

FN 3 Y 1/20

First name of the employee for whom the ROE will be issued

Must not be blank
Must be 20 characters or less

MN 3 N 0/4

Initial of the employee for whom the ROE will be issued

May be blank
Maximum of 4 characters

LN 3 Y 1/28

Last name of the employee for whom the ROE will be issued

Must not be blank
Must be 28 characters or less

A1 3 Y 1/35

Line 1 of the address of the employee for whom the ROE will be issued - Number and street name

Must not be blank
Must be 35 characters or less

A2 3 N 0/35

Line 2 of the address of the employee for whom the ROE will be issued - Place, City and Municipality

May be blank
Maximum of 35 characters

A3 3 N 0/35

Line 3 of the address of the employee for whom the ROE will be issued - Province, Country and Postal Code

May be blank
Maximum of 35 characters

B10 2 Y 8/8

 First day worked

Must not be blank
Must be 8 characters and have the following format: "DDMMYYYY"
Must be earlier than or equal to the Last day for which paid
Must be earlier than or equal to the Final pay period ending date
Must pass the following overlapped ROE rule:

The First day worked and Last day for which paid for the current ROE must not be overlapped with the First day worked and Last day for which paid for all previous ROEs issued by the same employer Canada Revenue Agency Business Number (CRABN), for the same employee Social Insurance Number (SIN), unless the Employer Business Number has been registered with the capability to issue overlapped Records of Employment.

B11 2 Y 8/8

Last day for which paid

Must not be blank
Must be 8 characters in the following format: "DDMMYYYY"
Must be equal to or after the First day worked
Must be earlier than or equal to the Final pay period ending date

B12 2 Y 8/8

Final Pay Period Ending Date

Must not be blank
Must be 8 characters in the following format: "DDMMYYYY"
Must be equal to or after the First day worked
Based on the Pay period type, must also match the following rule:

Weekly "W": cannot be more than 6 days after Last day for which paid
Bi-weekly "B":
cannot be more than 13 days after Last day for which paid
Semi-monthly "S":
cannot be more than 15 days after Last day for which paid and must be the 15th or the last day of the month
Monthly "M": cannot be more than 30 days after Last day for which paid and must be the last day of the month
13 PP/year "H": cannot be more than 27 days after Last day for which paid
Non-standard semi-monthly "E":
cannot be more than 15 days after Last day for which paid and cannot be the 15th or the last day of the month
Non-standard monthly "O": cannot be more than 30 days after Last day for which paid and cannot be the last day of the month

B13 2 N 0/40

 Employee occupation

May be blank
Maximum of 40 characters

B14 2 N N/A

This is the parent tag for the Expected recall information

It only contains other tags
  Must be present when expected recall information is completed

CD 3 N 0/1

Expected recall code

May be blank
If blank or other than the codes below, U is the default value
Must be one of the following codes:

Y-Date of recall
N-Not returning
U-Unknown
S-Unspecified

If the code is Y, the Expected date of recall must be entered

DT 3 N 8/8

Expected date of recall

May be blank
Mandatory if the Expected recall code is Y
If completed, must be 8 characters in the following format "DDMMYYYY"
Must be later than the Last day for which paid if value is present
Must be blank when Reason for Issuing is Quit "E", Retired "G"
or Dismissal "M"

B15A 2 Y 1/4

Total insurable hours

Must not be blank
Must be 4 characters or less
Valid value from 1 to 8904 - Must be rounded to the next available value, because decimals are not permitted
Must be less or equal to: ‹Last day for which paid - First day worked + 1› multiplied by 24
Number of pay periods used to calculate this value must not exceed possible pay periods given pay period type period - refer to chart I at the end of Appendix A

B15B 2 Y 0/9

Total insurable earnings

Must not be blank
Must not be equal to 0.00
Maximum is 999999.99
This amount will be overwritten by 15C values and must not exceed the maximum pay periods possible in the required period - refer to chart II at the end of Appendix A
Number of consecutive pay periods used to complete 15B must not exceed the maximum pay periods possible in the required period - refer to chart II at the end of Appendix A

B15C 2 Y N/A

This is the parent tag for the insurable earnings from B15C information

Must be present
It only contains other tags

PP 3 Y N/A

This is the parent tag for each Pay Period information

It only contains other tags
If completed, the following attribute must be present to identify each Pay Period - Refer to the List of Attributes Used in the XML Structure : nbr

AMT 4 Y 0/9

Earnings for Pay Period 1 - See instructions for Block 15C at the end of Appendix A, Chart III Must not be blank
Must be 9 characters or less
Valid value range between '1.00' to '999999.99'
Last 2 characters are assumed to be the decimal part of the amount —this applies to all earning type fields -

Earnings for Pay Period 2…53 - See instructions for block 15C at the end of Appendix A, Chart III May be blank
Maximum of 9 characters
A pay period within the period of employment with no insurable earnings should equal '0.00'
Valid value range between '0.00' to '999999.99'

B16 2 Y N/A

This is the parent tag for the Reason for issuing and Contact person information

Must be present
It only contains other tags

CD 3 Y 1/1

Reason for issuing this ROE

Must not be blank
Must be one of the following codes:

A = Shortage of Work
B = Strike or Lockout
C = Return to School
D = Illness or Injury
E = Quit
F = Maternity
G = Retirement
H = Work sharing
J = Apprentice Training
K = Other
M = Dismissal
N = Leave of Absence
P = Parental
Z = Compassionate Care

If 'K' — 'Other' is indicated then additional information must be given in the Comments Section - Block 18

FN 3 Y 1/20

First name - only - for the contact person

 Must not be blank
Must be 20 characters or less

LN 3 Y 1/28

Last name for the contact person

Must not be blank
Must be 28 characters or less

AC 3 Y 3/3

Phone area code for the contact person

Must not be blank
Must be 3 numeric characters

TEL 3 Y 7/7

Phone number for the contact person

Must not be blank
Must be 7 numeric characters

EXT 3 N 0/5

Phone extension for the contact person

May be blank
Maximum of 5 numeric characters

B17A 2 N 0/9

Vacation Pay amount

May be blank
Maximum of 9 characters
Valid value range between '0.01' to '999999.99'

B17B 2 N N/A

This is the parent tag for the list of Statutory Holiday information

It only contains other tags
Must be present when statutory holiday information is completed.

SH 3 N N/A

This is the parent tag for each specific Statutory Holiday information

It only contains other tags
If completed, the following attribute must be present to identify each Statutory Holiday paid - Refer to the List of Attributes Used in the XML Structure: nbr

DT 4 N 8/8

Statutory Holiday Pay Date

May be blank
If completed must be 8 characters in the following format ''DDMMYYYY"
If completed then it must have a corresponding dollar value in Statutory Holiday Pay amount
If completed then it must be different than the dates in the other 9 Statutory Holiday Pay Date

AMT 4 N 0/9

Statutory Holiday Pay amount

Must be blank if no date is specified in the corresponding Statutory Holiday Pay Date
Maximum of 9 characters
Valid value range between '0.01' to '999999.99'

B17C 2 N N/A

This is the parent tag for the list of Other Monies information

It only contains other tags
Must be present when other monies information is completed

OM 3

This is the parent tag for each specific Other Monies information

It only contains other tags
If completed, the following attribute must be present to identify each Other Monies paid - Refer to the List of Attributes Used in the XML Structure: nbr

CD 4 N 0/1

Other monies code

May be blank
If not blank, then must be one of the following codes:

A = Anniversary Payout
B = Bonus
E = Severance Pay
G = Gratuities
H = Honorariums
I = Sick   Leave   Credits
O = Other
R = Retiring Allowance/Retirement Leave Credits
S = Settlement Pay
U = Supplemental Unemployment Benefits
Y = Pay in Lieu of Notice

AMT 4 N 0/9

Other monies amount

Must be blank if corresponding ''Other monies code'' is blank
Maximum of 9 characters
Valid value range between '0.01' to '999999.99'

B18 2 N 0/160

Comments

 May be blank
Mandatory if Reason for issuing this ROE is 'K-Other'
Maximum value of 160 characters

B19 2 N N/A

This is the parent tag for the list of Special Payment information

It only contains other tags
Must be present when special payment information is completed

SP 3

This is the parent tag for each specific Special Payment information

It only contains other tags
If completed, the following attribute must be present to identify which Special Payment type is used - Refer to the List of Attributes Used in the XML Structure: cd

DT 4 N 0/8

Special Payment Date

May be blank
If completed, must be 8 characters in the following format ''DDMMYYYY"
If completed then there must be a corresponding dollar value in Special Payment Amount

AMT 4 N 0/9

Special Payment Amount

May be blank
Maximum of 9 characters
Valid value range between '0.01' to '999999.99'

Period 4 N 0/1

Special Payment Period

May be blank
If completed, must have the following codes:

D: Per Day
W: Per Week

B20 2 N 1/1

Communication Preferred In

May be blank
If blank, E is the default value
If completed it must have one of the following codes:

E: English
F: French

Table 2 - List of Attributes

This table contains a list of attributes for a bulk ROE transfer.
Name Used with Tag(s) Description Value
Application ROEHEADER Represents the application used to submit the file. It is a fixed value RoeWeb
FileVersion ROEHEADER Represents the file format version. It is a fixed value. 1.00
PrintingLanguage Roe Represents the language to be used to print the Roe. If blank, the default value will be "E". E or F
Issue Roe Represents which processing method should be attempted on the Roe. If blank, the default value will be "D". D or S
nbr PP, SH, and OM Represents which pay period, statutory holiday, and other money within the list. It is a numeric value. 1 to 53 - pay periods - 1 to 10 - statutory holiday or 1 to 3 other money
cd SP Identifies the special payment type. psl, wli or mat

The two XSD files - BulkRoeHeader.xsd - 4kb and BulkRoe.xsd - 11kb - can be used to validate the XML and the bulk file structure prior to transfer the file using ROE Web. In order to perform this kind of validation, a tool which is capable of validating an XML Schema is necessary.

Sample of most basic Bulk XML structure that could be submitted and accepted as a valid file - 277 bytes/characters:

<ROEHEADER Application="RoeWeb" FileVersion="1.00">

<Roe>

<B5>100000000RP9999</B5>

<B6>B</B6>

<B8>999999999</B8>

<B9>

<FN>Xxxxxx </FN>

<LN>Xxxxxxxxxxxxx</LN>

<A1>123 Xxxxxxxxxxx </A1>

</B9>

<B10>01012005</B10>

<B11>14012005</B11>

<B12>15012005</B12>

<B15A>80</B15A>

<B15B>800.00</B15B>

<B15C>

<PP nbr="1">

<AMT>800.00</AMT>

</PP>

</B15C>

<B16>

<CD>A</CD>

<FN>Xxxxxxxxx</FN>

<LN>Xxxxxxxxxxx</LN>

<AC>819</AC>

<TEL>6831234</TEL>

</B16>

</Roe>

<Roe>

<B5>100000000RP9999</B5>

<B6>B</B6>

<B8>999999998</B8>

<B9>

<FN>Xxxx</FN>

<LN>Xxxxxxxxxxxxxxxxx</LN>

<A1>789 XXXXXXXXXXXX</A1>

</B9>

<B10>01012005</B10>

<B11>14012005</B11>

<B12>15012005</B12>

<B15A>70</B15A>

<B15B>700.00</B15B>

<B15C>

<PP nbr="1">

<AMT>700.00</AMT>

</PP>

</B15C>

<B16>

<CD>A</CD>

<FN>Xxxxxxxxx</FN>

<LN>Xxxxxxxxxxxxxx</LN>

<AC>819</AC>

<TEL>1234567</TEL>

</B16>

</Roe>

<Roe>

</Roe>

</ROEHEADER>

Sample of most complete Bulk XML structure that could be submitted and accepted as a valid file:

<ROEHEADER Application="RoeWeb" FileVersion="1.00">

<Roe PrintingLanguage="F" Issue="S">

<B3>9999-12345</B3>

<B5>100000000RP9999</B5>

<B6>W</B6>

<B8>999999999</B8>

<B9>

<FN>Xxxxxx</FN>

<MN>Xxxx</MN>

<LN>Xxxxxxxxxxxxx</LN>

<A1>123 Xxxxxxxxxxx</A1>

<A2>Xxxxxxxx</A2>

<A3>Xxxxxxx, Xxxxxxx</A3>

</B9>

<B10>01012005</B10>

<B11>31122005</B11>

<B12>31122005</B12>

<B13>Xxxxxxxxxxxxxxx</B13>

<B14>

<CD>Y</CD>

<DT>06022006</DT>

</B14>

<B15A>1040</B15A>

<B15B>10400.00</B15B>

<B15C>

<PP nbr="1">

<AMT>200.00</AMT>

</PP>

<PP nbr="2">

<AMT>200.00</AMT>

</PP>

<PP nbr="53">

<AMT>200.00</AMT>

</PP>

</B15C>

<B16>

<CD>A</CD>

<FN>Xxxxxxxxx</FN>

<LN>Xxxxxxxxxxxxxx</LN>

<AC>819</AC>

<TEL>1234567</TEL>

<EXT>12345</EXT>

</B16>

<B17A>250.00</B17A>

<B17B>

<SH nbr="1">

<DT>01012005</DT>

<AMT>50.00</AMT>

</SH>

<SH nbr="2">

<DT>28042005</DT>

<AMT>50.00</AMT>

</SH>

<SH nbr="3">

<DT>25122005</DT>

<AMT>50.00</AMT>

</SH>

</B17B>

<B17C>

<OM nbr="1">

<CD>A</CD>

<AMT>75.00</AMT>

</OM>

<OM nbr="2">

<CD>B</CD>

<AMT>125.00</AMT>

</OM>

<OM nbr="3">

<CD>H</CD>

<AMT>25.00</AMT>

</OM>

</B17C>

<B18>Xxxxx xxxxx xxxxxxx xxx xxxxxxx.</B18>

<B19>

<SP cd="psl">

<DT>01112005</DT>

<AMT>25.00</AMT>

<Period>W</Period>

</SP>

</B19>

<B20>F</B20>

</Roe>

</ROEHEADER>

 Table of contents