NetSuite Month-End Reconciliation for Ecommerce
Month-end close is the accounting event that ecommerce finance teams dread most. It's not the complexity of GAAP principles that causes pain—it's the practical reality of reconciling marketplace...
Disclosure: NetSuiteForge may earn a commission through affiliate links in this article. We only recommend solutions we've personally implemented for ecommerce clients. Our editorial process is independent, and our recommendations are based on hands-on experience.
NetSuite Month-End Reconciliation for Ecommerce
Month-end close is the accounting event that ecommerce finance teams dread most. It's not the complexity of GAAP principles that causes pain—it's the practical reality of reconciling marketplace payouts, payment processor settlements, and bank deposits when the numbers never seem to match.
I've watched ecommerce controllers spend 5-7 business days on month-end close because their reconciliation process is manual. Shopify pays out daily, Amazon settles biweekly, payment processor fees are deducted at different rates, and chargebacks appear weeks after the original transaction. Getting all of these streams to tie to your bank statement in NetSuite requires a systematic approach.
After building reconciliation processes for 30+ ecommerce brands in NetSuite, I've developed a framework that consistently closes the books in 3 business days. This guide covers that framework—every reconciliation checkpoint, the specific saved searches you need, and the common discrepancies that trip up ecommerce accounting teams.
Key Takeaways
- Ecommerce month-end reconciliation involves 6 distinct reconciliation streams: marketplace settlements, payment processor deposits, bank statement matching, sales tax, COGS/inventory, and intercompany (if applicable)
- The clearing account pattern is essential: route all marketplace payouts through clearing accounts before matching to bank deposits
- Amazon settlement reconciliation is the hardest because of fee complexity, reimbursements, and FBA-specific deductions
- Automate saved searches for variance detection rather than manually reviewing every transaction
- A 3-day close is achievable with proper NetSuite configuration and a documented close checklist
Why Is Ecommerce Reconciliation Different from Traditional Accounting?
Traditional businesses have relatively simple revenue flows: send invoice → customer pays → deposit check → reconcile to bank. Ecommerce has multiple intermediaries between the sale and your bank account, each taking fees and introducing timing differences.
The Ecommerce Money Flow
Customer Payment ($100.00)
└─→ Payment Processor (Stripe/Shopify Payments)
└─→ Deducts processing fee (-$2.90)
└─→ Holds funds for 1-2 business days
└─→ Deposits to your bank ($97.10)
For marketplace sales, it's even more complex:
Customer Payment ($100.00)
└─→ Amazon
└─→ Deducts referral fee (-$15.00)
└─→ Deducts FBA fulfillment fee (-$5.50)
└─→ Deducts storage fee allocation (-$0.30)
└─→ Deducts advertising charges (-$8.20)
└─→ Adds reimbursements (+$3.50)
└─→ Biweekly settlement → Your bank ($74.50)
The challenge: your NetSuite revenue is $100.00, your bank received $74.50, and you need to account for the $25.50 in between. For every single transaction. Across multiple channels. Every month.
The Timing Problem
Transactions don't happen on the same day across systems:
- Sale on March 29 → Shopify payout on March 31 → Bank deposit on April 1
- Amazon sale on March 15 → Settlement period ending March 28 → Deposit on March 30
This means your March revenue in NetSuite doesn't match March bank deposits. Some March sales are deposited in April. Some deposits in March relate to February sales. Accrual accounting handles this conceptually, but the practical reconciliation requires careful tracking.
How Do You Set Up Clearing Accounts for Ecommerce?
The single most important reconciliation technique for ecommerce is the clearing account pattern. Instead of matching individual transactions directly to bank deposits, route everything through clearing accounts.
Clearing Account Structure
Create these accounts in your NetSuite chart of accounts:
| Account | Type | Purpose |
|---|---|---|
| Shopify Payments Clearing | Other Current Asset | Holds funds between Shopify sale and bank deposit |
| Amazon Settlement Clearing | Other Current Asset | Holds funds between Amazon sale and settlement deposit |
| Walmart Clearing | Other Current Asset | Holds funds for Walmart Marketplace settlements |
| PayPal Clearing | Other Current Asset | Holds funds between PayPal payment and withdrawal |
| Stripe Clearing | Other Current Asset | Holds funds between Stripe charges and payouts |
How the Clearing Pattern Works
Step 1: Sale occurs
- NetSuite records revenue (Credit Revenue, Debit Accounts Receivable)
- Customer payment created (Debit Clearing Account, Credit Accounts Receivable)
- The clearing account now holds the expected payout amount
Step 2: Marketplace/processor fees deducted
- Record fees as expenses (Debit Marketplace Fee Expense, Credit Clearing Account)
- The clearing account balance now equals the expected bank deposit
Step 3: Bank deposit received
- Match the bank deposit to the clearing account (Debit Bank, Credit Clearing Account)
- The clearing account balance should return to zero
If the clearing account isn't zero at month-end, you have unreconciled transactions—either deposits you haven't matched or sales you haven't received payment for.
Setting Up Clearing Account Reconciliation
Create a saved search in NetSuite that shows the clearing account balance broken down by:
- Transaction date
- Marketplace/channel
- Transaction type (payment, fee, refund, chargeback)
- Amount
Any balance remaining in the clearing account at month-end is your reconciliation gap. Your job is to investigate and resolve every item.
How Do You Reconcile Shopify Payouts in NetSuite?
Shopify payouts are the most common reconciliation task for DTC brands. Shopify settles daily (or on a custom schedule), making the reconciliation relatively frequent but manageable.
Understanding Shopify Payouts
Each Shopify payout includes:
- Charges: Payments received from customer orders
- Refunds: Money returned to customers
- Adjustments: Chargebacks, chargeback reversals, corrections
- Fees: Payment processing fees (2.9% + 30 cents for Shopify Payments)
- Reserved funds: Amounts held in reserve (for new accounts or high-risk merchants)
The payout report shows all of these as line items that net to the total deposit amount.
Step-by-Step Shopify Reconciliation
Step 1: Export Shopify payouts for the month Download the payout transactions report from Shopify Admin → Settings → Payments → View Payouts. Export CSV for the month.
Step 2: Match payouts to bank deposits Each Shopify payout has a unique reference number. Match this to the bank deposit in NetSuite. Most banks show the Shopify reference in the deposit description.
Step 3: Verify the components For each payout, verify:
- Total charges match NetSuite customer payment records
- Total refunds match NetSuite credit memo/refund records
- Fees match your expected rate (should be consistent at 2.9% + $0.30)
- Adjustments are recorded as separate journal entries
Step 4: Investigate variances Common variances:
- Timing differences: An order placed at 11:59 PM on March 31 may appear in Shopify's March payout but land in your bank on April 1
- Currency conversion: International orders are converted at Shopify's rate, which may differ from NetSuite's exchange rate
- Disputed charges: Chargebacks that Shopify has deducted but you haven't recorded yet
Automating Shopify Reconciliation
Configure your Shopify-NetSuite integration to:
- Create customer payments with the Shopify order reference number
- Record processing fees as a separate line on each payment (or batch monthly)
- Match bank deposits using the Shopify payout reference
- Flag unmatched transactions for manual review
With proper automation, Shopify reconciliation takes 30-60 minutes per month instead of a full day.
How Do You Reconcile Amazon Settlements in NetSuite?
Amazon settlement reconciliation is the most complex reconciliation task in ecommerce accounting. Amazon's settlement reports contain dozens of transaction types, fees are deducted at multiple levels, and the timing is biweekly rather than daily.
Understanding Amazon Settlement Reports
Amazon produces a settlement report at each settlement period (typically every 14 days). The report contains:
Income items:
- Product charges (what customers paid)
- Shipping charges collected
- Gift wrap charges
- Promotional rebates (Amazon's contribution to promotions)
Fee items:
- Referral fees (8-15% depending on category)
- FBA fulfillment fees ($3-8 per unit)
- FBA storage fees (monthly, based on cubic feet)
- FBA long-term storage fees (items stored over 365 days)
- Subscription fees (if applicable)
- Advertising charges (Sponsored Products, Sponsored Brands)
Adjustments:
- Refunds
- Reimbursements (for lost/damaged inventory)
- A-to-Z claim payments
- Chargeback debits/credits
Building the Amazon Reconciliation Worksheet
Create a NetSuite saved search that groups Amazon transactions for the settlement period:
| Category | NetSuite Total | Amazon Settlement | Variance |
|---|---|---|---|
| Product Sales | $125,430.00 | $125,430.00 | $0.00 |
| Shipping Revenue | $8,920.00 | $8,920.00 | $0.00 |
| Referral Fees | ($18,814.50) | ($18,814.50) | $0.00 |
| FBA Fees | ($12,340.00) | ($12,580.00) | ($240.00) |
| Refunds | ($6,200.00) | ($6,200.00) | $0.00 |
| Advertising | ($4,500.00) | ($4,500.00) | $0.00 |
| Reimbursements | $1,200.00 | $1,200.00 | $0.00 |
| Net Settlement | $93,695.50 | $93,455.50 | ($240.00) |
The $240 variance in this example is likely from FBA fee adjustments that haven't been recorded in NetSuite yet.
Handling FBA Storage Fees
FBA storage fees are particularly tricky because they're assessed monthly and retroactively allocated. Amazon charges:
- Monthly storage fee: $0.87/cubic foot (Jan-Sep) or $2.40/cubic foot (Oct-Dec) for standard size
- Long-term storage surcharge: $6.90/cubic foot for items stored over 365 days
- Aged inventory surcharge: Applied to units over 271 days old
Record storage fees as a separate expense category (not COGS) in NetSuite. Create a monthly accrual based on your estimated storage volume and then true-up when the actual Amazon charges appear.
Amazon Advertising Reconciliation
Amazon deducts advertising charges from your settlement, but the advertising reporting happens in a separate system (Amazon Advertising Console). Reconcile these:
- Export the advertising cost report from Amazon Advertising Console
- Compare total ad spend to the amount deducted from your settlement
- The amounts should match—if not, there may be a timing difference or a campaign attribution issue
Record advertising costs as Marketing Expense in NetSuite, broken down by campaign type (Sponsored Products, Sponsored Brands, Sponsored Display) for meaningful analysis.
Chargeback and A-to-Z Claim Processing
Amazon deducts chargebacks and A-to-Z claim losses from your settlement. In NetSuite:
- Create a "Chargebacks and Claims" expense account
- Record each chargeback/claim as a journal entry: Debit Chargebacks Expense, Credit Amazon Clearing Account
- If you successfully appeal a chargeback, create a reversal entry
Ecommerce benchmark: Healthy chargeback rates for Amazon are under 0.5% of gross sales. Above 1% and Amazon may restrict your account. Track this metric monthly.
How Do You Reconcile Bank Statements in NetSuite?
After reconciling marketplace payouts, the final step is matching everything to your actual bank statement.
NetSuite Bank Reconciliation Process
- Navigate to Transactions → Bank → Reconcile Bank Statement
- Select the bank account and statement date
- Enter the statement ending balance
- NetSuite shows all unreconciled transactions for this account
- Match each bank deposit/withdrawal to a NetSuite transaction
- The reconciliation summary should show a $0 difference
Common Bank Reconciliation Issues
Issue 1: Shopify deposits that span month-end A Shopify payout initiated on March 31 may not clear the bank until April 1 or 2. This creates a timing difference—the clearing account shows the payout, but the bank doesn't show it yet.
Resolution: Mark these as "in transit" during March close and verify they clear in early April.
Issue 2: Amazon settlement deposit doesn't match the settlement report Amazon sometimes splits a settlement into multiple bank deposits, or combines settlements.
Resolution: Match at the settlement level, not the individual deposit level. Sum all Amazon deposits during the settlement period and compare to the settlement report total.
Issue 3: PayPal holds and reserves PayPal may hold funds for 21 days for newer accounts. This creates a clearing account balance that persists for weeks.
Resolution: Track PayPal holds separately. Create a "PayPal Held Funds" sub-account to distinguish held funds from available funds.
Issue 4: Bank fees not recorded Monthly bank fees, wire fees, and returned check charges need to be recorded in NetSuite.
Resolution: Create a monthly bank fee journal entry. Automate this with a recurring journal if the fees are consistent.
How Do You Handle Sales Tax Reconciliation?
Sales tax reconciliation verifies that the tax you collected from customers matches what you owe to state and local tax authorities.
The Ecommerce Sales Tax Challenge
After the Wayfair v. South Dakota decision, ecommerce businesses have sales tax nexus in states where they have economic presence (typically $100K in sales or 200 transactions). A multi-channel ecommerce brand might collect sales tax in 30+ states.
Marketplace Facilitator Rules
Amazon, Walmart, eBay, and other marketplaces collect and remit sales tax on your behalf in most states. This means:
- Amazon sales: Amazon collects and remits tax. You should NOT also be collecting tax in NetSuite for Amazon orders.
- Shopify DTC sales: You are responsible for collecting and remitting tax.
- Wholesale: Sales tax depends on whether the customer provides a resale certificate.
Monthly Sales Tax Reconciliation Steps
- Pull tax collected in NetSuite (saved search: sum of tax amount by state for the month)
- Pull tax from marketplace reports (Amazon tax document, Shopify tax report)
- Compare to tax filing (what you owe per your Avalara/TaxJar return)
- Investigate variances (usually rate differences, exempt transactions, or marketplace facilitator mismatches)
- Record any tax adjustments (if you over/under-collected)
Common Sales Tax Issues
- Nexus thresholds crossed mid-month: You started collecting tax in a new state. The first few orders may have been tax-free before you updated your settings.
- Tax rate changes: States and localities change rates frequently. Ensure your tax automation service has the current rates.
- Exempt customers: Wholesale customers with resale certificates should not be charged tax. Verify exemption certificates are on file.
What's the Ideal Month-End Close Checklist?
Here's the 3-day close checklist I use for ecommerce clients:
Day 1: Transaction Cutoff and Initial Reconciliation
- Verify all March revenue is recorded (no orders from March still in "Pending" status)
- Verify all March fulfillments have corresponding invoices
- Run the revenue by channel report and compare to marketplace dashboards
- Import final bank statement transactions for March
- Record any accruals for expenses incurred but not yet billed
Day 2: Marketplace and Bank Reconciliation
- Reconcile Shopify clearing account (target: $0 balance except in-transit deposits)
- Reconcile Amazon clearing account for each settlement period
- Reconcile PayPal/Stripe clearing accounts
- Complete bank reconciliation for all bank accounts
- Reconcile sales tax collected vs. sales tax payable
- Review and record chargebacks, disputes, and adjustments
Day 3: Inventory, COGS, and Final Review
- Verify inventory counts match NetSuite (or reconcile and adjust)
- Verify COGS is accurate (landed cost adjustments, write-offs, shrinkage)
- Run profit and loss by channel—does margin look reasonable?
- Review clearing account balances—all should be zero or explainable
- Review open AP for completeness (all vendor bills recorded?)
- Lock the period in NetSuite to prevent backdated transactions
Frequently Asked Questions
How long should month-end close take for an ecommerce business?
With proper NetSuite configuration and automated reconciliation, target 3-5 business days. Many ecommerce brands take 10-15 days because of manual processes. If your close takes longer than 5 days, your reconciliation process needs automation, not more accountants.
What's an acceptable reconciliation variance?
For bank reconciliation, zero variance is the target—your books should match the bank exactly. For marketplace settlements, a variance under 0.1% of gross sales is acceptable and usually attributable to rounding or timing. Any variance above 0.5% indicates a systemic issue that needs investigation.
Should I reconcile daily, weekly, or monthly?
Reconcile bank deposits daily or weekly if your volume exceeds 1,000 orders/month. It's much easier to investigate a $50 variance from yesterday than a $2,000 variance accumulated over a month. Monthly reconciliation of tax, COGS, and clearing accounts is sufficient for most brands.
How do I handle foreign currency transactions during reconciliation?
If you sell in multiple currencies, exchange rate differences create reconciliation variances. Record exchange rate gains/losses in a dedicated GL account. At month-end, revalue your foreign currency clearing account balances at the current rate and record the gain/loss.
What tools integrate with NetSuite for reconciliation automation?
Celigo offers pre-built reconciliation flows for Shopify and Amazon. A2X is purpose-built for ecommerce accounting reconciliation (Shopify, Amazon, Walmart, eBay). FloQast integrates with NetSuite for close management workflows. Budget $200-1,000/month depending on transaction volume.
How do I handle Amazon reimbursements in reconciliation?
Amazon reimbursements (for lost/damaged inventory, fee corrections, etc.) appear as credits in your settlement. Record them as "Amazon Reimbursement Revenue" in NetSuite, separate from product sales revenue. Reconcile expected reimbursements against received reimbursements—Amazon often owes more than they proactively pay.
Ready to Accelerate Your Month-End Close?
A fast, accurate month-end close gives you timely financial visibility and frees your accounting team to focus on analysis rather than data entry. The clearing account pattern, automated saved searches, and a structured close checklist transform ecommerce reconciliation from a week-long ordeal into a 3-day process.
The key insight: reconciliation problems are almost always caused by configuration problems. Fix your NetSuite setup—clearing accounts, fee tracking, automated matching—and month-end close becomes routine.
Take our free NetSuite readiness assessment → to evaluate your current close process and get a roadmap for achieving a 3-day close for your ecommerce operation.