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

# CreatePOsFromInventory

`POST /api/PurchaseOrder/CreatePOsFromInventory`

## Request

- Base URL: `https://eu-ext.linnworks.net`
- URL: `https://eu-ext.linnworks.net/api/PurchaseOrder/CreatePOsFromInventory`
- Auth: API key in header `Authorization`

<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

- PurchaseOrderCreatePOsFromInventoryRequest
  - `request` CreatePOsFromInventoryRequest
    - `ToCreate` MyInventoryPOCreationItems[]: A list of items that should either be added to a PO, either new or existing, depending on data
      - `IsNew` boolean: Denotes item should be added to a new PO
      - `PurchaseOrderId` string, uuid: If this is populated with a valid PurchaseOrderId, the item will be added to that PO
      - `OpenOrderItemsBound` string[]: List of open order items to be bound to the PO item
      - `StockItemId` string, uuid: Linnworks stock item Id
      - `SupplierId` string, uuid: Linnworks supplier Id
      - `SupplierName` string: Linnworks supplier name
      - `OustandingPOQuantity` integer: The amount of stock that has been requested in POs, but not delivered
      - `SuggestedReorderAmount` integer: The amount that has been calculated to reorder, which can be based on reoder point functionality, the average of previous POs or up to minimum level
      - `QuantityInDraftPOs` integer: The amount of stock already in a PO in pending state
      - `ItemTitle` string: Stock item title
      - `SKU` string: Stock item SKU
      - `ImageURL` string: The main stock item image file name
      - `SupplierAssigned` boolean: States whether an item has data for the requested supplier
      - `CalculationMethod` 'Error' | 'MinimumLevel' | 'PreviousPOs' | 'ReorderPoint' | 'OpenOrders': This describes how the suggested order quantity was calculated
      - `ErrorMessage` string: Description of any errors encountered while suggesting quantities
      - `CanBeOrdered` boolean: Defines whether an item can be ordered if the item has an error associated with it
      - `ErrorCode` 'NO_ERROR' | 'ABOVE_MIN_LEVEL' | 'SUPPLIER_NOT_FOUND' | 'NO_DEFAULT_SUPPLIER' | 'STOCK_LEVEL_UNKNOWN' | 'UNSPECIFIED_RP_ERROR' | 'NO_PREVIOUS_POS' | 'BELOW_SUPPLIER_MINIMUM' | 'NO_MINIMUM_LEVEL' | 'ITEM_UNTRACKED' | 'UNSUPPORTED_OO_REQUEST' | 'UNSUPPORTED_CALC_TYPE': Error code for the corresponding error message
      - `SupplierPackSize` integer: Pack size for the given item
      - `MinimumOrderQuantity` integer: Minimum Order Quantity for the given supplier
      - `RequestedSupplierId` string, uuid
    - `LocationId` string, uuid: Linnworks stock location id

## Response `200`

OK

- CreatePOsFromInventoryResponse
  - `PurchaseOrders` object: A dictionary where the key is supplier Id and the tuple represents the purchase order id and the external invoice number for that PO
  - `SkippedStockItems` string[]

---

[API](https://skmtc.dev/linnworks/apis/purchase-orders-api.md) - [All operations](https://skmtc.dev/linnworks/apis/purchase-orders-api/llms.txt) - [OpenAPI document](https://skmtc.dev/linnworks/apis/purchase-orders-api/revisions/d1598054b894?raw)
