Skip to main content

Shopify: Deferred Revenue and Fulfillment Based Revenue Recognition

info

Available for entities on the Advanced Plan or higher

Bookkeep's Shopify integration provides seamless connectivity between your Shopify store and accounting platform. This integration includes an Ecommerce journal entry feature that automatically records daily sales data from the previous day into your accounting system. This ensures that your financial records are always up-to-date and accurate, without the need for manual data entry.

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.

Additionally, Bookkeep now automates the recognition of fulfilled refunds. This feature reviews all returns and incorporates fulfilled returns into the fulfillment revenue recognition journal entry. These fulfilled returns will appear as a separate line within the journal entry, providing clear visibility.

Below, we will explain how this process of financial data flow operates. 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.

The Ecommerce Journal Entry

This entry captures all sales (regardless of fulfillment status, discounts, refunds, and categorizes payments based on tender type. It also accounts for pending payments, which may result in accounts receivable. This entry ties out to the Finance Summary in Shopify. Below is an example mapping:

Example Ecommerce Journal Entry mapping

For entities recognizing revenue upon fulfillment, this journal entry should have the GROSS SALES, DISCOUNTS, RETURNS, AND SHIPPING INCOME lines mapped to a deferred revenue account.

The Fulfillment Revenue Recognition Journal Entry

This entry captures fulfilled orders, moving gross sales, discounts, and shipping income from deferred revenue to their respective accounts once an order is completely fulfilled.

note

For items that do not require fulfillment, they are recognized once the order status is marked as “fulfilled.”

This journal entry records all fulfilled returns for a given date but includes only fully fulfilled orders. Returns from unfulfilled or partially fulfilled orders are excluded until the entire order reaches a fulfilled status.

Below is an example mapping:

Example Fulfillment Revenue Recognition Journal Entry mapping

tip

Ensure the deferred revenue account used in the Fulfillment Revenue Recognition entry is also used in the Ecommerce entry for consistency.

Verifying the Fulfillment Revenue Recognition Journal Entry

  1. Export orders from Shopify for the desired period. Learn more about exporting orders here.
  2. Filter the Fulfillment Status column to Fulfilled and use the "text contains" filter for the Fulfilled At column for the date you wish to review.

Example of filtering orders in Shopify export

  1. Sum the subtotal and discount amount columns to calculate gross sales for the day based on fulfilled orders.

Summing columns in Shopify export to calculate gross sales

  1. Sum the shipping column for shipping income and the discount amount column for total discounts.
note

For items that do not require fulfillment, they are recognized as revenue once the order status is marked as “fulfilled.”

To verify returns on the fulfillment revenue recognition journal entry, Bookkeep recommends reviewing individual orders directly in Shopify. You can download the Bookkeep attachments, which show the orders included in the journal entry, from the “Source Data” tab as shown below:

Screenshot of the Source Data tab in Bookkeep showing downloadable attachments for verifying orders in the journal entry

Look for the attachment ending with “order_wise_breakdown”, which you can download to view the details of each line in the fulfillment revenue recognition entry. This file displays order numbers and amounts. For example, here’s the Excel document with orders in this entry. In the Order ID column, you can copy the number and paste it into your Shopify store dashboard to verify the return details:

Example of the order_wise_breakdown attachment in Excel, listing orders and amounts for the fulfillment revenue recognition entry

Example Net Effect of the eCommerce and Fulfillment Revenue Recognition Journal Entries

Below is an example showing the net effect of both journal entries on a specific day, demonstrating the workflow’s value. Suppose you had $150 in cash returns: $100 for items not yet fulfilled and $50 for items that were fulfilled. The desired net entry would look like this:

  • RETURNS: Debit $50
  • DEFERRED REVENUE: Debit $100
  • CASH BALANCE: Credit $150

In this example, Deferred Revenue is debited by $100 for items not yet fulfilled, as they are not recognized as gross sales.

The combined effect of the eCommerce and fulfillment revenue recognition journal entries achieves this result, as outlined below:

  • RETURNS (eCommerce Template): Debit $150 — mapped to the deferred revenue account, capturing all returns, fulfilled and unfulfilled.
  • CASH BALANCE (eCommerce Template): Credit $150
  • RETURNS (Fulfillment Revenue Recognition): Debit $50
  • DEFERRED REVENUE (Fulfillment Revenue Recognition): Credit $50 — mapped to the deferred revenue account, capturing only fulfilled returns.

The two lines mapped to the deferred revenue account create a net debit of $100, matching the initial net entry example above.

If you have any questions, contact [email protected].