The receipt nobody posted. Chased, confirmed, recorded.
The PO Receipt Chase Agent is an AI agent for Dynamics 365 Finance & Supply Chain Management that works the overdue purchase-order backlog for the buyer. It finds every open PO line past its delivery date, groups the late lines by buyer with days overdue and quantity outstanding, takes the plant's confirmation of what arrived, and posts the product receipt only after a person approves the exact receipt it is about to record. Once the receipt is posted the vendor invoice can three-way match, which is how the received-not-invoiced (GRNI) backlog and the unmatched-invoice queue both shrink. It runs on test data in a demonstration environment today.
Overdue lines by buyer
Illustration · test data| Buyer | Late lines | Oldest, days |
|---|---|---|
| Buyer group 01 | 7 | 19 |
| Buyer group 04 | 4 | 12 |
| Buyer group 02 | 2 | 6 |
Proposed product receipt
PO line past due · quantity confirmed by the plant · delivery note as receipt number
Waiting for your yes before anything posts.
Where the month goes: the receipt nobody posted
When goods arrive late, or arrive and are never recorded, the company pays for it in delays. Purchase orders pass their delivery date, nobody is sure what has really arrived, and buyers spend hours calling plants and vendors to find out.
The knock-on effect is in finance. Dynamics 365 matches a vendor invoice against the purchase order and the product receipt. If the receipt was never posted, the invoice cannot match: it sits in the pending vendor invoice list with a matching discrepancy, the vendor chases for payment, and the team clears it by hand at period close. The mirror image is GRNI, goods received not invoiced: receipts posted, invoices not yet matched, an accrued-purchases balance that has to be aged and explained every month.
Today the chase is three hand-offs. Someone builds a list of late orders, someone else asks the plant, and a third person keys the receipt. Each hand-off is a chance for a line to be forgotten.
An open purchase order line past its confirmed delivery date with quantity still to receive. Dynamics 365 records the date and the remaining quantity. It does not chase either.
Goods on the dock, no product receipt posted. The vendor's invoice arrives, fails to match, and waits in the pending queue until a person finds out what came in.
Receipts posted, invoices not yet matched: the GRNI balance. It is real, it ages, and at close someone has to explain every line of it.
How it works, in four steps
The agent runs inside Dynamics 365, the system the business already uses, so there is no new software to learn and no data copied into a separate tool. People talk to it in plain language: “Show me all overdue purchase orders.”
- 01
Find
The agent reads the open purchase orders live and picks out every order line that is past its delivery date and still waiting for goods. Lines not yet due are left out.
- 02
Report
It shows the late lines grouped by buyer, with days overdue and units still outstanding on each, and suggests who to contact first. The list a buyer used to build by hand appears in seconds.
- 03
Confirm
The plant or the buyer tells the agent what actually arrived: the quantity and the delivery note number. That delivery note number becomes the product receipt number in Dynamics 365.
- 04
Record
The agent checks the quantity against what is still outstanding, shows the exact receipt it is about to post, and waits for a yes. Only after approval does it post the product receipt, then it reads the result back so the person can see it is done.
Once the receipt is posted the order line shows as received and the vendor invoice can match and be paid. The GRNI chase and the invoice chase are the same chase, worked from the receipt side.
What the buyer, the plant and finance get
Five things, each of them visible in Dynamics 365 the day the agent starts working the list.
A clear picture at any time
Overdue orders by buyer, with days overdue and quantity outstanding, in seconds instead of a manual report.
Less chasing by hand
Buyers see what to follow up first and no longer build the list themselves.
Faster invoice matching
Receipts are posted sooner, so vendor invoices three-way match and are paid on time, and the pending-invoice queue stops growing.
Control stays with people
The agent never posts anything without showing the receipt first and getting a yes. It will not receive more than the quantity still outstanding on the line.
A traceable result
Every receipt is a normal product receipt in Dynamics 365, posted under the agent's own user and security role, where finance and auditors see it in the ordinary records.
Where it stands today, exactly
We publish a status against everything we show, because “we do that” is the sentence that wastes a buyer’s quarter.
Find and report overdue purchase order lines by buyer
WorkingRuns today on test data in a demonstration environment. A short recorded demo shows the full run.
Confirm what arrived in chat and post the product receipt, with approval
WorkingSame environment, same demo. Quantity check, exact receipt shown, posted on a yes, result read back.
Confirm with one click inside the tools people already use, approvers informed
Next stageNot built yet. Moving the confirmation out of chat and into the plant’s daily tools is the next piece of work.
Vendor follow-up drafts for open GRNI, and PO or payment status answers from the records
Built to orderEngineering we do on your environment; there is no packaged app for it yet.
What it will not do
An agent that can post to the ledger is judged on what it refuses. These are the lines the PO Receipt Chase Agent does not cross, by design rather than by instruction.
| It will not | Because |
|---|---|
| Post a receipt nobody approved | Every product receipt is shown in full, quantity and delivery note included, and posted only on an explicit yes from a person. |
| Receive more than is outstanding | The quantity is checked against the remaining quantity on the line before the receipt is even proposed. |
| Touch the purchase order | It does not change prices, dates, quantities or vendors on the order. It records what arrived against the order that exists. |
| Post or approve the invoice | The receipt is its job. Invoice matching and payment stay with accounts payable and the workflow already in Dynamics 365. |
| Act outside its role | It runs under a security role you assign. What that role cannot see or do, the agent cannot see or do. |
| Work from a copy | It reads the open orders live from Dynamics 365, not from an export, so the list is the ERP's list. |
The same approval boundary runs through everything we build on Dynamics 365. It is argued in full on the agentic ERP hub and sits beside Microsoft’s own agents in the Dynamics 365 agent catalog.
GRNI, receipts and the agent, answered plainly
- What is GRNI in Dynamics 365?
- GRNI stands for goods received not invoiced. In Dynamics 365 Finance & Supply Chain Management it is the accrued-purchases balance created when a product receipt is posted before the vendor invoice is matched. It is correct accounting, but it ages: every month someone has to explain which receipts are still waiting for an invoice and why. The PO Receipt Chase Agent works the other side of the same problem, goods that arrived and were never received in the system, which is what stops invoices from matching in the first place.
- What is the difference between GRNI and an unposted receipt?
- GRNI is a receipt without an invoice. An unposted receipt is goods without a receipt. The first shows up as an accrual on the balance sheet; the second shows up as an invoice that cannot three-way match and a vendor chasing payment. Both come from the same gap between the dock and the system, and both shrink when receipts are posted promptly against the right order line.
- Does the agent post the product receipt itself?
- Only after a person approves it. The agent checks the confirmed quantity against the quantity still outstanding on the purchase order line, shows the exact receipt it is about to post with the delivery note number, and waits for a yes. It then posts the product receipt in Dynamics 365 under its own user and security role, and reads the posted result back. It will not receive more than the line has outstanding.
- Which Dynamics 365 products does it work with?
- It is built for Dynamics 365 Finance & Supply Chain Management, where purchase orders, product receipts and three-way matching live. On Business Central the invoice side of this problem is partly covered by Microsoft’s Payables Agent, which matches incoming invoices to orders and receipts; the receipt side on Business Central is something we build to order rather than a demo we can show today.
- How is this different from Microsoft’s Procurement Agent for supplier communications?
- Microsoft’s agent chases the vendor: it handles procurement follow-ups with suppliers by email from rules the purchaser defines, confirmations and delivery dates among them. The PO Receipt Chase Agent chases the receipt inside the company: it finds the late lines, asks the plant what arrived, and posts the product receipt so the invoice can match. They sit on opposite sides of the dock and can run together.
- Is this the same as the KPMG GRNI Chaser Agent on Microsoft Marketplace?
- It addresses the same problem. KPMG’s agent asks the approver to confirm receipt of goods in Microsoft Teams so the delivery note can be recorded and the three-way match can proceed. Ours finds the overdue lines first, groups them by buyer, and posts the product receipt in Dynamics 365 behind an explicit approval and a quantity ceiling. The one-click confirmation inside Teams is the next stage on our roadmap, not something we show today.
- What does it need from our environment?
- A sandbox copy of your Finance & Supply Chain Management environment, a security role for the agent scoped to purchase order inquiry and product receipt posting, and the buyer groups you already maintain. We run it there first, on your orders, before anyone talks about production.
- Where does it stand today?
- The agent works today on test data in a demonstration environment. It finds overdue orders, groups them by buyer, records a confirmed receipt in Dynamics 365 and reads it back, and a short demo video shows the full run. The next stage moves the confirmation step from chat into the tools people use every day, so buyers confirm a delivery with one click and approvers are informed automatically.
Turning agents on in Dynamics 365, in detail
Readiness, piloting, governance and audit, and what Microsoft's own agents cover versus a build on your customized F&O.

AI account reconciliation in Dynamics 365: what the agent clears, and the part it hands back
Microsoft's Account Reconciliation Agent clears reconciliation exceptions in bulk across Dynamics 365 Finance. Here's what it handles well, the exceptions it hands back, and how to close that last gap.
Read more3 min read
AI collections in Dynamics 365: what the agent drives, and where the relationship stays human
Microsoft's Finance Agent brings AI to collections in Dynamics 365 — prioritising accounts, drafting outreach, surfacing risk. Here's what it drives well, where the customer relationship stays human, and how to make it run on your policy.
Read more3 min read
AI on top of your ERP: the four layers, and which one actually moves your margin
AI on top of the ERP has become four different things sold to four different buyers. Here's how to tell them apart — and which layer actually moves your margin — on Microsoft Dynamics 365 and Business Central.
Read more4 min read
Business Central AI agents: what the Payables and Expense agents do, and where a custom build takes over
Business Central now ships AI agents — a Payables Agent that reconciles POs and an Expense Agent that checks reports for policy violations. Here's what they do, where they stop, and when a mid-market team needs a custom build.
Read more3 min read
Codifying your procedures as governed business skills for Dynamics 365 agents
Microsoft's 'business skills' let you define your procedures as reusable, governed context for Dynamics 365 agents. Here's how to turn the way your business actually runs into skills an agent can use — and why that's the real work.
Read more3 min read
A Dynamics 365 agent can do anything the user can. Close that gap before you turn it on.
Microsoft's ERP Copilot plugin is GA — and an agent acting for a user can currently do anything that user can do. The role-based controls have no release date. Here's how to close the governance gap before you activate agents on Dynamics 365.
Read more3 min read
Why Microsoft's Dynamics 365 agents stumble on your customized F&O — and the last-mile fix
Microsoft's ERP agents work beautifully on standard Finance & Operations — and stall on the X++ and ISV customizations that make your estate yours. Here's the last-mile fix: exposing your logic as governed MCP Action tools.
Read more3 min read
AI Agent Readiness for Dynamics 365: are you actually ready to turn agents on?
Most teams that can't activate Microsoft's Dynamics 365 agents aren't blocked by the AI — they're blocked by data quality, role design, customizations and governance. Here's the honest readiness checklist.
Read more3 min read