---
title: "Create Product Consumption Transaction"
method: POST
path: "/product/consumption"
---

# Create Product Consumption Transaction

`POST /product/consumption`

## Request

- Base URL: `https://dc-region.zuperpro.com/api`
- URL: `https://dc-region.zuperpro.com/api/product/consumption`
- Auth: API key in header `x-api-key`

Records stock usage/return against a job, invoice, estimate, or service contract. CONSUMED decrements stock at the location; RETURNED increments it. If the product has track_quantity=false, only the transaction record is created — no stock levels are mutated.

## Request body

- object
  - `transaction` object, required
    - `product_uid` string, required
    - `location_uid` string, required
    - `quantity` number, required
    - `consumption_type` 'CONSUMED' | 'RETURNED', required
    - `module_name` 'JOB' | 'INVOICE' | 'ESTIMATE' | 'SERVICE_CONTRACT', required
    - `serial_nos` string[]
    - `remarks` string

## Response `200`

200

## Other responses

- `400`: 400

## Changes

- **2026-11-03** `3c21bc232e16`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zuper/apis/zuper-pro-api/changes/product/consumption/post.md)

---

[API](https://skmtc.dev/zuper/apis/zuper-pro-api.md) - [All operations](https://skmtc.dev/zuper/apis/zuper-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zuper/apis/zuper-pro-api/revisions/3c21bc232e16?raw)
