Skip to content

Update Purchase Order Line Item

PUT
/purchase_orders/{purchase_order_id}/purchase_order_product_variants/{id}

Updates ONE line item in place. Accepts only received_quantity, display_position, quantity, cost, tax_rate, supplier_reference_number and supplier_title, wrapped in a purchase_order_product_variant envelope.

WARNING: received_quantity here adjusts warehouse stock but does NOT update the line item’s stored received count, which leaves the two out of step. To record a receipt, send nested purchase_order_product_variants_attributes on Update Purchase Order instead - that path applies the delta to both.

purchase_order_id
required
integer
Example
491
id
required
integer

Line item (purchase_order_product_variant) id.

Example
1575
x-api-key
string

E.g. 123

Example
123
object
purchase_order_product_variant
required
object
quantity
integer
cost
number
tax_rate
number
display_position
integer
supplier_reference_number
string
supplier_title
string
received_quantity

See the warning above - prefer Update Purchase Order.

integer
Example
{
"purchase_order_product_variant": {
"quantity": 12,
"cost": 9.5
}
}

OK. Returns the updated line item.

object
id
number
product_variant_id
number
quantity
number
received
number
cost

Decimal serialized as a string.

string

Validation failed. Returns an array of error messages.

The user lacks the manage_purchase_orders permission. Body is {"error_messages":[...]}. This route has no plan-feature gate.

Purchase order or line item not found for this company.