PurchaseOrder

IMPORTANT  The SOAP API entered a limited enhancement phase in Q4 2020. Access to version 1.6 will be deactivated.

This entity describes an Autotask Inventory module Purchase Order. Purchase orders allow users to track one or more products ordered and received from Vendor type accounts. Purchase orders must be submitted (Status = Submitted ) before items can be received. Autotask users create and manage purchase orders from the Inventory module.

The PurchaseOrder entity works together with the PurchaseOrderItem and PurchaseOrderReceive entities to track products ordered and received. PurchaseOrderItem describes an item ordered on the associated PurchaseOrder. PurchaseOrderReceive describes the transaction where the quantity of PurchaseOrderItems received (PurchaseOrderItem.QuantityNowReceiving) is debited from PurchaseOrderItem.Quantity, and added to the QuantityOnHand value of the associated InventoryItem entity. For more transaction details, refer to PurchaseOrderReceive.

IMPORTANT  The Autotask UI now allows the Quantity to change for purchase order items associated with a PurchaseOrder with status = Received Full and Received Partial. The Receive Purchase Order page is now "Receive/CancelReceipt of Purchase Order." From that page you can now "cancel" the receipt of items for Purchase Orders whose status equals ReceivedFull and ReceivedPartial. This new option will impact the PurchaseOrder and PurchaseOrderItem entities as indicated under Conditions and Requirements.

Entity details

You can also retrieve this information with the Web Services API call The getEntityInfo() SOAP API call.

Entity Name: PurchaseOrder
Can Create:
Can Update:
Can Query:
Can Delete:  
Can Have UDFs:  

Conditions and requirements

General

  • To create or update, you must have View and Create permission and Inventory access (site installed module access and security level feature and section access)
  • To query, you must have View permission and Inventory access (site installed module access and security level feature and section access)
  • A Purchase Order search conducted through the Autotask UI will not recognize Purchase Orders that do not have an associated Purchase Order Item. When working in the Autotask UI, a purchase order item must be associated with a purchase order at the time the purchase order is created. When working with the API, a PurchaseOrder entity is created before any PurchaseOrderItem entities are associated with it. These Purchase Orders, however, are not recognized in the UI as valid Purchase Orders until they are associated with one or more Purchase Order Items.
  • You may associate up to 300 items with any one Purchase Order.

Special field attributes

Field Conditions and Requirements
Freight In multi-currency databases, the provided value is assumed to be in the vendor's currency.

PurchaseOrderTemplateID

If PurchaseOrderTemplateID is null in the database, during query, the field will return the associated vendor account's (VendorID) PurchaseOrderTemplateID, if it exists. If no VendorID is associated, or if the VendorID is not associated with a PurchaseOrderTemplateID, then the system default purchase order template ID will return during query.
ShowTaxCategory ShowTaxCategory defaults to false.
Status

On create(), Status = New

On update():

  • Current Status can = New, Received Full, Received Partial, Canceled, or Submitted.
  • When status = 'Received Full' or 'Received Partial', PurchaseOrder update is limited to the following fields:

VendorInvoiceNumber
ExternalPONumber
PaymentTerm
TaxGroup
ShowTaxCategory
ShowEachTaxInGroup
GeneralMemo
PurchaseForAccountID

  • Status cannot be updated to ‘New’ or ‘Received in Full/Part’
  • Status cannot be updated from 'New' to 'Submitted' unless Purchase Order Items have been created for the Purchase Order.
  • Status can be updated to Canceled when current status = 'Submitted', but cannot be updated to 'Canceled' when the current Status = ‘ReceivedFull, or ReceivedPartial’.
  • On update(), the API will allow PurchaseOrderItem.Quantity to be updated when the status of the associated PurchaseOrder is ReceivedPartial or ReceivedFull. For additional details refer to Conditions and Requirements for PurchaseOrderItem.

When the current PurchaseOrder status is 'Received Full', and the PurchaseOrderItem.Quantity value for one or more associated PurchaseOrderItems is debited, the PurchaseOrder status is updated as follows:

  • If there are still received PurchaseOrderItem units associated with the PurchaseOrder, the status changes to 'Received Partial'.
  • If there are no received units associated with the PurchaseOrder after PurchaseOrderItem(s) are debited, the status changes to 'Submitted'. The PurchaseOrder status 'Submitted' can be changed to 'Canceled'.

When the current PurchaseOrder status is 'Received Partial', and the PurchaseOrderItem.Quantity value for one or more associated PurchaseOrderItems is debited, the PurchaseOrder status is updated as follows:

  • If there are still received PurchaseOrderItem units associated with the PurchaseOrder after the PurchaseOrderItem.Quantity is debited, the status remains 'Received Partial'.
  • If there are no received units remaining after PurchaseOrderItem.Quantity is debited, the status changes to 'Submitted'. The status 'Submitted' can be changed to 'Canceled'.
TaxGroup In Autotask, Tax Regions have replaced Tax Groups. To preserve existing API code, PurchaseOrder.TaxGroup now passes the TaxRegionID.
UseItemDescriptionsFrom If no value is provided for UseItemDescriptionsFrom, the API will use the default value specified in the Autotask Inventory system setting "Default Description to use for purchase order items."
VendorID VendorID must reference an active Account of AccountType = Vendor
VendorInvoiceNumber
  • During update, this field will act as read-only if any items on the purchase order have been received.

  • During query, this field will return the vendor invoice number associated directly with the purchase order, if one exists. Otherwise, the field will return the vendor invoice number associated with receipt of the first item on the purchase order.

  • When filtering, this field will do so on both the VendorInvoiceNumber and the AdditionalVendorInvoiceNumbers fields.

    • For example, a filter for VendorInvoiceNumber equal to "VIN1" will return any POs where the VendorInvoiceNumber or any AdditionalVendorInvoiceNumber values are "VIN1."

    • A filter for VendorInvoiceNumber not equal to "VIN1" will return any POs where the VendorInvoiceNumber and any AdditionalVendorInvoiceNumbers are not "VIN1."

Field definitions

Field Name Label Datatype Read Only Is Required Reference Name Picklist
AdditionalVendorInvoiceNumbers AdditionalVendorInvoiceNumbers string (8000)      
CancelDateTime Cancel Date datetime      
CreateDateTime Create Date datetime      
CreatorResourceID Creator Resource ID integer   Resource  
ExternalPONumber External Purchase Order Number string (50)        
Fax Fax string (25)        
Freight Freight Cost double        
GeneralMemo General Memo string (4000)        
id Order ID long    
ImpersonatorCreatorResourceID Impersonator Creator Resource ID integer   Resource

 

InternalCurrencyFreight Internal Currency Freight Cost double      
LatestEstimatedArrivalDate Latest Estimated Arrival Date datetime      
PaymentTerm Payment Term ID integer      
Phone Phone string (25)        
PurchaseForAccountID Purchase For Account ID integer     Account  
PurchaseOrderTemplateID Purchase Order Template ID integer

 

 

 

PurchaseOrderNumber

Purchase Order Number

string (50)

 

 

 

ShippingDate Expected Ship Date datetime        
ShippingType Shipping Type integer     ShippingType  
ShipToAddress1 Address Line 1 string (128)      
ShipToAddress2 Address Line 2 string (128)        
ShipToCity City string (30)        
ShipToName Addressee Name string (100)      
ShipToPostalCode Postal Code string (10)        
ShipToState State string (25)        
ShowEachTaxInGroup Show Each Tax in Group boolean        
ShowTaxCategory Show Tax Category boolean        
Status Order Status ID integer    
SubmitDateTime Submit Date datetime      
TaxGroup Tax Region ID integer      
UseItemDescriptionsFrom Use Item Descriptions From integer      
VendorID Vendor Account ID integer Account  
VendorInvoiceNumber Vendor Invoice Number string (50)