Skip to main content

createGRN

Requires permission purchase:grn:create.

Records goods received from a supplier into a warehouse, optionally against a purchase order. The supplier, warehouse, purchase order and every variant must exist, and the GRN's currency must match its purchase order's. Each line records accepted and rejected quantities: stock is posted for the accepted units only, at the line's unit cost, and the purchase order's received quantities are reconciled. Needs the goods receipt (GRN) feature on your plan.

Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.

Example:

mutation CreateGRN($createGRNInput: CreateGRNInput!) {
createGRN(createGRNInput: $createGRNInput) {
id
grnNumber
vehicleNumber
driverName
status
createdAt
inspector {
id
firstName
lastName
email
}
}
}

Variables:

{
"createGRNInput": {
"damageReported": true,
"items": [
{
"acceptedQuantity": 0,
"damageCount": 0,
"defectCount": 0,
"orderedQuantity": 0,
"productId": "string",
"receivedQuantity": 0,
"rejectedQuantity": 0,
"unitCost": 0,
"variantId": "string"
}
],
"shortageReported": true,
"status": "string",
"vendorPartnerId": "string",
"warehouseId": "string"
}
}

Response:

{
"data": {
"createGRN": {
"id": "id",
"grnNumber": "string",
"vehicleNumber": "string",
"driverName": "string",
"status": "string",
"createdAt": "2025-01-15T00:00:00Z",
"inspector": {
"id": "id",
"firstName": "string",
"lastName": "string",
"email": "string"
}
}
}
}

Record a goods receipt with no damage or shortage:

mutation CreateGRN($createGRNInput: CreateGRNInput!) {
createGRN(createGRNInput: $createGRNInput) {
id
grnNumber
status
totalReceivedQuantity
}
}

Variables:

{
"createGRNInput": {
"vendorPartnerId": "SUPPLIER_ID",
"warehouseId": "WAREHOUSE_ID",
"status": "RECEIVED",
"damageReported": false,
"shortageReported": false,
"items": [
{
"productId": "PRODUCT_ID",
"variantId": "VARIANT_ID",
"orderedQuantity": 10,
"receivedQuantity": 10,
"acceptedQuantity": 10,
"rejectedQuantity": 0,
"damageCount": 0,
"defectCount": 0,
"unitCost": 50
}
]
}
}

Response:

{
"data": {
"createGRN": {
"id": "GRN_ID",
"grnNumber": "GRN_NUMBER",
"status": "RECEIVED",
"totalReceivedQuantity": 10
}
}
}
createGRN(
createGRNInput: CreateGRNInput!
): GRN!

Arguments​

createGRN.createGRNInput ● CreateGRNInput! non-null input​

The goods receipt note to create.

Type​

GRN object​

A goods receipt note: goods received from a vendor into a warehouse, usually against a purchase order.