Live parser playground

Paste your worst PO. Watch SideQuest parse it.

Drop in a real customer purchase order email or upload a PDF. The same parser SideQuest uses on inbound mail runs right here in your browser. You'll see the customer, ship-to, line items, and confidence scores in real time. Nothing leaves this page.

1Paste an email or drop a PDF

2What SideQuest sees

Awaiting input
Customer
Ship to
PO ref
Net terms
Need by
Notes
Vendor / Bill From
Total
Line items
No lines parsed yet.
Confidence subscores
Customer-format recognition
0.00
Table structure
0.00
Qty / price disambiguation
0.00
Text legibility
0.00
Next step Paste an email or drop a PDF on the left to see what SideQuest would do with it.
What this playground is, and what it isn't. The parser running here is the same deterministic layer SideQuest uses to read inbound PO emails: anchor extraction, line shape detection, qty/price disambiguation, and a four-part confidence rubric (customer-format recognition, table structure, qty/price disambiguation, text legibility). Four things this preview leaves out, all present in the production connector (v0.15.7):
  • Claude (via MCP) handles the ambiguous cases. When an email doesn't fit a known shape — a free-form request from a sales rep, a customer who writes "send 30 more of that 4-inch valve thing we ordered last month," a forwarded chain with the real PO buried in the third reply — the connector reads it the way a person would and proposes a draft Estimate. A "review needed" decision on this page becomes "ask Claude to interpret" in production, not "bounce to a human."
  • QuickBooks matching plus pricing variance check. The connector matches every line against your item list, applies your customer-specific pricing tier, flags variances, and builds the draft Estimate in your QuickBooks file. That's the part that needs your data.
  • One-shot morning routine (v0.15.5+). In production, process_overnight_queue() runs an auto-label preflight first — so a PO that arrived overnight without your Gmail label still gets picked up — then parses, matches, and drafts every queued PO in a single server-side loop. The playground only renders one PO at a time; production handles the batch.
  • Self-sent + description-only safety filters (v0.15.6+). The overnight queue skips emails you sent from your own watched Gmail address (no risk of reprocessing your own outbound forwards). And any line that matched a catalog item on description alone — no part number — is always flagged for review before bulk_submit_clean can write it to QuickBooks. The playground shows the parsed shape; production layers these safety rails on top.
Drop in real POs and see how the parser handles your customer formats. The ones it scores low aren't lost — those are the ones the connector routes through Claude for interpretation before falling back to human review.

Like what you see? Run it on every PO your team gets.

25 POs/month free, no card. Solo at $29/mo for 150 POs. Setup is a Claude prompt plus a 4-minute install.

Start the free tier → See the 90-second demo Pricing

How the parser thinks

SideQuest reads PO emails the way a person does: scan for the customer name, find the ship-to address, locate the line items, separate the quantities from the unit prices. The parser is deterministic. It looks for anchors first ("Customer:", "Ship to:", "PO #", "Net 30"), then tries several line-item shapes until one matches cleanly: 3 × PN-123 — desc, tabular QTY PN DESC PRICE columns, bulleted lists, free-form mentions of part numbers next to a quantity.

Every line carries four named confidence subscores. Customer-format recognition goes up when standard PO anchors show up — the more "Ship To" / "Bill To" / "Net 30" / "P.O.#" markers we find, the more confident we are about the rest. Table structure measures how consistently the line items match a single shape. Qty / price disambiguation rewards POs that put dollar signs on prices and bare integers on quantities (the disasters are the ones where qty looks like a price). Text legibility is a default 1.0 for typed email text and drops as soon as OCR enters the picture.

A score above 0.65 across the board means the connector treats the PO as clean. SideQuest builds the draft Estimate in QuickBooks and queues it for you to review and submit. The default is human-in-the-loop — you click submit. Two opt-in cuts are available for teams that want more automation: Cut 1 auto-submits clean drafts without a review step (set SIDEQUEST_AUTOSUBMIT=true in your .env); Cut 2 drafts an auto-reply to the buyer confirming receipt. Below the 0.65 threshold, the connector still builds the draft but flags the low-scoring lines and routes the email to a human reviewer with a specific reason. No guessing.

If your sample scored low

The fastest way to get a clean parse on every customer is to publish a templated request format. The field-order template is a good starting point — eight named anchors and a clear line shape. You can also adapt the heuristics to your customer's existing format by adding cross-references in the connector (every time you hand-match a part number, SideQuest learns it for next time, per customer).

If you'd rather not change anything on the customer side, that's fine too. The parser plus the cross-reference learning layer catches most quirky formats inside a week of real-world traffic. The five-PO-formats post walks through the harder cases and what the connector does about each one.

Keep reading

SideQuest Automation · sidequestautomation.com
Questions? Send a brief