Goods-In Reconciliation Against PO
Example prompt: "When goods-in logs a delivery in our Google Sheet, reconcile it against the original PO and the supplier invoice. Flag any shortages, overages, damages, or price drift in #goods-in on Slack before the invoice gets paid."
The Problem
Goods-in is where the spreadsheet diverges from reality. The driver hands over a delivery note, the warehouse signs for it, the lines get keyed into the stock sheet a day later from memory, and three weeks on the supplier invoice arrives priced differently from the PO and short two pallets that nobody flagged. The three-way match between PO, delivery note, and invoice is the standard control to catch this, and the standard outcome at SME scale is that nobody has time to do it line by line, so the wrong invoice gets paid and the variance is found at the year-end stock take.
How GloriaMundo Solves It
We build a workflow with two halves that share a log. The first half triggers on a goods-in email with delivery notes attached, parses each note, matches it against the original PO on our PO number and SKU, computes the variances, and appends every line to a goods received log. The matching PO row updates to 'Received' or 'Partially received' as appropriate. The second half triggers on the supplier invoice email, parses the invoice line table, and matches each line against the goods received log — looking for quantity variances and price drift. Clean invoices get drafted through to accounts; flagged invoices get a drafted email back to the supplier asking for a credit note or a corrected invoice. A daily Slack summary closes the loop. Glass Box preview shows the variance flags before any draft is created so we can see what the workflow caught.
Example Workflow Steps
- Trigger (integration): A new Gmail message arrives at received@ourdomain.com with a subject starting 'GRN:' and delivery note PDFs attached, OR a supplier invoice arrives by Gmail with the PO number or delivery ref referenced.
- Step 1 (llm): Read each delivery note PDF and extract the supplier, delivery ref, our PO number, and the line table.
- Step 2 (integration): Look up the PO in the 'Purchase Orders' tab; pull the original line table.
- Step 3 (code): Match delivery lines to PO lines on SKU, compute cumulative_received and remaining_quantity from prior log rows for the same PO + sku, append rows to the 'Goods Received Log', and update the PO row status from those cumulative figures and the aggregated condition_flags.
- Step 4 (llm): When the invoice path fires, identify the PO from the subject only (supplier_delivery_ref or our_po_number); route invoices the subject does not identify to 'Ambiguous — manual review'. For identified invoices, parse the invoice line table.
- Step 5 (conditional): Compare invoice lines against the cumulative received quantities in the goods received log — if quantity and price match, draft a 'cleared for payment' Gmail to accounts; if either varies, draft a Gmail to the supplier asking for a credit note or corrected invoice.
- Step 6 (integration): Append a row to the 'Invoice Match Log' tab and post the daily 5pm summary in #goods-in on Slack.
Integrations Used
- Gmail — receives the delivery notes from goods-in and the invoices from the supplier; drafts the accounts and supplier replies
- Google Sheets — the purchase orders sheet, the goods received log, and the invoice match log
- Google Drive — the delivery note and invoice PDFs are stored alongside the log rows
- Slack — the #goods-in review channel where the buyer sees the day's variances
Who This Is For
The buyer or accounts clerk at a small manufacturer or distributor who would do a three-way match if there were time for it, and who currently signs off invoices on a sample basis or — quietly — not at all.
Time & Cost Saved
A real three-way match on twenty deliveries and twenty invoices a week is half a day of clerical work that almost nobody does. This workflow turns it into a five-minute review of the daily Slack summary, with the flagged variances already drafted into supplier replies. The bigger gain is the avoided overpayment — one missed price uplift on a regular-volume SKU pays for the workflow ten times over by the year-end.