Automate Business Central Approvals with Power Automate: A Beginner’s Guide
Important Note! This does not fully work! But it does help understand how an approval can be driven from Business Central so I decided to leave it here. ultimately you can’t release a purchase order from Pwer Automate without advanced API work which isn’t included in a “Beginners Giuide”
UPDATE! I added a post explaining how to release purchase orders via a custom API here
Welcome to PowerLogicHub.com!
In this first post, I want to show you how easy and powerful it is to automate a core business process using Microsoft’s Power Platform. Specifically, we’ll build a flow that automatically handles purchase order approvals in Business Central using Power Automate. Whether you’re new to automation or already exploring low-code tools, this guide will give you a practical, real-world scenario to start with.
Scenario Overview
In many businesses, purchase orders over a certain amount require approval. Instead of chasing people for emails or sign-offs, we can automate the entire process. Here’s the scenario:
A new purchase order is created or modified in Business Central.
If the amount exceeds £5,000, an approval request is sent to a manager.
The manager can approve or reject the request via email.
Based on the response, the PO status is updated in Business Central.
We need to control the flow of data in a different way to built in approval flows in BC
Prerequisites
To follow along, you need:
Access to Power Automate (included in most Microsoft 365 plans)
A Business Central environment (Sandbox or Production)
Appropriate permissions to create flows and connect to BC
An approver’s email address for testing
Step-by-Step: Building the Approval Flow
1. Trigger: When a record is modified
Use the Business Central connector in Power Automate.
Trigger: “When a record is modified (V3)”
Choose the Company, Environment, and Table (“purchaseOrders”)
Real-World Tip
Don’t try using “When a record is created”! During testing you may find this works if you create an entry fast. I have been informed there is something like a 30 second delay before BC triggers this after the record is created and that is when the document is first started. Essentially a blank record is created so 30 secconds later could be when you are half way through creating the document and not all the information is there.
2. Get Record
Environment: choose your sandbox environment
Company: choose the company you are testing in
API Category v2.0
Table Name: purchaseOrders
Row ID: get the dynamic content row id from the previous step
3. Condition: Amount > 5000
If the amount is more than 5000 we need to start a flow so add a condition to check
Click on “Condition” set the value in the left box to “Total Amount Excluding Vat” and the right box to 5000 the operator to “is greater that”
This will give a true/false output bast on that check and we can do different things based on that.
3. Send an Approval Email
Use “Start and wait for an approval”
Approval type: “Approve/Reject – First to respond”
Title: “Purchase Order Approval Request”
Details: Include PO number, vendor, and amount
4. Conditional Branch
In True Use “Send an email (V2)” outlook connector can configure to send an email
In False Use “Send an email (V2)” outlook connector can configure to send an email
Conclusion
So I don’t like this solution, we need to be able to change the status of the purchase order to released but that is not possible with standard API connections to Business Central from Power Automate. There are a couple of options moving forward:
Advanced option 1: create an API with a bound function to release the purchase order
I added a post explaining how to do this here!
Advanced Option 2: add a custom field to the purchase order for Approval Status, although this will not have any functionality in BC
Intermediate Option: Use sharepoint list to manage which one are approved and which are not.
For now it’s probably best to manage all this in BC with BC approvals until Microsoft allow us release documents using Power Auomate.
