Weigh In -> Match PO -> Check Tare -> Flag Variance -> Notify

Weighbridge Inward Reconciliation Agent

The agent sits at the weighbridge and compares the net weight on the ticket to the purchase order quantity and the supplier invoice, right when the truck is still on the platform. It also compares the recorded tare to what that vehicle weighed empty on past trips. If the numbers do not line up, it flags the variance and the odd tare before the goods receipt is posted.

The Problem

The truck weighed light. You found out at month-end stock count.

A tanker rolls onto the weighbridge, the operator keys the ticket, and the load gets waved through because the queue is backing up to the road. The PO said 24 tonnes, the ticket shows 23.1, and nobody cross-checks it against the invoice until the reconciliation clerk runs the numbers three weeks later. By then the driver is gone, the product is already in the tank, and there is no way to prove the short load. The same driver has been recording a tare 400 kg heavier than his own empty weight, and it has been paid every time.

What Changes

Catch the short load and the tare trick while the truck is still on the platform

When the weigh ticket is created, the agent pulls the matching PO and supplier invoice from the ERP and the vehicle's own tare history. It compares net weight against ordered and invoiced quantity, and checks the entered tare against what that plate has weighed empty before. If either is outside tolerance, it sends the gate clerk a variance flag and an abnormal-tare flag before the goods receipt is posted, while there is still someone to question.

Humans stay in control: the agent flags the variance and the tare, and the gate clerk decides whether to accept, hold, or reject before anything is posted.

HOW THE AGENT WORKS

TRIGGERLLMAPIDECISIONACTIONWAIT
TRIGGERWeigh Ticket CreatedFires when the weighbridge software records a new inward gross and net weight.
APIPull PO And InvoiceReads the matching purchase order lines and supplier invoice quantity from the ERP using the vehicle or delivery reference.
APIFetch Vehicle Tare HistoryLooks up past empty weights recorded for the same vehicle plate.
LLMReconcile Weights And QuantityCompares net weight to ordered and invoiced quantity and the entered tare to the plate's history, returning variances with reasons.
DECISIONQuantity Within Tolerance
DECISIONTare Within Normal Range
LLMDraft Gate Variance NoteWrites a short plain-language note stating the PO, invoiced and weighed figures and the tare gap for the clerk.
ACTIONSend Gate AlertPosts the variance and abnormal-tare flags to the gate notification channel before the goods receipt is posted.
The agent does not post the goods receipt or reject the load. Your gate clerk does. The agent takes away the after-the-fact scramble of finding a short load once the truck is long gone.

HOW TO BUILD IT

Three levels of depth. Pick the one that matches where you are.

For the ops person who needs to understand what's involved and brief their team.

Weighbridge & ERPPO, invoice, weights
The AgentWorkflow engine + LLM
Gate ClerkReviews and posts GRN

WHAT YOUR TEAM PROVIDES ONCE

  • Weighbridge ticket - the gross, tare and net weight recorded at the gate
  • Purchase order - the ordered quantity the load is meant to match
  • Supplier invoice - the quantity the supplier says they sent
  • Tare history - what this vehicle has weighed empty on past visits
  • Notification channel - where the gate clerk gets the flag
What happens day-to-day: a truck weighs in, the agent matches the ticket to the PO and invoice, checks the tare against the vehicle's history, and pings the gate clerk only when something is short, over, or off. Most clean loads pass with no message. The clerk still keys and posts the goods receipt.

For the IT person or technical lead who needs to scope the integration.

INQUIRY SOURCES

Weighbridge software event or database record for each new inward weigh ticket.
ERP purchase order and supplier invoice lines, matched on delivery or vehicle reference.
Vehicle tare history from the weighbridge log or a small side table keyed by plate.

WORKFLOW ENGINE (N8N)

Receive the new weigh ticket payload from the weighbridge software.
Call the ERP for the matching PO and invoice quantity.
Query the tare history for the vehicle plate.
Reason over the three quantities and the tare gap and label each as within or outside tolerance.
Branch on whether any variance or tare flag crosses the set threshold.
Compose the operator-facing variance note with the figures and the reason.
Dispatch the flag to the gate notification channel and log the result.

CONNECTS TO

Weighbridge software (Avery Weigh-Tronix / METTLER TOLEDO / Rice Lake)Read: gross, tare, net weight, vehicle plate. Write: none.
ERP (SAP / Oracle / Microsoft Dynamics)Read: PO lines, invoice quantity. Write: variance flag note against the pending GRN.
Vehicle weight history (weighbridge DB / custom table)Read: past empty weights by plate. Write: latest tare for future comparison.
Notification channel (Teams / Slack / Email)Read: none. Write: gate variance and abnormal-tare alerts.
WITHOUT PMS API

Without live access the agent works from a CSV export of the day's tickets plus a PO and invoice extract. It runs on a short schedule instead of on each weigh, and the clerk pastes or uploads the files, so some steps are manual and flags arrive in a batch rather than at the gate.

WITH PMS API

With live ERP and weighbridge access the agent runs the moment a ticket is created and flags the clerk before the load leaves the platform. Tare history builds automatically over time. Best experience.

For the person who wants to build this agent step by step. Each node below maps to an n8n workflow node.

TRIGGERNode 1
Webhook - receive the weigh ticket
HTTP Webhook node listening for the weighbridge software's ticket-created event, or a schedule node polling the ticket table every few minutes.
Output: { ticket_id, plate, gross_kg, tare_kg, net_kg, po_ref, timestamp }
APINode 2
HTTP Request - fetch PO and invoice
Call the ERP order and invoice endpoints using po_ref, return ordered quantity and invoiced quantity in kg.
Output: { po_qty_kg, invoice_qty_kg, uom, supplier }
APINode 3
HTTP Request - fetch tare history
Query the tare history table by plate, return the mean and range of past empty weights.
Output: { plate, tare_mean_kg, tare_min_kg, tare_max_kg, visits }
LLMNode 4
LLM - reconcile and flag
Send the merged ticket, PO, invoice and tare figures with a fixed tolerance in the prompt, parse the JSON reply.
Output: { qty_status, qty_gap_kg, qty_reason, tare_status, tare_gap_kg, tare_reason, flag }
You are a weighbridge reconciliation checker at a chemical plant. Compare the received load to the order and invoice and to the vehicle's tare history.

Input:
PO quantity kg: {po_qty_kg}
Invoice quantity kg: {invoice_qty_kg}
Weighed net kg: {net_kg}
Entered tare kg: {tare_kg}
Historic tare mean kg: {tare_mean_kg}
Historic tare range kg: {tare_min_kg} to {tare_max_kg}
Quantity tolerance percent: {qty_tolerance_pct}
Tare tolerance kg: {tare_tolerance_kg}

Decide qty_status as OK, SHORT, or OVER by comparing weighed net to PO and invoice within tolerance. Decide tare_status as OK or ABNORMAL by comparing entered tare to the historic range plus tolerance. Give a one line reason for each.

Respond ONLY with valid JSON. No explanation.
INPUT
PO 24000 kg, invoice 24000 kg, weighed net 23100 kg, entered tare 8400 kg, historic tare mean 8000 kg range 7900 to 8100, qty tolerance 1 percent, tare tolerance 150 kg
OUTPUT
{"qty_status": "SHORT", "qty_gap_kg": -900, "qty_reason": "Weighed net 23100 kg is 3.75 percent under the 24000 kg ordered and invoiced, beyond the 1 percent tolerance.", "tare_status": "ABNORMAL", "tare_gap_kg": 300, "tare_reason": "Entered tare 8400 kg is 300 kg above the historic max of 8100 kg plus 150 kg tolerance.", "flag": true}
DECISIONNode 5
IF - anything flagged
Route to the alert branch when flag is true, otherwise log and end.
Output: true to alert branch, false to quiet log
ACTIONNode 6
Notify - send gate alert
Post the reason lines and figures to the gate Teams or Slack channel and write the flag against the pending GRN in the ERP.
Output: { alert_sent: true, channel, erp_note_id }
MVP vs Advanced — Where To Start
MVP — START HERE
  • Poll one weighbridge for new tickets
  • Match ticket to PO by reference
  • Compare net weight to ordered quantity
  • Fixed percent tolerance in the prompt
  • Send one alert to a chat channel
  • Log every check to a sheet
ADVANCED — ADD LATER
  • =+ Live tare history per vehicle plate
  • =+ Cross-check invoice against PO too
  • =+ Per-material tolerance bands
  • =+ Write flag back onto pending GRN
  • =+ Trend repeat offenders by supplier
  • =+ Hold posting until clerk acknowledges

Full Video Walkthrough Coming Soon

Watch the agent flag a short tanker load before the ticket is signed.

Register to be notified

Everything on this page is free to learn.

When you're ready to build — do it yourself or bring us in.

OTHER AGENTS IN LEASING & MARKETING

Ranks what to count by value and error risk, explains each variance
Checks a material against its bin neighbours before put-away confirms
Daily list of batches nearing retest or expiry, in FEFO order

Frequently asked questions

Weighbridge Inward Reconciliation Agent is an AI agent that checks gate weights against the PO before goods receipt posts.
The truck weighed light. You found out at month-end stock count. The Weighbridge Inward Reconciliation Agent addresses this: checks gate weights against the PO before goods receipt posts.
No. Your team stays in control. The agent does not post the goods receipt or reject the load. Your gate clerk does. The agent takes away the after-the-fact scramble of finding a short load once the truck is long gone.