---
title: "Create a purchase document of the given type"
method: POST
path: "/accounting/purchases/{purchaseType}"
tags: ["Purchases"]
---

# Create a purchase document of the given type

`POST /accounting/purchases/{purchaseType}`

## Request

- Base URL: `https://api.clearbooks.co.uk/v1`
- URL: `https://api.clearbooks.co.uk/v1/accounting/purchases/{purchaseType}`
- Auth: OAuth 2 (authorization code, authorization URL `https://secure.clearbooks.co.uk/account/action/oauth/`, token URL `https://api.clearbooks.co.uk/oauth/token`, scopes: `accounting.purchases:write`)

## Path parameters

- `purchaseType` 'bills' | 'creditNotes' | 'expenses', required

## Headers

- `X-Business-ID` integer

## Request body

- union
  - Bill
    - `id` integer
    - `documentNumber` string
    - `formattedDocumentNumber` string
    - `date` string, date, required
    - `dateAccrual` string, date
    - `datePaid` string, date
    - `reference` string
    - `currency` string: ISO 4217 currency code. If omitted the home currency of the account is used.
    - `exchangeRate` unknown
    - `description` string: Referred to as "summary" in the Clear Books UI.
    - `status` string
    - `gross` number, double
    - `net` number, double
    - `vat` number, double
    - `due` number, double
    - `vatTreatment` string, required
    - `lineItems` LineItem[], required
      - `description` string, required
      - `unitPrice` number, double, required
      - `quantity` number, double, required
      - `accountCode` integer, required
      - `vatRateKey` string, required: Must be set to "Manual" if vatAmount is provided.
      - `vatAmount` number, double: Must be provided if vatRateKey is set to "Manual". May not be provided otherwise.
      - `stockItem` integer
    - `supplierId` integer, required
    - `dateDue` string, date
  - PurchaseCreditNote
    - `id` integer
    - `documentNumber` string
    - `formattedDocumentNumber` string
    - `date` string, date, required
    - `dateAccrual` string, date
    - `datePaid` string, date
    - `reference` string
    - `currency` string: ISO 4217 currency code. If omitted the home currency of the account is used.
    - `exchangeRate` unknown
    - `description` string: Referred to as "summary" in the Clear Books UI.
    - `status` string
    - `gross` number, double
    - `net` number, double
    - `vat` number, double
    - `due` number, double
    - `vatTreatment` string, required
    - `lineItems` LineItem[], required
      - `description` string, required
      - `unitPrice` number, double, required
      - `quantity` number, double, required
      - `accountCode` integer, required
      - `vatRateKey` string, required: Must be set to "Manual" if vatAmount is provided.
      - `vatAmount` number, double: Must be provided if vatRateKey is set to "Manual". May not be provided otherwise.
      - `stockItem` integer
    - `supplierId` integer, required
  - Expense
    - `id` integer
    - `documentNumber` string
    - `formattedDocumentNumber` string
    - `date` string, date, required
    - `dateAccrual` string, date
    - `datePaid` string, date
    - `reference` string
    - `currency` string: ISO 4217 currency code. If omitted the home currency of the account is used.
    - `exchangeRate` unknown
    - `description` string: Referred to as "summary" in the Clear Books UI.
    - `status` string
    - `gross` number, double
    - `net` number, double
    - `vat` number, double
    - `due` number, double
    - `vatTreatment` string, required
    - `lineItems` LineItem[], required
      - `description` string, required
      - `unitPrice` number, double, required
      - `quantity` number, double, required
      - `accountCode` integer, required
      - `vatRateKey` string, required: Must be set to "Manual" if vatAmount is provided.
      - `vatAmount` number, double: Must be provided if vatRateKey is set to "Manual". May not be provided otherwise.
      - `stockItem` integer
    - `supplierId` integer, required
    - `employeeClaiming` integer, required

## Response `201`

Purchase document created

- union
  - Bill
    - `id` integer
    - `documentNumber` string
    - `formattedDocumentNumber` string
    - `date` string, date, required
    - `dateAccrual` string, date
    - `datePaid` string, date
    - `reference` string
    - `currency` string: ISO 4217 currency code. If omitted the home currency of the account is used.
    - `exchangeRate` unknown
    - `description` string: Referred to as "summary" in the Clear Books UI.
    - `status` string
    - `gross` number, double
    - `net` number, double
    - `vat` number, double
    - `due` number, double
    - `vatTreatment` string, required
    - `lineItems` LineItem[], required
      - `description` string, required
      - `unitPrice` number, double, required
      - `quantity` number, double, required
      - `accountCode` integer, required
      - `vatRateKey` string, required: Must be set to "Manual" if vatAmount is provided.
      - `vatAmount` number, double: Must be provided if vatRateKey is set to "Manual". May not be provided otherwise.
      - `stockItem` integer
    - `supplierId` integer, required
    - `dateDue` string, date
  - PurchaseCreditNote
    - `id` integer
    - `documentNumber` string
    - `formattedDocumentNumber` string
    - `date` string, date, required
    - `dateAccrual` string, date
    - `datePaid` string, date
    - `reference` string
    - `currency` string: ISO 4217 currency code. If omitted the home currency of the account is used.
    - `exchangeRate` unknown
    - `description` string: Referred to as "summary" in the Clear Books UI.
    - `status` string
    - `gross` number, double
    - `net` number, double
    - `vat` number, double
    - `due` number, double
    - `vatTreatment` string, required
    - `lineItems` LineItem[], required
      - `description` string, required
      - `unitPrice` number, double, required
      - `quantity` number, double, required
      - `accountCode` integer, required
      - `vatRateKey` string, required: Must be set to "Manual" if vatAmount is provided.
      - `vatAmount` number, double: Must be provided if vatRateKey is set to "Manual". May not be provided otherwise.
      - `stockItem` integer
    - `supplierId` integer, required
  - Expense
    - `id` integer
    - `documentNumber` string
    - `formattedDocumentNumber` string
    - `date` string, date, required
    - `dateAccrual` string, date
    - `datePaid` string, date
    - `reference` string
    - `currency` string: ISO 4217 currency code. If omitted the home currency of the account is used.
    - `exchangeRate` unknown
    - `description` string: Referred to as "summary" in the Clear Books UI.
    - `status` string
    - `gross` number, double
    - `net` number, double
    - `vat` number, double
    - `due` number, double
    - `vatTreatment` string, required
    - `lineItems` LineItem[], required
      - `description` string, required
      - `unitPrice` number, double, required
      - `quantity` number, double, required
      - `accountCode` integer, required
      - `vatRateKey` string, required: Must be set to "Manual" if vatAmount is provided.
      - `vatAmount` number, double: Must be provided if vatRateKey is set to "Manual". May not be provided otherwise.
      - `stockItem` integer
    - `supplierId` integer, required
    - `employeeClaiming` integer, required

## Other responses

- `400`: The request was malformed or missing required parameters
- `401`: A valid authorisation token is required to perform this action
- `403`: No permission was granted to perform this action
- `422`: The request was well formed, but could not be actioned due to business rule constraints
- `429`: The application is making too many requests and has been rate limited

---

[API](https://skmtc.dev/clearbooks/apis/clear-books-api.md) · [All operations](https://skmtc.dev/clearbooks/apis/clear-books-api/llms.txt) · [OpenAPI document](https://skmtc.dev/clearbooks/apis/clear-books-api/revisions/5e46fa6863a7?raw)
