---
title: "Create an purchase order"
method: POST
path: "/v1/finance/purchaseOrders"
tags: ["PurchaseOrders"]
---

# Create an purchase order

`POST /v1/finance/purchaseOrders`

Create a new purchase order (required scope finance:write)

## Headers

- `Customer-Id` integer, required

## Request body

- CreatePurchaseOrderModel — Represents a model that holds information about creating an purchase order
  - `jobId` integer, nullable — The unique identifier of the job associated with this purchase order, if applicable
  - `jobGroupId` integer, nullable — The unique identifier of the job group associated with this purchase order, if applicable
  - `contactId` integer, nullable — The unique identifier of the contact associated with this purchase order. Will reference the job or job group contact if not provided
  - `seriesId` integer, nullable — The unique identifier of the purchase order series. Required if you have PO Series setup, otherwise it must be omitted
  - `createdAt` string, date-time, nullable — The dateTime the purchase order was created. If null, will default to the current dateTime
  - `reference` string, nullable — The reference of the purchase order. If null, will default to an auto-generated reference
  - `currencyCode` 'EUR' | 'AUD' | 'GBP' | 'BGN' | 'CAD' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'LVL' | 'LTL' | 'MXN' | 'NZD' | 'NOK' | 'PLN' | 'RON' | 'RUB' | 'ZAR' | 'SEK' | 'CHF' | 'AED' | 'USD' — CurrencyCode definitions enum, matches currencies available in the BigChange Client Site<p>Possible values:</p><ul><li><b>EUR</b>: Euro</li><li><b>AUD</b>: Australian Dollar</li><li><b>GBP</b>: Pound Sterling</li><li><b>BGN</b>: Bulgarian Lev</li><li><b>CAD</b>: Canadian Dollar</li><li><b>CZK</b>: Czech Koruna</li><li><b>DKK</b>: Danish Krone</li><li><b>HUF</b>: Forint</li><li><b>ILS</b>: New Israeli Sheqel</li><li><b>LVL</b>: Latvian Lats - replaced by Euro</li><li><b>LTL</b>: Lithuanian Litas - replaced by Euro</li><li><b>MXN</b>: Mexican Peso</li><li><b>NZD</b>: New Zealand Dollar</li><li><b>NOK</b>: Norwegian Krone</li><li><b>PLN</b>: Zloty</li><li><b>RON</b>: Romanian Leu</li><li><b>RUB</b>: Russian Ruble</li><li><b>ZAR</b>: Rand</li><li><b>SEK</b>: Swedish Krona</li><li><b>CHF</b>: Swiss Franc</li><li><b>AED</b>: UAE Dirham</li><li><b>USD</b>: US Dollar</li></ul>
  - `deliverySiteContactId` integer, nullable — The unique identifier of the delivery site contact associated with this purchase order, if applicable
  - `supplierId` integer — The unique identifier of the supplier associated with the purchase order
  - `clientNotes` string, nullable — Notes on the purchase order
  - `internalNotes` string, nullable — Internal notes not visible to the client
  - `customFields` CustomFieldWriteModel[], nullable — Custom fields to set on the purchase order. If a custom field is omitted, its value will be set to the default value for that field
    - `definitionId` integer, required — The unique identifier of the associated custom field definition
    - `value` string, nullable — The value of this custom field. If set to null, any existing value will be unset

## Response `201`

Created

- PostResponseInt64 — Represents a response for a POST request, containing the ID of the newly created record
  - `id` integer — Identifier of the newly created record

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `422` — Unprocessable Content
- `500` — Internal Server Error

---

[API](https://skmtc.net/bigchange/apis/bigchange-dx.md) · [All operations](https://skmtc.net/bigchange/apis/bigchange-dx/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bigchange/bigchange-dx/revisions/916e669fc527/schema)
