MtdAnnualSubmissionDto
The year-end annual submission HMRC currently holds for one income source and tax year — the
adjustments, allowances and non-financial declarations that change the tax computation.
Unlike a quarterly update this is not a filing with a deadline and there is no local draft:
HMRC holds the authoritative values, a save replaces them in full, and this retrieve is what
seeds the form — including values another vendor sent. Nothing held is the normal state before
the first year-end submission, not an error.
Properties
| Name | Type | Description |
|---|---|---|
| clientCode | string | The Sodium client the values belong to, stamped by the API on the way out. |
The Sodium client the values belong to, stamped by the API on the way out. | ||
| taxYear | string | The tax year, in HMRC's format, e.g. 2025-26. |
The tax year, in HMRC's format, e.g. 2025-26. | ||
| isHeld | boolean | Whether HMRC hold anything for this resource and tax year. |
Whether HMRC hold anything for this resource and tax year. | ||
| lastAction | MtdSubmissionStampDto | |
| businessId | string | HMRC's identifier for the income source. |
HMRC's identifier for the income source. | ||
| incomeSourceType | enum | Unknown SelfEmployment UkProperty ForeignProperty |
Unknown SelfEmployment UkProperty ForeignProperty | ||
| selfEmployment | SelfEmploymentAnnualSubmission | |
| ukProperty | UkPropertyAnnualSubmission | |
| foreignProperty | ForeignPropertyAnnualSubmission | |
JSON Example
{
"clientCode": "string",
"taxYear": "string",
"isHeld": false,
"lastAction": {
"kind": "string",
"action": "string",
"reference": "string",
"taxYear": "string",
"performedByUserCode": "string"
},
"businessId": "string"
}