LLP Filings Guide - TinyTax
Developers / Guides / LLP filings

LLP filings

Limited Liability Partnerships file accounts only — never CT600. This guide covers the differences from a Ltd company submission.

LLPs do not pay corporation tax. They are taxed as partnerships — each member is taxed on their share of the profit through Self Assessment. Do not call 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.

PrefixJurisdiction
OCEngland & Wales
SOScotland
NCNorthern 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 with members_capital in both balance_sheet and prior_year. The shape validator rejects requests that include share_capital for 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_paid is ignored if you send it.
  • Accounts only — the CT600 endpoint returns LLP_NO_CT600 for 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

CodeCauseFix
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.