How to Build and Maintain a TikTok Shop Logbook
TikTok Shop has become a legitimate sales channel for thousands of sellers, but the platform's native analytics are fragmented. Orders, refunds, ads, and commission reports live in different tabs with different date ranges. Without a centralized record, you're basically guessing at your margins. A TikTok Shop Logbook is simply a structured spreadsheet or database where you manually or semi-automatically record every transaction tied to your shop. It's not an official TikTok feature. You build it yourself. That's both the point and the problem.
TikTok Shop Logbook: What It Actually Is
At its core, a logbook is a single source of truth. You pull data from TikTok Shop's merchant dashboard, export it, and merge it with your own records. The columns typically look like this: order ID, product SKU, quantity, unit price, TikTok commission, payment processing fee, shipping cost, refund status, date, and net profit per order. That's the baseline. What most people miss is that the logbook needs to track timing differences. TikTok pays out on a delay. An order placed on March 1st might not show revenue until March 8th. If you only log by payout date, your monthly P&L looks completely wrong. Log by order date. Log by payout date separately. Two columns. This matters more than you think.
The Practical Build
I built mine in Google Sheets because it plays nice with CSV exports and has enough formula power without forcing me into Python. The first thing you do is set up tabs for raw exports. TikTok lets you download order reports, return reports, and settlement reports. Each one is a separate CSV. Import them into their own sheet tab and never alter the raw data. Use a second tab for your cleaned, matched, and calculated version. The critical workflow is matching orders to payouts. TikTok's order report has an order ID. The settlement report also has that same order ID, but it appears under the payout row, not the order row. You write a VLOOKUP or XLOOKUP that pulls the order details into the settlement tab. When the match fails, you flag it. Unmatched rows are either pending payouts or orders TikTok hasn't settled yet. Check back weekly. Commission rates on TikTok Shop vary by category. Electronics, beauty, and fashion all have different percentages. Add a reference table with category-to-commission mappings and pull the rate with a nested lookup. Otherwise you're calculating commissions by hand and that's how errors creep in.
Get the Full Details

The Problem I Hit
Here's a specific edge case: TikTok occasionally changes the order status after the initial sale. An order shows as "shipped" in your logbook, the revenue gets recorded, and two weeks later it flips to "returned." Your P&L for that month was inflated. I caught this when my cash flow didn't match my reported revenue by about fourteen percent on a given month-end close. The workaround was adding a status change column. Every time the order status shifts in the export, I log the new status and the date. Then I built a pivot that isolates orders where status changed from completed to returned after the fact. Any order with a post-completion return gets reversed in a separate adjustment column so your running totals stay accurate. It added about twenty minutes of work per week but eliminated the monthly reconciliation nightmare.
Common Pitfalls
Most sellers stop at the surface level. They track revenue but not the full fee stack. TikTok takes commission, there's a payment processing cut, and then there's the return rate that quietly eats margins. A logbook that only tracks gross sales is almost worse than no logbook because it creates false confidence. Another mistake is not normalizing product names. TikTok's export sometimes truncates titles or includes variant information in inconsistent formats. One row says "Blue Dress Small," another says "Dress-Blue-S." Create a product master table with a consistent naming convention and map every order to it. This alone makes year-over-year comparison possible instead of just day-to-day. There's also a real limitation to keep in mind: TikTok doesn't provide a public API for merchant data as of my last check. That means your logbook relies on manual CSV exports or a third-party connector that scrapes the dashboard. Manual exports are reliable but time-consuming. Third-party tools introduce a dependency on someone else's infrastructure. If TikTok updates their dashboard layout, those connectors break until the vendor patches them. Factor that risk in if you go the automation route.
Advanced Nuance Most People Skip
The settlement report in TikTok Shop doesn't always align one-to-one with individual orders. Sometimes multiple orders are batched into a single settlement entry. Your XLOOKUP will fail on those rows because there's no unique order ID in the settlement file. The fix is to identify these batched settlements by cross-referencing the total amount and date, then split them manually or write a script that matches the sum of multiple order IDs to the settlement total. It's tedious the first time but becomes routine. Also worth noting: TikTok Shop's refund process can split a refund across multiple transactions. A partial refund and a full return shipping deduction might appear as separate line items. If your logbook assumes one refund equals one return, you'll double-count or miss deductions. Match refunds by order ID and aggregate them, don't treat each line as a distinct event. The bottom line is that a TikTok Shop Logbook is not a fancy tool. It's a discipline. The value comes from consistency, not complexity. A well-maintained spreadsheet beats a half-configured automation tool every time because you can see exactly where each number came from and question it when it looks wrong. Start simple. Add columns only when you actually need them. Track the timing gap between order and payout. Handle the status-change reversals. Everything else is detail work.
