In This Video
- 0:00Intro
- 0:12The Client's Purchase Order Problem
- 2:42What We Built For The Client
- 4:25The Tech Stack & Why We Tested AI Models
- 7:28Creating A Claude Project & Signing Up To n8n
- 9:47Turning On MCP & Adding n8n Credentials
- 12:16Adding Connectors & Setting Permissions In Claude
- 14:25Dictating The Prompt To Claude
- 18:18Creating Test POs With Gemini
- 20:49Checking The Build & Reviewing Test POs
- 22:39The monday.com Board Claude Built
- 25:57The Workflow Claude Built In n8n
- 28:36How The Workflow Reads & Scores Each PDF
- 31:50The First Test Lands In Needs Review
- 34:34Fixing The Temperature Error
- 36:05Retesting The Basic PO
- 38:27Testing The Medium PO
- 40:30Testing The Complex PO & What To Refine
- 43:37The Maths Behind 975 Hours A Year
- 46:07Wrap-Up
How Long Does Manual Purchase Order Entry Take?
For this client, about 15 minutes per purchase order, with 10 to 20 arriving by email every day. We timed it, from checking the email to typing the whole order into the Excel spreadsheet they used to manage their orders.
At 10 a day that's over two hours of typing, and at their average of 15 it's 3.75 hours a day, or about 975 hours a year.
Each order held a lot of data, including several line items, the delivery address, how quickly it was needed and certification details. The same goes for anything emailed in and typed into a system.
How Do You Automate Purchase Orders From Email Into monday.com?
We built the client a system that watches their inbox, checks whether an email has a PDF and whether that PDF is a purchase order, then uses AI to extract the data and map it into monday.com. It replaced both the Excel spreadsheet and the manual typing.
It runs on rules: an email that matches the rule set gets checked for a purchase order, and any PDF that isn't one is left out.
What Tools Do You Need To Automate PO Data Entry?
You need monday.com to store everything, n8n to connect the systems, Claude to build it and Gmail or Outlook for the inbox. Building this for the client was very labour intensive, and Claude now does a lot of that work for us.
Many AI models could probably do the extraction, but the client's purchase orders came in different formats, with the same information in different places. We tested several, and as far as we remember Gemini was the most consistent, not Claude.
The demo uses Claude for the extraction, but for a real build it's worth testing a few models on your own documents.
How Do You Set Up n8n So Claude Can Build In It?
Turn on n8n's instance-level MCP and connect your apps to it, and Claude builds the workflow so you don't have to learn n8n. We use n8n rather than Zapier or Make because Claude's connection to it is more comprehensive.
- In Claude, create a project for the build from Projects at the top left, so every chat on it shares memory.
- Sign up to n8n and press Open Instance once its light turns from amber to green.
- Go to Settings at the bottom left, open Instance-level MCP and enable it.
- Go to Personal, then Credentials, and press Create credential. Search for monday.com, choose OAuth2, sign in and authorise it.
- Add Gmail or Outlook the same way, by signing in rather than with an API key.
The extraction step also needs an Anthropic credential, which we already had in n8n. Otherwise, add an API key from the Claude API dashboard.
How Do You Connect Claude To n8n & monday.com?
Add each one as a connector, so Claude can build boards in monday.com and workflows in n8n directly.
- In Claude, press the plus button, go to Connectors, then Add connector and Browse connectors.
- Search for n8n, click into it, press Connect and log in. This only works once MCP is enabled in n8n.
- Do the same for monday.com.
- To set permissions, go to Connectors, then Manage connectors, and click into each one.
Each tool can be set to Always allow, Needs approval or Blocked. We set everything to Always allow, as Needs approval means approving each use in a pop-up, which gets very annoying.
What Prompt Do You Give Claude?
A plain explanation of the whole process, start to finish. We dictated it: an email arrives from a client with a PDF, the system checks whether it's a purchase order, extracts the data and adds it to monday.com.
We asked for a board in our workspace with the order details on each item and the line items as subitems, named data points like the delivery address and estimated time required, and asked Claude to raise any questions.
We set the effort level to max because it's a relatively complex request. A more capable model and more effort both cost more.
How Do You Test PO Automation Without Real Orders?
We had Gemini create three test purchase orders while Claude built: basic, medium and complex, each as a PDF to email in. The key data points stayed the same, but the formatting and amount of information grew, and the complex one had extra data to try to throw the system off.
We did the same for the client, designing purchase orders to try to break the agent, and struggled to. For your own process, upload a set of real examples to Claude so it knows what to look out for.
How Do You Store Purchase Orders & Line Items In monday.com?
As one item per purchase order, with the order details as columns and each line item as a subitem, which is how Claude built it. The board was ready about six minutes into the run, designed without Claude seeing a single purchase order.
Items hold the client, PO number, delivery and billing addresses, currency, payment terms and AI confidence. Subitems hold the line number, quantity, unit type, unit price and line total. Adding subitem columns in monday.com is an ongoing problem for Claude, but this time it added them all.
What Did Claude Build In n8n?
A PO intake workflow running from Gmail to Claude to monday.com. For each order it creates an item, attaches the PDF, labels the email and adds a subitem per line item. We didn't touch it, and changes can be made by asking Claude.
It also added a Gmail message ID column, so the workflow recognises emails it has already processed and never creates the same order twice. As we understand it, message IDs can differ between email accounts, which matters if several people receive the same order.
How Does The AI Decide If A PDF Is A Purchase Order?
Claude reads each PDF, decides whether it's a purchase order and scores its confidence. The workflow polls the inbox every minute, skips anything that isn't a PDF and sends each PDF to Claude Sonnet 5, which extracts the PO number, client, addresses, dates, estimated time required, totals, terms, notes and line items.
Above 75, the order goes on the board with the status New. Between 40 and 74, or if the file is unreadable or the PO number already exists, it's set to Needs Review with the reason in the extraction notes. Below 40, such as invoices, quotes and brochures, it's ignored.
In this build we suspect Needs Review orders don't get their data added. For the client, any order that couldn't be added was flagged to a person, and that flagging is how we chose the most suitable model.
Why Did The First Test Fail With A 400 Error?
The Anthropic API was rejecting the temperature setting sent with Claude Sonnet 5, so every call returned a 400 error. The n8n node only said bad request, so Claude called the API directly to find the real message, removed the setting, and the same PDF then read fine.
Claude hit a usage limit before it could email in its own test order, so we sent ourselves the basic purchase order. It reached the board as Needs Review with no data, so we told Claude and attached the PDF.
Otherwise the workflow behaved as designed, since an unreadable PDF should land in Needs Review rather than disappear. Claude also added a rerun option we didn't need, and spotted the Received column showing UTC rather than BST.
Did It Work Once The Error Was Fixed?
Mostly. We resent the basic order so it ran as the live process would, without help from the chat that built it. Its data and both line items came through correctly, but it still landed in Needs Review at 92% confidence, and we didn't work out why.
The medium order, with three line items, came through without problems. The client, PO number, addresses, currency, payment terms, quantities, unit types, prices and line totals all matched the PDF, and the line numbers were right even though the subitems weren't in the PDF's order.
What Did The AI Get Wrong?
It missed the billing address on the complex purchase order, which had small text and a lot of information, even though that order had the highest confidence score of the tests. Almost everything else, including every line item, was right.
PO numbers weren't consistent either, as one had a PO prefix and the others didn't, and the basic order needs checking for a missed estimated time.
None of this is set and go. You go back to the same chat with the errors, let Claude update the workflow and test again. With real data, examples from each company that sends you orders let Claude set clearer instructions for each format.
How Much Time & Money Does Automating PO Entry Save?
For this client, about 975 hours a year. At 15 orders a day and 15 minutes each, that's 225 minutes or 3.75 hours a day, 18.75 hours a week and 975 hours over 52 weeks.
An average employee works around 2,000 hours a year, so that's nearly half of one person's time. At this client the sales team did the entry, on $75,000 to $100,000 a year, so automating it could potentially save $30,000 to $50,000 a year.
We'd say the demo got about 80% of the way there in an hour to an hour and a half, and it still needs refining before it runs for real.