【竞品与研究】森果开票助手功能模块开发方案及数据库结构说明(一)---升鲜宝生鲜配送供应链管理系统源代码服务

森果开票助手
功能模块开发方案及数据库结构说明

竞品分析推理版 / MySQL 8.0 数据字典 / 升鲜宝研发参考

生成日期:2022-01-06

适用对象:产品经理、架构师、后端开发、前端开发、测试、实施顾问

文档说明

|--------|--------------------------------------------------------|
| 项目 | 说明 |
| 文档定位 | 本文件单独聚焦"森果开票助手"产品线,按照功能开发文档、业务流程说明和数据库结构数据字典三个层次整理。 |
| 资料来源 | 公开资料主要来自 App Store、应用宝、森果批发易官网与森果社区公开页面;数据库部分为竞品分析推理版。 |
| 重要声明 | 本文不代表森果真实内部数据库结构,也不包含任何非公开资料;所有表结构均为面向升鲜宝研发落地的参考模型。 |
| 建设目标 | 把"移动开票、挂单、称重、打印、分享、收银协同、欠款还款、入库、改单退货、AI 开票"等能力拆到可开发层级。 |

目录

    1. 产品定位与业务边界
    1. 角色与使用场景
    1. 总体功能地图
    1. 核心业务流程
    1. 功能模块开发方案
    1. 页面与菜单建议
    1. 关键业务规则与状态机
    1. 数据库表结构总览
    1. 字段级数据字典
    1. ER 关系与数据流
    1. 接口开发清单
    1. 与升鲜宝落地映射
    1. 实施优先级与研发注意事项
    1. 资料依据

1. 产品定位与业务边界

森果开票助手是森果云批发业务体系中的移动开单端,主要面向批发档口的销售员、开票员、货主驻场卖手、档口老板等角色。公开资料显示,该产品强调"移动开单、简单高效",支持手机和平板多端操作,可用于快速开票、选品开单、挂单、小票打印、二维码/客户信息打印、销售数据查看和多端数据互通。

|----------|------------------------------------------------------------|
| 项目 | 说明 |
| 产品核心 | 移动开票 + 挂单 + 称重 + 小票打印 + 收银协同 + 数据查看。 |
| 不是完整 ERP | 开票助手更像"前台移动作业端",后台经营、复杂库存、财务做账、赊账对账等能力与森果批发易、批发后台、收银台协同完成。 |
| 适用行业 | 水果、蔬菜、菌菇姜蒜、肉类水产、零食、农批市场、批发档口、货车货柜交易、现场快速销售。 |
| 升鲜宝映射 | 可映射为"升鲜宝批发移动开单助手",服务 B2B 现场开单、批发档口销售、仓库临时加货、货主驻场卖货与客户自提开单。 |

|---------|---------------------|----------------------|
| 边界项 | 纳入开票助手 | 不建议由开票助手独立承载 |
| 商品选择 | 支持按货品、批次、供货商、分组快速选择 | 完整商品建模、复杂单位关系、全局价格体系 |
| 开票 | 销售单、退单、加货减货、挂单、分享单据 | 全链路订单履约、复杂发货配送 |
| 称重 | 多次过磅、皮重、均重、反推重量 | 称重设备协议管理中心 |
| 收银 | 可开票并收款或交给收银台结算 | 资金账户总账、完整财务凭证 |
| 欠款 | 快捷赊账、担保赊账、快捷还款入口 | 完整账龄、授信风控、客户对账平台 |
| 入库 | 轻量采购入库、免入库、按供货商加货 | 完整 WMS 入库、成本核算、采购合同 |
| 打印 | 小票模板、二维码、客户信息、分享图片 | 通用打印平台全部模板管理 |

2. 角色与使用场景

|---------|---------------------------|-------------------------|
| 角色 | 典型诉求 | 核心权限 |
| 档口老板 | 随时查看开票、库存、销售额、欠款和员工操作 | 查看全店数据、设置权限、处理异常订单、审批退单 |
| 开票员/销售员 | 快速选品、称重、挂单、改单、生成小票或分享图片 | 开票、改单、挂单、打印、分享、查看本人订单 |
| 收银员 | 接收开票单,完成现金/扫码/赊账/余额等结算 | 收款、退款、确认赊账、打印结算单 |
| 货主驻场卖手 | 销售货主代卖商品,按批次查看库存和销售 | 查看授权货主货品、开票、查看本人业绩 |
| 采购/入库人员 | 现场入库、自营入库、代卖入库、免入库、按供货商加货 | 新建入库、选择供货商、录入费用、绑定业务员 |
| 财务/对账员 | 查看欠款、快捷还款、核对结算单和退款 | 查看欠款、还款、导出/打印、审核异常 |
| 客户/会员 | 收到电子账单、核对商品、欠款与付款状态 | 查看分享账单、确认订单、签字或付款 |

|---------|------------------------|---------------------|
| 场景 | 描述 | 开发重点 |
| 标准档口开票 | 销售员手机开票,收银员统一收银 | 开票单状态、收银台同步、未收银改单权限 |
| 无收银台交易 | 一人完成开票与收款 | 开票并收款模式、支付方式、档口垫付费用 |
| 货车/货柜交易 | 在货车旁边快速打单,硬件要求低 | 移动端稳定性、离线缓存、蓝牙打印 |
| 客户临时加货 | 客户已经挂单后继续加货或减货 | 挂单中心、改单加货、按批次展示库存 |
| 称重销售 | 同一商品多次过磅,扣除皮重,按均重或反推重量 | 称重记录、皮重、反算、精度与舍入 |
| 代卖批次销售 | 货主/供货商批次按分组展示,便于选择 | 批次库存、供货商分组、代卖结算来源 |
| 线上订货抢单 | 线上订单进入档口,开票端可批量抢单 | 订单池、按会员排序、锁库存、接单状态 |
| 担保赊账 | 业务员担保会员欠款,关注即将到期与逾期 | 担保关系、账期、逾期天数、快捷还款 |

3. 总体功能地图

|----------|-------------------------------|--------------------|
| 一级模块 | 二级模块 | 说明 |
| 基础与权限 | 登录、多网点切换、销售点、员工权限、设备绑定 | 支撑移动端多角色、多网点、多设备协同 |
| 货品与批次 | 商品列表、批次展示、供货商分组、库存展示、均重 | 快速选货和避免卖错批次 |
| 移动开票 | 快速开票、称重开票、AI 开票、退单模式、改单加货 | 开票助手最核心模块 |
| 挂单中心 | 多挂单、会员吸顶、快速切换、加货/减货、一键结算 | 支撑现场多客户并发交易 |
| 收银协同 | 开票并收款、转收银台、付款方式、档口垫付费用 | 连接批发收银系统 |
| 欠款与会员 | 会员创建、担保赊账、快捷还款、到期/逾期筛选 | 支撑批发赊账场景 |
| 采购入库 | 免入库、自营入库、代卖入库、供货商带入上次货品、多规格合并 | 开票端轻量入库能力 |
| 退单退款 | 销售退货、退款方式、退货审批、退筐单据 | 控制异常与售后风险 |
| 打印与分享 | 小票模板、针式小票、二维码、客户信息、分享图片、电子账单 | 交付交易凭证 |
| 数据看板 | 库存、销量、利润、每日单数、销售货品 | 移动端快速查看生意数据 |
| 同步与审计 | 多端同步、操作日志、分享日志、设备日志 | 保障数据一致与追责 |

4. 核心业务流程

4.1 标准移动开票流程

开票员登录 → 选择档口/销售点/网点 → 选择客户/会员 → 选择货品/批次/单位

→ 录入数量/重量/单价/金额 → 可多次过磅/扣皮重/反推重量 → 暂存或提交开票单

→ 打印小票/分享图片/生成电子账单 → 交由收银台结算或开票并收款 → 订单完成

4.2 挂单与加货减货流程

选择会员 → 新建挂单 → 加入多个货品 → 切换到其他会员继续开票

→ 从挂单中心找回单据 → 加货/减货/修改数量价格 → 一键结算

→ 生成正式开票单 → 同步收银台/批发后台

4.3 称重开票流程

选择称重商品 → 绑定单位/规格/均重 → 多次过磅记录毛重

→ 录入皮重/筐重/箱数 → 自动计算净重 → 按单价计算金额

→ 支持按金额 + 数量反推重量 → 保存称重记录 → 开票

4.4 未收银改单流程

开票单状态=待收银 → 开票员发起改单 → 增加货品/调整数量/修改单价/修改备注

→ 系统重算金额、库存锁定与欠款预估 → 保存改单记录 → 更新开票单版本

→ 收银员按最新版本结算

4.5 退单退款流程

选择原销售单 → 选择退货商品/数量/批次 → 选择退单模式和退款方式

→ 若配置审批,进入销售退货审批流程 → 审批通过后生成退单

→ 回滚库存/解除货款/生成退款或欠款冲销 → 打印/分享退货凭证

4.6 轻量入库流程

选择入库模式:免入库/自营入库/代卖入库 → 选择供货商

→ 自动带入上次货品或按供货商加货 → 录入采购员、业务员、费用、预付款

→ 多规格货品合并展示 → 生成入库批次 → 更新库存与批次成本/代卖来源

4.7 线上订货抢单流程

线上订货单进入订单池 → 开票助手按会员排序/筛选 → 批量抢单

→ 自动转换为待开票任务 → 核对商品批次与库存 → 开票/配货/结算

→ 回写线上订单状态:已接单/已配货/已送达/已完成

5. 功能模块开发方案

5.1 登录、多网点与设备绑定

|--------|-------------------------------------------------------------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 支持员工通过账号、手机号、微信等方式登录,并根据权限选择档口、销售点、多网点。 |
| 核心能力 | 多网点切换、员工权限、设备绑定、App 版本检查、数据同步状态提示。 |
| 开发要点 | 登录后返回 merchant_id、outlet_id、sales_point_id、employee_id、permission_codes、device_id;离线场景需缓存最小权限集。 |

5.2 货品选择与批次展示

|--------|----------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 解决批发档口货品多、批次多、供货商多时快速选货问题。 |
| 核心能力 | 按分类、关键词、拼音码、供货商、批次、销售点、库存状态过滤;支持四种批次展示方式。 |
| 开发要点 | 前端列表需支持高性能滚动;批次卡片展示库存、均重、供货商、入库日期、结算方式、代卖标记。 |

5.3 移动开票

|--------|-----------------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 一部手机完成批发销售开单,减少手写错误。 |
| 核心能力 | 选择会员、选货、批次、单位、数量、重量、单价、金额、备注、附加费用、抹零。 |
| 开发要点 | 开票单必须有版本号;每次改单写入日志;金额计算应统一走金额/小数位组件;库存可采用"提交开票即锁定"。 |

5.4 称重开票与反推重量

|--------|--------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 适配果蔬批发多次过磅、皮重、均重、按金额反推重量等场景。 |
| 核心能力 | 多次过磅、毛重、皮重、净重、箱数、均重、按金额+数量反推重量、AI 重量单位换算。 |
| 开发要点 | 称重记录独立落表;结算明细保存计算快照;反推重量必须记录反推来源,避免后续对账争议。 |

5.5 挂单中心

|--------|--------------------------------------|
| 项目 | 说明 |
| 功能目标 | 支持多客户同时交易,快速切换挂单并加货减货。 |
| 核心能力 | 多个挂单、会员吸顶、左右滑动/列表切换、挂单超时提醒、一键结算。 |
| 开发要点 | 挂单与正式开票单分表或用状态区分;推荐分表,避免未完成单据污染正式订单。 |

5.6 打印与分享

|--------|--------------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 让客户快速拿到交易凭证,方便微信核对和收银核对。 |
| 核心能力 | 热敏小票、针式小票、二维码、客户信息、销售点负责人、手机号、地址、大写金额、分享图片、电子账单。 |
| 开发要点 | 模板配置与打印任务分离;分享图片应记录访问权限、过期时间和是否仅本人可查看。 |

5.7 收银协同

|--------|----------------------------------------|
| 项目 | 说明 |
| 功能目标 | 开票助手既可以仅开票,也可以开票并收款,与批发易收银台联动。 |
| 核心能力 | 现金、扫码、余额、赊账、预付款、档口垫付费用、按成交金额区间筛选结算单。 |
| 开发要点 | 收银结果必须幂等回写开票单;付款记录与订单状态分离;多支付方式支持一单多付。 |

5.8 欠款、担保赊账与快捷还款

|--------|-----------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 把批发档口高频赊账场景放到开票端直接处理。 |
| 核心能力 | 会员欠款、业务员担保赊账、到期/逾期筛选、最长逾期天数、快捷还款、快捷创建会员。 |
| 开发要点 | 赊账应形成应收流水;担保关系需要记录保证人、担保额度、担保期限;还款可按订单还或按账户还。 |

5.9 采购入库与免入库

|--------|--------------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 支持档口用开票端快速把货品加入可售库存,降低后台操作成本。 |
| 核心能力 | 免入库、自营入库、代卖入库、供货商自动带入上次货品、多选、按供货商加货、单品费用、多规格合并。 |
| 开发要点 | 免入库适合不严格核算批次的档口;升鲜宝落地时如涉及成本核算,必须与 WMS 入库/成本中心区分。 |

5.10 退单、退款与审批

|--------|-------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 支持销售退货、退单模式、退款方式设置,控制异常风险。 |
| 核心能力 | 销售退货审批、退单单据、退款方式、退筐单据、库存回滚、金额冲销。 |
| 开发要点 | 已收银单退款必须走审批和资金幂等;未收银单可作废或改单;退货明细要关联原开票明细。 |

5.11 线上订货抢单

|--------|---------------------------------------|
| 项目 | 说明 |
| 功能目标 | 让开票员在移动端接收线上订单并转成开票/配货任务。 |
| 核心能力 | 订单池、批量抢单、按会员排序、接单状态、已送达标识、线上线下库存自动同步。 |
| 开发要点 | 抢单要做并发锁;库存应先锁定再开票;线上订单状态与开票单状态要建立映射表。 |

5.12 AI 开票与智能辅助

|--------|-----------------------------------------------|
| 项目 | 说明 |
| 功能目标 | 减少录入成本,提高批发现场操作效率。 |
| 核心能力 | AI 开票、语音/文本识别货品、智能换算重量单位、识别客户与商品。 |
| 开发要点 | AI 只做辅助建议,最终数据由人工确认;必须保存识别原文、识别结果、置信度、人工修正记录。 |

5.13 数据看板

|--------|---------------------------------------|
| 项目 | 说明 |
| 功能目标 | 移动端随时查看库存、销量、利润、每日单数、销售货品。 |
| 核心能力 | 今日开票金额、收款金额、欠款金额、货品销量、库存预警、个人业绩。 |
| 开发要点 | 看板可走汇总表或缓存;移动端不宜直接扫大表;老板与普通开票员数据范围不同。 |

6. 页面与菜单建议

|-------------|----------|----------------------------------|--------------------|
| 一级菜单/入口 | 页面 | 核心字段/操作 | 权限点 |
| 首页 | 今日经营看板 | 今日开票额、收款额、欠款额、单数、销售商品、库存预警 | kp:home:view |
| 开票 | 快速开票页 | 会员、货品、批次、数量、重量、单价、金额、备注、提交、打印、分享 | kp:bill:create |
| 开票 | 称重开票页 | 毛重、皮重、净重、箱数、均重、称重记录、反推重量 | kp:bill:weigh |
| 挂单 | 挂单中心 | 会员、挂单数量、最后更新时间、加货、减货、结算、删除 | kp:hang:list |
| 订单 | 开票单列表 | 待收银、已收银、已作废、已退货、改单、分享、打印 | kp:bill:list |
| 订单 | 改单加货页 | 原单信息、批次库存、新增明细、修改记录 | kp:bill:modify |
| 收银 | 结算确认页 | 应收、实收、赊账、支付方式、档口垫付费用、快捷还款 | kp:cashier:confirm |
| 会员 | 会员选择/创建页 | 手机号、名称、欠款余额、账期、担保人、逾期天数 | kp:member:select |
| 欠款 | 担保欠款管理 | 即将到期、逾期、最长逾期天数、担保业务员、快捷还款 | kp:credit:list |
| 入库 | 轻量入库页 | 供货商、采购员、货品、规格、费用、预付款、免入库、代卖入库 | kp:inbound:create |
| 退货 | 销售退货页 | 原单、退货明细、退款方式、审批状态、退款记录 | kp:return:create |
| 线上订货 | 抢单池 | 会员、订单时间、商品数、金额、排序、批量抢单 | kp:online:claim |
| 打印设置 | 小票模板 | 热敏/针式、二维码、客户信息、负责人、手机号、地址、大写金额 | kp:print:config |
| 设置 | 开票端设置 | 批次展示方式、库存展示、退单模式、退款方式、多网点切换 | kp:setting:update |

7. 关键业务规则与状态机

|--------|-----------------|-----------------|--------------------------------------|
| 对象 | 状态 | 说明 | 可流转到 |
| 挂单 | DRAFT | 草稿/挂单中,未生成正式开票单 | SUBMITTED/CANCELLED |
| 挂单 | SUBMITTED | 已转正式开票单 | 不可回退 |
| 开票单 | PENDING_CASHIER | 已开票,待收银 | PAID/CREDIT/VOID/MODIFIED |
| 开票单 | PAID | 已收银完成 | RETURNING/PART_RETURNED/FINISHED |
| 开票单 | CREDIT | 赊账完成,形成应收 | REPAID/PART_REPAID/OVERDUE/RETURNING |
| 开票单 | VOID | 未收银作废 | 不可回退 |
| 开票单 | RETURNING | 退货审批中 | RETURNED/REJECTED |
| 退货单 | WAIT_APPROVE | 等待审批 | APPROVED/REJECTED |
| 退货单 | APPROVED | 审批通过,等待退款/冲销/入库 | DONE |
| 入库单 | DRAFT | 入库草稿 | CONFIRMED/CANCELLED |
| 入库单 | CONFIRMED | 已确认,库存增加或形成可售批次 | REVERSED |
| 线上订单 | WAIT_CLAIM | 待抢单 | CLAIMED/CANCELLED |
| 线上订单 | CLAIMED | 已抢单 | BILLED/RELEASED |

  • 开票单金额、重量、数量、单价、费用和抹零必须保存快照,不能只依赖商品当前价格。
  • 称重记录应独立保存,且应包含毛重、皮重、净重、称重时间、设备号、操作人。
  • 提交开票单时建议锁定库存;收银完成后正式扣减库存;作废或退单释放/回滚库存。
  • 未收银开票单允许改单;已收银改单必须走退货、补单或补差流程。
  • 担保赊账必须保存担保业务员、担保额度、账期、最晚还款日期和逾期天数。
  • 分享电子账单必须支持访问控制:公开、仅本人、密码/验证码、过期时间。
  • AI 开票识别结果必须由人工确认后才可入账,保留原始输入与修正记录。

8. 数据库表结构总览

|---------|------------------------------------------------------------------------------------------------------------------|
| 分组 | 建议表 |
| 基础资料 | sg_kp_merchant, sg_kp_outlet, sg_kp_sales_point, sg_kp_employee, sg_kp_role, sg_kp_role_permission, sg_kp_device |
| 客户与欠款 | sg_kp_customer, sg_kp_customer_credit, sg_kp_credit_flow, sg_kp_repayment, sg_kp_guarantee |
| 货品与库存 | sg_kp_goods, sg_kp_goods_unit, sg_kp_supplier, sg_kp_goods_batch, sg_kp_stock, sg_kp_stock_lock |
| 开票与挂单 | sg_kp_hang_order, sg_kp_hang_order_item, sg_kp_bill, sg_kp_bill_item, sg_kp_bill_fee, sg_kp_bill_weigh_record |
| 收银与支付 | sg_kp_payment, sg_kp_cashier_sync, sg_kp_receipt_template, sg_kp_print_log, sg_kp_share_log |
| 入库与费用 | sg_kp_inbound, sg_kp_inbound_item, sg_kp_inbound_fee, sg_kp_supplier_goods_cache |
| 退货与审批 | sg_kp_return_order, sg_kp_return_item, sg_kp_approval_task |
| 线上订货与AI | sg_kp_online_order_claim, sg_kp_ai_bill_task, sg_kp_ai_bill_result |
| 审计与同步 | sg_kp_sync_log, sg_kp_operation_log, sg_kp_error_log |

9. 字段级数据字典

以下为竞品分析推理版字段设计。字段类型按 MySQL 8.0 设计,主键统一 bigint,金额统一 decimal(18,2),数量/重量统一 decimal(18,4),时间统一 datetime。

sg_kp_merchant(商户/档口主体)

|----------------|--------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 商户ID |
| merchant_name | varchar(100) | not null | 商户名称 |
| merchant_code | varchar(50) | unique | 商户编码 |
| contact_name | varchar(50) | null | 联系人 |
| contact_mobile | varchar(30) | null | 联系电话 |
| enabled_flag | tinyint | 1 | 启用标记 |
| created_at | datetime | not null | 创建时间 |
| updated_at | datetime | not null | 更新时间 |

sg_kp_outlet(网点/档口)

|--------------------|--------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 网点ID |
| merchant_id | bigint | idx | 商户ID |
| outlet_name | varchar(100) | not null | 网点名称 |
| address | varchar(255) | null | 地址 |
| responsible_mobile | varchar(30) | null | 负责人手机号 |
| enabled_flag | tinyint | 1 | 启用标记 |
| sort_no | int | 0 | 排序 |

sg_kp_sales_point(销售点/收银点)

|---------------------|--------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 销售点ID |
| outlet_id | bigint | idx | 所属网点 |
| point_name | varchar(100) | not null | 销售点名称 |
| responsible_user_id | bigint | null | 负责人 |
| print_header | varchar(200) | null | 小票头 |
| enabled_flag | tinyint | 1 | 启用 |

sg_kp_employee(员工)

|---------------|--------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 员工ID |
| merchant_id | bigint | idx | 商户ID |
| employee_name | varchar(50) | not null | 姓名 |
| mobile | varchar(30) | idx | 手机号 |
| role_id | bigint | idx | 角色ID |
| outlet_scope | varchar(500) | null | 可操作网点 |
| enabled_flag | tinyint | 1 | 启用 |
| last_login_at | datetime | null | 最后登录时间 |

sg_kp_customer(客户/会员)

|---------------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 客户ID |
| merchant_id | bigint | idx | 商户ID |
| customer_name | varchar(100) | not null | 客户名称 |
| mobile | varchar(30) | idx | 手机号 |
| customer_type | tinyint | 0 | 客户类型 |
| credit_enabled_flag | tinyint | 0 | 是否允许赊账 |
| credit_limit | decimal(18,2) | 0 | 授信额度 |
| account_period_days | int | 0 | 账期天数 |
| enabled_flag | tinyint | 1 | 启用 |

sg_kp_customer_credit(客户欠款账户)

|---------------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 账户ID |
| customer_id | bigint | unique | 客户ID |
| total_credit_amount | decimal(18,2) | 0 | 累计赊账 |
| repaid_amount | decimal(18,2) | 0 | 累计还款 |
| balance_amount | decimal(18,2) | 0 | 欠款余额 |
| max_overdue_days | int | 0 | 最长逾期天数 |
| last_repayment_at | datetime | null | 最近还款时间 |

sg_kp_guarantee(担保赊账关系)

|-----------------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 担保ID |
| customer_id | bigint | idx | 客户ID |
| guarantee_employee_id | bigint | idx | 担保业务员 |
| guarantee_limit | decimal(18,2) | 0 | 担保额度 |
| start_date | date | not null | 开始日期 |
| end_date | date | null | 结束日期 |
| enabled_flag | tinyint | 1 | 启用 |

sg_kp_goods(货品)

|-----------------|--------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 货品ID |
| merchant_id | bigint | idx | 商户ID |
| goods_name | varchar(120) | not null | 货品名称 |
| category_id | bigint | null | 分类ID |
| pinyin_code | varchar(80) | idx | 拼音码 |
| default_unit_id | bigint | null | 默认单位 |
| weigh_flag | tinyint | 0 | 是否称重商品 |
| enabled_flag | tinyint | 1 | 启用 |

sg_kp_goods_unit(货品单位)

|--------------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 单位关系ID |
| goods_id | bigint | idx | 货品ID |
| unit_name | varchar(30) | not null | 单位名称 |
| conversion_rate | decimal(18,6) | 1 | 换算率 |
| sales_enabled_flag | tinyint | 1 | 可销售 |
| sort_no | int | 0 | 排序 |

sg_kp_supplier(供货商/货主)

|---------------|--------------|-----------|--------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 供货商ID |
| merchant_id | bigint | idx | 商户ID |
| supplier_name | varchar(100) | not null | 供货商名称 |
| supplier_type | tinyint | 1 | 1自营供货商/2代卖货主 |
| mobile | varchar(30) | null | 手机号 |
| settle_method | tinyint | 0 | 结算方式 |
| enabled_flag | tinyint | 1 | 启用 |

sg_kp_goods_batch(货品批次)

|-------------|---------------|-----------|---------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 批次ID |
| merchant_id | bigint | idx | 商户ID |
| goods_id | bigint | idx | 货品ID |
| supplier_id | bigint | idx | 供货商/货主 |
| batch_no | varchar(50) | idx | 批次号 |
| stock_qty | decimal(18,4) | 0 | 批次库存 |
| avg_weight | decimal(18,4) | 0 | 均重 |
| cost_price | decimal(18,4) | 0 | 成本/结算价 |
| batch_type | tinyint | 1 | 1自营/2代卖 |
| inbound_at | datetime | null | 入库时间 |

sg_kp_stock(实时库存)

|----------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 库存ID |
| outlet_id | bigint | idx | 网点ID |
| sales_point_id | bigint | idx | 销售点ID |
| goods_id | bigint | idx | 货品ID |
| batch_id | bigint | idx | 批次ID |
| unit_id | bigint | idx | 单位ID |
| available_qty | decimal(18,4) | 0 | 可售数量 |
| locked_qty | decimal(18,4) | 0 | 锁定数量 |
| updated_at | datetime | not null | 更新时间 |

sg_kp_stock_lock(库存锁定)

|-------------|---------------|-----------|-------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 锁定ID |
| source_type | varchar(30) | idx | 来源类型 |
| source_id | bigint | idx | 来源单据ID |
| goods_id | bigint | idx | 货品ID |
| batch_id | bigint | idx | 批次ID |
| lock_qty | decimal(18,4) | 0 | 锁定数量 |
| status | tinyint | 0 | 0锁定/1扣减/2释放 |
| expired_at | datetime | null | 过期时间 |

sg_kp_hang_order(挂单主表)

|------------------|---------------|-----------|--------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 挂单ID |
| merchant_id | bigint | idx | 商户ID |
| outlet_id | bigint | idx | 网点ID |
| customer_id | bigint | idx | 客户ID |
| employee_id | bigint | idx | 开票员 |
| hang_code | varchar(50) | unique | 挂单号 |
| status | tinyint | 0 | 0挂单/1已转单/9取消 |
| total_amount | decimal(18,2) | 0 | 暂估金额 |
| last_operated_at | datetime | not null | 最后操作时间 |

sg_kp_hang_order_item(挂单明细)

|---------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 明细ID |
| hang_order_id | bigint | idx | 挂单ID |
| goods_id | bigint | idx | 货品ID |
| batch_id | bigint | idx | 批次ID |
| unit_id | bigint | idx | 单位ID |
| qty | decimal(18,4) | 0 | 数量 |
| weight | decimal(18,4) | 0 | 重量 |
| unit_price | decimal(18,4) | 0 | 单价 |
| amount | decimal(18,2) | 0 | 金额 |

sg_kp_bill(开票单主表)

|-----------------|---------------|-----------|-------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 开票单ID |
| bill_code | varchar(50) | unique | 开票单号 |
| merchant_id | bigint | idx | 商户ID |
| outlet_id | bigint | idx | 网点ID |
| sales_point_id | bigint | idx | 销售点ID |
| customer_id | bigint | idx | 客户ID |
| employee_id | bigint | idx | 开票员 |
| bill_type | tinyint | 1 | 1销售/2退单/3补单 |
| status | tinyint | 0 | 状态 |
| goods_amount | decimal(18,2) | 0 | 商品金额 |
| fee_amount | decimal(18,2) | 0 | 费用金额 |
| discount_amount | decimal(18,2) | 0 | 优惠/抹零 |
| total_amount | decimal(18,2) | 0 | 应收金额 |
| paid_amount | decimal(18,2) | 0 | 已收金额 |
| credit_amount | decimal(18,2) | 0 | 赊账金额 |
| version_no | int | 1 | 改单版本 |
| created_at | datetime | not null | 开票时间 |

sg_kp_bill_item(开票明细)

|---------------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 明细ID |
| bill_id | bigint | idx | 开票单ID |
| goods_id | bigint | idx | 货品ID |
| goods_name_snapshot | varchar(120) | not null | 货品名称快照 |
| batch_id | bigint | idx | 批次ID |
| batch_no_snapshot | varchar(50) | null | 批次快照 |
| supplier_id | bigint | idx | 供货商/货主 |
| unit_id | bigint | idx | 单位ID |
| qty | decimal(18,4) | 0 | 数量 |
| gross_weight | decimal(18,4) | 0 | 毛重 |
| tare_weight | decimal(18,4) | 0 | 皮重 |
| net_weight | decimal(18,4) | 0 | 净重 |
| unit_price | decimal(18,4) | 0 | 单价 |
| amount | decimal(18,2) | 0 | 金额 |
| calc_mode | tinyint | 1 | 计算方式 |

sg_kp_bill_weigh_record(称重记录)

|--------------|---------------|-----------|-------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 称重记录ID |
| bill_item_id | bigint | idx | 开票明细ID |
| device_id | bigint | idx | 称重设备ID |
| gross_weight | decimal(18,4) | 0 | 毛重 |
| tare_weight | decimal(18,4) | 0 | 皮重 |
| net_weight | decimal(18,4) | 0 | 净重 |
| weigh_time | datetime | not null | 称重时间 |
| source | tinyint | 1 | 1设备/2手工/3反推 |
| remark | varchar(255) | null | 备注 |

sg_kp_bill_fee(开票费用)

|------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 费用ID |
| bill_id | bigint | idx | 开票单ID |
| fee_type | varchar(30) | not null | 费用类型 |
| fee_name | varchar(50) | not null | 费用名称 |
| amount | decimal(18,2) | 0 | 金额 |
| payer_type | tinyint | 0 | 承担方 |
| remark | varchar(255) | null | 备注 |

sg_kp_payment(付款记录)

|----------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 付款ID |
| bill_id | bigint | idx | 开票单ID |
| payment_method | varchar(30) | not null | 支付方式 |
| payment_amount | decimal(18,2) | 0 | 支付金额 |
| transaction_no | varchar(80) | null | 支付流水号 |
| pay_status | tinyint | 0 | 支付状态 |
| paid_at | datetime | null | 支付时间 |
| operator_id | bigint | idx | 操作人 |

sg_kp_repayment(还款单)

|------------------|---------------|-----------|------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 还款ID |
| repayment_code | varchar(50) | unique | 还款单号 |
| customer_id | bigint | idx | 客户ID |
| bill_id | bigint | null | 按单还款时关联开票单 |
| repayment_amount | decimal(18,2) | 0 | 还款金额 |
| payment_method | varchar(30) | not null | 还款方式 |
| remark | varchar(255) | null | 备注 |
| created_at | datetime | not null | 还款时间 |

sg_kp_inbound(入库单主表)

|------------------|---------------|-----------|--------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 入库单ID |
| inbound_code | varchar(50) | unique | 入库单号 |
| merchant_id | bigint | idx | 商户ID |
| outlet_id | bigint | idx | 网点ID |
| supplier_id | bigint | idx | 供货商 |
| inbound_type | tinyint | 1 | 1自营/2代卖/3免入库 |
| purchaser_id | bigint | idx | 采购员 |
| business_user_id | bigint | idx | 业务员 |
| goods_amount | decimal(18,2) | 0 | 货品金额 |
| fee_amount | decimal(18,2) | 0 | 费用金额 |
| prepay_amount | decimal(18,2) | 0 | 预付款 |
| status | tinyint | 0 | 状态 |
| created_at | datetime | not null | 创建时间 |

sg_kp_inbound_item(入库明细)

|--------------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 明细ID |
| inbound_id | bigint | idx | 入库单ID |
| goods_id | bigint | idx | 货品ID |
| unit_id | bigint | idx | 单位ID |
| spec_name | varchar(80) | null | 规格 |
| qty | decimal(18,4) | 0 | 数量 |
| weight | decimal(18,4) | 0 | 重量 |
| purchase_price | decimal(18,4) | 0 | 采购价 |
| amount | decimal(18,2) | 0 | 金额 |
| generated_batch_id | bigint | null | 生成批次ID |

sg_kp_return_order(销售退货单)

|-----------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 退货单ID |
| return_code | varchar(50) | unique | 退货单号 |
| origin_bill_id | bigint | idx | 原开票单 |
| customer_id | bigint | idx | 客户ID |
| return_amount | decimal(18,2) | 0 | 退货金额 |
| refund_method | varchar(30) | null | 退款方式 |
| approval_status | tinyint | 0 | 审批状态 |
| status | tinyint | 0 | 业务状态 |
| created_at | datetime | not null | 创建时间 |

sg_kp_return_item(销售退货明细)

|---------------------|---------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 退货明细ID |
| return_id | bigint | idx | 退货单ID |
| origin_bill_item_id | bigint | idx | 原明细ID |
| goods_id | bigint | idx | 货品ID |
| batch_id | bigint | idx | 批次ID |
| return_qty | decimal(18,4) | 0 | 退货数量 |
| return_weight | decimal(18,4) | 0 | 退货重量 |
| return_amount | decimal(18,2) | 0 | 退货金额 |

sg_kp_receipt_template(小票模板)

|------------------------|--------------|-----------|---------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 模板ID |
| merchant_id | bigint | idx | 商户ID |
| template_name | varchar(100) | not null | 模板名称 |
| template_type | tinyint | 1 | 1热敏/2针式/3电子账单 |
| show_qrcode_flag | tinyint | 1 | 显示二维码 |
| show_customer_flag | tinyint | 1 | 显示客户信息 |
| show_address_flag | tinyint | 0 | 显示地址 |
| show_upper_amount_flag | tinyint | 0 | 显示大写金额 |
| enabled_flag | tinyint | 1 | 启用 |

sg_kp_print_log(打印日志)

|--------------|-------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 打印ID |
| source_type | varchar(30) | idx | 来源类型 |
| source_id | bigint | idx | 来源单据ID |
| template_id | bigint | idx | 模板ID |
| device_id | bigint | idx | 打印设备ID |
| print_status | tinyint | 0 | 打印状态 |
| print_times | int | 0 | 打印次数 |
| printed_at | datetime | null | 打印时间 |

sg_kp_share_log(分享日志)

|--------------|--------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 分享ID |
| source_type | varchar(30) | idx | 来源类型 |
| source_id | bigint | idx | 来源单据ID |
| share_token | varchar(100) | unique | 分享令牌 |
| access_scope | tinyint | 1 | 访问范围 |
| expired_at | datetime | null | 过期时间 |
| view_count | int | 0 | 查看次数 |
| created_at | datetime | not null | 创建时间 |

sg_kp_online_order_claim(线上订单抢单)

|-------------------|----------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 抢单ID |
| online_order_id | bigint | idx | 线上订单ID |
| merchant_id | bigint | idx | 商户ID |
| customer_id | bigint | idx | 客户ID |
| claim_employee_id | bigint | idx | 抢单人 |
| claim_status | tinyint | 0 | 状态 |
| claimed_at | datetime | null | 抢单时间 |
| bill_id | bigint | null | 转开票单ID |

sg_kp_ai_bill_task(AI开票任务)

|-------------------|--------------|-----------|---------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 任务ID |
| merchant_id | bigint | idx | 商户ID |
| employee_id | bigint | idx | 操作人 |
| input_type | tinyint | 1 | 输入类型:语音/文本/图片 |
| input_content | text | null | 原始输入 |
| task_status | tinyint | 0 | 任务状态 |
| confidence | decimal(6,4) | 0 | 置信度 |
| confirmed_bill_id | bigint | null | 确认生成的开票单 |
| created_at | datetime | not null | 创建时间 |

sg_kp_operation_log(操作日志)

|----------------|-------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 日志ID |
| merchant_id | bigint | idx | 商户ID |
| employee_id | bigint | idx | 操作人 |
| operation_type | varchar(50) | not null | 操作类型 |
| biz_type | varchar(50) | not null | 业务类型 |
| biz_id | bigint | idx | 业务ID |
| before_json | json | null | 变更前 |
| after_json | json | null | 变更后 |
| created_at | datetime | not null | 操作时间 |

sg_kp_sync_log(多端同步日志)

|---------------|--------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | bigint | PK | 同步ID |
| device_id | bigint | idx | 设备ID |
| sync_type | varchar(50) | not null | 同步类型 |
| last_sync_at | datetime | null | 上次同步时间 |
| sync_status | tinyint | 0 | 同步状态 |
| error_message | varchar(500) | null | 错误信息 |
| created_at | datetime | not null | 创建时间 |

10. ER 关系与数据流

10.1 主要 ER 关系

sg_kp_merchant 1 - N sg_kp_outlet 1 - N sg_kp_sales_point

sg_kp_merchant 1 - N sg_kp_employee / sg_kp_customer / sg_kp_goods / sg_kp_supplier

sg_kp_goods 1 - N sg_kp_goods_unit;sg_kp_goods + sg_kp_supplier 1 - N sg_kp_goods_batch

sg_kp_goods_batch 1 - N sg_kp_stock;sg_kp_stock_lock 关联开票单/线上订单/挂单来源

sg_kp_hang_order 1 - N sg_kp_hang_order_item,提交后转 sg_kp_bill / sg_kp_bill_item

sg_kp_bill 1 - N sg_kp_bill_item / sg_kp_bill_fee / sg_kp_payment / sg_kp_print_log / sg_kp_share_log

sg_kp_bill_item 1 - N sg_kp_bill_weigh_record

sg_kp_customer 1 - 1 sg_kp_customer_credit;sg_kp_customer 1 - N sg_kp_repayment / sg_kp_guarantee

sg_kp_inbound 1 - N sg_kp_inbound_item;入库明细生成 sg_kp_goods_batch 并更新 sg_kp_stock

sg_kp_return_order 1 - N sg_kp_return_item,退货明细关联原开票明细

10.2 开票数据流

货品/批次/库存 → 开票助手本地缓存 → 选择货品 → 开票明细 → 库存锁定

→ 提交开票单 → 打印/分享 → 收银台结算 → 支付/赊账/欠款流水

→ 扣减库存 → 同步批发后台 → 更新看板与报表

10.3 入库数据流

供货商 → 选择上次货品/按供货商加货 → 入库明细 → 费用/预付款

→ 确认入库 → 生成批次 → 增加库存 → 开票端可售批次展示

11. 接口开发清单

|--------|------------------------------------|--------|-----------------------|
| 模块 | 接口 | 方法 | 说明 |
| 登录 | /kp/auth/login | POST | 员工登录,返回 token、权限、网点列表 |
| 登录 | /kp/outlets/switch | POST | 切换网点/销售点 |
| 基础数据 | /kp/bootstrap | GET | 拉取开票端基础数据:货品、客户、权限、设置 |
| 货品 | /kp/goods/page | GET | 分页查询货品 |
| 货品 | /kp/goods/{id}/batches | GET | 查询货品可售批次与库存 |
| 客户 | /kp/customers/search | GET | 搜索客户/会员 |
| 客户 | /kp/customers/quick-create | POST | 搜索无果时快捷创建会员 |
| 挂单 | /kp/hang-orders | POST | 新建或保存挂单 |
| 挂单 | /kp/hang-orders/page | GET | 挂单列表 |
| 挂单 | /kp/hang-orders/{id}/submit | POST | 挂单转正式开票单 |
| 开票 | /kp/bills | POST | 创建开票单 |
| 开票 | /kp/bills/{id} | GET | 开票单详情 |
| 开票 | /kp/bills/{id}/modify | POST | 未收银改单/加货 |
| 开票 | /kp/bills/{id}/void | POST | 未收银作废 |
| 称重 | /kp/bills/items/{id}/weigh-records | POST | 保存称重记录 |
| 称重 | /kp/weigh/reverse | POST | 按金额和数量反推重量 |
| 收银 | /kp/bills/{id}/checkout | POST | 开票并收款 |
| 收银 | /kp/bills/{id}/push-cashier | POST | 推送到收银台 |
| 欠款 | /kp/credits/page | GET | 客户欠款列表 |
| 欠款 | /kp/credits/guarantee-alert | GET | 担保欠款到期/逾期提醒 |
| 还款 | /kp/repayments | POST | 快捷还款 |
| 入库 | /kp/inbounds | POST | 创建入库单 |
| 入库 | /kp/suppliers/{id}/last-goods | GET | 供货商上次货品 |
| 退货 | /kp/returns | POST | 创建销售退货单 |
| 退货 | /kp/returns/{id}/submit-approval | POST | 提交退货审批 |
| 线上订货 | /kp/online-orders/pool | GET | 线上订货抢单池 |
| 线上订货 | /kp/online-orders/batch-claim | POST | 批量抢单 |
| 打印 | /kp/prints/tasks | POST | 创建打印任务 |
| 分享 | /kp/shares/bill-image | POST | 生成分享图片/电子账单 |
| AI | /kp/ai/bill-tasks | POST | 创建 AI 开票识别任务 |
| 同步 | /kp/sync/push | POST | 移动端数据上行同步 |
| 同步 | /kp/sync/pull | GET | 移动端增量拉取 |
| 日志 | /kp/logs/operation | POST | 写入操作日志 |

12. 与升鲜宝落地映射

|--------------|------------------------------|---------------------------------------------------------|
| 森果开票助手能力 | 升鲜宝建议模块 | 落地说明 |
| 移动开票 | b2b/pos/wholesale-bill | 新增"批发快速开单端",可作为现有 POS 或 B2B 订货的移动开票子模块。 |
| 货品与批次选择 | pms + wms | 销售侧选 sku_unit_id;库存主核算仍按 product_sku_id + unit_id,不要混用。 |
| 称重/皮重/均重 | pos + weighing component | 与电子秤/标签秤对接,称重记录独立保存,订单明细保存快照。 |
| 挂单 | mall_shop_cart 或 pos_pending | 门店收银挂单可复用 mall_shop_cart;批发开单建议独立挂单表,避免影响会员购物车。 |
| 赊账/担保赊账 | fin_ar + crm_credit | 与客户授信、账期、应收账款、催款、对账单联动。 |
| 快捷还款 | fin_receipt | 还款进入财务收款单,按订单核销或按账户余额核销。 |
| 采购/入库 | pur + wms | 开票助手可提供轻量入库入口,但正式库存成本应交由 WMS/成本中心审核。 |
| 代卖批次 | consign_owner + wms | 建议新增货主寄售/代卖模块,并与批发销售明细关联。 |
| 小票/分享 | print/share component | 对接升鲜宝通用打印、PDF/图片/分享码组件。 |
| 线上订货抢单 | b2bmall + oms | B2B 订单池可转为开票/配货任务,库存锁定需与 OMS/WMS 统一。 |
| AI 开票 | ai-assistant | 先做语音/文本识别商品与数量,后续扩展图片识别、单据识别。 |

13. 实施优先级与研发注意事项

|------------|------------------------------------------|-----------------|
| 阶段 | 建设内容 | 目标 |
| 一期:开票闭环 | 登录、多网点、客户选择、货品批次、快速开票、挂单、小票打印、分享图片、收银台同步 | 先跑通批发档口移动开票核心场景 |
| 二期:称重与欠款 | 多次过磅、皮重、均重、反推重量、赊账、担保赊账、快捷还款 | 解决果蔬批发现场称重和赊账痛点 |
| 三期:入库与退货 | 自营/代卖入库、免入库、供货商上次货品、销售退货、退款审批 | 形成开票端轻量进销存能力 |
| 四期:线上订货与AI | 订单池抢单、AI 开票、智能单位换算、电子账单访问控制 | 提升线上线下协同和录入效率 |
| 五期:报表与风控 | 员工绩效、销售看板、异常退款、操作审计、收银监控联动 | 提高老板管理能力和风险控制能力 |

  • 开票助手不是完整财务系统,不能让移动端直接承担总账、成本重算、复杂对账责任。
  • 升鲜宝落地时要严格区分销售口径 sku_unit_id 与库存/采购口径 product_sku_id + unit_id。
  • 移动端需要考虑弱网和现场高峰,关键接口应幂等,提交开票单不能因重复点击生成多张单。
  • 称重、改单、退款、赊账、还款都属于高风险操作,必须落操作日志并可追溯。
  • 挂单数据建议设置自动过期策略,避免长期挂单占用库存或造成报表误差。
  • 小票与分享图片都属于交易凭证,模板变更后旧单仍应按交易发生时模板快照展示。
  • AI 识别结果只能作为草稿,必须经过人工确认后进入正式开票单。

14. 资料依据

|------------------|-------------------------------------------------------------------------------------------------------------------------|
| 来源 | 依据内容 |
| App Store:森果开票助手 | 产品定位为批发档口高效开单工具,支持手机/平板多端操作;公开介绍包含手机开单、选品开单、小票打印、挂单、销售数据、多端协同等。 |
| App Store 版本记录 | 公开更新记录包含批次展示设置、开票结算后查看详情/分享图片、小票展示负责人/手机号/地址、大写金额、免入库、采购员/业务员绑定、担保赊账、快捷还款、多次过磅、均重、反推重量、AI 开票、多网点、退单模式、销售退货审批、线上订货批量抢单等。 |
| 应用宝:森果开票助手 | 公开版本信息显示 2026 年更新;介绍中强调移动开单、选品开单、自定义小票、挂单、销售数据查看、多端协同。 |
| 森果批发易官网 | 批发易公开说明包含标准收银台交易、无收银台交易、货车货柜交易、线上交易,以及电子开票、收银结算、财务做账、赊账管理、数据报表、远程管理。 |
| 森果云官网 | 森果整体产品矩阵包括森果批发易、森果开票助手、森果货主帮、森果零售通、森果采购助手等,并定位于果蔬流通数智化。 |

注:本文档为竞品分析与升鲜宝研发参考材料,所有数据库表结构、字段与接口均为推理设计,不代表森果真实内部实现。

相关推荐
升鲜宝供应链及收银系统源代码服务1 天前
升鲜宝业务通用日志组件字段级前后值日志开发方案(一)---升鲜宝生鲜配送供应链管理系统源代码服务
生鲜配送源代码·生鲜供应链源代码·生鲜配送软件系统排名·猪肉生产加工系统源代码·物流配送地图线路规划·高德地图智能规划·生鲜配送线路规划
升鲜宝供应链及收银系统源代码服务2 天前
【竞品与研究】森果产品线功能开发文档及数据库表结构数据字典竞品分析推理版 (一)---升鲜宝生鲜配送供应链管理系统源代码服务
生鲜供应链源代码·供应链源代码出售·生鲜配送源代码服务·猪肉生产加工系统源代码·生鲜供应链系统·生鲜配送供应链系统源代码
升鲜宝供应链及收银系统源代码服务6 天前
升鲜宝生鲜配送供应链系统 vs_车辆管理模块开发文档 PRD(一)---升鲜宝生鲜配送供应链管理系统
spring boot·java-ee·生鲜供应链源代码·供应链源代码出售·生鲜配送源代码服务·门店连锁系统源代码·猪肉生产加工系统源代码
升鲜宝供应链及收银系统源代码服务7 天前
升鲜宝云商品库功能设计与数据库表结构详细文档(一)---升鲜宝生鲜配送供应链管理系统源代码服务
数据库·生鲜配送源代码·供应链源代码·生鲜供应链源代码·升鲜宝供应链管理系统源代码·b2b客户订货源代码
升鲜宝供应链及收银系统源代码服务14 天前
【研究与学习】悦厚系统商品模块功能设计与数据字典文档(一)---升鲜宝生鲜配送供应链管理系统
生鲜配送源代码·供应链源代码·生鲜供应链源代码·竞品研究与学习·生鲜配送软件系统排名
升鲜宝供应链及收银系统源代码服务14 天前
【研究与学习】易订货商品模块设计分析文档字段级数据字典 + 表关系 + 单位换算 + 价格/库存/促销链路(一)---升鲜宝生鲜配送供应链管理系统
生鲜配送源代码·供应链源代码·生鲜供应链源代码·竞品学习与研究·供应链源代码出售
升鲜宝供应链及收银系统源代码服务17 天前
升鲜宝云仓供应链管理系统 数据库数据字典设计 (一)---升鲜宝生鲜配送供应链管理系统
java·生鲜配送源代码·供应链源代码·生鲜供应链源代码·企业erp源代码·云仓供应链管理系统
升鲜宝供应链及收银系统源代码服务1 个月前
通用明细列表控件设计与开发文档(一)---升鲜宝生鲜配送供应链管理软件重构方案
重构·生鲜配送·生鲜配送源代码·供应链源代码·生鲜供应链源代码·企业erp源代码
升鲜宝供应链及收银系统源代码服务1 个月前
管理类软件通用高级查询组件(一)---升鲜宝生鲜配送供应链管理软件重构方案
java·重构·生鲜配送源代码·供应链源代码·生鲜供应链源代码