Skip to main content
← Commerce insights

D2 Commerce Knowledge · TikTok Shop P&L Data

A TikTok Shop P&L needs the right evidence — not every export in Seller Center.

Start with Orders, Settlement or Income, Ads spend and a controlled SKU cost master. Connect them with stable identifiers and explicit period rules, preserve the raw evidence, and keep every unmapped or unresolved row visible before automating the final dashboard.

Direct answer

Which TikTok Shop files do you actually need for P&L?

For an initial shop-level P&L, use four evidence groups: Orders for commercial activity, Settlement or Income for realized platform deductions and payout, Ads for paid acquisition cost, and a SKU cost master for COGS. Add pending settlement and other material variable-cost sources when the reporting objective requires them. The report is decision-ready only when its identifiers, period basis and unresolved exceptions are explicit.

Minimum evidence set

Orders + Settlement/Income + Ads + SKU cost master.

01

Orders

What sold in the sales period?

Order ID · SKU · quantity · status · created date · commercial value

GMV, valid revenue, SKU mix, cancellation/refund logic and order-period performance

02

Settlement / Income

What did the platform deduct, hold or pay?

Settlement reference · fees · commission · refunds · adjustments · payable/paid amount

Realized deductions, payout timing, pending cash and order-to-settlement reconciliation

03

Ads

What did paid acquisition cost?

Spend · campaign/product scope · account · reporting dates

Ads ratio, contribution after Ads and scale/hold decisions

04

SKU cost master

What did each product sold cost in that period?

Stable SKU key · unit cost · effective date · bundle rule · cost source

Order-level COGS, SKU contribution and reproducible historical profitability

Minimum model

Minimum evidence set = Orders + Settlement/Income + Ads + SKU cost master

This is the minimum evidence architecture for an initial operating P&L. It is not a claim that every business has the same cost structure or that every TikTok Shop export has the same file name over time.

Evidence pipeline

Raw files first. Dashboard last.

01

Preserve raw evidence

Store the original Orders, Settlement/Income and Ads exports plus the controlled cost source before transformation.

02

Normalize fields

Standardize identifiers, currencies, timestamps, time zones, SKU keys and commercial states without deleting the source meaning.

03

Declare period rules

Define which timestamp answers the sales question, which timestamp answers the settlement question and how Ads dates align to the commercial period.

04

Map product cost

Resolve sold SKU or bundle quantity to the valid cost record for the transaction period.

05

Reconcile financial evidence

Connect Orders to settled, pending, refunded or adjusted financial records through stable identifiers.

06

Calculate contribution

Combine valid revenue, recorded deductions, Ads, COGS and other supported variable costs in one declared operating model.

07

Surface exceptions

Keep unmapped SKUs, missing cost, unmatched settlement, duplicate joins and scope mismatches visible with an owner.

08

Publish decision views

Only after evidence is controlled should the model roll up to SKU, campaign, channel, shop or management dashboard.

Join controls

The files only become one model when the keys and semantics are controlled.

Order identity

Use the stable platform order identifier as the primary commercial key. Avoid buyer name, product title or row position as reconciliation keys.

Order ID → order event → settlement relationship

SKU identity

Normalize marketplace SKU or variation identifiers to the controlled internal cost key. Product names can change while the economics still need historical continuity.

Marketplace SKU → canonical SKU → cost record

Period and time zone

Keep created, settlement, paid and Ads dates as separate business fields. Normalize time zones for comparison without replacing the meaning of each timestamp.

Sales period ≠ settlement period

Amount semantics

Label whether a field is GMV, valid revenue, deduction, Ads spend, payable amount, paid cash or cost before comparing totals or building ratios.

One amount → one declared business meaning

Optional evidence

Add files because the reporting question requires them — not because they exist.

On-hold / unsettled settlement

Add when cash reconciliation matters

Separates valid commerce activity from amounts not yet financially realized.

Packaging / per-order fulfillment

Add when materially variable

Keeps transaction-linked operating cost visible without hiding it inside product COGS.

Creator / Affiliate off-platform costs

Add when not fully represented in platform settlement

Extends the contribution view when commissions, sample or paid creator costs belong to the decision scope.

Promotion / seller-funded offer evidence

Add when promotion cost is not already captured cleanly

Explains how vouchers, discounts or seller-funded mechanics change SKU contribution.

Refund / adjustment detail

Add when aggregate settlement does not explain the financial event

Improves traceability for later reversals and cross-period adjustments.

Exception register

A missing mapping is a data state — not a zero.

Unmapped SKU

Order exists but no controlled product-cost key is available.

Restore the canonical SKU or bundle mapping before treating contribution as complete.

Missing effective cost

SKU exists but no valid cost record covers the transaction date.

Add or correct the historical cost period instead of using today's cost retroactively.

Unmatched settlement

Financial evidence exists without a reliable order or business-event bridge.

Investigate identifiers, adjustment type and timing; do not assign it arbitrarily.

Ads scope mismatch

Spend covers a different account, product set, time zone or period from the revenue being evaluated.

Rebase the Ads extract or the analysis scope before calculating efficiency.

Duplicate join

One source row may be counted multiple times after transformation.

Fix uniqueness and join rules before any aggregate P&L is trusted.

Unknown deduction

A financial amount exists but its business meaning is unresolved.

Preserve the original platform label and keep the classification open until evidence supports it.

Decision rules

Data completeness should determine how precise the decision is allowed to be.

Orders are complete; Settlement is partially pending

Publish the sales-period view and keep pending cash separate rather than deleting valid sales from the P&L.

Settlement totals do not match Orders for the same calendar month

Check whether the comparison is mixing created date with settlement or paid date before calling it an error.

Ads export is missing product detail

Use the lowest reliable campaign or account scope supported by the source; do not invent SKU attribution that the file cannot prove.

Several SKUs have missing cost

Mark affected contribution incomplete and prioritize cost-master recovery before SKU-level scale decisions.

A new dashboard hides raw-file exceptions

Treat that as a reporting-control problem. Decision views should expose completeness and reconciliation status, not only totals.

The reporting process is ready for automation

Automate only after source contracts, identifiers, period rules and exception handling are stable enough to reproduce manually.

P&L evidence checklist

Before automating the report, make the evidence reproducible.

Preserve the raw Orders export for every reporting period.

Preserve settled and on-hold Settlement/Income evidence when cash reconciliation is in scope.

Capture Ads spend from a source whose account, product and period scope is explicitly known.

Maintain SKU and bundle COGS in a controlled cost master with effective dates.

Use stable order and SKU identifiers instead of titles, names or spreadsheet row numbers.

Declare the sales-period time basis separately from settlement and paid-cash timestamps.

Normalize time zones before comparing Ads, Orders and Settlement periods.

Keep GMV, valid revenue, payout, deductions and cost fields semantically distinct.

Document every mapping and transformation rule used to build the reporting layer.

Keep unmapped SKUs, missing costs, unmatched settlements and duplicate joins in an exception register.

Add packaging, creator or other variable-cost sources only when they are material to the chosen contribution scope.

Automate the P&L only after the manual evidence model can be traced and reconciled reliably.

TikTok Shop reporting

Need Orders, Settlement, Ads and COGS to become one controlled reporting layer?

D2 can structure source mapping, reconciliation, exception handling and recurring reporting after the evidence model is stable enough to automate safely.

Discuss commerce reporting

FAQ

TikTok Shop P&L data questions

What files are required for an initial TikTok Shop P&L?

Start with four evidence groups: Orders, Settlement or Income, Ads spend and a controlled SKU cost master. Add on-hold settlement and other variable-cost sources when the reporting objective requires cash reconciliation or a more complete contribution view.

Why are Orders and Settlement both required?

Orders explain what sold in the commercial period, including SKU, quantity, status and sales-period timing. Settlement or Income explains realized payout and recorded deductions. They should reconcile through stable identifiers, but they answer different questions and should not be collapsed into one date basis.

Which Ads file should be used for TikTok Shop P&L?

Use the GMV Max or campaign-level Ads source that provides the spend required for the reporting scope. The exact export name can change, so the control is the business meaning: spend must cover the same period, account and product or campaign scope as the revenue used for profitability analysis.

Can COGS be stored directly inside the P&L spreadsheet?

A controlled SKU cost master is safer than hard-coding product cost into report formulas. Store stable SKU keys, unit cost, effective dates and bundle rules outside the presentation layer so historical transactions can be reproduced when costs change.

What should happen when a SKU, settlement line or cost record cannot be mapped?

Keep the item in an exception register with the original reference, error type, amount or SKU, investigation state and owner. Do not silently drop the row, treat missing cost as zero or use a convenient average merely to make the report complete.

Should raw TikTok Shop exports be deleted after the dashboard is built?

No. Preserve the raw evidence used for each reporting period. A normalized model or dashboard is easier to audit when every calculated field can be traced back to the original platform export and the transformation rule that produced it.