# Procurements Update

> Triggered when a procurement is updated. Reference for the Shoplazza procurements/update webhook: request headers and payload fields.

**Webhook** procurements/update

Triggered when a procurement is updated.

Requires the `product` [access scope](/docs/app/building-blocks/authentication/access-scopes). Minimum supported version: `202007`.

## Request headers

- `X-Shoplazza-Topic` string

  The event that triggered this delivery, e.g. orders/create

  **Example:** `orders/create`
- `X-Shoplazza-Hmac-Sha256` string

  Base64-encoded HMAC-SHA256 signature of the request body, generated with your app's Client Secret. Use it to verify the request comes from Shoplazza
- `X-Shoplazza-Shop-Domain` string

  The domain of the store that generated the event

  **Example:** `example.myshoplaza.com`
- `X-Shoplazza-Api-Version` string

  The API version used to serialize the payload

  **Example:** `2025-06`
- `X-Shoplazza-Deduplication-ID` string

  Deduplication ID for this delivery. It stays the same across retries of the same event—use it for idempotency

## Request body

**Schema | Example**

- `procurement` object

  - `created_at` string

    Creation time
  - `location_id` integer

    Target warehouse ID
  - `note` string

    Note
  - `pending_quantity` integer

    In-transit quantity
  - `procurement_id` integer

    Procurement ID
  - `procurement_items` object[]

    Procurement line items

    *   Array [

    - `expiration_date` string

      Expiration date
    - `id` integer

      Item ID
    - `lot_number` string

      Lot number
    - `pending_quantity` integer

      In-transit quantity
    - `purchase_price` string

      Purchase price
    - `received_quantity` integer

      Received quantity
    - `rejected_quantity` integer

      Rejected quantity
    - `shipped_quantity` integer

      Shipped quantity
    - `shipped_received_quantity` integer

      Quantity received on shipment
    - `transfer_quantity` integer

      Purchase / transfer quantity
    - `variant_id` string

      Variant UUID
    - `variant_sku` string

      SKU
    *   ]
  - `procurement_no` string

    Procurement number
  - `received_quantity` integer

    Received quantity
  - `rejected_quantity` integer

    Rejected quantity
  - `sn` string

    Serial number
  - `source_id` integer

    Supplier ID or warehouse ID
  - `source_type` integer

    Source type. 1 = supplier ID, 2 = warehouse ID
  - `state` integer

    State. 1 = pending, 2 = partial, 3 = completed, 4 = cancelled
  - `supplier_name` string

    Supplier name
  - `transfer_quantity` integer

    Purchase / transfer quantity
  - `updated_at` string

    Update time

```json
{
  "procurement": {
    "created_at": "string",
    "location_id": 0,
    "note": "string",
    "pending_quantity": 0,
    "procurement_id": 0,
    "procurement_items": [
      {
        "expiration_date": "string",
        "id": 0,
        "lot_number": "string",
        "pending_quantity": 0,
        "purchase_price": "string",
        "received_quantity": 0,
        "rejected_quantity": 0,
        "shipped_quantity": 0,
        "shipped_received_quantity": 0,
        "transfer_quantity": 0,
        "variant_id": "string",
        "variant_sku": "string"
      }
    ],
    "procurement_no": "string",
    "received_quantity": 0,
    "rejected_quantity": 0,
    "sn": "string",
    "source_id": 0,
    "source_type": 0,
    "state": 0,
    "supplier_name": "string",
    "transfer_quantity": 0,
    "updated_at": "string"
  }
}
```
