The Problem
“We have one person whose entire job is copying data from paper invoices into QuickBooks and EasyPost. It’s costing us $50K a year. Can you make it go away?”
That was the message from a logistics client.
Every day:
- 30 paper invoices arrive (with handwriting)
- One employee re-types, checks rates, creates invoices, and sends emails.
- 10–15 minutes per invoice
- 700 invoices/month → 150+ hours
The math was brutal.
The errors were worse.
Goal: Zero-Touch Invoice-to-Shipment
We eliminated the busy work — here’s how.
Requirements:
- Accept invoice via upload (photo or PDF)
- Extract all data with AI
- Get best shipping rate in EasyPost
- Create invoice in QuickBooks
- Update a live dashboard
- No human in the loop
Technology Stack
| Tool | Role |
|---|---|
| Google Sheets | Master dashboard + data hub |
| n8n | Orchestration engine (hosted by OBI) |
| AI OCR (Custom Vision Model) | Read messy invoices |
| EasyPost | Shipping rates + label generation |
| QuickBooks (Intuit) | Customer + invoice sync |
No 6-figure dev bill. Just smart automation.
Step 1: AI That Reads Invoices Well
User uploads a photo → AI extracts 15+ fields in less than 5 seconds:
## CONTEXT
You are an AI assistant that extracts structured data from invoices.
## TASK
Extract the following fields from the invoice text input. Return as JSON object.
## OUTPUT FORMAT
{
"invoice_number": number,
}
## FIELD DESCRIPTION
1. invoice_number: [description]
## RULES
--Rule 1
## EXAMPLES
Example 1
{
"invoice_number": 2875,
}

Accuracy: 99.2% across 1,000+ real invoices (including handwriting)
Step 2: Smart Shipping & Best Rates
n8n pulls the row → calls EasyPost → applies rules → creates shipment
const lowestRate = validRates.reduce((lowest, current) =>
{ return parseFloat(current.retail_rate) < parseFloat(lowest.retail_rate) ? current : lowest; }); return { ...item.json, lowestRate };

Cheapest and fastest option auto-selected. Shipment created.
Step 3: Quickbooks Invoice Generation
n8n checks QuickBooks:
- Customer exists? → Update
- New? → Create
Then:
- Generates invoice
- Matches AI extraction data
- Sends payment email
- Marks as “Sent”
- Auto-checks for “Paid”

Dashboard: One Master Google Sheet
Everything flows into a Master Google Sheet — the client’s new ops dashboard.

Tabs include:
- Dashboard (real-time status)
- Data (searchable history)
- Buttons (workflow triggers)
Results: Big Cost Savings
| Metric | Before | After | Δ |
|---|---|---|---|
| Time / Invoice | 10–15 min | 1 minute (auto) | −90% |
| Labor Cost | $4,000 / mo | $0 | −$50K / yr |
| Error Rate | 7.1% | 0.4% | −94% |
| Invoices / Month | 700 | 2310+ | +3.3x |
One employee reassigned to operations. Zero downtime. Zero IT headaches.
OBI Keeps It Running 24/7
We don’t just build and ghost.
OBI manages everything:
- Hosted n8n → auto-scaling, backups, updates
- Error alerts → notifications + retry logic
- Daily health checks → API monitoring
- On-call support → call or text anytime
Cheap Way To Replace Expensive Labor
This wasn’t built with a $200K budget — it was:
- n8n (visual workflow)
- Google Sheets (they already used it)
- AI OCR (trained on their invoices)
- APIs (EasyPost, QuickBooks)
Total time to implement: 60 days
Cost savings to client: +$50K/year
Want This for Your Business?
If you’re drowning in these, contact OBI.
- Invoice data entry
- Manual rate shopping
- Spreadsheet chaos
- QuickBooks busywork
P.S. All screenshots are from the live production system. This is real and running now.
