← All posts
E-commerceSeptember 16, 2026

Pre-orders and deferred revenue: how to keep your Shopify P&L accurate before launch day

When a customer pays for a product that has not shipped yet, that payment belongs on the balance sheet as a liability, not on the income statement as sales.

Stacked branded cardboard boxes on warehouse shelving ready for fulfillment dispatch
JZ
Jessica Zhao
CEO, Clear Books Advisory

An e-commerce founder we work with launched a skincare product last October with a two-week pre-order window. She collected 340 orders in the first 48 hours, totaling $26,180. Her bookkeeper recorded all of it as November sales. The product did not ship until mid-December.

Her November Profit and Loss report (P&L) showed $26,180 in revenue that had not been earned yet. Her December P&L, the actual shipping period, was nearly empty. When her accountant asked what happened to fourth-quarter sales, she had no clear answer. The numbers existed, but in the wrong months.

Why pre-orders require different bookkeeping

A pre-order collects cash before the product ships. In standard bookkeeping, money received before a product is delivered is called deferred revenue. It belongs on the balance sheet as a liability, not on the income statement as sales.

The P&L is supposed to show what a business earned in a given period, not what it collected. Recording pre-order payments as income the day they arrive produces a report that cannot be trusted. Decisions made from that report, including ad spend, owner draws, and vendor payments, are calibrated against a number that does not reflect actual results.

Four reasons pre-order funds end up in the wrong account

Shopify records a pre-order as a sale when payment is collected. That number appears in the Shopify dashboard as revenue. If a bookkeeper or integration pulls those figures directly and posts them to income, the timing is wrong. Shopify tracks payment, not delivery.

Most small-store QuickBooks setups do not include a deferred revenue account. Deferred revenue is a liability account, not an income account. It is easy to skip when building a chart of accounts from a standard template. Without one, pre-order funds have nowhere logical to land other than sales.

The product cost does not arrive at the same time as the payment. When pre-orders come in, inventory may still be at the factory. Recording revenue immediately but cost six weeks later produces a gross margin number that is wrong in both months.

Orders ship in batches, not all at once. A campaign with multiple SKUs may fulfill the main product in week six and a back-ordered variant in week ten. Revenue recognition must follow each batch, not the first ship date.

What the numbers actually look like

The October launch above had 340 orders at an average of $77 per order. Orders shipped in two batches: 240 units in mid-December and 100 units in early January.

Period Units Shipped Revenue to Recognize Deferred Revenue Balance
October 0 $0 $26,180
November 0 $0 $26,180
December 240 $18,480 $7,700
January 100 $7,700 $0

Recorded correctly, November shows zero revenue from the launch. December shows $18,480. A bookkeeper who posted the full $26,180 to November made that month appear to be a record month for no operational reason, then made December look flat during the actual shipping period.

Why the timing error compounds

Revenue timing shapes decisions that are hard to reverse.

If November looks like a breakout month, a founder may hire staff, increase ad spend, or take a larger owner distribution. Those decisions are calibrated against revenue that was already collected weeks earlier and represents outstanding obligations, not available margin.

If December appears thin, a founder may cut inventory orders at the exact moment a product has demonstrated strong demand. The P&L signal points in the wrong direction on both sides.

When a lender or investor reviews monthly financials, a $26,000 revenue spike followed by a flat month raises questions. A deferred revenue balance on the balance sheet answers those questions clearly: the funds were received, fulfillment is in progress, and the revenue recognizes as orders ship.

What correct pre-order bookkeeping looks like

For clients who run pre-orders, we set up the deferred revenue account in QuickBooks before the campaign opens. Pre-order payments post to that account. Each time orders ship, we move the earned portion from deferred revenue to product income and record the cost of goods sold in the same entry.

The P&L for each month shows exactly what shipped and at what margin. The balance sheet carries the remaining obligation until it is fulfilled. At the end of the campaign, deferred revenue reaches zero and every dollar collected has been recognized in the period it was earned.

The process adds one account and one additional step per shipment batch. For a brand running two or three pre-order campaigns per year, the time investment is small compared to the clarity it produces.

Best practices for pre-order accounting

  • Create the deferred revenue account in QuickBooks before the campaign opens. Retrofitting it after the fact requires correcting every pre-order entry individually.
  • Tag all pre-order transactions in Shopify. A filtered report of paid, unfulfilled orders should match the deferred revenue balance in QuickBooks at any point during the campaign.
  • Recognize revenue at the ship date, not the order date or launch date.
  • Record cost of goods sold in the same entry as revenue recognition. Separating the two by a week or more distorts the monthly margin.
  • Reconcile the deferred revenue balance against open Shopify orders at month-end. A discrepancy over $500 is worth investigating before the period closes.

Three questions worth asking

  1. When a customer pays for a pre-order today, which QuickBooks account receives that payment?
  2. Does our P&L show revenue in the month we collect payment or the month the order ships?
  3. Is there a deferred revenue balance on our balance sheet, and does it match the dollar value of paid, unshipped orders?

If any of those answers are uncertain, pre-order revenue is likely appearing in the wrong period. The fix is a chart-of-accounts adjustment and a correcting journal entry, not a platform change.

If you want a second set of eyes on how pre-orders are flowing through your books, send us a recent campaign summary and the corresponding QuickBooks P&L for that period. We will review whether the revenue timing is accurate and flag anything that needs correction before the next reporting period closes.

How to record a Shopify pre-order correctly in QuickBooks
Six steps from payment collected to revenue recognized when the order actually ships
  1. Create a deferred revenue liability account
    In QuickBooks, add a new Other Current Liability account and name it Deferred Revenue or Pre-Order Liability. This is where collected pre-order funds sit until orders ship. Do not skip this step before the campaign opens.
  2. Record each pre-order payment as a liability, not income
    When a customer pays, debit your bank account and credit Deferred Revenue. Do not credit Sales Income. The product has not shipped, so the revenue has not been earned. Posting directly to income overstates the period immediately.
  3. Tag all pre-order transactions in Shopify
    Apply a custom order tag such as PRE-ORDER to every pre-order in Shopify. This lets you pull a filtered report of paid, unfulfilled orders at any point and verify the balance against your deferred revenue account in QuickBooks.
  4. Recognize revenue as each batch ships
    Each time a batch ships, move the earned portion from Deferred Revenue to Product Income. For 240 units at $77 each, that is $18,480 moving from liability to income on the ship date, not the order date.
  5. Record cost of goods sold at the same time as revenue
    When you recognize revenue, record the cost of goods sold (what it costs to buy or produce what you sell) in the same journal entry. Debit cost of goods sold, credit inventory. Matching cost to the revenue period gives you an accurate gross margin for that month.
  6. Reconcile the deferred revenue balance at month-end
    At month-end, the deferred revenue balance should equal the dollar value of paid, unshipped pre-orders. Compare it against a filtered Shopify unfulfilled orders report. A gap over $500 is worth investigating before the period closes.

Want a second set of eyes on your books?

30 minutes on Zoom. We'll look at your books and tell you what's working and what isn't.

This is the work we do every day. See bookkeeping for e-commerce.

Book a call