API Docs / Schemas / MonthlyReturnDto

MonthlyReturnDto

A CIS monthly return (CIS300): the payments made to subcontractors in one tax month (the 6th to the 5th) and
what was deducted, submitted to HMRC once the month's invoices are marked paid. Identified by the calendar
year and month the tax month ends in.

Properties

Name Type Description
year*integer

The calendar year the tax month ends in

The calendar year the tax month ends in

month*integer

The calendar month (1 to 12) the tax month ends in (on the 5th)

The calendar month (1 to 12) the tax month ends in (on the 5th)

taxPeriodinteger

Year and month combined (YYYYMM)

Year and month combined (YYYYMM)

status*enum

Open (collecting paid invoices), Submitted (awaiting HMRC), Accepted, or Error (HMRC rejected it; see errors)

Open Submitted Accepted Error

Open (collecting paid invoices), Submitted (awaiting HMRC), Accepted, or Error (HMRC rejected it; see errors)

Open Submitted Accepted Error

statusMessagestring

The last status message: HMRC's acceptance receipt, the reason a submission failed, or a note that the return was re-opened

The last status message: HMRC's acceptance receipt, the reason a submission failed, or a note that the return was re-opened

errorsarray of string

HMRC's errors from the last submission, translated to plain language; null unless the status is Error

HMRC's errors from the last submission, translated to plain language; null unless the status is Error

displayNamestring

"Month ending 5th April '26"

"Month ending 5th April '26"

dueDate*string

The date the return must reach HMRC by (the 19th of the month)

The date the return must reach HMRC by (the 19th of the month)

isDue*boolean

Whether the tax month has ended and the return is not yet accepted

Whether the tax month has ended and the return is not yet accepted

isOverdue*boolean

Whether the due date has passed and the return is not yet accepted

Whether the due date has passed and the return is not yet accepted

isSubmittable*boolean

Whether the return can be submitted (Open or Error)

Whether the return can be submitted (Open or Error)

hasSubmission*boolean

Whether the return has been submitted to HMRC at least once (the submission child exists)

Whether the return has been submitted to HMRC at least once (the submission child exists)

submissionBlockedReasonstring

Why the tenant's owner cannot submit returns just now (their billing: outstanding invoices with no direct
debit, or a block placed by CIS Manager), or null when they can. Set on GET; submit answers 402 with it.

Why the tenant's owner cannot submit returns just now (their billing: outstanding invoices with no direct
debit, or a block placed by CIS Manager), or null when they can. Set on GET; submit answers 402 with it.

invoicesTotal*number

The total of the invoices paid in the month, before deductions (labour plus materials)

The total of the invoices paid in the month, before deductions (labour plus materials)

materials*number

The materials on those invoices

The materials on those invoices

labour*number

The labour on those invoices

The labour on those invoices

deductions*number

The CIS deductions made

The CIS deductions made

payments*number

The payments made (invoices total less deductions)

The payments made (invoices total less deductions)

invoiceCount*integer

The number of invoices paid in the month

The number of invoices paid in the month

contactCount*integer

The number of subcontractors paid in the month

The number of subcontractors paid in the month

createdDate*string

When the return was created

When the return was created

updatedDatestring

When the return was last changed

When the return was last changed

JSON Example

{
  "year": 0,
  "month": 0,
  "taxPeriod": 0,
  "status": "Open",
  "statusMessage": "string",
  "dueDate": "2024-01-01",
  "isDue": false,
  "isOverdue": false,
  "isSubmittable": false,
  "hasSubmission": false,
  "invoicesTotal": 0,
  "materials": 0,
  "labour": 0,
  "deductions": 0,
  "payments": 0,
  "invoiceCount": 0,
  "contactCount": 0,
  "createdDate": "2024-01-01T00:00:00Z"
}

Used By Operations

Contained in Schemas