WekeyLab

2026-09-22 · WekeyLab AI

AI inventory reorder comparison: all three got 12 units, but the handoff needed edits

Six products, one definite new order: 12 notebooks. ChatGPT, Gemini and Claude reached the same quantities and held the unknown and inconsistent records for checking. Their handoffs were less consistent. Two blurred a reorder check with an actual order; another added a wait for unrelated checks. WekeyLab AI would use Claude’s table as the working draft and rewrite the instructions.

Our starting point: Claude’s table

Claude keeps on-hand stock, committed orders, damaged units, available stock, incoming stock, the gap and the proposed order in one table. D and E are explicitly pending, distinct from the no-order rows. For checking this six-product snapshot, we prefer that traceable layout.

We would not copy its handoff unchanged. It groups A, C and F as not meeting the replenishment condition. C has only 10 available units, so it does meet the check threshold. Its 30 incoming units cover the gap; that is why it needs no new order. A parenthetical explanation gets the reason right, but the main sentence should too.

The rules were fixed before the answers

We submitted the same Chinese question once to each website, with no length limit. The English and Korean editions localize that run. Each case contains 12 units. Available stock is on hand minus committed orders minus damaged stock; the last two categories do not overlap.

Only availability strictly below 20 triggers the check. If triggered, the new-order gap is 40 minus available minus confirmed incoming. Round a positive gap up to full cases. Unknown incoming requires checking; negative availability requires reconciliation first. These are fictional store rules, not universal inventory targets.

Input in on-hand/committed/damaged/incoming order: A cups 50/20/5/0; B notebooks 30/15/5/24; C storage bags 20/8/2/30; D stickers 15/10/1/unknown; E folders 8/10/0/0; F cards 20/0/0/12. Every number is in units.

A six-unit gap produces a 12-unit order

A has 25 available, so no check is triggered. F has exactly 20, also outside the trigger. B has 10 available and a gap of 40−10−24=6. Rounding to a 12-unit case produces a new order of 12, without buying the 24 already on order again.

C has 10 available and triggers the check, but 40−10−30=0, so no new order. D has 4 available but unknown incoming: pending, not zero. Substituting zero would create an unsupported 36-unit order. E has−2 available: reconcile first instead of calculating a 42-unit gap and rounding to 48.

An independent Python calculator checked all six rows. We also compared each original against seven precommitted criteria,21 checks in total. All three match the final quantities or pending states. The handoff wording has separate issues. We did not connect to a warehouse, place an order or measure time savings.

ChatGPT: a correct table, an inconsistent opening

ChatGPT leads with the decision, then supplies a calculation table, checks and a sendable message. It distinguishes B’s six-unit gap from the 12-unit order, explicitly rejects treating D’s unknown value as zero, and holds E for reconciliation.

Its opening nevertheless says A, C and F do not trigger replenishment. The table marks C as triggered, and later text correctly says incoming stock covers the gap. Copying only the first sentence would lose that distinction.

This is not an incorrect order quantity. The edit is specific: A and F do not trigger the check; C does, but needs no additional order.

ChatGPT, translated: A, C and F do not trigger replenishment.

Gemini: detailed arithmetic, an added collective wait

Gemini works through each product before repeating the result in a table and handoff. C’s trigger and zero gap remain distinct. It offers more calculation explanation than Claude, which is useful when the reader needs to follow the method.

The handoff adds that arrangements should be made together after the checks are complete. The input requires checks for D and E; it does not require B to wait for those unrelated records. We would separate B’s 12-unit proposal from the two pending recalculations.

E is marked yes in the trigger column but pending in the order column. Gemini does not actually order against negative stock. Still, a data-error status would be clearer than grouping an invalid record with normal threshold checks.

Gemini, translated: arrange together after the pending checks are confirmed.

Claude: useful pending labels, a summary worth editing

Claude labels both D and E pending and states what needs checking. F explicitly says equality with 20 does not trigger. Those distinctions make the table a useful review document instead of a list of unexplained zeros.

Its handoff then groups A, C and F as untriggered, much like ChatGPT’s opening. It correctly explains C’s incoming coverage in parentheses, so the quantity is not wrong. We would make the main sentence reflect the two-stage decision.

The conclusion also calls D and E incomplete data. More precise labels help: D is missing a value; E has inconsistent recorded quantities. Both are on hold, but require different follow-up.

Claude, translated: pending—first reconcile inventory/order-allocation records.

WekeyLab AI’s rewritten purchasing handoff

This is our revised artifact using the same input, not a fourth service response or proof of an order.

Purchasing review: propose 12 new B notebooks, one case. Availability is 10, confirmed incoming is 24, and the six-unit gap rounds up to 12. A cups have 25 available and F cards 20; neither triggers the check, so no new order. C storage bags have 10 available and do trigger the check, but 30 incoming cover the gap: no additional order this round. Current availability remains 10. D stickers have 4 available and unknown incoming; the new quantity is pending. Check already ordered, unreceived stock and recalculate. E folders show 8 on hand against 10 committed, yielding−2; reconcile both records before setting a new quantity. This is a purchasing proposal, not an order placed. No arrival date or stockout-prevention guarantee is assumed.

Keep the decision order when using your own data

Validate the record first, check the threshold second, subtract confirmed incoming third, and round to case size last. Do not fill an unknown cell with zero just to make every cell numeric. Pending verification and a confirmed zero new order are different states.

Reusable prompt: “Apply my stock definitions and reorder rules. Distinguish available, committed, damaged and incoming units. Handle missing or inconsistent records before checking the threshold. Show the new quantity, calculations and checks, then write a handoff without adding approval rules or delivery promises.” Append your own rules and inventory snapshot.

Shopify’s official inventory-state documentation also distinguishes incoming from available stock. It does not supply this example’s thresholds or case size. Chinese search volume was not measured. For adjacent tasks, see our vendor-quote comparison and order-CSV reconciliation comparison.

Sources and actual records

Actual website run September 22, 2026, 13:04–13:06 KST. Identical Chinese question once per service, unrestricted length. ChatGPT Free, Think off, specific model not displayed; Gemini Flash, plan unverified; Claude Free, Sonnet 5 Medium. Prompt and original-copy fingerprints matched. Seven criteria per answer plus independent Python arithmetic. One synthetic case, not an overall model benchmark. EN/KO localize the same run; complete input and originals follow below.

Shopify: Inventory states

구매 견적 비교 / Vendor quote comparison

주문 CSV 검산 / Order CSV comparison

ChatGPT · 2026-09-22 13:04–13:06 KST
我在整理一家虚构小店今天的补货清单。请根据下面的库存记录和店内规则,告诉我哪些商品需要新下单、下多少,以及今天还要核实什么。我想把结果直接交给采购同事,但不要把在途货当成今天已经能卖的货,也不要替我们实际下单。

所有数量都是件,每箱12件。仓库现存包含已被订单占用的货和损坏货,这两类互不重叠。当前可售数=仓库现存-订单占用-损坏数。
只有当前可售数严格低于20件时,才进入补货判断;等于20件不触发。触发后,新订货缺口=40-当前可售数-已确认在途数。缺口小于等于0就不新下单;大于0则向上取整到整箱12件。已确认在途数指已经采购、尚未收货的数量,不要再买一次。这里只算这套规则,不预测销量,也不凭空设定到货时间。
如果在途数量未知,就先核实,不能当0。如果算出的可售数为负,就先核对库存和占用记录,暂不确定新订货量。

商品 | 仓库现存 | 订单占用 | 损坏 | 已确认在途
A 杯子 | 50 | 20 | 5 | 0
B 笔记本 | 30 | 15 | 5 | 24
C 收纳袋 | 20 | 8 | 2 | 30
D 贴纸 | 15 | 10 | 1 | 未知
E 文件夹 | 8 | 10 | 0 | 0
F 卡片 | 20 | 0 | 0 | 12

请帮我整理这份清单,并写一段发给采购同事的交接说明。

按你给出的规则逐项计算后,**今天可以明确下单的只有 B;D 需要先核实在途数量;E 需要先核对库存/占用记录;A、C、F 不触发补货。**

| 商品    |          当前可售数 | 是否触发补货  |  已确认在途 |          新订货缺口 | 今天动作                   |
| ----- | -------------: | ------- | -----: | -------------: | ---------------------- |
| A 杯子  | 50−20−5=**25** | 否       |      0 |              — | 不下单                    |
| B 笔记本 | 30−15−5=**10** | 是       |     24 | 40−10−24=**6** | **下 12 件(1箱)**         |
| C 收纳袋 |  20−8−2=**10** | 是       |     30 | 40−10−30=**0** | 不新下单                   |
| D 贴纸  |  15−10−1=**4** | 是       | **未知** |           无法确定 | **先核实在途数量**            |
| E 文件夹 |  8−10−0=**−2** | —       |      0 |              — | **先核对库存和占用记录,暂不定新订货量** |
| F 卡片  |  20−0−0=**20** | 否(等于20) |     12 |              — | 不下单                    |

### 今天需要核实的事项

1. **D 贴纸**:确认已经采购但尚未收货的在途数量。因为在途未知,不能按 0 计算,也不能直接确定新订货量。
2. **E 文件夹**:仓库现存只有 8 件,但订单占用 10 件,导致当前可售数为 **−2**。先核对库存数量和订单占用记录,确认数据后再决定是否及下多少。
3. **B 笔记本**:规则计算出的新订货量是 **12 件(1箱)**;已确认在途的 24 件不重复计入新订单。
4. **C 收纳袋**:虽然当前可售只有 10 件、触发补货判断,但已有 30 件在途,按规则缺口为 0,**今天不新增订单**。

下面这段可以直接发给采购同事:

采购同事你好,今天补货请按以下结果处理:

* **B 笔记本:新下单 12 件(1箱)**。当前可售 10 件,已有 24 件确认在途,按补足至40件的规则还差6件,按整箱向上取整为12件。
* **A 杯子:不下单**,当前可售25件,未触发补货。
* **C 收纳袋:不新增订单**。当前可售10件,已有30件确认在途,按规则新增缺口为0。
* **D 贴纸:暂不确定下单量**。当前可售4件,但在途数量未知,请先核实已采购未收货的数量。
* **E 文件夹:暂不下单**。现存8件、订单占用10件,计算出的可售数为-2,请先核对库存和订单占用记录。
* **F 卡片:不下单**,当前可售20件,等于20件,不触发补货。

以上仅按当前库存、占用、损坏和已确认在途数量计算,不把在途货当作今天可售库存,也未包含销量预测或到货时间判断。请先完成 D、E 的核实后,再决定是否需要后续补单。

如果你希望,我也可以把这份结果进一步整理成**采购系统可直接录入的“商品/下单数量/备注”三列表格**。
Gemini · 2026-09-22 13:04–13:06 KST
我在整理一家虚构小店今天的补货清单。请根据下面的库存记录和店内规则,告诉我哪些商品需要新下单、下多少,以及今天还要核实什么。我想把结果直接交给采购同事,但不要把在途货当成今天已经能卖的货,也不要替我们实际下单。

所有数量都是件,每箱12件。仓库现存包含已被订单占用的货和损坏货,这两类互不重叠。当前可售数=仓库现存-订单占用-损坏数。
只有当前可售数严格低于20件时,才进入补货判断;等于20件不触发。触发后,新订货缺口=40-当前可售数-已确认在途数。缺口小于等于0就不新下单;大于0则向上取整到整箱12件。已确认在途数指已经采购、尚未收货的数量,不要再买一次。这里只算这套规则,不预测销量,也不凭空设定到货时间。
如果在途数量未知,就先核实,不能当0。如果算出的可售数为负,就先核对库存和占用记录,暂不确定新订货量。

商品 | 仓库现存 | 订单占用 | 损坏 | 已确认在途
A 杯子 | 50 | 20 | 5 | 0
B 笔记本 | 30 | 15 | 5 | 24
C 收纳袋 | 20 | 8 | 2 | 30
D 贴纸 | 15 | 10 | 1 | 未知
E 文件夹 | 8 | 10 | 0 | 0
F 卡片 | 20 | 0 | 0 | 12

请帮我整理这份清单,并写一段发给采购同事的交接说明。

### 一、 各商品库存计算与补货判断

先计算各商品的**当前可售数**(仓库现存 - 订单占用 - 损坏数),再按规则判断:

1. **A 杯子**
* **当前可售数**:$50 - 20 - 5 = 25$ 件
* **判断**:25件 $\ge 20$ 件,不触发补货。


2. **B 笔记本**
* **当前可售数**:$30 - 15 - 5 = 10$ 件
* **判断**:10件 $< 20$ 件,触发补货判断。
* **缺口计算**:$40 - 10 - 24 (\text{在途}) = 6$ 件
* **下单量**:缺口 6 件 $> 0$,向上取整到整箱(12件/箱)$\rightarrow$ **建议下单 1 箱(12件)**。


3. **C 收纳袋**
* **当前可售数**:$20 - 8 - 2 = 10$ 件
* **判断**:10件 $< 20$ 件,触发补货判断。
* **缺口计算**:$40 - 10 - 30 (\text{在途}) = 0$ 件
* **下单量**:缺口 $\le 0$ $\rightarrow$ **无需新下单**。


4. **D 贴纸**
* **当前可售数**:$15 - 10 - 1 = 4$ 件
* **判断**:4件 $< 20$ 件,触发补货判断。但由于**已确认在途数量未知**,无法直接计算缺口 $\rightarrow$ **暂停补货下单,需先核实在途数量**。


5. **E 文件夹**
* **当前可售数**:$8 - 10 - 0 = -2$ 件
* **判断**:可售数为负数,表明库存或占用记录异常 $\rightarrow$ **暂不确定新订货量,需先核对库存与占用记录**。


6. **F 卡片**
* **当前可售数**:$20 - 0 - 0 = 20$ 件
* **判断**:20件 $\ge 20$ 件(刚好等于20件),不触发补货。



---

### 二、 今日补货建议与核实清单

| 商品 | 当前可售数 | 触发补货判断 | 已确认在途 | 订货缺口 | 建议新下单量 | 今日待核实事项 |
| --- | --- | --- | --- | --- | --- | --- |
| **A 杯子** | 25 | 否 | 0 | - | 0 | 无 |
| **B 笔记本** | 10 | 是 | 24 | 6 | **1 箱 (12件)** | 无 |
| **C 收纳袋** | 10 | 是 | 30 | 0 | **0** | 无 |
| **D 贴纸** | 4 | 是 | 未知 | 待定 | **暂不下单** | **需核实已确认在途数量**,确认后再计算补货量 |
| **E 文件夹** | -2 | 是 | 0 | 待定 | **暂不下单** | **需核对仓库实测库存与订单占用记录**(目前计算可售数为负) |
| **F 卡片** | 20 | 否 | 12 | - | 0 | 无 |

---

### 三、 发给采购同事的交接说明

> **【补货清单交接通知】**
> 采购团队的同事,你好:
> 以下是今天经库存规则计算后的补货建议与异常待核实事项,请协助跟进处理(**注意:在途货物尚未到货,请勿混淆;以下建议仅供参考,请勿直接触发下单,待核实事项确认后统一安排**):
> **1. 今日建议采购下单**
> * **B 笔记本**:建议下单 **1 箱(12件)**。(当前可售 10 件,在途 24 件,计算缺口 6 件,按整箱12件向上取整)。
> 
> 
> **2. 今日无需下单商品**
> * **A 杯子**、**F 卡片**:可售数均不低于 20 件,暂不补货。
> * **C 收纳袋**:当前可售 10 件,已有 30 件在途,缺口不大于 0,无需新下单。
> 
> 
> **3. 需要今日优先核实的事项(暂不下单)**
> * **D 贴纸**:当前可售 4 件,已触发补货线,但**在途数量未知**。请帮忙核实实际在途件数,确认后我们再计算最终下单量。
> * **E 文件夹**:当前计算出的**可售数为 -2 件**(仓库现存 8,订单占用 10)。请协助核对仓库实际盘点数与系统订单占用记录是否一致,待数据修正后再确定补货数量。
> 
> 
> 感谢配合,核实完 D 与 E 的数据后请随时反馈,谢谢!
Claude · 2026-09-22 13:04–13:06 KST
我在整理一家虚构小店今天的补货清单。请根据下面的库存记录和店内规则,告诉我哪些商品需要新下单、下多少,以及今天还要核实什么。我想把结果直接交给采购同事,但不要把在途货当成今天已经能卖的货,也不要替我们实际下单。

所有数量都是件,每箱12件。仓库现存包含已被订单占用的货和损坏货,这两类互不重叠。当前可售数=仓库现存-订单占用-损坏数。
只有当前可售数严格低于20件时,才进入补货判断;等于20件不触发。触发后,新订货缺口=40-当前可售数-已确认在途数。缺口小于等于0就不新下单;大于0则向上取整到整箱12件。已确认在途数指已经采购、尚未收货的数量,不要再买一次。这里只算这套规则,不预测销量,也不凭空设定到货时间。
如果在途数量未知,就先核实,不能当0。如果算出的可售数为负,就先核对库存和占用记录,暂不确定新订货量。

商品 | 仓库现存 | 订单占用 | 损坏 | 已确认在途
A 杯子 | 50 | 20 | 5 | 0
B 笔记本 | 30 | 15 | 5 | 24
C 收纳袋 | 20 | 8 | 2 | 30
D 贴纸 | 15 | 10 | 1 | 未知
E 文件夹 | 8 | 10 | 0 | 0
F 卡片 | 20 | 0 | 0 | 12

请帮我整理这份清单,并写一段发给采购同事的交接说明。

## 补货清单核算结果

| 商品 | 现存 | 占用 | 损坏 | 可售数=现存-占用-损坏 | 是否触发(<20) | 在途 | 缺口=40-可售-在途 | 建议下单 |
|---|---|---|---|---|---|---|---|---|
| A 杯子 | 50 | 20 | 5 | 25 | 否 | 0 | — | 不下单 |
| B 笔记本 | 30 | 15 | 5 | 10 | 是 | 24 | 6 | **12件(1箱)** |
| C 收纳袋 | 20 | 8 | 2 | 10 | 是 | 30 | 0 | 不下单 |
| D 贴纸 | 15 | 10 | 1 | 4 | 是 | **未知** | 无法算 | **待定——需先核实在途数** |
| E 文件夹 | 8 | 10 | 0 | **-2** | — | 0 | 无法算 | **待定——需先核对库存/占用记录** |
| F 卡片 | 20 | 0 | 0 | 20 | 否(等于20不触发) | 12 | — | 不下单 |

**结论:** 本轮唯一确定要下单的是 **B 笔记本,12件(1箱)**。D、E 两项数据不完整,暂不能给出下单数量。

---

## 发给采购同事的交接说明

> 各位好,
>
> 附上今天的补货核算结果,按"可售数<20才判断、缺口按整箱12件取整"的规则算的,供参考:
>
> 1. **B 笔记本**:可售数10件,已有24件在途,缺口6件,向上取整后建议**新下单12件(1箱)**。
> 2. **A 杯子、C 收纳袋、F 卡片**:可售数分别为25、10、20件,均未触发补货条件(C虽可售数低但在途30件已覆盖缺口;F可售数恰好等于20,不触发),本轮**不下单**。
> 3. **D 贴纸**:在途数量系统里显示未知,无法计算缺口,**麻烦先核实实际在途数**,确认后我再补算下单量。
> 4. **E 文件夹**:算出的可售数为负数(现存8 − 占用10 − 损坏0 = -2),说明库存或订单占用记录可能有误,**先核对一下这两项数据**,暂不确定是否需要下单及下单多少。
>
> 以上仅为今日库存核算结果,**未实际下单**,请确认无误后再执行采购。在途货已计入缺口扣减,避免重复采购。

All articles