The Data Provisioning Service (DPS) allows employers to download Pay As You Earn (PAYE) forms. In the Third Party Validation Service (TPVS) environment, a set of default test scenarios has been provided for all developers to use within their testing process. However, HMRC has been advised that developers would like to cover a far wider range of test scenarios using their own test data. The Outgoing XML Generator allows this. The Outgoing XML Generator is a downloadable, (locally installed) desktop based tool that will allow developers to transform their test data into XML in the same format used by the DPS.
This section describes how to use this product from downloading and installing to producing XML.
The Outgoing XML Generator can be downloaded as a ZIP file. The file should then be unzipped to the local file system. To run the Outgoing XML Generator execute the run.bat or run.sh file.
The Outgoing XML Generator is supplied with a number of CSV templates (and sample data) that can be found in the <install directory/csv> directory. The template files should be used to generate test data as follows:
|
ar.csv |
Should be used to generate test data for annual return forms as returned by the DPS |
|
not.csv |
Should be used to generate test data for p11D (b) forms, p35n forms and incentive letters as returned by the DPS |
|
p6.csv |
Should be used to generate test data for p6 and p6b forms as returned by the DPS |
|
p9.csv |
Should be used to generate test data for p9 forms as returned by the DPS |
|
sl1.csv |
Should be used to generate test data for StudentLoanStart forms as returned by the DPS |
|
sl2.csv |
Should be used to generate test data for StudentLoanEnd forms as returned by the DPS |
|
pgl1.csv |
Should be used to generate test data for PostgraduateLoanStart forms as returned by the DPS |
|
pgl2.csv |
Should be used to generate test data for PostgraduateLoanStop forms as returned by the DPS |
|
RTI.csv |
Should be used to generate test data for RTI Notification forms as returned by the DPS |
|
RTIINFO.csv |
Should be used to generate test data for RTI Generic Notification Information forms as returned by the DPS |
|
RTICHANGE.csv |
Should be used to generate test data for RTI Generic Notification Change forms as returned by the DPS |
|
CISINFO.csv |
Should be used to generate test data for CIS Generic Notification forms for message type 14/15 as returned by the DPS |
|
CIS25INFO.csv |
Should be used to generate test data for CIS Generic Notification forms for message type 25 as returned by the DPS |
|
CIS28INFO.csv |
Should be used to generate test data for CIS Generic Notification forms for message type 28 as returned by the DPS |
|
CIS29INFO.csv |
Should be used to generate test data for CIS Generic Notification forms for message type 29 as returned by the DPS |
Once the appropriate template has been populated it should be saved as a comma-separated-value (CSV) file. It is the CSV file that the Outgoing XML generator will use to produce a schema valid XML file.
Below shows an example for the p6.csv template populated with two records.

The field TaxRegime will be valid from 2017 and must be left blank for previous years.
The first record would be rendered as follows and included in the XML file produced by the Outgoing XML Generator.

The second record would be rendered as follows and included in the XML file produced by the Outgoing XML Generator.

Below shows an example for a CIS Large message - CIS28INFO.csv template populated with two records.

Please make sure that:
Information Item 1 is deemed as mandatory and should be always populated.
InformationSequenceNum2 should be populated with '2' if more than one Information Item is to be populated
The Outgoing XML Generator is shown below.

The top four fields ('Got', 'More Data', 'Employer Reference' and 'Vendor ID') must be populated to produce the header details in the generated XML file. The fields for the DPS Header are described below.
|
Service |
Automatically populated by the utility. Currently this will always be set to 'PAYE' |
|
EntityType |
Automatically populated by the utility. Currently this will always be set to 'EmpRef' |
|
Entity |
This is the value of the EmpRef and is populated by the user-entered value in the 'Entity' field. |
|
DataType |
Automatically populated by utility depending on which dialogue box the user is generating data from. Currently this will be 'AR', 'NOT', 'P6', 'P9', 'RTINOT', 'SL1', 'SL2', 'PGL1', or 'PGL2'. |
|
Got |
This indicates the highest value returned by a previous DPSretrieve call and is populated by the user-entered value in the 'Got' field. |
|
NItems |
Automatically populated by the utility |
|
VendorID |
This is the value of the EBU allocated Vendor ID and is populated by the user entered value in the 'Vendor ID' field. |
|
MoreData |
This indicates whether there are more items to retrieve and is populated by the user-entered value in the 'More Data' field. |
|
HighWaterMark |
Automatically populated by the utility. This will always be set to the highest item index in the test data supplied. |
|
NItemsReturned |
Automatically populated by the utility. This will be set to the number of data items returned by the utility. |
|
Timestamp |
Automatically populated by the utility. This will be set to the current timestamp. |
The input CSV file can be selected by using the 'Browse' button. The output file will default to the input filename with a suffix on '.xml'. Clicking the 'Generate' will commence the process for producing the XML file.
The following table indicates the restrictions in place for the Live DPS service, where files over 1mb will not be sent. Do not test your systems with files over the form counts listed below. Files containing more than these maximum numbers of forms will not be sent from the DPS.
|
Data Item Type |
Maximum Data Items per Retrieve |
|
P6 |
1,500 |
|
P9 |
1,500 |
|
SL1 |
2,000 |
|
SL2 |
2,000 |
|
PGL1 |
2,000 |
|
PGL2 |
2,000 |
|
Annual Reminders |
600 |
|
Notifications |
500 |
|
RTI Notifications |
500 |
|
CIS Notifications |
500 |
The Outgoing XML Generator does not impose this restriction automatically; you must control the file sizes manually.
|
Version |
Change |
|
1.1 |
Baselined |
|
1.2 |
RTI changed to RTINOT |
|
2.0 |
Upgrade to Java 1.7 |
|
2.1 |
TaxRegime field added to P6 and P9 forms |
|
3.0 |
New tab to process CIS Generic Notifications |
|
4.0 |
Added 3 new CIS Generic Notifications |
|
4.1 |
Added prefixes to Generic Notifications messages |
|
4.2 |
RTINOT forms accepts NINOs with KC as prefix |
|
4.3 |
Paye tax code permits the following - D2, D3, D4, D5, D6, D7 and D8. |
|
4.4 |
Addition of PGL1/PGL2 forms. |
|
4.5 |
Addition of SL1 plan type 4. |
|
4.6 |
Addition of SL1 plan type 5. |
If you need to contact the Software Developer Support team about this service you can contact us on
01274 534666 or by email 'SDSTeam@hmrc.gsi.gov.uk' .