Case study · Client work turned product
KeyPost: every Shopify order posted to QuickBooks Desktop exactly once.
KeyPost is a Shopify to QuickBooks Desktop and Enterprise integration we built for a client, then rebuilt as a product. It checks each order before it touches the books, posts it once, and writes the same verified record to an Excel workbook finance can reconcile against.
6 recorded checkpoints
Capture, validate, match, post, reconcile and report, each logged on its own.
1 post per order
A dropped sync or a re-run skips what already landed in QuickBooks.
2 destinations that agree
QuickBooks Desktop or Enterprise, plus an .xlsx workbook with a monthly tie-out.
0 orders keyed by hand
Held orders wait in a review queue with the reason spelled out.
The problem
A bookkeeper was re-typing every Shopify order.
The client ran their store on Shopify and their books on QuickBooks Desktop. Every order was entered by hand. Typos crept into totals, some orders were entered twice, and month-end meant chasing differences between the Shopify payout report and the bank.
How it's built
A checked path from Shopify webhook to general ledger.
Validate before anything posts
Each Shopify order arrives automatically and the original is kept untouched. Every SKU must map to a QuickBooks item and the lines, tax, shipping and discounts must equal the order total. Orders that fail wait in a review queue.
Posting to QuickBooks
Paid orders become Sales Receipts or Sales Orders with payment applied, unpaid orders become Estimates. Customers are matched to existing QuickBooks records, and every transaction is confirmed back once it lands.
Payouts, refunds and Excel
Shopify Payments payouts post as deposits with fees split to their own account, and refunds post as credit memos tied to the original sale. The same record lands in a workbook with a monthly tie-out sheet. KeyPost is now adding Stripe and PayPal, so payments from payment links and invoices reconcile the same way, down to the bank line. Zelle, Venmo and Cash App are scoped per client.
What was hard
QuickBooks Desktop does not forgive a retry.
QuickBooks Desktop syncs on a schedule from the office computer that holds the company file, and a sync can stop partway through. A simple retry posts the same order twice, which is the exact problem the client hired us to stop.
The fix was to record each step as it completes, so the next run picks up exactly where the last one stopped and never repeats a post. Desktop's strict field limits caused the other quiet failures, so customer details are fitted to them before anything posts. An override on a held order is logged with who made it and when, and any QuickBooks transaction or Excel row traces back to the original Shopify order.
Business model
Fixed-scope setup, then a flat monthly fee.
Setup, $1,500 one-time
Account and item mapping, a two-week parallel run against a copy of the company file, and a 3-month backfill. Done by the engineer who built it.
Plans from $79/month
Priced by monthly order volume, from an Excel-only plan to QuickBooks Enterprise with Slack alerts. Teams can start with the workbook and turn on QuickBooks posting later.
What it shows
A client fix can become a product.
KeyPost started as one client's integration and now runs as a product other businesses can buy, including ones paid through Stripe or PayPal with no Shopify store. We bring the same approach to client work: solve the real problem first, build in the checks finance will ask for, and keep the result clean enough to reuse.
Still keying data between two systems?
A short call is the fastest way to scope it.