Skip to main content

Recognize revenue at fulfillment

By default SKU.io books a sale as revenue on the order date. That suits most online stores, where orders ship within a day or two. If you take pre-orders, sell on long lead times, or report under ASC 606, you may need revenue to wait for the shipment. With fulfillment-based recognition, a sale first posts to a Deferred Revenue liability and moves to Sales as each shipment goes out, in the same entry as its cost of goods sold.

Before you begin​

  • Accounting entry generation must be on (Accounting → Settings → General).
  • Map a Deferred Revenue account under Accounting → Settings → Nominal Code Mappings. It must be a liability account. The default chart includes 2400 Deferred Revenue.
  • Decide when to switch. The change applies only to orders created after you save it, so switching at the start of a month keeps your books easy to read.

Switch to fulfillment-based recognition​

  1. Go to Accounting → Settings → General and scroll to Revenue recognition.

    The Revenue recognition basis setting at its default

  2. In Revenue recognition basis, choose At fulfillment (deferred revenue). The hint under the field explains what changes.

    The setting switched to At fulfillment

  3. Click Save Changes.

  4. In Change revenue recognition basis?, read the summary and confirm.

If SKU.io can't switch, it tells you why. The usual reasons are that the Deferred Revenue mapping is missing or isn't a liability account, or that entry generation is off.

What changes in your books​

EventAt order date (default)At fulfillment
The order is invoicedCredit SalesCredit Deferred Revenue
Each shipment goes outDebit Cost of Goods Sold, credit Inventory ControlThe same, plus debit Deferred Revenue and credit Sales for that shipment's share
  • Orders created before the switch keep order-date recognition, even when they ship afterwards. SKU.io decides per order, by the date it was created.
  • Partial shipments release revenue in proportion, so an order shipped in two parts recognizes it in two parts.
  • Deferred Revenue on your Balance Sheet shows sales you've invoiced but not yet shipped.
  • In your accounting provider, invoices post to Deferred Revenue too. With QuickBooks Online, SKU.io sets up a SKU Deferred Revenue item for this when you switch. If that item is deleted in QuickBooks, click Re-provision QuickBooks deferred revenue item under the setting to recreate it.

After you've used fulfillment-based recognition, you can't change the Deferred Revenue mapping.

Switch back to order-date recognition​

  1. Fulfill, cancel or credit every order that still has deferred revenue open. SKU.io won't switch back while any remains.
  2. Set Revenue recognition basis to At order date (default) and click Save Changes.

Orders created after that post revenue at the order date again.

Next steps​

Last verified: