E-commerce Financial Audit Checklist

Revenue Verification

    Pull the Shopify orders export for the period and tie gross sales, processor fees, refunds, and net payouts to the Stripe (or Shopify Payments) payout report. The most common mismatch is timing — a payout dated the 1st often covers orders placed on the 30th — so reconcile by order date, not payout date. Note any variance for the next step.

    For Amazon, eBay, Walmart, and Etsy, verify marketplace-facilitator collection in each state where you have economic nexus. Direct-channel (Shopify / BigCommerce) sales accrue seller liability separately — pull the Avalara / TaxJar / Anrok report and confirm the per-state rollup matches the GL sales-tax-payable account.

    Orders placed on the last day of the period but shipped on the first day of the next are the classic cutoff trap. Confirm the policy (recognize on ship vs. on order) is applied consistently and matches what's in the revenue policy memo. For subscription billings via Recharge or Bold, verify the deferred revenue waterfall ties to the active-subscriber count.

    Sample 10% of refunds in the period and confirm each has a Gorgias / Zendesk ticket, RMA, or chargeback case ID attached. Amazon A-to-z claims and Stripe disputes flow through different systems — make sure both are captured against the order in the GL, not just one.

    Pull the top 5 promo codes by usage and confirm the discount percentage and stack rules booked in Shopify match what marketing intended. BOGO and tiered-spend promos are the usual culprits for revenue overstatement when the discount line doesn't post correctly.

    Triggered when revenue reconciliation flagged a material variance. Break the variance down by channel (Shopify, Amazon, eBay, wholesale) and by week. Common root causes: missed payout report, unbooked Amazon disbursement, gift-card liability misclassified as revenue, FX on international orders.

Expense Analysis

    Three-way match every PO over the materiality threshold against the supplier invoice and the warehouse receiving report. Quantity discrepancies on inbound containers (overshipped, undershipped, damaged in transit) are common with overseas suppliers — these need a credit memo or short-pay before the invoice books.

    Pull spend from Meta Ads Manager, Google Ads, TikTok Ads, and Amazon Ads (Sponsored Products / Brands / DSP). Reconcile each platform's invoice / charge to the GL marketing line and make sure influencer / affiliate payouts (Refersion, Impact) are coded separately from paid media — they're often miscategorized as advertising when they should sit under commissions.

    Klaviyo, Yotpo, Gorgias, Recharge, Helium 10, ShipStation — the e-commerce SaaS stack drifts upward as usage grows. Pull the credit card / bank statement and tag every recurring charge to a line in the GL. Flag any subscription not actively used by a named owner for cancellation review.

    Run a variance report against the prior 3-month average by GL line. Investigate anything that's 25%+ above trend. Common one-offs to expect: trade-show fees, sample / soona-style content shoots, holiday packaging buys; common red flags: duplicate vendor payments, off-cycle PPC overages, refunded charges that re-posted.

    Confirm any single expense above the policy threshold (commonly $5K for ops, $25K for inventory POs) carries a documented approver in Ramp / Brex / BILL. Missing approvals are the most common audit finding for growing brands that haven't tightened spend controls past the founder.

Inventory Management

    Pull the Seller Central Inventory Ledger and tie sellable + reserved + unfulfillable + inbound to the inventory subledger. Reconcile any FBA inbound shipments older than 30 days — that's the reimbursement window for lost / damaged units, and unclaimed shorts are real cash.

    Pull the cycle count results from Cin7 / SkuVault / NetSuite or the 3PL's WMS (ShipBob, ShipMonk) and compare to the on-hand quantity in the OMS. Investigate any SKU with a count variance over 2% — common causes include unprocessed returns, mislabeled bins, and pick errors not yet adjusted.

    Confirm landed cost (unit cost + freight + duty + 3PL inbound fees) is rolled into FIFO or weighted-average cost per the company policy. Section 321 de minimis air shipments and ocean container freight have very different per-unit allocation — make sure the cost method is being applied consistently across both.

    Pull SKUs with over 180 days of supply at current sell-through and units with zero sales in the last 90 days. Long-term FBA storage fees (charged at 271+ days) compound the problem on Amazon. Calculate the proposed write-down value at the lower of cost or net realizable value.

    Calculate per-SKU contribution margin: (price - landed cost - marketplace fees - shipping - returns reserve - PPC). Compare to the prior period and flag SKUs whose contribution margin has dropped more than 5 points. The usual culprits: GRI carrier rate increases, Amazon FBA fee changes, and creeping ad spend on a stagnant ROAS.

    Triggered when the variance threshold required a write-down. Prepare the journal entry (debit inventory write-down expense, credit inventory reserve), attach the SKU-level supporting schedule, and route to the controller for approval before posting.

Accounts Receivable

    Amazon disburses every 14 days; Walmart weekly; Faire net-60. Tie each payout — gross sales less fees, returns, and reserves — to a deposit on the bank statement and to the AR clearing account. Held funds and reserve balances on Amazon should sit in AR until released.

    Pull the AR aging from QuickBooks / NetSuite for retail and B2B accounts. Anything 60+ days past due needs a status note (collections in progress, dispute, payment plan) and an updated bad-debt reserve. Faire and Shopify Collective receivables run through their own dunning — confirm those balances tie to the platform reports.

    Stripe and PayPal hold reserves against open disputes; Amazon holds A-to-z claims separately. Tie the reserve balance per platform to your chargeback-reserve liability account and update the rolling chargeback rate (alarm if approaching the 1% Visa / Mastercard threshold).

    For wholesale customers, every account on net-30 / net-60 should have a signed credit application and an active credit limit on file. New accounts opened in the period should have run a credit check; sample 3-5 to confirm the documentation is in place.

    Sum the AR subledger by customer and tie to the AR control account in the GL. Variances usually trace back to manual journal entries against AR, refunds posted to AR instead of revenue, or an unposted credit memo.

Accounts Payable

    Confirm the supplier invoice quantity and unit price match the PO and the receiving report. For overseas suppliers, also tie the freight-forwarder invoice (commercial invoice value, HS classification, duty paid) so landed cost rolls correctly into inventory.

    ShipBob, ShipMonk, and similar 3PLs bill receiving, storage, pick, pack, and return-processing on separate line items — and the fee schedule changes more often than most ops teams notice. Tie billed unit counts to the OMS shipment count for the period and challenge any storage-fee bumps that don't tie to actual cubic-feet on hand.

    Identify any 2/10 net-30 terms on supplier invoices coming due. The implied APR on a 2% / 20-day discount is roughly 36% — pay these early when cash allows. Also flag any invoice past the supplier's terms to avoid a credit hold on the next inbound PO.

    Volume rebates, MDF / co-op credits, defective-unit credits, and freight credits frequently sit unapplied for months. Pull the credit memos issued in the period and confirm each is matched against an open invoice or recorded as a receivable from the vendor.

    Final controller sign-off. Confirm the AP subledger ties to the GL control account, attach the variance reconciliation worksheet, and capture any items deferred to the following month's audit.

Use this template in Manifestly

Start a Free 14 Day Trial
Use Slack? Start your trial with one click

Related E Commerce Checklists

Ready to take control of your recurring tasks?

Start Free 14-Day Trial


Use Slack? Sign up with one click

With Slack