How to connect Square to NetSuite the right way
8 min read Bookkeeping The Adapters team
Last updated July 2026
To connect Square to NetSuite so the books reconcile, post Square sales as cash sales, book the Square processing fee as a separate expense, record refunds as cash refunds, and group each Square payout into a single NetSuite deposit. The payout arrives net of fees, so the deposit that hits your bank will only match NetSuite when the fee is booked on its own line, not netted into revenue.
Field mapping auto-plugged · tap a port to rewire
Plug a source port into
Transform on this cable
JSON in
JSON out
5 sample records ready
Key takeaways
- Post gross, book the fee. Record full sales revenue, then the Square fee as an expense, so revenue is not understated.
- Match the payout, not the sale. Group the day's payments into one deposit that equals the amount Square sent to your bank.
- Handle refunds and disputes. Record them as cash refunds in the period they occur, not when you notice them.
- Split by location. Map Square locations to NetSuite so multi-site reporting stays clean.
How do you connect Square to NetSuite?
You connect Square to NetSuite by authorizing both systems, mapping Square payments to NetSuite cash sales, and scheduling a sync that posts each day's activity. Square exposes payments, refunds, and payouts through its API; NetSuite receives them as cash sales, cash refunds, and deposits. The work is in the mapping, deciding which Square field lands on which NetSuite record, and it is a one-time setup rather than a build-and-maintain project.
The Square to NetSuite connector pre-wires that mapping so you confirm it rather than build it. You authorize Square and NetSuite with scoped credentials, review the field cables, and set a schedule. There is no SuiteScript to write and no CSV to babysit.
Why does the Square deposit not match NetSuite?
The deposit does not match because Square takes its processing fee before it pays you, so the money that reaches your bank is always less than gross sales. If you post only the net amount, revenue is understated and the fee disappears from your books. The fix is to record gross sales as revenue and the Square fee as a separate expense, so the two net to the exact payout amount.
Once the fee is on its own line, reconciliation becomes arithmetic instead of guesswork. The NetSuite deposit equals gross sales minus fees minus refunds, which is precisely what Square wired to your account. Getting this split right is the single most important step in a clean Square to NetSuite setup.
How should Square sales map to NetSuite records?
Map each Square payment to a NetSuite cash sale, the processing fee to an expense, refunds to cash refunds, and the payout to a deposit that groups the day's transactions. The table below shows a common field mapping that keeps revenue, fees, and deposits in the right accounts.
| Square | NetSuite | Why |
|---|---|---|
| payment.amount_money | CashSale.Total | Gross revenue before fees |
| payment.processing_fee | Expense.Amount | Square fee booked separately |
| refund.amount_money | CashRefund.Total | Refunds in the right period |
| location.id | CashSale.Location | Multi-site reporting stays clean |
| payout.arrival_date | Deposit.TranDate | Deposit dated when the bank got it |
Square returns money values in the smallest currency unit, so amounts convert to NetSuite decimals automatically. Grouping payments by payout is what lets the deposit tie to the bank feed, so reconciliation clears on the first try.
How do you handle Square refunds and disputes in NetSuite?
Record refunds as NetSuite cash refunds dated when they occur, and treat chargebacks and disputes the same way with a note tying them to the original sale. The trap is timing: a refund booked in the wrong period overstates revenue for the month it belonged to and understates the month you finally record it. Posting refunds as they happen keeps each period honest.
Disputes need a small extra step because the money can move twice, out when the dispute is filed and back if you win. Booking each movement as it happens, rather than waiting for the outcome, keeps your NetSuite cash position matching the bank at every point in between.
Can you automate Square to NetSuite reconciliation?
Yes. A scheduled sync posts sales, fees, refunds, and deposits into NetSuite every day so reconciliation is a review, not a rebuild. Automation removes the manual re-keying that eats hours at close and the transcription errors that come with it. You still approve the deposit, but the numbers are already in place and already tie out.
The same discipline helps anywhere payouts hit a bank account net of fees. If part of your month still lands as a PDF from the bank, you can turn that statement into a clean spreadsheet before you match it, so nothing in the reconciliation is left to hand-typing. For the accounting side of payment fees in general, our guide to handling payment fees and payouts covers the same pattern for another processor.
Get Square sales into NetSuite that reconcile
Post sales, fees, refunds, and payouts on a schedule, no SuiteScript. Map the pair in the browser and pay a flat price from $49 a month.