> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aimventory.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Product, inventory, listing: what each one is

> The object chain from a shared catalog product down to a physical unit — including the condition layer that splits inventory identity — and what a listing actually is on each channel.

Every other page in this manual uses the words "product," "inventory," and "listing" without stopping to define them. This page is that stop. It lays out the chain of records between a catalog entry and the pairs on your shelf, the layer in that chain that most people miss, and what a listing is — which is not quite the same thing on every channel.

## How it fits together

```mermaid theme={null}
erDiagram
    PRODUCT ||--o{ VARIANT : "one row per size"
    PRODUCT ||--o{ PRODUCT_SETTINGS : "your store's choices for this product"
    VARIANT ||--o{ VARIANT_SETTINGS : "your store's choices, one row per condition"
    PRODUCT_SETTINGS ||--|{ VARIANT_SETTINGS : "condition rows belong to"
    VARIANT_SETTINGS ||--o{ INVENTORY_ITEM : "counters, keyed by condition + location"
    INVENTORY_ITEM ||--o{ UNIT : "counters roll up from these"
    VARIANT_SETTINGS ||--o{ LISTING : "an offer placed on a channel"
```

Read it left to right: a product has sizes; your store adds its own settings to the product and, separately, to each size **in each condition**; those condition-specific settings are what an inventory item's counters are keyed to; the counters roll up from physical units; and a listing is placed against the settings for one size in one condition — never against the product itself.

The layer people miss is the one in the middle. It is easy to assume the chain runs product → size → inventory → unit. It actually runs product → size → **your store's settings for that size, in that condition** → inventory → unit. Condition is not a label on top of inventory — it is part of what makes an inventory item the item it is.

## The objects

| Object           | What it holds                                                                                                                                                                                                            | Where you meet it                                |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ |
| Product          | The shared catalog entry — name, brand, style code, images. A global catalog product isn't owned by any one store; a custom product belongs to the store that created it.                                                | Product Catalog                                  |
| Variant          | One size on a product, identified by a SKU that's unique across all of AIM, not just your store.                                                                                                                         | Configure product                                |
| Product settings | Your store's choices for a product: pricing, name and description, tags, which channels it's eligible for. Sits beside the catalog row, never inside it — nothing your store edits here changes what another store sees. | Configure product                                |
| Variant settings | Your store's choices for one size, **in one condition**: price limits, a generated barcode, channel eligibility, the size label sent to Shopify.                                                                         | Configure product                                |
| Inventory item   | The counters for one size, in one condition, at one location.                                                                                                                                                            | Inventory Management                             |
| Unit             | One physical thing — its own barcode, cost, condition, and owner (yours or a consignor's). Never deleted; its status changes instead.                                                                                    | Inventory Units                                  |
| Listing          | AIM's record of an offer placed on a channel, tied back to one size in one condition.                                                                                                                                    | Listings Control, Active Listings, eBay Listings |

## One example, carried through

Meridian Kicks carries the Jordan 4 Retro "Black Cat." The **product** is the Black Cat catalog entry, shared with every other store that stocks it. Size 10 is a **variant** on that product, with its own SKU. The first time Meridian takes the shoe on, it creates **product settings** — its own price, its own channel choices.

A shipment brings in seven pairs of size 10: six in perfect boxes, one with a torn box lid. Meridian's good-box condition and its damaged-box condition are two different rows of **variant settings** for the same size. That split carries all the way down: it produces two separate **inventory items** — one holding the six good-box units, one holding the single damaged-box unit — at the same location. Each of those seven pairs is its own **unit**, with its own serial and cost.

Meridian turns the size on for StockX, GOAT, eBay, and Shopify. That produces one StockX **listing** and one GOAT listing for the good-box item, an eBay offer carrying a quantity, and a Shopify quantity — covered next.

## What is always true

* **A product and its variants are shared.** Nothing your store edits in product settings or variant settings changes what another store sees on the same catalog product.
* **Condition is part of an inventory item's identity, not a display detail.** Two conditions of the same size, at the same location, are two separate inventory items, each with its own counters and its own listings.
* **A SKU is unique across all of AIM**, not just your store.
* **A unit is never deleted when it sells or leaves your stock.** Its status changes; the row stays.
* **An inventory item's counters can mix ownership.** The same row can hold owned units and consigned units at once.
* **Inventory decides how many listings can exist — never the other way around.**

<Warning title="Changing a unit's condition is a transfer, not an edit">
  Marking a unit as a different condition doesn't relabel it in place. Because condition is part of an inventory item's identity, the unit has to move to a different inventory item — its own counters, its own listings.

  Use Condition transfer to move a unit between conditions. It updates both inventory items' counters together. Editing a unit's condition any other way would leave one item's count too high and the other's too low.
</Warning>

## Where the channels differ

Not every channel sells the same way. StockX and GOAT sell **by listing**: each one is an offer with a price and a status, and carries no quantity of its own. eBay and Shopify sell **by quantity** instead: eBay's offer has a real quantity column that AIM writes to, and Shopify receives a quantity number directly, with no listing record behind it at all.

| Channel | Sells by                            | Default cardinality                                                                             |
| ------- | ----------------------------------- | ----------------------------------------------------------------------------------------------- |
| StockX  | Listing — no quantity on the record | One listing per size, unless your store turns on listing every unit — then one listing per unit |
| GOAT    | Listing — no quantity on the record | Same as StockX                                                                                  |
| eBay    | Quantity, on one offer per SKU      | Always exactly one offer; a second is refused                                                   |
| Shopify | Quantity, no listing record at all  | n/a — Shopify isn't a marketplace in AIM's model                                                |

Back at Meridian: the good-box item's six units become **one** StockX listing and **one** GOAT listing, not six of each. Those same six units set the eBay offer's quantity to 6. Shopify receives a quantity too, computed a different way — not the same number, and not always lower. See [What syncs, when, and who wins](/understand/what-syncs-and-who-wins) for how each channel's number is derived.

## Where you see this in AIM

* **Product Catalog** — browse the shared catalog and take on a product for your store.
* **Configure product** — set product settings, and variant settings for each condition.
* **Inventory Management** — the counters, per size, per condition, per location.
* **Inventory Units** — opened from an inventory row; the individual physical units behind that count.
* **Condition transfer** — moves a unit from one condition's inventory item to another's.
* **Listings Control** — decide what to list, and on which channels.
* **Active Listings** — what's actually live right now.
* **eBay Listings** — eBay's offers, kept separate because eBay isn't a listing-count channel.

## Common misconceptions

**"Same shoe, same size, one inventory row."** Not once condition is involved. A good-box pair and a damaged-box pair of the same size, at the same location, are two separate inventory items with independent counters and independent listings — not one row with a condition column on it.

**"A blank condition means we don't know."** No — a blank condition means your store's default, good-box condition. It isn't "unknown"; it's the setting you'd get without doing anything special.

**"Shopify mirrors AIM's inventory 1:1."** Close, but not quite. The shape is parallel on both sides — a product, a variant, a quantity at a location — but two things differ. The number itself differs: Shopify doesn't receive AIM's Available number, it receives Available with a different, Shopify-specific set of holds already subtracted. And the product boundary differs: one AIM product can become **several** Shopify products, one per condition — Meridian's good-box and damaged-box Black Cats can end up as two separate products in Shopify for what is, in AIM, a single product.

**"eBay works like StockX."** It doesn't — eBay works like Shopify. One offer per SKU, with AIM writing a quantity to it, not a running count of individual listings.

**"Three units means three listings."** Only if your store has turned on listing every unit. By default, StockX and GOAT list a size once, however many units are behind it.

**"Listings determine how much stock you have."** It's the reverse. Available stock is what limits how many listings can exist for a size, not the other way around.

## Related

* [How the inventory numbers fit together](/concepts/inventory-numbers) — what Available and Ready to list mean, and where reserved stock goes.
* [What syncs, when, and who wins](/understand/what-syncs-and-who-wins) — how the quantity each channel sees is computed, and who decides when two disagree.
