# An AI agent chases a late PO in Zoho Inventory and updates it after approval (Northline Components)

> In-house demo by Frédéric D'Amours with Grok Bot: an AI agent finds a late PO in Zoho Inventory, drafts the supplier email, reads the reply and updates the PO after approval.

- Canonical URL: https://aiagentsformanufacturing.com/use-cases/ai-agent-late-po-follow-up-zoho-inventory/
- Department: Procurement (https://aiagentsformanufacturing.com/departments/procurement/)
- Evidence level: In-house demo. Developed and tested by Frédéric D'Amours himself, in a test environment with fictional data, using Grok Bot. Not a customer case.
- Added: 2026-10-20
- Last updated: 2026-10-20
- Publisher: AI Agents for Manufacturing (https://aiagentsformanufacturing.com)

> In-house demo on test data, developed and tested by Frédéric D'Amours himself in a test environment, using Grok Bot. Not a customer case; no time savings were measured.

## Role

Procurement (buyer or purchasing coordinator: purchase order follow-up and expediting). Typical users: buyer, purchasing coordinator, expediter, supply chain planner, small-business owner who does the purchasing

## The problem

When a purchase order passes its delivery date without being received, someone has to notice it, write to the supplier, wait for the answer, then update the ERP with the new date and any price change, and confirm back with a revised PO. The steps are simple but easy to forget, and each change has to be checked against the original PO before anything is written. This page documents a demo Frédéric D'Amours built himself to test that loop end to end on a small ERP.

## How AI helps

An AI agent built on Grok Bot, the agent platform, and set up as a purchasing assistant, works with Zoho Inventory through its REST API, using a few Python scripts. On request, a read-only script lists purchase orders that are issued, open or partially received, not fully received, and past their delivery date. The agent drafts an email to the supplier asking for a firm new date and tracking. When the reply arrives, it extracts the new date and any price change, checks the 'from' price against the PO, and asks the buyer to approve: date only, date and price, or nothing. Only after a yes does it write to Zoho, then reads the PO back to confirm. Finally it drafts the confirmation to the supplier with the revised PO PDF attached and asks again before anything goes out. Writes run in dry-run by default, every change is logged with its original value so it can be restored, and every record the agent creates is tagged.

## The demo, screen by screen

- ![Zoho Inventory purchase order NLDEMO-PO-OPEN-001 with delivery date 2026/10/18, nothing received](https://aiagentsformanufacturing.com/cases/northline-late-po/1-zoho-po-late.png) 1. Zoho Inventory: the PO was due Oct 18 and nothing has been received.
- ![Agent chat: found 1 late purchase order and drafted an email to the vendor](https://aiagentsformanufacturing.com/cases/northline-late-po/2-agent-detects-drafts.png) 2. The agent finds the late PO and drafts the supplier email.
- ![Supplier reply: ship date 2026-11-03, price from USD 4.59 to 4.84 (address redacted)](https://aiagentsformanufacturing.com/cases/northline-late-po/3-supplier-reply.png) 3. The supplier replies with a new date and a price change (written by Frédéric to play the supplier; address redacted).
- ![Agent summary of the reply with three approval options](https://aiagentsformanufacturing.com/cases/northline-late-po/4-approval-supplier-changes.png) 4. The agent checks the reply and asks first: date only, date and price, or nothing.
- ![Zoho PO updated: rate 4.84, total 573.00, note logged by the agent](https://aiagentsformanufacturing.com/cases/northline-late-po/5-zoho-updated.png) 5. After approval: Zoho updated to USD 4.84 and a USD 573.00 total, logged in the PO notes.
- ![Draft confirmation to the supplier with the revised PO attached and approval options](https://aiagentsformanufacturing.com/cases/northline-late-po/6-reply-approval.png) 6. The reply with the revised PO attached waits for approval.
- ![Revised purchase order PDF with delivery date 2026/11/03 and total 573.00](https://aiagentsformanufacturing.com/cases/northline-late-po/7-revised-po-pdf.png) 7. The revised PO PDF: delivery Nov 3, total USD 573.00.

## Step by step

1. Define 'late' precisely: for example status issued, open or partially received, not fully received, and delivery date (or expected delivery date) before today. Run that check read-only.
2. Have the agent draft one email per late PO, listing the open lines and asking for a firm new ship date and tracking. A person reviews it before it is sent.
3. When the supplier replies, have the agent extract the new date and any price change and compare the 'from' price with the PO. Any mismatch is flagged, not applied.
4. Ask for approval with explicit options (date only, date and price, nothing). Nothing is written to the ERP without a yes.
5. Write in dry-run by default; on approval, apply only the approved fields, log every change with its original value, and read the PO back to confirm.
6. Have the agent draft the confirmation with the revised PO attached, and approve it again before it goes out.
7. Start with one PO and one supplier, then add more suppliers and a daily run once the loop is reliable.

## Tools

- Zoho Inventory (free plan) through its REST API v1, with OAuth: used in the demo
- Python scripts: a shared Zoho client plus scripts to detect late POs (read-only), draft the supplier email, parse the reply, apply the new date and price, and reset the demo data
- Grok Bot, the agent platform: the agent runs there and keeps emails as Gmail drafts that a person sends; it never sends from Zoho
- Other tools to evaluate: the same loop works with any ERP or inventory system that has an API (purchase order read and update) and a mailbox the agent can read
- Any LLM (ChatGPT, Claude, Copilot, Gemini) with the prompt below, on an export of open POs and the supplier's reply

## Result

In-house demo developed and tested by Frédéric D'Amours with Grok Bot, not a customer case. Northline Components Inc. is a fictional company on a free Zoho Inventory organisation (Canadian data centre); all items, suppliers, POs and customers are test data marked NLDEMO, and Frédéric D'Amours wrote the supplier's replies himself, playing the supplier. Tested on 1 purchase order (NLDEMO-PO-OPEN-001), made late on purpose by moving its delivery date to Oct 18, 2026. The agent found it as 1 day late with 200 units outstanding (USD 548.00), drafted the supplier email, read the reply (new ship date Nov 3, 2026; NL-CAB-0006 from USD 4.59 to 4.84 per unit for a copper surcharge, +USD 25.00), and after approval updated Zoho to Nov 3 and USD 573.00, then prepared the reply with the revised PO PDF. 33 Zoho Inventory API calls were sent in total over two days of building and testing (28 reads, 5 writes; the free plan allows 1,000 a day). Processing time per PO and manual time saved were not measured: the timestamps from the test session include retakes and filming. During testing, the agent caught a wrong reference price in one supplier reply (6.20 instead of the PO's 4.59) and refused to apply it.

## Next steps

- More POs: run the same check on several late purchase orders at once, with one summary and one approval per PO.
- Other suppliers: test replies in different formats and from several suppliers, including partial shipments and replies that change only the date.
- Daily scheduled run: a Grok Bot routine each morning runs the read-only late-PO check and drafts the supplier emails. Approvals stay as they are: nothing is sent, and nothing is written to Zoho, until a person says yes.
- Customer impact: when a late PO feeds a customer order, propose a new ship date or a delay notice for approval.

## Human review: cautions

- This is an in-house demo on test data, tested on a single purchase order. It shows that the loop works, not how much time it saves; that was not measured.
- The approval is enforced in the chat: the write scripts only run when the person says yes. There is no coded 'refuse' branch in the scripts yet.
- Check the supplier's 'from' price against your PO, not against a standard cost: in testing, a reply quoted a different reference price and the agent had to flag it.
- Some changes may not map to fields in your ERP: in Zoho Inventory there is no delivery date per line, so a partial shipment was left out of the demo.
- Keep emails as drafts that a person sends, and give the agent only the API scopes it needs.

## Try it yourself (prompt)

```text
You are a purchasing assistant at a manufacturing company. A person approves every change and message.

1. Find late purchase orders: open, not fully received, and past their delivery date. List supplier, days late and open lines.
2. For each late PO, draft a short email to the supplier asking for a firm new ship date (YYYY-MM-DD) and tracking.
3. When the supplier replies, extract the new date and any price change. Compare the supplier's "from" price with the actual unit price on the PO line. If they do not match, flag it and do not propose the change.
4. Summarize the reply and offer three options: approve the date only, approve the date and price, or approve nothing.
5. Only after an explicit yes, show the exact update (old value → new value and the new PO total) and draft the confirmation to the supplier with the revised PO.

If data is missing, write "not found" and ask. Do not send, order or change anything in any system yourself: produce drafts for my review and approval.
```

The detailed late-PO agent prompt: a longer version of this prompt that handles exceptions (lateness rule, reply parsing, the price check, approval rules, safe ERP writes with a change log and read-back, edge cases and hard limits) is available free on the canonical page, in exchange for a newsletter signup.

## Related use cases

- [Supplier PO follow-ups and order confirmations by AI agent](https://aiagentsformanufacturing.com/use-cases/supplier-emails-and-follow-ups/)
- [Agent confirms supplier PO acknowledgements in the ERP](https://aiagentsformanufacturing.com/use-cases/agent-po-confirmation-erp/)
- [AI supplier contract review and renewal tracking](https://aiagentsformanufacturing.com/use-cases/ai-supplier-contract-review-renewal-tracking/)
- [Agent checks supplier invoices against contract terms to stop leakage](https://aiagentsformanufacturing.com/use-cases/invoice-contract-compliance-agent/)

## Sources

- In-house demo developed and tested by Frédéric D'Amours with Grok Bot, on a test Zoho Inventory organisation (Oct 18–19, 2026). Screenshots from the test session; email addresses redacted.
- https://www.zoho.com/inventory/api/v1/

---
Please cite the canonical URL: https://aiagentsformanufacturing.com/use-cases/ai-agent-late-po-follow-up-zoho-inventory/
