{
  "synthetic": true,
  "execution": "Teaching record only; no live integration tested",
  "slug": "on-hand-versus-sellable-stock-proof",
  "group": "commerce-operations",
  "title": [
    "On-hand stock is not the quantity a website may sell",
    "仓库在手库存，不等于网站可以卖的数量"
  ],
  "intro": [
    "A retailer connecting warehouse data to a storefront must choose the right quantity state. Adding incoming stock to on-hand stock can produce a plausible large number that overstates what is available now. Commission a conservation check with explicit committed and unavailable quantities.",
    "零售商把仓库数据接到前台时，必须选择正确数量状态。把在途加在手，可能得到看似合理却夸大当前可售的数字。应验收包含已承诺及不可售数量的守恒核对。"
  ],
  "facts": [
    [
      "Shopify defines on-hand as available plus committed plus unavailable. Incoming is separate and is not available to sell merely because it is expected; inactive locations can display a dash for available.",
      "Shopify将on-hand定义为可售、已承诺、不可售之和；在途单独计算，不因预计到货就可售，未启用地点的可售可显示横线。",
      "https://help.shopify.com/en/manual/inventory-and-locations/fundamentals/inventory-states"
    ]
  ],
  "example": [
    [
      [
        "LocationA: onHand8, committed3, unavailable2",
        "8−3−2",
        "Available3, not8"
      ],
      [
        "地点A：在手8、已承诺3、不可售2",
        "8−3−2",
        "可售3，不是8"
      ]
    ],
    [
      [
        "Same location; incoming5",
        "Keep outside onHand equation",
        "Available remains3 before eligible receipt"
      ],
      [
        "同地点，在途5",
        "不加入在手公式",
        "符合条件收货前，可售仍3"
      ]
    ],
    [
      [
        "onHand8, committed3, unavailable2, reportedAvailable4",
        "3+2+4=9",
        "Reconciliation mismatch; investigate source/time scope"
      ],
      [
        "在手8、承诺3、不可售2、上报可售4",
        "3+2+4=9",
        "不守恒，核对来源及时间范围"
      ]
    ],
    [
      [
        "Inactive location; available is dash",
        "No available quantity supplied",
        "Unknown/not applicable, not numeric zero"
      ],
      [
        "未启用地点，可售为横线",
        "没有提供可售数量",
        "未知或不适用，不能擅转0"
      ]
    ]
  ],
  "steps": [
    [
      "Map each source field to its defined inventory state, location, variant and observation time. Do not merge snapshots taken before and after an adjustment.",
      "逐字段映射状态、地点、变体及观察时间，不混用调整前后的快照。"
    ],
    [
      "Run the four filled records and reconcile the state equation. A disagreement must produce a visible hold, not a negative quantity clamp that hides the error.",
      "重放四条记录，核对守恒；不一致须明确暂停，不能靠负数归零掩盖错误。"
    ],
    [
      "In an authorised store test, trace one receipt, commitment and unavailable-stock change to the storefront’s final sellable figure. Inventory alone does not establish market publication or delivery eligibility.",
      "在获准店铺测试中追踪收货、承诺及不可售变动到最终前台数量；库存不证明市场已发布或可配送。"
    ]
  ],
  "result": [
    "The available quantity is3 even though13 units are physically held or expected across the two categories. The mismatch row identifies a record that needs investigation, while the dash row prevents unknown evidence from becoming an invented zero. Neither is solved by displaying a generic “in stock” badge.",
    "在手及预计合看有13件，但可售仍3。差异行指出须调查的记录，横线行避免未知变成虚构的零；普通“有货”标记解决不了这两个问题。"
  ],
  "accept": [
    "Require consistent state/location/time scope and the correct available figure. Keep receipt completion, market visibility and customer delivery promises separate.",
    "状态、地点、时间口径须一致，可售数量正确；收货完成、市场可见及客户配送承诺分开。"
  ],
  "limit": [
    "Synthetic inventory ledger, no adjustment, store access or reservation. Apps and actual receipt states may differ and require current supplier evidence.",
    "合成库存表，未调整库存、访问店铺或预留；应用及收货状态差异须由实际供应商证据确认。"
  ],
  "oldLinks": []
}
