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), Submitting (being sent, or sent without HMRC confirming it; see statusMessage),
Submitted (awaiting HMRC), Accepted, or Error (HMRC rejected it; see errors)

Open Submitted Accepted Error Submitting

Open (collecting paid invoices), Submitting (being sent, or sent without HMRC confirming it; see statusMessage),
Submitted (awaiting HMRC), Accepted, or Error (HMRC rejected it; see errors)

Open Submitted Accepted Error Submitting

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 return cannot be submitted just now (the owner's billing: outstanding invoices with no direct
debit, or a block placed by CIS Manager; or, when the practice's filing credits pay, a balance below what the
return needs), or null when it can. Set on GET; submit answers 402 with it.

Why the return cannot be submitted just now (the owner's billing: outstanding invoices with no direct
debit, or a block placed by CIS Manager; or, when the practice's filing credits pay, a balance below what the
return needs), or null when it can. Set on GET; submit answers 402 with it.

creditsRequiredinteger

The filing credits a submit would use now: one per subcontractor beyond those already paid for this month,
one for a nil return. Only for a submittable return of an organisation in a SodiumHQ-managed practice, whose
filing credits pay for its returns; null otherwise

The filing credits a submit would use now: one per subcontractor beyond those already paid for this month,
one for a nil return. Only for a submittable return of an organisation in a SodiumHQ-managed practice, whose
filing credits pay for its returns; null otherwise

creditBalanceinteger

The practice's filing credit balance, for an organisation in a SodiumHQ-managed practice; null otherwise or
when it cannot be read just now

The practice's filing credit balance, for an organisation in a SodiumHQ-managed practice; null otherwise or
when it cannot be read just now

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