read_products | Read | View product catalog to display inventory. |
write_products | Write | Three uses: (1) publish app-owned metafields in the app--stockful namespace (stock status, days of supply, velocity trend, projected stockout, ABC class, restock status, sold last 30d, tracked flag); (2) enable the admin_filterable capability on merchant-created product metafield definitions so Stockful can filter products by those metafields in tracking rules - the toggle only affects the definition’s capability flag, and no merchant metafield values are ever modified; and (3) write variant barcode, retail price and unit cost. Every price or cost write follows an explicit merchant action: editing a variant’s fields in Stockful, accepting the retail prices Stockful proposes when a purchase order is received (the merchant reviews each row, and any rejected row cancels the whole update), or enabling landed-cost sync, which is off by default and writes the recalculated unit cost when a delivery is received. We do not modify product titles, descriptions, options, media, or any non-Stockful metafield values. |
read_locations | Read | List locations to show inventory by location. |
read_inventory | Read | Read inventory levels for monitoring and forecasting. |
read_orders, read_all_orders | Read | Read order and fulfillment history for sales velocity and demand forecasting. Only aggregate metrics are retained; individual customer personal data is not stored. |
read_fulfillments, read_merchant_managed_fulfillment_orders, read_third_party_fulfillment_orders | Read | Attribute stock movements correctly across fulfillment services. |
write_inventory | Write | Two kinds of write, both started by an explicit merchant action. Quantities: applying a stock adjustment or stock count the merchant has built and confirmed in Stockful, and posting the component consumption and finished output of a production run they mark complete. Each quantity change is sent with the figure Stockful last read as a compare-and-swap baseline, so a level that moved in the meantime is rejected rather than overwritten, and a stock count may activate an inventory item at a location that was not yet tracking it. Metadata: correcting missing cost, SKU code and HS code on inventory items, from the health-check fix page or the variant edit form. Nothing writes stock on its own - no sync, forecast, or alert changes a quantity. |
read_inventory_transfers | Read | Read inventory transfers to show stock in transit and track the status of transfers created from Stockful. |
write_inventory_transfers | Write | Two uses, both started by an explicit merchant action: (1) acting on a transfer suggestion creates a draft transfer (tagged stockful) that the merchant completes in Shopify; (2) marking a purchase order as shipped creates the supplier-inbound transfer for that order as ready to ship (tagged stockful-po). Stockful only touches transfers it created. |
read_inventory_shipments | Read | Read inventory shipments to keep incoming-stock figures accurate as shipments move and arrive. |
write_inventory_shipments | Write | Create and update the shipment behind a purchase order when the merchant marks that order as shipped - adding the ordered items and saving the tracking details they enter in Stockful. Only shipments Stockful created for a purchase order are modified. |
read_inventory_shipments_received_items | Read | Read received-item quantities on shipments so incoming stock clears correctly when shipments are received, including partial receipts. |
write_inventory_shipments_received_items | Write | Record received quantities against a purchase order’s shipment when the merchant receives stock in Stockful, including partial receipts, so Shopify inventory and incoming-stock figures stay in sync. |
read_publications, read_product_listings | Read | Read which sales channels and catalogs a product is published to, so products can be filtered by sales channel, market, or catalog. |
read_markets | Read | Read the store’s markets to label region and B2B catalog filters. Only used if the store has Markets configured. |
read_companies | Read | Read B2B company locations to label company-location catalog filters. Only used if the store sells B2B. |
read_reports | Read | Run Shopify’s analytics queries (ShopifyQL) to import historical sales and inventory-movement aggregates, so sales velocity and stockout history can be backfilled beyond the order data available at install. Only aggregate per-product metrics are read; individual customer personal data is never queried or stored. |
write_app_proxy | Write | Required by Shopify to register the App Proxy endpoint used by storefront features. Does not modify any store data. |