LLP filings
Limited Liability Partnerships file accounts only — never CT600. This guide covers the differences from a Ltd company submission.
POST /api/v1/filings/ct600 for an LLP; the request is rejected with LLP_NO_CT600.
Detection
LLPs are auto-detected from the company number prefix. No flag is needed.
| Prefix | Jurisdiction |
|---|---|
OC | England & Wales |
SO | Scotland |
NC | Northern Ireland |
The same prefix list is honoured by Companies House and by EntityTypeHelper::isCompanyTypeLLP() internally.
What's different from a Ltd accounts request
- No
share_capital— replaced withmembers_capitalin bothbalance_sheetandprior_year. The shape validator rejects requests that includeshare_capitalfor an LLP. - Officer terminology — generated iXBRL uses "Members" (not "Directors") for the governing body block, and the legal-form classifier is
LimitedLiabilityPartnershipLLP. - No called-up share capital — the row is omitted from the LLP balance sheet.
called_up_share_capital_not_paidis ignored if you send it. - Accounts only — the CT600 endpoint returns
LLP_NO_CT600for any LLP company number.
Example: small LLP accounts
curl -X POST https://tinytax.co.uk/api/v1/filings/accounts \
-H "X-API-Key: $API_KEY" \
-H "Idempotency-Key: accounts-llp-OC123456-2025" \
-H "Content-Type: application/json" \
-d '{
"company_number": "OC123456",
"period_end": "2025-03-31",
"credentials": {
"company_auth_code": "XYZ789"
},
"financials": {
"profit_and_loss": {
"turnover": 240000,
"cost_of_sales": 60000,
"staff_costs": 80000,
"other_operating_expenses": 20000
},
"balance_sheet": {
"fixed_assets": 12000,
"current_assets": 95000,
"creditors_within_one_year": 27000,
"members_capital": 20000,
"profit_and_loss_account": 60000
},
"prior_year": {
"fixed_assets": 10000,
"current_assets": 78000,
"creditors_within_one_year": 22000,
"members_capital": 20000,
"profit_and_loss_account": 46000
},
"average_employees": 4
}
}'
Everything else (regime auto-detection, dry run, polling, idempotency) works the same as a Ltd request — see the trading guide for full coverage of the financials object and validation rules.
Balance sheet rule
The same balancing check applies, with members_capital standing in for share_capital:
net_assets = fixed_assets + current_assets
- creditors_within_one_year
- creditors_after_one_year
- provisions
- accruals_and_deferred_income
members_funds = members_capital + profit_and_loss_account
ASSERT: net_assets == members_funds (±£1)
Common errors
| Code | Cause | Fix |
|---|---|---|
LLP_NO_CT600 |
Called /filings/ct600 with an OC/SO/NC company |
Use /filings/accounts. The members file their own Self Assessment for tax. |
VALIDATION_ERROR with share_capital field |
Sent share_capital for an LLP |
Rename to members_capital in both balance_sheet and prior_year. |
VALIDATION_ERROR with missing members_capital |
balance_sheet for an LLP omitted both capital fields |
Add members_capital — required for all LLP balance sheets. |
Sandbox testing
Use OC000001 as a magic LLP company number with a test API key — it accepts the submission with the same deterministic outcome as 00000001 for Ltd companies. Other prefixes (SC, NI) are Scotland/Northern Ireland Ltd companies, not LLPs.
See the sandbox guide for the full table of magic numbers.