Shopify: Deferred Revenue and Fulfillment Based Revenue Recognition

How Bookkeep handles complex accounting with Shopify deferred revenue and fulfillment-based revenue recognition

Bookkeep offers a Shopify integration which includes an Ecommerce journal entry which posts to your accounting platform on a daily basis the sales from the prior day.

However, for more complex entities, booking sales prior to fulfillment does not meet their accounting revenue recognition requirements. 

This led to the development of Bookkeep's Shopify Fulfillment Revenue Recognition Journal Entry. This entry supports entities that require revenue recognition upon fulfillment of an order. 

The way this flow of financial data works is discussed below. You will need the Ecommerce entry and Fulfillment Revenue Recognition entry working in parallel to capture the deferred revenue first and the revenue once fulfilled:

1. The Ecommerce Journal Entry:

This captures the gross sales down to the net sales including discounts, refunds, etc. Additionally, this journal entry breaks down the payments by tender type such as Shopify payments, third party gateways, Paypal, gift cards, etc. See below for an example mapping. This journal entry also captures any pending payments as there could be orders completed that still have pending payments which results in an accounts receivable. 


In the case of the entity recognizing the revenue when an order is fulfilled, this journal entry would be ON with the GROSS SALES, DISCOUNTS, AND SHIPPING INCOME lines mapped to their deferred revenue account. Since it is not gross sales yet, the gross sales line maps to deferred revenue. 

2. The Fulfillment Revenue Recognition Journal Entry:

This captures orders that have been completely fulfilled allowing the entity to move the gross sales, discounts, and shipping income from deferred revenue into their respective accounts. This recognition is not done until an order is completely fulfilled. Below is an example mapping.

With the above workflow, Bookkeep can allow complex entities to properly book deferred revenue until the order is completely fulfilled to then recognize it as true revenue.

The key with the mapping above is the deferred revenue account from the Fulfillment Revenue Recognition journal entry should also be used to map on the Ecommerce journal entry for the gross sales, discounts, and shipping income lines.

How to tie out the Fulfillment Revenue Recognition Journal Entry:

The first step here is to export orders from Shopify for the respective time period. Do note that if you export orders for a month, old orders may show in the prior month despite being fulfilled in the current month.

Once this is done, you will see a column for Fulfillment Status and a column for Fulfilled At. You can filter the status column to Fulfilled only and use the "text contains" filter for the Fulfilled At column for the date you wish to review e.g. 2023-02-01:

You can then sum the subtotal column and the discount amount column together to calculate gross sales for the day based on fulfilled orders:

Summing the shipping column will give the shipping income recognized for that day. Finally, summing the discount amount column will give the discounts total for the day.

This will allow you to verify everything ties out. If you have any questions, contact

NOTE: To utilize this fulfillment based revenue recognition process, you must be on the Advanced Plan or higher.