---
title: "CIS deduction, gross to net"
method: POST
path: "/api/v1/deduction"
tags: ["CIS"]
---

# CIS deduction, gross to net

`POST /api/v1/deduction`

## Request

- Base URL: `https://0sand1s.co.uk`
- URL: `https://0sand1s.co.uk/api/v1/deduction`
- Auth: none declared

Works out the CIS deduction on a payment to a subcontractor, from the gross bill to the net payment. Takes the gross including VAT, the VAT, the subcontractor's materials and the rate (0, 20 or 30). VAT is never taxed under CIS and materials come off before the rate applies; the deduction is rounded down to the penny. Returns each step of the working, money in pence and pounds. Does not cover retentions, or decide which rate applies (verify the subcontractor with HMRC for that). The same as the GET, with the input as a JSON body.

## Request body

- object
  - `gross` string, required: The amount being paid, including any VAT, before the CIS deduction. Pounds, as a string like "1,200.00" or a number like 1200.
  - `vat` string: The VAT within the gross. Leave out or 0 under the domestic reverse charge. Pounds, as a string like "1,200.00" or a number like 1200.
  - `materials` string: What the subcontractor paid for materials, plant hire, consumables and fuel (not travel) on the job. Without VAT if the subcontractor is VAT registered, with it if not. Pounds, as a string like "1,200.00" or a number like 1200.
  - `rate` 0 | 20 | 30, required: The subcontractor's CIS rate in per cent: 20 if registered, 30 if not registered or unmatched when verified, 0 for gross payment status

## Response `200`

The answer

- ToolResponse
  - `tool` string, required
  - `result` object, required: The answer. Amounts are { pence, pounds } objects; dates are YYYY-MM-DD.
  - `summary` string, required: The answer in one line
  - `sources` object[], required
    - `title` string
    - `url` string, uri
  - `see_also` string, uri, required: The page on 0sand1s.co.uk that does the same sum or explains the rule

## Other responses

- `400`: Input that could not be used, with a message per field
- `429`: More than 60 requests in a minute from one address

---

[API](https://skmtc.dev/0sand1s/apis/0s-and-1s-cis-api.md) · [All operations](https://skmtc.dev/0sand1s/apis/0s-and-1s-cis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/0sand1s/apis/0s-and-1s-cis-api/revisions/caf4279c7477?raw)
