Skip to main content
When you upload a document, the platform immediately begins a fully automated, multi-stage processing pipeline. In the span of seconds, generative AI reads and classifies your document, traditional OCR cross-checks the results, confidence scores are calculated, your ERP is queried for the matching Purchase Order, line items are compared against expected quantities, and a routing decision is made, either posting a goods receipt automatically or surfacing the document for human review. Understanding each stage helps you configure the system correctly, interpret results, and diagnose exceptions when they arise.

The 8 Pipeline Stages

1

Brain — AI Classification & Extraction

The native PDF or image is sent in full to a generative AI model (such as Google Gemini). The model first classifies every page in the document, identifying which pages are actual packing slips and which are cover pages, terms and conditions, or other irrelevant content. It then extracts structured data from the relevant pages: Header fields (PO Number, Vendor Name, Delivery Dates) and Line Item fields (part numbers, descriptions, quantities, units).The AI works directly from the visual content of the document — no templates, no field mapping by position. It understands tables, annotations, varied layouts, and non-standard formatting out of the box.What controls it: Your extraction configuration, specifically the header fields, line item fields, and model settings in Admin > Config > Extraction.
2

OCR — Targeted Text Extraction

Tesseract OCR independently reads the pages that the Brain identified as packing slips. This produces a raw text layer from the same source pages, completely separate from what the AI extracted.OCR runs only on the relevant pages (not the whole document), keeping processing fast while ensuring every text value visible on those pages is captured in an alternative, verifiable form.What controls it: OCR runs automatically on all classified packing slip pages. No additional configuration is required.
3

Checker — Confidence Scoring

The Checker compares the AI’s structured extraction against the raw OCR text. For each extracted field value, it asks: does this value actually appear somewhere on the page according to OCR? When both sources agree, the field receives a high confidence score. When OCR cannot corroborate an AI-extracted value, the confidence score is lowered.This stage is specifically designed to catch AI hallucinations, cases where the model produces a plausible-looking value that doesn’t actually exist in the document. No single-layer AI system can provide this guarantee.What controls it: Confidence thresholds in Admin > Config > Extraction determine what score is “high enough” to proceed toward auto-approval.
4

Normalizer — Data Cleaning & Standardization

Raw extracted data is cleaned and prepared for ERP comparison. This includes stripping extraneous characters, standardizing date formats, normalizing units of measure, and resolving complex document structures, such as grouped rows that represent split cases or multiple lines that belong to the same parent container.The Normalizer ensures that the data handed to the ERP Fetch and Match stages is in a consistent, reliable format regardless of how the original document was formatted.What controls it: Normalization runs automatically. Complex deduplication behavior for grouped rows is configured in Admin > Config > Extraction.
5

ERP Fetch — Purchase Order Lookup

Using the normalized PO Number (and any configured fallback identifiers), the platform calls your connected ERP’s API to retrieve the full Purchase Order record. This brings back the expected line items, part numbers, ordered quantities, and any other fields your ERP exposes for that PO.If no matching PO is found in your ERP, the document is immediately routed for human review with a “PO not found in ERP” status rather than proceeding to matching.What controls it: Your active ERP integration and ERP lookup strategy settings in Admin > Config > ERP.
6

Match — Line-by-Line Comparison

The platform runs a deterministic matching algorithm that pairs each extracted line item against an ERP line item. It checks part numbers (exact or fuzzy match), compares shipped quantities against ordered quantities, applies any configured tolerance percentages, and flags unmatched lines on either side.The outcome of the Match stage is a structured result indicating whether each line is a perfect match, over/undershipment, missing from the ERP, or otherwise discrepant.What controls it: Match rules, fuzzy matching thresholds, quantity tolerances, and vendor-specific overrides in Admin > Config > Matching.
7

Route — Decision Engine

The Router evaluates the combined results of the Checker (confidence scores) and the Match (line-item comparison) against your configured business rules to produce one of three outcomes:
  • Auto-Approve — confidence is high and the match is within acceptable tolerances. The pipeline continues to ERP Writeback without any human intervention.
  • Needs Review — one or more discrepancies were found (quantity mismatch, unmatched part number, missing PO, low confidence on a required field). The document is routed to the Document Inbox for a human decision.
  • Rejected — the AI determined the document is not a packing slip at all (e.g., a forwarded email, a blank page, or a document type outside scope). No further processing occurs.
What controls it: Auto-approval rules and thresholds in Admin > Config > Routing.
8

ERP Writeback — Goods Receipt Posting

For documents that are auto-approved or manually approved in the Document Inbox, the platform calls your ERP’s API to create a goods receipt. It posts the received quantities against the matched PO lines, partially or fully closing the order depending on what was received.Depending on your writeback configuration, the goods receipt is posted as a Draft (for further review inside the ERP) or immediately Validated (confirmed and posted to inventory). Additional fields such as lot numbers or serial numbers can also be written back at the line, move, or picking header level.What controls it: Your writeback mode (Draft or Auto-Validate) and field mapping settings in Admin > Config > ERP.

Routing Outcomes

After the Route stage, every document lands in one of three states. Here’s what each means and what happens next.

Auto-Approved

All confidence scores met threshold, and every line item matched within acceptable tolerances. The platform proceeded directly to ERP Writeback and posted the goods receipt on your behalf. No action is required.

Needs Review

One or more conditions weren’t met — a quantity discrepancy, an unmatched part number, a missing PO, or a field with low confidence. The document is waiting in the Document Inbox for a human to review the details and make an approval or rejection decision.

Rejected

The AI determined the document is not a packing slip or is critically flawed — for example, it may be a forwarded email, a blank page, or an unrecognized document type. No ERP action is taken. You can re-upload the correct document if needed.

Monitoring Pipeline Progress

You don’t have to wait for the pipeline to finish to know what’s happening. The Pipeline Timeline on the Document Details page shows which stage the document is currently in, updated automatically every 2 seconds for in-flight documents. Each stage is marked as pending, in progress, completed, or failed, giving you a real-time view of processing without needing to refresh manually. For deeper debugging, the Raw Pipeline tab on the Document Details page shows the exact JSON input and output for every stage. This is especially useful when diagnosing why a document was flagged or why a particular field received a low confidence score, you can trace the data from raw extraction all the way through to the final routing decision.
To learn how to read extraction results, confidence scores, and the match summary in the UI, see Reviewing Documents and Making Decisions.
Last modified on August 1, 2026