Which namespace to use
Finding your app namespace
Theapp--{APP_ID}--inventory namespace is unique per store. Find your app ID once and reuse it everywhere.
1
Open metafield definitions
Shopify Admin → Settings → Custom data → Metafields → Variants.
2
Open a Charlie metafield
Click any metafield with key
inventory.available or inventory.fulfillable.3
Copy the namespace
Copy the full namespace, e.g.
app--303723511809--inventory.app--{APP_ID}--inventory (app-reserved)
Use for themes. Includes variant-level fields.
Shop
Variant
Product
charlie_inventory (public)
Use for feeds, filters, smart collections, and any non-theme integration. Same namespace on every store. No app ID lookup needed.
Themes can read either namespace. Other apps cannot read the app--{APP_ID}--inventory (app-reserved) namespace. That’s why Charlie mirrors product-level availability to a public namespace. Anything that runs as a Shopify app (Search & Discovery, product feed apps, smart collection metafield conditions, third-party search) can only see charlie_inventory.
Product
Variant-level fields are not mirrored to
charlie_inventory. For variant-level data, use the app-reserved namespace.Access
Liquid:Update timing
Charlie writes both namespaces whenever Shopify sends aproducts/update webhook (which fires on inventory changes). Updates are queued and applied within a few seconds, max ~10 seconds.
After uninstalling Charlie
Charlie does not deletecharlie_inventory.* metafield values when uninstalled. The values stay on each product so you can export or migrate the data.
To remove them, delete the metafield definitions manually in Shopify Admin → Settings → Custom data → Products (look for charlie_inventory.available and charlie_inventory.fulfillable).
Related
Theme integration
Liquid recipes for variant pickers, badges, and price display
App integrations
Wire product feeds, search, and filter apps to respect safety stock
Safety Stock
How sellable inventory is calculated