代购做到第三年,差点被仓库库存搞死
干代购这行,前两年靠运气,第三年靠系统。这话是我去年夏天最深的体会。
当时我们团队从 3 个人扩到 12 个人,订单量翻了将近 4 倍。本来以为终于熬出头了,结果差点被仓库库存问题拖垮。
库存不准,订单全乱
有个客户在平台下单了 10 件同款卫衣,系统显示库存充足。我们采购那边按流程去 1688 下单,结果供应商说只剩 3 件。客户那边已经付款了,我们这边货不够,最后只能退款道歉,还赔了运费。
这事让我意识到:库存数据不实时,就是给自己埋雷。
1688 的库存更新本来就有延迟,大促期间更夸张。供应商那边显示有货,我们这边系统显示有货,但中间隔了十几分钟,别人已经拍完了。我们系统不知道,还在继续接单。
手工对账的代价
最开始我们用 Excel 管库存,每天晚上人工对一遍。听起来挺简单,但实际做起来完全是另一回事。
我们同时跑着几十个商品,每个商品还有不同颜色、不同尺码。SKU 一多,Excel 表就变成了灾难现场。有一次我凌晨两点还在对账,发现某个款式的库存差了 23 件,翻来覆去找原因,最后发现是采购同事下单时选错了规格。
那个月我们因为库存不准导致的退款,占了总营收的 3%左右。 看着不多,但代购的利润本来就薄,这一下几乎把当月利润吃掉了一半。
我们怎么解决的
后来我们做了三件事,把库存问题压到了可控范围内:
第一,采购单必须带规格映射。
以前采购同事下单,只写商品名称,不写规格。供应商那边发过来的货,经常跟我们系统里的 SKU 对不上。后来我们改了流程:每个采购单必须附带规格映射表,系统自动生成,人工确认后再发。
第二,设置库存预警线。
不是等到库存为 0 才停售,而是设了一个安全库存线。比如某个爆款,系统显示还剩 20 件,但实际上 1688 那边可能只剩 15 件了。我们就设了 25 件的预警线,低于这个数就自动下架,等采购确认补货后再上架。
第三,定期自动检查供应商库存。
这个是最关键的。我们写了个脚本,每天凌晨自动跑一遍所有在售商品的库存状态,跟供应商那边的实时库存做对比。有差异的自动标记出来,第二天采购同事上班第一件事就是处理这些差异。
代码示例:库存差异检查
import requests
import json
from datetime import datetime
def check_inventory_differences():
# 获取本地系统库存
local_inventory = get_local_inventory()
# 获取供应商库存(1688 API)
supplier_inventory = get_supplier_inventory()
differences = []
for sku in local_inventory:
local_qty = local_inventory[sku]['quantity']
supplier_qty = supplier_inventory.get(sku, 0)
if abs(local_qty - supplier_qty) > 5: # 差异超过 5 件标记
differences.append({
'sku': sku,
'local': local_qty,
'supplier': supplier_qty,
'timestamp': datetime.now().isoformat()
})
# 写入差异日志
with open('inventory_diff_log.json', 'a') as f:
for diff in differences:
f.write(json.dumps(diff) + '\n')
return differences
库存预警的阈值设计
function checkStockThreshold(sku, currentStock, supplierStock) {
const thresholds = {
'critical': 10, // 紧急补货
'warning': 25, // 预警补货
'safe': 50 // 正常库存
};
// 取本地库存和供应商库存的最小值
const effectiveStock = Math.min(currentStock, supplierStock);
if (effectiveStock <= thresholds.critical) {
return {
action: 'immediate_purchase',
message: `SKU ${sku} 库存仅剩 ${effectiveStock} 件,立即采购`
};
} else if (effectiveStock <= thresholds.warning) {
return {
action: 'pre_order',
message: `SKU ${sku} 库存 ${effectiveStock} 件,建议提前备货`
};
}
return { action: 'normal', message: '库存正常' };
}
踩坑之后的理解
这两年圈子里有个明显变化:以前拼谁能找到好货源,现在拼谁能把服务做稳。订单管理就是服务的一部分,而库存管理又是订单管理的基础。
有个奇怪的现象:做得好的代购,往往 SKU 不多。为什么品越少反而赚越多?因为库存管理成本低,退款率低,客户满意度高。
我现在跟同行聊天,最常说的就是:别被爆单冲昏了头,先把库存管好,再谈扩张。 库存不准的时候接的每一单,都是给自己挖的坑。
你们做代购的时候,有没有被库存问题坑过?怎么解决的?评论区聊聊。
做了十年电商后端,现在在做 taocarts 代购系统,涉及 1688 代购、多仓库协同、跨境支付这些方向。有问题欢迎交流。
- 点赞
- 收藏
- 关注作者
评论(0)