用途
该技能计算库存总价值(在手数量 × 单位成本),并按地点和供应商细分。用于定期资产负债表对账、保险估值和成本核算报告。只读,不执行任何变更操作。
主要能力
- 查询所有活跃地点(最多 50 个)。
- 分页查询产品变体(每页 250 个),获取 SKU、库存数量、产品供应商、库存项 ID、单位成本及是否跟踪库存。
- 按库存项 ID 批量查询各地点库存层级,获取每个库存项在各地点的手头数量。
- 对每个(变体,地点)组合计算价值 = 数量 × 单位成本,并按地点和供应商汇总。
- 输出 CSV 文件,包含变体 ID、SKU、产品标题、供应商、地点、在手数量、单位成本、总价值、货币。
- 支持 human 或 json 输出格式。
使用方式
前置条件
- 已认证的 Shopify CLI 会话:
shopify store auth --store <domain> --scopes read_products,read_inventory - API 权限范围:
read_products、read_inventory - 库存项必须设置单位成本才能准确估值(未设置成本的变体以 $0 计入)
参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| store | string | 是 | — | 商店域名(如 mystore.myshopify.com) |
| breakdown | string | 否 | both | 拆分级别:location、vendor 或 both |
| include_zero_cost | bool | 否 | true | 是否包含未设置成本的商品(显示为 $0) |
| format | string | 否 | human | 输出格式:human 或 json |
工作流程
- 查询活跃地点:
locations(first: 50, includeInactive: false),获取所有活跃地点 ID 和名称。 - 查询产品变体:
productVariants(first: 250, after: $after),选择 sku、inventoryQuantity、product { vendor }、inventoryItem { id, unitCost },分页直到 hasNextPage: false。 - 查询库存项:按库存项 ID 批量查询
nodes(ids: $ids),获取每个库存项的 inventoryLevels 及各地点 on_hand 数量。 - 计算:对每个(变体,地点)组合计算 value = quantity × unit_cost,按地点和供应商汇总。
输出格式
CSV 文件 inventory_valuation_<YYYY-MM-DD>.csv,列包括:variant_id, sku, product_title, vendor, location, quantity_on_hand, unit_cost, total_value, currency。
human 格式输出示例:
══════════════════════════════════════════════
INVENTORY VALUATION REPORT
Total inventory value: $<amount> <currency>
SKUs included: <n> (of which <n> have no cost)
By Location:
Warehouse A $<amount>
Warehouse B $<amount>
By Vendor:
Vendor X $<amount>
Vendor Y $<amount>
Output: inventory_valuation_<date>.csv
══════════════════════════════════════════════
json 格式输出示例:
{
"skill": "inventory-valuation-report",
"store": "<domain>",
"total_value": 0,
"currency": "USD",
"skus_included": 0,
"zero_cost_skus": 0,
"by_location": [],
"by_vendor": [],
"output_file": "inventory_valuation_<date>.csv"
}
适用场景
- 月末资产负债表对账:与会计系统比较,识别差异。
- 保险估值:将总价值作为最低重置成本基线,根据保单要求可加价零售定价。
- 成本核算报告:了解库存价值在慢动销库存中的占比(可搭配 dead-stock-identifier 使用)。
限制
- 只读技能,不执行任何变更操作。
- 未设置成本的商品以 $0 计入,会低估总价值;可利用输出识别并补充成本缺口。
- 商店无活跃地点时退出并报错。
- API 限流时等待 2 秒重试,最多 3 次。
- 单位成本必须设置在库存项上才能准确估值。