Dynamics 365 Field Service : Create purchase orders
A Purchase Order (PO) in Dynamics 365 Field Service allows organizations to manage the procurement of products and services needed for work orders, inventory replenishment, or customer delivery.
When is it used?
- Stock levels in warehouses or vans are below minimum thresholds.
- Field agents require parts to fulfill work orders.
- A customer requests parts that are not in stock (backorder).
- To maintain vendor relationships and track external purchases.
Typical Flow:
1. Detect need for replenishment
- System detects stock levels below reorder point.
2. Create Purchase Order
- A PO record is created and linked to a vendor and warehouse.
3. Submit for approval (optional)
- Some businesses configure approval workflows.
4. Receive Products
- When vendor ships items, receiving is recorded.
5. Adjust inventory
- Stock levels are updated once the items are received.
Technical Components & Dataverse Tables
Relationships
- Purchase Order → Vendor (N:1)
- Purchase Order → Warehouse (N:1)
- Purchase Order → Purchase Order Products (1\:N)
- Purchase Order Product → Product (N:1)
Out-of-the-box Configuration Steps
Create a Purchase Order
1. Navigate to Field Service > Inventory > Purchase Orders.
2. Click + New.
3. Enter:
- Vendor
- Warehouse
- Status = Draft (initial)
4. Add Products:
- Select products, set quantities.
5. Submit for approval (if workflows enabled).
6. Change status to Submitted or Approved.
7. When items arrive, set status to Received.
Technical Flow: Under the Hood
Here’s what happens step by step:
User creates PO (UI / API)
- Record inserted into `msdyn_purchaseorder`.
- Plugins validate:
- Vendor existence.
- Warehouse association.
- Correct price lists.
Add products
- For each product, a record is created in `msdyn_purchaseorderproduct`.
- Quantity, unit price, tax calculated.
Status change triggers workflows
- Draft → Submitted:
- Triggers Power Automate Flow or plugin for approval.
- Submitted → Approved:
- Locks PO for editing.
- Approved → Received:
- Automatically creates `msdyn_inventoryadjustment` records.
- Stock levels updated in `msdyn_productinventory`.
Adjust Inventory
When PO is received, system:
- Creates inventory transaction records.
- Updates warehouse stock.
Security Roles
- Field Service Admin: Full CRUD
- Field Service Dispatcher: Read, create
- Field Technician: View-only
Gotchas (Important Points)
- Vendor must be linked to a price list.
- Warehouse must have capacity defined.
- Multi-warehouse scenarios need separate POs per warehouse.
- Work order-linked POs automatically reserve inventory for the work order.
- Plugins/Flows should handle partial receipts (not all products delivered at once).
Customization Ideas
- Auto-create POs when stock falls below threshold (plugin or Power Automate).
- Integrate directly with supplier APIs (EDI, XML, JSON).
- Add custom fields like Expected Delivery Date, Shipping Costs.
- Dashboard for procurement analytics (PO status, vendor performance).
Published on:
Learn moreRelated posts
Dynamics 365 Field Service – Create work orders from project tasks
We are announcing the ability to create work orders from project tasks in Dynamics 365 Project Operations. This feature will reach general ava...
What’s New in Dynamics 365 Field Service Mobile
Field Service Mobile just got smarter. New updates help technicians work faster, stay connected, and handle jobs with fewer clicks. The post ...
Dynamics 365 Field Service – Optimize multiple resources with Scheduling Operations Agent
We are announcing the ability to optimize multiple resources with Scheduling Operations Agent in Dynamics 365 Field Service. This feature will...
How We Successfully Removed the Resco Woodford Managed Solution from Dynamics 365 Field Service
Recently, we needed to remove the legacy Resco MobileCRM (Woodford) managed solution from a Dynamics 365 Field Service environment. Although t...
Unable to Delete Work Order Due to “The Time To Promised Must Be Later Than The Time From Promised” exception – Dynamics 365 Field Service
While attempting to delete a historical Dynamics 365 Field Service Work Order, we encountered the following error: Exception Message: The time...
Dynamics 365 Field Service – Explore Dataverse data with Microsoft 365 Copilot
We are announcing the ability for service managers, dispatchers, and back-office teams to query work orders, bookings, service history, and as...
How to Optimize Mobile Offline Profiles Using FetchXML in Dynamics 365 Field Service
In many Field Service implementations, mobile offline capability is essential, especially for technicians working in low or no network areas. ...
We need to talk about... Dynamics 365 Field Service... Release Wave 2 for 2025
Next in my blog, I will launch a series on the changes we can expect to see as part of Release Wave 2 for 2025. Microsoft’s 2025 Release Wave ...
Dynamics 365 Field Service: Optimize schedules with Scheduling Operations Agent
The Scheduling Operations Agent for Dynamics 365 Field Service enables dispatchers to quickly and easily optimize schedules for technicians as...
How to Use Copilot to Create Inspection Templates in Dynamics 365 Field Service from PDF and Image Uploads (2025 Guide)
Microsoft’s Dynamics 365 Field Service mobile app empowers field technicians to manage tasks, log inspections, and ensure compliance directly ...
