---
title: "Update_PurchaseOrderItem"
method: POST
path: "/api/PurchaseOrder/Update_PurchaseOrderItem"
tags: ["PurchaseOrder"]
---

# Update_PurchaseOrderItem

`POST /api/PurchaseOrder/Update_PurchaseOrderItem`

Update purchase order item, quantity, cost, pack size, pack quantity, in PENDING order only. Returns class that represents modified/recalculated purchase order header and modified purchase order item line
<b>Permissions Required: </b> GlobalPermissions.Inventory.PurchaseOrder.EditPurchaseOrderNode
<b>Rate limit: </b><span style="background-color:#0272d9;color:white;padding:4px 8px;text-align:center;border-radius:5px; font-size: small;"><b>150</b></span> / minute

## Request body

- PurchaseOrderUpdatePurchaseOrderItemRequest
  - `updateItemParameter` UpdatePurchaseOrderItemParameter — Update purchase order item parameter
    - `pkPurchaseItemId` string, uuid — Purchase order item unique row identifier
    - `pkPurchaseId` string, uuid — Purchase order id
    - `Quantity` integer — Quantity to be updated. (optional)
    - `PackQuantity` integer — Number of items in a single pack. This is for reference purposes only. Not used for any calculations. Optional
    - `PackSize` integer — Number of packs ordered. This is for reference purposes only. Not used for any calculations. Optional
    - `Cost` number, double — Line Total cost of all the purchase order item inclusive of tax (unitcost * qty) + tax. Value should be in the currency of the purchase order (Optional) if not specified the cost will be recalculated from current cost specified on the PO
    - `TaxRate` number, double — Tax Rate (Optional)

## Response `200`

OK

- UpdatePurchaseOrderItemResponse — Response from update/add purchase order item, contains newly added purchase order item line and Purchase order header with recaluclated totals
  - `NewPurchaseOrderItem` CommonPurchaseOrderItem — Class represents purchase order item.
    - `pkPurchaseItemId` string, uuid — Unique record identifier. Use this id to update quantity, cost, deliver item etc
    - `fkStockItemId` string, uuid — Unique system stock identifier. Use this id to query linnworks api for product information, stock levels etc
    - `StockItemIntId` integer — Unique system stock integer identifier. Use this id to query linnworks api for product information, stock levels etc
    - `Quantity` integer — Quantity of unique stock items ordered
    - `Cost` number, double — Line Total cost of all the purchase order item inclusive of tax (unitcost * qty) + tax
    - `Delivered` integer — Number of items delivered on the PO. If this number is more than 1, purchase order item cannot be deleted from the PO. Cannot be decreased.
    - `TaxRate` number, double — Tax rate as a whole number, for example 20 represents 20%
    - `Tax` number, double — Tax calculated from Cost * (TaxRate/100)
    - `PackQuantity` integer — Arbitary identifier of how many packs ordered. Number not used in any of the calculation and purely for visualization and minimum reorder quantity purposes only
    - `PackSize` integer — Arbitary identifier of how many items in each pack. Number not used in any of the calculation and purely for visualization and minimum reorder quantity purposes only
    - `SKU` string — Item SKU
    - `ItemTitle` string — Item Title
    - `InventoryTrackingType` integer — Stock item tracking type. 0 = none. 1 = Ordered by Sell by Date. 2 = Ordered by Priority Sequence
    - `IsDeleted` boolean — Whether or not the stock item for this purchase order item has been deleted in the system
    - `SortOrder` integer — Order the item was added to PO. First item = 0
    - `DimHeight` number, double — Item height
    - `DimWidth` number, double — Item Width
    - `BarcodeNumber` string — Barcode
    - `DimDepth` number, double — Item Depth
    - `BoundToOpenOrdersItems` integer — Number of open order items this item is bound
    - `BinRack` string — Bin rack
    - `QuantityBoundToOpenOrdersItems` integer — Sum of quantity of items bound to open order items
    - `SupplierCode` string — Supplier Code
    - `SupplierBarcode` string
    - `SkuGroupIds` integer[] — Sku group id assocaited with purchase item. Used for containerisation.
  - `PurchaseOrderHeader` CommonPurchaseOrderHeader — Class represents purchase order header.
    - `pkPurchaseID` string, uuid — Unique identifier for the purchase order. You have to use this ID for all updates to the PO
    - `fkSupplierId` string, uuid — Unique identifier for the supplier. Empty Guid is default supplier. Otherwise use Supplier API to get the names and additional data for the supplier
    - `fkLocationId` string, uuid — Unique idenfidier of the location where the PO is expected to be delivered to. Empty Guid is default location. Use Locations API methods to get the names and additional details for the locations
    - `ExternalInvoiceNumber` string — Purchase order reference number
    - `Status` 'PENDING' | 'OPEN' | 'PARTIAL' | 'DELIVERED' — Purchase order status. PENDING - purchase order can be changed, not yet affecting stock levels OPEN - purchase order is created and stock levels Due are reflected PARTIAL - partially delivered DELIVERED - fully delivered
    - `Currency` string — Currency of the monetary values in the purchase order
    - `SupplierReferenceNumber` string — Supplier reference number for the purchase order
    - `Locked` boolean — Identified whether the PO is locked. This is for external application use only.
    - `UnitAmountTaxIncludedType` integer — Unit amount includes,exclud or no tax. 0 - Tax Exclusive cost, 1 - Cost Inclusive of tax, 2 - No Tax
    - `LineCount` integer — Number of items in the purchase order
    - `DeliveredLinesCount` integer — Count of all purchase order lines which are delivered (lines where some but not all of the stock has been received are counted as undelivered)
    - `DateOfPurchase` string, date-time — DateTime of the purchase order UTC
    - `DateOfDelivery` string, date-time — DateTime of the purchase order delivered, will be set to DateOfPurchase until the PO is fully delivered UTC
    - `QuotedDeliveryDate` string, date-time — DateTime of the purchase order qouted/expected delivery date UTC
    - `PostagePaid` number, double — **DEPRECIATED** Use additional costs with Shipping flag to record shipping costs. This field remains available in the API for backward compatibility and acts pretty much like an additional cost item with type id = 0
    - `TotalCost` number, double — Total purchase price of the purchase order. Calculated from all purchase order items including tax and postage.
    - `taxPaid` number, double — Total tax of the purchase order. Calculated from all purchase order items (excludes postage).
    - `ShippingTaxRate` number, double — **DEPRECIATED** Use additional costs with Shipping flag to record shipping costs. This field remains available in the API for backward compatibility and acts pretty much like an additional cost item with type id = 0
    - `ConversionRate` number, double — Conversion rate of the purchase order currency. When PO is delivered Stock Value will be multipled by this conversion rate. For example if your system currency is GBP and Purchase order is in EUR the conversion rate is 0.81.
    - `ConvertedShippingCost` number, double — Total shipping cost of the purchase order, converted to system currency
    - `ConvertedShippingTax` number, double — Total shipping cost tax of the purchase order, converted to system currency
    - `ConvertedOtherCost` number, double — Total amount of additional costs of the purchase order, converted to system currency
    - `ConvertedOtherTax` number, double — Total tax amount of additional costs of the purchase order, converted to system currency
    - `ConvertedGrandTotal` number, double — Total amount of the purchase order, converted to system currency
  - `BatchInventoryId` integer — If the item was batched or booked into a WMS location, this is the batch inventory id for the booked in stock. If an item was not delivered or was a non batched item, this will be null.

---

[API](https://skmtc.net/linnworks/apis/authenticate-api.md) · [All operations](https://skmtc.net/linnworks/apis/authenticate-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/linnworks/authenticate-api/versions/0123569a22fb/schema)
