Shopify Payout Breakdown

I’m using Shopify Import to bring in my Shopify payouts. I then want to look at all of the transactions that are part of that payout to filter by which ones had tax applied to them and which ones didn’t so that I can ensure my accounting software is correct.

How can I do this as it just gives me a single line item and nothing in there that I can cross reference by doing a lookup of my orders.

Hi @Michael_Sojevic - Thanks for your question. This is doable, but it looks like we’ll need to pull in Transaction data which is where Shopify stores the payout ID. Because we don’t natively support importing Transaction data through the Shopify Import step, we’ll need to use the Enrich with an API step instead.

  1. Connect an Enrich with an API step to your Pull from Shopify step where you’ve imported your payout data.
    If you don’t need to retrieve transaction data for all of your past payouts, I suggest using a Remove rows step step beforehand to filter down to the payouts you care about. This will help make your flow run a lot faster.
  2. For your Enrich with an API step, set your API Endpoint URL like this:
    https://{username}:{password}@{shop}.myshopify.com/admin/api/2020-07/shopify_payments/balance/transactions.json?payout_id={Id}
    Make sure to replace {username}, {password}, and {shop} with your own Shopify information. {Id} can stay as is since that’s the name of the column we’re passing through the API.
    This Enrich with an API step will return the transaction data that corresponds to the payouts you’ve imported.
  3. Then connect another Enrich with an API step to import Order information based on the Transaction data that you just got back. Set your API Endpoint URL like this:
    https://{username}:{password}@{shop}.myshopify.com/admin/api/2020-07/orders/{order_id}.json
    As you did in Step #2, make sure to replace {username}, {password}, and {shop} with your own Shopify information. Also, make sure to replace {order_id} with the column name that contains your Order ID. I believe the transaction data returns the Order ID in the source_order_id column.

Your Parabola flow should look like this:

I know this is a lot of information, so let me know if/when you encounter any errors and we can work through them together!

2 Likes

Thanks @sachi. I have just one question around the pagination and the way it works.

The Shopify API limits to 250 items per page, and in the Parabola documentation it shows that when I use the pagination parameters that it adds it to the end of the URL such as transactions.json?page=1

But when I actually enter that it, the Shopify API throws an error. Looking at the error, it doesn’t show the URL with the parameters appended. When I load the Shopify API URL in my browser with the page parameters it works fine, but using Parabola it causes me issues.

This is the only thing limiting me right now. Any ideas?

Hey @Michael_Sojevic - sounds like you’re getting really close!

You actually don’t need pagination settings when using the Enrich with an API step, so you can remove the pagination parameter and leave those settings blank.

Are the Enrich with an API steps not returning the data you expect?

If this error is happening with an Enrich with an API step, send me a screenshot of how that step is currently configured and I can take a closer look!