Amending Filings Guide - TinyTax
Developers / Guides / Amending a filing

Amending a filing

Correct accounts Companies House has already accepted, or a CT600 HMRC has already accepted. Covers the amendment block, the statements a revised set of accounts must carry, and the errors worth designing for.

There is no separate endpoint. An amendment is the same submission as an original — same URL, same financials — carrying corrected figures plus an amendment block. Post accounts to /filings/accounts and returns to /filings/ct600, exactly as you would the first time.

When to use this

  • The figures you filed were wrong and the filing has already been accepted.
  • You filed the wrong type of accounts (dormant when the company was trading, for instance).
  • HMRC or Companies House has written to you asking for a corrected filing.

Not this guide: a filing that was rejected never reached them, so there is nothing to amend — fix the request and submit it again as an original. A filing still pending has not been decided yet; wait for the outcome first.

Amending accounts

Companies House calls these revised accounts. They replace the accounts previously filed for the period; the originals stay on the public record marked as superseded.

Send the whole corrected filing — not a diff — plus an amendment block:

curl -X POST https://tinytax.co.uk/api/v1/filings/accounts \
  -H "X-API-Key: $API_KEY" \
  -H "Idempotency-Key: accounts-revised-12345678-2025" \
  -H "Content-Type: application/json" \
  -d '{
    "company_number": "12345678",
    "period_end": "2025-10-31",
    "accounts_type": "micro",
    "credentials": {
      "company_auth_code": "ABC123"
    },
    "financials": {
      "balance_sheet": {
        "fixed_assets": 1561456,
        "current_assets": 0,
        "creditors_within_one_year": 1561294,
        "share_capital": 100,
        "profit_and_loss_account": 62
      }
    },
    "amendment": {
      "non_compliance_reason": "The balance sheet omitted a fixed asset investment and an intercompany creditor.",
      "amendments_summary": "The investment of GBP 1,561,456 and the group creditor of GBP 1,561,294 have been recognised, restating net assets to GBP 162.",
      "original_approval_date": "2026-06-30"
    }
  }'

The two statements are not optional

Companies House requires a revised filing to say why the original did not comply and what has changed. Both are tagged into the delivered iXBRL document, which means both are published on the company's public record at Companies House. Write them for someone reading the accounts, not as an internal ticket note.

  • non_compliance_reason — what was wrong with the accounts previously filed.
  • amendments_summary — what has been changed in this revision.

Both are required, must be strings, and are capped at 2,000 characters. Blank or whitespace-only values are rejected rather than defaulted, precisely because whatever you send is what appears on the register.

Optional fields

  • original_approval_date (YYYY-MM-DD) — when the board approved the original accounts. Revised accounts state that they were prepared as at that date. Defaults to the date the original filing was submitted.
  • amends_filing_id — the fil_… id of the filing being replaced. Recorded for your own traceability.

Amending a CT600

HMRC distinguishes an amendment from an original by the return type it carries. The amendment block is what sets it:

curl -X POST https://tinytax.co.uk/api/v1/filings/ct600 \
  -H "X-API-Key: $API_KEY" \
  -H "Idempotency-Key: ct600-amended-12345678-2025" \
  -H "Content-Type: application/json" \
  -d '{
    "company_number": "12345678",
    "utr": "1234567890",
    "period_end": "2025-10-31",
    "credentials": {
      "government_gateway_id": "123456789012",
      "government_gateway_password": "your-password"
    },
    "financials": {
      "profit_and_loss": {
        "turnover": 120000,
        "cost_of_sales": 45000
      },
      "tax_adjustments": {
        "capital_allowances": 18000
      },
      "balance_sheet": {
        "fixed_assets": 42000,
        "current_assets": 31000,
        "creditors_within_one_year": 12000,
        "share_capital": 100,
        "profit_and_loss_account": 60900
      }
    },
    "amendment": {
      "reason": "Capital allowances of GBP 18,000 were omitted from the original return."
    }
  }'

Here reason is optional and is kept for your own audit trail — it is not transmitted to HMRC. Unlike the accounts statements, nothing you put here is published.

Do not file a correction as a new return. Omitting the amendment block sends it as an original, and HMRC rejects that as a duplicate with error 3001 — "Original return already received for this period".

Accounts and computations are handled for you

An amended return normally tells HMRC that accounts and computations were delivered with the original, and does not resend them. Where the original provably went to HMRC without accounts, fresh accounts are attached instead. You do not need to work out which case applies.

Errors to design for

NO_ORIGINAL_TO_AMEND

Returned when no accepted filing exists for that company and period, so there is nothing to replace. The request is refused before anything is sent. Filings originally made through other software count — if HMRC or Companies House holds a filing for the period, you can amend it.

If you get this and believe a filing does exist, the period end is the usual culprit. See the note below.

HMRC error 3001, on a CT600

The same code covers two opposite situations, and the message text is what separates them:

  • "Original return already received for this period" — you filed a correction as a new return. Add the amendment block.
  • "The accounting period for this amended return does not match the records currently held" — the dates do not line up with the period HMRC holds. See below.
  • "No original Return yet recorded" — HMRC is not holding a return for the period you declared, so there is nothing to amend under those dates.
Period dates matter more than usual on an amendment. HMRC matches an amendment against the accounting period it holds, which is not always the period the original was filed under — the two can diverge after HMRC adjusts a company's periods. If an amendment is rejected for a period mismatch, check the accounting periods shown in the company's HMRC online account and use those dates, rather than resubmitting the original's.

Practical notes

  • Use a fresh Idempotency-Key. An amendment is a new filing; reusing the original's key returns the original filing instead of submitting anything.
  • Send the complete corrected picture. The amendment replaces the previous filing in full — anything you omit is omitted from the filing, not inherited from the original.
  • Amendments are billed as filings, on the same basis as an original.
  • Dry runs. "dry_run": true validates and reports the regime without submitting, and is worth a call before a revision that will land on the public register.
  • Check the result. Poll GET /filings/{filing_id} as with any filing, and fetch the delivered documents from GET /filings/{filing_id}/documents to confirm what was actually sent.

Next steps

  • API Reference — full AccountsAmendment and Ct600Amendment schemas.
  • Trading filings — the financials object in detail.
  • Sandbox — rehearse an amendment without filing anything for real.