客户在微信上零零散散报货,业务员抄一遍再录 Excel?
交给酒店用品进销存——客户自己下单、自己申请开票,业务员不用再做二传手;货一入库成本就自动更新,月底三张报表直接从凭证出来。
覆盖商品、库存、采购、订单、发票报税、复式记账与人事六个模块。小程序 31 页 + 浏览器后台 15 页共用一套服务层,运行时零第三方依赖。
一家昆明的酒店用品供应商,客户是酒店和客栈。原来靠微信群接单、Excel 记库存, 报价、账期、开票全在老板脑子里。要解决的是两件事: 让客户能自己下单,同时把内部从采购到开票报税串起来。
难点不在界面,在口径:同一个「金额」在订单、库存成本、发票、报税底稿里 算法必须一致,否则月底对不上账。所以这套系统是从数据模型和金额口径开始设计的, 不是先画页面再补逻辑。
多商户商品目录、卡片式橱窗、起订金额与运费门槛、购物车、在线支付、发票申请。
库存流水、移动加权平均成本、供应商档案、采购单、入库、付款、退货与应付对账。
价内税口径、专用与普通发票、红冲作废、报税归集与底稿导出。
双通道职级与任职资格评审、培训课程与考试、员工手册签收留痕、季度 PBC 绩效。
下面都是系统里的真实界面,不是设计稿。
按业务归成四组,共 11 个模块。每个模块都能单独上线,也能单独关掉。
不是交一堆代码就结束。下面这些都在交付范围内,不另收费。
代码、表结构、种子数据全部交付到你的仓库。没有任何一处锁在我手里。
服务器初始化、HTTPS 证书、进程守护、每日自动备份,配好并留下操作记录。
给老板看的、给仓管看的、给会计看的各一份,是操作说明而不是接口文档。
从 Excel 或旧系统把商品、客户、库存余额导进新系统,并对一遍账。
期间的问题修复、口径调整和小改动都包含,不用再谈一次价格。
对外演示用的实例和数据每天凌晨自动重置,随便点不会坏。
小程序和浏览器加载的是同一份 services/*。给浏览器写了个几十行的模块加载器,
直接复用小程序那套 CommonJS 服务层。改一个业务规则,两端同时生效,不会出现
「后台改了小程序没改」这种对不上的情况。
服务端存的是表名 → {版本号, 行数组},客户端提交的是行级 upserts 与 removes。
两端同时改同一行时按 updatedAt 大者胜,输的一方会收到 rejected
并被还原 —— 宁可让人重填,也不悄悄覆盖掉别人的修改。
价内税(金额 ÷ (1+税率) × 税率)和移动加权平均成本都在服务层算,
页面只负责显示。这类东西一旦让页面各算各的,月底一定对不上。
服务端只用 Node 原生 http 和内置的 node:sqlite,
没有 npm 依赖、没有构建步骤。部署就是一个 node 进程加一个 Nginx,
三年后回来还能跑起来。
演示环境可以直接登录操作,数据每天凌晨会自动重置回干净状态。