Create multiple SKUs (Stock Keeping Units) in your inventory in a single request
application/json
| Parameter | Type | Required | Description |
|---|---|---|---|
skus | array | Yes | List of SKUs to create. Minimum 1, maximum 100 items per request |
skus array must contain:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name of the SKU (1–128 characters) |
itemCode | string | No | Item code for the SKU (1–256 characters) |
unit | string | No | Unit of measurement, e.g. pcs, kg, litre (max 32 characters) |
rate | number | No | Default unit rate or price for the SKU |
hsnSac | string | No | HSN or SAC code for GST classification (max 16 characters) |
Tip:itemCodeis matched case-insensitively against purchase order line items —SKU-001andsku-001are treated as the same code.
200 OK
| Field | Type | Description |
|---|---|---|
ok | boolean | true when the request was processed (even if some SKUs failed) |
data | object | Summary of the bulk operation |
data.total | number | Total number of SKUs submitted |
data.successCount | number | Number of SKUs successfully created |
data.failureCount | number | Number of SKUs that failed to create |
data.created | array | List of successfully created SKUs |
data.failed | array | List of SKUs that failed to create |
| Field | Type | Description |
|---|---|---|
name | string | Display name of the SKU |
itemCode | string | null | Item code of the SKU (null if not provided) |
unit | string | null | Unit of measurement (null if not provided) |
rate | number | null | Default unit rate (null if not provided) |
hsnSac | string | null | HSN/SAC code (null if not provided) |
| Field | Type | Description |
|---|---|---|
name | string | Name of the SKU that failed |
itemCode | string | null | Item code of the SKU that failed |
error | string | Reason for failure |
200 OK and reports which succeeded and which failed:
400 Bad Request
400 Bad Request
400 Bad Request
401 Unauthorized
403 Forbidden
skuName or skuCode on each line item when creating or updating a purchase order.
skuCode takes priority over skuName. If the skuCode match fails, the system does not fall back to skuName for the same item — a separate warning is returned.
| Field | Match strategy |
|---|---|
skuCode | Exact match, case-insensitive |
skuName | Exact match, case-insensitive |
skuMatchWarnings array describing which line items could not be linked:
A missing SKU match is a warning, not an error — the purchase order is created successfully regardless.
itemCode scheme (e.g., CATEGORY-NUMBER) so that external systems can reliably match line itemsskuNamename is limited to 128 characters — ensure your names stay within this limitskuCode over skuName for matching — codes are more stable than display nameshsnSac for items subject to GST to ensure correct tax classification downstreamskuMatchWarnings in your integration to detect and remediate unmatched line items