Skip to main content

Tax

6 operations in the Tolvi API, version 1. Paths are relative to https://api.tolvi.co.uk. Every amount is integer pence.

Get the corporation tax computation

GET/api/v1/engagements/{id}/tax

Scopes
engagements:read

From the final TB via @tolvi/tax-engine, with deferred tax on fixed assets. Part of the working_papers product: the firm must have it and you must have access to it.

Parameters

Parameters for GET /api/v1/engagements/{id}/tax
NameInTypeDescription
idrequiredpathstring (uuid)

Engagement id.

Responses

200 OK, application/json

Body: object (TaxComputation).

200 OK response for GET /api/v1/engagements/{id}/tax
FieldTypeDescription
appliesrequiredboolean

Corporation tax applies (companies only).

errorrequiredstringnullable
inputsrequiredobject (TaxInputs)

Tax inputs the TB cannot give. Capital allowances are not among them: they come from the fixed asset register (C).

inputs.​associatedCompaniesrequiredinteger

0 to 1000

inputs.​aiaPencerequiredintegernullable

Integer pence (GBP).

Deprecated: capital allowances come from the fixed asset register (section C, /fixed-assets). Echoes the register’s figure. AIA claimed.

deprecated

inputs.​mainPoolBfPencerequiredinteger

Integer pence (GBP).

Deprecated: capital allowances come from the fixed asset register (section C, /fixed-assets). Echoes the register’s figure. Main pool WDV b/f.

at least 0; deprecated

inputs.​specialRatePoolBfPencerequiredinteger

Integer pence (GBP).

Deprecated: capital allowances come from the fixed asset register (section C, /fixed-assets). Echoes the register’s figure. Special rate pool WDV b/f.

at least 0; deprecated

inputs.​disposalProceedsPencerequiredinteger

Integer pence (GBP).

Deprecated: capital allowances come from the fixed asset register (section C, /fixed-assets). Echoes the register’s figure. Disposal values deducted from the pools.

at least 0; deprecated

inputs.​otherAdjustmentsrequiredarray of TaxAdjustmentInput

up to 100 items

inputs.​otherAdjustments[].​descriptionrequiredstring

up to 200 characters

inputs.​otherAdjustments[].​amountPencerequiredinteger

Integer pence (GBP).

Positive adds back, negative deducts.

inputs.​lossesBroughtForwardobject (LossesBroughtForward)

Last year’s losses carried forward (set by the roll forward). Absent: none.

inputs.​lossesBroughtForward.​pre2017Pencerequiredinteger

Integer pence (GBP).

at least 0

inputs.​lossesBroughtForward.​post2017Pencerequiredinteger

Integer pence (GBP).

at least 0

profitBeforeTaxPencerequiredinteger

Integer pence (GBP).

adjustmentsrequiredarray of TaxAdjustmentLine
adjustments[].​descriptionrequiredstring
adjustments[].​amountPencerequiredinteger

Integer pence (GBP).

adjustments[].​referencerequiredstring

Legislation or HMRC manual reference.

additionsPencerequiredinteger

Integer pence (GBP).

aiaPencerequiredinteger

Integer pence (GBP).

mainPoolPencerequiredinteger

Integer pence (GBP).

mainPoolWdaPencerequiredinteger

Integer pence (GBP).

specialRatePoolWdaPencerequiredinteger

Integer pence (GBP).

balancingChargePencerequiredinteger

Integer pence (GBP).

capitalAllowancesPencerequiredinteger

Integer pence (GBP).

Allowances before balancing charges, from the fixed asset register (C).

fixedAssetRegisterrequiredboolean

Section C has a fixed asset register; without one no allowances are claimed.

mainPoolBfPencerequiredinteger

Integer pence (GBP).

specialRatePoolBfPencerequiredinteger

Integer pence (GBP).

disposalValuesPencerequiredinteger

Integer pence (GBP).

firstYearAllowancesPencerequiredinteger

Integer pence (GBP).

Full expensing, special rate allowance and other first-year allowances.

otherAllowancesPencerequiredinteger

Integer pence (GBP).

Single-asset pools, SBA and balancing allowances.

mainPoolCfPencerequiredinteger

Integer pence (GBP).

specialRatePoolCfPencerequiredinteger

Integer pence (GBP).

lossesBfPencerequiredinteger

Integer pence (GBP).

Trading losses brought forward (both regimes).

lossesUsedPencerequiredinteger

Integer pence (GBP).

Losses brought forward set against this year’s profits.

lossesCfrequiredobject (LossesBroughtForward)

Losses carried forward, including any trading loss of this year.

lossesCf.​pre2017Pencerequiredinteger

Integer pence (GBP).

at least 0

lossesCf.​post2017Pencerequiredinteger

Integer pence (GBP).

at least 0

taxableProfitsPencerequiredinteger

Whole pounds (floored), in pence.

corporationTaxPencerequiredinteger

Integer pence (GBP).

marginalReliefPencerequiredinteger

Integer pence (GBP).

rateBandrequiredstring

The rate band in plain words, e.g. "Main rate 25%" or "Marginal relief applies".

chargeLabelrequiredstring

The tax before marginal relief, e.g. "Corporation tax at 25% on £127,600".

accountingPeriodsarray of TaxAccountingPeriod

One per accounting period; the totals above add them up.

accountingPeriods[].​startrequiredstring (date)

example "2026-03-31"

accountingPeriods[].​endrequiredstring (date)

example "2026-03-31"

accountingPeriods[].​daysrequiredinteger
accountingPeriods[].​adjustedProfitPencerequiredinteger

Integer pence (GBP).

Adjusted trading profit before capital allowances, apportioned by days (CTA 2010 s1172).

accountingPeriods[].​capitalAllowancesPencerequiredinteger

Integer pence (GBP).

Capital allowances for this period, net of balancing charges (CAA 2001 s6).

accountingPeriods[].​lossesUsedPencerequiredinteger

Integer pence (GBP).

accountingPeriods[].​taxableProfitsPencerequiredinteger

Whole pounds (floored), in pence.

accountingPeriods[].​roundedDownPencerequiredinteger

Integer pence (GBP).

Taken off by rounding down to whole pounds in this period.

accountingPeriods[].​corporationTaxPencerequiredinteger

Integer pence (GBP).

accountingPeriods[].​marginalReliefPencerequiredinteger

Integer pence (GBP).

accountingPeriods[].​rateBandrequiredstring
accountingPeriods[].​chargeLabelrequiredstring
accountingPeriods[].​paymentDueDaterequiredstring (date)

9 months and 1 day after the accounting period ends (TMA 1970 s59D).

example "2026-03-31"

accountingPeriods[].​ct600Referencerequiredstring

Which CT600 this is, e.g. "CT600 1 of 2: 1 January 2025 to 31 December 2025".

accountingPeriods[].​ct600DueDaterequiredstring (date)

FA 1998 Sch 18 para 14: set by the period of account, the same for each of its CT600s.

example "2026-03-31"

periodNotestringnullable

Explains a period of account over 12 months: the split, the apportionment and the rounding per period.

journalAccountsMappedrequiredboolean

A corporation tax charge and creditor are mapped in the TB, so the tax journal can be posted.

chargePerTbPencerequiredinteger

Integer pence (GBP).

differencePencerequiredinteger

Integer pence (GBP).

Computation less TB: the tax journal to post.

deferredrequiredobject (DeferredTax)
deferred.​appliesrequiredboolean
deferred.​netBookValuePencerequiredinteger

Integer pence (GBP).

NBV of assets that attract allowances, per the register (C final per the TB when there is no register).

deferred.​taxWrittenDownValuePencerequiredinteger

Integer pence (GBP).

deferred.​timingDifferencePencerequiredinteger

Integer pence (GBP).

deferred.​permanentDifferencePencerequiredinteger

Integer pence (GBP).

NBV of assets that never attract allowances (FRS 102 s29.10): no deferred tax.

deferred.​linesrequiredarray of DeferredTaxLine

NBV against tax WDV by pool, single-asset pool or SBA asset, from the register.

deferred.​lines[].​descriptionrequiredstring
deferred.​lines[].​netBookValuePencerequiredinteger

Integer pence (GBP).

deferred.​lines[].​taxWrittenDownValuePencerequiredinteger

Integer pence (GBP).

deferred.​lines[].​timingDifferencePencerequiredinteger

Integer pence (GBP).

deferred.​rateBpsrequiredinteger
deferred.​provisionPencerequiredinteger

Integer pence (GBP).

Provision required (liability positive).

deferred.​openingPencerequiredinteger

Integer pence (GBP).

deferred.​perTbPencerequiredinteger

Integer pence (GBP).

deferred.​differencePencerequiredinteger

Integer pence (GBP).

Provision less TB: the deferred tax journal to post.

deferred.​journalAccountsMappedrequiredboolean

A deferred tax charge and provision are mapped in the TB, so the deferred tax journal can be posted.

warningsrequiredarray of string
lockedReasonrequiredstringnullable

Why a preparer cannot change the computation now (section T reviewed).

inputsSetUpboolean

The preparer has saved the inputs (PUT …/tax/inputs) at least once, so the computation is set up.

Errors: 400 Bad request, 401 Unauthorised, 403 Forbidden, 404 Not found, 429 Too many requests, as problem details (application/problem+json).

Set tax inputs (associated companies, other adjustments)

PUT/api/v1/engagements/{id}/tax/inputs

Scopes
engagements:write and engagements:read

Capital allowances and pools brought forward come from the fixed asset register (C); the old fields are ignored. Part of the working_papers product: the firm must have it and you must have access to it.

Parameters

Parameters for PUT /api/v1/engagements/{id}/tax/inputs
NameInTypeDescription
idrequiredpathstring (uuid)

Engagement id.

Request body

Required. application/json: object (SetTaxInputs).

Capital allowances are set in the fixed asset register (C), not here.

Request body for PUT /api/v1/engagements/{id}/tax/inputs
FieldTypeDescription
associatedCompaniesrequiredinteger

0 to 1000

otherAdjustmentsrequiredarray of TaxAdjustmentInput

up to 100 items

otherAdjustments[].​descriptionrequiredstring

up to 200 characters

otherAdjustments[].​amountPencerequiredinteger

Integer pence (GBP).

Positive adds back, negative deducts.

lossesBroughtForwardobject (LossesBroughtForward)

Trading losses brought forward. Omitted: unchanged (the roll forward sets them).

lossesBroughtForward.​pre2017Pencerequiredinteger

Integer pence (GBP).

at least 0

lossesBroughtForward.​post2017Pencerequiredinteger

Integer pence (GBP).

at least 0

aiaPenceintegernullable

Integer pence (GBP).

Deprecated and ignored: set in the fixed asset register (C).

deprecated

mainPoolBfPenceinteger

Integer pence (GBP).

Deprecated and ignored: set in the fixed asset register settings (C).

deprecated

specialRatePoolBfPenceinteger

Integer pence (GBP).

Deprecated and ignored: set in the fixed asset register settings (C).

deprecated

disposalProceedsPenceinteger

Integer pence (GBP).

Deprecated and ignored: record disposals in the fixed asset register (C).

deprecated

Responses

200 OK, application/json

Body: object (TaxComputation).

The fields are as shown above.

Errors: 400 Bad request, 401 Unauthorised, 403 Forbidden, 404 Not found, 429 Too many requests, as problem details (application/problem+json).

Preview the tax or deferred tax journal

POST/api/v1/engagements/{id}/tax/journals/preview

Scopes
engagements:read

The journal that posting would make (lines, date and narrative), the earlier one it would replace, and what would change: sections whose content moves, sign-offs that go out of date and the headline figures. Nothing is saved. Read access is enough. Part of the working_papers product: the firm must have it and you must have access to it.

Parameters

Parameters for POST /api/v1/engagements/{id}/tax/journals/preview
NameInTypeDescription
idrequiredpathstring (uuid)

Engagement id.

Request body

Required. application/json: object (PreviewTaxJournal).

Request body for POST /api/v1/engagements/{id}/tax/journals/preview
FieldTypeDescription
kindrequiredstring (TaxJournalKind)

One of: ct, deferred

Responses

200 OK, application/json

Body: object (TaxJournalPreview).

The tax journal that posting would make, without posting it.

200 OK response for POST /api/v1/engagements/{id}/tax/journals/preview
FieldTypeDescription
kindrequiredstring (TaxJournalKind)

One of: ct, deferred

daterequiredstring (date)

example "2026-03-31"

narrativerequiredstring
linesrequiredarray of JournalLine

Empty when the TB already agrees with the computation.

lines[].​accountCoderequiredstring
lines[].​accountNamerequiredstringnullable
lines[].​debitPencerequiredinteger

Integer pence (GBP).

lines[].​creditPencerequiredinteger

Integer pence (GBP).

replacesRefrequiredstringnullable

The earlier journal of this kind that posting would replace.

replacesAmountPencerequiredintegernullable

Integer pence (GBP).

The total debits of the journal replaced.

impactrequiredobject (JournalImpact)

What a journal change would do, worked out without saving anything.

impact.​sectionsrequiredarray of SectionImpact

Sections whose content would change, in file order.

impact.​sections[].​coderequiredstring
impact.​sections[].​namerequiredstring
impact.​sections[].​staleSignOffsrequiredarray of StaleSignOff

Live sign-offs on the section that would go out of date.

impact.​sections[].​staleSignOffs[].​stageIdrequiredstring
impact.​sections[].​staleSignOffs[].​stageNamerequiredstring
impact.​sections[].​staleSignOffs[].​userIdrequiredstring (uuid)
impact.​figuresrequiredarray of FigureChange

Headline figures that would move.

impact.​figures[].​keyrequiredstring (FigureKey)

One of: profit_before_tax, corporation_tax, tax_charge, net_profit

impact.​figures[].​labelrequiredstring
impact.​figures[].​beforePencerequiredinteger

Integer pence (GBP).

impact.​figures[].​afterPencerequiredinteger

Integer pence (GBP).

blockedReasonrequiredstringnullable

Why the caller can’t post it now (T reviewed and the caller is a preparer); null when they can.

Errors: 400 Bad request, 401 Unauthorised, 403 Forbidden, 404 Not found, 429 Too many requests, as problem details (application/problem+json).

Post the tax or deferred tax journal

POST/api/v1/engagements/{id}/tax/journals

Scopes
engagements:write and engagements:read

Brings the TB into line with the computation. Preparers, reviewers, managers and partners can post it; the audit trail records who. Once T has a current review sign-off only a reviewer or above can (403 for a preparer). Part of the working_papers product: the firm must have it and you must have access to it.

Parameters

Parameters for POST /api/v1/engagements/{id}/tax/journals
NameInTypeDescription
idrequiredpathstring (uuid)

Engagement id.

Request body

Required. application/json: object (PostTaxJournal).

Request body for POST /api/v1/engagements/{id}/tax/journals
FieldTypeDescription
kindrequiredstring (TaxJournalKind)

One of: ct, deferred

replaceboolean

Replace an earlier tax journal of this kind (required when one exists).

Responses

200 OK, application/json

Body: object (TaxJournalResult).

200 OK response for POST /api/v1/engagements/{id}/tax/journals
FieldTypeDescription
journalrequiredobject (Journal)nullable

Null when the TB already agrees.

journal.​idrequiredstring (uuid)
journal.​refrequiredstring

example "JNL-03"

journal.​daterequiredstring (date)

example "2026-03-31"

journal.​typerequiredstring (JournalType)

One of: Adjusting, Reclassification, Correction

journal.​statusrequiredstring (JournalStatus)

One of: draft, posted

journal.​narrativerequiredstring
journal.​autoKindrequiredstring (JournalAutoKind)nullable

Posted by Tolvi from the tax computation (ct, deferred) or the fixed asset register (fixed_assets).

One of: ct, deferred, fixed_assets

journal.​linesrequiredarray of JournalLine
journal.​lines[].​accountCoderequiredstring
journal.​lines[].​accountNamerequiredstringnullable
journal.​lines[].​debitPencerequiredinteger

Integer pence (GBP).

journal.​lines[].​creditPencerequiredinteger

Integer pence (GBP).

journal.​sectionCodesrequiredarray of string

Lead sections the journal touches.

journal.​lockedBySectionsrequiredarray of string

Reviewed sections that lock it: only a reviewer or above can unpost or delete it.

journal.​createdByrequiredstring (uuid)nullable
journal.​createdAtrequiredstring (date-time)
journal.​postedByrequiredstring (uuid)nullable
journal.​postedAtrequiredstring (date-time)nullable
replacedRefrequiredstringnullable
computationrequiredobject (TaxComputation)
computation.​appliesrequiredboolean

Corporation tax applies (companies only).

computation.​errorrequiredstringnullable
computation.​inputsrequiredobject (TaxInputs)

Tax inputs the TB cannot give. Capital allowances are not among them: they come from the fixed asset register (C).

computation.​inputs.​associatedCompaniesrequiredinteger

0 to 1000

computation.​inputs.​aiaPencerequiredintegernullable

Integer pence (GBP).

Deprecated: capital allowances come from the fixed asset register (section C, /fixed-assets). Echoes the register’s figure. AIA claimed.

deprecated

computation.​inputs.​mainPoolBfPencerequiredinteger

Integer pence (GBP).

Deprecated: capital allowances come from the fixed asset register (section C, /fixed-assets). Echoes the register’s figure. Main pool WDV b/f.

at least 0; deprecated

computation.​inputs.​specialRatePoolBfPencerequiredinteger

Integer pence (GBP).

Deprecated: capital allowances come from the fixed asset register (section C, /fixed-assets). Echoes the register’s figure. Special rate pool WDV b/f.

at least 0; deprecated

computation.​inputs.​disposalProceedsPencerequiredinteger

Integer pence (GBP).

Deprecated: capital allowances come from the fixed asset register (section C, /fixed-assets). Echoes the register’s figure. Disposal values deducted from the pools.

at least 0; deprecated

computation.​inputs.​otherAdjustmentsrequiredarray of TaxAdjustmentInput

up to 100 items

computation.​inputs.​otherAdjustments[].​descriptionrequiredstring

up to 200 characters

computation.​inputs.​otherAdjustments[].​amountPencerequiredinteger

Integer pence (GBP).

Positive adds back, negative deducts.

computation.​inputs.​lossesBroughtForwardobject (LossesBroughtForward)

Last year’s losses carried forward (set by the roll forward). Absent: none.

computation.​inputs.​lossesBroughtForward.​pre2017Pencerequiredinteger

Integer pence (GBP).

at least 0

computation.​inputs.​lossesBroughtForward.​post2017Pencerequiredinteger

Integer pence (GBP).

at least 0

computation.​profitBeforeTaxPencerequiredinteger

Integer pence (GBP).

computation.​adjustmentsrequiredarray of TaxAdjustmentLine
computation.​adjustments[].​descriptionrequiredstring
computation.​adjustments[].​amountPencerequiredinteger

Integer pence (GBP).

computation.​adjustments[].​referencerequiredstring

Legislation or HMRC manual reference.

computation.​additionsPencerequiredinteger

Integer pence (GBP).

computation.​aiaPencerequiredinteger

Integer pence (GBP).

computation.​mainPoolPencerequiredinteger

Integer pence (GBP).

computation.​mainPoolWdaPencerequiredinteger

Integer pence (GBP).

computation.​specialRatePoolWdaPencerequiredinteger

Integer pence (GBP).

computation.​balancingChargePencerequiredinteger

Integer pence (GBP).

computation.​capitalAllowancesPencerequiredinteger

Integer pence (GBP).

Allowances before balancing charges, from the fixed asset register (C).

computation.​fixedAssetRegisterrequiredboolean

Section C has a fixed asset register; without one no allowances are claimed.

computation.​mainPoolBfPencerequiredinteger

Integer pence (GBP).

computation.​specialRatePoolBfPencerequiredinteger

Integer pence (GBP).

computation.​disposalValuesPencerequiredinteger

Integer pence (GBP).

computation.​firstYearAllowancesPencerequiredinteger

Integer pence (GBP).

Full expensing, special rate allowance and other first-year allowances.

computation.​otherAllowancesPencerequiredinteger

Integer pence (GBP).

Single-asset pools, SBA and balancing allowances.

computation.​mainPoolCfPencerequiredinteger

Integer pence (GBP).

computation.​specialRatePoolCfPencerequiredinteger

Integer pence (GBP).

computation.​lossesBfPencerequiredinteger

Integer pence (GBP).

Trading losses brought forward (both regimes).

computation.​lossesUsedPencerequiredinteger

Integer pence (GBP).

Losses brought forward set against this year’s profits.

computation.​lossesCfrequiredobject (LossesBroughtForward)

Losses carried forward, including any trading loss of this year.

computation.​lossesCf.​pre2017Pencerequiredinteger

Integer pence (GBP).

at least 0

computation.​lossesCf.​post2017Pencerequiredinteger

Integer pence (GBP).

at least 0

computation.​taxableProfitsPencerequiredinteger

Whole pounds (floored), in pence.

computation.​corporationTaxPencerequiredinteger

Integer pence (GBP).

computation.​marginalReliefPencerequiredinteger

Integer pence (GBP).

computation.​rateBandrequiredstring

The rate band in plain words, e.g. "Main rate 25%" or "Marginal relief applies".

computation.​chargeLabelrequiredstring

The tax before marginal relief, e.g. "Corporation tax at 25% on £127,600".

computation.​accountingPeriodsarray of TaxAccountingPeriod

One per accounting period; the totals above add them up.

computation.​accountingPeriods[].​startrequiredstring (date)

example "2026-03-31"

computation.​accountingPeriods[].​endrequiredstring (date)

example "2026-03-31"

computation.​accountingPeriods[].​daysrequiredinteger
computation.​accountingPeriods[].​adjustedProfitPencerequiredinteger

Integer pence (GBP).

Adjusted trading profit before capital allowances, apportioned by days (CTA 2010 s1172).

computation.​accountingPeriods[].​capitalAllowancesPencerequiredinteger

Integer pence (GBP).

Capital allowances for this period, net of balancing charges (CAA 2001 s6).

computation.​accountingPeriods[].​lossesUsedPencerequiredinteger

Integer pence (GBP).

computation.​accountingPeriods[].​taxableProfitsPencerequiredinteger

Whole pounds (floored), in pence.

computation.​accountingPeriods[].​roundedDownPencerequiredinteger

Integer pence (GBP).

Taken off by rounding down to whole pounds in this period.

computation.​accountingPeriods[].​corporationTaxPencerequiredinteger

Integer pence (GBP).

computation.​accountingPeriods[].​marginalReliefPencerequiredinteger

Integer pence (GBP).

computation.​accountingPeriods[].​rateBandrequiredstring
computation.​accountingPeriods[].​chargeLabelrequiredstring
computation.​accountingPeriods[].​paymentDueDaterequiredstring (date)

9 months and 1 day after the accounting period ends (TMA 1970 s59D).

example "2026-03-31"

computation.​accountingPeriods[].​ct600Referencerequiredstring

Which CT600 this is, e.g. "CT600 1 of 2: 1 January 2025 to 31 December 2025".

computation.​accountingPeriods[].​ct600DueDaterequiredstring (date)

FA 1998 Sch 18 para 14: set by the period of account, the same for each of its CT600s.

example "2026-03-31"

computation.​periodNotestringnullable

Explains a period of account over 12 months: the split, the apportionment and the rounding per period.

computation.​journalAccountsMappedrequiredboolean

A corporation tax charge and creditor are mapped in the TB, so the tax journal can be posted.

computation.​chargePerTbPencerequiredinteger

Integer pence (GBP).

computation.​differencePencerequiredinteger

Integer pence (GBP).

Computation less TB: the tax journal to post.

computation.​deferredrequiredobject (DeferredTax)
computation.​deferred.​appliesrequiredboolean
computation.​deferred.​netBookValuePencerequiredinteger

Integer pence (GBP).

NBV of assets that attract allowances, per the register (C final per the TB when there is no register).

computation.​deferred.​taxWrittenDownValuePencerequiredinteger

Integer pence (GBP).

computation.​deferred.​timingDifferencePencerequiredinteger

Integer pence (GBP).

computation.​deferred.​permanentDifferencePencerequiredinteger

Integer pence (GBP).

NBV of assets that never attract allowances (FRS 102 s29.10): no deferred tax.

computation.​deferred.​linesrequiredarray of DeferredTaxLine

NBV against tax WDV by pool, single-asset pool or SBA asset, from the register.

computation.​deferred.​lines[].​descriptionrequiredstring
computation.​deferred.​lines[].​netBookValuePencerequiredinteger

Integer pence (GBP).

computation.​deferred.​lines[].​taxWrittenDownValuePencerequiredinteger

Integer pence (GBP).

computation.​deferred.​lines[].​timingDifferencePencerequiredinteger

Integer pence (GBP).

computation.​deferred.​rateBpsrequiredinteger
computation.​deferred.​provisionPencerequiredinteger

Integer pence (GBP).

Provision required (liability positive).

computation.​deferred.​openingPencerequiredinteger

Integer pence (GBP).

computation.​deferred.​perTbPencerequiredinteger

Integer pence (GBP).

computation.​deferred.​differencePencerequiredinteger

Integer pence (GBP).

Provision less TB: the deferred tax journal to post.

computation.​deferred.​journalAccountsMappedrequiredboolean

A deferred tax charge and provision are mapped in the TB, so the deferred tax journal can be posted.

computation.​warningsrequiredarray of string
computation.​lockedReasonrequiredstringnullable

Why a preparer cannot change the computation now (section T reviewed).

computation.​inputsSetUpboolean

The preparer has saved the inputs (PUT …/tax/inputs) at least once, so the computation is set up.

Errors: 400 Bad request, 401 Unauthorised, 403 Forbidden, 404 Not found, 429 Too many requests, as problem details (application/problem+json).

Get the self assessment computation

GET/api/v1/engagements/{id}/self-assessment

Scopes
engagements:read

Sole traders, partnerships and LLPs: adjusted profit, capital allowances, tax-year basis apportionment, transition profit, partner allocation, Class 4 NIC and the SA103 or SA800 figures. 404 for companies. Part of the working_papers product: the firm must have it and you must have access to it.

Parameters

Parameters for GET /api/v1/engagements/{id}/self-assessment
NameInTypeDescription
idrequiredpathstring (uuid)

Engagement id.

Responses

200 OK, application/json

Body: object (SelfAssessmentComputation).

200 OK response for GET /api/v1/engagements/{id}/self-assessment
FieldTypeDescription
entityrequiredstring (SaEntity)

One of: sole_trader, partnership, llp

errorrequiredstringnullable
warningsrequiredarray of string
inputsrequiredobject (SelfAssessmentInputs)
inputs.​accountsrequiredarray of SaAccountTreatment
inputs.​accounts[].​coderequiredstring

Account code in the TB.

inputs.​accounts[].​categoryrequiredstring (Sa103ExpenseCategory)nullable

SA103 expense line; null uses Tolvi’s suggestion.

One of: costOfGoods, constructionSubcontractors, wagesAndStaffCosts, carVanAndTravel, rentRatesPowerAndInsurance, repairsAndMaintenance, phoneFaxStationeryAndOffice, advertisingAndBusinessEntertainment, interestOnBankAndOtherLoans, bankCreditCardAndFinancialCharges, irrecoverableDebts, accountancyLegalAndProfessional, depreciationAndLossOnSale, otherBusinessExpenses

inputs.​accounts[].​disallowablePencerequiredinteger

Integer pence (GBP).

Disallowable outright (fines, capital items). Depreciation and entertaining (M.dis) are always disallowed in full.

inputs.​accounts[].​privateUsePercentrequirednumbernullable

Private-use share of the rest, in per cent; null = not considered yet (0 means none).

0 to 100

inputs.​goodsForOwnUsePencerequiredinteger

Integer pence (GBP).

Goods taken for own use, at selling price (ITTOIA 2005 s172B).

inputs.​otherAdjustmentsrequiredarray of SaAdjustmentInput
inputs.​otherAdjustments[].​descriptionrequiredstring
inputs.​otherAdjustments[].​amountPencerequiredinteger

Integer pence (GBP).

Positive adds back, negative deducts.

inputs.​tradingAllowancerequiredstring (TradingAllowanceChoice)

Sole traders: auto claims the £1,000 trading allowance when it gives a lower profit. Never available for partnership income.

One of: auto, claim, none

inputs.​lateAccountingDatesrequiredboolean

Treat a 31 March to 4 April year end as 5 April (ITTOIA 2005 s202B).

inputs.​commencementDaterequiredstring (date)nullable

example "2026-03-31"

inputs.​cessationDaterequiredstring (date)nullable

example "2026-03-31"

inputs.​otherPeriodsrequiredarray of SaOtherPeriod

Other periods of account needed to apportion profit to the tax year (last year, or a provisional figure for next year).

inputs.​otherPeriods[].​startrequiredstring (date)

example "2026-03-31"

inputs.​otherPeriods[].​endrequiredstring (date)

example "2026-03-31"

inputs.​otherPeriods[].​profitPencerequiredinteger

Integer pence (GBP).

Tax-adjusted profit after capital allowances (negative for a loss).

inputs.​otherPeriods[].​provisionalrequiredboolean

A provisional figure for a period not yet drawn up, to be amended once known.

inputs.​overlapReliefPencerequiredinteger

Integer pence (GBP).

Sole trader: overlap relief brought forward (used in 2023/24).

inputs.​transitionProfitPencerequiredinteger

Integer pence (GBP).

Sole trader: transition profit from 2023/24, spread over five years.

inputs.​lossesBroughtForwardPencerequiredinteger

Integer pence (GBP).

inputs.​partnersrequiredarray of SaPartner
inputs.​partners[].​idrequiredstring

Your own short id for the partner, used in the arrangements.

up to 40 characters

inputs.​partners[].​namerequiredstring
inputs.​partners[].​kindrequiredstring (SaPartnerKind)

A company partner (or LLP corporate member) is charged to corporation tax on its share; no income tax working is done for it.

One of: individual, company

inputs.​partners[].​joinedrequiredstring (date)nullable

example "2026-03-31"

inputs.​partners[].​leftrequiredstring (date)nullable

example "2026-03-31"

inputs.​partners[].​overlapReliefPencerequiredinteger

Integer pence (GBP).

Overlap relief brought forward, used in 2023/24.

inputs.​partners[].​transitionProfitPencerequiredinteger

Integer pence (GBP).

The partner’s transition profit from 2023/24, spread over five years.

inputs.​partners[].​lossesBroughtForwardPencerequiredinteger

Integer pence (GBP).

inputs.​arrangementsrequiredarray of SaArrangement
inputs.​arrangements[].​fromrequiredstring (date)

In force from this date until the next arrangement starts.

example "2026-03-31"

inputs.​arrangements[].​sharesrequiredarray of SaPartnerShare
inputs.​arrangements[].​shares[].​partnerIdrequiredstring
inputs.​arrangements[].​shares[].​ratiorequiredinteger

Residual profit-sharing ratio, as whole-number weights (e.g. 50/35/15).

at least 0

inputs.​arrangements[].​shares[].​salaryPencerequiredinteger

Integer pence (GBP).

Annual salary (prior share).

inputs.​arrangements[].​shares[].​interestPencerequiredinteger

Integer pence (GBP).

Annual interest on capital.

periodrequiredobject (SaDateRange)
period.​startrequiredstring (date)

example "2026-03-31"

period.​endrequiredstring (date)

example "2026-03-31"

accountsrequiredarray of SaAccountRow
accounts[].​coderequiredstring
accounts[].​namerequiredstring
accounts[].​lineIdrequiredstring
accounts[].​amountPencerequiredinteger

Integer pence (GBP).

Final TB balance, debit positive.

accounts[].​categoryrequiredstring (Sa103ExpenseCategory)

SA103 expense line; null uses Tolvi’s suggestion.

One of: costOfGoods, constructionSubcontractors, wagesAndStaffCosts, carVanAndTravel, rentRatesPowerAndInsurance, repairsAndMaintenance, phoneFaxStationeryAndOffice, advertisingAndBusinessEntertainment, interestOnBankAndOtherLoans, bankCreditCardAndFinancialCharges, irrecoverableDebts, accountancyLegalAndProfessional, depreciationAndLossOnSale, otherBusinessExpenses

accounts[].​categorySuggestedrequiredboolean

The category is Tolvi’s suggestion, not the preparer’s.

accounts[].​disallowablePencerequiredinteger

Integer pence (GBP).

accounts[].​privateUsePercentrequirednumbernullable
accounts[].​privateUsePencerequiredinteger

Integer pence (GBP).

accounts[].​allowablePencerequiredinteger

Integer pence (GBP).

accounts[].​privateUseUnrecordedrequiredboolean

The account usually has some private use (motor, phone, use of home) and none is recorded.

profitPerAccountsPencerequiredinteger

Integer pence (GBP).

Net profit per the final TB.

turnoverPencerequiredinteger

Integer pence (GBP).

interestReceivedPencerequiredinteger

Integer pence (GBP).

adjustmentsrequiredarray of SaLine
adjustments[].​descriptionrequiredstring
adjustments[].​amountPencerequiredinteger

Integer pence (GBP).

adjustments[].​referencerequiredstring

Legislation or HMRC manual reference.

capitalAllowancesrequiredobject (SaCapitalAllowances)
capitalAllowances.​fromRegisterrequiredboolean
capitalAllowances.​annualInvestmentAllowancePencerequiredinteger

Integer pence (GBP).

capitalAllowances.​firstYearAllowancesPencerequiredinteger

Integer pence (GBP).

capitalAllowances.​mainPoolWdaPencerequiredinteger

Integer pence (GBP).

capitalAllowances.​specialRatePoolWdaPencerequiredinteger

Integer pence (GBP).

capitalAllowances.​singleAssetPoolsPencerequiredinteger

Integer pence (GBP).

capitalAllowances.​structuresAndBuildingsPencerequiredinteger

Integer pence (GBP).

capitalAllowances.​balancingAllowancesPencerequiredinteger

Integer pence (GBP).

capitalAllowances.​totalPencerequiredinteger

Integer pence (GBP).

Allowances claimed, after the private-use restriction.

capitalAllowances.​balancingChargesPencerequiredinteger

Integer pence (GBP).

capitalAllowances.​privateUseRestrictionPencerequiredinteger

Integer pence (GBP).

Allowances not given because of private use (CAA 2001 s207).

capitalAllowances.​singleAssetPoolsrequiredarray of SaSingleAssetPool
capitalAllowances.​singleAssetPools[].​assetIdrequiredstring
capitalAllowances.​singleAssetPools[].​refrequiredstring
capitalAllowances.​singleAssetPools[].​descriptionrequiredstring
capitalAllowances.​singleAssetPools[].​businessUsePercentrequirednumber
capitalAllowances.​singleAssetPools[].​allowancePencerequiredinteger

Integer pence (GBP).

Allowance before the private-use restriction.

capitalAllowances.​singleAssetPools[].​aiaPencerequiredinteger

Integer pence (GBP).

Of the allowance before the restriction, the Annual Investment Allowance (CAA 2001 s51A).

capitalAllowances.​singleAssetPools[].​claimedPencerequiredinteger

Integer pence (GBP).

Allowance claimed (business share).

capitalAllowances.​mainPoolCfPencerequiredinteger

Integer pence (GBP).

capitalAllowances.​specialRatePoolCfPencerequiredinteger

Integer pence (GBP).

adjustedProfitActualPencerequiredinteger

Integer pence (GBP).

tradingAllowanceClaimedrequiredstring (TradingAllowanceClaimed)

One of: none, full-relief, partial-relief

adjustedProfitPencerequiredinteger

Integer pence (GBP).

Tax-adjusted trading profit of the period (after capital allowances and any trading allowance).

taxYearsrequiredarray of SaTaxYearShare
taxYears[].​taxYearrequiredinteger
taxYears[].​labelrequiredstring

example "2025/26"

taxYears[].​startrequiredstring (date)

example "2026-03-31"

taxYears[].​endrequiredstring (date)

example "2026-03-31"

taxYears[].​daysrequiredinteger
taxYears[].​periodDaysrequiredinteger
taxYears[].​sharePencerequiredinteger

Integer pence (GBP).

returnTaxYearrequiredinteger
returnTaxYearLabelrequiredstring
missingPeriodsrequiredarray of SaDateRange
missingPeriods[].​startrequiredstring (date)

example "2026-03-31"

missingPeriods[].​endrequiredstring (date)

example "2026-03-31"

soleTraderrequiredobject (SaSoleTrader)nullable
soleTrader.​workingrequiredobject (SaTaxYearWorking)nullable

Null until every period needed for the return year has a figure.

soleTrader.​working.​taxYearrequiredinteger
soleTrader.​working.​labelrequiredstring
soleTrader.​working.​basisPeriodrequiredobject (SaDateRange)
soleTrader.​working.​basisPeriod.​startrequiredstring (date)

example "2026-03-31"

soleTrader.​working.​basisPeriod.​endrequiredstring (date)

example "2026-03-31"

soleTrader.​working.​apportionmentsrequiredarray of SaApportionment
soleTrader.​working.​apportionments[].​startrequiredstring (date)

example "2026-03-31"

soleTrader.​working.​apportionments[].​endrequiredstring (date)

example "2026-03-31"

soleTrader.​working.​apportionments[].​sourcerequiredstring (SaPeriodSource)

One of: this, other, provisional

soleTrader.​working.​apportionments[].​daysrequiredinteger
soleTrader.​working.​apportionments[].​daysInBasisPeriodrequiredinteger
soleTrader.​working.​apportionments[].​profitPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​apportionments[].​sharePencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​basisPeriodProfitPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​transitionrequiredobject (SaTransition)nullable
soleTrader.​working.​transition.​standardPartrequiredobject (SaDateRange)nullable
soleTrader.​working.​transition.​standardPart.​startrequiredstring (date)

example "2026-03-31"

soleTrader.​working.​transition.​standardPart.​endrequiredstring (date)

example "2026-03-31"

soleTrader.​working.​transition.​standardPartProfitPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​transition.​transitionPartrequiredobject (SaDateRange)nullable
soleTrader.​working.​transition.​transitionPart.​startrequiredstring (date)

example "2026-03-31"

soleTrader.​working.​transition.​transitionPart.​endrequiredstring (date)

example "2026-03-31"

soleTrader.​working.​transition.​transitionPartProfitPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​transition.​overlapReliefPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​transition.​excessOverlapReliefPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​transition.​transitionProfitPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​transition.​spreadrequiredarray of SaSpreadYear
soleTrader.​working.​transition.​spread[].​taxYearrequiredinteger
soleTrader.​working.​transition.​spread[].​labelrequiredstring
soleTrader.​working.​transition.​spread[].​amountPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​transition.​thisYearPencerequiredinteger

Integer pence (GBP).

Transition profit taxed in this tax year.

soleTrader.​working.​lossesBroughtForwardUsedPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​taxableProfitPencerequiredinteger

Whole pounds (floored), in pence.

soleTrader.​working.​lossPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​lossCarriedForwardPencerequiredinteger

Integer pence (GBP).

soleTrader.​working.​class4requiredobject (SaClass4)
soleTrader.​working.​class4.​taxYearrequiredinteger
soleTrader.​working.​class4.​profitsrequiredinteger

Integer pence (GBP).

soleTrader.​working.​class4.​mainRateBandrequiredinteger

Integer pence (GBP).

soleTrader.​working.​class4.​mainRateNicrequiredinteger

Integer pence (GBP).

soleTrader.​working.​class4.​additionalRateBandrequiredinteger

Integer pence (GBP).

soleTrader.​working.​class4.​additionalRateNicrequiredinteger

Integer pence (GBP).

soleTrader.​working.​class4.​totalrequiredinteger

Integer pence (GBP).

soleTrader.​working.​class2requiredobject (SaClass2)
soleTrader.​working.​class2.​taxYearrequiredinteger
soleTrader.​working.​class2.​statusrequiredstring (SaClass2Status)

One of: payable, treated-as-paid, voluntary

soleTrader.​working.​class2.​weeklyRaterequiredinteger

Integer pence (GBP).

soleTrader.​working.​class2.​payablerequiredinteger

Compulsory Class 2 (nil from 2024/25).

soleTrader.​working.​class2.​voluntaryAnnualCostrequiredinteger

Cost of a full year of voluntary contributions, where relevant.

soleTrader.​sa103requiredobject (Sa103Figures)nullable
soleTrader.​sa103.​pagesrequiredstring (SelfEmploymentPages)

Short pages (SA103S) below the VAT registration threshold, else full (SA103F).

One of: short, full

soleTrader.​sa103.​turnoverPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​otherBusinessIncomePencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​expensesrequiredarray of SaExpenseLine
soleTrader.​sa103.​expenses[].​categoryrequiredstring (Sa103ExpenseCategory)

SA103 expense line; null uses Tolvi’s suggestion.

One of: costOfGoods, constructionSubcontractors, wagesAndStaffCosts, carVanAndTravel, rentRatesPowerAndInsurance, repairsAndMaintenance, phoneFaxStationeryAndOffice, advertisingAndBusinessEntertainment, interestOnBankAndOtherLoans, bankCreditCardAndFinancialCharges, irrecoverableDebts, accountancyLegalAndProfessional, depreciationAndLossOnSale, otherBusinessExpenses

soleTrader.​sa103.​expenses[].​labelrequiredstring
soleTrader.​sa103.​expenses[].​totalPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​expenses[].​disallowablePencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​totalExpensesPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​netProfitPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​goodsForOwnUsePencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​disallowableExpensesPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​balancingChargesPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​capitalAllowancesPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​tradingAllowanceClaimedrequiredboolean
soleTrader.​sa103.​adjustedProfitPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​basisPeriodAdjustmentPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​transitionProfitPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​lossesBroughtForwardUsedPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​taxableProfitPencerequiredinteger

Integer pence (GBP).

soleTrader.​sa103.​class4Pencerequiredinteger

Integer pence (GBP).

partnershiprequiredobject (SaPartnership)nullable
partnership.​segmentsrequiredarray of SaSegment
partnership.​segments[].​startrequiredstring (date)

example "2026-03-31"

partnership.​segments[].​endrequiredstring (date)

example "2026-03-31"

partnership.​segments[].​daysrequiredinteger
partnership.​segments[].​profitPencerequiredinteger

Integer pence (GBP).

partnership.​segments[].​partnersrequiredarray of SaSegmentPartner
partnership.​segments[].​partners[].​partnerIdrequiredstring
partnership.​segments[].​partners[].​salaryPencerequiredinteger

Integer pence (GBP).

partnership.​segments[].​partners[].​interestPencerequiredinteger

Integer pence (GBP).

partnership.​segments[].​partners[].​residualSharePencerequiredinteger

Integer pence (GBP).

partnership.​segments[].​partners[].​totalPencerequiredinteger

Integer pence (GBP).

partnership.​partnersrequiredarray of SaPartnerResult
partnership.​partners[].​idrequiredstring
partnership.​partners[].​namerequiredstring
partnership.​partners[].​kindrequiredstring (SaPartnerKind)

A company partner (or LLP corporate member) is charged to corporation tax on its share; no income tax working is done for it.

One of: individual, company

partnership.​partners[].​joinedrequiredstring (date)nullable

example "2026-03-31"

partnership.​partners[].​leftrequiredstring (date)nullable

example "2026-03-31"

partnership.​partners[].​salaryPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​interestPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​residualSharePencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​notionalSharePencerequiredinteger

Integer pence (GBP).

Share before any reallocation of notional losses (ITTOIA 2005 s850A/s850B).

partnership.​partners[].​sharePencerequiredinteger

Integer pence (GBP).

Share of the tax-adjusted profit: the partnership statement figure.

partnership.​partners[].​accountingSharePencerequiredinteger

Integer pence (GBP).

Share of the accounting profit per the arrangement.

partnership.​partners[].​taxYearsrequiredarray of SaTaxYearShare
partnership.​partners[].​taxYears[].​taxYearrequiredinteger
partnership.​partners[].​taxYears[].​labelrequiredstring

example "2025/26"

partnership.​partners[].​taxYears[].​startrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​taxYears[].​endrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​taxYears[].​daysrequiredinteger
partnership.​partners[].​taxYears[].​periodDaysrequiredinteger
partnership.​partners[].​taxYears[].​sharePencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​workingrequiredobject (SaTaxYearWorking)nullable

Individuals only.

partnership.​partners[].​working.​taxYearrequiredinteger
partnership.​partners[].​working.​labelrequiredstring
partnership.​partners[].​working.​basisPeriodrequiredobject (SaDateRange)
partnership.​partners[].​working.​basisPeriod.​startrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​working.​basisPeriod.​endrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​working.​apportionmentsrequiredarray of SaApportionment
partnership.​partners[].​working.​apportionments[].​startrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​working.​apportionments[].​endrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​working.​apportionments[].​sourcerequiredstring (SaPeriodSource)

One of: this, other, provisional

partnership.​partners[].​working.​apportionments[].​daysrequiredinteger
partnership.​partners[].​working.​apportionments[].​daysInBasisPeriodrequiredinteger
partnership.​partners[].​working.​apportionments[].​profitPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​apportionments[].​sharePencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​basisPeriodProfitPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​transitionrequiredobject (SaTransition)nullable
partnership.​partners[].​working.​transition.​standardPartrequiredobject (SaDateRange)nullable
partnership.​partners[].​working.​transition.​standardPart.​startrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​working.​transition.​standardPart.​endrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​working.​transition.​standardPartProfitPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​transition.​transitionPartrequiredobject (SaDateRange)nullable
partnership.​partners[].​working.​transition.​transitionPart.​startrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​working.​transition.​transitionPart.​endrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​working.​transition.​transitionPartProfitPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​transition.​overlapReliefPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​transition.​excessOverlapReliefPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​transition.​transitionProfitPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​transition.​spreadrequiredarray of SaSpreadYear
partnership.​partners[].​working.​transition.​spread[].​taxYearrequiredinteger
partnership.​partners[].​working.​transition.​spread[].​labelrequiredstring
partnership.​partners[].​working.​transition.​spread[].​amountPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​transition.​thisYearPencerequiredinteger

Integer pence (GBP).

Transition profit taxed in this tax year.

partnership.​partners[].​working.​lossesBroughtForwardUsedPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​taxableProfitPencerequiredinteger

Whole pounds (floored), in pence.

partnership.​partners[].​working.​lossPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​lossCarriedForwardPencerequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​class4requiredobject (SaClass4)
partnership.​partners[].​working.​class4.​taxYearrequiredinteger
partnership.​partners[].​working.​class4.​profitsrequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​class4.​mainRateBandrequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​class4.​mainRateNicrequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​class4.​additionalRateBandrequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​class4.​additionalRateNicrequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​class4.​totalrequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​class2requiredobject (SaClass2)
partnership.​partners[].​working.​class2.​taxYearrequiredinteger
partnership.​partners[].​working.​class2.​statusrequiredstring (SaClass2Status)

One of: payable, treated-as-paid, voluntary

partnership.​partners[].​working.​class2.​weeklyRaterequiredinteger

Integer pence (GBP).

partnership.​partners[].​working.​class2.​payablerequiredinteger

Compulsory Class 2 (nil from 2024/25).

partnership.​partners[].​working.​class2.​voluntaryAnnualCostrequiredinteger

Cost of a full year of voluntary contributions, where relevant.

partnership.​partners[].​missingPeriodsrequiredarray of SaDateRange
partnership.​partners[].​missingPeriods[].​startrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​missingPeriods[].​endrequiredstring (date)

example "2026-03-31"

partnership.​partners[].​errorrequiredstringnullable
partnership.​reallocatedrequiredboolean
partnership.​unallocatedPencerequiredinteger

Integer pence (GBP).

partnership.​sa800requiredobject (Sa800Figures)
partnership.​sa800.​turnoverPencerequiredinteger

Integer pence (GBP).

partnership.​sa800.​accountingProfitPencerequiredinteger

Integer pence (GBP).

partnership.​sa800.​taxAdjustedProfitPencerequiredinteger

Integer pence (GBP).

partnership.​sa800.​sharesAgreerequiredboolean
privateUseUnrecordedrequiredobject (SaPrivateUseUnrecorded)
privateUseUnrecorded.​accountsrequiredarray of string
privateUseUnrecorded.​assetsrequiredarray of SaPrivateUseAsset
privateUseUnrecorded.​assets[].​idrequiredstring
privateUseUnrecorded.​assets[].​refrequiredstring
drawingsPencerequiredinteger

Integer pence (GBP).

Drawings per the final TB (debit positive).

allocatedToMembersPerTbPencerequiredinteger

Integer pence (GBP).

LLP: profit allocated to members per the final TB (debit positive).

summaryrequiredobject (SaSummary)

The overview stat: the taxable profit (sole traders) or the amount allocated to partners or members.

summary.​labelrequiredstring

example "Taxable profit 2025/26"

summary.​valuePencerequiredinteger

Integer pence (GBP).

summary.​detailrequiredstring
lockedReasonrequiredstringnullable

Why a preparer cannot change the inputs now (section T reviewed).

inputsSetUpboolean

The preparer has saved the inputs (PUT …/self-assessment/inputs) at least once, so the computation is set up.

Errors: 400 Bad request, 401 Unauthorised, 403 Forbidden, 404 Not found, 429 Too many requests, as problem details (application/problem+json).

Set the self assessment inputs

PUT/api/v1/engagements/{id}/self-assessment/inputs

Scopes
engagements:write and engagements:read

Replaces the whole set: expense treatment, adjustments, other periods of account, transition and overlap figures, partners and the profit-sharing arrangement. Locked to reviewers once T is reviewed. Part of the working_papers product: the firm must have it and you must have access to it.

Parameters

Parameters for PUT /api/v1/engagements/{id}/self-assessment/inputs
NameInTypeDescription
idrequiredpathstring (uuid)

Engagement id.

Request body

Required. application/json: object (SetSelfAssessmentInputs).

Request body for PUT /api/v1/engagements/{id}/self-assessment/inputs
FieldTypeDescription
accountsarray of SaAccountTreatment
accounts[].​coderequiredstring

Account code in the TB.

accounts[].​categoryrequiredstring (Sa103ExpenseCategory)nullable

SA103 expense line; null uses Tolvi’s suggestion.

One of: costOfGoods, constructionSubcontractors, wagesAndStaffCosts, carVanAndTravel, rentRatesPowerAndInsurance, repairsAndMaintenance, phoneFaxStationeryAndOffice, advertisingAndBusinessEntertainment, interestOnBankAndOtherLoans, bankCreditCardAndFinancialCharges, irrecoverableDebts, accountancyLegalAndProfessional, depreciationAndLossOnSale, otherBusinessExpenses

accounts[].​disallowablePencerequiredinteger

Integer pence (GBP).

Disallowable outright (fines, capital items). Depreciation and entertaining (M.dis) are always disallowed in full.

accounts[].​privateUsePercentrequirednumbernullable

Private-use share of the rest, in per cent; null = not considered yet (0 means none).

0 to 100

goodsForOwnUsePenceinteger

Integer pence (GBP).

otherAdjustmentsarray of SaAdjustmentInput
otherAdjustments[].​descriptionrequiredstring
otherAdjustments[].​amountPencerequiredinteger

Integer pence (GBP).

Positive adds back, negative deducts.

tradingAllowancestring (TradingAllowanceChoice)

Sole traders: auto claims the £1,000 trading allowance when it gives a lower profit. Never available for partnership income.

One of: auto, claim, none

lateAccountingDatesboolean
commencementDatestring (date)nullable

example "2026-03-31"

cessationDatestring (date)nullable

example "2026-03-31"

otherPeriodsarray of SaOtherPeriod
otherPeriods[].​startrequiredstring (date)

example "2026-03-31"

otherPeriods[].​endrequiredstring (date)

example "2026-03-31"

otherPeriods[].​profitPencerequiredinteger

Integer pence (GBP).

Tax-adjusted profit after capital allowances (negative for a loss).

otherPeriods[].​provisionalrequiredboolean

A provisional figure for a period not yet drawn up, to be amended once known.

overlapReliefPenceinteger

Integer pence (GBP).

transitionProfitPenceinteger

Integer pence (GBP).

lossesBroughtForwardPenceinteger

Integer pence (GBP).

partnersarray of SaPartner
partners[].​idrequiredstring

Your own short id for the partner, used in the arrangements.

up to 40 characters

partners[].​namerequiredstring
partners[].​kindrequiredstring (SaPartnerKind)

A company partner (or LLP corporate member) is charged to corporation tax on its share; no income tax working is done for it.

One of: individual, company

partners[].​joinedrequiredstring (date)nullable

example "2026-03-31"

partners[].​leftrequiredstring (date)nullable

example "2026-03-31"

partners[].​overlapReliefPencerequiredinteger

Integer pence (GBP).

Overlap relief brought forward, used in 2023/24.

partners[].​transitionProfitPencerequiredinteger

Integer pence (GBP).

The partner’s transition profit from 2023/24, spread over five years.

partners[].​lossesBroughtForwardPencerequiredinteger

Integer pence (GBP).

arrangementsarray of SaArrangement
arrangements[].​fromrequiredstring (date)

In force from this date until the next arrangement starts.

example "2026-03-31"

arrangements[].​sharesrequiredarray of SaPartnerShare
arrangements[].​shares[].​partnerIdrequiredstring
arrangements[].​shares[].​ratiorequiredinteger

Residual profit-sharing ratio, as whole-number weights (e.g. 50/35/15).

at least 0

arrangements[].​shares[].​salaryPencerequiredinteger

Integer pence (GBP).

Annual salary (prior share).

arrangements[].​shares[].​interestPencerequiredinteger

Integer pence (GBP).

Annual interest on capital.

Responses

200 OK, application/json

Body: object (SelfAssessmentComputation).

The fields are as shown above.

Errors: 400 Bad request, 401 Unauthorised, 403 Forbidden, 404 Not found, 429 Too many requests, as problem details (application/problem+json).