#Simple CompanyTax
FeaturesWho we supportPricingFor accountants
Create account / Sign inStart free preview →
← Back to help centre

Can software file CT600 returns and company accounts through an API?

Last updated: 10 November 2026

Short version. The SimpleCompanyTax#Simple CompanyTax Partner Filing API is for approved Practice integrations that prepare and file customers' Corporation Tax returns (CT600) and supported company accounts. Test keys use an isolated sandbox. Live access needs an active Practice plan, agreed partner terms, a data processing agreement and release approval.

On this page
  • 1. API access and prepared figures
  • 2. Long accounting periods
  • 3. Dry runs and filing outcomes
  • 4. Credentials and retries
  • Official sources

1. API access and prepared figures

You supply the company identity, accounts period, prepared figures and applicable treatment choices. The API uses the same shared fields and filing logic as the browser. It does not prepare your bookkeeping or decide whether your figures or classifications are true.

A Practice administrator creates or revokes keys on Partner API keys. Keep the key on your server. A key acts only for its Practice and its test or live environment. Use test keys on the shared partner sandbox host. The production API accepts approved live keys only. Never put a key in browser JavaScript or a public repository.

The developer documentation is organised by task. Start with getting started, use testing for sandbox companies and open errors for codes, messages and the endpoints that return them. Use the generated contract for your integration. A field error names an answer that you can supply or correct.

The endpoint reference shows each call's parameters, response fields, HTTP statuses, error codes and captured request and response examples. A 202 response admits an operation. It is not authority acceptance. A repeat with the same idempotency key returns the current view, which can already contain completed dry-run results.

For customer-prepared accounts, start with POST /uploads/accounts. A live key returns url and headers. PUT the file bytes to that URL with every returned header within ten minutes, then use PUT /uploads/accounts to finalise objectName. Supply the returned accountsFile reference in the filing request. A test key returns SANDBOX_FIXTURE and no upload URL, so go straight to finalisation.

2. Long accounting periods

An accounts period longer than 12 months can require two CT600 returns. The API keeps the accounts dates and the Corporation Tax dates separate, and reports each return's dates and outcome.

In enter-once mode, provide the dated allocation objects whenever a shared check requires them. The customer chooses how those amounts are allocated between the two returns. Dry-run suggestions are not applied to a live filing. In separate-figures mode, supply each return's own figures. Do not send full-period figures as the remaining return's figures.

Box 205 other income and its Other income not taxable adjustment retain the existing day allocation. A one-off receipt in that category can consequently appear in both returns. See long first accounting periods and filing only the remaining CT600.

3. Dry runs and filing outcomes

A dry run does not submit a return or use a live filing slot. An incomplete request returns field errors and any applicable allocation suggestions. It has no filing-ready totals or preview documents. A complete dry run prepares the supported figures and watermarked draft documents for review. If a paid CIC package is ready, download its ZIP from the documents endpoint and upload it to Companies House using the link in the filing outcome.

An accepted API request is not the same as an accepted filing. Poll the filing with GET /filings/{id}. Webhooks are not offered yet. A long period can have one accepted return and one outstanding return. Check every requested HMRC return and Companies House part before treating the filing as complete.

A pending result includes Retry-After: 30 seconds. If polling has run out, checking this filing restarts it at most hourly for each part. If a restart cannot be queued, you can still read the current result and any accepted return's receipt. The outstanding part stays unconfirmed. Check the filing again to retry the restart. Checking status never resends a return. Rejected parts show the authority's code and message, with an explanation for known codes. HMRC error 3304 means an original return was already received for that period. Check your receipts before deciding whether to send again.

Keep the CT600, computation, accounts and final receipts for your records. Each company's supported filing scope and annual plan allowance still apply. See what filing statuses mean.

4. Credentials and retries

A live filing carries the same applicable declaration as a web filing. Supply the declarant's name and applicable approval date. A club also supplies the signatory's status. The API does not infer a declaration from a Companies House director lookup.

Companies House uses the company authentication code. This is different from an individual's Companies House personal code and from Government Gateway details. HMRC filing uses the relevant Government Gateway credentials. Follow your agreed partner terms for handling credentials. Never log them or save them in an integration request archive.

Use one idempotency key for retries of the same request. A replay returns the operation's current state. Corrected credentials require a new request and a new key. Send retry_of with the earlier operation ID to deliberately send unchanged filing data again. Every selected return is sent, including accepted, still-polling and unconfirmed returns. The authority answers that new attempt. Each filing keeps its own result, receipt and rejection reasons. If figures need changing after acceptance, use the applicable amendment route.

If an unstarted submission expires, a known-unsent part reports NOT_SENT_CREDENTIALS_REQUIRED. Use fresh credentials and a new idempotency key. The expiry threshold is one hour. The time it takes to clear a job also depends on the recovery service.

Official sources

  • HMRC: Corporation Tax online validation rules, including error 3304
  • GOV.UK: first company accounts and Company Tax Return
  • Companies House: company authentication codes
Read our reviews on Trustpilot

Ready to file with SimpleCompanyTax?

File with SimpleCompanyTax#Simple CompanyTax from £10 +VAT per company, per year. £10 +VAT for dormant companies. £25 +VAT for eligible micro-entities. Annual subscription. Compare plans and what's included.

Start filing →See pricing
SimpleCompanyTax#Simple CompanyTax

Affordable UK corporation tax filing for micro-entities.

✓ HMRC-compatible✓ IRmark signed✓ FRC taxonomy validated

Product

  • Features
  • CT600 software
  • Who we support
  • Pricing

Guides

  • Help centre
  • FAQ
  • How to file company tax
  • What is a CT600?

Company

  • About
  • Security
  • Support
  • Contact

Legal

  • Terms
  • Privacy
  • Cookies
© 2026 #Simple CompanyTax, a trading name of Infuzest Ltd (registered in England & Wales).
Read our reviews on Trustpilot