# SKUs

### What is a SKU?

A SKU (Stock Keeping Unit) represents a specific, purchasable configuration of a product—such as a black pair of shoes in size 7. Shoppers cannot purchase an Offer directly; they must select a SKU, which is a distinct combination of variant options that represent an actual item.

### **Offers and SKUs**

Offers serve as the top-level category or wrapper in Violet's system. One Offer can contain multiple SKUs—sometimes just one, but in other cases, as many as 100 or more. This variability directly impacts the sizing and processing demands on our respective systems.

For example, an Offer may represent a t-shirt with variant options for COLOR and SIZE. The combination of the RED color variant option and the MEDIUM size variant option creates an individual SKU. Each distinct combination constitutes its own unique SKU.

### SKU Data

Each SKU has its own unique ID. SKU data includes specific details about a product, such as

* Quantity available (inventory)
* Pricing information
* Other product-specific attributes

While a SKU may carry a specific inventory quantity, that quantity is simply a data value within the SKU entity and is not included in the SKU count calculation.

You can access individual SKU data within the Offer Object, or retrieve data for a specific SKU by using its ID.

### Product Types

Both Offers and SKUs have a `type` property that indicates the nature of the product. The possible values are:

| Type       | Description                                                            |
| ---------- | ---------------------------------------------------------------------- |
| `PHYSICAL` | Traditional physical goods that require shipping and fulfillment       |
| `DIGITAL`  | Digital or downloadable products (e.g., e-books, software, gift cards) |
| `VIRTUAL`  | Virtual services or experiences that don't require physical delivery   |
| `BUNDLED`  | Bundle products that combine multiple items                            |

### Digital Product Delivery

When a shopper purchases a digital product (`type: "DIGITAL"`), the fulfillment process differs from physical goods:

* **No shipping method required**: Digital products do not require a shipping method. When all SKUs in a bag are digital, you should skip the shipping method selection during checkout.
* **Email delivery**: Digital products such as downloadable files, e-books, software licenses, and gift cards are delivered to the shopper via email. The merchant's e-commerce platform handles this delivery automatically after the order is completed. The email is sent to the customer email address associated with the order.
* **Instant fulfillment**: Unlike physical products that require shipping time, digital products are typically fulfilled immediately upon successful order completion.

{% hint style="info" %}
The delivery email content and format are controlled by the merchant's e-commerce platform settings. Violet does not modify or control the digital product delivery emails sent by merchants.
{% endhint %}

### **Keeping SKUs Updated**

It is essential to keep every SKU up to date. When a SKU is updated in the merchant's platform, a webhook typically notifies Violet's system so we can update the SKU accordingly. Violet doesn't create a new SKU for every update; instead, Violet stores a new version to ensure that inventory, pricing, and related details remain accurate for shoppers.

Here is an example of a SKU as part of the Offer object:

<details>

<summary>SKU as part of Offer</summary>

```json
{
    "id": 39045,
    "product_id": "8d8c749c469b45e795f458360e2fc4be",
    "external_id": "8335172993325",
    "external_url": "https://the-violet-garden.myshopify.com/products/rouge-fire-flower-t-shirt",
    "name": "Shirt",
    "description": "Pastel-red flower design, short-sleeved t-shirt. Designed to keep you cool when you need to be cool and hot when you need to be hot. This shirt looks great on a sunny day under a blue sky.",
    "source": "SHOPIFY",
    "seller": "the violet garden",
    "vendor": "The Violet Garden",
    "merchant_id": 10189,
    "available": true,
    "visible": true,
    "min_price": 3000,
    "max_price": 3000,
    "currency": "USD",
    "source_category_name": "",
    "meta": [],
    "variants": [ ... ],
    "skus": [
        {
            "id": 196701,
            "offer_id": 39045,
            "merchant_id": 10189,
            "external_id": "45101095092525",
            "name": "Shirt - Large / Design Three / Red",
            "gtin": "",
            "upc": "",
            "in_stock": true,
            "qty_available": 100,
            "inventory_tracked": true,
            "sale_price": 3000,
            "retail_price": 3000,
            "currency": "USD",
            "taxable": true,
            "tax_type": "DEFAULT",
            "albums": [],
            "variant_values": [
                {
                    "variant": "Style",
                    "value": "Design Three"
                },
                {
                    "variant": "Size",
                    "value": "Large"
                },
                {
                    "variant": "Color",
                    "value": "Red"
                }
            ],
            "type": "PHYSICAL",
            "status": "AVAILABLE",
            "date_created": "2023-05-01T20:08:25+0000",
            "date_last_modified": "2023-06-29T23:58:33+0000",
            "sku_dimensions": {
                "weight": 0.0,
                "type": "SKU"
            }
        },
        {
            "id": 196697,
            "offer_id": 39045,
            "merchant_id": 10189,
            "external_id": "45101095059757",
            "name": "Shirt - Large / Design Two / Red",
            "gtin": "",
            "upc": "",
            "in_stock": true,
            "qty_available": 100,
            "inventory_tracked": true,
            "sale_price": 3000,
            "retail_price": 3000,
            "currency": "USD",
            "taxable": true,
            "tax_type": "DEFAULT",
            "albums": [],
            "variant_values": [
                {
                    "variant": "Size",
                    "value": "Large"
                },
                {
                    "variant": "Color",
                    "value": "Red"
                },
                {
                    "variant": "Style",
                    "value": "Design Two"
                }
            ],
            "type": "PHYSICAL",
            "status": "AVAILABLE",
            "date_created": "2023-05-01T20:08:25+0000",
            "date_last_modified": "2023-06-29T23:58:33+0000",
            "sku_dimensions": {
                "weight": 0.0,
                "type": "SKU"
            }
        },
        {
            "id": 196705,
            "offer_id": 39045,
            "merchant_id": 10189,
            "external_id": "45101094797613",
            "name": "Shirt - Small / Design Two / Red",
            "gtin": "",
            "upc": "",
            "in_stock": true,
            "qty_available": 99,
            "inventory_tracked": true,
            "sale_price": 3000,
            "retail_price": 3000,
            "currency": "USD",
            "taxable": true,
            "tax_type": "DEFAULT",
            "albums": [
                {
                    "id": 90993,
                    "parent_id": 196705,
                    "type": "SKU",
                    "name": "Rouge Fire Flower T-Shirt - Small / Design Two Media",
                    "media": [
                        {
                            "id": 185704,
                            "album_id": 90993,
                            "external_id": "41483613471021",
                            "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_b6d58e24-200e-42b9-86c4-8feeaf4bc8e6.png",
                            "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_b6d58e24-200e-42b9-86c4-8feeaf4bc8e6.png",
                            "type": "IMAGE",
                            "display_order": 1,
                            "primary": true
                        }
                    ],
                    "primary_media": {
                        "id": 185704,
                        "album_id": 90993,
                        "external_id": "41483613471021",
                        "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_b6d58e24-200e-42b9-86c4-8feeaf4bc8e6.png",
                        "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_b6d58e24-200e-42b9-86c4-8feeaf4bc8e6.png",
                        "type": "IMAGE",
                        "display_order": 1,
                        "primary": true
                    }
                }
            ],
            "variant_values": [
                {
                    "variant": "Size",
                    "value": "Small"
                },
                {
                    "variant": "Color",
                    "value": "Red"
                },
                {
                    "variant": "Style",
                    "value": "Design Two"
                }
            ],
            "type": "PHYSICAL",
            "status": "AVAILABLE",
            "date_created": "2023-05-01T20:08:25+0000",
            "date_last_modified": "2023-06-29T23:58:33+0000",
            "sku_dimensions": {
                "weight": 0.0,
                "type": "SKU"
            }
        },
        ...
    ],
    "albums": [
        {
            "id": 90990,
            "parent_id": 39045,
            "type": "OFFER",
            "name": "Primary Album",
            "media": [
                {
                    "id": 185779,
                    "album_id": 90990,
                    "external_id": "41483613339949",
                    "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_e963dc9b-12e7-4b1e-96bb-97dc1b061cbc.png",
                    "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_e963dc9b-12e7-4b1e-96bb-97dc1b061cbc.png",
                    "type": "IMAGE",
                    "display_order": 1,
                    "primary": true
                },
                {
                    "id": 185780,
                    "album_id": 90990,
                    "external_id": "41483613405485",
                    "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_a80ec00e-eae1-41e4-8d6b-81c64bbc8f52.png",
                    "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_a80ec00e-eae1-41e4-8d6b-81c64bbc8f52.png",
                    "type": "IMAGE",
                    "display_order": 2,
                    "primary": false
                },
                {
                    "id": 185781,
                    "album_id": 90990,
                    "external_id": "41483613274413",
                    "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/grid_0.webp",
                    "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/grid_0.webp",
                    "type": "IMAGE",
                    "display_order": 3,
                    "primary": false
                },
                {
                    "id": 185782,
                    "album_id": 90990,
                    "external_id": "41483613372717",
                    "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_d2f90fab-7ac4-4161-b710-5363f1b4e244.png",
                    "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_d2f90fab-7ac4-4161-b710-5363f1b4e244.png",
                    "type": "IMAGE",
                    "display_order": 5,
                    "primary": false
                },
                {
                    "id": 185783,
                    "album_id": 90990,
                    "external_id": "41483613438253",
                    "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_d90ec5f7-a1a7-43c6-bdf9-38f7ff5764b9_1.png",
                    "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_d90ec5f7-a1a7-43c6-bdf9-38f7ff5764b9_1.png",
                    "type": "IMAGE",
                    "display_order": 6,
                    "primary": false
                },
                {
                    "id": 185778,
                    "album_id": 90990,
                    "external_id": "41483613471021",
                    "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_b6d58e24-200e-42b9-86c4-8feeaf4bc8e6.png",
                    "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_b6d58e24-200e-42b9-86c4-8feeaf4bc8e6.png",
                    "type": "IMAGE",
                    "display_order": 4,
                    "primary": false
                }
            ],
            "primary_media": {
                "id": 185779,
                "album_id": 90990,
                "external_id": "41483613339949",
                "url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_e963dc9b-12e7-4b1e-96bb-97dc1b061cbc.png",
                "source_url": "https://cdn.shopify.com/s/files/1/0758/9363/7421/files/wealthy_floral_design_tshirt_with_a_red_pastel_colour_backgroun_e963dc9b-12e7-4b1e-96bb-97dc1b061cbc.png",
                "type": "IMAGE",
                "display_order": 1,
                "primary": true
            }
        }
    ],
    "three_denabled": false,
    "type": "PHYSICAL",
    "status": "AVAILABLE",
    "publishing_status": "PUBLISHED",
    "date_created": "2023-05-01T20:08:25+0000",
    "date_last_modified": "2023-06-29T23:58:33+0000",
    "commission_rate": 25.0,
    "currency_symbol": "$",
    "subscription_status": "NOT_SUBSCRIBED",
    "tags": [
        "madebymidjourney"
    ]
}
```

</details>

Here is an example of a SKU object in isolation:

<details>

<summary>SKU JSON</summary>

```json
{
            "id": 196701,
            "offer_id": 39045,
            "merchant_id": 10189,
            "external_id": "45101095092525",
            "name": "Shirt - Large / Design Three / Red",
            "gtin": "",
            "upc": "",
            "in_stock": true,
            "qty_available": 100,
            "inventory_tracked": true,
            "sale_price": 3000,
            "retail_price": 3000,
            "currency": "USD",
            "taxable": true,
            "tax_type": "DEFAULT",
            "albums": [],
            "variant_values": [
                {
                    "variant": "Style",
                    "value": "Design Three"
                },
                {
                    "variant": "Size",
                    "value": "Large"
                },
                {
                    "variant": "Color",
                    "value": "Red"
                }
            ],
            "type": "PHYSICAL",
            "status": "AVAILABLE",
            "date_created": "2023-05-01T20:08:25+0000",
            "date_last_modified": "2023-06-29T23:58:33+0000",
            "sku_dimensions": {
                "weight": 0.0,
                "type": "SKU"
            }
        }
```

</details>

You can learn more about how to interact with SKUs in our [API Reference](https://app.gitbook.com/s/8lXIp71Ct5qCUhXjko2q/catalog/skus/get-sku-by-id).
