Appearance
Release Notes (2026-09-08 ~ 2026-10-10)
✨ 重点 Feature
全新库存与仓储管理体系(QuoteGo / QuickPoint / droppilot 联动)
本版把库存从「按订单配对」改为「按仓库区域与库存配方」管理,并补齐移动端扫码入库。
- QuickPoint:
- 新增「区域库存」视图:可按仓储区域 / 库位查看和筛选库存,库位可由运营手动设置或批量设置;未分配区域显示为空。
- 新增「区域库位」字典管理:组织可维护自己的仓储区域 / 库位清单,供设置库存与入库时选择。
- 新增独立「库存配对」视图:为组合商品配置「库存配方」——每 1 套组合由哪些实物库存组成、各自消耗数量,或直接标记为虚拟商品;打包出库时按配方扣减库存。
- 入库流程新增实拍照片采集(至少 1 张,photo 缺失会被拦截),待入库列表支持搜索过滤,存放区域改为只读展示。
- 新增移动端「扫码入库」页面:支持连续扫码、手电筒开关与「添加到主屏幕(PWA)」;采购记录按「签收 → 质检」两步推进并显示状态徽标。
- QuoteGo:
- 新增组织级库存区域字典与库位分配,拣货行与拣货标签 PDF 展示货物存放区域。
- 库存配对与订单解耦,锁库动作迁移到「申请运单」环节;拣货与库存解析统一以锁库时冻结的数据为准,打包不再受后续改动影响。
- 入库改为物理化并固化确认快照;距入库库存不足时禁止穿负,订单确认前增加库存充足校验。
- 提供一次性割接迁移:释放历史未履约锁定并清空未打单快照,切换完成后旧数据不再参与新流程。
- droppilot:库存列表移除「缺货」列,缺货信息统一在订单侧查看。
- 组合商品的「配对出货倍率」被移除,倍率不再单独配置,改为直接写进配方数量。
库存配对 — 配方配置
商品:无线充电套装 A 虚拟商品
每 1 套组合消耗 =
| 库存 | 数量 | |
|---|---|---|
| 无线充电底座(SKU-1001) | 1 | 移除 |
| Type-C 数据线(SKU-1002) | 2 | 移除 |
保存配方
扫码入库(移动端)
连续扫码 已开启 手电筒
当前单号:PO-2026-1008-001
存放区域:A 区 / A-03 只读
签收 → 质检 → 确认入库
入库需至少上传 1 张实物照片;确认后按配方扣减区域库存。
发货流程重构:发货与确认解耦、支持虚拟发货与补推运单(QuoteGo / QuickPoint / droppilot 联动)
本版将「确认订单」与「发货」拆成两步,并新增虚拟发货、已发货补推运单等能力。
- QuickPoint:
- 发货队列与订单确认解耦,待确认订单也可进入发货;批量确认失败时会透出后端返回的具体原因。
- 新增「虚拟发货」:对所选订单提交平台发货状态(实物不出库、不扣库存),订单上显示「虚拟发货」徽标,并可按「仅虚拟发货订单」筛选。
- 已发货订单支持补推运单,批量结果汇总展示;运单结果弹窗改为分组展示,移除运单失败状态。
- 订单侧边栏调整:待确认入口迁入账单 Tab,恢复已签收独立入口。
- QuoteGo:
- 新增统一的「发货时间」口径,历史订单一次性回填,供筛选与统计使用。
- 虚拟发货订单不扣库存,且不会被店铺同步为已发货。
- 移除运单失败状态,失败订单保留在申请运单队列等待重试。
- droppilot:移除配送状态中的运单失败;原「支付锁仓」文案更正为「发货锁定」。
订单列表 — 虚拟发货
筛选:仅虚拟发货订单
| 订单号 | 状态 | 操作 |
|---|---|---|
| #10245 | 虚拟发货 | 补推运单 |
| #10246 | 虚拟发货 | 补推运单 |
虚拟发货仅提交平台发货状态,实物暂未出库,也不扣减库存。
补发账单:支持选择性出账与豁免(QuoteGo / QuickPoint / droppilot 联动)
- QuickPoint:生成补发账单时可勾选需要出账的补发记录,并选择收款方式;不需要收费的补发记录可标记「豁免」;补发账单支持预览与明细展示,账单金额改为服务端实时计算(不再使用历史快照)。
- QuoteGo:补发独立出账并支持库存再扣;出账时按订单当前报价与抵扣计算金额;搁置订单禁止生成补发账单。
- droppilot:商家端账单新增「补发账单」标识,与普通账单区分展示。
生成补发账单 — 选择补发记录
| 订单号 | 补发原因 | 金额 | 出账 |
|---|---|---|---|
| #10245 | 包裹丢失 | $ 8.50 | 已勾选 |
| #10246 | 客户未收到 | — | 豁免 |
收款方式:备用金
生成补发账单
已豁免的记录不计入账单金额;金额按出账时订单当前报价实时计算。
风险中心与预警体验升级(QuoteGo / QuickPoint 联动)
- QuickPoint:
- 预警支持添加跟进记录、管理标签(含标签配色与批量打标),并提供多维筛选;筛选栏改为标签式(chip)展示。
- 支持批量执行处置动作、批量解决预警(解决备注必填),并新增只读的「已解决历史」页签便于追溯。
- 跟进可上传附件,列表显示附件缩略图与「含附件」角标。
- 新增客户 / 店铺差异化阈值配置面板,可为特定客户或店铺单独设置预警阈值。
- 市场风险热力卡片标题显示国家码与国家名。
- 从预警创建工单时可选填备注,并提示已存在的工单号。
- QuoteGo:
- 预警原因改为结构化原因码,支持中英文双语展示并写入工单备注。
- 新增预警批量处置接口,修复并发生成工单号冲突;SLA 超时判定纳入「处理中」状态并统一统计口径。
- 新增客户与店铺差异化阈值覆盖配置、跟进附件存储;标签新增颜色并支持批量打标,移除标签合并能力。
风险中心 — 预警队列
筛选:全部 处理中 已解决 含附件
| 订单 | 原因 | 标签 | 状态 |
|---|---|---|---|
| #10245 | 物流超时 | 高风险 | 处理中 |
| #10246 | 地址异常 | 待跟进 | 已解决 |
支持批量解决(需填写备注)与批量处置,已解决记录在「已解决历史」中只读追溯。
🚀 其他 Feature
新增 3 家物流打单系统
- 新增华翰物流、CNE 递一国际、燕文物流的打单系统对接,可按需为订单选择相应线路打单;燕文支持轨迹查询配置。相关轨迹推送的旧 webhook 已移除。
报价单授权密码新增有效期与通知
- 报价单的修改 / 删除授权密码支持配置有效期(分钟),下单后会显示密码时效;密码重置与发送新增钉钉通知。启用后,非所有者且非创建人修改或删除他人报价单仍需输入授权密码。
系统设置 — 报价单授权密码
修改报价单需要授权密码 已开启
授权密码有效期(分钟):30
密码由系统邮件发送给组织所有者;有效期到期后需重新获取。
订单确认审计与报价版本快照
- 订单新增「确认时间」与「确认操作人」记录,便于追溯;下单确认时会把当时的报价版本信息一并固化到订单上,后续报价改动不影响已确认订单的计价依据。
订单发货时间筛选与展示
- 订单列表新增「发货时间」区间筛选,并展示订单发货时间;发货时间取自运单号上传时间。
工单:服务端分页、未读回执与跟进次数
- 工单列表改为服务端分页与排序,未读判定与 SLA 由后端统一计算;新增消息已读回执与对话消息数展示;新增跟进次数标记、展示与区间筛选。商家端工单同步展示已读回执与对话消息数。
其他体验改进
- 未登录时跳转登录页会携带回跳地址,登录后回到原页面。
- 新增客户成功后自动跳转到该客户的店铺资产页并展开授权。
- 账单统计新增「澳洲偏远」与「欧盟关税」订单数展示。
- 提醒弹窗关闭后当天不再弹出(记录在本地)。
- 订单列表统一以「账单 + 物流」双状态竖向展示,移除了搁置合并、外部发货等零散徽标。
- 「待入库」列表支持搜索过滤;商品卡片展示所属客户与店铺信息。
- 入库二次确认弹窗改用轻提示(toast)提醒。
🐛 重大 Bug Fix
待确认订单无法打印面单
- 修复待确认订单无法打印面单的问题,并统一抽离可打单状态的判断口径。
手工账单创建失败
- 手工账单弹窗内置客户选择器,修复因缺少客户选择导致创建失败的问题。
批量单号搜索慢查询
- 修复批量输入单号搜索时的慢查询问题,并补齐订单标签展开。
拆单库存列展示
- 拆分订单预览的库存信息列改用库存配方展示,并默认收起提醒条。
发货状态文案统一
- 统一将待发货文案改为「未发货」,避免歧义。
拆包与补发相关修复
- 拆分重建包裹时正确继承补发世代并按世代生成参考号;补发前预检第三方履约状态并区分错误码;修复未锁库快照订单被错误拦截发货的问题。
♻️ 重构 / 移除
- 移除第三方登录(OAuth2):前端移除第三方登录入口,后端关闭用户集合的第三方登录开关。之后仅支持账号密码登录。
- 移除旧轨迹推送 webhook:移除软通宝与华磊的轨迹推送 webhook 及相关代码。
- 移除运单失败状态:运单不再有独立的「失败」状态,失败订单保留在申请运单队列。
- 移除库存缺货列:库存列表不再显示缺货列,缺货信息在订单侧查看。
- 移除配对出货倍率:倍率折叠进库存配方数量,不再单独配置。
- 补发金额改为实时计算:移除补发记录的金额快照字段,出账时按当前报价计算。
- 移除订单确认快照中的冗余展开:订单全量查询不再展开店铺信息,减小响应体积。
🧱 数据库 Schema 变更(需执行迁移)
本版共 40 个迁移脚本,按时间戳顺序执行,命令:./quotepilot migrate
虚拟发货与订单库存状态
2026090800_orders_add_virtually_shipped.js:订单新增虚拟发货标记。2026090900_orders_stock_status_restock_pending.js:订单新增「已补货待确认」状态。2026090901_orders_stock_manual_lock.js:订单新增人工移动库存支持。2026091400_add_orders_manually_restored.js:订单新增人工移回待确认标记。
风险中心与预警
2026091000_create_alert_followups.js、2026091001_create_risk_tags.js、2026091002_add_alert_events_tags_followup_count.js、2026091003_add_risk_tags_color.js、2026091004_remove_alert_followups_result.js:新增预警跟进、风险标签(含颜色)、标签关联与跟进次数,并移除旧跟进结果字段。2026091700_add_alert_followups_attachments.js:跟进记录支持附件。2026092000_add_risk_rule_overrides.js:新增客户 / 店铺差异化阈值覆盖配置。
工单
2026091100_add_Ticket_follow_up_count.js:工单新增跟进次数。2026100700_ticket_list_redundant_fields.js:工单新增冗余字段以支持列表服务端分页排序。
认证
2026091600_disable_users_oauth2.js:关闭用户集合第三方登录开关。
补发账单与库存日志
2026092000_updated_reshipments_billing.js、2026092001_orders_reship_billing.js、2026092002_updated_Invoices_bill_type.js、2026092003_updated_InventoryLogs_reship.js、2026092004_orders_reship_billing_index_cover.js、2026092100_orders_reship_billing_backfill.js:补发独立出账、账单类型区分、库存日志补发标记与索引,并回填历史出账状态。2026100901_removed_reshipments_billing_fields.js、2026100902_add_reshipments_waived.js:移除补发金额快照字段,新增豁免标记。
性能索引
2026092200_orders_shipping_stock_index.js、2026092201_perf_risk_and_logs_indexes.js、2026093005_add_orders_stock_queue_index.js、2026100520_orders_shipped_at_cover_indexes.js、2026101000_orders_virtually_shipped_cover_index.js:订单库存队列、风险与日志、发货时间、虚拟发货等查询的覆盖索引。
库存重构
2026092800_inventory_physical_snapshot.js、2026092801_no_negative_inventory.js:库存物理化快照与禁止穿负。2026093001_created_InventoryMappings.js、2026093002_seed_InventoryMappings.js、2026093003_drop_MappingRules_inventory_fields.js、2026100100_remove_inventory_mappings_multiplier.js:新增库存配对并迁移历史映射,随后移除旧映射字段与倍率。2026093004_rename_paid_lock_to_ship_lock.js:锁仓重命名为发货锁定。2026100200_repair_stock_insufficient_waybill_orders.js、2026100201_remove_waybill_failed_status.js:修复库存不足的运单订单,移除运单失败状态。2026100300_created_InventoryZones_and_inventory_zone.js、2026100301_removed_InventoryPurchases_storage_location.js:新增组织级库存区域字典与库存区域字段,移除采购记录的旧存放位置字段。2026100900_cutover_release_locked_clear_lock_details.js:割接迁移,释放历史锁定并清空未打单快照。
订单发货时间
2026100500_orders_add_shipped_at.js、2026100510_orders_backfill_shipped_at.js:新增发货时间并回填历史。2026100600_orders_add_confirmed_fields.js:订单新增确认时间与确认操作人。
⚠️ 部署注意
- 需执行数据库迁移:部署前运行
./quotepilot migrate;迁移在后端启动时执行,完成后需重启后端。本版迁移较多且含一次性割接,建议先备份数据库。 - 库存割接为一次性操作:
2026100900_cutover_release_locked_clear_lock_details.js会释放历史锁定并清空未打单快照,执行后旧锁定数据不再参与新流程;请在业务低峰期执行并提前确认没有正在进行的打单作业。 - 前后端需同时发布 v5.12.0:库存配对、发货解耦、补发账单、风险中心与工单等均为前后端联动功能,旧前端或旧后端会出现字段缺失或行为不一致。droppilot 也需与后端同版本发布。
- 第三方登录将被关闭:
2026091600_disable_users_oauth2.js执行后,前端不再提供第三方登录入口,请提前告知使用第三方登录的用户改用账号密码,或先在后台为其设置密码。 - 运单失败状态移除:升级后运单不再有「失败」状态,历史失败订单会保留在申请运单队列;相关前端过滤条件(如 droppilot 的配送状态)已同步移除。
- 旧轨迹推送 webhook 已移除:软通宝与华磊的轨迹推送不再接收,如仍有外部配置请一并清理。
本版涉及的提交(技术信息)
- QuoteGo(87 commits,head
efa9109):efa9109Merge branch 'gggg_reship_select' into gggg、abfbd87归一化订单风险标签并清理残留、59d224a覆盖索引追加 virtually_shipped、78582b0修复批量单号搜索慢查询、913c27c补发账单按补发记录选择性出账与豁免、e5f58b1补发出账时按订单当前报价与抵扣计算、c3c5c7a拆分重建包裹继承补发世代、30c7fcd拆分预览库存列改用配方展示、0077c46移除软通宝与华磊轨迹推送 webhook、e7fe6d0割接迁移释放历史锁定并清空未打单快照、1b5007d结构化原因码中英双语与工单备注、25e3899工单冗余字段服务端分页排序、b9786d2报价授权密码有效期配置与钉钉通知、5645bb5订单确认时间与操作人审计字段、788150d拣货行与标签 PDF 展示存放区域、80e442f物流中/已签收直接入库并补齐质检留痕、64bc69e新增 shipped_at 统一发货时间、b942413仅质检中可确认入库、3be8e90强制上传至少 1 张入库照片、a83a5f4组织级库存区域字典与库位分配、1c59448取消未锁库快照订单发货拦截、1ca0f4d移除运单失败态、b3c2e0d缺货计数对齐申请运单队列、bf56fc1缺货计数改用 stock 队列口径、f9fc213发货队列与确认解耦、d891e21拣货与库存解析以 lock_details 为源、6047124移除配对出货倍率、7446fb8库存配对解耦并迁移锁库、9bb0394已发货补推运单并重构回写、149e56a新建 Shopify 履约前取消旧记录、a610d53补发取消前预检第三方履约、2333e03禁止库存穿负并加确认前校验、224f444物理化入库并固化确认快照、395d493补发前取消旧 fulfillment、4f0fc83按天轮转模块化日志、2358cd4新增华翰物流打单、8bfed39覆盖索引与 keyset 分页、7e5a950跨维度二级筛选子句、eeebab4新增 CNE 递一国际打单、16e3f87新增燕文物流打单并支持轨迹配置、f534024移除 OAuth2 登录、1beaa6a已退款订单人工移回待确认、0fa5f50客户/店铺差异化阈值覆盖、b81df97预警跟进附件、8d35eaf未读工单 ID 查询接口、46c82be预警跟进与标签管理、c7bcd3a虚拟发货能力(不扣库存、不同步已发货)等 - QuickPoint(95 commits,head
d9d3dc4):d9d3dc4Merge branch 'gggg'、936edcf提醒弹窗当天不再弹出、3bf6e30迁移配方文案命名空间、047dce3补发账单按记录勾选出账与豁免、5494ced移除补发金额快照改为服务端计算、492453c拆单库存列改用配方展示、3e74dbc拆分订单按包裹分项计费、ea9917b新增客户后跳转店铺资产并展开授权、ff84c87移除库存缺货列、0891570创建工单可选备注、911a911工单订单号搜索修复、bf12145工单排序与 SLA 由后端驱动、b27a6d7统一提取后端错误信息、cebc47b报价授权密码有效期与时效展示、9765010订单快照固化报价版本、b445d27手工账单内置客户选择器、f45c22f修复待确认订单无法打印面单、e814432扫码入库连续扫码/手电筒/PWA、4f37d80入库二次确认与 toast、2c9b89b入库拍照示例改单张、6b18215澳洲偏远与欧盟关税订单数统计、8e6ecfb新增发货时间区间筛选、1fb6250未登录跳转携带回跳地址、649c601入库商品卡片展示客户与店铺、e169ecc采购记录签收质检两步推进、b4ebf4d新增入库照片采集与校验、68ff2db区域库存只读查看与搜索分组、3130016待入库列表搜索过滤、9c25436区域库位字典管理与筛选、6879235统一「未发货」文案、3558f54库存模块视图切换与副标题统一、7cf72ea恢复已签收独立入口、70c596d运单结果弹窗分组展示、c4efdac待确认入口迁入账单 Tab、3129fb5物流申请运单按库存重构、e62730d缺货队列重构为待补货/已补货、95202e6发货与确认解耦、f011b10移除配对出货倍率、4cd359b新增库存配对视图与缺货队列入口、548e358已发货补推运单、5846acf批量确认失败透出原因、6c7dfbb移动端扫码入库模块、0891570等 - droppilot(10 commits,head
adba2ee):adba2eeMerge branch 'main_final_new_inventory'、d1ade7f移除库存列表缺货列、c5d0a9e移除配送状态 waybill_failed、3a9e0fa修正支付锁仓为发货锁定、00c366e账单新增补发账单标识、0bfaa8d工单消息已读回执与对话消息数,及其余合并提交。