One of the FAQs on Dynamics 365 Field Service is about Purchasing capabilities – how does it work, what is supported and what extension options are. This article intends to cover the whats, the whys and the hows.
All of the screens and data mentioned in the article refers to out of the box vanilla environment and are current until Field Service ver 8.8x.
Create Purchase Order
‘Purchase Order’ is available in the Field Service app in the Inventory area.

Click on “+New” to create a new Purchase Order

The Purchase Order record maintains the following key information data:
- The header information: PO Number, Vendor, Purchase Order Date, Address
- Status and sub-status: Purchase Order status could be Draft, Submitted, Product received, Billed or Cancelled. The status roughly maps to the life cycle stage of the purchase order
- What the Purchase order is related to: Work Order, Booking
- Financials: Payment terms, Total Amount, Amount Billed, and
- Product: products and their quantities
We will first fill up data on the Purchase Order record and save it, and then add Products. Click on Products tab and click on “+New Purchase Order Product”

Select the product, enter quantity as 100 and click Save. You’ll notice a Line Order field which sequences product lines (Purchase Order Product records).

Go back to Purchase Order and move to the next stage in Business Process Flow:

Approve and submit Purchase Order
Generally, purchasing decisions go for approval which is the next stage of business process flow. Some automation can be configured here to send PO to respective team or individual based on which department is it related to, amount of PO, whether PO is related to work order or not etc. These configurations could be made using Power Automate Flows.
While in real life, the PO will go to an approval authority, over here, we will just approve it 😉and move to the next stage

Once PO is approved, the next step is to submit it. It could then be a PDF sent over email or some integration. Power Automate Flows or RPA tool like UI Flow are the usual choice of tools here.

Receive products
This stage may happen after a few days when ordered goods have arrived. To record that into the system, we will re-open the Purchase Order record and move it to the next process stage. The system prompts to create a ‘Purchase Order Receipt’ record to proceed, click on Create

This opens a create form. Optionally identify ‘Ship Via’, ‘Received By’ fields and enter notes. Save the record

Click on Receipt Products tab and click on ‘+New’

.. this will open a Quick Create form on the right. We’ll select the product (it will only show the product that was ordered in this Purchase Order). As soon as the product is select, it automatically populates the Quantity field with the total ‘remaining’ quantity. For example, if initially 100 was ordered and 25 is already received, in the new ‘Purchase Order Receipt Product’ record, it will automatically show 75. This feature is a huge help for the stores team to quickly enter the received quantity while also understanding how much is outstanding.

Once all products are received, we will move to the next stage of business process flow and select ‘Products Received’ as the status of Purchase Order.

Purchase Order Billing
After sending all the goods, the vendor will send an invoice. This could be offline, through email or in any other system. Once an invoice is received, we will go back to the Purchase Order and move it to the last stage – which will prompt for creating a Purchase Order Bill record. Click on Create to open a new form:

Enter the details and save the record. The two most important fields on this form are Invoice Number (vendor’s invoice) and Bill Date.

Once these details are entered, the business process flow can be ‘finished’:

.. and this is the end of the purchasing journey.
In the next post, we will look at how the purchasing experience can be configured through out-of-the-box options, and how this relate to Work Orders. If you have feedback or ideas to improve these articles, please do take a minute to write back. Thanks 🙂