TikTok Shop profit · Five months, example figures

Revenue only goes up.
Margin moves both ways.

Example figures. March gave back 13.6 cents on every dollar it took; July kept 14. Revenue rose in both months and can't tell them apart — this reads the sign either way.

Connect your TikTok Shop and it syncs itself, or import a report by hand in under five minutes. Cancel anytime.

Example shop · Mar–Jul 2026 Net margin · accrual
Mar $8,240.00620 units −13.6%
Apr $11,480.00890 units +7.3%
May $6,910.00520 units −4.6%
Jun $18,300.001,430 units +11.7%
Jul $21,450.00largest month1,680 units +14.0%
Example figures, for illustration. Revenue $66,380.00 · net +$4,550.80 across the five months.
Net margin
+6.9%
Net margin for five consecutive months, read against a scale from minus 20 percent to plus 20 percent, with break-even at zero. March 2026: revenue $8,240.00 on 620 units, margin minus 13.6 percent. April: revenue $11,480.00 on 890 units, margin plus 7.3 percent. May: revenue $6,910.00 on 520 units, margin minus 4.6 percent. June: revenue $18,300.00 on 1,430 units, margin plus 11.7 percent. July: revenue $21,450.00 on 1,680 units, the largest revenue month, margin plus 14.0 percent. Three of the five cleared break-even. Five-month total: revenue $66,380.00 on 5,140 units, net profit $4,550.80, net margin plus 6.9 percent.

Built for the way TikTok Shop actually reports


The gap

Revenue is easy. Profit is where sellers get it wrong.

Three costs quietly move real margin, and none of them appear on a TikTok Shop dashboard.

Example shop · Mar–Jul 2026 Accrual
66,380.00 Revenue -18,900.00 Discounts -16,400.00 Fulfilment -14,200.00 COGS -7,650.00 Fees -3,100.00 Warehouse -1,579.20 Refunds +4,550.80 Net
Example figures, for illustration. Every deduction traced to the report row and the batch it came from.
Net margin
+6.9%
01

Freight lands after the sale

A forwarder invoice arrives weeks later and belongs to units you already sold. Spread it wrong and every SKU's margin is wrong with it.

retro-costed
02

Batches don't cost the same

The same SKU bought in March and July are not the same unit economically. A blended average hides which batch is actually losing money.

per-lot FIFO
03

The fees are scattered

Commission, ads, 3PL handling, returns and storage sit across five different exports. Nobody reconciles them by hand every week.

5 exports

How it works

Three steps, then it runs itself.

No API keys, no engineering, no rebuilding your spreadsheet every month.

Import what you already download

Orders, settlements, ad spend, returns and payouts. The mapping wizard learns your column names once and remembers them for every import after.

5 report types

Enter your purchase orders

Or import an Alibaba orders export straight in. Freight, customs, duty and prep allocate across the lines by units, value, or a split you choose.

Alibaba export supported

Read your real margin

Every sale is costed against the batch it actually drew from, and the dashboards update themselves. Per SKU, per batch, per shop.

FIFO · oldest lot first

What you get

Costing that survives contact with reality

Import the reports you already download. CogsIQ does the allocation, the matching and the reconciliation.

True landed cost per unit

One freight invoice, split across the lines it actually paid for — by unit count, by line value, or a manual split. The allocation always sums back to the invoice total, to the cent. Worked through:

FIFO batch costing

Each received PO line is its own lot at its own cost, and sales draw from the oldest first. One SKU, four lots, four different unit costs — the oldest gone, the newest untouched:

One pipeline, two lenses

Orders, settlements, ad spend, returns and payouts import through a mapping wizard that learns your columns once. Corrections are linked records, never silent overwrites — so the audit trail survives. Read the result on an accrual basis or a cash one, with a payout forecast for what has not landed yet.

Alerts, both directions

A weekly digest of what actually moved — the SKU quietly giving margin back, and the one earning more than it did. Two of them:

Connect TikTok once and stop exporting

CogsIQ is a registered TikTok Shop partner app. Authorise your shop and orders, settlements, returns, payouts and ad spend arrive on their own every few hours, costed against the right batch as they land. Nothing to download, nothing to map. Exports still work if you would rather keep it manual:

Built for agencies, not just single sellers

Run many shops under one workspace with per-shop management fees, scoped roles, and a cost-visibility toggle that lets a client see their numbers without seeing your margin. Tenant isolation is enforced in the database, not just the interface.

Under the hood

Every row accounted for.

The same example shop as the chart above, over the same five months — every row costed, matched and reconciled the way your own would be.

4,905
orders matched to a cost
99.99%
Rows matched to a product
5,140
Units
12
Batches
8
SKUs
0 DAYS DRIFT FIFO

Pricing

Pay for the shops you run. Nothing else.

No cut of your revenue, no per-order fee, no charge per seat. One price per active shop.

Every feature, every shop

$29 per shop / month
  • 75 purchase orders per shop each month
  • 100 attachments per shop — invoices, receipts, packing slips
  • All five report imports, FIFO batch costing, CSV & P&L export
  • Margin alerts, payout forecast, 3PL and agency fee handling
  • Up to 100 team members with scoped roles and cost visibility

Allowances warn — they never block. This is an accounting product: a cap that stops you recording a purchase order corrupts the very numbers you pay for. Only adding a shop is a hard limit, because that is the thing being billed.

Billing period
Active shopsOne TikTok Shop per subscription 1
1 shop × $29$29.00
$29.00 billed monthly
≈ $29.00 per shop / month
Start free — no card

Trial first: 1 shop, 5 purchase orders, no card. Upgrade when you are ready.

+$50 / shop / month

Affiliate auto-campaigns

Saved creator filters, a weekly selected batch, and invites that only send once you approve them.

+$10 / shop / month

Purchase-order pack

Another 150 purchase orders a month, for shops importing a heavy supplier book.

+$5 / shop / month

Attachment pack

Another 250 stored files — invoices, receipts and packing slips against your orders.


Questions

The things sellers ask first.

Do I need to connect my TikTok account?

No. Everything works from the report exports you already download from Seller Center. A direct TikTok integration exists and will sync for you automatically, but it is entirely optional — plenty of sellers never turn it on.

Which costing method does it use?

FIFO for the cost of goods on a sale: each received purchase-order line is its own lot, and sales draw from the oldest lot first. Weighted average is shown separately as the inventory-valuation figure. Worth being straight with you — TikTok never reports which physical batch shipped an order, so oldest-first is an explicit assumption rather than a measurement.

What happens when a freight invoice arrives weeks after the sale?

Add it to the purchase order it belongs to. Landed cost recalculates, and every unit already sold out of that batch is re-costed, so past margins correct themselves instead of staying quietly wrong.

Can a client see their numbers without seeing my margin?

Yes. Cost visibility is a per-invite toggle — summary-only or full breakdown — and it is enforced on the server for every request and every export, not just hidden in the interface.

Is my data isolated from other sellers?

Every tenant-scoped table is protected by Postgres row-level security, enforced at the database layer rather than by application filters. A bug in a query cannot return another workspace's rows.

I sell the same product under several listings. Does that break it?

No. Map the extra TikTok product IDs and seller SKUs onto one internal product, and sales across all of them roll up to a single SKU sharing one cost basis and one inventory pool.

Can I cancel and take my data with me?

Any time, and yes. Owners can export a complete JSON bundle of their workspace whenever they want, and full deletion is available on request.

Find out what last month actually made you.

Import one settlement report and one purchase order. You'll see the gap between revenue and profit immediately.