HM Revenue & Customs

EB5 (NEW CIS) / CIS300

Message Implementation Guidelines 
for 
Monthly Return

© HM Revenue & Customs 2005

DOCUMENT HISTORY
ISSUE	CHANGE REFERENCE	AUTHOR	DATE	
1.0	Original	Ian Mackenzie 
	11/07/05	
1.1	Updated following HMRC review	Ian Mackenzie	11/11/05	
1.2	Validation rule changes and addition of a Subcontractor Works Reference Number to the message. Additional information included about acknowledgement reports. See section 1.2	Stephen Wood	04/07/06	
1.3 	Updated following HMRC review	Stephen Wood	02/08/06	
1.4	Validation rules for Subcontractor First Name, Subcontractor Second Name, Subcontractor Surname and Subcontractor Trading Name clarified.
Message structure diagram updated to indicate that Group 2 is conditional.
EDIFACT message examples for the NAD (SC) segment corrected. 
Validation of Period End (DTM qualifier 166, validation rule 3) changed for test messages. The Period End must not be earlier than 05/05/2006 for test messages	Stephen Wood	16/11/06	
1.5	The field statuses of ‘Dependent’ and ‘Conditional’ in tables 1.3 and 4.1.3, which indicated that a business field was optional, has been replaced with a field status of ‘Optional’.
Contractor UTR Check Character calculation removed.	Stephen Wood	19/06/07	
TABLE OF CONTENTS
DOCUMENT HISTORY
TABLE OF CONTENTS
GLOSSARY OF TERMS
1	Getting Started
1.1	Who should read this?
1.2	SUMMARY OF CHANGES
1.3	What is this message about?
1.4	Frequency
1.5	Testing and RECOGNITION
1.6	Data Flow
1.7	Acknowledgement reports from THE edi translation service (Stage 1)
1.8	Response reports from HMRC (Stage 2)
2	Data Format - GFF and EDIFACT
2.1	Generic Flat File Format (GFF)
2.1.1.	GFF Interchange
2.1.2.	GFF Submissions
2.1.3.	Validation / Rejection
2.2	EDIFACT Format
2.2.1.	EDIFACT Interchange
2.2.2.	EDIFACT Message
2.2.3.	EDIFACT Submissions
2.2.4.	Validation / Rejection
3	The CIS300 Message
4	CIS300 DATA ITEMS
4.1	Field Status
4.1.1	Mandatory fields
4.1.2	Optional fields
4.1.3	Validation Rules
4.2	Common problems to avoid during development
4.2.1	Character Set
4.2.2	Interchange Control References
4.2.3	GFF Record Lengths
5	Responsibilities of Contractor / AGENT
5.1	Registration
5.2	Sending CIS300 data
5.3	Error correction
6	Record Layouts
6.1	GFF LAYOUT
6.1.1	GFF CIS300 Examples
6.2	EDIFACT LAYOUT
6.2.1	EDIFACT CIS300 Example
7	Processing Checklist
7.1	Registration
7.2	Character Set
7.3	Interchange Control References
7.4	GFF Record Lengths
7.5	Sending CIS300 data
7.6	Error correction
APPENDIX A – CHARACTER SET

GLOSSARY OF TERMS
AORef	Accounts Office Reference No used to identify the Contractors Scheme	
Agent	An Agent is authorised by a Contractor to perform certain CIS tasks on the Contractor's behalf	
Business Type	Type of Business which defines the Subcontractor’s role	
CIS	Construction Industry Scheme	
CIS300	HMRC form reference for Contractor’s Monthly Return, also communication routing name of EDI Monthly Return message	
CRN	Company Registration Number	
Contractor	Organisation involved in the Construction Industry and which employs Subcontractors to carry out its business	
EDI	Electronic Data Interchange	
EDIFACT	Electronic Data Interchange for Administration, Commerce and Transport	
Employer’s reference	Unique reference supplied by the HMRC Office	
GFF	Generic Flat File	
HMRC Office number	Also known as Tax District number and Tax Office number	
ICR	Interchange Control Reference	
Match	Where the System has applied a set of RULES to the data provided and after applying these RULES has sufficient confidence to confirm that a given Subcontractor or Contractor Scheme is known to CIS.	
NINO	National Insurance Number	
Partnership	A business which is owned by two or more people, but is not incorporated.	
Subcontractor	Any business which has agreed to carry out construction operations for another business or public body which is a Contractor.	
Tax Treatment	This indicates whether a Subcontractor should be paid Gross, Net or Unmatched Subcontractor Rate.	
Trading Name	The name under which a company does its business	
Trading Partner	An EDI term for the Contractor/Agent exchanging data with the HM Revenue & Customs	
Vendor ID	A unique number allocated by HMRC to Software Developers	
UTR	Unique Tax Reference	
Verification	The act by a Contractor of obtaining from HMRC the correct Tax Treatment for a Subcontractor, and the capturing of the relationship by the HMRC in CIS Core System.	
CISREQ	Communication routing name of Verification Request message	
CISREP	Communication routing name of Verification Reply message	

1	Getting Started
1.1	Who should read this?
This document is aimed at everyone involved in the reform of the Construction Industry Scheme and the development of Monthly Returns via EDI, particularly software designers and programmers producing the software for extracting the Monthly Return data from the Contractor’s system. 
1.2	SUMMARY OF CHANGES
This document is part of a series of Message Implementation Guidelines which cover each of the three new CIS EDI enabled messages individually. 
The changes since version 1.1 of this document are:
•	Contractor UTR ATT qualifier 102: check character calculation included. See table 4.1.4. validation rule 1 and appendix B. 
•	Accounts Office Reference Number ATT qualifier 103: The validation of this field has changed. Characters 6 – 13 are now alpha or numeric. See table 4.1.4 validation rule 2.
•	Period End DTM qualifier 166: The validation of this field has changed. The year (CCYY) must be in the range 2007 – 2099. See table 4.1.4 validation rule 3.
•	Subcontractor Works Reference Number ATT qualifier 107: This field has been added to the message. See table 4.1.4 validation rule 18.
•	Validation rules 18 – 20 have been renumbered 19 – 21.
•	Additional information added about the acknowledgement and response reports. See sections 1.6, 1.7 and 1.8 
1.3	What is this message about?
Contractors must send to HM Revenue & Customs a complete return of all payments made in the preceding tax month to all subcontractors within a CIS Scheme regardless of whether paid gross, net of the standard deduction or net of the higher deduction. 
Monthly Returns must be received within 14 days of the tax month end, e.g. a return for payments made between 6th May and 5th June must reach us by 19th June. 
Failure to submit a return will result in a penalty.
If a contractor has made no payments in a month they must file a nil return to avoid receiving a penalty.
Future monthly returns can be suspended for up to 6 months if the scheme becomes inactive by sending an Inactivity indicator with the final “normal” return.
The data required from the Contractor/Agent to effect the Monthly Return is shown in table 1.3 below, the validation rules are given in Table 4.1.4 and the GFF record layouts are given in Table 6.1 and the EDIFACT segment layouts in table 6.2.
Data shown as mandatory must be provided,  data shown as optional may or may not be required depending on what other data is presented.

Table 1.3	

Business Field	Status	Segment/Record Name	Qualifier	
Form Type	Mandatory	BGM / BGM1	22	
Contractor details – it is mandatory the segment/record qualifier FC is present, the name and address are optional	Mandatory
See Record Layout	NAD / NAD1A	 FC	
Contractor’s UTR	Mandatory	ATT / ATT1	102	
Contractor’s AORef	Mandatory	ATT / ATT1	103 	
Contractor’s Employer Reference	Mandatory	ATT / ATT1	7	
Nil Return Indicator	Optional	ATT / ATT1	111	
Employment Status Declaration	Optional	ATT / ATT1	112	
Subcontractor Verification Declaration	Optional	ATT / ATT1	113	
Information Correct Declaration	Optional	ATT / ATT1	114	
Inactivity Indicator	Optional	ATT / ATT1	115	
Test Id	Optional	ATT / ATT1	48	
Software Product details – if present, automatically output by Software provider	Optional	ATT / ATT1	54, 55,56,57	
HMRC Office (Tax District)	Mandatory	NAD / NAD1A	TC	
HMRC Office (Tax District) number	Mandatory	ATT /ATT1	17	
Period End	Mandatory	DTM / DTM1	166	
Date of message	Mandatory	DTM / DTM1	 243	
Subcontractor details – this shows the business data to be  sent by the Contractor/Agent. 	
Subcontractor details 	Mandatory	NAD / NAD2A	SC	
Either – Subcontractor Trading name	Optional	NAD / NAD2B	SC	
Or – Subcontractor surname, first forename, second forename	Optional	NAD / NAD2B	SC	
Unmatched Tax Rate indicator	Optional	ATT / ATT2	116	
Subcontractor UTR	Optional	ATT / ATT2	102	
Subcontractor CRN	Optional	ATT / ATT2	106	
Subcontractor National insurance number	Optional	ATT / ATT2	11	
Subcontractor Verification number	Optional	ATT / ATT2	110	
Subcontractor Works Reference number	Optional	ATT / ATT2	107	
Total Payments made	Optional	TAX / MOA
TAX1 / MOA1	201	
Direct Cost of Materials	Optional	TAX / MOA
TAX1 / MOA1	202	
Total Amount Deducted	Optional	TAX / MOA
TAX1 / MOA1	203	
End of Subcontractor details	
Grand total number of subcontractor entries
(in this submission)	Optional	QTY / QTY1	K	
Control Total, number of LIN/LIN1 segments/records	Mandatory	CNT / CNT1		

1.4	
Frequency
This message must be sent by a Contractor/Agent to HM Revenue & Customs within 14 days of the tax month end, e.g. a return for payments made between 6th May and 5th June must reach HM Revenue & Customs by 19th June. 
1.5	Testing and RECOGNITION
1.5.1.	Test Service
HM Revenue & Customs has a test service for Software Developers who want to test their system development, and for Contractors and Agents to test extracts from their CIS system.
All users must register with HMRC prior to submitting tests (see section 7.1)
When they register, Software Developers will be supplied with a Vendor Id. This must be present in all test submissions from Software Developers (see Record Layouts Sections 6.1 and 6.2).
All test returns must have the Test flag set in the 4* header record or UNB segment. In addition, test returns must also contain a test ID starting with the word “TEST”.
1.5.2.	Recognition
Software Developers can request HM Revenue & Customs to recognise that their product conforms to the system requirements. Details are on the HM Revenue & Customs website:
<http://www.hmrc.gov.uk/ims/eecs.htm>
Before HM Revenue & Customs can recognise a product, Software Developers must successfully complete a series of scenarios, which are available from HMRC:
Online Services Helpdesk:  0845 60 55 999 or helpdesk@ir-efile.gov.uk
The Recognition Scenario Number must be included in the Test Id of the file(s) being submitted so the data can be routed to the Recognition service. The Contractors reference should be made up of the word "TEST", the letters "SC" for Scenario, the scenario number and the part identifier.
e.g. "TESTSC1A" will be the Test Id used for submitting Scenario 1 part A.
1.6	Data Flow
Data is transferred from the employer payroll to the HM Revenue & Customs system in a series of stages. The data is validated as it passes from stage to stage. The HM Revenue & Customs system sends Acknowledgement and Response Reports (as indicated below) after each validation. The Acknowledgement and Response Reports indicates the acceptance or rejection of individual returns.
Stage 1 – the monthly return is transferred from the employer to the EDI Translation Service. If validation is successful, the data is transferred to Stage 2.
An Acknowledgement Report from Stage 1 is emailed to the sender to report the acceptance or rejection of each monthly return.
Stage 2 – the data in the monthly return(s) is validated. Each monthly return is validated separately.
An Response Report from Stage 2 is emailed to the sender to report the acceptance or rejection of each monthly return.

Contractor / Agent sends Monthly Return

Stage 1 Validation
Initial structure validation
&
Ack Report

Stage 2 
Validation

Monthly Return data
validation
& Response Report 

CIS Core system

Data Lodged

1.7	Acknowledgement reports from THE edi translation service (Stage 1)
An Acknowledgement Report is issued via email for every monthly file submitted. This reports the acceptance or rejection of each monthly return submitted in a file.
This acceptance or rejection of a monthly return is from the EDI translation service and does NOT indicate that the monthly return has been successfully validated and lodged with the HM Revenue & Customs.
Email systems, whilst usually reliable, are not a guaranteed form of communication. You should expect to receive the email Acknowledgement Report within 24 hours of submitting your file (typically much sooner).
If you do not receive this email, please contact the Online Services Helpdesk giving details of your file contents, e.g. an interchange control reference within the file. The Helpdesk will then investigate and respond to your query.
Online Services Helpdesk:  0845 60 55 999 or helpdesk@ir-efile.gov.uk

The report will arrive as an attachment to the email. The attachment filename has a .csv extension and can be viewed using Microsoft Excel (or similar spreadsheet program). An example of a .csv file is attached: 

As the report is generated as a .csv file, you will find some reformatting of cells may be required when it is opened, e.g. Format, Column, Autofit to display full details in each column. The report shows the status of each monthly return within the file as either "Accepted" or "Rejected". 
Returns which are shown as "Rejected" need to be corrected and re-submitted. To correct some errors, particularly structural errors, you may need to contact the Online Services Helpdesk for further explanation. In these cases, please quote the reference given in the Subject line of the email.
Please note that the email containing the Acknowledgement Report is automatically generated. If you just "reply" to the email with a query, you will not receive a response.
1.8	Response reports from HMRC (Stage 2)
A Stage 2 Response Report is issued via email for every monthly return and will arrive as a .csv attachment to the email. This reports the acceptance or rejection of all the details within a monthly return, i.e. if a monthly return file contains multiple monthly returns, multiple Stage 2 Response Reports will be returned.
The acceptance of the monthly return by the Stage 2 validation service indicates that the details within it have been successfully validated against the HM Revenue & Customs Business Rules and have been recorded on the CIS core system.
Returns which are shown as "Rejected" need to be corrected and re-submitted.

2	Data Format - GFF and EDIFACT
There are two formats that the data can be sent in – Generic Flat File (GFF) or EDIFACT.
2.1	Generic Flat File Format (GFF)
This is a flat file of data containing a number of named records with the data in fixed length fields in the record - See Section 6.1 for detailed GFF layout.
A GFF transmission file, which is sent within a single communications session, can contain one or more GFF interchanges.
All interchanges within the transmission file must be of the same type, i.e. all CIS300 interchanges; there must not be a mix of interchanges within the one transmission file.
2.1.1.	GFF Interchange
A GFF interchange starts with a 4* header record, which provides the data communication routing information, and ends with the CNT trailer record.
The 4* header also contains the ‘message type’ – in this case the CIS300 message.
Each GFF interchange must be uniquely identified by an Interchange Control Reference (ICR). The ICR is contained within the 4* header.
2.1.2.	GFF Submissions
A transmission file from a GFF Trading Partner may contain one or more GFF interchanges, i.e. 4* batches of records.
An Agent may submit one transmission file containing several interchanges - one interchange per Contractor Accounts Office Reference/Scheme.
2.1.3.	Validation / Rejection
Each GFF interchange is separately validated. If an interchange is rejected, only that rejected interchange will be discarded; subsequent interchanges will be processed, and if validated successfully, forwarded to the HM Revenue & Customs system. The Trading Partner will be informed of the interchange rejection and expected to resubmit only the corrected interchange.

2.2	EDIFACT Format
EDIFACT is an EDI standard which is a file containing a number of named records with the data in delimited fields in the record – See Section 4.2 for detailed EDIFACT layout.
A transmission file, which is sent within a single communications session, can contain one or more interchanges.
All interchanges within the transmission file must be of the same type, i.e. all CIS300 interchanges; there must not be a mix of interchanges within the one transmission file.
2.2.1.	EDIFACT Interchange
An EDIFACT interchange starts with a UNB Interchange Header, which provides the data communication routing information, and ends with a UNZ trailer.
Each EDIFACT interchange must be uniquely identified by an Interchange Control Reference (ICR). The ICR is contained within the UNB Interchange Header.
An EDIFACT interchange can contain one or more EDIFACT messages.
All EDIFACT messages within an interchange must be of the same type, i.e. all CIS300 messages; there must not be a mix of messages within the one interchange.
2.2.2.	EDIFACT Message
An EDIFACT message starts with a UNH header and ends with a UNT trailer.
The UNH header also contains the ‘message type’ – in this case the CIS300 message.
2.2.3.	EDIFACT Submissions
A transmission file from an EDIFACT Trading Partner may contain one or more interchanges (UNB-UNZ) and each interchange may contain one or more messages.
A Contractor / Agent has a choice of how data can be submitted for multiple Contractor Accounts Office References:
1.	One transmission file containing only one interchange (UNB-UNZ), and have multiple messages (UNH-UNT) within that single interchange - one message per Contractor Accounts Office Reference.
2.	One transmission file containing several interchanges (UNB-UNZ) - one interchange per Contractor Accounts Office Reference.
3.	One transmission file per Contractor Accounts Office Reference.
See examples on the next page.

Example 1.
Transmission File1:
UNB
UNH - UNT for Contractor 1
UNH - UNT for Contractor 2
UNH - UNT for Contractor 3
UNZ
Example 2.
Transmission File 1:
UNB, UNH - UNT, UNZ for Contractor 1
UNB, UNH - UNT, UNZ for Contractor 2
UNB, UNH - UNT, UNZ for Contractor 3
Example 3.
Transmission File 1: UNB, UNH - UNT, UNZ for Contractor 1
Transmission File 2: UNB, UNH - UNT, UNZ for Contractor 2
Transmission File 3: UNB, UNH - UNT, UNZ for Contractor 3
2.2.4.	Validation / Rejection
Each EDIFACT message (UNH – UNT) is separately validated. If a message is rejected, only that rejected message will be discarded; subsequent messages will be processed, and if validated successfully they will be forwarded to the HM Revenue & Customs system. The Trading Partner will be informed of the message rejection and expected to resubmit only the corrected message.
3	The CIS300 Message
The following page shows the CIS300 branching diagram which, on the whole, applies to both the GFF interchange and the EDIFACT message.
The UNH and UNT segments shown on the branching diagram only apply to the EDIFACT message; they do not apply to the GFF interchange, which starts with a 4* header record and is followed by a BGM1 record.
The diagram shows the sequence the data appears in, whether the data record/segment is mandatory or conditional and the maximum number of repetitions of the record/segment.
The diagram is presented in three sections, the Header section which appears once, the Detail section which is a repeatable group with up to 9,999 occurrences and the Summary section which appears once. 
	A segment is shown as a box with the segment name. It also shows whether it is mandatory or conditional optional and the number of times it may occur. The BGM, Beginning of Message segment, is Mandatory and can only occur  once in the message.	
	A segment group is shown enclosed in its group box, with the mandatory or conditional status of the group and the number of times it may occur is given in the bottom right hand corner.
In this example, Group 1 is mandatory, it must occur once and can occur up to 99 times. The sequence of the data within the group is that it must start with a NAD (Name and Address segment) and can be followed by up to 99 ATT (Attribute segments).	

For example, the normal structure of the start of the CIS300 message is a BGM segment followed by a NAD segment qualified with code FC (Contractor) followed by the attributes of the Contractor in ATT segments.
GFF						EDIFACT
BGM1  22                              BGM+22:5:IR'
NAD1A FC                              NAD+FC'
ATT1  102 1111111111                  ATT+ZZZ++102:2:IR:1111111111'
ATT1  103 123PA12345678               ATT+ZZZ++103:2:IR:123PA12345678'
ATT1  7   AZ12345                     ATT+ZZZ++7:2:IR:AZ12345'

UNS

M

1

CNT

M

1

UNT

M

1

QTY

C

99

Summary Section
Summary of detail data is given here e.g. Number of Subcontractor LIN details.

UNH

M

1

BGM

M

1

DTM

M

99

Group 1

NAD

M

1

ATT

C

99

M

99

UNS

M

1

Header Section UNH – UNS
Data relating to the whole of the message is given here e.g. Contractor Name, Contractor UTR, Accounts Office Reference. 

Group 2

9999

C

Detail Section LIN Group 2
Data relating to the individual Subcontractor is given here.

LIN

M

1

Group 3

NAD

M

1

ATT

C

99

Group 4

TAX

M

1

MOA

M

1

4	CIS300 DATA ITEMS
Table 4.1.4 below lists the business fields of the CIS300 that need to be extracted from the Contractor’s CIS System. The table indicates the segments and qualifier used to contain each of the fields and also indicates whether the business field is Mandatory or Optional.
e.g. Table 4.1.4 states that the Accounts Office Reference number is Mandatory and must be contained within the ATT segment with qualifier = 103.
The Record Layouts in Section 6 give further details on the use of an element of data.
4.1	Field Status
4.1.1	Mandatory fields
Mandatory fields are required by the HM Revenue & Customs and must be provided. 
Mandatory fields must appear in the correct format.
If mandatory fields are omitted or provided in an incorrect format the message will be rejected. See Section 6 for further details of Record Layouts and formats of specific fields.
4.1.2	Optional fields
Optional fields may be provided but are not required by the HMRC systems unless they have become mandatory due to the content or presence / absence of other optional fields, e.g.  the Subcontractor Trading Name is mandatory if the Name Type = ‘T’ is provided.
When optional fields are provided, they must appear in the correct format.
If optional fields are provided in an incorrect format the message will be rejected. See Section 5 for further detail of Record Layouts.

4.1.3	Validation Rules 

Table 4.1.3.	

Validation Rule Number	Monthly Return  Field Name
Validation Rules
Alpha = A-Z (upper case) a-z (lower case), Numeric = 0-9
Alphanumeric = any character within the Monthly Return Character set – see Appendix A	Maximum Field Length	Status
	Segment / Record Name	Qualifier
(incorrectly qualified segments will cause the message to be rejected)	
H1	Employer's reference
Must be Alphanumeric - The 1st character must NOT be space	10	Mandatory	ATT/ATT1	7	
H2	HMRC Office number 
Must be Numeric in the range 001 – 999	3	Mandatory	ATT/ATT1	17	
1	Contractor UTR
Check character (first character) must be correct. See appendix B.	10	Mandatory	ATT/ATT1	102	
2	Accounts Office Reference Number
The AORef must be in the format
•	characters 1-3 must be numeric
•	character 4 must be ‘P’
•	character 5 must be alpha
•	characters 6-13 must be alpha or numeric 
note: leading zero’s should be used to pad out fields 1-3 and 6-13 if necessary	13	Mandatory	ATT/ATT1	103	
3	Period End 
Must contain a valid calendar date in the appropriate format, CCYYMMDD.
Must not be earlier than 05/05/2007 for live messages or 05/05/2006 for test messages
•	CCYY must be in the range of 2007 - 2099 for live messages and 2006 - 2099 for test messages 
•	MM must be in the range of 01-12
•	DD must always be 05
Date must not be more than [3] return periods ahead of the current date.
Future dated Contractor returns will be accepted up to [n] months in the future. [n] months is current contractor return period plus the [3] subsequent contractor return periods.  For example, if the current date is CCYY0601 the current period ends on CCYY0605 and therefore contractor returns for period ending CCYY0605, CCYY0705,  CCYY0805 and CCYY0905 will be accepted.
	8	Mandatory	DTM/DTM1	166	
4	Nil Return Indicator
“Can you confirm that no payments have been made to subcontractors in the construction industry in this period?”
If present, must be answered "Y"
If 'nil return' is set to 'Y', no subcontractor payments should be completed.	1	Optional	ATT/ATT1	111	
5	Employment Status Declaration
“Can you confirm that the employment status of each individual included on this return has been considered and payments have not been made under contracts of employment?”
Must be answered  'Y' or 'N'.
Mandatory unless 'Nil Return Indicator' is set to 'Y'	1	Optional	ATT/ATT1	112	
6	Subcontractor Verification Declaration
''Can you confirm that every subcontractor included on this return has either been verified with the HM Revenue & Customs or has been included in a previous CIS return, in this or the previous two tax years?”
Must be answered  'Y' or 'N'.
Mandatory unless 'Nil Return Indicator' is set to 'Y'	1	Optional	ATT/ATT1	113	
7	Information Correct Declaration
"Please sign below to confirm the nil return declaration or the employment and verification status declarations. You may be penalised or prosecuted if you make false statements.
 Can you confirm that the information given on this return is correct and complete to the best of your knowledge and belief"
Must be answered "Y"	1	Mandatory	ATT/ATT1	114	
8	Inactivity Indicator
“Please indicate if you do not anticipate paying subcontractors in the next six months”
If present, must be answered "Y"	1	Optional	ATT/ATT1	115	
9a	Name Type – used to indicate Subcontractor Trading Name or Personal Name
Must = T or P (Trading name or Personal name)	1	Optional	NAD/NAD2A	SC	
9	Subcontractor First Name or Initial
If present first  character must be alpha and not a space, remaining characters may be alpha, apostrophe or hyphen
Mandatory if ‘Name Type’ = ‘P’
Must not contain embedded spaces	35	Optional	NAD/NAD2B	SC	
10	Subcontractor Second Name
If present first character must be alpha and not a space, remaining characters may be alpha, apostrophe or hyphen
Must not be present if ‘Name Type’ = ‘T’
Must not contain embedded spaces	35	Optional	NAD/NAD2B	SC	
11	Subcontractor Surname
Mandatory if ‘Name Type’ = ‘P’
First character must be alpha not a space, remaining characters may be alpha, numeric, space, ampersand, apostrophe, hyphen, full stop oblique stroke ( slash).	35	Optional	NAD/NAD2B	SC	
12	Subcontractor Trading Name
Mandatory if ‘Name Type’ = ‘T’
First character must not be a space, remaining characters may be alphanumeric
	56	Optional	NAD/NAD2B	SC	
13	Unmatched Tax Rate indicator
Can you please confirm if you are paying the subcontractor at the higher rate of deduction”
If present must be answered “Y”.	1	Optional	ATT/ATT2	116	
14	Subcontractor UTR
Mandatory if ‘unmatched tax rate indicator’ is not completed. 	10	Optional	ATT/ATT2	102	
15	Subcontractor Company Registration Number
Must be in one of the following formats
•	AANNNNNN where
o	Characters 1-2 must be alpha
o	Characters 3-8 must be numeric
o	the numeric field must have at least 1 digit and not more than 6
	or
•	NNNNNNNN where
o	characters 1-8 must be numeric
o	the numeric field must have at least 1 digit and not more than 8	8	Optional	ATT/ATT2	106	
16	NINO (National Insurance Number)
The NINO should be in the formats AANNNNNNA
•	the first character must be alpha excluding D, F, I, Q, U or V
•	the second character must be alpha excluding D, F, I, O, Q, U or V
•	the last character must be A-D or space	9	Optional	ATT/ATT2	11	
17	Subcontractor Verification Number
•	First character must be 'V' followed by 10 numerics
If present acceptable format for last 2 characters is A (i.e. 12 characters) or AA, (i.e. 13 characters)  where A and AA are defined as (A-Z excluding I & O)	13	Optional	ATT/ATT2	110	
18	Subcontractor Works Reference Number
Alphanumeric	20	Optional	ATT/ATT2	107	
19	Total Payments Made
•	This field must be a whole pounds figure expressed in pence, e.g. £45.00 would be expressed as 4500
•	Must be greater than or equal to zero
•	Mandatory if 'nil return indicator' is not completed	10	Optional	TAX/TAX1
MOA/MOA1	201	
20	Direct Cost of Materials
•	This field must be a whole pounds figure expressed in pence, e.g. £45.00 would be expressed as 4500
•	Must be greater than or equal to zero	10	Optional	TAX/TAX1
MOA/MOA1	202	
21	Total Amount Deducted
•	Must be greater than or equal to zero	10	Optional	TAX/TAX1
MOA/MOA1	203	
T1	Vendor ID
Mandatory for Software Developers.
Must not be present in test or live data submissions from Contractors/Bureaux
Must be Numeric	4	Optional	ATT/ATT1	49	
T2	Test ID
Must start with the word “TEST” for test-files.
	12	Optional	ATT/ATT1	51	
T3	Software Developer’s Reference
This should be provided by the Software Developer.	35	Optional	ATT/ATT1	54	
T4	Software Developer’s Name
This should be provided by the Software Developer.	35	Optional	ATT/ATT1	55	
T5	Software Product Name
This should be provided by the Software Developer.	35	Optional	ATT/ATT1	56	
T6	Software Product Version
This should be provided by the Software Developer.	35	Optional	ATT/ATT1	57	
1.1	
4.2	Common problems to avoid during development
4.2.1	Character Set
The character set to be used within the message is given in Appendix A.
Any message containing characters which are outside of this specific character set,
e.g. ` | ‘ will be rejected before reaching the HM Revenue & Customs system. The error will be reported to the sender.
4.2.2	Interchange Control References
Each interchange sent by an Contractor/Agent must contain a unique ICR in its header.
For EDIFACT submissions, the ICR is contained within the UNB segment; for GFF submissions, the ICR is contained within the 4* header.
If any problems occur with the transmission or validation of the data prior to it being processed by the HM Revenue & Customs, the ICR will be used to reference the interchange that has failed.
It is essential that the ICR is unique for each CIS300 interchange sent. It is recommended that the ICR is sequential and increments, i.e. maintain one sequence of  ICRs for the messages within this group.
4.2.3	GFF Record Lengths
The Record Layouts are given in Section 6.1.
A common problem is that the GFF records are the incorrect length, this often occurs when a previously unused optional record is produced. As part of your development please ensure all record lengths, especially optional records, are correct. 
5	Responsibilities of Contractor / AGENT
5.1	Registration
All EDI users, whether Software Providers, Contractors or Agents, must register with HMRC before they can test their data. It is recommended that you register your intent to use EDI as soon as possible after commencing development.
Online Services Helpdesk:  0845 60 55 999 or <mailto:helpdesk@ir-efile.gov.uk>
5.2	Sending CIS300 data
The Contractor/Agent is responsible for ensuring that transmitted data has been received either by the Value Added Network (VAN) or intermediary communication provider.
This is normally achieved by either checking reports issued by the VAN or setting your communication software to request End to End Responses (EERPs) and checking that they are successful.
5.3	Error correction
The Contractor/Agent is responsible for correcting and resubmitting data which has been rejected. 
For EDIFACT submissions, each message is separately validated, i.e. if one message within the interchange is reported as faulty, only that message will be rejected. Subsequent messages will be processed and if validated successfully they will be forwarded to the HM Revenue & Customs system.
For GFF submissions, each interchange is separately validated, i.e. if one interchange is reported as faulty, only that interchange will be rejected. Subsequent interchanges will be processed and if validated successfully, forwarded to the HM Revenue & Customs system.
In both cases, the Interchange Control Reference (ICR) will be quoted to the Contractor/Agent who will then be expected to correct and resubmit the data.

6	Record Layouts
6.1	GFF LAYOUT 
A GFF interchange is made up of a 4* header record followed by several fixed-length records specific to the CIS300. These CIS300 records are made up of fixed-length fields which are delimited by a space character (not shown in table below).
Each CIS300 interchange is made up of a Header section (records BGM1 to UNS1), containing data relating to the whole interchange e.g. Contractor UTR, a Detail section (records LIN1 to UNS2) containing one or more individual Subcontractor details and a Trailer section (record CNT1) containing a control count.
Each record starts with a name, e.g. NAD1A is the Header section Name and Address record, ATT2 is in the Detail section and contains an Attribute of the Subcontractor (the numbers in the record names relate to the occurrence of the record within the interchange, they do not necessarily relate to the section of the interchange).
The fixed length records vary in length, e.g. all NAD1A records are 189 characters long, all ATT1 records are 45 characters long. The records are terminated with either a line feed LF or a carriage return/line feed CR/LF. 
The format of the data is indicated as follows:-
•	a = alpha
•	n = numeric
•	an = alphanumeric

The length is indicated by the number following the format type:-
•	a4 = alpha field 4 characters in length
•	n4 = numeric field 4 characters in length
•	an4 = alphanumeric field 4 characters in length

The data format within the record contents is shown with .. between the format type and length. This means the data length is up to the length stated.
•	an..10 = alphanumeric field of up to 10 characters
•	n..11 = numeric field with a maximum value of up to 11 numeric

Alpha and alphanumeric data is left justified and padded with trailing spaces. Numeric data is right justified and padded with leading zeroes.
The records and their contents used in the CIS300 interchange are shown in the following table.
GFF field contents with fixed values are shown in bold below. Fields with variable contents are shown in Normal font.

Table 6.1	

Record Name	Record Description	From	To	Format	Record Contents	Notes and
Validation Rules – see Table 4.1.4	
4 * Header	Header Identifier	1
	4	an4	Must contain	****		
	Header Version	5	8	an4	Must contain	“001A”		
	Data Type	9	16	an8	Must contain	“CIS300  ”		
	Data Type Version	17	20	an4	Must contain	“1.0 ” 		
	Data Type Release	21	21	a1	Must contain	space		
	Sender Identification	22	56	an35	Must contain	SENDER ID		
	Recipient Identification 	57	91	an35	Must contain	RECEIVER ID 		
	Test Indicator	92	92	n1	Must contain	space for a Live interchange "1" for a Test interchange		
	Urgent Marker	93	93	a1	Must contain	Space		
	Transmission date	94	101	n8	Must contain	Format must be CCYYMMDD		
	Transmission time	102	107	n6	Must contain	Format must be HHMMSS		
	Unique Reference (ICR)	108	121	an14	Must contain	An incrementing count for each new 4* header	See Processing Checklist 4.2.2	
	Sender Sub-Address	122	135	a14	Must contain	spaces		
	Recipient Sub-Address	136	149	a14	Must contain	spaces		
GFF example: ****001ACIS300  1.0  SENDER ID                          RECEIVER ID                          2006050509352800000000000001     For Live transmissions	
GFF example: ****001ACIS300  1.0  SENDER ID                          RECEIVER ID                        1 2006050509354800000000000001     For Test transmissions 	
								
BGM1	Beginning of Message 	1	5	an5	Must contain	BGM1 		
	Form type	7	9	an3	Must contain	22	22 = code for CIS300	
GFF example: BGM1  22 			
								
					If used		This record is Optional.
It should only be provided by Software Developers	
NAD1A	Name and Address 	1	5	an5	Must contain	NAD1A		
	Party qualifier	7	9	an3	Must contain	SD 	SD = code for Software Developer	
	Address Line 1	11	189	an179	Must contain	spaces		
GFF example: NAD1A SD                                                                                                                                                                                     

				If used		This record is Optional.
It should only be provided by Software Developers	
Attribute of  Software Developer	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	49	49 = code for Vendor ID	
Attribute 	11	45	an35	Must contain	Vendor ID - format n..4	See Validation Rule T1	
GFF example: ATT1  49  0001                              	
							
Name and Address 	1	5	an5	Must contain	NAD1A		
Party qualifier	7	9	an3	Must contain	FC 	FC = code for Contractor	
Address Line 1	11	189	an35	Must contain	Spaces		
							
GFF example: NAD1A FC                                                                                                                                                                                     	
				If used			
NAD1B	Name and Address 	1	5		Must contain	NAD1B		
	Party Name 	7	41	an35	Must contain	Contractor Name – format an..35 		
	Postcode	43	51	an9	Must contain	Spaces 		
GFF example: NAD1B BIGBUILD                                          	
							
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	7	7 = code for Employer’s reference	
Attribute 	11	45	an35	Must contain	Employer’s reference – format an..10	See Validation Rule H1	
GFF example: ATT1  7   AZ12345                            	
							
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	102	102 = code for UTR	
Attribute 	11	45	an35	Must contain	Contractor UTR – format n10	See Validation Rule 1	
GFF example: ATT1  102 1123456789                         	
							
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	103	103 = code for Accounts Office Reference	
Attribute 	11	45	an35	Must contain	Contractor Accounts Office Reference – format an13	Character 4 must be ‘P’
See Validation Rule 2	
GFF example: ATT1  103 123PA45678901                      	
				If used			
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	111	111 = code for Nil Return Indicator	
Attribute 	11	45	an35	Must contain	Y	See Validation Rule 4	
GFF example: ATT1  111 Y                                  	
				If used			
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	112	112 = code for Employment Status Declaration	
Attribute 	11	45	an35	Must contain	Y or N	See Validation Rule 5	
GFF example: ATT1  112 Y                                  	
				If used			
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	113	113 = code for Subcontractor Verification Declaration	
Attribute 	11	45	an35	Must contain	Y or N	See Validation Rule 6	
GFF example: ATT1  113 Y                                  	
							
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	114	114 = code for Information Correct Declaration	
Attribute 	11	45	an35	Must contain	Y	See Validation Rule 7	
GFF example: ATT1  114 Y                                  	
				If used			
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	115	115 = code for Inactivity Indicator	
Attribute 	11	45	an35	Must contain	Y	See Validation Rule 8	
GFF example: ATT1  115 Y                                  
	
				If used		Must  be present in test  files and must start with “TEST”	
Attribute of  Contractor	1	5	an5	Must contain	ATT1		
Attribute qualifier	7	9	an3	Must contain	51	51 = code for Test Id	
Attribute 	11	45	an35	Must contain	Test Id – format an..12	See Validation Rule T2	
GFF example: ATT1  51  TEST00000001                       
	
					If used		This record is Optional.
It should be provided by Software Developers	
ATT1	Attribute of  Contractor	1	5	an5	Must contain	ATT1		
	Attribute qualifier	7	9	an3	Must contain	54	54 = code for Developer’s Reference	
	Attribute 	11	45	an35	Must contain	Software Developer’s Reference - format an..35	See Validation Rule T3	
GFF example: ATT1  54  0001                               	
					If used		This record is Optional.
It should be provided by Software Developers	
ATT1	Attribute of  Contractor	1	5	an5	Must contain	ATT1		
	Attribute qualifier	7	9	an3	Must contain	55	55 = code for Developer’s Name	
	Attribute 	11	45	an35	Must contain	Software Developer’s Name - format an..35	See Validation Rule T4	
GFF example: ATT1  55  SOFTWARE DEVELOPERS LIMITED        	
					If used		This record is Optional.
It should be provided by Software Developers	
								
ATT1	Attribute of  Contractor	1	5	an5	Must contain	ATT1		
	Attribute qualifier	7	9	an3	Must contain	56	56 = code for Software Product Name	
	Attribute 	11	45	an35	Must contain	Software Product Name - format an..35	See Validation Rule T5	
GFF example: ATT1  56  SOFTWARE PRODUCT NAME              	
					If used		This record is Optional.
It should be provided by Software Developers	
ATT1	Attribute of  Contractor	1	5	an5	Must contain	ATT1		
	Attribute qualifier	7	9	an3	Must contain	57	57 = code for Software Product Version	
	Attribute 	11	45	an35	Must contain	Software Product Version - format an..35	See Validation Rule T6	
GFF example: ATT1  57  6.1                                	
								
NAD1A	Name and Address	1	5	an5	Must contain	NAD1A	Required to qualify following ATT record	
	Party qualifier	7	9	an3	Must contain	TC	TC = code for HMRC Office 	
	Spaces	11	189	an179	Must contain	Spaces		
GFF example: NAD1A TC                                                                                                                                                                                     	
ATT1	Attribute of  Tax Office	1	5	an5	Must contain	ATT1	17 = code for HMRC Office Number	
	Attribute qualifier	7	9	an3	Must contain	17		
	Attribute 	11	45	an35	Must contain	HMRC Office Number – format n3	See Validation Rule H2	
GFF example: ATT1  17  123                                	
								
DTM1	Date and Time	1	5	an5	Must contain	DTM1  		
	Date qualifier	7	9	an3	Must contain	166	166 = code for Period End	
	Date 	11	45	an35	Must contain	Period End - format CCYYMMDD	See Validation Rule 3	
	Date format qualifier	47	49	an3	Must contain	102	102 = code for format CCYYMMDD	
GFF example: DTM1  166 20060505                            102	
								
DTM1	Date and Time	1	5	an5	Must contain	DTM1  		
	Date qualifier	7	9	an3	Must contain	243	243 = code for Date of Message	
	Date 	11	45	an35	Must contain	Date of message - format CCYYMMDD		
	Date format qualifier	47	49	an3	Must contain	102	102 = code for format CCYYMMDD	
GFF example: DTM1  243 20060505                            102	
								
UNS1	Section Identifier 	1	5	an5	Must contain	UNS1  		
GFF example: UNS1	
								
LIN1	Line Item	1	5	an5	Must contain	LIN1	LIN1 through TAX1/MOA1 records should not be provided if the Nil Return Indicator equals ‘Y’	
	Subcontractor number within message	7	12	n6	Must contain	Subcontractor record within this message – format n6		
GFF example: LIN1  000001	
								
NAD2A	Name and Address (1st  record)	1	5	an5	Must contain	NAD2A		
	Party qualifier	7	8	a2	Must contain	SC	SC = code for Subcontractor	
	Name Type indicator	9	9	a1	Must contain	Name Type indicator – format a1	See Validation Rule 9a	
	Address Line 1	11	45	an35	Must contain	Address Line 1 - format an..35 or spaces		
	Address Line 2	47	81	an35	Must contain	Address Line 2 - format an..35 or spaces		
	Address Line 3	83	117	an35	Must contain	Address Line 3 - format an..35 or spaces		
	Address Line 4	119	153	an35	Must contain	Address Line 4 - format an..35 or spaces		
	Address Line 5	155	189	an35	Must contain	Country - format an..35 or spaces		
GFF example: NAD2A SCT                                                                                                                                                                                     	
								
NAD2B	Name and Address (2nd record)	1	5	an5	Must contain	NAD2B		
	Trading Name (Part 1) or Surname	7	41	an35	Must contain	Trading Name (Part 1) – format an..35 or Subcontractor Surname – format an..35	See Validation Rules 11 or 12	
	Trading Name (Part 2)1st Forename	43	77	an35	Must contain	Trading Name (Part 2) – format an..21 or Subcontractor 1st Forename or initial  – format an..35 or spaces	See Validation Rules 9 or 12	
	2nd Forename	79	113	an35	Must contain	Subcontractor 2nd Forename or initial or spaces – format an..35	See Validation Rule 10	
	Title	115	149	an35	Must contain	Spaces		
	Honours	151	185	an35	Must contain	Spaces 		
	Postcode	187	195	an9	Must contain	Postcode – format an..8 or spaces		
GFF example: NAD2B ABRACADABRA TRADING AND CONSTRUCTIO N LIMITED                                                                                                                                                	
					If used			
ATT2	Attribute of Subcontractor	1	5	an5	Must contain	ATT2		
	Attribute qualifier	7	9	an3	Must contain	116	116 = code for Unmatched tax Rate Indicator 	
	Attribute 	11	45	an35	Must contain	Y	See Validation Rule 13	
GFF example: ATT2  116 Y                                  	
					If used			
ATT2	Attribute of Subcontractor	1	5	an5	Must contain	ATT2		
	Attribute qualifier	7	9	an3	Must contain	102	102 = code for UTR 	
	Attribute 	11	45	an35	Must contain	Subcontractor UTR  – format n10	See Validation Rule 14	
GFF example: ATT2  102 1111111111                         	
					If used			
ATT2	Attribute of Subcontractor	1	5	an5	Must contain	ATT2		
	Attribute qualifier	7	9	an3	Must contain	106	106 = code for CRN	
	Attribute 	11	45	an35	Must contain	Subcontractor CRN  – format aannnnnn or n..8	See Validation Rule 15	
GFF example: ATT2  106 12345678                           	
					If used			
ATT2	Attribute of Subcontractor	1	5	an5	Must contain	ATT2		
	Attribute qualifier	7	9	an3	Must contain	11	11 = code for NINO	
	Attribute 	11	45	an35	Must contain	Subcontractor’s National Insurance Number (NINO) -format aannnnnna 	See Validation Rule 16	
GFF example: ATT2  11  AB123456C                          
	
				If used			
Attribute of  Subcontractor	1	5	an5	Must contain	ATT2		
Attribute qualifier	7	9	an3	Must contain	110	110 = code for Subcontractor Verification Number	
Attribute 	11	45	an35	Must contain	Subcontractor Verification Number – format an..13	See Validation Rule 17	
GFF example: ATT2  110 V1234567890                        
	
				If used			
Attribute of  Subcontractor	1	5	an5	Must contain	ATT2		
Attribute qualifier	7	9	an3	Must contain	107	107 = code for Subcontractor Works Reference Number	
Attribute 	11	45	an35	Must contain	Subcontractor Works Reference Number – format an..20	See Validation Rule 18	
GFF example: ATT2  107 VX1234                        
	
				If used			
TAX1	Tax Details 	1	5		Must contain	TAX1	Required to qualify following MOA record	
	Tax qualifier	7	9	an3	Must contain	201	201= code for Total Payments made	
GFF example: TAX1  201
	
					If used			
MOA1	Monetary Amount 	1	5		Must contain	MOA1		
	Monetary Amount 	7	41	n35	Must contain	Total Payments made – format n..10, specified in pence	See Validation Rule 19	
	Currency	43	45	an3	Must contain	GBP or spaces		
GFF example: MOA1  00000000000000000000000000000545000    
	
				If used			
TAX1	Tax Details 	1	5		Must contain	TAX1	Required to qualify following MOA record	
	Tax qualifier	7	9	an3	Must contain	202	202 = code for Direct Cost of Materials	
GFF example: TAX1  202
	
					If used			
MOA1	Monetary Amount 	1	5		Must contain	MOA1		
	Monetary Amount 	7	41	n35	Must contain	Direct Cost of Materials – format n..10, specified in pence	See Validation Rule 1920	
	Currency	43	45	an3	Must contain	GBP or spaces		
GFF example: MOA1  00000000000000000000000000000058500    
	
				If used			
TAX1	Tax Details 	1	5		Must contain	TAX1	Required to qualify following MOA record	
	Tax qualifier	7	9	an3	Must contain	203	203= code for Total Amount Deducted	
GFF example: TAX1  203
	
					If used			
MOA1	Monetary Amount 	1	5		Must contain	MOA1		
	Monetary Amount 	7	41	n35	Must contain	Total Amount Deducted - format n..10, specified in pence	See Validation Rule 21	
	Currency	43	45	an3	Must contain	GBP or spaces		
GFF example: MOA1  00000000000000000000000000000087570    
	
Further Subcontractor details (LIN1through TAX1/MOA1 records) may be included here	
								
UNS2	Section Identifier 	1	5	an5	Must contain	UNS2  		
GFF example: UNS2
	
					If used			
QTY1	QUANTITY DETAILS	1	5	an5	Must contain	QTY1	This record is only required if you want to provide an application control check against the CNT1 count below.	
	Quantity qualifier	7	9	an3	Must contain	K	K = code for Grand Total number of Subcontractor entries	
	Quantity	11	25	n15	Must contain	Grand Total number of Subcontractor entries – format n..15		
GFF example: QTY1  K   000000000000001	
								
CNT1	Control 	1	5	an5	Must contain	CNT1		
	Total number of details	7	24	n18	Must contain	Number of LIN1 records (same as Number of Subcontractors) – format n..18		
GFF example: CNT1  000000000000000001	

6.1.1	
GFF CIS300 Examples 
The following examples can be copied, pasted and saved as a text (.txt) file. If you use these files for initial testing please ensure the GFF record is correctly padded to the appropriate length for the record.
Example of a CIS300 for a single contractor with a  matched tax rate.

****001ACIS300  1.0  SENDER ID                          RECEIVER ID                        1 2006050509354800000000000001                           
BGM1  22 
NAD1A FC                                                                                                                                                                                     
NAD1B BIGBUILD                                          
ATT1  7   AZ12345                            
ATT1  102 1123456789                         
ATT1  103 123PA45678901                     
ATT1  112 Y                                  
ATT1  113 Y                                  
ATT1  114 Y                                  
ATT1  51  TEST00000001                       
NAD1A TC                                                                                                                                                                                     
ATT1  17  123                                
DTM1  166 20060505                            102
DTM1  243 20060505                            102
UNS1 
LIN1  000001
NAD2A SCT                                                                                                                                                                                     
NAD2B ABRACADABRA TRADING AND CONSTRUCTIO N LIMITED                                                                                                                                                
ATT2  102 1111111111                         
ATT2  110 V9876543210                        
ATT2  107 VX1234 
TAX1  201
MOA1  00000000000000000000000000000545000    
TAX1  202
MOA1  00000000000000000000000000000058500    
TAX1  203
MOA1  00000000000000000000000000000087570    
UNS2 
QTY1  K   000000000000001
CNT1  000000000000000001

6.2	EDIFACT LAYOUT 
An EDIFACT message is made up of segments of data.
The segments used in the CIS300 message are shown below. These CIS300 records are made up of variable-length fields which are delimited by a special character, see below for details.
Each segment is made up of Composite elements and Stand-alone elements. Generally, Composite element names begin with a "C" for Composite, e.g. C002 in the BGM segment below. Composite elements within Service segments (UNB, UNH, UNT, UNZ) are different - their names begin with an "S" for Service, e.g.  S001 in the UNB segment below.
Composite elements are made up of several Simple elements, each of which has its own identifying number, e.g. 1001 in the C002 Composite element in the BGM segment below.
Stand-alone elements are just like Simple elements, except that they are not part of a Composite element, e.g. 3035 in the NAD segment below.
Composite and Stand-alone elements are shown in BOLD below.
Simple elements are shown in Normal font.
EDIFACT element contents with fixed values are shown in BOLD below.
Contents with variable values are shown in Normal font.
The information above is important because it defines how the EDIFACT data is constructed.
EDIFACT uses special characters (+ : ? and ’) to identify the position of data in a segment and consequently the meaning of the data.
•	’ is the segment terminator
•	+ is the segment tag and Composite/Stand-alone element separator
•	: is the Simple element separator
•	? is the release character. 

The release character ? immediately preceding one of the characters ’ + : ? restores their normal meaning, e.g. O?’CONNOR means O’CONNOR. 
The use of the other special characters is explained further below. 
Each segment starts with a segment tag or name, e.g. ATT is the segment tag for the Attribute segment.
A plus sign + always follows the segment name. Therefore, ATT+ means this is an Attribute segment.
The Attribute segment carries data which is an attribute of the Contractor or Subcontractor as named in the preceding NAD segment.
The layout below shows that the Contractor has a single attribute – UTR, but the Subcontractor has many attributes.
The first element of data follows the first plus sign +.
The ATT segment layout below shows that the first element is a Stand-alone element, (it does not start with an S or C), numbered 9017. The data carried in 9017 is the attribute function qualifier which in the CIS300 message is ZZZ.
ATT+ZZZ means this is an Attribute segment with an element Attribute Function Qualifier of ZZZ. 
The plus sign + also marks the end of a Composite or Stand-alone element (except at the end of a segment – see later), giving ATT+ZZZ+
The next element in the ATT segment is a Composite element - C955 Attribute Type. This element is not used in the CIS300 message, so to signify this the plus sign is used to show the start of the next element giving ATT+ZZZ++  
The next element in the ATT segment is a Composite element - C956 Attribute Details. This element is a Composite element containing 4 Simple elements - 9019 Attribute coded, 1131 Code list qualifier, 3055 Code list agency and 9018 Attribute. Data is present in each of these 4 Simple elements.
A colon : is used to separate each Simple element within a Composite element, e.g. ATT+ZZZ++??:2:RC:1234567890
As there are no more elements in this segment the + is not used to show the end of this element.
Instead the apostrophe or segment terminator ' is used to signify the end of the segment, thus giving the complete segment as ATT+ZZZ++??:2:RC:1234567890'
The data content sent in each segment and an example of how the EDIFACT segment will look is given in the Table 6.2.
The format of the data is indicated as follows:-
•	a = alpha
•	n = numeric
•	an = alphanumeric

The length is indicated by the number following the format type:-
•	a4 = alpha field 4 characters in length
•	n4 = numeric field 4 characters in length
•	an4 = alphanumeric field 4 characters in length

The data format within the record contents may be shown with .. between the format type and length. This means the data length is up to the length stated.
•	an..10 = alphanumeric field of up to 10 characters
•	n..11 = numeric field with a maximum value of up to 11 numeric

Table 6.2	

Segment Name	EDIFACT Element Name	Segment Content	EDIFACT Element Contents	Notes and
Validation Rules – see Table 4.1.4	
UNB – Interchange Header						
	S001	SYNTAX IDENTIFIER				
	0001	Syntax identifier	Must contain	UNOA		
	0002	Syntax version number	Must contain	1		
	S002	INTERCHANGE SENDER				
	0004	Sender identification	Must contain	SENDER ID		
	S003	INTERCHANGE RECIPIENT				
	0010	Recipient identification	Must contain	RECEIVER ID  		
	S004	DATE/TIME OF PREPARATION				
	0017	Date	Must contain	Current date - format YYMMDD		
	0019	Time	Must contain	Current time - format HHMM		
	0020	INTERCHANGE CONTROL REFERENCE	Must contain	An incrementing count for each new UNB	See section 4.2.2	
	S005	RECIPIENT REF, PASSWORD	If used			
	0022	Recipient’s reference/password	Must contain	SENDER PASSWORD	As required by communication provider	
	0026	APPLICATION REFERENCE	Must contain	CIS300		
	0029	PROCESSING PRIORITY CODE	Not Used			
	0031	ACKNOWLEDGEMENT REQUEST	Not Used			
	0032	COMMS AGREEMENT ID	Not Used			
	0035	TEST INDICATOR	May contain	Must not be present for Live interchanges or Must contain ‘1’ for Test interchanges		
EDIFACT example: UNB+UNOA:1+SENDER ID+RECEIVER ID+060505:0730+2++CIS300' For Live transmissions
	
EDIFACT example: UNB+UNOA:1+SENDER ID+RECEIVER ID+060505:0730+2++CIS300++++1' For Test transmissions

UNH - Message Header						
	0062	MESSAGE REFERENCE NUMBER	Must contain	An incrementing count for each new UNH – format an..14		
	S009	MESSAGE IDENTIFICATION				
	0065	Message Type	Must contain	CIS300		
	0052	Message version number	Must contain	1		
	0054	Message release number	Must contain	0		
	0051	Controlling agency	Must contain	IR		
EDIFACT example: UNH+200001+CIS300:1:0:IR'	
						
BGM – Beginning of Message						
	C002	DOCUMENT/MESSAGE NAME				
	1001	Document name, coded	Must contain	22	22 = code for CIS300	
	1131	Code list qualifier	Must contain	5		
	3055	Code list agency	Must contain	IR		
EDIFACT example: BGM+22:5:IR'	
						
NAD – Name and Address			If used		This record is Optional.
It should only be provided by Software Developers	
	3035	PARTY QUALIFIER	Must contain	SD	SD = code for Software Developer	
	C082	PARTY IDENTIFICATION DETAILS	Not used			
	C058	NAME AND ADDRESS	Not used			
	C080	PARTY NAME	Not used			
	C059	STREET	Not used			
	3164	CITY NAME	Not used			
	3229	COUNTRY SUB-ENTITY IDENTIFICATION	Not used			
	3251	POSTCODE IDENTIFICATION	Not used			
EDIFACT example: NAD+SD'	
						
ATT – Attribute of Software Developer			If used		This record is Optional.
It should only be provided by Software Developers	
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	49	49 = code for Vendor ID	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must Contain	Vendor ID - format n..4	See Validation Rule T1	
EDIFACT example: ATT+ZZZ++49:2:IR:0001'	

Segment Name	EDIFACT Element Name	Segment Content	EDIFACT Element Contents	Notes and
Validation Rules – see Table 4.1.4	
NAD – Contractor Details						
	3035	PARTY QUALIFIER	Must contain	FC	FC = code for Contractor	
	C082	PARTY IDENTIFICATION DETAILS	Not used			
	C058	NAME AND ADDRESS	Not used			
	C080	PARTY NAME	If used			
	3036	Party name	May contain	Contractor name – format an..35		
	C059	STREET	Not used			
	3164	CITY NAME	Not used			
	3229	COUNTRY SUB-ENTITY IDENTIFICATION	Not used			
	3251	POSTCODE IDENTIFICATION	Not used			
EDIFACT example: NAD+FC+++BIGBUILD'

ATT – Attribute of Contractor						
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	7	7 = code for Employer’s reference	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Employer’s reference - format an..10	See Validation Rule H1	
EDIFACT example: ATT+ZZZ++7:2:IR:AZ12345'

ATT – Attribute of Contractor						
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	102	102 = code for UTR	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Contractor UTR - format n10	See Validation Rule 1	
EDIFACT example: ATT+ZZZ++102:2:IR:1123456789'	
						
ATT – Attribute of  Contractor						
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	103	103 = code for Accounts Office Reference	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Contractor Accounts Office Reference - format an13	Character 4 must be ‘P’
See Validation Rule 2	
EDIFACT example: ATT+ZZZ++103:2:IR:123PA45678901'	
						
ATT – Attribute of Contractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	111	111 = code for Nil Return Indicator	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Y	See Validation Rule 4	
EDIFACT example: ATT+ZZZ++111:2:IR:Y'	
						
ATT – Attribute of Contractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	112	112 = code for Employment Status Declaration	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Y or N	See Validation Rule 5	
EDIFACT example: ATT+ZZZ++112:2:IR:Y'	

Segment Name	EDIFACT Element Name	Segment Content	EDIFACT Element Contents	Notes and
Validation Rules – see Table 4.1.4	
ATT – Attribute of Contractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	113	113 = code for Subcontractor Verification Indicator	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Y or N	See Validation Rule 6	
EDIFACT example: ATT+ZZZ++113:2:IR:Y'	
						
ATT – Attribute of Contractor						
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	114	114 = code for Information Correct Declaration	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Y	See Validation Rule 7	
EDIFACT example: ATT+ZZZ++114:2:IR:Y'	
						
ATT – Attribute of Contractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	115	115 = code for Inactivity Indicator	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Y	See Validation Rule 8	
EDIFACT example: ATT+ZZZ++115:2:IR:Y'	

Segment Name	EDIFACT Element Name	Segment Content	EDIFACT Element Contents	Notes and
Validation Rules – see Table 4.1.4	
ATT – Attribute of  Contractor					Must  be present in test files and must start with “TEST” 	
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	51	51 = Test Id	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Test Id - format an..12	See Validation Rule T2	
EDIFACT example: ATT+ZZZ++51:2:IR:TEST00000001'	
						
ATT – Attribute of Contractor			If used		This record is Optional.
It should be provided by Software Developers	
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	54	54 = code for Software Developer’s Reference	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Not used	Software Developer’s Reference - format an..35	See Validation Rule T3	
EDIFACT example: ATT+ZZZ++54:2:IR:0001'	
						
ATT – Attribute of Contractor			If used		This record is Optional.
It should be provided by Software Developers	
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	55	55 = code for Developer’s Name	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Not used	Software Developer’s Name - format an..35	See Validation Rule T4	
EDIFACT example: ATT+ZZZ++55:2:IR:SOFTWARE DEVELOPERS LIMITED'	

Segment Name	EDIFACT Element Name	Segment Content	EDIFACT Element Contents	Notes and
Validation Rules – see Table 4.1.4	
ATT – Attribute of Contractor			If used		This record is Optional.
It should be provided by Software Developers	
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	56	56 = code for Software Product Name	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Not used	Software Product Name - format an..35 	See Validation Rule T5	
EDIFACT example: ATT+ZZZ++56:2:IR:SOFTWARE PRODUCT NAME'

ATT – Attribute of Contractor			If used		This record is Optional.
It should be provided by Software Developers	
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	57	57 = code for Software Product Version	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Not used	Software Product Version - format an..35	See Validation Rule T6	
EDIFACT example: ATT+ZZZ++57:2:IR:6.1'

NAD – Contractor Details						
	3035	PARTY QUALIFIER	Must contain	TC	TC = code for HMRC Office	
	C082	PARTY IDENTIFICATION DETAILS	Not used			
	C058	NAME AND ADDRESS	Not used			
	C080	PARTY NAME	Not used			
	C059	STREET	Not used			
	3164	CITY NAME	Not used			
	3229	COUNTRY SUB-ENTITY IDENTIFICATION	Not used			
	3251	POSTCODE IDENTIFICATION	Not used			
EDIFACT example: NAD+TC'

ATT – Attribute of Contractor						
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	17	17 = code for HMRC Office Number	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	HMRC Office Number, 001 – 999 – format n3	See Validation Rule H2	
EDIFACT example: ATT+ZZZ++17:2:IR:123'	
						
DTM – Date of Message						
	C507	DATE/TIME/PERIOD				
	2005	Date period qualifier	Must contain	166	166 = code for Period End	
	2380	Date period	Must contain	Period End - format CCYYMMDD	See Validation Rule 3	
	2379	Date period format qualifier	Must contain	102	102 = code for format CCYYMMDD	
EDIFACT example: DTM+166:20060505:102'	
						
DTM – Date of Message						
	C507	DATE/TIME/PERIOD				
	2005	Date period qualifier	Must contain	243	243 = code for Date of Message	
	2380	Date period	Must contain	Date of Message - format CCYYMMDD		
	2379	Date period format qualifier	Must contain	102	102 = code for format CCYYMMDD	
EDIFACT example: DTM+243:20060505:102'	
UNS – Section Identifier						
	0081	Section Identifier	Must contain	D	D = code for Detail	
EDIFACT example: UNS+D'	
LIN – Line Item					LIN1 through TAX1/MOA1 records should not be provided if the Nil Return Indicator equals ‘Y’	
	1082	LINE ITEM NUMBER	Must contain	Subcontractor number within this message - format n..6		
EDIFACT example: LIN+1'	

Segment Name	EDIFACT Element Name	Segment Content	EDIFACT Element Contents	Notes and
Validation Rules – see Table 4.1.4	
NAD – Subcontractor Name						
	3035	PARTY QUALIFIER	Must contain	SC	SC= code for Subcontractor	
	C082	PARTY IDENTIFICATION DETAILS				
	3039	Party id, identification	Must contain	Name type indicator – format a1	See Validation Rule 9a	
	C058	NAME AND ADDRESS	If used			
	3124	Name and address line	Must contain	Address Line 1 – format an..35		
	3124	Name and address line	May contain	Address Line 2 – format an..35		
	3124	Name and address line	May contain	Address Line 3 – format an..35		
	3124	Name and address line	May contain	Address Line 4 – format an..35		
	C080	PARTY NAME	 			
	3036	Party name	Must contain	Trading Name (Part1) – format an..35 or Subcontractor Surname – format an..35	See Validation Rules 11 or 12	
	3036	Party name	May contain	Trading Name (Part2) – format an..21 or Subcontractor 1st Forename or initial  – format an..35	See Validation Rules 10 or 12	
	3036	Party name	May contain	Subcontractor 2nd Forename or initial or spaces – format an..35	See Validation Rule 9	
	C059	STREET	Not used			
	3164	CITY NAME	Not used			
	3229	COUNTRY SUB-ENTITY IDENTIFICATION	If used	Country		
	3251	POSTCODE IDENTIFICATION	If used	Postcode – format an..8		
EDIFACT example: NAD+SC+T++ABRACADABRA TRADING AND CONSTRUCTIO:N LIMITED’	
						
ATT – Attribute of Subcontractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	116	116 = code for Unmatched tax rate Indicator	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Y	See Validation Rule 13	
EDIFACT example: ATT+ZZZ++116:2:IR:Y'	

Segment Name	EDIFACT Element Name	Segment Content	EDIFACT Element Contents	Notes and
Validation Rules – see Table 4.1.4	
ATT – Attribute of Subcontractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	102	102 = code for UTR	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Subcontractor UTR – format n10  	See Validation Rule 14	
EDIFACT example: ATT+ZZZ++102:2:IR:1111111111'	
						
ATT – Attribute of  Subcontractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	106	106 = code for CRN	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Subcontractor CRN – format aannnnnn or n..8	See Validation Rule 15	
EDIFACT example: ATT+ZZZ++106:2:IR:12345678'	
						
ATT – Attribute of Subcontractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	11	11 = code for NINO	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Subcontractor’s National Insurance Number - format aannnnnna 	See Validation Rule 16	
EDIFACT example: ATT+ZZZ++11:2:IR:AB123456C'	

Segment Name	EDIFACT Element Name	Segment Content	EDIFACT Element Contents	Notes and
Validation Rules – see Table 4.1.4	
ATT – Attribute of Subcontractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	110	110 = code for Subcontractor Verification Number	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Subcontractor Verification Number - format an..13	See Validation Rule 17	
EDIFACT example: ATT+ZZZ++110:2:IR:V1234567890'	
						
ATT – Attribute of Subcontractor			If used			
	9017	ATTRIBUTE FUNCTION QUALIFIER	Must contain	ZZZ	ZZZ = code for Mutually defined	
	C955	ATTRIBUTE TYPE	Not used			
	C956	ATTRIBUTE DETAILS				
	9019	Attribute, coded	Must contain	107	107 = code for Subcontractor Works Reference Number	
	1131	Code list qualifier	Must contain	2		
	3055	Code list agency	Must contain	IR		
	9018	Attribute	Must contain	Subcontractor Works Reference Number - format an..20	See Validation Rule 18	
EDIFACT example: ATT+ZZZ++107:2:IR:VX1234'	
						
TAX – Tax Details			If used		Required to qualify following MOA segment	
	5283	TAX DETAILS	Must contain	9		
	C241	DUTY/TAX/FEE TYPE				
	5153	Tax type, coded	Must contain	201 	201 = qualifier for Total Payments made.	
	1131	Code list qualifier	Must contain	10		
	3055	Code list agency	Must contain	IR		
EDIFACT example: TAX+9+201:10:IR'	
						
MOA – Monetary Amount			If used			
	C156	MONETARY AMOUNT				
	5025	Monetary amount qualifier	Must contain	ZZZ	ZZZ = qualifier for Mutually defined	
	5004	Monetary amount	Must contain	Total Payments made - format n..10, specified in pence	See Validation Rule 19	
	6345	Currency, coded 	May contain	GBP ( Pounds Sterling )		
EDIFACT example: MOA+ZZZ:61200'	
						
TAX – Tax Details			If used		Required to qualify following MOA segment	
	5283	TAX DETAILS	Must contain	9		
	C241	DUTY/TAX/FEE TYPE				
	5153	Tax type, coded	Must contain	202 	202 = qualifier for Direct Cost of  Materials.	
	1131	Code list qualifier	Must contain	10		
	3055	Code list agency	Must contain	IR		
EDIFACT example: TAX+9+202:10:IR'	
						
MOA – Monetary Amount			If used			
	C156	MONETARY AMOUNT				
	5025	Monetary amount qualifier	Must contain	ZZZ	ZZZ = qualifier for Mutually defined	
	5004	Monetary amount	Must contain	Direct Cost of Materials - format n..10, specified in pence	See Validation Rule 20	
	6345	Currency, coded 	May contain	GBP ( Pounds Sterling )		
EDIFACT example: MOA+ZZZ:23200'	
						
TAX – Tax Details			If used		Required to qualify following MOA segment	
	5283	TAX DETAILS	Must contain	9		
	C241	DUTY/TAX/FEE TYPE				
	5153	Tax type, coded	Must contain	203 	203 = qualifier for Total Amount Deducted.	
	1131	Code list qualifier	Must contain	10		
	3055	Code list agency	Must contain	IR		
EDIFACT example: TAX+9+203:10:IR'

MOA – Monetary Amount			If used			
	C156	MONETARY AMOUNT				
	5025	Monetary amount qualifier	Must contain	ZZZ	ZZZ = qualifier for Mutually defined	
	5004	Monetary amount	Must contain	Total Amount Deducted - format n..10, specified in pence	See Validation Rule 21	
	6345	Currency, coded 	May contain	GBP ( Pounds Sterling )		
EDIFACT example: MOA+ZZZ:6840'

Further Subcontractor details (LIN through ATT segments) may be included here		
UNS – Section Identifier						
	0081	Section Identifier	Must contain	S	S = code for Summary	
EDIFACT example: UNS+S'

QTY - Quantity			If used			
	C186	QUANTITY DETAILS			This record is only required if you want to provide an application control check against the CNT1 count below.	
	6063	Quantity qualifier	Must contain	K	K = code for Grand Total number of Subcontractor entries                                                           	
	6060	Quantity	Must contain	Grand Total number of Subcontractor entries – format n...5		
EDIFACT example: QTY+K:1'	
CNT - Control						
	C270	CONTROL				
	6069	Control qualifier	Must contain	2		
	6066	Control value	Must contain	Number of LIN segments (same as Number of Subcontractors) –format n..5		
EDIFACT example: CNT+2:1'	
						
UNT – Message Trailer						
	0074	NUMBER OF SEGMENTS	Must contain	message segment count including UNH and UNT segments, format n..10		
	0062	MESSAGE REFERENCE NUMBER	Must contain	same value as in UNH, format an..14		
EDIFACT example: UNT+19+200001'	
Further CIS300 Messages (UNH through UNT segments) may be included here		
UNZ – Interchange Trailer						
	0036	INTERCHANGE CONTROL COUNT	Must contain	count of messages within interchange, i.e. 1, format n..6		
	0020	INTERCHANGE CONTROL REFERENCE	Must contain	same value as 0020 in UNB, format n..14		
EDIFACT example: UNZ+1+2'	
6.2.1	
EDIFACT CIS300 Example
The following examples can be copied, pasted and saved as a text (.txt) file. Please ensure the line feeds at the end of each segment are removed. These have been added for readability; an EDIFACT file would normally be constructed as one long string of data.
Example of a CIS300 for a single contractor with a matched tax rate.

UNB+UNOA:1+SENDER ID+RECEIVER ID+060505:0730+2++CIS300++++1'
UNH+200001+CIS300:1:0:IR'
BGM+22:5:IR'
NAD+FC+++BIGBUILD'
ATT+ZZZ++7:2:IR:AZ12345'
ATT+ZZZ++102:2:IR:1123456789'
ATT+ZZZ++103:2:IR:123PA45678901'
ATT+ZZZ++112:2:IR:Y'
ATT+ZZZ++113:2:IR:Y'
ATT+ZZZ++114:2:IR:Y'
ATT+ZZZ++51:2:IR:TEST00000001'
NAD+TC'
ATT+ZZZ++17:2:IR:123'
DTM+166:20060505:102'
DTM+243:20060505:102'
UNS+D'
LIN+1'
NAD+SC+T++ABRACADABRA TRADING AND CONSTRUCTIO:N LIMITED’
ATT+ZZZ++102:2:IR:1111111111'
ATT+ZZZ++110:IR:V9876543210AA'
ATT+ZZZ++107:2:IR:VX1234'
TAX+9+201:10:IR'
MOA+ZZZ:545000'
TAX+9+202:10:IR'
MOA+ZZZ:58500'
TAX+9+203:10:IR'
MOA+ZZZ:87570'
UNS+S'
QTY+K:1'
CNT+2:1'
UNT+29+200001'
UNZ+1+2'

7	Processing Checklist
7.1	Registration
All EDI users, whether Software Providers, Contractors or Agents, must register with HMRC before they can test their data. It is recommended that you register your intent to use EDI as soon as possible after commencing development.
Online Services Helpdesk: 0845 60 55 999 or <mailto:helpdesk@ir-efile.gov.uk>
7.2	Character Set
The character set to be used within the message is given in Appendix A.
Any message containing characters which are outside of this specific character set,
e.g. # [  ] \ _ will be rejected before reaching the HM Revenue & Customs system. The error will be reported to the sender.
7.3	Interchange Control References
Each interchange submitted to HM Revenue & Customs must contain a unique ICR in its header. For EDIFACT submissions, the ICR is contained within the UNB segment; for GFF submissions, the ICR is contained within the 4* header.
7.4	GFF Record Lengths
All GFF records must be the correct length as defined in Section 6.1.
A common problem is that the GFF records are the incorrect length, this often occurs when a previously unused optional record is produced. As part of your development please ensure all record lengths, especially optional records, are correct.
7.5	Sending CIS300 data
The Contractor/Agent is responsible for ensuring that transmitted data has been received either by the Value Added Network (VAN) or intermediary communication provider.
This is normally achieved by either checking reports issued by the VAN or setting your communication software to request End to End Responses (EERPs) and checking that they are successful.
7.6	
Error correction
The Contractor/Agent is responsible for correcting and resubmitting data which has been rejected. 
For EDIFACT submissions, each message is separately validated, i.e. if one message within the interchange is reported as faulty, only that message will be rejected. Subsequent messages will be processed and if validated successfully they will be forwarded to the HM Revenue & Customs system.
For GFF submissions, each interchange is separately validated, i.e. if one interchange is reported as faulty, only that interchange will be rejected. Subsequent interchanges will be processed and if validated successfully, forwarded to the HM Revenue & Customs system.
In both cases, the Interchange Control Reference (ICR) will be quoted to the Contractor/Agent who will then be expected to correct and resubmit the data.
APPENDIX A – CHARACTER SET
Business data for the GFF or EDIFACT CIS300 message is restricted to the following 95 ASCII characters:

Letters, upper case		A to Z
Letters, lower case		a to z
Numerals		0 to 9
Space character		
Tilde		~
Exclamation mark		!
Quotation mark		"
At sign		@
Hash		#
Dollar		$
Percentage sign		%
Ampersand		&
Apostrophe		'
Opening parentheses	(
Closing parentheses	)
Asterisk		*
Plus sign		+
Comma		,
Hyphen/minus sign	-
Full stop		.
Oblique stroke (slash)	/
Colon		:
Semi-colon		;
Less-than sign		<
Equals sign		=
Greater-than sign		>
Question mark		?
Opening square bracket	[
Backslash		\
Closing square bracket	]
Up caret		^
Underscore		_
Opening curly bracket	{
Closing curly bracket	}
Pound sign		£
Euro		€

Any message containing characters outside this specific character set, e.g. ` | ‘ 
will be classed as an error and will be reported to the sender - see Section 5.3

N.B.
EDIFACT uses the characters + : ? and ' to identify the position of the business data in a segment and consequently the meaning of the data.
The ? is used as a release character immediately preceding one of the characters ' + : ? to restore their normal meaning, e.g. O?'CONNOR means O'CONNOR.