,

Onboard a New Shopify Client to QuickBooks in Under an Hour

Onboard a New Shopify Client to QuickBooks in Under an Hour

The variation between Shopify clients is smaller than you think — and every part of it can be templated. This is the five-stage process, with times.


The onboarding call is at 2:00. You've blocked the whole afternoon — because the last one ate the whole afternoon, and it was supposed to take an hour.

If you've onboarded a few Shopify clients, you've lived some version of it. You rebuilt half the chart of accounts live on the call. You waited twenty minutes for a Shopify collaborator request that was never sent. You found out mid-call that "QuickBooks" meant Desktop. Every engagement felt like starting from scratch, on the client's clock, with you visibly figuring it out.

The conclusion most firms draw is the expensive one: every e-commerce client is unique — you can't standardize the onboarding. That's the lie. The variation between Shopify clients is almost entirely two things — the chart of accounts mapping and the date range of historical data. Both can be templated. The remaining 80% of the work is identical across every client you will ever onboard.

This guide is that 80%, written down: how to onboard a Shopify client to QuickBooks in five stages, 55 minutes of hands-on time, repeatable enough to hand to junior staff by the third client.

Why Shopify Client Onboarding Takes Longer Than It Should

Onboardings don't blow up because the work is hard. They blow up because decisions and access requests that should have happened before the call happen during it.

Think about what consumed the time on your worst one. Waiting for credentials. Debating which account should hold merchant fees while the client watched. None of that is accounting difficulty — it's sequencing failure.

The fix is structural: split the engagement into stages, put every decision in the earliest possible stage, and never start a downstream stage until the upstream one is checked off. That's the entire method. The times below are real once the inputs arrive on schedule: 10 + 5 + 20 + 5 + 15 — 55 minutes.

One honest caveat: this clock assumes the client's existing QuickBooks file is usable. If it's carrying months of double-counted income or a clearing account that has never been zeroed, that's a different engagement — scope it separately using the cleanup guide, fix the file, then come back here. Onboarding onto a broken file just automates the mess.

Stage 1: Pre-Call Prep — 10 Minutes

Everything in this stage is an email you send the week before. What you're collecting:

  1. The Shopify store URL and admin access. The connection has to be authorized by someone with admin or owner-level access to the store. Either the client authorizes on the call, or they grant your firm collaborator access in advance. Confirm which before the call.
  2. QuickBooks Online access — and confirmation that it's Online. Desktop isn't supported, and finding out live is the classic onboarding derail. Have the client send an accountant invite to your firm's login, and confirm which QuickBooks company the store should sync to — in LedgerPort, once an accounting connection is made for a business it cannot be switched later. This decision is permanent per client file.
  3. The historical period to backfill. How far back do the books need to be rebuilt from Shopify data? Ask for a date — "from January 1" beats "a while." LedgerPort's Time Machine imports up to 24 months of historical order data, so anything inside two years is tooling, not data entry.

While you wait for replies, prep the artifact that makes Stage 3 fast: your firm's standard e-commerce chart of accounts. Mapping assigns Shopify data to existing QuickBooks accounts — it doesn't create them. If the client's chart is missing a clearing account or a fee expense account, add those in QuickBooks before the call. (No standard chart yet? Build it once from this template and reuse it on every client.)

Stage 2: Connections and Permissions — 5 Minutes

Two connections, both from one page, both authorized by OAuth — the client approves access inside QuickBooks and Shopify directly, and no passwords are ever shared with the tool or with your firm. That's the answer when a client asks why the access request is safe, and it's worth saying out loud on the call.

In LedgerPort the sequence is: create the client's business (one business = one Shopify store paired with one QuickBooks company), then open Connections in the sidebar.

Connect QuickBooks first: click Connect QuickBooks, sign in, pick the company, authorize. The moment that deserves double-checking is company selection — confirm it's the right QuickBooks file before clicking Authorize, because it can't be switched later.

LedgerPort Connections page with the Connect QuickBooks button under the QuickBooks Online section
Both connections live on one page. QuickBooks authorizes via OAuth — the client approves inside QuickBooks, and no credentials change hands. Full walkthrough: Connecting QuickBooks Online with LedgerPort →

Then the store: click Connect Shopify Store, enter the store URL (client-store.myshopify.com), and the client clicks Install app on the Shopify side. If the client installed LedgerPort from the Shopify App Store instead, the store is already connected and this step disappears.

LedgerPort Connections page showing the Shopify store connection section with its connection status
The store side: a URL and an Install app confirmation. No API keys, no CSV exports. Full walkthrough: Connecting Your Shopify Store →

The dashboard then shows a three-item setup checklist — Connect your store, Connect QuickBooks, Enable auto-sync. Leave auto-sync off for now. You want the historical backfill and the first verification done before anything syncs on its own; enabling auto-sync is the last box you check, in Stage 5.

Stage 3: Chart of Accounts Mapping — 20 Minutes

This is the stage that varies between clients, which makes it the stage to template hardest. The mapping decisions that actually matter are five: where fees go, where refunds go, where gift cards go, where sales tax goes, and where shipping goes. Everything else is product-level detail that tooling handles.

Here's a standard mapping that holds for most Shopify clients:

Shopify element QuickBooks account Account type
Product sales Sales Revenue Příjem
Shipping charged to customers Příjem z dopravy Příjem
Slevy Discounts Given Příjem (kontra)
Vrácení peněz Vrátky a slevy Příjem (kontra)
Sales tax collected Daň z obratu k úhradě Jiné krátkodobé závazky
Gift cards sold Gift Card Liability Jiné krátkodobé závazky
Shopify Payments / gateway fees Merchant Processing Fees Náklady
Payout clearing Shopify Clearing Other Current Asset

Two of these rows are where new-to-e-commerce files always go wrong, so state them as policy: gift cards sold are a liability, not revenue — revenue happens at redemption. And refunds live in contra-revenue, never netted into sales, so the client's true returns rate stays visible.

Mechanically, the mapping goes fast because of two features. Auto-Map compares the client's Shopify products against their QuickBooks items and links them wherever SKUs or names match — one click handles the bulk of the catalog, and you review and override rather than build from zero. Whatever remains shows as Unmapped; assign those manually from a dropdown, filtered to unmapped-only.

For firms, the multiplier is the Master Template: LedgerPort's CPA Partner Program supports applying a standard chart of accounts configuration across multiple clients — the 20 minutes you just spent on client one becomes the starting point for client two, not a rebuild.

One judgment call to make deliberately: unmapped-item handling. You can set a fallback item so orders containing a product you haven't mapped still sync instead of failing. That's resilience at the cost of per-product reporting — reasonable for a client with a thousand low-value SKUs, wrong for one who wants product-level margin. Decide it per client, on purpose. (Full mechanics: product mapping and account mappings.)

Stage 4: Historical Backfill — 5 Minutes to Trigger

With mappings set, push the history. The Manual Sync page (titled Send to QuickBooks) lists the client's products, customers, orders, and payments with a per-row sync status; select the agreed historical window and push, or push all. Time Machine covers up to 24 months back — which is why Stage 1 asked for a date.

The push runs in the background while a progress modal shows each record landing or failing. Five minutes of your time to trigger; wall-clock completion varies with volume — this is the natural coffee break in the onboarding call.

LedgerPort push progress modal showing per-record results during a bulk historical push to QuickBooks, with statuses and overall progress
Trigger the backfill and watch it land record by record. Already-synced rows are skipped automatically, so re-pushing after a fix never creates duplicates. Full walkthrough: How to Push Historical Data to QuickBooks in LedgerPort →

Two things to know while it runs. First, the dedup guarantee: records with a Synced status are skipped on any re-push, and failed records are retried rather than duplicated — pushing again after fixing a mapping is always safe. Second, what to watch for: any order containing an entity you didn't map will log an error and not post to QuickBooks. That's the correct behavior — a held order is fixable, a wrongly-posted one is a cleanup — and it's what Stage 5 checks.

Stage 5: First Reconciliation Check — 15 Minutes

Never mark a client live on "the sync ran." Mark them live on "the output verified." Two checks, in order.

Check one: the audit log. Every sync attempt writes a log entry with a status — Synced, Error, Pending, or On Hold. Open the Audit Log and filter Status to Error: that's the complete list of everything needing attention, and an empty list is what clean looks like. Expand any error row and the details column says what failed. The two you'll actually see on a first sync are Product Not Mapped (go back to Mapping, map it) and Customer Not Found in QuickBooks — and that second one has a one-setting fix: if the client doesn't need per-customer tracking, switch the customer strategy to Generic so all unmatched customers route to a single QuickBooks customer.

LedgerPort Sync Config Customers tab showing the customer strategy setting that routes unmatched store customers to a single generic QuickBooks customer
The most common first-sync error — Customer Not Found — retired with one setting. Decide per client whether they need customer-level tracking; most don’t. Full walkthrough: Common Sync Errors and How to Fix Them →

After any fix, re-push the affected records from Manual Sync, re-filter to Error, and confirm the list is empty. (Reading and Filtering Audit Log covers every filter.)

Check two: trace one payout end to end. Pick a recent Shopify payout and follow it through QuickBooks: gross sales in, fees to the expense account, refunds to contra-revenue, and a net amount that matches the bank deposit to the penny, with the clearing account zeroing across the cycle. One payout that ties completely proves the mapping, the fee separation, and the clearing flow in a single trace. (Why payouts and deposits diverge — and how the automated method keeps them tied — is covered in the payout reconciliation guide.)

Both checks pass? Enable auto-sync — the third box on the setup checklist — and the client runs on their own from here.

The Handoff Checklist

The staff member who ran the onboarding hands this to the partner. Every box checked means the client is marked live; any box unchecked means the engagement isn't done, no matter how smooth the call felt.

  • QuickBooks Online and Shopify both show Connected on the Connections page
  • Correct QuickBooks company confirmed before authorization (it can't be switched later)
  • Chart of accounts mapping matches the firm's standard template; deviations documented
  • Fees, refunds, gift cards, sales tax, and shipping each mapped per the table above
  • Unmapped-item handling decided deliberately (fallback on or off) and noted
  • Historical window pushed for the full agreed date range
  • Audit log filtered to Error returns zero rows
  • One payout traced end to end: gross → fees → refunds → net = bank deposit, clearing zeroed
  • Auto-sync enabled
  • Client file added under the firm's account with staff roles assigned

That last box is what makes this delegable. Because every client is a separate business under one firm login, a staffer can run the entire process on the client file without touching billing or another client's configuration — which is the point at which onboarding stops being partner work.

Your Second Client Takes 25 Minutes

Here's what happens once this is templated. The second Shopify client takes about 25 minutes, because the pre-call email is already written, the standard chart is already built, and the Master Template applies your mapping instead of you rebuilding it. The fifth takes 15, and a staff member runs it while you're on something billable.

That changes the economics of the client type. Firms that avoid e-commerce engagements aren't wrong about the pain of unstandardized onboarding — they're wrong that it can't be standardized. A repeatable 55-minute onboarding is what makes e-commerce clients a profitable segment instead of a loss leader, and what justifies pricing the engagement on value rather than cleanup hours.

The tooling scales the same way: the partner program is built around this exact workflow — hierarchical client management from one dashboard, wholesale billing at the firm level, a revenue share or a pass-through client discount (your choice), and white-glove onboarding where the LedgerPort team connects the client and reconciles the first syncs with you.

Run the First One With Us

You now have the five stages, the standard mapping table, and the handoff checklist — the whole 55 minutes on paper. The fastest way to make it real is to run it once with someone who's done it a few hundred times.

Book a CPA onboarding call → and we'll walk through your first Shopify client with you — connections, mapping, backfill, and the payout trace — so your second one really does take 25 minutes.

Ukončete ruční zadávání dat navždy

Propojte svůj obchod s QuickBooks za 15 minut a zbytek nechte na LedgerPort.

Začít zdarma Zobrazit ceny →

Spojte se s námi:

Automatizujte své účetnictví pro e-commerce ještě dnes

Propojte svůj obchod Shopify nebo WooCommerce s QuickBooks za méně než 15 minut — bez nutnosti kódování.

14denní záruka vrácení peněz · K dispozici bezplatný plán