Track your Shopify online sales with Wave's free Shopify add-on

If you sell online with Shopify, Wave's free add-on App can automate your bookkeeping of paid orders, refunds, and payouts.

Read on to learn how to install and set up the App, and to understand how it records your transactions in Wave.

What does Wave's Shopify App do, and who can use it?

Wave's free Shopify App will automatically bookkeep paid orders and refunds for Shopify Online Stores where:

  • The store location is in the United States
  • The store primary currency is US Dollars
  • Transactions are to be recorded in a Wave Business whose business address is also in the United States, and whose base currency is also US Dollars.

The App will also automatically record Payouts from Shopify Payments, as well as associated Payment Processing Fees.

If you do not use Shopify Payments, we'll show you how to manually record payments.

If your country or currency are incompatible with the requirements above, you may find alternative integration apps in the Shopify App Store.

How to Install and Configure the App

These instructions assume you already have a Shopify Account and Online Store. If not, please first sign up for Shopify.

  1. Go to the Wave App page in the Shopify App Store, and click Add App. (Show screenshot)
  2. Authorize the App to connect to your Shopify Store. (Show screenshot)
  3. Click the Connect Existing Wave Account button. (Show screenshot)
  4. Select the Wave business you want to connect to, and click Allow Access. (Show screenshot)
  5. Review and adjust the App Settings to suit the setup of your Wave Account. We'll talk about this more detail below so you know what settings to choose. (Show screenshot)
  6. The App will now start recording your new Paid Orders, Refunds, and Payouts from Shopify Payments. If you would like to import past transactions, click the send past transactions to Wave link. (Show screenshot)
  7. If you do want to send past transactions from your Shopify store to Wave, you can pick the date range you want to include. Note that new transactions after you install the App come in automatically. (Show screenshot)

Understand the Settings Page: Make the App work with your Wave accounting

The default settings suggested when you install the App will work for most users - particularly those new to Wave. If you have been manually entering your Shopify transactions into Wave for a while, however, you'll want to take a little more care to customize the settings to your needs.

Customer Setting

Wave will store your Shopify Paid Orders and Refunds as Transactions in your Wave accounting. In Wave, Transactions can be associated to Customers, so our Shopify App can do this with the Transactions it creates.


You have three choices:

  • None

    Do not associate any Customers to the Tranactions that the App creates. You might choose this if you have a very busy Shopify store and do not want to overload your Wave data with lots of different customers who may buy from you only once. Alaternatively, you could be happy just to keep your Customer data in Shopify.

  • Use a single customer for all orders

    Some Wave users distinguish their Shopify sales by using a made up customer name (e.g. "Shopify Store") and putting it on all their Shopify sales. This lets you focus in on Shopify sales in your Sales by Customer report in Wave.

  • Use an individual customer for each order
    If you select this option, Wave will try to find a matching customer in Wave for each Paid Order or Refund, using the email address to match. If Wave can't find a matching Customer, it will add your Shopify customer into Wave to associate to the transaction.

Bookkeeping Categories

For each Transaction that it creates in your Accounting, Wave works to break out components of the Order (or Refund) so that you have more detailed and accurate accounting records. You can choose the Accounts ("Categories") that you want to use.

If you are just starting bookkeeping your Shopify sales in Wave, then we recommend you simply accept the defaults in this section!


Here's what each of the selections means, so you can decide if the defaults are right for you:

  • Product sale

    Wave will record the amount of your Product Sale (before discounts) to an Account in the Income section of your Chart of Accounts. If you have charged your customer any Sales Taxes, these will be automatically applied.

    If you accept the defaults, Wave will create a new Account for you called "Shopify Product Sales" (we don't add the (Default) text in Wave itself). If you have an existing Income Account where you have been recording Shopify sales, you can select this instead from the drop-down.

  • Product discounts

    Wave records your Product Discounts to an Income Discounts account. This is a "contra income account", which means that it takes away from the balances you normally see in this section of the Chart of Accounts. For example, if you had a Product Sale of $100, and Product Discount of $10, the total Income showing on your Profit and Loss report would be $90.

    Note that if you charge Sales Taxes, Wave will show a reduction of Sales Tax on the Discount lines in your Transaction. This is so that you have the correct net amount of tax charged, but the percentage rate charged on the Sale amount (before discount) still makes sense.

    As before, you can accept the default, or choose an existing account in the Income Discounts section of your Chart of Accounts.

  • Shipping charge

    If you charge Shipping Fees, these will be recorded to a dedicated Income Account. As usual, you can accept the default, or choose an existing account from your Chart of Accounts.

  • Shipping discounts

    If you offer a promotional Shipping Discount, this will be recorded to a dedicated Income Discounts account.

    Note that this applies only to promotional discounts that you apply with a Promotion Code in Shopify. Free Shipping that you offer on all orders, or orders over a specific order value does not give rise to any Shipping Charge or Shipping Discounts.

  • Shopify payment processing fees

    If you use Shopify Payments, Wave will record your processing fees to an Expense Account in the Payment Processing Fees Expense section of your Chart of Accounts. If you already have an Expense Account set up for these fees, you can choose it; otherwise go ahead and let Wave create the default account for you.

    Note that processing fees are charged when you receive a Payout from Shopify, not when you process an Order, so you won't see processing fees in your sale transactions. We'll talk a bit more about the Payouts cycle and processing fees after we talk about the Payment Account Mappings, below.

Payment Account Mappings

These settings control the "Money in Transit" account to which Wave records transactions, and - if you use Shopify Payouts - the bank account in which payouts are received.


Here's how these accounts are used in a bit more detail:

  • Money-in-transit Account

    Wave records your Shopify Paid Orders and Refunds as Transactions. If you've used Wave for a while, you'll be used to entering and working with Transactions; these are usually a deposit or withdrawal from your bank account or credit card, categorized to one or more income or expense categories.

    At the moment when a customer pays for an order in your Shopify online store, you know the money is coming, but it is not yet in your bank account. For situations like this, Wave has a special category of account called "Money-in-transit" accounts.

    Using a Money-in-transit account rather than just showing the income in your bank account is helpful because it immediately records the fact that your business has earned this money and it's on its way, but avoids inflating the balance in your bank account which could be confusing if you simply want to know how much you have available to spend right now.

    If you have already been using a Money-in-transit type account to record your Shopify sales, then select it from the drop-down. Otherwise, let the App go ahead and create the account for you.

  • Payouts Account

    If you use Shopify Payouts, Wave will automatically record each Payout as it occurs into your selected "Payouts Account", and reduce the amount in your Money-in-transit Account.

    If you have been using Wave for a while and have already have your bank accounts listed in your Chart of Accounts, select the bank account into which Shopify deposits payouts.

    If you are new to Wave, you can accept the default, and Wave will create a bank account called "Shopify Payouts Account". Later, you can rename this account in Wave (e.g. "Checking account") to something that is more meaningful for you. Note you will not need to update the App.

Understand the Bookkeeping Cycle of your Orders, Refunds and Payouts

It's helpful to understand what Wave is doing "under the hood" to bookkeep your Shopify sales. You can think of it as a "cycle", like this:

  • You receive a paid order in your Shopify store

    When an Order is paid in your Shopify Store, Wave records an Income (i.e. Deposit) Transaction in your chosen Money-in-transit Account. This transaction is automatically categorized into Sales Income, Sales Discount, Shipping Income and Shipping Discount. Any Sales Taxes are automatically recorded.

    Here's a simple example:

    You now have $94.50 due to you in your Shopify Money in Transit account.

    Note: Wave adds separate categorization lines to your transaction for each line-item in your paid order. In a future update to how we display transactions in Wave, the line item description will be visible as a note.

  • Shopify pays out your money

    When Shopify pays out for this order, they will deduct their Payment Processing Fee and send you the net amount. This money comes out of your Money in Transit account, and lands in your Payouts account.

    Wave records this as two transactions:

    • Withdrawal from your Money in Transit account

      The value of the order is withdrawn from your Money in Transit account, and split between Payment Processing Fees and a transfer towards your Payouts account. Note the App is unable to directly create transfers, so it uses a temporary 'transfer clearing account'. What you are seeing on this line is money going out towards your Payments account.

    • Deposit into your Payouts Account (i.e. your "real" bank account)

      The amount of the payout net of fees is shown being deposited into the bank account you selected as your Payouts Account. You'll see the source of this as the special transfer clearing account mentioned above: "Shopify Payout Clearing Account".

      Note that if you have set up automated bank transaction data importing for your bank account, this payout transaction will appear twice: once from the App, and once from the automated bank import. You'll want to locate these two transactions in Wave an merge them to avoid duplicating your income.

  • You refund a customer through your Shopify store
    When you issue a refund through your Shopify store using Shopify Payments, the process will be the reverse of what is shown above: the Refund will look just like an Order, but with the opposite values, and instead of depositing to your Payouts account, Shopify will withdraw money. Again, this withdrawal flows from your Payouts account, through the special Shoipfy Payout Clearing Account, and back to your Money in Transit account.
  • Note that if you have a Refund processing at the same time as Orders, there may be no separate withdrawal from your Payouts account; Shopify may simply pay you the difference between the value of your orders and refunds.

How to handle Orders that are paid outside Shopify Payments

Wave automatically records the Payouts from Shopify Payments, but what if you do not use Shopify Payouts - or if only some of your orders are via Shopify Payouts?

In this case, Wave will bookkeep your orders exactly as explained above, but you will need to record your own "Payout".

Imagine you make a sale for exactly $100, paid Cash on Delivery. Wave will record the sale as $100 income to your Shopify Money in Transit account, categorized as a Shopify Product Sale. All that you need to do, when you receive the money, is record a transfer in your Wave transactions, going from Money in Transit to the bank account where you bank the money. (You don't need to use a 'transfer clearing account' like the App does; manually entered transactions in Wave let you do a transfer in 1 transaction entry.)

Note that if you are using another payment processor that charges fees, you can split the withdrawal from your Money in Transit account into the fees and the net amount transferred, just as described above.

If you are unfamiliar with entering transfers in Wave, see this article that explains how to record a transfer between two accounts.

This feature is compatible with Shopify stores and Wave businesses in the United States.

If your Shopify store or Wave business exist in another region, click here to search for alternative integrations in the Shopify App Store.

Was this article helpful?
5 out of 5 found this helpful