EagleAI
The supplier already told you. It never reached the line.
Your purchase line says the parts land on 14 August. The supplier emailed three weeks ago to say 4 September. Nothing is broken — keying that date in is somebody's job, and that somebody was busy. This prints every line where those two records disagree, with the supplier's own sentence quoted underneath, from two files you already have.
What it prints
One row per disagreement. No score, no percentage, no ranking, no root cause, no advice.
PO SAMPLE-1001 · line 10 SYNTHETIC Supplier A · WIDGET-9 Your line says 14 Aug 2026 They wrote 4 Sep 2026 (ship) · 21 days later than your line "We are now shipping Sept 4 on this line." Sent 19 Aug 2026 · SYNTHETIC-3-second-slip.eml · 2 earlier messages on this line
Tick a row once you have keyed it in. The tick disappears by itself the moment your next export carries the date you ticked — the row has then done its whole job.
Take the file
Each one is a single HTML file. Save it and open it from your own disk — it works with the network off, and you can check that yourself.
Which lines carry a promise date the supplier has already changed. Give it your saved mail and your open-order export.
Open or save → eagleai-timeline.htmlOne supplier, every date they have ever named, in the order they named it, each beside the message it came from.
Open or save →- Open the file. Nothing is uploaded and nothing is asked of you — there is a synthetic example on the page if you want to see it work before trusting it with anything real.
- Save the supplier emails to a folder first — drag them onto your desktop, or use
Save as.
.emland.msgboth work. Mail dragged straight from Outlook into a browser is not a file the browser can read, so save it, then choose the saved files. - Drag in the open-order export you already run. You tell it which column is which — it assumes nothing, and it will not read a date that reads two ways until you say which way your system writes them.
- Read the rows. Key them in. Tick them off.
Getting the export out of your system
This is the step that stops people, so here is the whole of it. You are looking for one report,
you already have permission to run it, and it takes about two minutes. Save it as
.csv, .tsv or .txt.
Three things to check before you drag it in:
- One row per purchase order line, not one per purchase order. If a PO with four parts on it comes out as a single row, you have the header report. This is usually one switch on the same screen.
- It must carry the PO number, the line number, and the date your system calls the promise, confirmed, due or expected date. The part number helps you read the list; it is not required. Nothing else is used — leave the rest of the columns in or take them out, it makes no difference.
- Know which way your system writes dates before you open the list.
03/04/2026is two days about three hundred apart, and this will not guess: it asks you once and reads nothing until you answer. If you are not sure, look for a row whose day is past the 12th — that settles it in a second.
Cetec ERP
Open the Purchase Order List. Cetec's own how-to: “Click View By Line to view by PO line.” — “Each PO is divided to show its order lines separately.” That one control is the difference between the header report and the one you want. Then “You can change which columns in the report are visible by clicking "+/- Columns"”, “You can also export this report by clicking "Export."”, and “You can view this export by navigating to "My Exports" via the "Hamburger Menu."” cetecerp.com → POs grouped by header vs by line item
Katana
Nothing to switch: Katana's own article says “Each line item from a PO is exported as a separate row.” From the purchase orders list, “Click the Export icon in the top-right corner of the table.” support.katanamrp.com → exporting purchase orders
Odoo
Work from the purchase order lines list, tick the records you want, and then, in Odoo's own words, “Finally, click the Action button, and select Export.” If the line-level date is not offered, “Use the (Show sub-fields) icon to display more sub-field options.” Odoo offers the “export in two formats: .csv and .xls” — either works here. odoo.com → export and import data
Dynamics 365 Business Central
Microsoft lists the pages to “Use the following list pages for ad-hoc analysis of purchase processes:” and both Purchase Orders and Purchase lines are on it — take Purchase lines, which is the per-line one. To get the file out, Microsoft's own page on Excel says “Both are available from the Share icon at the top of a page. You can either select the Open in Excel action or the Edit in Excel action on the page.” Save as CSV from there. ad-hoc analysis of purchasing data · working with Excel
On something else — Epicor, SyteLine, IFS, NetSuite, Acumatica, SAP Business One, Fishbowl, JobBOSS — or the report will not come out per line? Send me the header row of whatever you can get out. Just the header row, none of the data, and I will tell you whether it is readable or make it readable.
What it refuses to do
The refusals are the product, not a shortfall in it.
It will not grade your supplier
No score, no percentage, no ranking, no root cause, no recommendation. A number that grades a supplier makes the page an accusation, and an accusation has to be defended by whoever put it on screen. Quoted sentences and subtraction cannot be argued with.
It will not guess a date
03/04/2026 is two days about three hundred apart. From a supplier it is settled
only by their own wording; from your export it is settled only by you telling it. No
national convention is assumed anywhere in the code.
It will not invent evidence
Every quoted sentence is a verbatim substring of the file it claims to come from. A date with no line to sit beside is shown and held with its reason, never dropped and never nudged onto the nearest line.
It keeps less than you think, and shows you all of it
A tick records the purchase order number, the line number, the two dates and when you
ticked it — what it needs to recognise that row again next week. No supplier name, no
message and no quoted sentence is kept. Switch on folder-watching and it also keeps the
file names of your saved messages, so it can mark what is new — and Outlook names a saved
message after its subject line, so a supplier or a PO number can end up in that list. That
is the whole of it. It lives in your browser on that machine, in a database called
eagleai-list: press F12 → Application → IndexedDB to read every byte,
and right-click → Delete database to clear it. The list itself is rebuilt from your files
every time, so nothing kept here can ever disagree with them.
The honest weakness
This only has something to say where two things are both true: your line is stale, and the supplier's newer word is in a message you saved. If your team keys dates in the same day, the list comes back empty and this is worth nothing to you.
So the page prints that number too, on its own summary card — Lines already agreeing. It is the number that would kill this, and it is shown where you cannot miss it. You will know inside one sitting whether it is any use to you.
What costs money, and what does not
Both files above are free and they stay free. No trial, no seat count, no expiry and no licence key — and nothing inside either file could check whether you had paid even if I wanted it to, because they make no request to anyone. A copy saved on a share keeps working after I stop answering this address.
One thing here is worth money and it is not the file. It is your two file shapes. Your export's column headers, the way your system writes a date, and the way your particular suppliers phrase one are yours alone — the general reader either handles them or it does not. If you run it and the list comes back thin or empty and you want to know whether that was your week or my reader, this is what I will do:
- Forty-five minutes on your machine, you driving, your real files. No file sent to me, no recording, no copy taken. If it prints nothing, you will see exactly why.
- A build of both files with your column map and your date order already set, so the next person at that desk opens it and drops files in.
- Twelve months of rebuilds when your export changes shape, or a supplier starts writing dates it will not read. Send me the header row, or the one sentence — never the data.
USD $300, once.
Once, not monthly, and that is deliberate. Buyers describe their own card policy as a low limit with anything recurring pushed onto a purchase order — so a subscription would cost you a requisition and three signatures to buy a thing worth less than the meeting. If it needs a PO regardless of the amount, say so and an invoice comes instead.
And the honest part: do not pay before you have run the free file on your own two files and seen rows on the screen. There is nothing to buy until then. What is being sold is a build for your file shapes, and I have not seen them yet. Nobody has paid this price — you would be the first, and you should read that as the risk it is.
No checkout on this page, no card fields, nothing to sign up for. A reply from a person.
If you run it, send me the number
Nothing leaves your tab, so this page cannot tell whether anybody ever opened it, let alone whether it was any use. That is deliberate and it is not going to change — which leaves exactly one way to find out, and it is you telling me.
Two numbers off your own summary card is the whole ask. The first is the small note under Lines to key in — it reads of 14 lines differing this week, or whatever your number is, and unlike the big figure above it, it does not shrink as you tick rows off. The second is the count on Lines already agreeing. Both are on screen the moment the list builds. If it printed nothing at all, that is the more useful answer of the two and I would far rather have it than not know. Nothing about your suppliers, your orders or your files — I have no use for those and no way to receive them.
A reply from a person. No list to join, no sequence, no demo booked on your behalf, and no way to sign up for anything here — there is nothing to sign up for.