← Work BetterBone · Wholesale Operations Dashboard
Enterprise · 2026
Case Study · 04

We rebuilt the back office of a wholesale company around AI.

From email purchase order to QuickBooks invoice — one workspace, seven stages, zero retyping. A custom system, not a service.

Client BetterBone®
Industry B2B Wholesale
Scope End-to-end Ops
Stack Next.js · Claude · Supabase
Timeline ~6 weeks
Status In Production
Claude · Vision Extract

Customer purchase orders arrived as PDFs in shared inboxes. As Excel files in Slack threads. As phone-camera photos of printed forms. Each one had to be opened, read, retyped into the warehouse system, double-checked against a contracted price book, and then turned into a QuickBooks invoice. Operations was a relay race between an email folder, three spreadsheets, and a person with a backache.

We didn’t want to bolt AI onto the chaos. We wanted to rebuild the chaos as one workspace where the AI does the reading, and a human still owns every decision.

The brief from BetterBone was simple: stop the retyping, never miss a duplicate, catch every price disagreement before it ships, and never let anything reach the warehouse or QuickBooks without a human approving it first. What we built is the dashboard their entire operations team now runs the wholesale business from — end to end.

01 The Pipeline

Seven stages, one trip from email to invoice.

01
Arrival
02
AI Extract
03
QC
04
Review
05
Warehouse
06
Lock & Ship
07
Invoice
Stage 01 · Arrival

POs land where the team already works.

The PO comes in by webhook from a connected mailbox (Microsoft 365 / Google Workspace), or by a 5-minute polling job, or by hand at the upload screen. PDFs, XLSX, CSV, and phone photos are all accepted. The original file is preserved next to everything we extract from it.

Stage 02 · AI Extraction

Claude reads the document.

An Anthropic vision call extracts PO number, dates, ship-to address, line items, quantities, and prices into a strict Zod schema — then matches every line against existing clients, locations, and SKUs. Usually a few seconds, end to end.

Stage 03 · Quality Check

The system grades its own work.

Five categories of QC run automatically: math, schema, resolution, pricing, anomaly. The result is a confidence score and a Pass / Review / Fail grade. Anything yellow or red lands in the Inbox before a human sees the order.

Stage 04 · Human Review

A person owns the decision.

The review screen is a three-column workspace: the original document on the left, the extracted fields and line items in the middle, and the order’s lifecycle and actions on the right. Price mismatches show side-by-side. New customers and SKUs can be created inline. One click: Approve & Validate.

Stage 05 · Warehouse Handoff

The order arrives on HOLD.

Approval triggers a push into Synapse Anywhere — but with a HOLD status. The warehouse can see the order and prepare it. They cannot pick or ship it. This gives operations one last off-ramp before anything physical happens.

Stage 06 · Lock & Ship

Operations releases the hold.

From the Warehouse page, a type-to-confirm Lock action removes the HOLD in Synapse and tells the floor to pick, pack, and ship. Once locked, the order is immutable through the dashboard.

Stage 07 · Invoice & Payment

QuickBooks closes the loop.

An invoice is created in QuickBooks Online directly from the PO. Status updates flow back via webhook (open · paid · voided) so the team sees payment status without leaving the dashboard.

po_number: "BB-44182"
customer: "Anchor Supply Co"
ship_by: "2026-05-12"
line_items: [ 14 ]
total: "$48,290.00"
confidence: 0.96
Pass Review Fail
PO says
$48.20
per case · Anchor Supply
Contract
$46.80
per case · since Q1
BB-44182 · 14 lines Hold
BB-44183 · 6 lines Hold
BB-44184 · 22 lines Hold
BB-44182 · 14 lines Locked
BB-44183 · 6 lines Hold
BB-44184 · 22 lines Hold
Invoice #1207 QuickBooks
Anchor Supply Co
14 line items$48,290.00
Total$48,290.00
Paid
02 Inside the System

Inside the system.

Purchase Orders

12 today · 3 need review
PO #CustomerLinesTotalSource
BB-44182Anchor Supply Co14$48,290.00email
BB-44183Northwind Distributors6$12,400.00email
BB-44184Pacific Wholesale22$76,910.00email
BB-44185Atlas Hardware4$8,200.00upload
BB-44186Coast Trading Co9$22,140.00email
BB-44187Summit Industrial11$31,580.00email

Inbox · 7 tasks

Sorted by priority
TypePOWhy it’s here
Price mismatchBB-44183PO $48.20 vs contract $46.80
Low confidenceBB-44187Address ambiguous
QC failBB-44185Line totals don’t match
New customerBB-44192Atlas Hardware not in clients
Reorder duePacific Wholesale · 38d since last PO

Analytics · Revenue

Last 12 weeks
Revenue
$1.42M
+18.4%
Avg order
$32,180
+4.1%
Active clients
87
+3
Reorder due
12
7 overdue

Lifecycle Overview

Today
Intake4
BB-44192
Atlas Hardware
BB-44193
Anchor Supply
Exception2
BB-44183
Price mismatch
BB-44185
QC fail
Ready5
BB-44182
Anchor Supply
BB-44184
Pacific Wholesale
Closed23
BB-44175
Coast Trading

Warehouse · Lock Queue

3 on HOLD
POCustomerShip byAction
BB-44182Anchor SupplyMay 12Lock →
BB-44184Pacific WholesaleMay 14Lock →
BB-44186Coast TradingMay 16Lock →

PO Review · BB-44183

1 issue · 1 click
PO says
$48.20
per case
Contract
$46.80
per case · since Q1

Use PO price · Use contract price · Update contract going forward

Clients · 87 active

Bulk upload available
StatusClientLast POYTD revenueCadence
ActiveAnchor Supply Co3 days ago$182,40014d
ActivePacific Wholesale1 day ago$248,91011d
ActiveCoast Trading Co38 days ago$94,32021d · overdue
ActiveSummit Industrial5 days ago$66,18017d

SKUs · 412 active

AI-normalized
SKUDescriptionBrandVelocity
BB-1042Bone broth · 14oz · case of 12BetterBonefast
BB-1043Bone broth · 32oz · case of 6BetterBonefast
BB-1110Marrow blend · 14oz · case of 12BetterBonesteady
BB-1188Sipping broth · 8oz · case of 24BetterBonecold

Pricing · Client × SKU

Versioned · self-healing
SKUAnchorPacificCoastSummit
BB-1042$46.80$44.20$48.00$45.50
BB-1043$58.40$56.10$60.00$57.20
BB-1110$52.00$49.80$54.00$51.10
BB-1188$38.50$36.80$37.20

Integrations

All systems · last 50 calls
Synapse WMS
Connected
last push 2m ago
QuickBooks
Connected
last sync 14m ago
Email
3 mailboxes
poll every 5m

AI Usage · Today

$8.42 / $25.00 daily cap
Extractions
42
Haiku 4.5 · 78%
Validations
86
Sonnet 4.6 · 22%
Spend
$8.42
34% of cap
01 / 11

Purchase Orders

Every PO that arrived today, color-coded by quality grade.

03 AI as the Engine

We didn’t bolt AI onto a workflow — we engineered around it.

Three jobs Claude does on every order, with guardrails the team controls.

01 · Read

Reads documents

Vision extraction on PDFs and phone photos. Text extraction on Excel and CSV. Structured output through a strict Zod schema, matched against existing clients, locations, and SKUs in one call.

02 · Score
96%

Scores confidence

Every extraction is graded Pass / Review / Fail across five QC categories: math, schema, resolution, pricing, anomaly. Anything ambiguous lands in the Inbox before a human sees it.

03 · Bound
$8.42 spent34%
Daily cap$25.00

Stays in budget

A daily Anthropic spend cap is enforced at the router level. If a runaway bug or flood of bad email tries to burn the bill, AI calls stop. Operations sees exactly what was spent and on what task.

04 The Stack

Best-in-class systems, stitched together.

BetterBone Ops doesn’t try to be everything. It connects the systems that already do their jobs well — and adds the workflow on top.

Anthropic Claude
The Brain

Vision extraction on PDFs and photos. Text extraction on Excel/CSV. Bulk normalization of clients, SKUs, and pricing. Daily budget guard at the router.

Next.js 16
The App

App Router, Server Actions, Edge middleware. React 19, TypeScript end-to-end, Tailwind 4, shadcn/ui primitives. No ORM — pure SQL migrations.

Supabase
The Database

Postgres for every PO, line, customer, location, SKU, price, and audit row. File storage for the original documents next to the extractions.

Vercel
The Runtime

Hosting, automatic deploys, and the only scheduler we need: 5-minute mailbox poll, daily reorder reminders. No queue system to operate.

QuickBooks Online
Accounting

Invoices created from approved POs. Status webhooks (open, paid, voided) flow back to the dashboard. OAuth-based with one-click reconnect.

Synapse Anywhere
Warehouse

Approved orders push on HOLD. Operations releases the lock from the dashboard. Shipment webhooks flow back to update lifecycle and trigger invoicing.

Microsoft 365 / Google
Email Ingest

OAuth mailbox polling for inbound POs. Postmark / Resend / Mailgun webhook fallback for real-time. New mailboxes connect through an in-app wizard.

In-App Secrets
Credentials

All third-party tokens live in app_secrets and rotate without a redeploy. HMAC-signed sessions on every Edge request.

05 Safety & Reliability

Nothing reaches the warehouse or QuickBooks without a human approving it first.

Four layers of safety, four reasons errors don’t make it to production.

Confidence scoring

Every extraction graded Pass / Review / Fail. Yellows and reds are surfaced before a human sees the order.

Field-level validation

SKU exists. Customer is recognized. Price matches contract. Math adds up. Five categories of automated check.

Duplicate detection

PO numbers, customer, total, and date are matched against history. Duplicates are flagged loudly — never silently processed twice.

Dry-run mode

Flip a switch and every external action is simulated — perfect for training a new operator without risking warehouse or accounting state.

06 By the Numbers

What it adds up to.

Early production data — refreshed each quarter.

PO accuracy
96%

Average extraction confidence across vision and text inputs.

Hands-off green path
82%

Of incoming POs auto-graded Pass and ready to one-click approve.

Time per PO
~45s

From email arrival to approve-ready, including QC and validation.

Integrations live
7

Anthropic, Synapse, QuickBooks, Microsoft 365, Google, Postmark, Resend.

07 Deliverables

A documented system, not a black box.

Everything BetterBone received, in addition to the live application.

betterbone-ops.vercel.app
Live Dashboard
Production · Vercel
Operations Overview
The Operations Dashboard, Explained
A plain-English guide to what the system does, how the work flows through it, and what each part is for.
Operations Overview
17 pages · for the team
app_router: "next-16"
db: "supabase/postgres"
edge: "hmac-session"
ai: "claude-haiku/sonnet"
cron: [
  "poll-mailboxes/5m",
  "reorder-reminders/d"
]
Engineering Handoff
Codebase map · runbook
Integration Runbook
Connecting Synapse, QuickBooks & Email
Step-by-step setup for each integration with troubleshooting and common errors.
Integration Runbook
OAuth · webhooks · secrets
Operations Playbook
Day-to-Day Tasks & Edge Cases
Scripts the team runs daily. What to do when something looks broken.
Operations Playbook
For the operator

If your business runs on spreadsheets and email threads, we can compress it into a workspace.

BetterBone Ops is one example of what Tulumi Enterprise builds: custom, AI-native systems for operators who’ve outgrown off-the-shelf software. End-to-end, documented, deployed, and ours to support.

Talk to us about your workflow
Next Case · 05
Supreme Riviera Transfers