Complete Catalog Pagination

Shopify returns product lists in pages, with a maximum page size of 250. BMOS follows Shopify's cursor links until the final page instead of treating the first page as the whole store.

Stores with 2,000 or more accessible Shopify products can now be retrieved across all available pages.

Inventory Modes

Quantity and sellability are separate facts. BMOS stores the real quantity and publishes an explicit inventory_mode that tells storefronts and agents how to interpret it.

ModeMeaningAvailability rule
trackedInventory is enforced.Zero or below is out of stock.
continue_sellingOrders remain allowed after inventory reaches zero.Available at zero or negative quantity.
untrackedNo authoritative stock count is maintained.Always available; quantity should normally be null.
unavailableThe product is explicitly disabled.Out of stock regardless of quantity.

Shopify Mapping

Existing Shopify imports need one resync after this feature is deployed so BMOS can backfill the policy and tracking metadata that older imports did not retain.

Agent Feed Contract

Agent feed v0.2 and BMOS public offers expose availability, mode, and quantity together:

{
  "availability": "in_stock",
  "inventory_mode": "continue_selling",
  "inventory_quantity": 0,
  "inventory_quantity_known": true,
  "inventory_tracking": false
}

This is intentional: the quantity is truthfully zero, while Shopify still permits purchase. BMOS discovery and agent-shopping results use computed availability, so a sellable product is not demoted merely because its count is zero.

See Public Offers for live storefront hydration and API Docs for the full feed response.

Reconcile a Sync

  1. Open the Shopify connection and run Preview or Import All.
  2. Compare Shopify's accessible product count with the sync's found count.
  3. Confirm that imported + updated + failed explains the processed count.
  4. Review failures individually; do not interpret the imported count alone as the number Shopify returned.
  5. Spot-check tracked-zero, continue-selling, untracked, inactive, and multi-variant products in the BMOS feed.

If Counts Still Differ

Pagination removes the first-page cap, but Shopify Admin totals can still differ from what an app may access or import. Check:

Manual and CSV Catalogs

The same modes are available for non-Shopify products. Choose an Inventory Mode in the 51exports product editor, or add an inventory-mode CSV column containing tracked, continue_selling, untracked, or unavailable.

Do not use an invented large quantity to mean “always available.” Preserve the real quantity and select the correct mode.