Skip to content

Don’t Hand a Mess to Your CPA: Organizing Multi-Channel Fees the Right Way

NP + CPA

TL;DR: Marketplaces bundle sales, refunds, taxes, and dozens of fees into one payout. Standardize how those lines map to your Chart of Accounts (COA), keep COGS separate, and your close gets faster—and your margins get clearer.


Why this matters

  • One payout contains many different things; netting hides the truth.

  • Consistent mapping = repeatable month-end and fewer reclasses.

  • Clean splits by channel/country make performance comparable.


A channel-agnostic fee taxonomy

Group every settlement line (Amazon, Shopify, TikTok, Walmart, gateways, 3PLs) into these buckets:

  1. Revenue components
    Product Sales • Shipping Income • Gift Wrap/Add-ons • Promotions/Discounts (as contra-revenue)

  2. Taxes & regulatory
    Sales Tax/VAT collected • Marketplace-remitted taxes (liability, not revenue)

  3. Refunds & concessions
    Refunds (contra-revenue) • Restocking/Return fees (pick one policy and stick to it)

  4. Marketplace & payment fees
    Referral/Commission • Fulfillment (pick/pack/weight) • Payment Processing • Listing/Subscription • Other Program Fees

  5. Logistics & storage (post-sale)
    Shipping to customer (expense) • Storage (period expense)

Keep COGS separate: per-order cost from FIFO layers. Fees above are selling/operating expenses.


A tidy COA pattern (flexible, not fragile)

Decide granularity first. Start simple; suffix by {Channel} and add {/Country} only if you truly compare by region.

  • Revenue (4000s)
    Sales — {Channel} [/ {Country}]
    Shipping Income — {Channel}
    Promotions/Discounts — {Channel} (contra)

  • Taxes (2000s liabilities)
    Sales Tax Payable — {Region}
    Marketplace-Remitted Tax — {Channel}

  • Refunds (contra-revenue)
    Refunds — {Channel}

  • COGS (5000s)
    COGS — Inventory (from FIFO per order)

  • Selling fees (6000s)
    Marketplace Referral — {Channel}
    Fulfillment Fees — {Channel}
    Payment Processing — {Gateway/Channel}
    Subscription/Listing — {Channel}

  • Post-sale logistics
    Shipping Expense to Customer — {Channel}
    Storage Fees — {Facility/Program}

  • Adjustments (review monthly)
    Other Program Fees/Adjustments — {Channel}


Month-end workflow that scales

  1. Ingest settlements for each channel.

  2. Map every line to the taxonomy/COA (same rules, every month).

  3. Post per-order COGS from FIFO layers (kept separate from fees).

  4. Reconcile deposits to the journals for the period.

  5. Review exceptions (anything in “Other”) and add mapping rules.

  6. Lock the period after inventory valuation and margin checks.


Common pitfalls (and how to avoid them)

  • Netting fees against revenue. Show them separately to protect margin visibility.

  • Treating taxes as income. Marketplace-remitted tax is a liability.

  • Mixing storage with COGS. Storage after “sale-ready” is a period expense.

  • One giant “Fees” account. Split at least Referral, Fulfillment, Processing.

  • Inconsistent splits. If you split sales by country, split the related fees the same way.


How NeonPanel implements this

  • Standard fee taxonomy applied across channels so lines land in the right buckets.

  • Your COA, your splits (by channel and/or country) without touching spreadsheets.

  • Automatic per-order COGS (FIFO) posted separately from fees for clean margins.

  • Settlement → Journal automation that ties out to bank deposits, plus exception reviews.

  • Returns & refunds handled as contra-revenue, distinct from fees and COGS.