Articles on: Advanced Setup

Downpay and Accounting software

Downpay and Accounting Software



Many Shopify stores integrate with accounting software to keep track of their finances (eg. Quickbooks). Many of these solutions look at incoming orders and ingest the data coming in.

Historically, Shopify orders were always paid in full at checkout, and many accounting solutions that have integrations with Shopify work under the assumption that any order that is created is automatically paid in full right away on the date of creation.

Since Downpay does not collect the entire order amount at checkout, this assumption no longer holds. While some accounting software will properly account for multiple payments on the same order, many others do not.

The good news is that the data on split payment orders made through Downpay is available as data inside of Shopify, right on the orders themselves. This document outlines where to find the relevant data, in case your own accounting integration needs to be tweaked to better recognize split-payment orders made through Downpay:

Order API object


The below fields are available on the Order object within the Shopify GraphQL API, and are relevant to Downpay orders:

fullyPaid


This field signifies whether the order in question has been paid in full. When false , the order may still have a remaining balance left to collect, and should be treated accordingly.

totalOutstandingSet


This represents the total amount not yet transacted for the order. If this value is not zero, it means there may still be a balance left to collect. The amount in this field represents the total that is left to be collected on the order, beyond what has already been collected.

totalCapturableSet


This represents the amount that is authorized but not yet collected. This means the order's payment method has already been authorized for payment collection, and a hold has been put on it. Importantly, the capturable set is exclusive of the outstanding set. When a payment method is authorized for a certain amount, that amount will show up in the `totalCapturableSet`but will no longer show up in the totalOutstandingSet .

totalReceivedSet


This represents the amount already collected on the order. Your accounting software can use this to determine the amount already collected on the order.

Getting notified of order changes


Many accounting integrations will subscribe to the order created Shopify webhook in order to get notified of new orders, which they then import into their accounting solution.

With split payment orders, this is no longer sufficient, since an order will continue to change as more payments are collected on it. There are multiple possible ways to handle this.

Order update webhook


Instead of only receiving notifications of the orders created, your integration can subscribe to the orders update webhook, which will notify whenever any order is updated. When this notification is received, the fields documented above can be checked to ensure that the data that your accounting software has is up to date.

Order transactions create webhook


If the orders update webhook is too much or not applicable to your use case, the order transactions create webhook can be used to get notified only when a new payment or authorization is added to an order. This webhook includes the reference to it's parent order, which can then be similarly checked to make sure it's data is up to date.

Updated on: 29/01/2025

Was this article helpful?

Share your feedback

Cancel

Thank you!