Amending a CIS return: the spec says don't, the schema can't, and HMRC decides by letter
- A CIS monthly return is an XML document from 2005 with no way to say "this replaces the one I sent last week".
- The validation spec software is built against says amendments "must not be sent online" and you "must telephone HMRC". It was re-issued in 2019 with that paragraph still in. HMRC's guide has said since 2024 that the helpline cannot amend returns.
- So software sends a whole second return for the month. HMRC's manual treats that as a "multiple return", writes to the contractor, and if nobody replies in 14 days assumes the new figures are on top of the old ones.
- From April 2026 nil returns are compulsory again, because removing them in 2015 "resulted in erroneous late filing penalties". More returns are going into the same pipe.
So if you’re a contractor in the construction industry, every month you pay your subcontractors, knock 20% off most of them for tax, and send HMRC a list of who you paid and what you deducted. That list is the CIS300 monthly return, due by the 19th. It’s the thing that gets a subcontractor credit for the tax you took off them, so it matters that it’s right.
Sometimes it isn’t. You misread a figure, you miss someone off, you put materials in the wrong box. Every payroll product that files CIS returns has to decide what “amend the return” means on the wire, and I’ve been looking at what HMRC actually says about that. The answer is three documents that say three different things, a schema that can’t say what everyone needs it to say, and a person at HMRC sorting it out with a letter.
I’m a developer, not an accountant, so this is the view from the XML.
What a CIS return actually is#
The Construction Industry Scheme went online in April 2007. A return is
one XML document per contractor per tax month (the 6th to the 5th), sent
through the same GovTalk gateway as RTI. The schema is CISreturn-v1-2.xsd.
Its metadata says it was created on 10 February 2005 and last modified on
27 July 2006. That is the version still in use today, so the file format is
older than the iPhone.
Here is everything the return can say. I’ve left out the header.
CISreturn
Contractor
UTR
AOref
NilReturn (optional, only value: "yes")
Subcontractor (0..many)
Name | TradingName
WorksRef
UnmatchedRate (optional, only value: "yes")
UTR / CRN / NINO
VerificationNumber
TotalPayments (whole pounds, >= 0)
CostOfMaterials (whole pounds, >= 0)
TotalDeducted (pounds and pence, >= 0)
Declarations
EmploymentStatus
Verification
InformationCorrect (mandatory, only value: "yes")
Inactivity (optional, only value: "yes")
That’s it. No “amendment” flag. No “this supersedes return X”. No return reference number you could point back at. Every money field is non-negative, so you can’t send a minus figure to back something out either. A second return for the same month is structurally identical to the first one. HMRC receives two documents with the same contractor and the same period end, and nothing inside either of them says which is meant to win.
The list of error codes HMRC can send back is just as thin. There’s a generic schema error, two IRmark errors, one for a period end before the scheme started, one for a period too far in the future, and a handful for declarations that don’t line up with the nil return flag. There is no error for “we already have a return for this month”. So software can’t detect a duplicate from the response, and I’ll come back to that.
(The error code document is dated 22 September 2005 and says the earliest valid period end is 5 May 2006. The scheme was then delayed a year to April 2007. Nobody updated the error list. Small thing, but it sets the tone.)
What the spec says#
Alongside the schema HMRC publishes the Quality Standard and Business Validation Specification, the document that says what a valid return looks like beyond what the XSD can check. It’s the thing developers build to and get “recognised” against. Version 2.2 is on GOV.UK now. Appendix 3, “Common Mistakes”, has a section called Duplicate Returns which ends:
Amendments/Corrections to a monthly return must not be sent online. Any negative amounts will cause the return to be rejected and must be removed before resubmitting. Contractors must telephone HMRC with full details(s) of the monthly return(s) they need to correct and, if the correction is appropriate, we will record it.
That paragraph dates from the 2007 launch. Fine, in 2007. What surprised me is the document history on page 4:
| Version | Changes | Date |
|---|---|---|
| 1.0 | Baselined version | 10 March 2005 |
| 1.1 | Revised version | 6 June 2005 |
| 2.0 | Quality Standard and BVRs combined | 4 August 2006 |
| 2.1 | Revised version | 13 March 2007 |
| 2.2 | Revised - removal of EDI references | 5 August 2019 |
Someone at HMRC opened this document in August 2019, took out the references to the old EDI channel, saved it as version 2.2 and republished it on GOV.UK on 14 August 2019. The “must not be sent online, must telephone” paragraph went out again unchanged. By then, as we’ll see, HMRC’s own online service had been amending returns for three years.
What HMRC’s other documents say#
HMRC’s own online service got an amend button in 2016. The Debt Management manual (DMBM524310) is where this is written down:
From 6 April 2016, an online amendment service is available through HMRC’s free online filing application which will allow contractors to amend their monthly returns online for any return received on or after 5 February 2016.
And it describes how that works internally, which is the important bit:
On completion of the amendment, CISR will show the return to be the ‘effective’ return and previous returns for that same month will be tagged as ‘superseded’. The date of receipt of the original/first return for that period will not change. No multiple return work items will be created.
So HMRC’s own web form does a real amendment. It knows which return is being replaced, marks the old one superseded, keeps the original filing date, and doesn’t create any work for a human. The same page says software users “will need to follow the guidance on making amendments as provided by their individual software providers. These may differ by product and availability.” Which is HMRC saying: we built ourselves a proper amend, and you’re on your own.
The contractor guide, CIS340, says amend online and don’t phone. The current edition (27 August 2026) says in section 4.10 that contractors using third party software “may be able to make amendments online depending on the implementation of such a feature within the software they are using”, and in 4.11:
Contractors who need to make amendments to their returns but cannot yet do this online because their software supplier has not yet made the facility available should speak to their software supplier. Amendments must be made online to correct their monthly return.
You are unable to use HMRC software to amend a monthly return that was sent using third-party software.
“Must be made online.” The exact opposite of the spec. And the change history on the guide shows the phone route being taken out on purpose: on 8 March 2024 section 4.11 was “updated to clarify that the CIS helpline cannot make any amendments to a contractor’s returns”, and on 9 May 2024 sections 4.7 and 4.9 were updated “to remove information to phone HMRC to correct an error”.
So as of today the software spec says the only way to correct a return is to phone HMRC, and HMRC’s guide says the helpline can’t do it and you must do it online, through a channel with no way to say “amend”.
What actually happens when you send a second return#
Software does the only thing it can. It sends a complete second return for the same month with the right figures in it. Every product I’ve seen documented does this, and HMRC’s own manual has a worked example (CISR66020) where a company finds two mistakes five days after filing and “to save time and as the due date is fast approaching, they resubmit online”.
On HMRC’s side that second document lands as what their manual calls a “multiple return”. The section on it (CISR66630) opens by saying this isn’t really allowed:
Under Regulation 4 SI2005/2045 a contractor is required to make only one monthly return (CIS300) which contains all of the information relating to payments made to subcontractors during that particular filing month. It is not acceptable for a contractor to file several contractor returns which together compile the total of the payments made to subcontractors during that month.
And then goes on to explain how to deal with it anyway, because it happens all the time. The action guide (CISR95660, “Multiple Return for the same period”) lists eight scenarios. The ones that matter:
| Second return is… | HMRC does | Letter |
|---|---|---|
| A nil return was filed first, then a real one | Makes the real one effective, sets penalty inhibitions by hand | MR1 |
| Byte-for-byte identical | Discards the later one, keeps the earliest (so the filing date survives) | none |
| Same figures plus extra subcontractors | Merges, new return becomes effective | MR2 |
| Same subcontractors, different figures | Writes to ask what you meant | MR3 |
| Different figures and extra subcontractors | Writes to ask what you meant | MR3 |
The MR3 case is the normal correction. You paid Dave £3,100 not £3,700, or you’d put his materials in wrong. The manual says:
As it is not clear whether the multiple return supersedes or is in addition to the ‘effective’ return you should; issue a letter MR3 to the contractor to establish whether the figures shown on the ‘multiple’ return are in addition to those previously submitted or whether they reflect details of the total payments received by the subcontractors. This letter will also advise the contractor that if a reply is not received within 14 days it will be assumed that the figures on the ‘multiple’ return are in addition to the earlier figures submitted and steps will be taken to ‘merge’ the two returns.
A human at HMRC can’t tell from two documents whether the second one replaces the first or adds to it, because nothing in the format says. So they write to the contractor. And the default, if the contractor is busy running a building firm and doesn’t answer a letter within 14 days, is in addition. The two returns get merged. Alan Carthy’s £620 deduction becomes £1,240 on HMRC’s record, and the contractor’s liability for the month goes up to match.
Have a go. Pick what was wrong with the first return and what happens to the letter.
A few things from the manual worth knowing if you’re the one on the phone:
- “We can not refuse to accept contractor initiated amendments to returns” (CISR66010). HMRC has to take your correction, whatever the spec says.
- You can correct the current year and the previous six (CISR66010).
- Where an amendment moves more than £500, HMRC staff are told to pass it to compliance (CISR92160). So a correction isn’t free of attention.
- The manual page for staff (CISR92160, last updated 2016) still says “Contractors have been advised that if they wish to make a correction to a previously submitted return they should telephone the CIS Helpline”. Which, per the 2024 guide, can’t do it.
What it does to the subcontractor#
The reason any of this matters is that the return is the subcontractor’s evidence. HMRC’s manual on the annual Self Assessment comparison (CISR90210) defines the figure it checks a subcontractor’s claim against as:
CIS Amount - The calculated total of matched or partially matched payments calculated by CISR from effective contractor returns for the period.
“Effective” is the status a return gets when it wins. Superseded and resolved returns are kept but don’t count. So whatever the MR3 letter decides is, literally, what HMRC thinks the subcontractor has had deducted.
Each year the deductions a sole trader claims on their tax return get compared with that number, and the manual lists the outcomes. If the claim is more than the record by over £300 and by at least half, it’s a fail (code 05). If the record is more than the claim, it’s a pass (code 07). Limited companies claim through the Employer Payment Summary instead, and the PAYE manual (PAYE48250) has the same shape: claim lower than the record, accept it; claim higher, ask for every payment and deduction statement plus “cross-referenced copies of bank statements”, and restrict the claim to “the only amount that you are currently able to confirm”. Since April 2021 HMRC can also just substitute what it calls “the verifiable figure” on a company’s claim and stop the company making any more set-off claims that year (SI 2021/321, regs 24C and 24J).
So the two ways the letter can go land on different people:
- Merged when it should have replaced. The record is too high. The subcontractor’s claim passes, nobody looks, and the contractor is told “the revised payment and deduction figures based on this assumption” and is expected to pay them over. Roughly double, for that month.
- Kept the first when the second was the correction. The record is too low. The subcontractor’s claim fails the comparison and they’re into evidence, delay, and possibly a restricted claim. In one tribunal case (Hanlin, 2011) HMRC cut a subcontractor’s CIS credit from £4,800 to £4,640 to match the contractor’s monthly returns, the subcontractor couldn’t produce statements, and the tribunal let the lower figure stand.
There’s a line in the PAYE guide that sums the whole thing up. When a company’s claim is lower than HMRC’s record, staff are told to accept it with this note: “Analysis of recent cases indicates that most of these cases correct themselves when amended CIS returns are received.” The fix for a mismatch is the amended return. The amended return is the thing the channel can’t express.
The 2026 twist: nil returns are back#
This bit isn’t about amendments directly, but it’s the same pipe and it got busier this April.
When the scheme went online, a contractor who paid nobody in a month still had to file a nil return. In 2014 HMRC consulted on dropping that. The consultation document is pretty honest about why it needed a workaround:
As a result HMRC intends to remove the statutory obligation to report a nil return, removing the potential for a penalty to arise in these circumstances. However when a return is not received by the filing date, HMRC systems will not know whether the reason is because the contractor is simply late filing the return or there is no return due. Therefore HMRC intends to operate a simple nil voluntary notification to enable contractors to notify us if they did not pay subcontractors and this will stop a penalty notice being sent out.
So the obligation went (SI 2015/429, from 6 April 2015), but the return didn’t, because the system couldn’t tell silence from lateness. Contractors were asked to keep sending a “voluntary” nil return to stop the penalty letters. Eleven years later HMRC’s policy paper for reversing it says:
We have found that the removal of the nil filing obligation did not reduce administrative burdens for contractors, or for HMRC, and resulted in erroneous late filing penalties.
The minutes of HMRC’s Construction Forum in December 2025 put a bit more flesh on that: “Many contractors neither file a nil return nor notify HMRC of periods of inactivity and high numbers of penalties are issued each month. This has resulted in significant debt, which may in many cases may not be due.” (Their typo, not mine.)
How high is high? The same minutes publish the numbers.
Around a quarter to a third as many penalties as there are contractors filing real returns, every month, and HMRC’s own view is that a lot of them are for months where nothing was owed. So from 6 April 2026 (SI 2026/289) mainstream contractors must file a nil return again. The return format didn’t change, because as HMRC told developers back in 2014, “the format of the nil return will not be changing”. Same schema, same field, more documents through it.
And that feeds straight back into the multiple return problem. Look at the first row of the table above: a nil return followed by a real return for the same month is scenario one in HMRC’s action guide, and it needs a human to make the real return effective, send letter MR1, and manually inhibit the late filing penalties the system will otherwise raise. More nil returns means more of those.
Things I worked out myself#
Everything above is quoted. This is my reading of it.
Software can’t detect the duplicate, by design. There is no error code for “return already received for this period”, and CISR92090 confirms that every return for the same scheme and period is accepted and given its own “match number” (the first is match 1, the next match 2, and so on). The gateway says 9007, “processed and passed full validation”, to both of them. If someone presses submit twice, the software’s only defence is its own memory. HMRC’s own web form doesn’t have this problem because it edits the stored return in place.
HMRC has admitted replacement semantics in one place. Section 4.3 of the guide warns that using HMRC’s service and commercial software at the same time “may cause returns to be overwritten”. Overwritten. That word doesn’t appear anywhere in the spec, the schema or the manual, but it’s what everyone has been assuming a second return does.
There are two letters with opposite defaults. The older education letter CIS323(G) (CISR64040) says: “We will treat the first return we received as the correct one unless you contact us and tell us otherwise.” The MR3 letter (CISR95660) says if you don’t reply in 14 days the new figures will be treated as in addition and merged. As far as I can tell which one you get depends on which worklist your case lands on. One default keeps your original; the other doubles it.
HMRC’s own worked example has a deduction that doesn’t match its payment. In CISR66020 example 1 the original return shows Alan Carthy paid £3,700 with a deduction of £620, and the corrected return shows £3,100 with a deduction of £620. £620 is 20% of £3,100, so the corrected one is right. The “wrong” original had a deduction of 16.8%. I don’t think HMRC’s system would have flagged that, because the schema doesn’t require TotalDeducted to bear any relation to TotalPayments and CostOfMaterials. They’re three independent non-negative numbers.
This isn’t getting fixed by a new API. I checked the HMRC Developer Hub. The contractor return is still only the “Construction Industry Scheme Online” XML service, the 2005 GovTalk one. There is a newer REST API called CIS Deductions, but that’s for the subcontractor’s side under Making Tax Digital, letting a sole trader’s software “create, retrieve, amend and delete” the deductions they’ve suffered. Notice that one has amend and delete. At the December 2025 Construction Forum a member pointed out that Ireland has had a digital service showing subcontractors their deduction data “for years and that this was promised 10 years ago but still hasn’t happened”. HMRC’s policy team said improving return data is “high on their list”.
My prediction (moderate confidence): the schema stays at v1.2 until the contractor side of CIS moves to a REST API, and there’s no published date for that. Until then, “amend” on the wire means “send it again and answer the letter”. The 2019 re-issue of the spec shows nobody is going through the technical pack looking for things that stopped being true.
Sources#
Primary (HMRC / legislation):
- CIS quality standard and business validation specification v2.2 - Appendix 3 “Common Mistakes” and the document history on page 4. Hosted on Schema and technical specifications for the Construction Industry Scheme, whose change history dates v2.2 to 14 August 2019 and the page’s last update to 20 September 2022.
- CIS monthly return response messages v1.1 - the full error code list, dated 22 September 2005.
CISreturn-v1-2.xsd- the return schema, in the same technical pack. Created 2005-02-10, modified 2006-07-27.- CIS340: a guide for contractors and subcontractors - sections 4.3, 4.5, 4.6 to 4.11 and 4.18, edition of 27 August 2026, and the change history entries for 8 March 2024, 9 May 2024 and 6 April 2026.
- HMRC internal manual, Construction Industry Scheme Reform: CISR66010 (errors on returns: introduction), CISR66020 (worked examples), CISR66630 (unresolved multiple returns), CISR64040 (letter CIS323(G)), CISR92160 (return corrections, the £500 referral), CISR95660 (Multiple Return for the same period, letters MR1 to MR3 and the 14-day rule), CISR92090 (match numbers and the effective / multiple / superseded / resolved statuses), CISR90210 (the SA deduction comparison and its pass/fail codes), CISR72060 (a claim may not be accepted where the statement doesn’t agree with the CIS record).
- HMRC internal manual, PAYE: PAYE48250 - comparing a company’s EPS “CIS deductions suffered” with the CIS record, steps 9 to 13.
- SI 2021/321 - inserted regs 24A to 24L into the CIS Regulations from 6 April 2021: the “verifiable figure” and the power to block further set-off claims.
- Hanlin v HMRC [2011] UKFTT 213 (TC) - paragraph 211, CIS credit cut to match the contractor’s monthly returns.
- HMRC internal manual, Debt Management and Banking: DMBM524310 - the 2016 online amendment service, “superseded” returns, and “No multiple return work items will be created”.
- Improving the operation of the Construction Industry Scheme (consultation, June 2014) - paragraphs 3.18 and 3.19 on nil returns; summary of responses (December 2014) - “the format of the nil return will not be changing”.
- SI 2015/429 - removed the nil return obligation from 6 April 2015. SI 2026/289 - reinstated it from 6 April 2026.
- Simplification and administrative improvements to the Construction Industry Scheme (policy paper, 13 March 2026) - “resulted in erroneous late filing penalties” and the £80,000 system cost.
- HMRC Construction Forum minutes, 10 December 2025 - the rationale for reinstating nil returns, and the appendix figures for active schemes, penalties and receipts, January to March 2025.
- HMRC Developer Hub: Construction Industry Scheme Online (XML API) and CIS Deductions API v3.0.
This describes how the CIS monthly return works as at September 2026, plus my own reading where flagged. Not tax advice. The widget uses HMRC’s published handling rules for multiple returns; the MR3 letter text itself is withheld from the published manual under FOI exemptions, so I’m going on the action guide’s description of it.
Comments