Bulk-process overnight POs from Gmail into QuickBooks Online
You wake up to 27 emails. Eighteen are POs. Eight match your catalog cleanly, six have at least one line you've never seen, three are quote requests that read like orders, two are spam. The next 90 minutes are gone before you've answered the first one.
SideQuest v0.15 ships a single command that handles the clean ones for you and stacks the rest in one queue. The clean POs flow into QuickBooks Estimates while you're pouring coffee. The held POs are the only place your eyes go.
What the bulk command does
You open Claude and type:
process the overnight queue
The connector runs this sequence without further input:
- Pulls every unread email tagged
purchase-ordersfrom your Gmail - Parses each one out of its PDF attachment, inline body, or both
- Looks up the sender's domain in QuickBooks to attach the right customer
- Matches every line item to a SKU in your QuickBooks catalog
- Flags pricing mismatches, missing SKUs, and quote-vs-order ambiguity
- Auto-submits every PO where all lines match a known customer with no price flags
- Returns a held list grouped by the reason each was kept back
A typical response on a 27-email inbox looks like this:
27 emails scanned, 18 POs found
12 auto-submitted to QuickBooks (Estimate IDs 1432-1443)
6 held for review:
3 — customer not in QuickBooks (Datamoto, Ferguson-Temp, Brunswick)
2 — pricing mismatch over $20 (ACME #PO-89734, ACME #PO-89735)
1 — quote vs PO ambiguous (Ducks Unlimited rfq-q2)
report_review_queue for the next step
You spend the next five minutes on the six held items. Three new customers get created in QuickBooks and re-run. Two pricing disputes go to your AR person. One quote moves to the quote workflow instead of the order flow. By 8:30 you're done with overnight.
Setup runs once
Two things have to be true before the bulk command works on your inbox:
Gmail labels your POs as they arrive. A Gmail filter rule applies the label purchase-orders to incoming PO emails. Most distributors filter by sender domain (the top 20 customers) or by subject pattern like PO # and Purchase Order #. Five minutes of Gmail settings, one time. If the label doesn't exist in Gmail yet, run auto label unprocessed first and the connector creates it. (We shipped that fix in v0.15.3 so a new install never hits the chicken-and-egg wall where the queue refuses to run because the label was never born.)
Your QuickBooks catalog covers what your customers reference. Either part numbers match what's in QB one-to-one, or you've uploaded a cross-reference CSV mapping customer part numbers to your SKUs. The cross-ref upload is on Solo tier and above and the catalog stays local on your computer.
Why the morning becomes size-independent
The job of typing POs takes roughly the same effort per PO. Five POs is 15 minutes. Fifty POs is 150 minutes. You hire CSRs to absorb the volume, and the CSR salary scales with your inbox.
The bulk command flattens that curve. Five POs takes 30 seconds. Fifty POs takes 90 seconds. Your CSR keeps the work that needs judgment: new customers, pricing disputes, quotes that have to be built from scratch, the customer who emails a Word doc shaped like a 1998 fax. The mechanical job goes away.
The held queue shrinks every week as your cross-reference table fills and SideQuest auto-learns customer-specific part-number aliases. A distributor in our beta saw the held-for-review rate drop from 41% in week one to 11% by week six.
The four commands a rep runs in the morning
The bulk flow uses four MCP tools, all of which Claude calls when you describe what you want:
auto_label_unprocessedsweeps recent unread mail for POs your filter missed and labels them so the queue picks them up. Confidence-gated at 0.7 to avoid mislabeling.process_overnight_queueis the headline command. Parses, matches, drafts, and (on paid tiers) auto-submits the clean batch.bulk_submit_cleanis a confirm-and-go pass for clean drafts that didn't auto-submit because you're on Free or because auto-submit was off for the run.report_review_queueshows you what's held and why, grouped so you can knock out a category at a time.
You never have to remember the names. "Run the overnight queue" or "show me what's held" gets there.
What's tier-gated
Every tier including Free runs the bulk command. The difference is what happens to the clean batch.
On Free, SideQuest builds the drafts and stops there. You ask Claude to submit them one at a time. That's still faster than typing them by hand, but you click the trigger for each.
On Solo ($29/mo, 150 POs) and above, the clean batch auto-submits to QuickBooks. The only POs you touch are the held ones. That's the gap between a 5-minute morning and a 90-minute morning.
Full pricing is at pricing. The math on what every saved morning is worth lives in our PO time calculator.
Try it on a real PO before you commit
Drop a sample PDF on try.html and the parser runs in your browser. No install, no signup, no Gmail OAuth. You see exactly what SideQuest would have extracted from your PO before deciding whether to roll it out.
If the output looks right, start-free issues a license key and gives you the install prompt for Claude Desktop. From signup to first parsed PO in production runs about 15 minutes for most people.
Start Free, 25 POs/month · Read the v0.15 changelog · Insights for ops leads