MtdOtherIncomeDto
Everything HMRC hold for a client's tax year outside their trading income: dividends, savings,
employment income, reliefs and capital gains.
One read, not fourteen. HMRC keep these as fourteen independent resources across five APIs, and
asking for them one at a time costs a round trip per resource all the way down the chain,
re-resolves the client on each, re-reads the same submission stamps on each, and then has to be
paced from the browser so HMRC's rate limiter does not refuse the burst. The MTD service does
all of it in one exchange, because how hard HMRC may be asked is knowledge about HMRC.
Values, not flags. Summarising the five headings and opening the form to edit one of them need
the same reads, so a summary-only read would only put the fourteen calls back one heading at a
time.
Properties
| Name | Type | Description |
|---|---|---|
| clientCode | string | The Sodium client the year belongs to, stamped by the API on the way out. |
The Sodium client the year belongs 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. | ||
| unavailableAreas | array of string | The areas HMRC could not be asked about, named as One area failing does not fail the read. Fourteen calls is enough that a rate limit or a A named area's values mean nothing. Showing "nothing reported" for it would |
The areas HMRC could not be asked about, named as One area failing does not fail the read. Fourteen calls is enough that a rate limit or a A named area's values mean nothing. Showing "nothing reported" for it would | ||
| ukDividends | MtdUkDividendsDto | |
| foreignDividends | MtdDividendsIncomeDto | |
| savingsAccounts | MtdSavingsAccountsDto | |
| otherSavings | MtdOtherSavingsDto | |
| employments | MtdEmploymentsDto | |
| nonPayeEmployment | MtdNonPayeEmploymentDto | |
| otherEmploymentIncome | MtdOtherEmploymentIncomeDto | |
| reliefs | MtdReliefsDto | |
| otherCapitalGains | MtdOtherCapitalGainsDto | |
| residentialDisposals | MtdCgtResidentialDisposalsDto | |
JSON Example
{
"clientCode": "string",
"taxYear": "string",
"unavailableAreas": [
"string"
],
"ukDividends": {
"clientCode": "string",
"taxYear": "string",
"isHeld": false,
"lastAction": "...",
"ukDividends": "..."
},
"foreignDividends": {
"clientCode": "string",
"taxYear": "string",
"isHeld": false,
"lastAction": "...",
"dividends": "..."
}
}