---
title: "Create a single receipt"
method: POST
path: "/receipts"
tags: ["receipts"]
---

# Create a single receipt

`POST /receipts`

Creates a new receipt linked to an existing purchase order. The `receipt_number` field is required and must be provided by the client

## Headers

- `Authorization` string, required
- `X-Api-Key` string, required
- `X-API-Version` string
- `Idempotency-Key` string

## Request body

- ReceiptCreateRequest — To identify the PO, provide either ottimate_po_id OR the lookup combination: erp_vendor_id + ottimate_location_id + (po_number OR po_external_id).
  - `ottimate_po_id` string — Ottimate-assigned purchase order ID. Required unless using PO lookup fields (erp_vendor_id + ottimate_location_id + po_number/po_external_id).
  - `ottimate_location_id` integer — Location ID for PO lookup. Required when using lookup fields instead of ottimate_po_id.
  - `erp_vendor_id` string — ERP vendor ID for PO lookup. Required when using lookup fields instead of ottimate_po_id.
  - `po_number` string — PO number for lookup. Use with erp_vendor_id + ottimate_location_id when ottimate_po_id is not provided.
  - `po_external_id` string — External ID (dd_unique_key) of the PO for lookup. Alternative to po_number.
  - `external_id` string — External unique identifier for this receipt.
  - `receipt_number` string, required
  - `date` string, date, required
  - `total_amount` number, double, required
  - `invoice_number_ref` string — Invoice reference number
  - `note` string
  - `items` ReceiptCreateRequestItemsItems[], required
    - `external_id` string — External unique identifier for this receipt item.
    - `ottimate_po_item_id` string — Ottimate-assigned PO item ID. Required unless po_external_item_id or sku is provided.
    - `po_external_item_id` string — External ID (dd_unique_key) of the PO item — used for lookup when ottimate_po_item_id is not provided.
    - `sku` string — SKU of the PO item — used for lookup when ottimate_po_item_id and po_external_item_id are not provided. Must match exactly one item on the PO.
    - `quantity` number, double, required
    - `price` number, double
    - `uom` string

## Response `201`

Successfully created

- ReceiptCreateResponse
  - `id` string, required
  - `external_id` string
  - `receipt_number` string
  - `status` 'open' | 'pending' | 'flagged' | 'closed' | 'archived' | 'deleted', required
  - `ottimate_po_id` string
  - `date` string, date
  - `total_amount` number, double
  - `items_count` integer
  - `created_date` string, date-time — Creation timestamp. UTC ISO 8601, e.g. "2024-01-16T14:30:00Z".

## Other responses

- `400` — Bad request - Invalid parameters or request format
- `403` — Forbidden - Access denied or insufficient permissions

---

[API](https://skmtc.dev/ottimate/apis/api-reference.md) · [All operations](https://skmtc.dev/ottimate/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ottimate/api-reference/revisions/ba91ff4c6969/schema)
