Skip to content

Recording products and inventory, and seeing where each figure came from

Keeping product records in Social Studio from a CSV export or by counting stock yourself, and reading which source won each field when two of them disagree.

Updated

Products and inventory is where a product record lives in Social Studio, with a stock level, a price and a name that each carry the source they came from. Two products can be recorded from two different sources, and one product can have a price from a spreadsheet and a stock count from the shelf. The page shows which source won each field and the reason it won.

There are seven places inventory could come from. Two of them work here: a CSV file you exported from your own system, and counting by hand. The other five are listed on the page with the exact thing that is missing for each, so you can see whether it is something you can act on or something nobody in Social Studio can.

Nothing you record here is sent anywhere. A price you type changes a row in Social Studio and changes nothing on any marketplace, in any till or in any warehouse system.

BEFORE YOU START

  • Membership of the organisation you are opening. Anyone who is not an active member is sent back to /app rather than shown the page.
  • The "edit" permission to add a product, import a file, record a count or pin a source. Reading the page needs workspace access only.
  • A workspace you can reach. Product records are saved into a workspace, and the page lists only the workspaces your access reaches.
  • For an import, a CSV your own system produced, and a sentence describing where it came from. That sentence is stored with every figure the file produces, and nothing in Social Studio can check it for you.

STEPS

  1. Open Products and inventory from the navigation, or go to /app/commerce for your organisation.
  2. Read "Where inventory can come from". All seven sources are listed, each with what it can do in this deployment.
  3. Choose a workspace. Everything below it belongs to that workspace only.
  4. Add a product record by its SKU. The SKU is the identity everything else attaches to, and it is the one field two sources are never allowed to disagree about.
  5. To import, paste your CSV, describe where the file came from, and choose "Import". A sku column is required. Any of name, price_minor, currency, stock_on_hand and availability is read when present; every other column is ignored, so a forty-column export works unedited.
  6. To record a count, name the SKU and fill in only what you actually counted. Leave a box empty and nothing is recorded for it.
  7. Choose "Where did this come from?" on any product to see each field, the source that won it, and the sentence explaining why.
  8. If the wrong source won a field, choose "Use this source for this field" on the one you trust. That pin stays until you release it.

WHAT YOU SHOULD SEE

Each product listed with its stock figure and a chip saying which of four kinds that figure is: official imported data, manual data, a Social Studio calculation, or an estimate. Under every figure, the sentence it was recorded with — for an import that is the description you gave the file, for a count it is who typed it.

Where two sources disagree about a field you see "Sources disagree", both values, and which one is the source of truth. Where nobody has stated a field you see that it is not known. You will not see a zero standing in for it.

WHAT THIS WILL NOT DO

  • It will not read your Shopify, WooCommerce or ERP catalogue. There is no adapter for any of them in this build, so no credential, plan or setting makes it work. Exporting a CSV from any of them and importing it here does work, and is labelled as an import rather than a connection.
  • It will not read easyKiosk inventory. easyKiosk publishes no product read API for Social Studio to call.
  • It will not read TikTok Shop inventory. That is held twice over: the adapter is pending marketplace review, and it declares no inventory scope, so an approval on its own would still leave nothing to call.
  • It will not report viewers, orders, sales, fees or refunds. Those come from a live marketplace connection this deployment does not hold. Every one of them is listed on the metrics table with what is missing, rather than left out or shown as zero.
  • It will not treat anything here as an accounting record. Your provider's own settlement statements remain the financial authority, and a figure here may disagree with them.
  • It will not fill a gap in. An empty CSV cell records nothing, and a stock box you leave blank records nothing. Neither becomes zero.

WORTH KNOWING

The dates that decide a contest are when the SOURCE knew a value, not when Social Studio was told. An export generated on Monday and uploaded on Friday is Monday's answer, and a count you took this morning beats it. That is why an import asks when the file was generated.

A source cannot go backwards. Re-uploading last week's export after this week's has already been loaded is refused for the fields it would have moved back, and the refusal names both dates. The rest of the file still imports.

IF IT DOES NOT WORK

  • "That file has no sku column" means the export does not identify its rows the way a product record needs. Add a sku column, or export a different report.
  • A row listed under "line 14" with a reason means that row was not imported and the rest of the file was. Fix those rows and import them again; a cell like "n/a" or "1,299" is rejected rather than guessed at, because a guessed figure would be labelled as imported data.
  • "already has a newer ... observed ..." means what you sent is older than what is already recorded from that same source. Nothing was changed.
  • "No product record here has the SKU ..." means the SKU is not recorded yet. Add the product first — nothing is created for you from a count.
  • "edit permission required" means your role cannot write product records. Reading them needs workspace access only.
  • Being redirected to /app means you are not an active member of the organisation in the address.

COMMON QUESTIONS

Why does a field say "unknown" instead of 0?

Because they are different facts and you would act on them differently. "Nobody has told us how much stock there is" is a recording problem; "there are none left" is a reason to stop advertising it. A zero standing in for the first would hide it for ever.

Which source wins when two disagree?

Whichever observed the value most recently, unless you have pinned one. Stale stock and stale prices are the things most likely to be wrong, so freshness decides. If two sources are exactly as fresh as each other, the one closer to the system that moves the stock wins, and the page names both.

Is a CSV import official?

It is imported data, and it is labelled that way, along with the sentence you gave describing where the file came from. That is a statement of provenance, not a verification: nothing in Social Studio checked the file against anything, and none of it is an accounting or tax record.

  • Live Commerce, and what it can do today

    Planning and recording live selling shows in Social Studio, and the plain reason no show can be started at a marketplace from here.

  • Planning a TikTok Shop LIVE session

    Recording a TikTok Shop LIVE selling session alongside the posts that promote it, and exactly which TikTok approvals stand between the adapter and a working connection.