ปฏิบัติการ
Shopee's public commission rate for a non-Mall apparel category is between 1% and 6%, per the Shopee Help Center fee schedule. The transaction fee is approximately 2%. Add them up and an apparel seller would expect a take-rate around 6–8%. The bank deposit on the same order tells a different story — closer to 78–82 baht for every 100 baht of attributed revenue. The 18–22 baht gap is not commission; it is the four fee layers underneath commission that most sellers do not reconcile per order. This post documents what those layers are, what they cost, and how to attach them to the order-line so the dashboard revenue and the bank deposit reconcile.
The argument is structural, not anecdotal. Per the Shopee Help Center documentation, the seller-funded portion of every Shop Voucher is 'deducted from your sales as a marketing cost'. Per the Free Shipping Program documentation, the seller-funded subsidy is required to maintain the program-tier ranking benefit and is not refunded if the buyer cancels. Per Sea Limited's 4Q25 investor disclosure, Shopee's transaction-based revenue grew faster than its underlying GMV — a take-rate-up trajectory that compounds the variance in the four hidden layers. Per the Bain e-Conomy SEA 2025 commentary, retail-media take-rate inflation across SEA marketplaces is one-way; the gap between headline commission and effective take-rate widens, not narrows.
Headline commission is the line item Shopee publishes. Effective take-rate is the line item your bank deposit prints.
Below: the six layers in operating detail; a fully-worked Shopee Mall apparel order reconciled from listed price to seller take-home; the cross-platform comparison frame that explains why headline-commission comparisons mislead; a sensitivity table showing how the all-in take-rate changes when one layer moves; the four-term formula for calculating commission per order (and where flat-rate calculators go wrong); the reconciliation procedure that attaches every layer to the order-line; and an explicit limitations section on what this post does not cover (cross-border accounts, negotiated rates, program-mechanic drift).
The six fee layers, named
1. Commission (category × Mall status)
Per the Shopee Help Center fee schedule, non-Mall commission ranges 1–6% by category; Mall commission ranges 3–12%. Mall categories with high return rates (apparel, beauty) sit at the upper end; categories with low return rates and stable demand (consumer electronics, home) sit lower. Commission is deducted from gross attributed revenue and is the only fee layer that is fully visible in the seller centre per-order export. Layer 1 is also the only layer most third-party 'Shopee fees' explainers cover.
2. Transaction fee
Per Shopee's public fee documentation, the transaction fee is approximately 2% of the order value (the exact figure varies by market and buyer payment method). It is fixed and applied to every transaction; it is the smallest of the six layers in absolute terms but the most predictable. Layer 2 sits alongside commission in the dashboard export.
3. Voucher co-funding (Shop Voucher seller-funded portion)
Per the Shop Voucher documentation, when a buyer redeems a Shop Voucher on the seller's storefront, the seller funds the discount portion from their own margin. Shopee documents this explicitly: the seller-funded portion is 'deducted from your sales as a marketing cost'. Voucher tiers escalate during big-campaign windows (9.9, 11.11, 12.12, Pay Day) — the tier list typically runs 5%, 10%, 15%, with platform pressure to participate at higher tiers in exchange for ranking weight. Layer 3 is the largest source of fee-stack variance across orders, because it depends on whether the order included a voucher redemption and at which tier.
4. Free Shipping Program (FSP) seller-funded subsidy
Per the FSP documentation, sellers can opt into the Free Shipping Program to qualify their listings for the in-app 'free shipping' badge. The seller funds a portion of the shipping subsidy; the platform funds the remainder. The seller-funded portion is set at the program level and is not negotiable per order. FSP participation is tied to ranking weight in the platform's relevance model — a listing without FSP participation typically ranks below otherwise-equivalent listings with it. Layer 4 is therefore quasi-mandatory: optionality exists in name but the ranking penalty for non-participation is large.
5. Mall premium
Per the Shopee Mall documentation, Mall-tier listings carry a higher commission rate (3–12% vs 1–6% non-Mall) and additional program obligations (faster shipping SLAs, voucher participation thresholds, return-rate ceilings). The Mall premium is partly a commission delta (Layer 1 difference) and partly an operating-cost delta (the SLAs and program obligations have real fulfilment costs). Layer 5 is the layer most often misread as 'just higher commission' when in fact a Mall listing also faces tighter voucher and FSP defaults than its non-Mall counterpart.
6. Payment-channel pass-through
The buyer's payment method (credit card, e-wallet, bank transfer, COD) carries different processing costs, and Shopee passes through some of that variance to the seller in the form of payment-method-specific fee adjustments. The pass-through is small per order (typically 0.5–1.5%) but sums into a meaningful tail across thousands of orders. Layer 6 is the layer that most explicitly explains the gap between two structurally identical orders that produce different bank deposits.
Worked example — a Shopee Mall apparel order, line by line
Take a Mall-tier apparel listing in Thailand: list price THB 1,200, buyer redeems a 10% Shop Voucher (Tier 2), order placed during a campaign window with FSP participation, paid by credit card. Below: the order reconciled from listed price down to seller take-home, every layer attached.
List price 1,200
Buyer pays (after voucher redemption, 10%) 1,080
Shopee gross-attributed revenue (the dashboard line) 1,080
Layer 1: commission (Mall apparel ~10%) -108
Layer 2: transaction fee (~2% of buyer-paid) -22
Layer 3: voucher co-funding (seller-funded 50% of voucher) -60
Layer 4: Free Shipping Program subsidy (~3% seller-funded) -32
Layer 5: Mall premium (already in Layer 1 commission delta) 0
Layer 6: payment-channel pass-through (credit card ~1.2%) -13
Seller take-home (before COGS and ads) 845
All-in take-rate against gross-attributed: (1,080 - 845) / 1,080 = 21.8%
Headline commission rate (Layer 1 only): 108 / 1,080 = 10.0%
Gap between headline and all-in take-rate: +11.8 percentage pointsThe 11.8-percentage-point gap is the four hidden layers. On a different order — same listing, no voucher redemption, no FSP participation, paid by bank transfer — the gap collapses to about 1.5 points (just Layer 6) and the seller take-home is THB 945 instead of 845. The two orders look identical in the per-SKU revenue line but produce a 12% spread in margin per order. Sellers averaging across the dashboard revenue line are averaging across these two regimes, and the average is meaningless without the layer-level reconciliation.
Why headline commission misleads — same listing, four scenarios
A seller comparing 'Shopee charges 10% commission on Mall apparel' against 'Lazada charges 8%' is comparing one layer of a six-layer stack — and missing where the variance actually lives. The structural point: the same Shopee Mall listing produces a very different all-in take-rate depending on whether the buyer redeems a Shop Voucher, whether the listing is enrolled in the Free Shipping Program, and how the buyer pays. Headline commission stays the same across all four scenarios below; the all-in take-rate moves from 5.5% to 21.8% as the layers stack up.
All values derived from the four-term commission formula applied to a THB 1,000 Shopee Mall apparel listing. Commission held at 10% (mid-range of the public 3–12% Mall band per the Help Center fee schedule); Layer 3 (Shop Voucher) and Layer 4 (FSP) populated from the public tier list and program documentation; Layer 6 (payment pass-through) at industry-typical credit-card and bank-transfer rates. Cross-platform comparison against Lazada or TikTok Shop requires re-deriving each platform's six-layer stack from its own published fee schedule — outside the scope of this Shopee-focused note.
Sensitivity — which layer moves the all-in take-rate the most
The table below stress-tests the all-in take-rate on the worked example by perturbing each layer one at a time. The structural finding: voucher tier and FSP participation move the all-in take-rate by 6–10 percentage points across plausible ranges, while commission and transaction fee — the layers most sellers focus on — move it by less than 3.
| Layer perturbed | Range tested | All-in take-rate range | Spread |
|---|---|---|---|
| Layer 1 (commission) | 8% → 12% | 19.8% → 23.8% | 4.0pp |
| Layer 2 (transaction fee) | 1.5% → 2.5% | 21.3% → 22.3% | 1.0pp |
| Layer 3 (voucher tier) | 0% → 15% | 15.7% → 24.4% | 8.7pp |
| Layer 4 (FSP participation) | opt-out → tier-3 | 18.8% → 25.2% | 6.4pp |
| Layer 5 (Mall vs non-Mall) | non-Mall → Mall | 14.5% → 21.8% | 7.3pp |
| Layer 6 (payment channel) | bank transfer → credit card | 20.6% → 22.0% | 1.4pp |
The structural ranking is consistent across catalogs: voucher exposure, FSP participation, and Mall status are the layers that materially move all-in take-rate. Commission and payment channel are second-order. A Shopee-fees model that does not attach Layers 3–5 per order is fitting on the wrong variables.
How to calculate Shopee commission per order
Layer 1 deserves its own treatment because most public Shopee commission calculators stop at it and get it wrong. The right calculation has four terms — not one — and the wrong base on three of them is the source of the discrepancy between what the calculator returns and what the bank deposit prints.
commission_per_order = r(category, mall) × buyer_paid
transaction_fee = t × buyer_paid (t ≈ 2%)
payment_pass_through = p(payment_method) × buyer_paid (p ≈ 0.5–1.5%)
buyer_paid = list_price − voucher_redeemed (post-voucher)
total_platform_take = commission_per_order
+ transaction_fee
+ payment_pass_through
A Shopee commission calculator that uses a single rate × list_price
is wrong on at least three of the four terms.What the simple calculator gets wrong
Four errors compound. **First**, it uses list price, not buyer-paid. Commission applies to the buyer-paid amount, not the listed price. On any order with a Shop Voucher redemption, those are different numbers — a THB 1,000 listed-price order with a 10% Shop Voucher has a buyer-paid of 900 and commission of (rate × 900), not (rate × 1,000). The simple calculator is high by ~10% on voucher-active orders, a meaningful share during campaign windows. **Second**, it uses one category rate without Mall status. Per Shopee's Mall documentation, Mall-tier listings carry commission roughly 2× the equivalent non-Mall listing; a seller with mixed Mall and non-Mall listings on the same shop cannot use a single rate. **Third**, it ignores the transaction fee — sellers reading a commission-only calculator under-estimate platform take by 2pp. **Fourth**, it assumes payment channel does not matter. The pass-through is small (0.5–1.5%) but it is the line that explains why two structurally identical orders produce different bank deposits.
Worked example — THB 1,000 Mall apparel order, voucher-active, credit card
Inputs:
list_price 1,000 THB
voucher_redeemed 100 THB (10% Shop Voucher, Tier 2)
category Apparel
mall_status Mall
payment_method Credit card
r(Apparel, Mall) 10% (Shopee Mall apparel commission tier)
t 2%
p(credit card) 1.2%
Calculation:
buyer_paid = 1,000 − 100 = 900 THB
commission_per_order = 10% × 900 = 90 THB
transaction_fee = 2% × 900 = 18 THB
payment_pass_through = 1.2% × 900 = 10.8 THB
total_platform_take = 90 + 18 + 10.8 = 118.8 THB
A flat-rate "10% × 1,000" calculator would return:
commission = 100 THB
(and stop, ignoring the transaction fee and payment pass-through)
Difference:
actual platform take = 118.8 THB
flat-rate calculator output = 100 THB
gap = 18.8 THB
On 100 such orders/month, the flat-rate calculator
misstates platform take by THB 1,880 — and that is before
the four hidden layers (3, 4, 5) covered above.The flat-rate calculator is wrong in two directions on the same order. It is high on the commission line (because it applies commission to list price instead of buyer-paid), and it is low on the total take (because it omits the transaction fee and payment pass-through). On a voucher-active Mall order, the two errors do not cancel; the omitted layers are larger than the list-price-vs-buyer-paid gap. Working the four-term formula against the flat-rate `rate × list_price` shortcut at the inputs of the worked example above (Mall apparel, 10% Shop Voucher, credit-card payment) yields a roughly 19-baht gap on a 1,000-baht order — a single-digit-percentage discrepancy that scales with voucher participation and Mall status. The exact figure depends on the specific category, voucher tier, and payment method; the structural point is that the flat-rate calculator's answer disagrees with the bank deposit by an amount the four-term formula makes calculable.
The lookup-table shape the calculation needs
| Lookup | Keys | Value | Refresh cadence |
|---|---|---|---|
| Commission rate | (category, Mall flag) | rate (1–12%) | Quarterly, or at every Shopee fee-schedule announcement |
| Transaction fee | (market) | flat rate (~2%) | Annual, or at announcement |
| Payment pass-through | (payment_method) | rate (0.5–1.5%) | Annual, or at announcement |
| Voucher tier (for buyer-paid) | (campaign window, voucher tier) | voucher % and seller-funded % | Per major campaign window (9.9, 11.11, 12.12, Pay Day, Mid-month) |
The first three tables produce the platform-take lines (commission, transaction fee, payment pass-through); the fourth produces the buyer-paid base the first three apply to. Maintaining this lookup structure once eliminates the per-order calculation as a source of accounting error.
The downstream cost of an inaccurate commission calculation is not the calculation error itself; it is the decision error the calculation propagates into. Per the Shopee true ROAS methodology, the commission line is one input to the contribution-margin numerator that an ad-budget audit depends on. A commission calculation that is off by even a few percentage points per order — the gap the four-term formula above closes — propagates a corresponding error into every per-SKU break-even ROAS bar an audit computes. Campaigns that should be paused are kept, and campaigns that should be kept are paused.
Reconciling the full six-layer stack — the procedure
The four-term formula above produces three of the six fee lines (commission, transaction fee, payment pass-through). The remaining three (voucher co-funding, Free Shipping Program subsidy, Mall premium) are seller-funded program costs that hit the same bank deposit and have to be attached to the same order-line if the reconciliation is going to balance.
1. Pull the order-line export.
Use the Shopee Open Platform export or the Seller Centre order CSV. Required columns: order ID, SKU, listed price, buyer-paid price, attributed campaign, voucher code (if any), voucher amount, FSP-eligibility flag, payment method, refund flag.
2. Apply the four-term commission formula.
Per the calculation in the previous section, attach commission (per category × Mall status), transaction fee, and payment-channel pass-through to every order-line. These three are the platform's direct take; the rest are program costs.
3. Attach Layer 3 (voucher co-funding) per voucher attribution.
For every order with a voucher redemption, look up the voucher's seller-funded percentage (default 50%; varies by tier and campaign window). The voucher amount × seller-funded percentage is the Layer 3 line. Reconciling Layer 3 per order, not aggregated, is what surfaces the campaign-week margin compression most accounts attribute to 'just lower margin during 11.11'.
4. Attach Layer 4 (FSP subsidy) from program log.
If the listing is FSP-enrolled, apply the seller-funded subsidy rate (typically 2–4% of buyer-paid). FSP rates change at the program-tier level; refresh the rate at every program-tier change announcement.
5. Compute seller take-home per order.
Seller take-home = buyer-paid − (commission + transaction fee + payment pass-through + Layer 3 + Layer 4). Aggregate to the campaign / SKU / period of interest. Compare to the bank deposit; the residual should reconcile to within rounding (returns and refunds resolve later). Persistent residuals usually indicate a rate-table refresh is overdue.
The procedure is mechanical, but doing it manually across thousands of orders per month — with rate tables that drift quarterly and program tiers that change every campaign window — is the operating cost most sellers under-budget for. This is what DataGlass automates: order-line ingestion from the Shopee Open Platform, the four-term commission formula attached per order, voucher and FSP reconciliation per attribution, payment pass-through per channel, and the residual-vs-bank-deposit check run continuously rather than at quarter close. Sellers can try DataGlass free on their own shops, or see the workflow before connecting. The reconciliation procedure above is the work; the platform removes the data-engineering tax of doing it at scale.
Limitations and where this argument breaks
- Cross-border accounts. Shopee's Cross-Border Program (Shopee International Platform) has a different fee stack — additional logistics fees, customs handling, and FX charges that this post does not model. Cross-border sellers should use the same six-layer frame but populate Layers 4 and 6 with the cross-border-specific rates.
- Negotiated rates. Top-decile enterprise sellers and KA accounts often have negotiated commission rates below the public schedule. The reconciliation procedure is unchanged; only the Layer 1 lookup table needs the negotiated rate. Layers 2–6 are typically still public-schedule.
- Program-mechanic drift. Voucher tier specifics (tier rates, seller-funded percentage), FSP rates, and Mall obligations drift quarterly. The six-layer frame is durable; the rate inputs are not. The reconciliation has to be re-rated at every program announcement, not just at fee-schedule changes.
- Returns and refunds. The reconciliation here is gross of returns; net-of-returns reconciliation runs ~30 days later when refund flags resolve. Sellers comparing reconciled take-home to bank deposits should expect a small lag.
- Internal-data scope. The 18–24% all-in take-rate range and the cross-platform comparison figures are aggregated across Thai SEA-6 multi-platform marketplace seller accounts in our sample. They are not population claims; cross-border, B2B, and bottom-of-distribution seller accounts are excluded.
- Cross-platform scope. This post is Shopee-only. Lazada and TikTok Shop also have six-layer fee stacks, but applying the framework to those platforms requires re-deriving each layer from the relevant platform's public fee schedule — outside the scope of this note. Sellers running on multiple platforms should run the reconciliation procedure separately per platform.
Methodology
Public-data citations are taken from the Shopee Help Center Thailand (commission and transaction-fee schedule, Mall commission rates, Shop Voucher mechanics, Free Shipping Program documentation), Sea Limited's 4Q25 / 1Q26 investor disclosures (transaction-based revenue trajectory and take-rate composition), and the Bain e-Conomy SEA 2025 commentary on retail-media and platform take-rate inflation in SEA marketplaces. The Lazada and TikTok Shop comparison points are from the platforms' respective seller-fee documentation pages, also publicly available.
Internal-data claims — the 18–24% all-in take-rate range, the per-layer sensitivity figures, and the cross-platform comparison ranges — are aggregated across the Thai SEA-6 multi-platform marketplace seller accounts we model directly, with reconciliation done at order-line resolution. The Shopee subset is approximately 280 active accounts across the DataGlass research methodology sample frame (Jan 2024 – Apr 2026, 28-month observation window). The worked example is a research-grade composite calibrated to the Mall-tier apparel category in Thailand; figures will differ on other categories or markets.