Articles in this section

Reconcile your Shopify payouts using an add-on

You can use Shopify payouts to accept payments, track amounts, and raise disputes. Import your fees, payments, and refunds from Shopify into NetSuite to track your net margins. Raise disputes with Shopify for unprocessed amounts and reconcile transactions made against orders and refunds in NetSuite.

If you're manually reconciling your transactions by creating deposit records in NetSuite and then moving funds around, this add-on automates that process for you. It's designed to track and accurately reflect the payments in your bank account.

With Shopify Payouts, you can:

  • Automatically download the reports from Shopify.
  • Process multiple payout reports in one run.
  • Report orders that are causing discrepancies and unsettled amounts. 
  • Apply the undeposited transactions and move them to the bank account.
  • Delay the reconciling process for a certain window using the “Lag to bring payout related records” setting.
  • Use the Duration to reconcile transactions to limit how far back the reconciliation searches for transactions. This helps prevent large payout runs from exceeding the NetSuite script time limit.
  • Track fees, refund adjustment fees, and disputes against the GL account.

Understand how the flows work

Step 1: To create payout custom records in NetSuite

The “Shopify Payout to NetSuite Payout Custom Record” flow fetches the Payout records with “Paid” status from Shopify. The flow then creates the “Celigo Shopify Payout” custom record per payout in NetSuite. This is a scheduled flow. All the deposits for the payout will be linked to the custom record. For more information related to a custom record, refer to understand payout related records created in NetSuite.

Step 2: To create deposits in NetSuite

The Shopify Payout Transactions to NetSuite Deposit flow creates NetSuite bank deposits from Shopify payout transactions. Each deposit can contain up to 2,000 transactions. If a payout contains more than 2,000 transactions, the flow creates multiple deposits.

Example: For a payout with 2,500 transactions, the flow creates two NetSuite deposits: one with 2,000 transactions and another with 500 transactions.

For each transaction available in the payout record:

  • If the transaction type is “charge”: look for an associated cash sale or customer deposit for the sales order via order ID. 
  • If the transaction type is “refund” or "payment_refund": look for an associated cash refund or customer refund for the sales order via order ID.

If the NetSuite transaction amount value does not match the Shopify transaction value, a variance transaction with type “Amount Mismatch” is created in NetSuite. If no transaction is found, a variance transaction with type “Missing Transaction” is created in NetSuite. All the variance transactions are linked to the Deposit. 

Note

The flow creates a missing transaction if the transaction is deposited manually.

Understand the flow schedule

The scheduled flow fetches the Payouts from Shopify and creates Payout Custom records and Deposits in NetSuite as follows:

Flow Limitations 

The flow does not support creating:

  • Payments against an invoice
  • Refunds against a credit memo.

Understand a Shopify payout record

A Shopify payout record provides a detailed breakdown of account activity for a given settlement period. The settlements vary by country. 

Example: In the USA, the Shopify payout record is created at the end of each working day. You can also schedule your payouts. Refer to the Schedule your payouts section.

Shopify_Payout_List.png

For more information, see Install and configure the Shopify payout reconciliation add-on.

Understand the Duration to reconcile transactions setting

In the Duration to reconcile transactions setting, input the number of days preceding the current date for which you want to reconcile transactions in NetSuite.

Example: If the current date is May 30th and you want to reconcile transactions since May 1st, enter ‘30’ in the setting. If you leave it empty, all available transactions are retrieved for reconciliation.

Limitation: The setting strictly accepts only whole numbers; therefore, entering values such as '3.5', '-10', or 'ten' is not permissible.

Resolve “Script Execution Time Exceeded” for large payouts

Large payout runs in the Shopify Payout Transactions to NetSuite Deposit flow may fail with the Script Execution Time Exceeded (sss_time_limit_exceeded) error. This occurs when processing and reconciling a large number of transactions exceeds NetSuite's five-minute script execution limit.

To reduce the amount of data processed in each run, configure Duration to reconcile transactions. This setting determines how many days the flow looks back when reconciling NetSuite transactions. You can select 30, 60, or 90 days.

  1. Open the payout reconciliation settings and scroll to the bottom.
  2. Set Duration to reconcile transactions to 30, 60, or 90 days. Select a shorter duration, such as 30 days, to reduce the number of transactions processed.
  3. Save the settings and retry the failed deposit.

For more information, see Understand Duration to reconcile transactions setting.

Related articles