> For the complete documentation index, see [llms.txt](https://docs.intentwise.com/iac-source-data/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.intentwise.com/iac-source-data/tiktok-source-data/tiktok-shop-reports/products-and-inventory.md).

# Products and inventory

## Products and inventory

Schema Name - tiktok\_source\_data

### Products

Table Name: `tiktok_shop_products`

| Column Name            | Data type | Description                                                            |
| ---------------------- | --------- | ---------------------------------------------------------------------- |
| `account_id`           | Integer   | Intentwise Account Identifier                                          |
| `account_name`         | String    | Intentwise Display Name for the account                                |
| `shop_id`              | String    | TikTok Shop identifier (distribution key)                              |
| `open_id`              | String    | TikTok user open ID                                                    |
| `product_id`           | String    | Unique product identifier                                              |
| `downloaded_date`      | Date      | Date the product data was downloaded                                   |
| `title`                | String    | Product listing title                                                  |
| `status`               | String    | Product status, such as `ACTIVATE`, `DEACTIVATE`, or `SELLER_DELETED`. |
| `is_not_for_sale`      | Boolean   | Whether the product is marked as not for sale                          |
| `has_draft`            | Boolean   | Whether the product has an unpublished draft                           |
| `listing_quality_tier` | String    | Current listing quality tier: `POOR`, `MODERATE`, `GOOD`, or `GREAT`.  |
| `audit_status`         | String    | Product audit or review status                                         |
| `create_time`          | DateTime  | Timestamp when the product was created                                 |
| `update_time`          | DateTime  | Timestamp when the product was last updated                            |
| `download_time`        | DateTime  | Timestamp when the record was ingested                                 |

### Product SKUs

Table Name: `tiktok_shop_product_skus`

| Column Name                       | Data type | Description                                     |
| --------------------------------- | --------- | ----------------------------------------------- |
| `account_id`                      | Integer   | Intentwise Account Identifier                   |
| `account_name`                    | String    | Intentwise Display Name for the account         |
| `shop_id`                         | String    | TikTok Shop identifier (distribution key)       |
| `open_id`                         | String    | TikTok user open ID                             |
| `product_id`                      | String    | Product identifier                              |
| `sku_id`                          | String    | Unique SKU identifier                           |
| `downloaded_date`                 | Date      | Date the data was downloaded                    |
| `seller_sku`                      | String    | Seller-defined SKU code                         |
| `price_currency`                  | String    | Currency code for pricing                       |
| `price_tax_exclusive_price`       | Numeric   | SKU price excluding taxes                       |
| `price_sale_price`                | Numeric   | Current sale price                              |
| `list_price_amount`               | Numeric   | Listed price before discount                    |
| `list_price_currency`             | String    | Currency code for the list price                |
| `pre_sale_type`                   | String    | Pre-sale type, when applicable                  |
| `pre_sale_handling_duration_days` | Integer   | Pre-sale handling duration in days              |
| `pre_sale_release_date`           | DateTime  | Pre-sale product release date                   |
| `status_info_status`              | String    | SKU status: `ACTIVATE` or `DEACTIVATE`.         |
| `status_info_deactivation_source` | String    | Deactivation source when the SKU is deactivated |
| `download_time`                   | DateTime  | Timestamp when the record was ingested          |

### Inventory

Table Name: `tiktok_shop_inventory`

| Column Name                | Data type | Description                                |
| -------------------------- | --------- | ------------------------------------------ |
| `account_id`               | Integer   | Intentwise Account Identifier              |
| `account_name`             | String    | Intentwise Display Name for the account    |
| `shop_id`                  | String    | TikTok Shop identifier (distribution key)  |
| `open_id`                  | String    | TikTok user open ID                        |
| `product_id`               | String    | Product identifier                         |
| `sku_id`                   | String    | SKU identifier                             |
| `downloaded_date`          | Date      | Date the inventory snapshot was downloaded |
| `seller_sku`               | String    | Seller-defined SKU code                    |
| `total_available_quantity` | Integer   | Available stock across all warehouses      |
| `total_committed_quantity` | Integer   | Quantity committed to pending orders       |
| `in_shop_quantity`         | Integer   | Quantity listed as available in the shop   |
| `download_time`            | DateTime  | Timestamp when the record was ingested     |

### Inventory by warehouse

Table Name: `tiktok_shop_inventory_warehouses`

| Column Name          | Data type | Description                               |
| -------------------- | --------- | ----------------------------------------- |
| `account_id`         | Integer   | Intentwise Account Identifier             |
| `account_name`       | String    | Intentwise Display Name for the account   |
| `shop_id`            | String    | TikTok Shop identifier (distribution key) |
| `open_id`            | String    | TikTok user open ID                       |
| `product_id`         | String    | Product identifier                        |
| `sku_id`             | String    | SKU identifier                            |
| `downloaded_date`    | Date      | Date the data was downloaded              |
| `warehouse_id`       | String    | Warehouse identifier                      |
| `available_quantity` | Integer   | Available quantity in this warehouse      |
| `committed_quantity` | Integer   | Committed quantity in this warehouse      |
| `download_time`      | DateTime  | Timestamp when the record was ingested    |

### Inventory campaigns

Table Name: `tiktok_shop_inventory_campaigns`

| Column Name       | Data type | Description                                    |
| ----------------- | --------- | ---------------------------------------------- |
| `account_id`      | Integer   | Intentwise Account Identifier                  |
| `account_name`    | String    | Intentwise Display Name for the account        |
| `shop_id`         | String    | TikTok Shop identifier (distribution key)      |
| `open_id`         | String    | TikTok user open ID                            |
| `product_id`      | String    | Product identifier                             |
| `sku_id`          | String    | SKU identifier                                 |
| `downloaded_date` | Date      | Date the data was downloaded                   |
| `campaign_name`   | String    | Promotion or campaign reserving this inventory |
| `quantity`        | Integer   | Quantity reserved for this campaign            |
| `download_time`   | DateTime  | Timestamp when the record was ingested         |

### Inventory creators

Table Name: `tiktok_shop_inventory_creators`

| Column Name       | Data type | Description                                   |
| ----------------- | --------- | --------------------------------------------- |
| `account_id`      | Integer   | Intentwise Account Identifier                 |
| `account_name`    | String    | Intentwise Display Name for the account       |
| `shop_id`         | String    | TikTok Shop identifier (distribution key)     |
| `open_id`         | String    | TikTok user open ID                           |
| `product_id`      | String    | Product identifier                            |
| `sku_id`          | String    | SKU identifier                                |
| `downloaded_date` | Date      | Date the data was downloaded                  |
| `creator_name`    | String    | Creator or affiliate holding sample inventory |
| `quantity`        | Integer   | Quantity allocated to this creator            |
| `download_time`   | DateTime  | Timestamp when the record was ingested        |

### Product SKU inventory

Table Name: `tiktok_shop_product_sku_inventory`

| Column Name          | Data type | Description                                |
| -------------------- | --------- | ------------------------------------------ |
| `id`                 | Integer   | Auto-increment surrogate key               |
| `account_id`         | Integer   | Intentwise Account Identifier              |
| `account_name`       | String    | Intentwise Display Name for the account    |
| `shop_id`            | String    | TikTok Shop identifier (distribution key)  |
| `open_id`            | String    | TikTok user open ID                        |
| `product_id`         | String    | Product identifier                         |
| `sku_id`             | String    | SKU identifier                             |
| `downloaded_date`    | Date      | Date the inventory snapshot was downloaded |
| `warehouse_id`       | String    | Warehouse identifier                       |
| `quantity`           | Integer   | Current stock quantity                     |
| `backorder_quantity` | Integer   | Quantity on backorder                      |
| `handling_time`      | Integer   | Handling time in days                      |
| `download_time`      | DateTime  | Timestamp when the record was ingested     |

### Product audit pre-approved reasons

Table Name: `tiktok_shop_product_audit_pre_approved_reasons`

| Column Name           | Data type | Description                                     |
| --------------------- | --------- | ----------------------------------------------- |
| `account_id`          | Integer   | Intentwise Account Identifier                   |
| `account_name`        | String    | Intentwise Display Name for the account         |
| `shop_id`             | String    | TikTok Shop identifier (distribution key)       |
| `open_id`             | String    | TikTok user open ID                             |
| `product_id`          | String    | Product identifier                              |
| `downloaded_date`     | Date      | Date the data was downloaded                    |
| `pre_approved_reason` | String    | Reason the product was pre-approved for listing |
| `download_time`       | DateTime  | Timestamp when the record was ingested          |

### Product diagnoses

Table Name: `tiktok_shop_product_diagnoses`

| Column Name                                 | Data type | Description                               |
| ------------------------------------------- | --------- | ----------------------------------------- |
| `account_id`                                | Integer   | Intentwise Account Identifier             |
| `account_name`                              | String    | Intentwise Display Name for the account   |
| `shop_id`                                   | String    | TikTok Shop identifier (distribution key) |
| `open_id`                                   | String    | TikTok user open ID                       |
| `product_id`                                | String    | Product identifier                        |
| `downloaded_date`                           | Date      | Date the diagnosis was downloaded         |
| `listing_quality_current_tier`              | String    | Current listing quality tier              |
| `listing_quality_remaining_recommendations` | Integer   | Remaining quality recommendations         |
| `download_time`                             | DateTime  | Timestamp when the record was ingested    |

### Product diagnosis results

Table Name: `tiktok_shop_product_diagnoses_diagnosis_results`

| Column Name                      | Data type | Description                               |
| -------------------------------- | --------- | ----------------------------------------- |
| `account_id`                     | Integer   | Intentwise Account Identifier             |
| `account_name`                   | String    | Intentwise Display Name for the account   |
| `shop_id`                        | String    | TikTok Shop identifier (distribution key) |
| `open_id`                        | String    | TikTok user open ID                       |
| `product_id`                     | String    | Product identifier                        |
| `downloaded_date`                | Date      | Date the data was downloaded              |
| `diagnoses_field`                | String    | Product field being diagnosed             |
| `diagnosis_results_code`         | String    | Code for the identified issue             |
| `diagnosis_results_how_to_solve` | String    | Recommended action                        |
| `diagnosis_results_quality_tier` | String    | Quality-tier impact                       |
| `download_time`                  | DateTime  | Timestamp when the record was ingested    |

### Product diagnosis images

Table Name: `tiktok_shop_product_diagnoses_images`

| Column Name       | Data type | Description                               |
| ----------------- | --------- | ----------------------------------------- |
| `account_id`      | Integer   | Intentwise Account Identifier             |
| `account_name`    | String    | Intentwise Display Name for the account   |
| `shop_id`         | String    | TikTok Shop identifier (distribution key) |
| `open_id`         | String    | TikTok user open ID                       |
| `product_id`      | String    | Product identifier                        |
| `downloaded_date` | Date      | Date the data was downloaded              |
| `diagnoses_field` | String    | Diagnosed field for this recommendation   |
| `height`          | Integer   | Recommended image height in pixels        |
| `width`           | Integer   | Recommended image width in pixels         |
| `uri`             | String    | Image URI                                 |
| `url`             | String    | Image URL                                 |
| `optimized_uri`   | String    | Optimized image URI                       |
| `optimized_url`   | String    | Optimized image URL                       |
| `download_time`   | DateTime  | Timestamp when the record was ingested    |

### Product diagnosis SEO words

Table Name: `tiktok_shop_product_diagnoses_seo_words`

| Column Name       | Data type | Description                               |
| ----------------- | --------- | ----------------------------------------- |
| `account_id`      | Integer   | Intentwise Account Identifier             |
| `account_name`    | String    | Intentwise Display Name for the account   |
| `shop_id`         | String    | TikTok Shop identifier (distribution key) |
| `open_id`         | String    | TikTok user open ID                       |
| `product_id`      | String    | Product identifier                        |
| `downloaded_date` | Date      | Date the data was downloaded              |
| `diagnoses_field` | String    | Diagnosed field for this keyword          |
| `seo_word_text`   | String    | Recommended SEO keyword                   |
| `download_time`   | DateTime  | Timestamp when the record was ingested    |

### Product diagnosis smart text

Table Name: `tiktok_shop_product_diagnoses_smart_texts`

| Column Name       | Data type | Description                               |
| ----------------- | --------- | ----------------------------------------- |
| `account_id`      | Integer   | Intentwise Account Identifier             |
| `account_name`    | String    | Intentwise Display Name for the account   |
| `shop_id`         | String    | TikTok Shop identifier (distribution key) |
| `open_id`         | String    | TikTok user open ID                       |
| `product_id`      | String    | Product identifier                        |
| `downloaded_date` | Date      | Date the data was downloaded              |
| `diagnoses_field` | String    | Diagnosed field for this suggestion       |
| `smart_text`      | String    | AI-generated listing improvement          |
| `download_time`   | DateTime  | Timestamp when the record was ingested    |

### Product families

Table Name: `tiktok_shop_product_families`

| Column Name       | Data type | Description                               |
| ----------------- | --------- | ----------------------------------------- |
| `account_id`      | Integer   | Intentwise Account Identifier             |
| `account_name`    | String    | Intentwise Display Name for the account   |
| `shop_id`         | String    | TikTok Shop identifier (distribution key) |
| `open_id`         | String    | TikTok user open ID                       |
| `product_id`      | String    | Product identifier                        |
| `downloaded_date` | Date      | Date the data was downloaded              |
| `family_id`       | String    | Product family identifier                 |
| `download_time`   | DateTime  | Timestamp when the record was ingested    |

### Product family products

Table Name: `tiktok_shop_product_family_products`

| Column Name         | Data type | Description                               |
| ------------------- | --------- | ----------------------------------------- |
| `account_id`        | Integer   | Intentwise Account Identifier             |
| `account_name`      | String    | Intentwise Display Name for the account   |
| `shop_id`           | String    | TikTok Shop identifier (distribution key) |
| `open_id`           | String    | TikTok user open ID                       |
| `product_id`        | String    | Product identifier                        |
| `downloaded_date`   | Date      | Date the data was downloaded              |
| `family_id`         | String    | Product family identifier                 |
| `family_product_id` | String    | Product identifier within the family      |
| `download_time`     | DateTime  | Timestamp when the record was ingested    |

### Integrated platform statuses

Table Name: `tiktok_shop_product_integrated_platform_statuses`

| Column Name       | Data type | Description                               |
| ----------------- | --------- | ----------------------------------------- |
| `account_id`      | Integer   | Intentwise Account Identifier             |
| `account_name`    | String    | Intentwise Display Name for the account   |
| `shop_id`         | String    | TikTok Shop identifier (distribution key) |
| `open_id`         | String    | TikTok user open ID                       |
| `product_id`      | String    | Product identifier                        |
| `downloaded_date` | Date      | Date the data was downloaded              |
| `platform`        | String    | Integrated platform name                  |
| `platform_status` | String    | Product sync status on the platform       |
| `download_time`   | DateTime  | Timestamp when the record was ingested    |

### Recommended product categories

Table Name: `tiktok_shop_product_recommended_categories`

| Column Name           | Data type | Description                               |
| --------------------- | --------- | ----------------------------------------- |
| `account_id`          | Integer   | Intentwise Account Identifier             |
| `account_name`        | String    | Intentwise Display Name for the account   |
| `shop_id`             | String    | TikTok Shop identifier (distribution key) |
| `open_id`             | String    | TikTok user open ID                       |
| `product_id`          | String    | Product identifier                        |
| `downloaded_date`     | Date      | Date the data was downloaded              |
| `category_id`         | String    | Recommended category identifier           |
| `category_local_name` | String    | Recommended local category name           |
| `download_time`       | DateTime  | Timestamp when the record was ingested    |

### Product sales regions

Table Name: `tiktok_shop_product_sales_regions`

| Column Name       | Data type | Description                               |
| ----------------- | --------- | ----------------------------------------- |
| `account_id`      | Integer   | Intentwise Account Identifier             |
| `account_name`    | String    | Intentwise Display Name for the account   |
| `shop_id`         | String    | TikTok Shop identifier (distribution key) |
| `open_id`         | String    | TikTok user open ID                       |
| `product_id`      | String    | Product identifier                        |
| `downloaded_date` | Date      | Date the data was downloaded              |
| `sales_region`    | String    | Region where the product is available     |
| `download_time`   | DateTime  | Timestamp when the record was ingested    |

### External SKU list prices

Table Name: `tiktok_shop_product_sku_external_list_prices`

| Column Name                    | Data type | Description                               |
| ------------------------------ | --------- | ----------------------------------------- |
| `account_id`                   | Integer   | Intentwise Account Identifier             |
| `account_name`                 | String    | Intentwise Display Name for the account   |
| `shop_id`                      | String    | TikTok Shop identifier (distribution key) |
| `open_id`                      | String    | TikTok user open ID                       |
| `product_id`                   | String    | Product identifier                        |
| `sku_id`                       | String    | SKU identifier                            |
| `downloaded_date`              | Date      | Date the data was downloaded              |
| `external_list_price_source`   | String    | Source platform for the list price        |
| `external_list_price_amount`   | Numeric   | External list price                       |
| `external_list_price_currency` | String    | Currency code for the list price          |
| `download_time`                | DateTime  | Timestamp when the record was ingested    |

### SKU fees

Table Name: `tiktok_shop_product_sku_fees`

| Column Name                | Data type | Description                               |
| -------------------------- | --------- | ----------------------------------------- |
| `account_id`               | Integer   | Intentwise Account Identifier             |
| `account_name`             | String    | Intentwise Display Name for the account   |
| `shop_id`                  | String    | TikTok Shop identifier (distribution key) |
| `open_id`                  | String    | TikTok user open ID                       |
| `product_id`               | String    | Product identifier                        |
| `sku_id`                   | String    | SKU identifier                            |
| `downloaded_date`          | Date      | Date the data was downloaded              |
| `fee_type`                 | String    | Fee type                                  |
| `fee_amount`               | Numeric   | Fee amount                                |
| `fee_additional_attribute` | String    | Additional fee attributes                 |
| `download_time`            | DateTime  | Timestamp when the record was ingested    |

### Product sync failures

Table Name: `tiktok_shop_product_sync_fail_reasons`

| Column Name        | Data type | Description                               |
| ------------------ | --------- | ----------------------------------------- |
| `account_id`       | Integer   | Intentwise Account Identifier             |
| `account_name`     | String    | Intentwise Display Name for the account   |
| `shop_id`          | String    | TikTok Shop identifier (distribution key) |
| `open_id`          | String    | TikTok user open ID                       |
| `product_id`       | String    | Product identifier                        |
| `downloaded_date`  | Date      | Date the data was downloaded              |
| `sync_fail_reason` | String    | Reason the product sync failed            |
| `download_time`    | DateTime  | Timestamp when the record was ingested    |
