
To reconcile Shopify Payments, PayPal, Klarna and Adyen payouts in NetSuite, post each sale’s payment to a clearing account for that provider and currency, then record each payout as a deposit that clears those payments, net of fees, refunds and chargebacks. Use the provider’s transaction-level report, not order totals. The clearing balance should return to zero.
The hard part is not the bookkeeping idea. It is that each provider reports differently, money arrives in EUR, GBP and SEK on different days, and refunds and disputes land in a different month from the sale. This guide sets out the model we use and the reports each provider gives you.
Key takeaways
- One clearing account per provider and currency. Shopify Payments EUR, Shopify Payments GBP, Klarna SEK and so on.
- Reconcile from settlement data. Each provider has a report that ties every line to a payout reference on your bank statement.
- Fees are an expense, not a reduction of sales. Post them gross so revenue matches the order.
- Refunds and chargebacks follow their own dates. Never reopen a closed period to make a payout match.
- An ageing clearing balance is your alarm. Anything older than a payout cycle needs a person to look at it.
Why don’t Shopify payouts match the orders in NetSuite?
Because a payout is not a list of orders. Shopify’s payout details break each payout into charges, refunds, adjustments, fees, reserves and retried payouts. A single payout can contain sales from three days, a refund for an order from last month and a chargeback fee. Orders paid by PayPal or Klarna are not in it at all.
So matching payouts to sales orders by total will never work. Match them line by line, using each provider’s transaction ID, and let the clearing account show what is still open.
Which payout reports does each provider give you?
| Provider | Report to use | Link to bank line | Fees |
|---|---|---|---|
| Shopify Payments | Payout transactions export (CSV) or the payouts API | Payout date and amount | Deducted, with a VAT column for European stores |
| PayPal | Balance Reconciliation Report, or the legacy Settlement Report | Withdrawal from the PayPal balance | Deducted per transaction |
| Klarna | Settlement report per payout (CSV, PDF or API) | Payment reference on the bank statement | Deducted (NET) or invoiced separately (GROSS) |
| Adyen | Settlement details report per batch | Payout reference in the MerchantPayout row | Deducted, split into markup, scheme fees and interchange where available |
A few details from each provider’s documentation are worth knowing:
- Shopify Payments. You can export transactions for one payout from Finance > Payouts. The columns include type, order, amount, fee and net. The separate Shopify Payments activity report summarises a period by currency, but it exports only to PDF, has a three-day data delay and excludes third-party providers. It is useful for a month-end check, not for line-level matching.
- PayPal. Money lands in your PayPal balance first, often in several currencies, and reaches the bank only when withdrawn. PayPal’s reports overview now recommends the Balance Reconciliation Report for daily payments and fees, and lists the Settlement Report as a legacy option.
- Klarna. Klarna’s settlement reports link each payout to a unique payment reference on your bank statement. Klarna recommends the CSV for reconciliation, and the PDF serves as the VAT invoice for its fees in the EU.
- Adyen. Adyen’s settlement details report is generated per batch. The row with journal type MerchantPayout holds the payout and a reference that also appears on the bank statement. Weekend sales and balance transfers can move amounts into a later batch.
How do clearing accounts work for Shopify payouts in NetSuite?
Think of a clearing account as a waiting room. Money enters when a customer pays and leaves when the provider pays you.
- When an order is paid, the integration records a customer payment against the invoice or a cash sale. The payment method for Shopify Payments points to the Shopify Payments clearing account in the order currency.
- When a payout arrives, the integration reads the payout lines and creates a deposit or journal. It credits the clearing account for each payment in the payout, debits the bank for the net amount and debits a fees account for the fees.
- Refunds and chargebacks in the same payout are posted against the clearing account too, so the deposit equals the bank line to the cent.
If every payment cleared, the account is back to zero for those lines. What remains is either in transit, which is fine, or a mismatch, which someone needs to look at. A saved search of open clearing items older than the provider’s normal payout cycle makes a good daily check.
We usually set clearing accounts up as bank-type accounts in the payout currency. The balance then stays in EUR, GBP or SEK, and NetSuite’s Match Bank Data and Reconcile Account Statement pages can work on them like any other account. Agree the account type with your accountant before go-live, because it affects revaluation.
Should you record customer payments or summary deposits?
NetSuite gives you two broad options. You can post every customer payment to Undeposited Funds or a clearing account, then group them with Make Deposits. Or you can skip individual payments and post one summary journal per payout.
| Payment per order plus deposit | Summary journal per payout | |
|---|---|---|
| Invoices show as paid | Yes | No, unless you also apply payments |
| Audit trail to order | Direct | Through a report or attachment |
| Record volume | High | Low |
| Best for | B2B, invoices, mixed methods | High-volume B2C cash sales |
Most of our builds use payments per order, because customer balances, refunds and B2B invoices all need them. Very high-volume stores can post summaries, as long as the payout file is stored with the journal.
How do you handle EUR, GBP and SEK payouts?
Start with how the money arrives. Shopify’s multi-currency payouts are available on the Advanced and Plus plans only. You add one bank account per payout currency, and orders paid in that currency are paid out in it without conversion. On other plans, or for a currency without its own account, Shopify converts to your default payout currency and charges a currency conversion fee. Shopify’s supported payout currencies list SEK and GBP as extra currencies for stores in the Netherlands, Germany and Ireland, for example.
In NetSuite, each currency needs its own bank account and clearing account. When a payment in one currency is deposited into a bank account in another, Oracle notes that NetSuite either uses the stored exchange rate or leaves the amount blank for you to enter, depending on how the bank and subsidiary currencies relate. The integration should always pass the actual settled amount from the provider’s report. The difference between the rate on the invoice and the rate on the payout is a realised FX gain or loss, and it should post as one.
If you run several NetSuite subsidiaries, each payout belongs to the subsidiary that owns the bank account. Our guide to Shopify Markets and NetSuite OneWorld covers which subsidiary should own which market.
How should processor fees and VAT on fees be posted?
Post fees gross to a merchant fees expense account per provider, so you can compare costs. Do not net them against revenue. Some providers also charge VAT on their fees. Shopify’s payout export includes a VAT column for stores in Europe, and Klarna’s PDF settlement report acts as the VAT invoice for its fees. How you treat that VAT depends on where the provider is established and where you are, so agree the tax codes with your adviser. This is general information, not tax advice.
How do chargebacks and refunds across periods work?
A chargeback in Shopify Payments deducts the disputed amount and a dispute fee from your balance. Post the amount to a disputes account, not as a refund, because you may win it back. If you win, the reversal clears that account. If you lose, it becomes a loss or a credit memo, depending on your policy.
Refunds follow the date they happen. A refund on 3 November for an October order is a November credit memo and customer refund, and it shows in a November payout. Leave October closed. The clearing account handles the timing, which is the point of having one.
Reserves work the same way. Funds held in a Shopify reserve are not in the payout, so hold them in a reserve account until they are released.
A month-end payout checklist
- Every payout for the month has a matching deposit in NetSuite, equal to the bank line.
- Each clearing account balance is explained by payments still in transit.
- Open items older than a payout cycle have an owner and a note.
- Dispute and reserve accounts agree with the provider’s dashboard.
- FX gains and losses posted, and the period’s revaluation run.
Payout reconciliation is one of the flows on our Shopify to NetSuite integration, and it often decides whether finance trusts the rest of the build. For the wider picture, read the Shopify NetSuite integration guide for Europe, or our article on integration cost.
FAQ
Can a prebuilt connector reconcile Shopify payouts in NetSuite?
Some connectors handle Shopify Payments payouts. Fewer handle PayPal, Klarna and Adyen in several currencies with the same model. Check each provider and currency against the connector’s documentation, and see our connector vs custom comparison.
Should each payment provider have its own clearing account?
Yes, and one per currency. Mixing providers in one account makes it very hard to tell which payout an open item belongs to.
What happens if a payout is lower than expected?
Look for refunds, chargebacks, reserves or a negative balance carried forward. The transaction-level report explains every difference. The total alone never will.
Do we need Shopify Advanced or Plus for multi-currency payouts?
According to Shopify, multi-currency payouts for Shopify Payments are available on Advanced and Plus. On other plans, payouts arrive in your domestic currency after conversion.
If your clearing accounts never seem to reach zero, our free integration assessment is a good place to start. We look at your providers, currencies and current postings and show you where the gaps are. You can also read about our work for brands in the Nordics and the United Kingdom.


