Sales, Returns and Exchanges By Location (POS)

Sales, Returns and Exchanges By Location (POS)

Many of our merchants run multiple Point of Sale (POS) retail locations.
For these merchants, tracking exactly where sales, refunds, payments, and credits occur and attributing those amounts to the correct retail location is vital to balancing the books. 

In this guide then, we go over some of the tools you can utilize to successfully attribute these sales in Report Toaster and make managing your returns, exchanges and finances that much easier. 

Let's take a look. 

Tracking Locations 

First of all, we'll start off with the most basic steps of splitting the POS Sales across your different locations.

For this, we'll start off with the Sales by POS Location report, under the Retail section in the lefthand menu:

Here we can see the sales clearly split up across the various POS Locations, according to their individual Location IDs. 
Note - if you want to include all your Sales Channels on here (e.g. Online Store as well), then you can simply delete the filter at the top with the 'X' (red).

Note that Location Name is a custom Calculated Field that maps the Location ID to the name of the actual Location.

If you'd like us to setup this field for your account, then contact us at to set this up.

Attributing Sales and Refunds

The next step we can do is start to break out the Sales and Refunds into separate lines. 

1.) Firstly, we can add the column for Type. This will break down the results into different rows for different Sales Lines (Sale, Refund, Shipping, Payment, Credit) 
2.) Then, we can filter the results to show only Sales and Refunds. 
3.) Finally, we would recommend sorting the results by Location ID and then Type. This will group the results by location and then by Type like so:

You can see that now we get 2 rows for each location - one for all sales, and one for all refunds.
  1. All Sales will have the count of Orders (and Quantity, if you choose to include that column) with the amounts being reflected in Gross/Net Sales accordingly
  2. All Refunds will be reflected in the Returns column. Note that they display as 0 orders as they aren't a purchase (this also stops an order being double counted if it involves both a Sale and a Return)

Returns and Exchanges

So why might we want to split up the data like this?
Well, doing this might be very useful if we're looking at either Returns or Exchanges, as it's possible for items to be purchased at one location but refunded at another. 

In either case, this is easiest to see with an individual order, so let's look at the report Financial Detail (under Financial).
If we filter for a single order number, we can see the entire history of the order broken out into individual sales lines.

1.) Returns

Here we can see the item was sold at the Online Store (which has no Location ID) and then refunded at an in-store location. 

2.) Exchanges

Exchanges will look much the same, except there will often be an additional purchase (sale) at the refund location. This is because an exchange is technically processed as a refund of one item and a new sale of another. 

Here we can see the customer made an initial purchase (green) at Location A 
They then went to Location B, the item was refunded (red) and then two other items were purchased (yellow). 

Due to a Shopify limitation, exchange sales will only be properly allocated to the location of the store where the exchange took place for Plus customers.

So you can see if you were looking to balance your books at each of these 2 locations, all the sales numbers could then be attributed properly to the correct Location IDs. 

Including Payments

For some merchants, it's important to know not only where the sales and refunds occurred, but also where any payments occurred as well. 

In order to do this, all we need to do is adjust our filter.
As well as having Type, one of, sale and refund, we need to add payment (payments made the customer) and credit (payments made by you as the merchant, aka refunds) to the Type field in the filter. 

This will then add the payment and credit lines to any report, and the location id will then populate with where the transaction was processed.

For example, here we have a sample order which was sold at once location but paid at another:

By doing this, you can correctly trace not only where certain orders and products were sold, but also where specific payments were made as well.

This can be vital for closing out the register and reconciling payments made at each of your POS Locations.
Also, this might be crucial if you are trying to trace your transaction fees and need to see exactly where the payment was processed.

Further Details

There are a lot of other details you can add to this view, which makes it very helpful for investigating individual orders. 

For example, you can add columns like the Refund Location ID, the Transaction Location ID, and (if you're on Shopify Plus), the Exchange Location ID.
These are all very useful fields to track down the exact details of the order to see not just what has occurred, but where and when: 

Hopefully this guide has been helpful to attribute your sales, refunds and even payments to the correct locations.
If you need help however in setting up a custom report to suit your needs, feel free to reach out to us at

    • Related Articles

    • Premium Report - Refund Line Items & Physical Returns

      Refund Line Items & Physical Returns A Refund Line Item Report is used to see which Line Items are being refunded at your store. This report breaks out the individual line items on your order and provides certain details so you can look for certain ...
    • Premium Report - Sales by Attributed Staff

      Sales by Attributed Staff This report is used to see which Sales are attributed to which Staff member at your POS location(s) This is particularly useful if you're tracking commissions or you simply need to know who was handling the sale (rather than ...
    • How to Determine Names for Location ID/Staff ID

      Some of you may have noticed the columns for Location ID or Staff ID on our various POS reports (e.g. Sales by POS Location).  Using these fields, you can see your Sales at each of your retail locations and have the totals broken down to each ...
    • Premium Report - Inventory Value by Location

      Inventory Value by Location Inventory Value Reports are used by merchants to see how much the amounts and value of their current stock. For merchants who store inventory at multiple locations however, sometimes it's important to see your stock on a ...
    • Premium Report - Sales by Device Type

      Sales by Device Type Sales by Device Type is used to see a breakdown of which devices customers are using when they place orders at your store. This report relies on pulling information from the User Agent field on the Order. From this report, you ...

     Suggestion Box

    Didn't find what you were looking for in our knowledge base? Click here to suggest an article, and we'll try to put something together for you.