PurchaseOrderItems

This entity associates a Product entity with a PurchaseOrder entity. Purchase Orders are associated with a specific vendor Company. Products added to a purchase order as a PurchaseOrderItem can be "received" into Inventory, that is, added to an InventoryLocation as an InventoryItem. This allows users to track and manage the ordering and receipt of Inventory Items, for example, hardware, software, and supplies. You add products to purchase orders in the Inventory module.

The PurchaseOrderReceive entity describes the transactions that impact the quantities of PurchaseOrderItems received and "un-received" . Refer PurchaseOrderItemReceiving.

NOTE  You can refer to the Online Help to find root and child access URLs of the entity you wish to query. Refer to Finding resource and child access URLs of REST API entities for more information.

Entity details

Entity Name: PurchaseOrderItems

Entity Path:

/atservicesrest/v1.0/PurchaseOrderItems

Parent Entity:

PurchaseOrders

Can Create:
Can Update:
Can Query:
Can Delete:  
Can Have UDFs:  

Conditions and requirements

General

  • In Autotask, Inventory Add/Edit Items permission is required to create or update a purchase order item.
  • To query, you must have View permission and Inventory access (site installed module access and security level feature or section access)
  • To create or update, you must have View and Create permission and Inventory access (site installed module access and security level feature or section access)
  • The combination of productID, inventoryLocationID, and orderID does not have to be unique.
  • PurchaseOrderItems can only be created for PurchaseOrders with a status of New.
  • Updates to the PurchaseOrderItem are allowed when the PurchaseOrder has a status of New, Submitted, or ReceivedPartial.

Special field attributes

Field Conditions and Requirements
chargeID The ticket/project/contract chargeID must reference a valid cost with a status = NeedToOrder/Fulfill.
The chargeID cannot already belong to another purchase order.

internalCurrencyUnitCost

This entity field will return no information if the user account making the query does not have sufficient privileges to view cost data in the Autotask UI. Additionally, if an update request does not have the necessary permissions, the API will ignore the call's values for the field even if they are blank or would be otherwise required.

inventoryLocationID inventoryLocationID must reference an active InventoryLocation.
orderID On create, orderID must reference a PurchaseOrder with Status = New.
On update, orderID must reference a PurchaseOrder with Status = New, Received Partial, or ReceivedFull.
productID If no chargeID is supplied, productID is required.
If only a chargeID is supplied, then we will set the productID equal to the productID associated with the ticket/project/contract cost.
If both a chargeID and a productID are supplied, then the productID must match the productID associated to the ticket/project/contract cost. If they do not match, the API will return an error message.
quantity

quantity must be >= 1.

When a chargeID is supplied, the quantity cannot exceed the quantity of the Ticket/Project/ContractCharge during a create and update, and cannot exceed the previously saved amount during an update.

PurchaseOrder allows associated PurchaseOrderItem.quantity to be updated when PurchaseOrder status equals ReceivedFull or ReceivedPartial, as follows:

  • PurchaseOrderItem.quantity can be debited, but the debited amount must be >= to PurchaseOrderItem.quantityPreviouslyReceived or InventoryItem.quantityOnHand for the associated Inventory Item, whichever value is less.
  • PurchaseOrderItem.quantity can be increased if orderID references a PurchaseOrder with status = ReceivedPartial. It cannot be increased if orderID references a PurchaseOrder with status = ReceivedFull.
unitCost

unitCost must be  >= 0.00.
For multi-currency databases, values supplied for the unitCost field are assumed to be in the currency of the item's purchase order's vendor.

This entity field will return no information if the user account making the query does not have sufficient privileges to view cost data in the Autotask UI. Additionally, if an update request does not have the necessary permissions, the API will ignore the call's values for the field even if they are blank or would be otherwise required.

Field definitions

Field Name Datatype Read-Only Is Required Reference Name Picklist
chargeID integer        
contractID long   Contracts  
estimatedArrivalDate datetime        
id long    
internalCurrencyUnitCost decimal    
inventoryLocationID integer   InventoryLocations  
memo string (4000)        
orderID integer PurchaseOrders  
productID integer     Products  
projectID long   Projects  
quantity integer      
salesOrderID long   SalesOrders  
ticketID long   Tickets  
unitCost decimal      

Additional resources