E-Commerce Revenue Recognition: When Does an Online Sale Actually Count? Canadian Guide (2026)

Most online sellers record revenue when the customer hits Buy. That is wrong — and at year-end it shows up as overstated income, an inflated tax bill, and books that do not match reality. Under Canadian accounting standards, e-commerce revenue is recognised at shipping,know how to set it up.

Canadian e-commerce seller marking shipped packages and recording revenue dates on a tablet at a packing station in a calm workspace

Does this sound like you?

Before the accounting standard talk, a quick reality check. If two or more of these describe you, this guide was written for you.

  • You record revenue the moment a customer hits Buy on Shopify, even though it ships two days later.
  • Your Shopify dashboard says you made $7,500 yesterday, but you only shipped 60% of those orders.
  • You refund customers without reversing the original sale in your books, so your reports overstate revenue.
  • You filed last year's taxes based on Shopify revenue numbers and you suspect you overpaid.
  • You sell in USD and the exchange rate movement between order and payout is just disappearing from your books.
  • You sell digital products and you have no idea when revenue is supposed to be recognised.
  • Your accountant asked about "revenue recognition policy" and you froze.
  • You ship via FBA and revenue lives in some grey zone between you and Amazon.

If any of those land, you are recognising revenue the wrong way — and at year-end it shows up as overstated income, an inflated tax bill, and books that do not match your bank balance. The rest of this guide is the fix.

What is revenue recognition for e-commerce?

Revenue recognition is the accounting question: when does a sale officially count as a sale on your books? It feels obvious — when the customer pays — but it is not.

A customer places an order on Monday. They pay immediately. Delivery is Friday. Have you made a sale on Monday or Friday? What if they cancel Wednesday and you refund? Did the sale happen at all?

Under Canadian accounting standards, the answer is: revenue is recognised when you have transferred control of the product to the customer — typically when it ships (physical goods) or when access is granted (digital goods). Not when the order is placed. Not when payment lands. When the product moves.

Which accounting standard applies to Canadian e-commerce sellers?

Canadian e-commerce businesses follow one of two standards depending on entity size and structure:

  1. ASPE Section 3400 (Revenue): The standard most private Canadian small and mid-sized businesses use. Recognises revenue when risks and rewards transfer to the buyer — for e-commerce, that is shipment.
  2. IFRS 15 (Revenue from Contracts with Customers): Used by Canadian public companies and some private companies that elected IFRS. A five-step model that arrives at the same answer for most e-commerce: recognise revenue when the performance obligation is satisfied (shipment for physical goods).

US accounting standards (ASC 606) do not apply to Canadian-resident businesses. If a previous bookkeeper or US-trained accountant used ASC 606 language in your books, the substance is similar but the standard reference is wrong. Use ASPE 3400 unless your accountant has specifically elected IFRS for your business.

The five-step model (IFRS 15 / ASPE 3400 applied to e-commerce)

  1. Identify the contract. A customer clicks Buy and you accept the order. The Terms of Service and the order confirmation form the contract.
  2. Identify the performance obligation. You promised to deliver the product. Sometimes there is more than one — a hoodie plus expedited shipping is one obligation if shipping is included free, two if shipping is separately charged.
  3. Determine the transaction price. The amount the customer pays you, net of sales tax (sales tax is held in trust, not revenue).
  4. Allocate the price across obligations. A $75 hoodie + $5 shipping = $70 to product, $5 to shipping if shipping is its own obligation.
  5. Recognise revenue when each obligation is satisfied. For physical goods: when shipped. For digital goods: when access is granted. For subscriptions: rateably over the subscription period.

The impact: orders vs shipped revenue

This is where Shopify dashboards lie to you. Pull a daily orders report — say $7,500 from 100 orders on Monday. By Tuesday evening, you have shipped 60 of those orders. Revenue under proper recognition: $4,500 — only the 60 shipped orders count. The other 40 are a liability on your balance sheet (deferred revenue) until they ship.

If you record the $7,500 as revenue on Monday, you have overstated income, your gross margin reporting is broken (no COGS yet for unshipped orders), and your sales tax timing is wrong (sales tax becomes payable on the date of taxable supply — typically shipment for physical goods).

Multiply this across a year and the distortion gets material. A store shipping $100,000/month with 8% of orders in pipeline at month-end recognises $8,000 of revenue in the wrong period every single month. At year-end that is real money in the wrong year, taxed in the wrong year.

Handling returns and refunds — the revenue clawback

Revenue recognition gets messier with returns. You shipped Monday, recognised $50 of revenue. Customer hates the product Wednesday and you accept the return. The sale is no longer a sale.

The correct fix: create a credit memo (in QBO it is called a refund receipt or credit memo). This reverses the original sale, reduces revenue by $50, refunds the sales tax, and puts the product back into inventory at its original cost.

Many sellers just refund the customer in Shopify and forget about the books. The sale stays on the books. Profit is overstated. At year-end, the difference between booked revenue and actual shipped-minus-returned revenue produces a confusing adjusting entry your accountant has to chase.

If your return rate is 5%+ of sales (apparel routinely hits 15–30%), this matters a lot. Set up an automated workflow: when Shopify refunds, A2X or Synder posts the credit memo to QBO automatically.

Cash basis vs accrual basis for e-commerce

Two ways to track revenue. Choose deliberately.

  • Cash basis: Revenue is recorded when cash arrives in your bank account. Simple. Most small Canadian sole proprietors use this for taxes. Problem for e-commerce: your bank deposits lag sales by 2–14 days, so monthly cash revenue does not match monthly shipped revenue.
  • Accrual basis: Revenue is recorded when earned (shipped). The standard for any incorporated Canadian business and for any seller doing material inventory or multi-period transactions. Required under ASPE 3400 for a true picture.

Most BC e-commerce sellers above $100,000 in revenue should run accrual books in QBO for visibility, even if they file taxes on a cash basis for simplicity (where allowed). Talk to your accountant before choosing.

Shipping date determines revenue — and the carrier matters

For physical goods sold by Canadian e-commerce sellers under most contracts, revenue is recognised at point of shipment. Shipment means:

  • Carrier shipments (Canada Post, UPS, FedEx, Purolator): Revenue is recognised when you tender the package to the carrier. Carrier tracking timestamp is your evidence.
  • In-house local delivery: Revenue is recognised on delivery to the customer. Signed proof of delivery is your evidence.
  • 3PL fulfilment: Revenue is recognised when the 3PL ships on your behalf. The 3PL's shipping confirmation is your evidence.
  • Amazon FBA: Revenue is recognised when Amazon ships from FBA to the customer. Amazon's shipped-on-date in Seller Central is your evidence.

If your Shopify ship date is Monday but you actually tendered to Canada Post on Tuesday, fix your Shopify status. Accurate shipping dates in your platform = accurate revenue dates in your books.

Digital products and subscriptions

Digital products (downloads, courses, software): revenue is recognised when the customer gets access — typically the moment the order is paid because access is granted instantly.

Subscriptions: revenue is recognised rateably over the subscription period. A $120 annual subscription paid up-front is recognised at $10/month, not $120 upfront. The remaining $110 sits in a deferred revenue liability account until earned. This is one of the most commonly violated rules in e-commerce subscription bookkeeping.

Subscription boxes: revenue is recognised on each shipment, not on each charge. A 6-month prepaid box subscription = $X recognised per box shipped, not $6X recognised at signup.

Multi-currency: the exchange rate trap

USD or EUR sales add an extra layer. You ship to a US customer on Monday. The CAD-USD rate is 1.36, so $100 USD = $136 CAD recognised as revenue. The customer's payment clears through Stripe on Wednesday. By then the rate is 1.35, so Stripe deposits $135 CAD into your bank. The $1 gap is a foreign exchange loss — not a refund, not a discount.

If you ignore this, your books drift. A seller doing $500,000/year in US sales can easily have $5,000–$10,000 in FX gains or losses by year-end. The CRA expects them tracked separately.

Fix: enable multi-currency in QBO. Record sales at the spot rate on shipment date. When the payout clears, QBO calculates the FX gain or loss automatically and posts it to a Foreign Exchange Gain/Loss account.

How to set this up in QuickBooks Online

  1. Connect Shopify (and Amazon, Etsy, etc.) via A2X or Synder. These tools post daily journal entries that recognise revenue on shipment, not order date.
  2. Use channel-segmented revenue accounts (Shopify Sales, Amazon Sales, etc.) so each channel's revenue is visible separately.
  3. Set up a Deferred Revenue liability account for prepaid subscriptions and pre-orders. Move amounts from Deferred Revenue to Revenue as shipments happen.
  4. Create automatic credit memo / refund-receipt workflows when refunds happen in your sales platforms. A2X handles this.
  5. Enable multi-currency if you sell in USD or EUR. Set up a Foreign Exchange Gain/Loss account in operating expenses.
  6. Document your revenue recognition policy in writing. One paragraph in your bookkeeping SOP: "Revenue is recognised on the date a product ships from our warehouse or FBA, or on order date for digital products. Returns reverse revenue via credit memo in the period the return is received."

Frequently asked questions


When should an e-commerce business recognise revenue?

Under Canadian standards (ASPE 3400 and IFRS 15), revenue is recognised when control of the product passes to the customer — typically at shipment for physical goods, at access for digital goods, and rateably for subscriptions. Not when the order is placed. Not when payment arrives. When the product moves.

Is order date or ship date the right revenue recognition date?

Ship date. The order is a contract; the revenue happens when the obligation (delivery) is satisfied. Recording revenue on order date overstates income and creates timing-mismatched COGS, gross margin, and sales tax.

Does ASC 606 apply to Canadian e-commerce sellers?

No — ASC 606 is the US revenue standard. Canadian businesses follow IFRS 15 (public and some private) or ASPE Section 3400 (most private SMEs). The substance is similar for e-commerce: revenue is recognised when the performance obligation is satisfied, which is shipment for physical goods. But if your books reference ASC 606, your standard reference is wrong. Use ASPE 3400 unless your accountant has elected IFRS.

How do I handle revenue from a subscription box?

Revenue is recognised per shipment, not per charge. A 6-month prepaid subscription = total amount divided by 6 boxes, recognised as each box ships. The unshipped portion sits in a Deferred Revenue liability account until it ships.

What happens if I record revenue on order date instead of ship date?

Three problems: revenue and income are overstated in the period of orders (and understated in the next period when those orders ship), gross margin reporting is broken because COGS does not match revenue, and sales tax timing is wrong — sales tax becomes payable on the date of taxable supply, which is typically shipment date for physical goods.

Do digital products follow the same rules?

No — digital products recognise revenue when the customer gets access, which is usually the moment payment clears since access is automatic. There is no shipment delay.

How do I record refunds for proper revenue recognition?

Create a credit memo (or refund receipt in QBO) that reverses the original sale: reduces revenue by the refunded amount, refunds the sales tax portion, and puts the product back into inventory at original cost. Do not just refund the customer in Shopify without the corresponding accounting entry.

What is deferred revenue in e-commerce?

Deferred revenue is money you have collected from a customer but have not yet earned. Typical e-commerce sources: pre-orders for products that have not shipped, prepaid subscriptions for boxes that will ship over months, gift card sales (deferred until redeemed). Sits as a liability on the balance sheet until earned, then moves to revenue.

How do I handle foreign exchange in e-commerce revenue?

Record revenue at the spot exchange rate on shipment date. When the foreign-currency payout converts to CAD in your bank, the difference between the original rate and the conversion rate is recorded as a foreign exchange gain or loss. QBO handles this automatically if you enable multi-currency at setup.

When to talk to us

If two or more of these describe you, getting revenue recognition right is usually a one-quarter cleanup that prevents years of compounding errors:

•         You record revenue on order date in your books today.

•         You ship 200+ orders/month and pipeline is meaningful at month-end.

•         You sell subscriptions, pre-orders, or gift cards without using deferred revenue.

•         You sell internationally and FX gains/losses are not tracked separately.

•         Your refund workflow is "issue refund in Shopify, forget about books."

•         Your accountant asked for your "revenue recognition policy" and you do not have one.

Fluent Book sets up revenue recognition correctly for Canadian e-commerce sellers — A2X integration to recognise on ship date, deferred revenue accounts for subscriptions and pre-orders, multi-currency FX tracking, and a written policy your accountant can reference. Honest pricing. No surprises. No judgement if your books are off.

Book a 30-minute call at fluentbook.ca and we will scope what you need.

Need help with your books?

Book a free 30-minute call with Fluent Books. We will review your situation and recommend the right plan — no pressure, no obligation.

Book a Free Call

Disclaimer: This article is for informational purposes only and does not constitute professional tax or legal advice. Consult a CPA or tax professional for guidance specific to your situation.

Related guides

Ready for a financial partner who
actually explains things?

Free 30-minute call. No obligation. We serve businesses across Canada and the US remotely.