需求文档

财务模块-新需求整理与开发

财务ERP系统需求规格说明书与开发方案
版本历史 

 

 

 

 

 

 

 

 

 日期 

 版本 

 修改内容 

 作者 

 

 

 

 

 2026-06-25 

 v1.0 

 初始版本 

 架构组 

 

 

 

 

 

 1. 项目概述 

 1.1 项目背景 

 本公司目前财务管理分散在多个系统（金蝶、飞书多维表格、Wimoor ERP、海外仓、OMS等），缺乏统一的财务核算与报表体系。为满足合规要求、提高核算效率、实现业财一体化，决定自建财务ERP会计模块，作为现有业务系统的补充与整合。 

 1.2 系统目标 

 

 

 统一会计核算 ：建立标准化的会计科目、账套、凭证、报表体系。 

 

 

 多数据源自动记账 ：对接飞书多维表格、亚马逊结算报告、采购模块、支付平台等，自动生成会计凭证。 

 

 

 全链路台账管理 ：实现采购账户、供应商、发票、库存（进销存）的精细化管理，支持账期、对账、分摊等复杂业务场景。 

 

 

 合规留痕 ：四票一致（合同、发票、物流、付款）与业务附件留存，满足税务稽查与审计要求。 

 

 

 灵活报表与合并 ：支持单个账套报表及多账套合并，提供资产负债表、利润表、现金流量表等标准财务报表。 

 

 

 权限与隔离 ：支持按账套、科目、操作权限精细化控制，满足多公司、多项目的数据隔离与授权需求。 

 

 

 1.3 适用范围 

 本系统服务于公司财务部、采购部、物流部、运营部及管理层，覆盖跨境电商全业务流程（采购、物流、销售、支付、库存、税务）。 

 

 2. 总体功能架构 

 系统分为 基础设置 、 凭证管理 、 自动记账 、 台账管理 、 报表中心 、 结账处理 六大模块。 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 3. 功能需求详述 

 3.1 基础设置 

 3.1.1 会计科目 

 

 

 科目结构 ：支持多级科目（如一级、二级、三级），编码使用数字分层（如10020101）。 

 

 

 科目属性 ：需指定是否为“现金及现金等价物科目”、“非现金科目”；支持多币种（默认人民币，可设置外币）。 

 

 

 辅助核算 ：支持按供应商、客户、部门、存货、项目等进行辅助核算，便于报表多维分析。 

 

 

 科目禁用/启用 ：支持科目停用，历史数据保留。 

 

 

 科目复制 ：支持从金蝶或现有模板快速导入。 

 

 

 3.1.2 账套管理 

 

 

 账套定义 ：代表一个独立的会计核算主体（如公司、店铺、项目）。 

 

 

 账套组合 ：允许创建“合并账套”，其数据为多个子账套的汇总（如集团账套包含所有子公司）。 

 

 

 账套权限 ：用户可被授予特定账套的查看/登记权限，各账套数据隔离。 

 

 

 账套参数 ：每个账套可独立设置本位币、会计期间、小数位数等。 

 

 

 3.1.3 用户与权限 

 

 

 功能权限 ：控制用户对各菜单模块的访问（查看、新增、修改、删除、审核）。 

 

 

 数据权限 ：按账套、科目范围限制数据可见性。 

 

 

 操作审计 ：记录所有关键操作（凭证录入、审核、修改）的日志（时间、操作人、IP）。 

 

 

 3.1.4 进销存配置 

 

 

 采购账户配置 ：定义采购支付账户类型（现金/账期）、费用类型、对应会计科目、凭证生成规则（详见3.4.1）。 

 

 

 供应商配置 ：维护供应商基本信息及多个收款账户（公司名称、银行账号），支持默认设置。 

 

 

 存货核算方法 ：仅支持移动加权平均法，系统自动计算出库成本。 

 

 

 仓库设置 ：区分本地仓库与FBA仓库，设定对应的科目映射。 

 

 

 3.2 凭证管理 

 3.2.1 手工录入凭证 

 

 

 凭证要素 ：凭证字（收、付、转、记）、凭证号、日期、账套、制单人、摘要、会计科目（带辅助核算）、借贷方金额、币别/汇率、附件张数。 

 

 

 借贷平衡校验 ：自动校验借贷合计是否相等，不相等禁止保存。 

 

 

 凭证模板 ：支持保存常用分录模板，提高录入效率。 

 

 

 凭证审核 ：需审核后方可生成报表；支持反审核。 

 

 

 3.2.2 凭证查询与导出 

 

 

 多维筛选 ：按凭证字号、日期范围、账套、科目、制单人、来源模块、摘要模糊搜索等。 

 

 

 显示原币 ：支持显示外币凭证的原币金额及折算本位币金额。 

 

 

 导出格式 ：支持导出为Excel、PDF，用于打印或外部审计。 

 

 

 3.2.3 凭证附件 

 

 

 每张凭证可关联多个附件（图片、PDF、Excel等），附件存储于服务器并加密，保存期限不少于10年。 

 

 

 支持从飞书审批、多维表格自动关联附件。 

 

 

 3.3 自动记账 

 3.3.1 飞书多维表格连接 

 

 

 配置模板 ：定义多维表格数据源（API Token、表格ID）、字段映射（账套、日期、金额、科目等）、筛选条件、凭证生成规则。 

 

 

 生成方式 ：支持前端手动触发（勾选记录发送至ERP）或定时轮询自动生成。 

 

 

 异常处理 ：记录未成功生成凭证的异常数据，提供异常列表供人工处理。 

 

 

 典型应用 ：工资分摊、行政费用付款、报销审批等。 

 

 

 3.3.2 亚马逊月度结算数据自动凭证 

 

 

 数据来源 ：通过SP-API获取Settlement Report或Payment Report，按月度汇总。 

 

 

 凭证逻辑 ： 

 

 

 按回款日期确认收入，借：应收账款-亚马逊平台，贷：主营业务收入（按商品类别）、其他业务收入（运费等）。 

 

 

 平台费用（佣金、仓储费、广告费等）计入费用科目，借：销售费用/管理费用，贷：应收账款-亚马逊平台。 

 

 

 汇率使用当月中国外汇交易中心公布的中间价。 

 

 

 

 

 附件留存 ：自动下载月度结算PDF作为凭证附件。 

 

 

 3.3.3 采购模块自动记账（详见3.4.1） 

 

 

 采购订单付款、入库、发票入账等操作实时生成会计凭证。 

 

 

 3.3.4 支付平台出账 

 

 

 连连星球等支付平台 ：提供模块展示各币种余额，出账时按账套分摊金额，生成凭证（借：内部往来/费用，贷：其他货币资金-连连）。 

 

 

 内部往来 ：用于账套间资金调拨，合并报表时抵消为零。 

 

 

 3.4 台账管理（核心模块） 

 3.4.1 采购账户台账 

 

 

 功能目标 ：管理所有采购支付账户（现金类/账期类）的收支明细、余额、对账；支持账期结算与批量付款。 

 

 

 数据来源 ：采购订单付款、台账付款（账期还款）、退款等操作。 

 

 

 筛选视图 ：按采购账户、账套、时间、付款/库存/发票状态多维过滤。 

 

 

 台账付款（账期类） ： 

 

 

 支持勾选多条未付记录，统一生成付款单，选择现金类账户进行实际支付。 

 

 

 支持Excel模板批量导入付款明细（用于跨境直采等批量场景）。 

 

 

 付款时自动生成凭证（借：应付账款-供应商，贷：其他货币资金/银行存款）。 

 

 

 

 

 退款处理 ：支持部分或全额退款，自动生成红字凭证冲销原分录。 

 

 

 余额/对账 ：提供账户余额统计、与银行流水对账功能（后续对接银行API）。 

 

 

 3.4.2 供应商台账 

 

 

 功能目标 ：管理供应商的应付、预付、发票、库存状态。 

 

 

 核心字段 ：供应商、订单、SKU、收款账号、付款状态、库存状态、发票状态。 

 

 

 发票入账 ：支持勾选未开票记录，关联数电发票（通过API获取）生成凭证（借：预付账款-在途发票，贷：预付账款-采购供应商）。 

 

 

 对账单导出 ：可按供应商导出未开票明细，用于催开发票。 

 

 

 3.4.3 发票台账 

 

 

 数据同步 ：通过税局API（或金蝶接口）获取数电发票信息（发票号码、销方、金额、税额、状态）。 

 

 

 台账展示 ：按账套、销方、时间筛选，显示发票状态（未入账/已入账/作废/红冲等）。 

 

 

 入账操作 ：支持手工选择发票并生成凭证（借：费用/库存，贷：预付账款-供应商），可分摊到不同账套。 

 

 

 统计分析 ：按账簿汇总发票金额、税额，比对账面预付账款余额。 

 

 

 3.4.4 本地仓库台账（进销存） 

 

 

 核算方式 ：移动加权平均法，每笔入库重新计算单位成本。 

 

 

 汇总账 ：按月展示SKU的期初、入库、出库、期末数量与金额，提供勾稽校验（与科目余额对比）。 

 

 

 明细账 ：按时间、操作类型（采购入库、销售出库、盘点盈亏、调拨等）展示每次变动明细，点击可联查对应凭证。 

 

 

 成本计算 ：自动计算每次出库成本（出库数量 × 当前移动平均单价），保留精度，避免尾差。 

 

 

 3.4.5 FBA仓库台账 

 

 

 数据来源 ：亚马逊库存报告（Inventory Health Report）及发货记录。 

 

 

 核算方式 ：按月汇总核算，发货至FBA时按移动加权价结转成本。 

 

 

 勾稽校验 ：与亚马逊平台报告核对，确保库存价值准确。 

 

 

 3.5 报表中心 

 

 

 科目余额表 ：展示所选期间各科目期初、发生额、期末余额，支持外币原币与本位币双列显示。 

 

 

 明细账/总账 ：按科目查询所有凭证明细，支持导出。 

 

 

 资产负债表 ：按标准格式（期末余额、年初余额）自动生成，项目名称与金蝶一致。 

 

 

 利润表 ：支持月、季、年，展示本期金额与本年累计，可隐藏/显示成本占比。 

 

 

 现金流量表 ：按直接法编制，提供试算平衡校验。 

 

 

 所有者权益变动表 ：年报格式，暂简化处理。 

 

 

 3.6 结账处理 

 

 

 期末调汇 ：对外币科目按月末汇率调整汇兑损益。 

 

 

 结转销售成本 ：根据出库记录自动计算并生成凭证（借：主营业务成本，贷：库存商品）。 

 

 

 结转损益 ：将损益类科目余额结转至本年利润。 

 

 

 结账 ：结账后禁止修改该期间凭证，支持反结账。 

 

 

 

 4. 非功能需求 

 4.1 性能要求 

 

 

 支持并发用户数≥50，凭证查询响应时间≤2秒。 

 

 

 月度结算数据生成凭证（约1万条记录）处理时间≤5分钟。 

 

 

 数据库读写分离，历史数据归档。 

 

 

 4.2 安全性 

 

 

 数据传输HTTPS加密，敏感字段（金额）数据库加密存储。 

 

 

 操作日志保留不少于180天，审计日志保留不少于10年。 

 

 

 防SQL注入、XSS攻击，接口鉴权采用JWT Token。 

 

 

 4.3 可靠性 

 

 

 系统可用性≥99.9%，每日自动备份数据库与附件。 

 

 

 异常数据自动记录并告警（邮件/飞书通知）。 

 

 

 4.4 可维护性 

 

 

 模块化、微服务化设计（可拆分会计核心、台账、报表独立服务）。 

 

 

 配置化程度高（科目映射、凭证模板、连接器均支持界面配置）。 

 

 

 

 5. 技术架构 

 5.1 整体技术栈 

 

 

 后端 ：Spring Boot 2.7+，Spring Security，MyBatis-Plus，MySQL 8.0，Redis（缓存），RabbitMQ（异步任务）。 

 

 

 前端 ：Vue 3 + TypeScript，Element Plus，Vite，Axios。 

 

 

 部署 ：Docker容器化，Nginx负载均衡，Jenkins CI/CD。 

 

 

 5.2 模块划分（后端微服务） 

 

 

 

 

 

 

 

 

 服务名 

 职责 

 

 

 

 

 accounting-core 

 科目、账套、凭证、基础设置、手工录入、查询 

 

 

 automation-service 

 自动记账引擎（多维表格、亚马逊、采购事件） 

 

 

 ledger-service 

 台账管理（采购账户、供应商、发票、库存） 

 

 

 report-service 

 报表生成（科目余额表、三表等） 

 

 

 file-service 

 附件存储与管理 

 

 

 auth-service 

 用户认证与权限 

 

 

 

 

 5.3 数据库设计概要（核心表） 

 

 

 account_set （账套表） 

 

 

 account_subject （科目表，含辅助核算字段） 

 

 

 voucher （凭证主表） 

 

 

 voucher_detail （凭证分录明细，含外币字段） 

 

 

 auto_template （自动凭证模板配置） 

 

 

 purchase_account （采购账户） 

 

 

 purchase_order （采购订单） 

 

 

 purchase_payment （采购付款记录） 

 

 

 supplier （供应商） 

 

 

 invoice （发票台账） 

 

 

 inventory_transaction （库存变动明细） 

 

 

 warehouse_stock （仓库库存余额） 

 

 

 5.4 关键接口设计（RESTful） 

 

 

 /api/v1/accounting/...  凭证相关 

 

 

 /api/v1/ledger/purchase-account/...  采购台账 

 

 

 /api/v1/automation/feishu/...  飞书连接 

 

 

 /api/v1/report/...  报表数据 

 

 

 

 6. 开发计划（分阶段实施） 

 

 

 

 

 

 

 

 

 阶段 

 时间节点 

 主要内容 

 备注 

 

 

 

 

 第一阶段 

 2026-10 ~ 2027-02 

 基础设置（科目、账套、权限）、手工凭证、凭证查询、基础报表（科目余额表） 

 核心基建 

 

 

 第二阶段 

 2027-03 ~ 2027-05 

 自动记账：飞书多维表格连接、亚马逊月度数据自动凭证、结账处理（调汇、结转） 

 提高效率 

 

 

 第三阶段 

 2027-06 ~ 2027-09 

 进销存模块（采购账户台账、供应商台账、发票台账、仓库台账）及关联凭证生成 

 业财融合 

 

 

 第四阶段 

 2027-10 ~ 2027-12 

 完善报表（三表）、权限深化、附件管理、多币种优化、性能调优 

 精细化 

 

 

 后续 

 2028+ 

 对接银行API、税务接口、更多平台（Wimoor、海外仓） 

 生态扩展 

 

 

 

 

 

 7. 关键业务规则说明 

 

 

 损益类科目红字规则 ：损益类科目不允许借方蓝字，必须记贷方红字（负数），以保证利润表取数正确。 

 

 

 凭证日期 ：必须等于业务实际发生日期（如付款日期、收入确认日期），不得随意提前或推后。 

 

 

 内部往来抵消 ：多账套合并报表时，内部往来科目（如其他应收款-账套间）必须清零。 

 

 

 库存成本核算 ：采用移动加权平均，每次出库成本 = 出库数量 × 当前移动平均单价；库存余额不通过单价×数量反算，而通过期初+入库-出库滚动计算。 

 

 

 附件保存 ：所有凭证和重要业务单据（合同、发票、物流单）均需上传附件，电子档案保存不少于10年。 

 

 

 

 8. 开发注意事项 

 

 

 前端适配 ：大量表格需支持动态列、排序、筛选、导出，建议封装通用表格组件。 

 

 

 性能优化 ：台账页面数据量大，需后端分页、前端虚拟滚动。 

 

 

 安全性 ：金额字段前端展示需千分位格式化，但传输时保持原始数值。 

 

 

 国际化 ：预留多语言接口（目前仅中文）。 

 

 

 测试重点 ：凭证借贷平衡、外币折算、移动加权平均计算、自动生成凭证的异常处理。 

 

 

 

 9. 附录：参考文档与资源 

 

 

 金蝶会计科目体系参考 

 

 

 亚马逊SP-API文档 

 

 

 飞书多维表格API 

 

 

 公司内部《2025-财务及海关ERP设计方案》

财务ERP - 进销存模块（采购与台账）详细开发文档
版本历史 

 

 

 

 

 

 

 

 

 版本 

 日期 

 修改内容 

 作者 

 

 

 

 

 v1.0 

 2026-06-25 

 基于20260618需求梳理，定义采购模块与台账功能 

 架构组 

 

 

 

 

 

 1. 模块定位与范围 

 1.1 模块目标 

 实现采购业务全流程的财务核算与台账管理，打通 采购订单 → 付款 → 入库 → 发票 的业务闭环，并提供多维度的台账查询与对账功能。本模块作为现有  wimoor-finance  微服务的扩展，复用已有凭证、科目、辅助核算等基础能力。 

 1.2 涉及功能清单 

 

 

 进销存配置 ：采购账户、供应商收款账户、库存核算方法、凭证科目映射 

 

 

 采购单（会计版） ：创建、付款、退款、入库、退货，状态追踪 

 

 

 采购账户台账 ：多维度查询、台账付款（账期结算）、批量上传对账单、退款处理 

 

 

 供应商台账 ：按供应商汇总应付/已付/待付、库存价值、发票状态，支持发票入账 

 

 

 发票台账 ：数电发票同步、入账、查询、统计分析 

 

 

 本地仓库台账 ：移动加权平均核算，汇总账与明细账，与总账勾稽 

 

 

 FBA仓库台账 ：与亚马逊库存报告对接，按月汇总核算（后续迭代） 

 

 

 1.3 依赖关系 

 

 

 复用  wimoor-finance  现有表： fin_accounting_subjects 、 fin_vouchers 、 fin_voucher_entries 、 fin_auxiliary_* 、 fin_currency 

 

 

 调用  wimoor-erp  模块：供应商基础信息、SKU信息、仓库信息 

 

 

 调用  wimoor-amazon  模块：FBA库存报告数据（后续） 

 

 

 调用  wimoor-admin  模块：飞书多维表格连接配置（用于发票同步等） 

 

 

 

 2. 数据库设计（新增表） 

 2.1 采购账户表  fin_purchase_account 

 已在原文档中定义，此处补充字段说明： 

 

 

 

 

 

 

 

 

 字段 

 类型 

 说明 

 

 

 

 

 id 

 bigint unsigned 

 主键 

 

 

 groupid 

 bigint unsigned 

 租户ID（账套） 

 

 

 account_name 

 varchar(100) 

 账户名称，如“公户现金”“跨境直采” 

 

 

 account_type 

 tinyint 

 1-现金，2-账期 

 

 

 related_subject_id 

 bigint unsigned 

 对应会计科目ID（如“银行存款-浦发”） 

 

 

 config_json 

 json 

 完整配置：费用类型列表、归属标记、借贷科目映射、退款设置、支持的付款账户等 

 

 

 is_enabled 

 tinyint 

 是否启用 

 

 

 created_time 

 datetime 

   

 

 

 updated_time 

 datetime 

   

 

 

 

 

 config_json 结构示例： 

 

 

 

 

 json 

 

 

 

 

 {

 "feeTypes": [

 { "code": "GOODS", "name": "货款", "isSupplierRelated": true },

 { "code": "FREIGHT", "name": "运费", "isSupplierRelated": true },

 { "code": "SERVICE", "name": "跨境直采手续费", "isSupplierRelated": false }

 ],

 "paySubjectMapping": {

 "GOODS": { "debitSubjectId": 101, "creditSubjectId": 201 },

 "FREIGHT": { "debitSubjectId": 102, "creditSubjectId": 201 },

 "SERVICE": { "debitSubjectId": 501, "creditSubjectId": 201 }

 },

 "refundMapping": {

 "GOODS": { "debitSubjectId": 201, "creditSubjectId": 101 },

 "FREIGHT": { "debitSubjectId": 201, "creditSubjectId": 102 }

 },

 "creditPayAccounts": [ // 仅账期类型有效，可选的现金账户列表

 { "cashAccountId": 1, "subjectMapping": { "debit": 301, "credit": 201 } }

 ]

} 

 

 2.2 采购订单表  fin_purchase_order 

 已在原文档中定义，补充以下索引和约束： 

 

 

 

 

 sql 

 

 

 

 

 ALTER TABLE `fin_purchase_order` 

ADD INDEX `idx_status_pay` (`status_pay`),

ADD INDEX `idx_status_inv` (`status_inv`),

ADD INDEX `idx_status_stock` (`status_stock`); 

 

 2.3 采购付款明细表  fin_purchase_payment 

 已在原文档定义，确保与  purchase_order_id  和  voucher_id  关联。 

 2.4 供应商收款账户表  fin_supplier_bank 

 （新增）用于维护供应商的多个收款账户信息： 

 

 

 

 

 sql 

 

 

 

 

 CREATE TABLE `fin_supplier_bank` (

 `id` bigint unsigned NOT NULL AUTO_INCREMENT,

 `groupid` bigint unsigned NOT NULL,

 `supplier_id` bigint unsigned NOT NULL,

 `bank_name` varchar(100) COLLATE utf8mb4_bin DEFAULT NULL,

 `account_name` varchar(100) COLLATE utf8mb4_bin NOT NULL,

 `account_no` varchar(50) COLLATE utf8mb4_bin NOT NULL,

 `is_default` tinyint DEFAULT '0',

 `is_enabled` tinyint DEFAULT '1',

 `created_time` datetime DEFAULT NULL,

 PRIMARY KEY (`id`),

 KEY `idx_supplier` (`supplier_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='供应商收款账户'; 

 

 2.5 库存余额表  fin_warehouse_stock 

 已在原文档定义，新增  warehouse_type  字段区分本地/FBA： 

 

 

 

 

 sql 

 

 

 

 

 ALTER TABLE `fin_warehouse_stock` ADD COLUMN `warehouse_type` tinyint DEFAULT '1' COMMENT '1-本地，2-FBA'; 

 

 2.6 库存变动明细表  fin_inventory_transaction 

 已在原文档定义。 

 2.7 采购发票关联表（可选） 

 为支持“一张发票对应多笔采购订单”，可新增中间表，但当前简化设计，发票直接关联凭证，通过凭证分录的辅助核算追踪订单，暂不建中间表。 

 

 3. 核心业务逻辑 

 3.1 采购付款凭证生成规则（完整版） 

 根据需求，采购付款涉及三个环节： 付款 、 在途库存确认 、 发票入账 。系统按以下规则自动生成凭证。 

 3.1.1 现金类账户付款（公户、跨境直采等） 

 

 

 付款时（采购单点击“付款”） ： 

 

 

 凭证1（付款）： 

 

 

 

 

 text 

 

 

 

 

 借：预付账款-ERP采购供应商 (供应商辅助核算)

贷：银行存款-浦发银行(2384) / 其他货币资金-连连跨境直采 

 

 

 

 凭证2（在途库存）： 

 

 

 

 

 text 

 

 

 

 

 借：在途库存_XX本地仓库 (存货辅助核算)

贷：预付账款-ERP在途发票 

 

 

 

 

 

 收到发票时（发票入账操作） ： 

 

 

 

 

 text 

 

 

 

 

 借：预付账款-ERP在途发票

贷：预付账款-ERP采购供应商 

 

 

 

 入库时（采购单收货） ： 

 

 

 

 

 text 

 

 

 

 

 借：库存商品_XX本地仓库 (存货辅助核算)

贷：在途库存_XX本地仓库 

 

 

 

 3.1.2 账期类账户付款（先采后付、公户请款等） 

 

 

 采购单点击“付款”（即发起请款） ： 

 

 

 

 

 text 

 

 

 

 

 借：预付账款-ERP采购供应商

贷：应付账款_1688先采后付 （或应付账款_公户请款即付等） 

 

 

 

 在途库存确认 （同3.1.1）： 

 

 

 

 

 text 

 

 

 

 

 借：在途库存_XX本地仓库

贷：预付账款-ERP在途发票 

 

 

 

 台账付款（实际还款） ： 

 

 

 借：应付账款_1688先采后付 

 

 

 贷：银行存款-浦发 / 其他货币资金-连连跨境直采 

 

 

 若有跨境直采手续费，另加一笔： 

 

 

 

 

 text 

 

 

 

 

 借：财务费用_跨境直采

贷：其他货币资金-连连跨境直采 

 

 

 

 

 

 3.1.3 退款处理 

 退款时，根据已付款、已入库、已开票的不同状态，系统自动生成红字冲销凭证（方向相反），并更新台账。具体规则已在需求中列出，此处不再赘述。 

 3.1.4 辅助核算要求 

 所有涉及供应商的科目必须启用“供应商”辅助核算；涉及存货的科目启用“存货”辅助核算（即SKU）。系统在生成凭证时自动填充  fin_voucher_entries_auxiliary  表。 

 

 3.2 移动加权平均成本计算 

 在每次采购入库、盘盈入库时，重新计算库存单价。出库时，出库成本 = 出库数量 × 当前移动单价。 

 Java 核心实现： 

 

 

 

 

 java 

 

 

 

 

 @Component

public class MovingAverageCostCalculator {

 /**

 * 计算新移动平均单价

 * @param currentQty 当前数量

 * @param currentAmount 当前金额

 * @param inQty 入库数量（正数）

 * @param inAmount 入库金额（正数）

 * @return 新单价，保留4位小数

 */

 public BigDecimal calculateNewUnitCost(BigDecimal currentQty, BigDecimal currentAmount,

 BigDecimal inQty, BigDecimal inAmount) {

 if (inQty.compareTo(BigDecimal.ZERO) == 0) {

 return BigDecimal.ZERO;

 }

 BigDecimal newQty = currentQty.add(inQty);

 if (newQty.compareTo(BigDecimal.ZERO) == 0) {

 return BigDecimal.ZERO;

 }

 BigDecimal newAmount = currentAmount.add(inAmount);

 return newAmount.divide(newQty, 4, RoundingMode.HALF_UP);

 }

 /**

 * 计算出库成本（金额）

 */

 public BigDecimal calculateOutCost(BigDecimal qty, BigDecimal unitCost) {

 return qty.multiply(unitCost).setScale(2, RoundingMode.HALF_UP);

 }

} 

 

 库存余额更新（确保不反算）： 

 

 

 

 

 java 

 

 

 

 

 @Transactional

public void updateStockForTransaction(InventoryTransactionDTO dto) {

 // 1. 获取当前期间库存

 WarehouseStock stock = stockMapper.selectBySkuPeriod(...);

 BigDecimal oldQty = stock.getCurrentQty();

 BigDecimal oldAmount = stock.getCurrentAmount();

 BigDecimal oldUnitCost = stock.getUnitCost();

 if (dto.getTransType() == PURCHASE_IN) {

 // 入库：重新计算单价

 BigDecimal newUnitCost = calculateNewUnitCost(oldQty, oldAmount, dto.getQty(), dto.getAmount());

 stock.setUnitCost(newUnitCost);

 stock.setCurrentQty(oldQty.add(dto.getQty()));

 stock.setCurrentAmount(oldAmount.add(dto.getAmount()));

 } else if (dto.getTransType() == SALE_OUT) {

 // 出库：使用当前单价计算成本

 BigDecimal cost = calculateOutCost(dto.getQty().abs(), oldUnitCost);

 dto.setAmountChange(cost.negate()); // 记录变动金额

 stock.setCurrentQty(oldQty.subtract(dto.getQty().abs()));

 stock.setCurrentAmount(oldAmount.subtract(cost));

 // 单价不变

 }

 // 其他类型（调拨、盘点等）类似...

 stockMapper.updateById(stock);

 // 插入变动明细

 inventoryTransactionMapper.insert(buildTransaction(dto, oldUnitCost));

} 

 

 

 3.3 采购账户台账查询与批量付款 

 3.3.1 台账列表查询 

 支持多维度筛选（采购账户、账套、时间、状态），返回以下核心字段： 

 

 

 账簿、采购账户、采购订单号、SKU、供应商、收款账号 

 

 

 付款状态、库存状态、发票状态 

 

 

 金额字段：订单金额、请款金额（归属供应商）、已付金额、待付金额 

 

 

 库存字段：库存价值、已入库价值、待入库价值 

 

 

 发票字段：应开票金额、已开票金额、待开票金额 

 

 

 SQL 查询核心（MyBatis XML）： 

 

 

 

 

 xml 

 

 

 

 

 <select id="queryLedgerList" resultType="com.wimoor.finance.vo.PurchaseLedgerVO">

 SELECT 

 po.groupid,

 po.id as orderId,

 po.sku,

 s.name as supplierName,

 sb.account_no as bankAccount,

 po.total_amount,

 po.paid_amount,

 po.inventory_value,

 po.invoiced_amount,

 -- 计算待付、待入库、待开票

 (po.total_amount - po.paid_amount) as pending_pay,

 (po.inventory_value - IFNULL(SUM(ir.received_value),0)) as pending_stock,

 (po.total_amount - po.invoiced_amount) as pending_invoice,

 po.status_pay,

 po.status_stock,

 po.status_inv

 FROM fin_purchase_order po

 LEFT JOIN t_erp_supplier s ON po.supplier_id = s.id

 LEFT JOIN fin_supplier_bank sb ON s.id = sb.supplier_id AND sb.is_default=1

 LEFT JOIN fin_inventory_transaction ir ON po.id = ir.source_doc_id AND ir.trans_type='RECEIVE'

 WHERE po.groupid = #{groupid}

 <if test="accountIds != null and accountIds.size()>0">

 AND po.purchase_account_id IN 

 </if>

 <if test="startDate != null"> AND po.created_time >= #{startDate} </if>

 <if test="endDate != null"> AND po.created_time < #{endDate} </if>

 <if test="payStatus != null"> AND po.status_pay IN ... </if>

 GROUP BY po.id

 ORDER BY po.created_time DESC

</select> 

 

 3.3.2 台账付款操作 

 

 

 前端勾选多条记录 → 调用  /api/finance/ledger/purchase-account/ledger-pay 

 

 

 后端校验：所有记录必须属于同一个账期采购账户；必须选择现金类付款账户 

 

 

 生成凭证（借贷科目按配置）并插入  fin_purchase_payment ，更新  paid_amount  和状态 

 

 

 支持分摊：若付款金额与应付总额不一致，按比例分摊到尾差处理 

 

 

 批量上传对账单（Excel）流程： 

 

 

 下载模板（含列：采购订单号、SKU、应付金额、本次付款金额、费用类型） 

 

 

 用户填写后上传 

 

 

 后端解析，校验订单号有效、未超额付款 

 

 

 预览确认，用户提交 

 

 

 批量生成付款记录和凭证 

 

 

 

 3.4 供应商台账与发票入账 

 3.4.1 供应商台账查询 

 与采购账户台账类似，但按 供应商 维度汇总，展示： 

 

 

 供应商、账簿、采购订单明细 

 

 

 应付/已付/待付（归属供应商） 

 

 

 库存价值、已入库、待入库 

 

 

 应开票、已开票、待开票 

 

 

 3.4.2 发票入账操作 

 

 

 前端勾选多条未开票记录 → 选择数电发票（从发票台账中选） 

 

 

 调用  /api/finance/ledger/invoice/post 

 

 

 后端：生成凭证： 

 

 

 

 

 text 

 

 

 

 

 借：预付账款-ERP在途发票

贷：预付账款-ERP采购供应商 

 

 

 

 同时更新采购订单的  invoiced_amount  和  status_inv ，更新发票的  posting_status=1 、 voucher_id 

 

 

 支持发票分摊到多条订单（按订单待开票金额比例） 

 

 

 

 3.5 发票台账同步与入账 

 3.5.1 发票数据同步 

 

 

 定时任务调用税局电子发票API（或从金蝶拉取），将数电发票信息写入  fin_invoice 

 

 

 同步时，根据发票销方税号匹配内部供应商（ supplier_id ），若无法匹配则记录为“待匹配” 

 

 

 同步后，发票状态默认为“正常” 

 

 

 3.5.2 发票台账查询 

 提供多维度筛选（账簿、销方、日期、入账状态、发票状态），展示发票号码、开票日期、价税合计、税额、入账状态等。 

 3.5.3 手工入账（未匹配自动入账） 

 用户可在发票台账页面勾选发票，选择“入账”，系统生成凭证（借：预付账款-ERP在途发票 贷：预付账款-ERP采购供应商），并关联供应商（若之前未匹配）。 

 

 3.6 本地仓库台账（移动加权平均核算） 

 3.6.1 汇总账 

 按“期间 + 账簿 + SKU + 仓库”展示期初、入库、出库、期末的数量和金额。 

 

 

 期初 = 上一期间期末 

 

 

 入库 = 所有  PURCHASE_IN  类型变动汇总 

 

 

 出库 = 所有  SALE_OUT  类型变动汇总 

 

 

 期末 = 期初 + 入库 - 出库 

 

 

 勾稽校验 ：期末金额应与对应会计科目（库存商品）余额一致，若不一致，系统提示差异。 

 3.6.2 明细账 

 展示每笔库存变动明细：操作时间、类型、数量、单价、金额变动、关联单据号、凭证号。支持按SKU、仓库、时间筛选。 

 

 4. API 接口详细设计 

 4.1 采购账户管理 

 

 

 

 

 

 

 

 

 方法 

 路径 

 说明 

 请求参数 

 

 

 

 

 POST 

 /api/finance/purchase/account/create 

 创建采购账户 

 PurchaseAccountSaveDTO 

 

 

 PUT 

 /api/finance/purchase/account/update 

 更新配置 

 PurchaseAccountUpdateDTO 

 

 

 GET 

 /api/finance/purchase/account/list 

 查询可用账户 

 groupid 

 

 

 GET 

 /api/finance/purchase/account/detail/{id} 

 获取详情 

 id 

 

 

 

 

 4.2 采购订单（会计版） 

 

 

 

 

 

 

 

 

 方法 

 路径 

 说明 

 请求参数 

 

 

 

 

 POST 

 /api/finance/purchase/order/create 

 创建采购订单（从ERP业务单转换） 

 PurchaseOrderSaveDTO 

 

 

 POST 

 /api/finance/purchase/order/pay 

 付款（生成凭证） 

 PurchasePayDTO （含付款账户、费用明细） 

 

 

 POST 

 /api/finance/purchase/order/refund 

 退款 

 RefundDTO 

 

 

 POST 

 /api/finance/purchase/order/receive 

 入库 

 ReceiveDTO （收货数量/金额） 

 

 

 GET 

 /api/finance/purchase/order/page 

 订单列表 

 PageQuery  + 筛选条件 

 

 

 

 

 4.3 采购账户台账 

 

 

 

 

 

 

 

 

 方法 

 路径 

 说明 

 

 

 

 

 GET 

 /api/finance/ledger/purchase/page 

 台账列表（分页） 

 

 

 POST 

 /api/finance/ledger/purchase/ledger-pay 

 台账付款（批量） 

 

 

 POST 

 /api/finance/ledger/purchase/upload-pay 

 上传对账单批量付款 

 

 

 GET 

 /api/finance/ledger/purchase/statistics 

 统计图表数据 

 

 

 

 

 4.4 供应商台账 

 

 

 

 

 

 

 

 

 方法 

 路径 

 说明 

 

 

 

 

 GET 

 /api/finance/ledger/supplier/page 

 供应商台账列表 

 

 

 POST 

 /api/finance/ledger/supplier/invoice-post 

 发票入账 

 

 

 GET 

 /api/finance/ledger/supplier/export-uninvoiced 

 导出未开票明细 

 

 

 

 

 4.5 发票台账 

 

 

 

 

 

 

 

 

 方法 

 路径 

 说明 

 

 

 

 

 GET 

 /api/finance/ledger/invoice/page 

 发票台账列表 

 

 

 POST 

 /api/finance/ledger/invoice/sync 

 手动触发同步（定时任务自动） 

 

 

 POST 

 /api/finance/ledger/invoice/post 

 发票入账（勾选后） 

 

 

 GET 

 /api/finance/ledger/invoice/statistics 

 发票统计 

 

 

 

 

 4.6 库存台账 

 

 

 

 

 

 

 

 

 方法 

 路径 

 说明 

 

 

 

 

 GET 

 /api/finance/ledger/stock/summary 

 汇总账（按期间） 

 

 

 GET 

 /api/finance/ledger/stock/detail 

 明细账（按SKU） 

 

 

 GET 

 /api/finance/ledger/stock/check 

 勾稽校验（与总账对比） 

 

 

 

 

 

 5. 服务层实现要点 

 5.1 采购付款服务（ PurchasePaymentService ） 

 

 

 职责：处理采购单付款、退款、台账付款 

 

 

 主要方法： 

 

 

 payOrder(PurchasePayDTO) ：校验账户余额（现金类）、生成凭证、更新订单状态、更新台账 

 

 

 ledgerPay(LedgerPayDTO) ：批量处理账期还款，支持分摊 

 

 

 refund(RefundDTO) ：退款，生成红字凭证，更新订单状态 

 

 

 

 

 5.2 库存服务（ InventoryService ） 

 

 

 职责：管理库存余额、变动明细、成本计算 

 

 

 主要方法： 

 

 

 onPurchaseReceive(PurchaseOrder order, ReceiveDTO) ：入库，调用成本计算器更新库存 

 

 

 onSaleOut(SaleOutDTO) ：销售出库，计算成本并更新库存 

 

 

 getStockSummary(String period) ：汇总账查询 

 

 

 getStockDetail(String sku) ：明细账查询 

 

 

 

 

 5.3 发票服务（ InvoiceService ） 

 

 

 职责：同步税局发票、匹配供应商、入账 

 

 

 主要方法： 

 

 

 syncFromTaxAPI() ：调用外部API拉取发票 

 

 

 matchSupplier() ：根据税号匹配供应商 

 

 

 postInvoice(InvoicePostingDTO) ：生成入账凭证，关联采购订单 

 

 

 

 

 5.4 台账查询服务（ LedgerQueryService ） 

 

 

 职责：提供采购账户、供应商、发票、库存的统一查询视图 

 

 

 使用 MyBatis-Plus 分页 + 复杂SQL关联查询 

 

 

 

 6. 前端页面交互设计 

 6.1 采购单（会计版）页面 

 

 

 列表页 ：展示订单号、SKU、供应商、金额、付款/库存/发票状态；支持筛选、排序 

 

 

 详情/操作页 ：显示完整信息，提供“付款”“退款”“收货”“退货”按钮，点击弹出对应表单 

 

 

 付款表单 ：选择采购账户（带出对应费用类型）、填写金额、选择供应商收款账户 

 

 

 6.2 采购账户台账页面 

 

 

 筛选区 ：采购账户下拉、账套、时间、状态 

 

 

 表格 ：展示上述金额字段，底部汇总行 

 

 

 操作区 ：“台账付款”按钮（勾选后弹出付款对话框），“导出对账单”按钮 

 

 

 图表页签 ：按日期展示付款趋势图 

 

 

 6.3 供应商台账页面 

 

 

 筛选区 ：供应商下拉、账套、时间 

 

 

 表格 ：展示应付/已付/待付、库存价值、应开票/已开票/待开票 

 

 

 操作 ：“发票入账”按钮（勾选后弹出选择发票对话框） 

 

 

 6.4 发票台账页面 

 

 

 筛选区 ：账簿、销方、日期、入账状态 

 

 

 表格 ：发票号码、金额、税额、状态 

 

 

 操作 ：“同步”按钮（手动触发），“入账”按钮 

 

 

 6.5 本地仓库台账 

 

 

 汇总账 ：期间选择、SKU搜索，展示期初/入库/出库/期末数量和金额，提供校验标识 

 

 

 明细账 ：点击SKU跳转明细，展示每笔变动，联查凭证 

 

 

 

 7. 定时任务与消息队列 

 7.1 定时任务（XXL-JOB） 

 

 

 

 

 

 

 

 

 任务名称 

 Cron 

 说明 

 

 

 

 

 InvoiceSyncJob 

 0 0 2 * * ? 

 同步税局发票数据 

 

 

 StockCheckJob 

 0 0 3 1 * ? 

 每月1号执行库存与总账勾稽校验 

 

 

 AutoPostInvoiceJob 

 0 0/30 9-18 * * ? 

 工作时间内自动匹配未入账发票（可选） 

 

 

 

 

 7.2 消息队列（RabbitMQ） 

 

 

 采购订单状态变更时，发送事件（如  ORDER_PAID 、 ORDER_RECEIVED ）到 exchange，库存服务、台账服务监听更新。 

 

 

 避免同步调用，提高响应速度。 

 

 

 

 8. 异常处理与日志 

 8.1 异常场景 

 

 

 付款金额超过订单未付金额 → 提示“超额付款” 

 

 

 发票金额与订单待开票金额不一致 → 提示“金额不符，请确认分摊” 

 

 

 供应商未维护收款账户 → 提示“请先维护供应商收款信息” 

 

 

 科目配置缺失 → 提示“采购账户科目映射不完整，请联系管理员” 

 

 

 8.2 日志规范 

 

 

 关键操作（付款、退款、入库、发票入账）记录 INFO 日志，包含操作人、订单号、金额 

 

 

 异常堆栈记录 ERROR 日志，并发送飞书告警（通过  wimoor-common  的告警组件） 

 

 

 

 9. 测试策略 

 9.1 单元测试（JUnit + Mockito） 

 

 

 移动加权平均计算器 

 

 

 凭证生成逻辑（各场景） 

 

 

 分摊算法 

 

 

 9.2 集成测试（@SpringBootTest + Testcontainers） 

 

 

 完整流程：创建订单 → 现金付款 → 入库 → 发票入账 → 查询台账 

 

 

 账期流程：创建订单 → 账期付款 → 台账付款 → 查询供应商待付 

 

 

 退款流程：部分退款、全额退款（不同状态组合） 

 

 

 9.3 前端测试（Vue Test Utils） 

 

 

 页面渲染、表单交互、数据校验 

 

 

 

 10. 部署与配置 

 10.1 依赖环境 

 

 

 MySQL 8.0（已有） 

 

 

 Redis（用于缓存科目、辅助核算项） 

 

 

 RabbitMQ（事件驱动） 

 

 

 XXL-JOB（调度中心） 

 

 

 10.2 配置示例（application.yml） 

 

 

 

 

 yaml 

 

 

 

 

 wimoor:

 finance:

 inventory:

 cost-method: moving_average # 仅支持移动加权

 invoice:

 sync-api: https://api.tax.gov/invoice

 sync-cron: 0 0 2 * * ?

 ledger:

 batch-size: 1000 # 批量导入单次最大行数 

 

 

 11. 后续扩展规划 

 

 

 FBA仓库台账 ：对接亚马逊库存报告，按月汇总，与本地仓库成本联动 

 

 

 关务台账 ：报关单与FBA货件关联，统计出口数据 

 

 

 无票成本统计 ：在利润表中增加无票成本明细 

 

 

 银行API对接 ：自动获取对公账户流水，与采购账户对账 

 

 

 

 

 开发周期估计 ： 

 

 

 数据库设计与基础服务：3天 

 

 

 核心业务逻辑（凭证生成、成本计算、台账查询）：5天 

 

 

 接口开发与联调：4天 

 

 

 前端页面开发：5天 

 

 

 测试与修复：3天 总计约20人天

财务ERP - 进销存模块（采购与台账）详细开发流程文档
文档说明 
 本文档为20260618进销存模块梳理后的详细开发流程文档，面向开发团队，明确开发的 顺序、依赖、任务拆解、开发步骤及验收标准 。重点覆盖采购模块与财务模块的互通，以及台账管理的完整实现。 
 
 重要说明 ：本文档仅包含业务需求、流程设计、接口契约和验收标准，不包含具体代码实现。请根据现有系统架构自行设计代码结构，避免与现有代码产生冲突。 
 
 版本历史 
 
 
 
 版本 
 日期 
 修改内容 
 作者 
 
 
 
 
 v1.0 
 2026-06-25 
 初稿，基于20260618需求梳理 
 架构组 
 
 
 
 1. 模块依赖关系与开发顺序 
 1.1 模块依赖图 
 ┌─────────────────────────────────────────────────────────────────────────────┐
│                          开发依赖关系（自上而下）                           │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌─────────────────────┐                                                   │
│  │   基础配置模块       │  ◄── 第1周：无依赖，可优先开发                    │
│  │  - 采购账户配置      │                                                   │
│  │  - 供应商收款账户    │                                                   │
│  │  - 进销存全局配置    │                                                   │
│  └──────────┬──────────┘                                                   │
│             │                                                               │
│             ▼                                                               │
│  ┌─────────────────────┐                                                   │
│  │   采购订单（会计版）  │  ◄── 第2周：依赖基础配置 + ERP供应商/SKU数据     │
│  │  - 订单创建/查询     │                                                   │
│  │  - 付款/退款/入库    │                                                   │
│  └──────────┬──────────┘                                                   │
│             │                                                               │
│             ▼                                                               │
│  ┌─────────────────────┐  ◄── 第3周：依赖采购订单数据                       │
│  │   采购账户台账       │                                                   │
│  │  - 台账列表查询      │                                                   │
│  │  - 台账付款          │                                                   │
│  │  - 批量对账单上传    │                                                   │
│  └──────────┬──────────┘                                                   │
│             │                                                               │
│             ▼                                                               │
│  ┌─────────────────────┐  ◄── 第4周：依赖采购订单 + 税局API                │
│  │   发票台账           │                                                   │
│  │  - 发票同步          │                                                   │
│  │  - 发票入账          │                                                   │
│  │  - 供应商台账查询    │                                                   │
│  └──────────┬──────────┘                                                   │
│             │                                                               │
│             ▼                                                               │
│  ┌─────────────────────┐  ◄── 第5周：依赖库存变动数据                       │
│  │   库存台账           │                                                   │
│  │  - 移动加权平均计算  │                                                   │
│  │  - 汇总账/明细账     │                                                   │
│  │  - 勾稽校验          │                                                   │
│  └─────────────────────┘                                                   │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
 
 1.2 开发顺序总览 
 
 
 
 阶段 
 周期 
 模块 
 产出物 
 依赖 
 
 
 
 
 阶段一 
 第1周 
 基础配置模块 
 采购账户CRUD、供应商收款账户管理、配置校验逻辑 
 现有科目表、辅助核算表 
 
 
 阶段二 
 第2-3周 
 采购订单（会计版） 
 订单创建、付款、退款、入库、状态管理、凭证生成 
 阶段一 + ERP供应商/SKU数据 
 
 
 阶段三 
 第3-4周 
 采购账户台账 
 台账列表、台账付款、批量上传对账单、图表统计 
 阶段二 
 
 
 阶段四 
 第4-5周 
 发票台账与供应商台账 
 发票同步、发票入账、供应商汇总查询、未开票导出 
 阶段二 + 税局API 
 
 
 阶段五 
 第5-6周 
 库存台账（本地仓库） 
 移动加权平均计算、汇总账、明细账、勾稽校验 
 阶段二 + 阶段四 
 
 
 阶段六 
 第6周 
 联调与测试 
 端到端流程测试、性能测试、Bug修复 
 全部模块 
 
 
 
 2. 数据库设计（新增表） 
 2.1 新增表清单 
 
 
 
 表名 
 说明 
 关联模块 
 
 
 
 
 fin_purchase_account 
 采购账户表 
 基础配置 
 
 
 fin_supplier_bank 
 供应商收款账户表 
 基础配置 
 
 
 fin_purchase_order 
 采购订单表（会计版） 
 采购订单 
 
 
 fin_purchase_payment 
 采购付款明细表 
 采购订单/台账 
 
 
 fin_invoice 
 发票台账表 
 发票台账 
 
 
 fin_warehouse_stock 
 库存余额表 
 库存台账 
 
 
 fin_inventory_transaction 
 库存变动明细表 
 库存台账 
 
 
 
 2.2 表结构设计要点 
 2.2.1 采购账户表 fin_purchase_account 
 
 
 
 字段 
 类型 
 说明 
 校验规则 
 
 
 
 
 id 
 bigint unsigned 
 主键 
 自增 
 
 
 groupid 
 bigint unsigned 
 租户ID 
 必填，索引 
 
 
 account_name 
 varchar(100) 
 账户名称 
 必填，唯一（同租户下） 
 
 
 account_type 
 tinyint 
 1-现金，2-账期 
 必填，默认1 
 
 
 related_subject_id 
 bigint unsigned 
 对应会计科目ID 
 必填，关联fin_accounting_subjects 
 
 
 config_json 
 json 
 完整配置 
 见下方结构 
 
 
 is_enabled 
 tinyint 
 是否启用 
 默认1 
 
 
 created_time 
 datetime 
 创建时间 
 自动 
 
 
 updated_time 
 datetime 
 更新时间 
 自动 
 
 
 
 config_json 结构： 
 {

 "feeTypes": [

   { "code": "GOODS", "name": "货款", "isSupplierRelated": true },

   { "code": "FREIGHT", "name": "运费", "isSupplierRelated": true },

   { "code": "SERVICE", "name": "跨境直采手续费", "isSupplierRelated": false }

 ],

 "paySubjectMapping": {

   "GOODS": { "debitSubjectId": 101, "creditSubjectId": 201 },

   "FREIGHT": { "debitSubjectId": 102, "creditSubjectId": 201 }

 },

 "refundMapping": {

   "GOODS": { "debitSubjectId": 201, "creditSubjectId": 101 }

 },

 "creditPayAccounts": [

   { "cashAccountId": 1, "subjectMapping": { "debit": 301, "credit": 201 } }

 ]
}
 
 2.2.2 供应商收款账户表 fin_supplier_bank 
 
 
 
 字段 
 类型 
 说明 
 校验规则 
 
 
 
 
 id 
 bigint unsigned 
 主键 
 自增 
 
 
 groupid 
 bigint unsigned 
 租户ID 
 必填 
 
 
 supplier_id 
 bigint unsigned 
 供应商ID 
 必填，索引 
 
 
 bank_name 
 varchar(100) 
 开户银行 
 可选 
 
 
 account_name 
 varchar(100) 
 收款账户名称 
 必填 
 
 
 account_no 
 varchar(50) 
 收款账号 
 必填 
 
 
 is_default 
 tinyint 
 是否默认 
 默认0，同供应商仅一个默认 
 
 
 is_enabled 
 tinyint 
 是否启用 
 默认1 
 
 
 created_time 
 datetime 
 创建时间 
 自动 
 
 
 
 2.2.3 采购订单表 fin_purchase_order 
 
 
 
 字段 
 类型 
 说明 
 校验规则 
 
 
 
 
 id 
 bigint unsigned 
 主键 
 自增 
 
 
 groupid 
 bigint unsigned 
 租户ID 
 必填，索引 
 
 
 supplier_id 
 bigint unsigned 
 供应商ID 
 必填，关联t_erp_supplier 
 
 
 purchase_account_id 
 bigint unsigned 
 采购账户ID 
 必填 
 
 
 sku 
 varchar(50) 
 SKU编码 
 必填 
 
 
 warehouse_code 
 varchar(50) 
 入库仓库编码 
 必填 
 
 
 order_qty 
 decimal(12,2) 
 订单数量 
 >0 
 
 
 unit_price 
 decimal(18,4) 
 采购单价 
 ≥0 
 
 
 total_amount 
 decimal(18,2) 
 订单金额 
 = order_qty × unit_price 
 
 
 paid_amount 
 decimal(18,2) 
 累计已付 
 ≥0，≤total_amount 
 
 
 inventory_value 
 decimal(18,2) 
 库存价值 
 ≥0 
 
 
 invoiced_amount 
 decimal(18,2) 
 已开票金额 
 ≥0，≤total_amount 
 
 
 status_order 
 tinyint 
 1-草稿，2-已确认，3-已完成，4-已取消 
 默认1 
 
 
 status_pay 
 tinyint 
 1-未付款，2-部分付款，3-已付款，4-退款中，5-已退款 
 默认1 
 
 
 status_inv 
 tinyint 
 1-未开票，2-部分开票，3-已开票 
 默认1 
 
 
 status_stock 
 tinyint 
 1-未收货，2-部分收货，3-已收货 
 默认1 
 
 
 
 2.2.4 采购付款明细表 fin_purchase_payment 
 
 
 
 字段 
 类型 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 主键 
 
 
 purchase_order_id 
 bigint unsigned 
 关联采购订单 
 
 
 purchase_account_id 
 bigint unsigned 
 使用的采购账户 
 
 
 voucher_id 
 bigint unsigned 
 生成的凭证ID 
 
 
 fee_type 
 varchar(50) 
 费用类型（货款/运费/手续费） 
 
 
 is_supplier_related 
 tinyint 
 是否归属供应商款项 
 
 
 amount 
 decimal(18,2) 
 支付金额 
 
 
 payment_date 
 date 
 付款日期 
 
 
 is_refund 
 tinyint 
 是否退款 
 
 
 refund_original_id 
 bigint unsigned 
 退款对应的原付款明细ID 
 
 
 status 
 tinyint 
 0-正常，1-已退款 
 
 
 
 2.2.5 发票台账表 fin_invoice 
 
 
 
 字段 
 类型 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 主键 
 
 
 invoice_no 
 varchar(100) 
 数电发票号码（唯一） 
 
 
 invoice_type 
 varchar(20) 
 数电专票/普票/传统 
 
 
 groupid 
 bigint unsigned 
 入账账套ID 
 
 
 supplier_id 
 bigint unsigned 
 匹配的供应商ID 
 
 
 seller_name 
 varchar(200) 
 销方名称 
 
 
 seller_tax_no 
 varchar(50) 
 销方税号 
 
 
 invoice_date 
 date 
 开票日期 
 
 
 amount_with_tax 
 decimal(18,2) 
 价税合计 
 
 
 amount_without_tax 
 decimal(18,2) 
 不含税金额 
 
 
 tax_amount 
 decimal(18,2) 
 税额 
 
 
 status 
 varchar(20) 
 NORMAL/CANCELLED/RED_ALL/RED_PART/ABNORMAL 
 
 
 posting_status 
 tinyint 
 0-未入账，1-已入账 
 
 
 voucher_id 
 bigint unsigned 
 入账凭证ID 
 
 
 
 2.2.6 库存余额表 fin_warehouse_stock 
 
 
 
 字段 
 类型 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 主键 
 
 
 groupid 
 bigint unsigned 
 租户ID 
 
 
 sku 
 varchar(50) 
 SKU编码 
 
 
 warehouse_code 
 varchar(50) 
 仓库编码 
 
 
 warehouse_type 
 tinyint 
 1-本地，2-FBA 
 
 
 current_qty 
 decimal(12,2) 
 当前数量 
 
 
 current_amount 
 decimal(18,2) 
 当前金额 
 
 
 unit_cost 
 decimal(18,4) 
 移动平均单价 
 
 
 period 
 varchar(6) 
 会计期间（YYYYMM） 
 
 
 
 2.2.7 库存变动明细表 fin_inventory_transaction 
 
 
 
 字段 
 类型 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 主键 
 
 
 groupid 
 bigint unsigned 
 租户ID 
 
 
 sku 
 varchar(50) 
 SKU编码 
 
 
 warehouse_code 
 varchar(50) 
 仓库编码 
 
 
 trans_date 
 date 
 变动日期 
 
 
 trans_type 
 varchar(50) 
 PURCHASE_IN/SALE_OUT/TRANSFER_IN/ADJUST 
 
 
 source_doc_id 
 varchar(100) 
 来源单据号 
 
 
 qty_change 
 decimal(12,2) 
 正为入库，负为出库 
 
 
 amount_change 
 decimal(18,2) 
 金额变动 
 
 
 unit_cost 
 decimal(18,4) 
 发生时单价 
 
 
 voucher_id 
 bigint unsigned 
 关联凭证ID 
 
 
 
 3. 服务层开发任务（按顺序执行） 
 3.1 阶段一：基础配置模块（第1周） 
 3.1.1 任务清单 
 
 
 
 序号 
 任务 
 服务类 
 方法/职责 
 验收标准 
 
 
 
 
 1 
 采购账户CRUD 
 PurchaseAccountService 
 创建、更新、删除、查询列表 
 可正常增删改查，配置JSON正确序列化 
 
 
 2 
 采购账户配置校验 
 PurchaseAccountValidator 
 校验费用类型、科目映射完整性 
 配置不完整时拒绝保存并提示 
 
 
 3 
 供应商收款账户管理 
 SupplierBankService 
 保存、更新、设置默认、查询 
 支持多账户、默认账户唯一 
 
 
 4 
 进销存全局配置 
 InventoryConfigService 
 获取配置、更新配置 
 支持配置成本方法（仅移动加权） 
 
 
 
 3.1.2 开发步骤 
 
 创建实体类 ：映射新增表，使用MyBatis-Plus注解，JSON字段配置TypeHandler 
 创建Mapper接口 ：继承BaseMapper，定义必要的自定义查询方法 
 实现Service层 ：

  - 创建：校验参数完整性、唯一性，保存配置JSON

  - 更新：校验是否被引用，合并配置

  - 删除：软删除或校验无引用后删除

  - 列表：支持按账套、类型筛选 
 实现Controller层 ：定义REST接口，参数校验，统一响应格式 
 单元测试 ：覆盖CRUD各场景 
 
 3.1.3 接口契约 
 创建采购账户 
 
 POST /api/finance/purchase/account/create 
 请求体： 
 
 {

 "groupid": 1001,

 "accountName": "公户现金",

 "accountType": 1,

 "relatedSubjectId": 2384,

 "configJson": { ... }
}
 
 
 响应： { "code": 200, "data": { "id": 1 } } 
 
 查询采购账户列表 
 
 GET /api/finance/purchase/account/list?groupid=1001&type=1 
 响应：账户列表JSON 
 
 3.1.4 测试用例 
 
 
 
 测试场景 
 预期结果 
 
 
 
 
 创建现金类账户，配置完整 
 保存成功 
 
 
 创建账期类账户，未配置cashAccount列表 
 校验失败，提示配置不完整 
 
 
 删除正在使用的账户 
 返回错误，提示账户已被引用 
 
 
 设置默认收款账户 
 该账户is_default=1，其他同供应商账户=0 
 
 
 
 3.2 阶段二：采购订单（会计版）（第2-3周） 
 3.2.1 任务清单 
 
 
 
 序号 
 任务 
 服务类 
 方法/职责 
 验收标准 
 
 
 
 
 1 
 采购订单创建 
 PurchaseOrderService 
 创建订单，初始状态为草稿 
 订单保存，状态正确 
 
 
 2 
 采购订单确认 
 PurchaseOrderService 
 确认订单，状态变为已确认 
 仅草稿状态可确认 
 
 
 3 
 采购订单付款 
 PurchasePaymentService 
 付款，生成凭证，更新状态 
 凭证生成正确，状态更新 
 
 
 4 
 采购订单退款 
 PurchasePaymentService 
 退款，生成红字凭证，更新状态 
 凭证方向相反，状态更新 
 
 
 5 
 采购入库 
 PurchaseOrderService 
 入库，更新库存，生成凭证 
 库存更新，凭证生成 
 
 
 6 
 采购退货 
 PurchaseOrderService 
 退货，更新库存，生成凭证 
 库存回退，凭证生成 
 
 
 7 
 订单列表查询 
 PurchaseOrderService 
 分页查询，多维度筛选 
 筛选条件生效，状态展示正确 
 
 
 
 3.2.2 订单状态机设计 
 订单状态（status_order）流转： 
 
 1-草稿 → 确认 → 2-已确认 → 付款+入库完成 → 3-已完成 
 1-草稿 → 4-已取消 （仅草稿可取消） 
 2-已确认 → 任何状态 → 3-已完成 （所有子状态均为完成） 
 
 付款状态（status_pay）流转： 
 
 1-未付款 → 付款金额>0且<总额 → 2-部分付款 
 1-未付款 或 2-部分付款 → 付款金额=总额 → 3-已付款 
 3-已付款 → 发起退款 → 4-退款中 → 退款完成 → 5-已退款 
 
 库存状态（status_stock）流转： 
 
 1-未收货 → 入库数量>0且<订单数量 → 2-部分收货 
 1-未收货 或 2-部分收货 → 入库数量=订单数量 → 3-已收货 
 
 发票状态（status_inv）流转： 
 
 1-未开票 → 开票金额>0且<总额 → 2-部分开票 
 1-未开票 或 2-部分开票 → 开票金额=总额 → 3-已开票 
 
 3.2.3 凭证生成规则 
 场景A：现金类账户付款 
 
 付款凭证：

 - 借：预付账款-ERP采购供应商（供应商辅助核算）

 - 贷：对应现金科目（如银行存款-浦发） 
 在途库存凭证（同时生成）：

 - 借：在途库存_XX本地仓库（存货辅助核算）

 - 贷：预付账款-ERP在途发票 
 
 场景B：账期类账户付款 
 
 付款凭证：

 - 借：预付账款-ERP采购供应商（供应商辅助核算）

 - 贷：应付账款_XXX（账期账户对应科目） 
 在途库存凭证（同时生成）：

 - 借：在途库存_XX本地仓库（存货辅助核算）

 - 贷：预付账款-ERP在途发票 
 
 场景C：入库 
 
 借：库存商品_XX本地仓库（存货辅助核算） 
 贷：在途库存_XX本地仓库 
 
 场景D：发票入账 
 
 借：预付账款-ERP在途发票 
 贷：预付账款-ERP采购供应商（供应商辅助核算） 
 
 3.2.4 接口契约 
 采购订单付款 
 
 POST /api/finance/purchase/order/pay 
 请求体： 
 
 {

 "orderId": 1001,

 "accountId": 5,

 "feeType": "GOODS",

 "amount": 10000.00,

 "paymentDate": "2026-06-25"
}
 
 
 响应： { "code": 200, "data": { "voucherId": 123, "status": "PAID" } } 
 
 采购入库 
 
 POST /api/finance/purchase/order/receive 
 请求体： 
 
 {

 "orderId": 1001,

 "qty": 100,

 "receiveDate": "2026-06-25"
}
 
 
 响应： { "code": 200, "data": { "voucherId": 124, "newUnitCost": 95.50 } } 
 
 3.2.5 异常场景处理 
 
 
 
 异常场景 
 错误码 
 提示信息 
 
 
 
 
 付款金额超过未付金额 
 4001 
 "付款金额超过未付金额" 
 
 
 订单已付款完成 
 4002 
 "订单已付款完成，不可重复付款" 
 
 
 订单状态不可付款 
 4003 
 "当前订单状态不可付款" 
 
 
 入库数量超过订单数量 
 4004 
 "入库数量超过订单未入库数量" 
 
 
 采购账户科目映射缺失 
 5001 
 "采购账户科目映射不完整，请联系管理员" 
 
 
 
 3.2.6 测试用例 
 
 
 
 测试场景 
 预期结果 
 
 
 
 
 创建订单，初始状态 
 status_order=1（草稿），所有子状态均为1 
 
 
 现金付款，全额 
 生成2张凭证（付款+在途），status_pay=3（已付款） 
 
 
 账期付款，全额 
 生成2张凭证（应付+在途），status_pay=3，现金未扣 
 
 
 部分付款 
 status_pay=2（部分付款），待付金额正确 
 
 
 入库数量等于订单数量 
 status_stock=3（已收货） 
 
 
 部分入库 
 status_stock=2（部分收货） 
 
 
 全额退款 
 生成红字凭证，status_pay=5（已退款） 
 
 
 
 3.3 阶段三：采购账户台账（第3-4周） 
 3.3.1 任务清单 
 
 
 
 序号 
 任务 
 服务类 
 方法/职责 
 验收标准 
 
 
 
 
 1 
 台账列表查询 
 LedgerQueryService 
 分页查询，汇总行计算 
 数据准确，汇总正确 
 
 
 2 
 台账付款（批量） 
 LedgerPaymentService 
 勾选多条，生成凭证，更新状态 
 凭证生成，状态更新 
 
 
 3 
 对账单上传 
 LedgerBatchService 
 解析Excel，预览确认，批量付款 
 解析成功，预览准确 
 
 
 4 
 退款处理 
 LedgerPaymentService 
 生成红字凭证，更新台账 
 凭证正确，台账更新 
 
 
 5 
 图表统计 
 LedgerStatisticsService 
 返回日期X轴+金额Y轴数据 
 图表数据正确 
 
 
 
 3.3.2 台账列表查询字段 
 
 
 
 字段组 
 包含字段 
 计算逻辑 
 
 
 
 
 订单信息 
 账簿、采购账户、采购订单号、SKU、供应商、收款账号 
 直接从订单表关联查询 
 
 
 付款状态 
 订单金额、请款金额、已付金额、待付金额 
 请款=归属供应商的费用类型金额合计；已付=累计付款；待付=请款-已付 
 
 
 库存状态 
 库存价值、已入库价值、待入库价值 
 库存价值=采购订单的inventory_value；已入库=SUM(入库变动金额)；待入库=库存价值-已入库 
 
 
 发票状态 
 应开票金额、已开票金额、待开票金额 
 应开票=归属供应商的请款金额；已开票=sum(invoiced_amount)；待开票=应开票-已开票 
 
 
 
 重要限制 ： 
 
 非供应商款项（如跨境直采手续费）不计入请款金额 
 退款金额按原方向反冲，减少请款金额 
 
 3.3.3 台账付款核心约束 
 
 同账户约束 ：一次付款操作，所有选中的记录必须使用同一个账期采购账户 
 账户类型约束 ：仅账期类型账户支持台账付款 
 现金账户约束 ：选中的现金账户必须在账期账户的 creditPayAccounts 配置中 
 金额约束 ：付款金额不超过各订单待付金额之和 
 尾差处理 ：按比例分摊，差额归入最后一条记录 
 
 3.3.4 Excel批量上传模板 
 
 
 
 列名 
 类型 
 说明 
 校验规则 
 
 
 
 
 采购订单号 
 文本 
 订单唯一标识 
 必填，存在于系统 
 
 
 SKU 
 文本 
 SKU编码 
 必填，与订单匹配 
 
 
 应付金额 
 数字 
 订单应付金额 
 必填，≥0 
 
 
 本次付款金额 
 数字 
 本次实际支付 
 必填，>0，≤应付-已付 
 
 
 费用类型 
 文本 
 货款/运费/其他 
 必填，在配置中 
 
 
 
 上传流程 ： 
 
 用户下载模板 
 填写后上传 
 系统解析并校验 
 返回预览数据（含校验结果） 
 用户确认后提交 
 批量生成付款记录和凭证 
 
 3.3.5 接口契约 
 台账列表查询 
 
 GET /api/finance/ledger/purchase/page 
 参数： groupid , accountId , startDate , endDate , payStatus , page , size 
 响应：分页数据 + 汇总行（订单金额、已付金额、待付金额汇总） 
 
 台账付款 
 
 POST /api/finance/ledger/purchase/ledger-pay 
 请求体： 
 
 {

 "orderIds": [1001, 1002, 1003],

 "cashAccountId": 5,

 "paymentDate": "2026-06-25"
}
 
 
 响应： { "code": 200, "data": { "voucherIds": [123, 124, 125], "totalAmount": 50000 } } 
 
 上传对账单 
 
 POST /api/finance/ledger/purchase/upload-pay 
 请求： multipart/form-data ，file字段 
 响应：预览数据 
 
 3.3.6 测试用例 
 
 
 
 测试场景 
 预期结果 
 
 
 
 
 查询台账列表，带筛选条件 
 返回正确数据，汇总行金额正确 
 
 
 勾选3条账期记录，台账付款 
 生成3张凭证，订单待付金额归零 
 
 
 上传对账单Excel 
 解析成功，预览显示待付款明细 
 
 
 确认上传的对账单 
 批量生成凭证，更新订单状态 
 
 
 部分退款 
 生成红字凭证，订单状态变为退款中/已退款 
 
 
 
 3.4 阶段四：发票台账与供应商台账（第4-5周） 
 3.4.1 任务清单 
 
 
 
 序号 
 任务 
 服务类 
 方法/职责 
 验收标准 
 
 
 
 
 1 
 发票同步（税局API） 
 InvoiceSyncService 
 拉取发票数据，写入fin_invoice 
 去重，匹配供应商 
 
 
 2 
 发票台账查询 
 InvoiceQueryService 
 多维度筛选，显示入账状态 
 筛选条件生效 
 
 
 3 
 发票入账 
 InvoicePostingService 
 生成凭证，更新发票和订单状态 
 凭证生成，状态更新 
 
 
 4 
 供应商台账查询 
 SupplierLedgerService 
 按供应商汇总各金额字段 
 汇总数据正确 
 
 
 5 
 未开票明细导出 
 SupplierLedgerService 
 导出Excel 
 格式正确，数据完整 
 
 
 
 3.4.2 发票同步流程 
 
 触发方式 ：

  - 定时任务：每日凌晨2点自动执行

  - 手动触发：用户在页面点击"同步"按钮 
 数据来源 ：税局电子发票API（或金蝶接口） 
 处理逻辑 ：

  - 按日期范围拉取发票列表

  - 按发票号码去重（已存在则跳过）

  - 按销方税号匹配内部供应商（ t_erp_supplier ）

  - 匹配成功则记录 supplier_id ，否则留空

  - 写入 fin_invoice ，状态为"正常"，入账状态为"未入账" 
 异常处理 ：单条失败不影响整体，记录日志 
 
 3.4.3 发票入账流程 
 
 入口 ：发票台账页面勾选未入账发票 → 点击"入账" 
 或 ：供应商台账页面勾选待开票记录 → 选择发票 → 提交入账 
 处理逻辑 ：

  - 校验发票未入账

  - 校验供应商与订单供应商一致

  - 获取该供应商下待开票订单列表

  - 按订单待开票金额比例分摊发票金额

  - 生成凭证（借：预付账款-ERP在途发票，贷：预付账款-ERP采购供应商）

  - 更新发票： posting_status=1 ，关联 voucher_id 

  - 更新订单： invoiced_amount 增加， status_inv 重新计算 
 
 3.4.4 供应商台账查询字段 
 
 
 
 字段 
 计算逻辑 
 
 
 
 
 供应商名称 
 从t_erp_supplier关联 
 
 
 应付金额 
 SUM(归属供应商的请款金额) 
 
 
 已付金额 
 SUM(已付款金额，仅归属供应商部分) 
 
 
 待付金额 
 应付金额 - 已付金额 
 
 
 库存价值 
 SUM(inventory_value) 
 
 
 应开票金额 
 SUM(归属供应商的请款金额) 
 
 
 已开票金额 
 SUM(invoiced_amount) 
 
 
 待开票金额 
 应开票金额 - 已开票金额 
 
 
 
 3.4.5 接口契约 
 发票同步 
 
 POST /api/finance/ledger/invoice/sync 
 请求体（可选）： 
 
 {

 "groupid": 1001,

 "startDate": "2026-06-01",

 "endDate": "2026-06-25"
}
 
 
 响应： { "code": 200, "data": { "success": 50, "failed": 2 } } 
 
 发票入账 
 
 POST /api/finance/ledger/invoice/post 
 请求体： 
 
 {

 "invoiceIds": [101, 102],

 "orderIds": [1001, 1002, 1003],

 "voucherDate": "2026-06-25"
}
 
 
 响应： { "code": 200, "data": { "voucherId": 200 } } 
 
 供应商台账查询 
 
 GET /api/finance/ledger/supplier/page 
 参数： groupid , supplierIds , page , size 
 响应：分页数据 
 
 导出未开票明细 
 
 GET /api/finance/ledger/supplier/export-uninvoiced 
 参数： groupid , supplierId 
 响应：Excel文件流 
 
 3.4.6 测试用例 
 
 
 
 测试场景 
 预期结果 
 
 
 
 
 手动触发发票同步 
 拉取到新发票，写入fin_invoice，匹配供应商 
 
 
 发票入账（全额匹配） 
 生成凭证，订单待开票金额归零 
 
 
 发票入账（部分匹配） 
 分摊到多条订单，待开票金额减少 
 
 
 供应商台账查询 
 汇总数据正确，与订单明细一致 
 
 
 导出未开票明细 
 Excel包含未开票订单及金额 
 
 
 
 3.5 阶段五：库存台账（本地仓库）（第5-6周） 
 3.5.1 任务清单 
 
 
 
 序号 
 任务 
 服务类 
 方法/职责 
 验收标准 
 
 
 
 
 1 
 移动加权平均计算 
 MovingAverageCostCalculator 
 计算新单价、出库成本 
 计算精确，保留4位小数 
 
 
 2 
 采购入库更新库存 
 InventoryService 
 更新余额表、插入变动明细、生成凭证 
 余额正确，明细完整 
 
 
 3 
 销售出库更新库存 
 InventoryService 
 更新余额表、插入变动明细、生成凭证 
 余额正确，明细完整 
 
 
 4 
 库存汇总账查询 
 InventoryQueryService 
 按期间展示期初/入库/出库/期末 
 数据准确 
 
 
 5 
 库存明细账查询 
 InventoryQueryService 
 逐笔变动明细，联查凭证 
 明细完整，可联查 
 
 
 6 
 勾稽校验 
 InventoryCheckService 
 对比库存余额与科目余额 
 提示差异明细 
 
 
 
 3.5.2 移动加权平均核算规则 
 核心公式： 
 新移动单价 = (当前结存金额 + 本次入库金额) / (当前结存数量 + 本次入库数量)
出库成本 = 出库数量 × 当前移动单价
 
 重要规则： 
 
 只有采购入库（ PURCHASE_IN ）、盘盈入库（ ADJUST_IN ）会改变移动单价 
 销售出库（ SALE_OUT ）、调拨出库（ TRANSFER_OUT ）不改变单价，仅减少数量 
 库存余额不通过"单价×数量"反算，采用滚动加减法：

  - 新余额 = 旧余额 + 入库金额 - 出库成本 
 单价保留4位小数，金额保留2位小数 
 尾差处理：出库时先乘后减，避免单价反算误差 
 
 期间核算： 
 
 按月汇总，每月初从上月期末结转 
 同一SKU在同一仓库同一期间仅有一条库存余额记录 
 
 3.5.3 库存变动类型 
 
 
 
 类型编码 
 说明 
 数量方向 
 是否影响单价 
 来源 
 
 
 
 
 PURCHASE_IN 
 采购入库 
 正 
 是 
 采购订单收货 
 
 
 SALE_OUT 
 销售出库 
 负 
 否 
 销售订单发货 
 
 
 TRANSFER_IN 
 调拨入库 
 正 
 否（沿用原单价） 
 仓库调拨 
 
 
 TRANSFER_OUT 
 调拨出库 
 负 
 否 
 仓库调拨 
 
 
 ADJUST_IN 
 盘盈入库 
 正 
 是 
 盘点调整 
 
 
 ADJUST_OUT 
 盘亏出库 
 负 
 否 
 盘点调整 
 
 
 
 3.5.4 汇总账查询结构 
 
 
 
 列 
 说明 
 
 
 
 
 期间 
 YYYYMM 
 
 
 账簿 
 groupid对应账套名称 
 
 
 SKU 
 SKU编码 
 
 
 仓库 
 仓库编码 
 
 
 期初数量 
 上期期末数量 
 
 
 期初金额 
 上期期末金额 
 
 
 本期入库数量 
 SUM(入库变动数量) 
 
 
 本期入库金额 
 SUM(入库变动金额) 
 
 
 本期出库数量 
 SUM(出库变动数量绝对值) 
 
 
 本期出库金额 
 SUM(出库变动金额绝对值) 
 
 
 期末数量 
 期初数量 + 入库数量 - 出库数量 
 
 
 期末金额 
 期初金额 + 入库金额 - 出库金额 
 
 
 期末单价 
 期末金额 / 期末数量 
 
 
 
 3.5.5 明细账查询结构 
 
 
 
 列 
 说明 
 
 
 
 
 日期 
 变动日期 
 
 
 SKU 
 SKU编码 
 
 
 仓库 
 仓库编码 
 
 
 变动类型 
 PURCHASE_IN/SALE_OUT等 
 
 
 数量 
 正为入库，负为出库 
 
 
 单价 
 发生时使用的单价 
 
 
 金额 
 数量 × 单价 
 
 
 来源单据号 
 采购订单号/销售订单号等 
 
 
 凭证号 
 关联凭证编号 
 
 
 
 3.5.6 勾稽校验逻辑 
 校验目标 ：库存台账的期末金额与总账中"库存商品"科目余额一致 
 校验步骤 ： 
 
 查询指定期间内所有SKU的期末库存金额合计 
 查询总账中"库存商品"科目（及所有子科目）的期末余额 
 对比两者差异 
 若差异不为零，列出差异明细（按SKU或按仓库） 
 
 差异处理建议 ： 
 
 差异 < 100元：可接受，记录为"微小差异" 
 差异 ≥ 100元：需要生成调整凭证 
 
 3.5.7 接口契约 
 库存汇总账查询 
 
 GET /api/finance/ledger/stock/summary 
 参数： groupid , period （YYYYMM）, sku （可选模糊搜索）, warehouseCode （可选） 
 响应：分页数据 
 
 库存明细账查询 
 
 GET /api/finance/ledger/stock/detail 
 参数： groupid , sku , warehouseCode , startDate , endDate 
 响应：分页明细数据 
 
 勾稽校验 
 
 GET /api/finance/ledger/stock/check 
 参数： groupid , period 
 响应： 
 
 {

 "stockAmount": 1000000.00,

 "ledgerAmount": 1000050.00,

 "diff": -50.00,

 "status": "BALANCED",  // 或 "DIFF"

 "details": []  // 差异明细
}
 
 3.5.8 测试用例 
 
 
 
 测试场景 
 预期结果 
 
 
 
 
 采购入库，库存为空 
 新增库存余额记录，单价=入库金额/数量 
 
 
 采购入库，库存已有 
 更新余额，重新计算移动单价 
 
 
 销售出库 
 按当前单价计算成本，减少库存 
 
 
 盘点调整 
 调整后单价重新计算 
 
 
 勾稽校验，无差异 
 返回BALANCED状态 
 
 
 勾稽校验，有差异 
 返回DIFF状态，列出差异明细 
 
 
 
 4. 联调与测试（第6周） 
 4.1 端到端流程测试 
 
 
 
 测试场景 
 操作步骤 
 验证点 
 
 
 
 
 完整采购流程（现金） 
 创建订单→付款→入库→发票入账 
 凭证正确，台账更新，状态流转正确 
 
 
 完整采购流程（账期） 
 创建订单→账期付款→台账付款→入库→发票入账 
 凭证正确，台账更新，状态流转正确 
 
 
 部分付款+部分入库 
 创建订单→部分付款→部分入库→余款付款→余货入库 
 状态正确，金额正确 
 
 
 退款流程（已付款未入库） 
 创建订单→全额付款→全额退款 
 红字凭证，状态变为已退款 
 
 
 退款流程（已付款已入库） 
 创建订单→付款→入库→退货→退款 
 退货凭证，退款凭证，库存回退 
 
 
 批量对账单上传 
 上传Excel→预览→确认 
 批量生成凭证和付款明细 
 
 
 月末结账 
 调汇→结转损益→结账 
 期间关闭，不可修改 
 
 
 
 4.2 性能测试 
 
 
 
 测试项 
 数据量 
 性能要求 
 
 
 
 
 台账列表查询 
 10万条订单 
 响应时间 ≤ 3秒 
 
 
 发票同步 
 单次1万条 
 处理时间 ≤ 5分钟 
 
 
 库存汇总账 
 1万条SKU记录 
 响应时间 ≤ 5秒 
 
 
 批量对账单上传 
 500条记录 
 处理时间 ≤ 30秒 
 
 
 移动加权平均计算 
 单次1000条变动 
 计算时间 ≤ 5秒 
 
 
 
 4.3 数据一致性测试 
 
 
 
 测试项 
 验证方法 
 
 
 
 
 采购订单金额 = 付款明细合计 
 查询统计对比 
 
 
 订单库存价值 = 入库明细合计 
 查询统计对比 
 
 
 订单已开票金额 = 发票入账金额合计 
 查询统计对比 
 
 
 库存余额 = 期初 + 入库 - 出库 
 滚动计算校验 
 
 
 库存余额对应总账科目余额 
 勾稽校验接口 
 
 
 
 5. 数据迁移方案（第6周） 
 5.1 迁移范围 
 
 历史采购订单（从ERP采购单表） 
 历史库存数据（从现有库存表） 
 历史发票数据（从金蝶/税局） 
 
 5.2 迁移顺序 
 
 采购账户 ：手动创建历史使用的采购账户 
 采购订单 ：按时间分批迁移，每批1000条 
 付款明细 ：从ERP付款记录中提取 
 库存余额 ：从当前库存表初始化 
 发票台账 ：从税局API拉取历史发票 
 
 5.3 迁移校验 
 
 迁移完成后，运行勾稽校验 
 对比迁移前后的总额数据，误差 < 100元为通过 
 
 6. 风险与应对 
 
 
 
 风险 
 影响 
 应对措施 
 
 
 
 
 税局API不稳定 
 发票同步失败 
 支持手动导入Excel，保留重试机制 
 
 
 历史数据量过大 
 迁移耗时长 
 分批迁移，错峰执行 
 
 
 科目配置复杂 
 凭证生成错误 
 提供配置校验工具，预置常用模板 
 
 
 多账套数据隔离 
 权限混乱 
 所有查询强制带groupid，使用多租户拦截器 
 
 
 移动加权计算精度 
 尾差累积 
 保留4位小数，定期勾稽校验 
 
 
 
 7. 里程碑与交付物 
 
 
 
 里程碑 
 时间 
 交付物 
 
 
 
 
 M1：基础配置上线 
 第1周末 
 采购账户CRUD、供应商收款账户管理 
 
 
 M2：采购订单上线 
 第3周末 
 采购订单创建、付款、退款、入库、凭证生成 
 
 
 M3：台账模块上线 
 第4周末 
 采购账户台账、台账付款、批量对账单 
 
 
 M4：发票模块上线 
 第5周末 
 发票同步、发票入账、供应商台账 
 
 
 M5：库存模块上线 
 第6周中 
 库存汇总账、明细账、勾稽校验 
 
 
 M6：全量联调上线 
 第6周末 
 端到端测试通过，数据迁移完成 
 
 
 
 8. 附录：术语表 
 
 
 
 术语 
 说明 
 
 
 
 
 账期账户 
 采购时先挂账，后续通过台账付款实际支付的账户类型 
 
 
 现金账户 
 采购时直接扣款的账户类型，如银行账户、连连账户 
 
 
 台账付款 
 账期账户的还款操作，在台账页面批量处理 
 
 
 归属供应商款项 
 计入供应商应付/已付的金额（如货款、运费），不含手续费等 
 
 
 非供应商款项 
 不计入供应商应付的金额（如跨境直采手续费） 
 
 
 移动加权平均 
 每笔入库后重新计算库存单价的成本核算方法 
 
 
 在途库存 
 已付款但尚未入库的存货，在途库存_XX本地仓库科目 
 
 
 预付账款-ERP采购供应商 
 用于记录已付款但未取得发票的供应商款项 
 
 
 预付账款-ERP在途发票 
 用于记录已取得发票但未入库的库存

财务ERP - 进销存模块（采购与台账）开发纲要
文档说明 
 本文档为20260618进销存模块梳理后的开发纲要，简明列出业务目标、核心功能、数据库设计及开发优先级，便于开发团队快速把握全貌。 
 版本历史 
 
 
 
 版本 
 日期 
 修改内容 
 作者 
 
 
 
 
 v1.0 
 2026-06-25 
 初稿 
 架构组 
 
 
 
 1. 业务目标 
 打通采购业务与财务核算的闭环，实现： 
 
 采购订单 → 付款 → 入库 → 发票 全流程自动记账 
 多维度台账查询（采购账户、供应商、发票、库存） 
 移动加权平均成本核算 
 账期采购的批量结算与对账 
 
 2. 核心功能模块 
 2.1 功能模块总览 
 
 
 
 序号 
 模块 
 核心功能 
 优先级 
 
 
 
 
 1 
 基础配置 
 采购账户配置、供应商收款账户、进销存全局配置 
 P0 
 
 
 2 
 采购订单（会计版） 
 订单创建、付款、退款、入库、退货、状态管理 
 P0 
 
 
 3 
 采购账户台账 
 台账列表查询、台账付款、批量对账单上传、图表统计 
 P0 
 
 
 4 
 供应商台账 
 供应商汇总查询、未开票明细导出 
 P0 
 
 
 5 
 发票台账 
 发票同步（税局API）、发票入账、发票查询 
 P0 
 
 
 6 
 本地仓库台账 
 移动加权平均计算、汇总账、明细账、勾稽校验 
 P1 
 
 
 
 2.2 业务流程图 
 核心流程：采购 → 财务全链路 
 ┌─────────────────────────────────────────────────────────────────────────────┐
│ 采购全流程业务图 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 创建订单 │────▶│ 确认订单 │───▶│ 采购付款 │────▶│ 采购入库 │ │
│ └─────────┘ └─────────┘ └────┬────┘ └────┬────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────────┐ │
│ │ 自动生成凭证 │ │
│ │ 付款凭证 / 在途库存凭证 │ │
│ └─────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────┐ ┌─────────┐ ┌─────────────────────────────┐ │
│ │ 发票入账 │◀────│ 发票同步 │◀────│ 发票台账 │ │
│ └────┬────┘ └─────────┘ └─────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 台账管理 │ │
│ │ 采购账户台账 │ 供应商台账 │ 本地仓库台账 │ FBA仓库台账│ │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
 
 账期付款流程： 
 采购订单(账期付款) ──▶ 生成凭证(应付账款) ──▶ 进入采购账户台账
 │
 ▼
 台账付款(批量勾选)
 │
 ▼
 选择现金账户实际支付 ──▶ 生成凭证(还款)
 │
 ▼
 更新订单付款状态
 
 发票入账流程： 
 税局API ──▶ 发票同步 ──▶ 发票台账(未入账)
 │
 ▼
 匹配采购订单(供应商)
 │
 ▼
 发票入账(勾选确认)
 │
 ▼
 生成凭证 ──▶ 更新订单开票状态
 
 3. 状态机设计 
 3.1 采购订单状态（四维状态） 
 
 
 
 状态维度 
 编码 
 说明 
 流转条件 
 
 
 
 
 订单状态 
 1-草稿 
 初始状态 
 创建时 
 
 
 
 2-已确认 
 订单生效 
 用户确认 
 
 
 
 3-已完成 
 全部完成 
 付款+入库完成 
 
 
 
 4-已取消 
 订单取消 
 仅草稿可取消 
 
 
 付款状态 
 1-未付款 
 初始 
 创建时 
 
 
 
 2-部分付款 
 已付>0且<总额 
 付款操作 
 
 
 
 3-已付款 
 已付=总额 
 付款完成 
 
 
 
 4-退款中 
 已发起退款 
 退款操作 
 
 
 
 5-已退款 
 退款完成 
 退款完成 
 
 
 库存状态 
 1-未收货 
 初始 
 创建时 
 
 
 
 2-部分收货 
 已收>0且<数量 
 入库操作 
 
 
 
 3-已收货 
 已收=数量 
 入库完成 
 
 
 发票状态 
 1-未开票 
 初始 
 创建时 
 
 
 
 2-部分开票 
 已开>0且<总额 
 发票入账 
 
 
 
 3-已开票 
 已开=总额 
 开票完成 
 
 
 
 3.2 付款状态流转图 
 ┌──────────────────────────────────────┐
 │ │
 ▼ │
 ┌─────────┐ ┌─────────┐ ┌─────────┐ │
 │ 未付款 │────▶│ 部分付款 │────▶│ 已付款 │ │
 └─────────┘ └─────────┘ └────┬────┘ │
 │ │ │
 │ ▼ │
 │ ┌──────────┐ │
 │ │ 退款中 │ │
 │ └────┬─────┘ │
 │ │ │
 │ ▼ │
 │ ┌──────────┐ │
 └────────────────────────▶│ 已退款 │─────────────┘
 └──────────┘
 
 4. 核心业务规则 
 4.1 凭证生成规则 
 
 
 
 业务场景 
 借方科目 
 贷方科目 
 辅助核算 
 
 
 
 
 现金付款 
 预付账款-ERP采购供应商 
 银行存款/其他货币资金 
 供应商 
 
 
 账期付款 
 预付账款-ERP采购供应商 
 应付账款-XXX（账期户） 
 供应商 
 
 
 在途库存确认 
 在途库存_XX仓库 
 预付账款-ERP在途发票 
 存货(SKU) 
 
 
 采购入库 
 库存商品_XX仓库 
 在途库存_XX仓库 
 存货(SKU) 
 
 
 发票入账 
 预付账款-ERP在途发票 
 预付账款-ERP采购供应商 
 供应商 
 
 
 账期还款 
 应付账款-XXX（账期户） 
 银行存款/其他货币资金 
 供应商 
 
 
 退款（反向） 
 对应贷方科目 
 对应借方科目 
 供应商/存货 
 
 
 
 4.2 成本核算规则 
 
 
 
 规则项 
 说明 
 
 
 
 
 核算方法 
 移动加权平均法 
 
 
 单价精度 
 保留4位小数 
 
 
 金额精度 
 保留2位小数 
 
 
 入库影响 
 每笔采购入库重新计算单价 
 
 
 出库影响 
 使用当前单价计算成本，不改变单价 
 
 
 余额计算 
 滚动加减，不反算 
 
 
 尾差处理 
 出库时先乘后减，差额归入最后一条 
 
 
 核算周期 
 按月汇总，逐笔明细 
 
 
 
 4.3 台账核算规则 
 
 
 
 规则项 
 说明 
 
 
 
 
 请款金额 
 仅统计"归属供应商款项"的费用类型 
 
 
 待付金额 
 请款金额 - 已付金额 
 
 
 待入库金额 
 库存价值 - 已入库价值 
 
 
 待开票金额 
 应开票金额 - 已开票金额 
 
 
 应开票金额 
 归属供应商的请款金额（即待开票订单总额） 
 
 
 分摊方式 
 按比例分摊，尾差归最后一条 
 
 
 退款处理 
 红字冲销，减少请款/已付/库存/开票金额 
 
 
 
 5. 数据库设计 
 5.1 ER图（核心表关系） 
 ┌─────────────────────────┐
│ fin_purchase_account │
│ (采购账户) │
└───────────┬─────────────┘
 │ 1
 │
 │ N
┌───────────▼─────────────┐ ┌─────────────────────────┐
│ fin_purchase_order │──────────│ t_erp_supplier │
│ (采购订单-会计版) │ N 1│ (供应商-ERP) │
└───────────┬─────────────┘ └─────────────────────────┘
 │ 1 │
 │ │ 1
 │ N │
┌───────────▼─────────────┐ ┌───────▼─────────────────┐
│ fin_purchase_payment │ │ fin_supplier_bank │
│ (采购付款明细) │ │ (供应商收款账户) │
└───────────┬─────────────┘ └─────────────────────────┘
 │
 │ N:1
┌───────────▼─────────────┐ ┌─────────────────────────┐
│ fin_vouchers │ │ fin_invoice │
│ (凭证-现有表) │◀─────────│ (发票台账) │
└─────────────────────────┘ └─────────────────────────┘
 │
┌─────────────────────────┐ ┌───────────▼─────────────┐
│ fin_warehouse_stock │ │ fin_inventory_transaction│
│ (库存余额) │ │ (库存变动明细) │
└───────────┬─────────────┘ └───────────┬─────────────┘
 │ │
 └───────────────────┬────────────────┘
 │
 ┌───────────▼─────────────┐
 │ fin_vouchers │
 │ (凭证-关联) │
 └─────────────────────────┘
 
 5.2 新增表清单 
 
 
 
 序号 
 表名 
 说明 
 关联模块 
 
 
 
 
 1 
 fin_purchase_account 
 采购账户配置表 
 基础配置 
 
 
 2 
 fin_supplier_bank 
 供应商收款账户表 
 基础配置 
 
 
 3 
 fin_purchase_order 
 采购订单表（会计版） 
 采购订单 
 
 
 4 
 fin_purchase_payment 
 采购付款明细表 
 采购订单/台账 
 
 
 5 
 fin_invoice 
 发票台账表 
 发票台账 
 
 
 6 
 fin_warehouse_stock 
 库存余额表 
 库存台账 
 
 
 7 
 fin_inventory_transaction 
 库存变动明细表 
 库存台账 
 
 
 
 5.3 表结构详情 
 5.3.1 采购账户表 fin_purchase_account 
 
 
 
 字段 
 类型 
 必填 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 ✅ 
 主键，自增 
 
 
 groupid 
 bigint unsigned 
 ✅ 
 租户ID（账套），索引 
 
 
 account_name 
 varchar(100) 
 ✅ 
 账户名称，同租户唯一 
 
 
 account_type 
 tinyint 
 ✅ 
 1-现金，2-账期，默认1 
 
 
 related_subject_id 
 bigint unsigned 
 ✅ 
 对应会计科目ID 
 
 
 config_json 
 json 
 ✅ 
 完整配置JSON 
 
 
 is_enabled 
 tinyint 
 
 是否启用，默认1 
 
 
 created_time 
 datetime 
 
 创建时间，自动 
 
 
 updated_time 
 datetime 
 
 更新时间，自动 
 
 
 
 config_json 结构： 
 {
 "feeTypes": [
 { "code": "GOODS", "name": "货款", "isSupplierRelated": true },
 { "code": "FREIGHT", "name": "运费", "isSupplierRelated": true },
 { "code": "SERVICE", "name": "跨境直采手续费", "isSupplierRelated": false }
 ],
 "paySubjectMapping": {
 "GOODS": { "debitSubjectId": 101, "creditSubjectId": 201 }
 },
 "refundMapping": {
 "GOODS": { "debitSubjectId": 201, "creditSubjectId": 101 }
 },
 "creditPayAccounts": [
 { "cashAccountId": 1, "subjectMapping": { "debit": 301, "credit": 201 } }
 ]
}
 
 5.3.2 供应商收款账户表 fin_supplier_bank 
 
 
 
 字段 
 类型 
 必填 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 ✅ 
 主键，自增 
 
 
 groupid 
 bigint unsigned 
 ✅ 
 租户ID 
 
 
 supplier_id 
 bigint unsigned 
 ✅ 
 供应商ID，索引 
 
 
 bank_name 
 varchar(100) 
 
 开户银行 
 
 
 account_name 
 varchar(100) 
 ✅ 
 收款账户名称 
 
 
 account_no 
 varchar(50) 
 ✅ 
 收款账号 
 
 
 is_default 
 tinyint 
 
 是否默认，默认0 
 
 
 is_enabled 
 tinyint 
 
 是否启用，默认1 
 
 
 created_time 
 datetime 
 
 创建时间，自动 
 
 
 
 5.3.3 采购订单表 fin_purchase_order 
 
 
 
 字段 
 类型 
 必填 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 ✅ 
 主键，自增 
 
 
 groupid 
 bigint unsigned 
 ✅ 
 租户ID，索引 
 
 
 supplier_id 
 bigint unsigned 
 ✅ 
 供应商ID 
 
 
 purchase_account_id 
 bigint unsigned 
 ✅ 
 采购账户ID 
 
 
 sku 
 varchar(50) 
 ✅ 
 SKU编码 
 
 
 warehouse_code 
 varchar(50) 
 ✅ 
 入库仓库编码 
 
 
 order_qty 
 decimal(12,2) 
 ✅ 
 订单数量，>0 
 
 
 unit_price 
 decimal(18,4) 
 
 采购单价，≥0 
 
 
 total_amount 
 decimal(18,2) 
 ✅ 
 订单金额 
 
 
 paid_amount 
 decimal(18,2) 
 
 累计已付，默认0 
 
 
 inventory_value 
 decimal(18,2) 
 
 库存价值，默认0 
 
 
 invoiced_amount 
 decimal(18,2) 
 
 已开票金额，默认0 
 
 
 status_order 
 tinyint 
 
 1-草稿，2-已确认，3-已完成，4-已取消 
 
 
 status_pay 
 tinyint 
 
 1-未付款，2-部分付款，3-已付款，4-退款中，5-已退款 
 
 
 status_inv 
 tinyint 
 
 1-未开票，2-部分开票，3-已开票 
 
 
 status_stock 
 tinyint 
 
 1-未收货，2-部分收货，3-已收货 
 
 
 created_time 
 datetime 
 
 创建时间，自动 
 
 
 updated_time 
 datetime 
 
 更新时间，自动 
 
 
 
 索引建议 ： (groupid, supplier_id) , (groupid, status_pay) , (groupid, status_inv) , (groupid, status_stock) 
 5.3.4 采购付款明细表 fin_purchase_payment 
 
 
 
 字段 
 类型 
 必填 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 ✅ 
 主键，自增 
 
 
 purchase_order_id 
 bigint unsigned 
 ✅ 
 采购订单ID，索引 
 
 
 purchase_account_id 
 bigint unsigned 
 ✅ 
 采购账户ID 
 
 
 voucher_id 
 bigint unsigned 
 
 关联凭证ID，索引 
 
 
 fee_type 
 varchar(50) 
 ✅ 
 费用类型 
 
 
 is_supplier_related 
 tinyint 
 
 是否归属供应商，默认1 
 
 
 amount 
 decimal(18,2) 
 ✅ 
 支付金额 
 
 
 payment_date 
 date 
 ✅ 
 付款日期 
 
 
 is_refund 
 tinyint 
 
 是否退款，默认0 
 
 
 refund_original_id 
 bigint unsigned 
 
 退款对应的原付款明细ID 
 
 
 status 
 tinyint 
 
 0-正常，1-已退款，默认0 
 
 
 created_time 
 datetime 
 
 创建时间，自动 
 
 
 
 5.3.5 发票台账表 fin_invoice 
 
 
 
 字段 
 类型 
 必填 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 ✅ 
 主键，自增 
 
 
 invoice_no 
 varchar(100) 
 ✅ 
 数电发票号码，唯一 
 
 
 invoice_type 
 varchar(20) 
 ✅ 
 数电专票/普票/传统 
 
 
 groupid 
 bigint unsigned 
 
 入账账套ID，索引 
 
 
 supplier_id 
 bigint unsigned 
 
 匹配的供应商ID 
 
 
 seller_name 
 varchar(200) 
 ✅ 
 销方名称 
 
 
 seller_tax_no 
 varchar(50) 
 
 销方税号 
 
 
 invoice_date 
 date 
 ✅ 
 开票日期 
 
 
 amount_with_tax 
 decimal(18,2) 
 ✅ 
 价税合计 
 
 
 amount_without_tax 
 decimal(18,2) 
 ✅ 
 不含税金额 
 
 
 tax_amount 
 decimal(18,2) 
 ✅ 
 税额 
 
 
 status 
 varchar(20) 
 
 NORMAL/CANCELLED/RED_ALL/RED_PART/ABNORMAL 
 
 
 posting_status 
 tinyint 
 
 0-未入账，1-已入账，默认0 
 
 
 voucher_id 
 bigint unsigned 
 
 入账凭证ID 
 
 
 sync_time 
 datetime 
 
 同步时间 
 
 
 created_time 
 datetime 
 
 创建时间，自动 
 
 
 
 5.3.6 库存余额表 fin_warehouse_stock 
 
 
 
 字段 
 类型 
 必填 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 ✅ 
 主键，自增 
 
 
 groupid 
 bigint unsigned 
 ✅ 
 租户ID 
 
 
 sku 
 varchar(50) 
 ✅ 
 SKU编码 
 
 
 warehouse_code 
 varchar(50) 
 ✅ 
 仓库编码 
 
 
 warehouse_type 
 tinyint 
 
 1-本地，2-FBA，默认1 
 
 
 current_qty 
 decimal(12,2) 
 
 当前数量，默认0 
 
 
 current_amount 
 decimal(18,2) 
 
 当前金额，默认0 
 
 
 unit_cost 
 decimal(18,4) 
 
 移动平均单价，默认0 
 
 
 period 
 varchar(6) 
 ✅ 
 会计期间（YYYYMM） 
 
 
 updated_time 
 datetime 
 
 更新时间，自动 
 
 
 
 唯一索引 ： (groupid, sku, warehouse_code, warehouse_type, period) 
 5.3.7 库存变动明细表 fin_inventory_transaction 
 
 
 
 字段 
 类型 
 必填 
 说明 
 
 
 
 
 id 
 bigint unsigned 
 ✅ 
 主键，自增 
 
 
 groupid 
 bigint unsigned 
 ✅ 
 租户ID 
 
 
 sku 
 varchar(50) 
 ✅ 
 SKU编码 
 
 
 warehouse_code 
 varchar(50) 
 ✅ 
 仓库编码 
 
 
 trans_date 
 date 
 ✅ 
 变动日期 
 
 
 trans_type 
 varchar(50) 
 ✅ 
 PURCHASE_IN/SALE_OUT/TRANSFER_IN/ADJUST 
 
 
 source_doc_id 
 varchar(100) 
 
 来源单据号 
 
 
 qty_change 
 decimal(12,2) 
 ✅ 
 正为入库，负为出库 
 
 
 amount_change 
 decimal(18,2) 
 ✅ 
 金额变动 
 
 
 unit_cost 
 decimal(18,4) 
 
 发生时单价 
 
 
 voucher_id 
 bigint unsigned 
 
 关联凭证ID，索引 
 
 
 created_time 
 datetime 
 
 创建时间，自动 
 
 
 
 5.4 与现有表的关系 
 
 
 
 现有表 
 关联方式 
 说明 
 
 
 
 
 fin_accounting_subjects 
 subject_id 
 采购账户关联科目，凭证分录使用 
 
 
 fin_vouchers 
 voucher_id 
 付款、入库、发票入账生成的凭证 
 
 
 fin_voucher_entries 
 voucher_id 
 凭证分录明细 
 
 
 fin_voucher_entries_auxiliary 
 entry_id 
 供应商/存货辅助核算 
 
 
 t_erp_supplier 
 supplier_id 
 供应商主数据（跨模块） 
 
 
 t_erp_sku 
 sku 
 SKU主数据（跨模块） 
 
 
 t_erp_warehouse 
 warehouse_code 
 仓库主数据（跨模块） 
 
 
 
 5.5 索引清单 
 
 
 
 表 
 索引字段 
 类型 
 用途 
 
 
 
 
 fin_purchase_account 
 groupid 
 普通 
 租户隔离 
 
 
 fin_supplier_bank 
 supplier_id 
 普通 
 按供应商查询 
 
 
 fin_supplier_bank 
 (groupid, supplier_id) 
 复合 
 租户+供应商查询 
 
 
 fin_purchase_order 
 groupid 
 普通 
 租户隔离 
 
 
 fin_purchase_order 
 (groupid, supplier_id) 
 复合 
 供应商台账查询 
 
 
 fin_purchase_order 
 (groupid, status_pay) 
 复合 
 付款状态筛选 
 
 
 fin_purchase_order 
 (groupid, status_inv) 
 复合 
 发票状态筛选 
 
 
 fin_purchase_order 
 (groupid, status_stock) 
 复合 
 库存状态筛选 
 
 
 fin_purchase_payment 
 purchase_order_id 
 普通 
 订单关联查询 
 
 
 fin_purchase_payment 
 voucher_id 
 普通 
 凭证关联查询 
 
 
 fin_invoice 
 invoice_no 
 唯一 
 发票去重 
 
 
 fin_invoice 
 groupid 
 普通 
 租户隔离 
 
 
 fin_invoice 
 (groupid, posting_status) 
 复合 
 入账状态筛选 
 
 
 fin_warehouse_stock 
 (groupid, sku, warehouse_code, warehouse_type, period) 
 唯一 
 期间库存查询 
 
 
 fin_inventory_transaction 
 (groupid, sku) 
 复合 
 SKU明细查询 
 
 
 fin_inventory_transaction 
 voucher_id 
 普通 
 凭证关联查询 
 
 
 
 6. 接口清单 
 6.1 基础配置接口 
 
 
 
 方法 
 路径 
 说明 
 
 
 
 
 POST 
 /api/finance/purchase/account/create 
 创建采购账户 
 
 
 PUT 
 /api/finance/purchase/account/update 
 更新采购账户 
 
 
 GET 
 /api/finance/purchase/account/list 
 查询采购账户列表 
 
 
 GET 
 /api/finance/purchase/account/detail/{id} 
 查询采购账户详情 
 
 
 POST 
 /api/finance/supplier/bank/save 
 保存供应商收款账户 
 
 
 GET 
 /api/finance/supplier/bank/list 
 查询供应商收款账户列表 
 
 
 
 6.2 采购订单接口 
 
 
 
 方法 
 路径 
 说明 
 
 
 
 
 POST 
 /api/finance/purchase/order/create 
 创建采购订单 
 
 
 POST 
 /api/finance/purchase/order/confirm 
 确认订单 
 
 
 POST 
 /api/finance/purchase/order/pay 
 采购付款 
 
 
 POST 
 /api/finance/purchase/order/refund 
 采购退款 
 
 
 POST 
 /api/finance/purchase/order/receive 
 采购入库 
 
 
 POST 
 /api/finance/purchase/order/return 
 采购退货 
 
 
 GET 
 /api/finance/purchase/order/page 
 订单列表查询 
 
 
 GET 
 /api/finance/purchase/order/detail/{id} 
 订单详情查询 
 
 
 
 6.3 台账接口 
 
 
 
 方法 
 路径 
 说明 
 
 
 
 
 GET 
 /api/finance/ledger/purchase/page 
 采购账户台账列表 
 
 
 POST 
 /api/finance/ledger/purchase/ledger-pay 
 台账付款 
 
 
 POST 
 /api/finance/ledger/purchase/upload-pay 
 上传对账单批量付款 
 
 
 GET 
 /api/finance/ledger/purchase/statistics 
 台账图表统计 
 
 
 GET 
 /api/finance/ledger/supplier/page 
 供应商台账列表 
 
 
 GET 
 /api/finance/ledger/supplier/export-uninvoiced 
 导出未开票明细 
 
 
 
 6.4 发票接口 
 
 
 
 方法 
 路径 
 说明 
 
 
 
 
 POST 
 /api/finance/ledger/invoice/sync 
 手动同步发票 
 
 
 GET 
 /api/finance/ledger/invoice/page 
 发票台账列表 
 
 
 POST 
 /api/finance/ledger/invoice/post 
 发票入账 
 
 
 GET 
 /api/finance/ledger/invoice/statistics 
 发票统计 
 
 
 
 6.5 库存接口 
 
 
 
 方法 
 路径 
 说明 
 
 
 
 
 GET 
 /api/finance/ledger/stock/summary 
 库存汇总账 
 
 
 GET 
 /api/finance/ledger/stock/detail 
 库存明细账 
 
 
 GET 
 /api/finance/ledger/stock/check 
 勾稽校验 
 
 
 
 7. 开发优先级与排期 
 7.1 优先级定义 
 
 
 
 等级 
 说明 
 必须完成时间 
 
 
 
 
 P0 
 核心功能，必须上线 
 第4周末 
 
 
 P1 
 重要功能，上线后尽快完成 
 第6周末 
 
 
 P2 
 增强功能，后续迭代 
 后续版本 
 
 
 
 7.2 排期总览 
 
 
 
 阶段 
 周期 
 模块 
 任务数 
 优先级 
 
 
 
 
 阶段一 
 第1周 
 基础配置 
 4 
 P0 
 
 
 阶段二 
 第2-3周 
 采购订单（会计版） 
 7 
 P0 
 
 
 阶段三 
 第3-4周 
 采购账户台账 
 5 
 P0 
 
 
 阶段四 
 第4-5周 
 发票台账与供应商台账 
 5 
 P0 
 
 
 阶段五 
 第5-6周 
 库存台账 
 6 
 P1 
 
 
 阶段六 
 第6周 
 联调与测试 
 - 
 P0/P1 
 
 
 
 7.3 里程碑 
 
 
 
 里程碑 
 时间 
 交付物 
 验收标准 
 
 
 
 
 M1 
 第1周末 
 基础配置上线 
 采购账户CRUD、供应商收款账户管理可用 
 
 
 M2 
 第3周末 
 采购订单上线 
 订单创建、付款、退款、入库、凭证生成可用 
 
 
 M3 
 第4周末 
 台账模块上线 
 采购账户台账、台账付款、批量对账单可用 
 
 
 M4 
 第5周末 
 发票模块上线 
 发票同步、发票入账、供应商台账可用 
 
 
 M5 
 第6周中 
 库存模块上线 
 汇总账、明细账、勾稽校验可用 
 
 
 M6 
 第6周末 
 全量联调上线 
 端到端流程测试通过，数据迁移完成 
 
 
 
 7.4 任务依赖关系 
 基础配置 (P0)
 │
 ├── 采购订单 (P0)
 │ │
 │ ├── 采购账户台账 (P0)
 │ │ │
 │ │ └── 批量对账单上传 (P0)
 │ │
 │ ├── 发票台账 (P0)
 │ │ │
 │ │ └── 供应商台账 (P0)
 │ │
 │ └── 库存台账 (P1)
 │ │
 │ ├── 移动加权平均 (P1)
 │ │
 │ └── 勾稽校验 (P1)
 │
 └── 供应商收款账户 (P0) ──▶ 采购订单付款
 
 8. 测试验收要点 
 8.1 核心流程测试 
 
 
 
 测试场景 
 验证点 
 
 
 
 
 现金采购完整流程 
 订单创建→付款→入库→发票入账，凭证正确，状态流转正确 
 
 
 账期采购完整流程 
 订单创建→账期付款→台账付款→入库→发票入账，凭证正确 
 
 
 部分付款+部分入库 
 状态正确（部分付款/部分收货），金额正确 
 
 
 退款（已付款未入库） 
 红字凭证，状态变为已退款 
 
 
 退款（已付款已入库） 
 退货凭证，库存回退，状态正确 
 
 
 批量对账单上传 
 Excel解析→预览→确认→批量生成凭证 
 
 
 
 8.2 台账查询测试 
 
 
 
 测试场景 
 验证点 
 
 
 
 
 采购账户台账列表 
 各金额字段正确，汇总行准确 
 
 
 供应商台账 
 按供应商汇总数据正确 
 
 
 发票台账 
 同步数据完整，入账状态正确 
 
 
 库存汇总账 
 期初/入库/出库/期末数据正确 
 
 
 库存明细账 
 逐笔变动可追溯，联查凭证 
 
 
 
 8.3 数据一致性测试 
 
 
 
 测试项 
 验证方法 
 
 
 
 
 订单金额 = 付款明细合计 
 查询统计对比 
 
 
 库存价值 = 入库明细合计 
 查询统计对比 
 
 
 已开票金额 = 发票入账金额合计 
 查询统计对比 
 
 
 库存余额 = 期初 + 入库 - 出库 
 滚动计算校验 
 
 
 库存余额 = 总账科目余额 
 勾稽校验接口 
 
 
 
 9. 风险与应对 
 
 
 
 风险 
 影响 
 应对措施 
 
 
 
 
 税局API不稳定 
 发票同步失败 
 支持手动导入Excel，保留重试机制 
 
 
 历史数据量大 
 迁移耗时长 
 分批迁移，错峰执行 
 
 
 科目配置复杂 
 凭证生成错误 
 提供配置校验工具，预置常用模板 
 
 
 移动加权精度 
 尾差累积 
 保留4位小数，定期勾稽校验 
 
 
 多账套权限 
 数据隔离混乱 
 所有查询强制带groupid，使用多租户拦截器 
 
 
 与现有代码冲突 
 系统不稳定 
 新表独立，Service独立，不修改现有代码 
 
 
 
 10. 附录 
 10.1 术语表 
 
 
 
 术语 
 说明 
 
 
 
 
 账期账户 
 采购时先挂账，后续通过台账付款实际支付的账户 
 
 
 现金账户 
 采购时直接扣款的账户 
 
 
 台账付款 
 账期账户的还款操作，在台账页面批量处理 
 
 
 归属供应商款项 
 计入供应商应付/已付的金额（货款、运费） 
 
 
 非供应商款项 
 不计入供应商应付的金额（手续费） 
 
 
 移动加权平均 
 每笔入库后重新计算库存单价的核算方法 
 
 
 在途库存 
 已付款但尚未入库的存货 
 
 
 P0/P1/P2 
 优先级：P0最高，P2最低 
 
 
 
 10.2 参考文档 
 
 20260618 进销存模块梳理（采购模块、台账）需求文档 
 财务ERP会计模块详细开发文档 
 财务ERP - 进销存模块详细开发流程文档

财务设计框架20251011-原始需求
财务设计框架20251011 

 

 

 

 所有支出参照正规的财务管理流程: 请款>审核>支付>凭证 

 

 

 字段齐全,包含财务报表所需要的相关对应字段(业务对应, 现金流表等) 

 

 

 

 

 设计好全公司的基础财务字段库, 以及可以兼容的更改方式 

 

 

 可以满足在这个框架下, 方便的显示公司,各个项目, 各个子公司的财务报表(业务,现金,资产等) 

 

 

 类似金蝶等的财务软件, 设计基础框架后,按照设计好的流程和操作, 后续所有报表都可以系统生成 

 

 

 

 

 跨越使用, 平台数据+多维表格+WIMOOR+海外仓+其它OMS,WMS 

 

 

 

 

 

 

 请款 

 

 

 类型有 

 

 

 多维表格: 

 

 

 房租 , 行政备用金, 项目备用金, 采购备用金, CFD请款总表 

 

 

 台账, 月结采购和承运商,快递 

 

 

 

 

 飞书审批: 个人报销 / 付款申请 

 

 

 Wimoor 应用 

 

 

 

 

 

 

 

 

 

 基本框架 

 

 

 

 会计科目基本字段配置 

 

金蝶的账号密码 

 

网址: jdy.com 账号：15773186733 密码：15773186733Aa@ 

 

 

 

 类似金蝶等主流企业 

 

 

 设置主流科目(要带编码),自定义的科目 

 

 

 科目的要否 : 现金及现金等价物科目 , 非现金科目 

 

 

 科目默认人民币, 可以设置其它币种. 统计余额/报表时需要转换币种 

 

 

 主科目, 子科目. 可能需要三级子科目. (银行存款 - 连连星球 - 连连星球 美元 ) 

 

 

 多级科目, 如果统计上一级科目时, 会把本级和子一级的所有子科目一起计算 

 

 

 

 

 跟三表还有明细账、总账中各个项目的关系. 便于系统自动统计报表 

 

 

 

 

 项目配置("账套" 配置 , 叫账套可能更贴合会计实操 ) 

 

 

 自定义"账套" (相当于一个公司, 或者是项目), "账套" 可以是单独的, 也可以其数据 = 自身 + 其它多个公司数据相加 

 

 

 "账套" 作用是可以针对"账套"出报表, 该账套名下所有凭证的数据对应的三表 

 

 

 权限设定时, 一个账套也是按权限查看, 

 

 

 账套的相关凭证登记和查看, 是分开做权限 

 

 

 

 

 "账套" 比如是有 FD-KQ FD-APN等, 然后再新建"账套", FD , 数据来源于 FD 加 FD-KQ 加 FD-APN 

 

 

 理论上讲 , 账套 可以使用所有科目. 但是有些自定义科目,实操/逻辑上只会用于某一账套才对. 

 

 

 

 

 用户权限设置 

 

 

 具体模块是否有查看 , 使用等的权限 

 

 

 用户查看和登记的权限 

 

 

 查看 相应的"公司" 数据 

 

 

 登记凭证时, 登记相应的"账套", 和指定的一些科目 

 

 

 

 

 登记凭证 

 

 

 手动登记凭证 

 

 

 符合会计凭证登记原则的行业方案, 比如借贷相等, 相应科目 

 

 

 凭证还需要填写"账套", 同一账套下必须有相应的借贷科目 

 

 

 凭证登记人 + 凭证登记时间 + 业务时间 + 凭证登记来源 

 

 

 

 

 自动登记凭证配置 

 

 

 凭证登记人 + 凭证登记时间 + 业务时间 + 凭证登记来源 

 

 

 多维表格配置 

 

 

 新增自动化配置 

 

 

 绑定一个多维表格(按飞书多维表格API的要求), 字段和科目/公司/等等数据 对应 

 

 

 相关限制的设定 

 

 

 

 

 采购模块配置 

 

 

 在采购当中付款. 即自动生成相应凭证. 

 

 

 需要解决 单笔/多笔/账期/1688订单和ERP订单不一一对应等多种情况 

 

 

 需要解决 多个付款渠道 等多种情况 

 

 

 各种问题, 需要配置 

 

 

 如果完全在ERP上操作, 需要满足各个付款方式(现金类型, 账期类型), 余额和付款明细的查看 

 

 

 

 

 

 

 支付平台操作 

 

 

 比如, 支付平台连连, 配置了支付平台类的现金科目, 即有相应的模块 

 

 

 "连连星球余额" , 展示其子科目(各个币种) 的当前余额 

 

 

 出账, 使用各个账套下的各个余额进行出账 

 

 

 

 

 自动登记凭证的异常处理. 

 

 

 列出异常, 手动处理 

 

 

 在远程端提示存在异常 

 

 

 

 

 

 

 报表配置 

 

 

 权限配置. 具体一个用户只能查看 指定的 "账套" + "科目" 的数据明细和结余 

 

 

 

 

 

 

 

 

 

 

 实际使用的举例 

 

 

 

 手动登记凭证 

 

 

 填写 公司+科目+借+贷+金额+备注, 摘要等等内容 

 

 

 凭证字收、付、转、记+号+日期 等等 

 

 

 

 

 

 

 

 多维表格自动登记凭证 

 

 

 行政周期付款 

 

 

 相应多维表格完成配置. 

 

 

 在ERP上配置 

 

 

 在多维表格上配置插件 

 

 

 

 

 审批付款 

 

 

 相应多维表格登记内容 

 

 

 付款后, 在多维表格的插件(前端) , 勾选相关记录, 发送到ERP登记凭证 (这一流程需要更详细设计) 

 

 

 自动对应科目 

 

 

 比如这个多维表格只能用哪些 科目作为 借项, 哪些科目作为 贷项.等等. 

 

 

 一般而言, 应该是 付 凭证字 

 

 

 公司,日期, 金额 等由审批时的字段对应 

 

 

 借项, 由审批申请人, 严格按下拉选择是哪些费用成本科目 

 

 

 贷项, 由付款人出纳, 按付款的情况选择对应 

 

 

 

 

 

 

 支付平台出账 

 

 

 连连星球, 输入 出账金额, 摘要, 备注, 出账账套分摊或指定账套, 等, 出账操作 

 

 

 会把出账金额, 由各个账套分摊. 比如要出30,000, 当前余额 FD-KQ, 50,000CNH; FD-APN, 10,000CNH. 出账扣减时, FD-KQ, 25,000, FD-APN,5,000 ,这样分摊. 

 

 

 凭证就是 

 

 

 连连星球 贷 FD-KQ 25000 , FD-APN 5000 

 

 

 内部往来 借 FD..... 

 

 

 

 

 "内部往来" 科目是用于解决, 经常出现的:某个账套需要由另一个账套的资金来支付, 同时其下的资金也常用于支付另一个账套的资金. 所以所有账套合并报表之后, 应该"内部往来" 是等于0的. 

 

 

 

 

 

 

 采购 

 

 

 工资分摊计算 

 

 

 多维表格 

 

 

 上传工资数据后, 按配置的规则 

 

 

 计算各个账套, 应分摊的工资 

 

 

 贷 , 某一账套 的 对公账号 科目 

 

 

 借, 某一账套 的 人员工资/社保/公积金 科目 

 

 

 

 

 

 

 

 使用的有: 

 

 

 飞书审批然后付款 > 多维表格 

 

 

 物流, 采购月结 > 多维表格 

 

 

 采购现金支付, 诚e赊, 跨境直采 > ERP定制模块 

 

 

 对公账户付款, 工资/报销 ,房租等 > 多维表格 

 

 

 多个支付平台付款 > ERP定制模块 

 

 

 请款: 单独, 项目备用金, 行政备用金, 等各种 > 多维表格 / ERP手动登记凭证 

 

 

 

 

 

 

 

 额外需求: 香港公司对应的支付, 归集所有单据 

 

 

 采购 

 

 

 物流 

 

 

 外币支出, VAT等等 

 

 

 

 

 

 

 

 

 分步实施 

 20251016第一阶段 

 

 

 

 先做以下模块 

 

 

 会计科目基本字段配置 

 

 

 账套配置("账套" 配置 , 叫账套可能更贴合会计实操 ) 

 

 

 用户权限设置 

 

 

 手动登记凭证 

 

 

 

 

 

 

 20260225 

 

 

 

 会计相关的功能单独一个主菜单 : 账簿 

 

 

 不与原有的财务主菜单同模块. 

 

 

 凭证自动生成 : 子菜单. 放各种自定义的凭证生成模板 (不能叫凭证模板, 因为 录凭证的功能里, 也有一个凭证模板的功能, 是保存好科目设置的一种简单模板) 

 

 

 审核 , 免审核 

 

 

 

 

 

 

 飞书联结, 从飞书到录入凭证 

 

 

 提供一套通用的方式联结飞书多维表格 

 

 

 多维表格, 自定义插件 

 

 

 提供飞书插件服务器,多维表格授权, 关联必要字段 

 

 

 凭证自动生成 : 飞书多维表格 

 

 

 可以设置多个模板,每个模板可以基于不同的底层API. 比如飞书多维表格模板, 可以设置多个,对应不同飞飞书表格 

 

 

 

 

 

 

 店铺月度数据自动凭证 

 

 

 https://developer-docs.amazon.com/sp-api/docs/report-type-values-payment 

 

 

 "\\192.168.0.202\合规中心公共盘\软件备份\cfd_web_app\cfd_web_app\utils\amazon_accounting.py" 

 

 

 

 

 下载原始数据并保留 

 

 

 对应逻辑生成凭证 (类似 金蝶的结账凭证模板设置 ) 

 

 

 汇率使用数据日期当天的 外币对人民币的中间价 

 

 

 mp.weixin.qq.com 

 

 

 

 

 凭证从营业收入, 到 应收账款(亚马逊平台店铺) , 不需要涉及连连收款(后续其它模板涉及) 

 

 

 

 

 凭证自动生成 : 亚马逊交易数据月度报告 

 

 

 

 

 其它台账结构构思 

 

 

 发票台账 (月结,账期,诚e赊,关联付款订单) (金蝶, 发票管理模块) 

 

 

 进销存台账(进销存系统) (https://www.kingdee.com/product/stellar_inventory.html) 

 

 

 广告发票台账(https://advertising.amazon.com/API/docs/en-us/billing#tag/Billing-Documents) 

 

 

 

 

 

 

 

 凭证自动生成: 

 

 

 联接飞书多维表格 

 

 

 亚马逊销售数据期间汇总 

 

 

 数据: 

 

 

 最佳实践: 使用settlement report 按照回款的时间入账分录, 并且 数据与 payment report, excel和pdf完美匹配 (亚马逊 Date Range 报告 / 结算单) 

 

 

 次选,使用payment report,按月入账. API > 人工 

 

 

 最差: 使用settlement report, 与payment report不一致 

 

 

 英国 GMT+1. 

 

 

 时区问题 202602 

 

 

 根据PDF的时区处理数据 

 

 

 可以使用settlement report的数据来处理, 必须要保证数据来源的时区原始数据, 再处理 

 

 

 

 

 

 

 科目设置 

 

 

 除了已确定的 

 

 

 还需更改: 

 

 

 提现时, 提到 应收款项 _ 亚马逊平台转出未入账 USD CAD EUR GBP 

 

 

 增值税? 

 

 

 

 

 

 

 

 

 结账 

 

 

 期末调汇 

 

 

 结转销售成本 

 

 

 结转利润 

 

 

 

 

 

 

 

 20260303 损益科目红字 

 

 

 损益科目, 不能记借方蓝字, 记贷方红字. 

 否则利润表与明细账对不上 

 

 

 

 

 202511029 需求补充 : 备忘记录 

 

 

 

 凭证对应的附件 上传 

 

 

 1688采购的凭证, 如何加进去? 

 

 

 采购 

 

 

 

 

 导出. 报表和明细的功能 

 

 

 账表. 

 

 

 

 

 20251108 需求 备忘 

 

 

 

 软件信息系统的重构 

 

 

 针对公司,单个店铺的维度 

 

 

 涵盖 业务. 采购,物流,销售,财务统计 

 

 

 重点新增会计内容. 

 

 

 各个业务点的票据和业务截图. 的保存 

 

 

 

 

 财务记账模块 

 

 

 专业的会计账表 

 

 

 

 

 

 

 同时能灵活应用到多个店铺, 多个运营, 多个功能性主体 

 

 

 可以做到 

 

 

 既能分开查看: 满足合规要求. 实现业务实质复现 

 

 

 又能合并查看: 满足集团层面的查账, 比对等需求 

 

 

 又能方便地记录: 满足实操中业务的便捷 

 

 

 

 

 想法 

 

 

 底层, 是分开独立的. 各个公司 (包括店铺,运营,采购,香港主体等以公司为单位), 单账号单密码 

 

 

 操作层面 

 

 

 通过账号关联 > 业务授权的模式 

 

 

 类似 代运营的方式 

 

 

 比如: 个别操作, 单账号某人, 可以上传附件/创建单据, 是涉及多个公司的情况 

 

 

 

 

 

 

 

 

 

 

 尤其重视合规的要求 

 

 

 可能需要非常多的地方 留存文档: 图片, excel , pdf, zip 等媒体资料附件 , 非常重要 

 

 

 媒体存留服务器, 至少双备, 可冷备, 本地备份 

 

 

 加密. 

 

 

 附件的日期, 命名, 关联凭证, 等等必要信息 

 

 

 

 

 多个核心的业务点, 要有相应的 "四票一致, 业务留痕" 的OA上的操作要求 

 

 

 合同 (账单) 

 

 

 发票 

 

 

 物流凭证 (轨迹, 货物流) 

 

 

 付款凭证 (资金流) 

 

 

 业务沟通记录 

 

 

 

 

 会记凭证. 所有凭证都要用对应的附件, 佐证四票一致,业务留痕 

 

 

 非常重要: 当需要核查时, 可以按公司单独账号来登录, 只能查看公司单独的 

 

 

 有些属于业务上的, 尤其是库存的会计凭证, 考虑怎么快速记, 才方便 

 

 

 采购, 入库, 出库, 在途, 等等. 业务单据 > 会计凭证 

 

 

 

 

 店铺公司的平台费用 

 

 

 最好自动下载 / 手动下载 留存 (按文件存放, 凭证的附件) 

 

 

 月度 

 

 

 明细数据(excel / pdf ) transaction 

 

 

 月度数据 , summary 

 

 

 

 

 

 

 

 

 除了, 会记凭证, 其它核心的业务点, 也一样要求上传, 保留一些票据 

 

 

 针对公司层面: 合同, 备案, 等等 

 

 

 物流: 物流单证 

 

 

 

 

 

 

 建立 “库存 - 发票” 一体化管理系统 结转成本 

 

 

 用 ERP 系统记录每批次库存的采购时间、发票号、金额、税额 

 

 

 出库时自动关联对应采购批次，生成成本结转凭证，确保账实相符 

 

 

 定期库存盘点 + 差异调整 

 

 

 每月末进行库存盘点，出具盘点报告，调整账实差异 

 

 

 年度终了进行全面盘点，确保库存数据准确，为所得税汇算清缴提供依据 

 

 

 凭证归档标准化 

 

 

 按 “采购合同→付款凭证→进项发票→入库单→出库单→销售订单→物流单” 的顺序归档 

 

 

 电子档案与纸质档案同步保存，保存期限不少于 10 年 

 

 

 

 

 

 

 

 20260311开发计划草拟 

 

 

 

 通胀功能 

 

 

 凭证审核. (凭证状态 > 审核, 尤其是自动生成的) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 计划最晚上线时间 

 

 

 模块功能拟放的位置 

 

 

 详细功能 

 

 

 备注 

 

 

 

 

 202603 

 

 

 账簿-结账-期末处理-新增自定义模板-亚马逊月度营业数据 

 

 

 

 按科目,引用数据,按模板设置生成亚马逊的月度营业数据 

 数据源: 按国家 

 凭证备注设置 

 汇率: 对应币种按原币记录 + 对账簿对应的本位币的汇率按亚马逊报送中国税局的要求, 订单每日的中间币外管局的价牌. 

 凭证日期: 需要设置为对应数据月份.(凭证日期很重要,涉及数据的账期归属) 

 

 

 

 后续进一步增加: 月度PDF作为凭证附件. 

 

 

 

 

 

 202604 

 

 

 账簿-凭证-导入凭证 ; 

 导出凭证 > 更改 > 导入批量更改 

 

 

 

 

 

 可以导入. 导出可以放到明细账,设定成导入的格式. 

 

 

 

 

 202604 

 

 

 账簿-结账-期末处理-新增自定义模板-飞书多维表格数据连接 

 

 

 

 

 

 

 自动连接飞书的数据, 多维表格的数据可以直接按配置好的模板, 生成凭证. 

 

 

 

 

 202605 

 

 

 明细账 

 总账 

 科目余额表 

 

 

 

 

 

 复制金蝶的大部分前端逻辑. 方便查找核对. 

 

 

 

 

 

 

 

 

 

 财务报表: 

 

 

资产负债表, 利润表, 现金流表 

 

 

 

 

 

 重要: 利润表, 增加一个功能, 可选择显示或隐藏,各项成本项目的占总营业收入的比例 

 

 

 

 

 

 

 

 

 

 

 现行采购模块 > 自动记账 

 

 

 

 

 

 

 

 

 

 

 202605 

 

 

 账簿 - 台账 - 进销存 

 

 

 凭证字号. 入, 出, 采 , 进, 销 等等 

 

 

 

 

 

 

 

 

 

 

 结账 - 期末处理 : 

 调汇 + 结转 + 损益 

 税务相关 

 

 

 

 

 

 

 

 

 

 

 

 

 

 结账 - 结账 

 

 

 

 

 

 

 

 

 

 

 

 

 

 账簿 - 台账 - 发票 

 

 供应商台账 

 采购/物流 对账单 <> 发票 台账 

 

 采购账户台账 

 余额/对账,账期还款对账单(批量支付,还款), 

 

 

 发票 <> 付款全链条关联查询: 

 发票-采购订单-付款-税-供应商...出口.退税等等 

 发票-报销-付款-货物等等 

 

 

 亚马逊等境外发票 + 境内发票 

 

 

 

 

 202609 

 

 

 

 

 离境业务流的会计凭证 

 

 

代收款项/划转 

 

信用卡广告 等等 

 

 

 

 

 

 

 

 

 凭证 <> 附件 

 

 

 

 

 

 

 

 税务报表参考报税数据 

 

 

 

 

 

 

 

 

 

 

 后续 

 

 

 员工收入台账 

 

 其它平台对接 

 

 应付款项 - 台账 

 资金流分析等 

 非亚马逊平台类的销售端+库存 的接入 

 连连台账(香港公司的明细?) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 需求草稿 

 

 

 

 飞书多维表格的连接 

 

 

 

 

 

 

 

 

 

 

 表格 

 

 

 需求简介 

 

 

 可能的方案 

 

 

 

 

 工资 

 

 

 一张表格,多家公司账薄,涉及固定的科目和格式 

 

 

 

 

 

 需要前端插件. 手动更新数据后, 手动确认>发送>ERP后台生成凭证 

 

 

 ERP配置: 

 

 

 新建模板,名称 

 

 

 多维表格连接配置 

 

 

 输入多维表格 token等> 拉取字段结构 

 

 

 

 

 凭证参数配置 

 

 

 凭证字号: 单独设置以区分(尤其是预计凭证多的时候) 

 

 

 

 

 

 制单人 

 

 

 凭证备注, 等 

 

 

 

 

 多维表格记录筛选配置 

 

 

 完全复制多维表格的'筛选'功能 

 

 

 

 

 凭证分录配置规则 

 

 

 备注说明: 每条符合筛选条件的记录对应一对'借贷平衡'的凭证分录. 

 

 

 账簿 

 

 

 凭证日期 

 

 

 借方科目配置 

 

 

 当'字段',等于/包含/不等于, XX , 时 

 

 

 科目 单选/多选, 为 XX/XX 

 

 

 多选时, 即需要前端确认 

 

 

 

 

 (本位币) 金额 , 为 '字段' 

 

 

 如果是外币科目 

 

 

 货币 

 

 

 汇率 

 

 

 原币金额 

 

 

 

 

 

 

 贷方科目配置 

 

 

 同上 

 

 

 

 

 

 

 

 

 

 其它: 

 

 

 筛选条件的数量, 最大为多少个? 1,2个? 

 

 

 是否需要前端确认 

 

 

 分录的科目, 如果是多选. 则必须前端处理, 手动发送. 

 

 

 

 

 

 

 

 

 ERP收到返回处理 

 

 

 后台给多维表格生成处理标记(时间+凭证号?) 

 

 

 "异常"处理 

 

 

 凭证要有地方可以反查数据来源(比如备注等) 

 

 

 

 

 

 

 

 

 请款申请 

 对内报销 , 对外支付, VAT支付 

 

 

 飞书审批同步数据 

 

 

 

 

 

 前端确认. 或者加入财务审批细点. 自动生成, 审批完成后?但有风险. 报销可能科目太多? 

 

 

 采用手动确认. 

 

 

 

 

 

 

 单一业务清晰的表格 

 

 

 VAT支付 

 

 

 

 

 需要实现全自动流程(或者是免审流程) 

 

 

 新旧数据比对? 如何避免重复? 

 

 

 

 

 

 

 

 

 

 

 

 20260401 亚马逊月度营业数据: PDF数据项目对应科目 

 

 "\\192.168.0.202\合规中心公共盘\合规中心专用\效率工具处理专用\平台数据月度记账\PDF数据项目对应科目.xlsx" 

 

 

 

 202604 进销存 

 功能需求 

 

 

 

 ERP全流程支持: 采购>付款>结余查账>入库>库内操作>转库>销售出库>其它出库, 操作和凭证生成 

 

 

 先做, 采购 到 出库. 暂不做库内操作的结转到库存价值. 

 

 

 库存价值, 先进先出,加权平均. 先只对应采购环节分摊. 

 

 

 

 

 采购账户可以分成 现金或者账期类型的. 现金是没有负余额,账期是赊账支付,有负额(欠), 需要还款 

 

 

 支持账期, 一笔付款>多笔订单, 能关联得上(操作要便捷) 

 

 

 账期, 一笔付款>多个订单 

 

 

 先采后付, 还款, 一笔跨境直采还 > 多个跨ERP订单 ; 

 

 

 

 

 支持多个ERP账号,共用一个账户, 额度, 如跨境直采. 具体明细数据/权限/一笔付款多笔订单等等, 怎么做需要细化 

 

 

 现金类型, 银行账户,浦发, 的台账, 考虑支持ERP自身的记录, 和 银行拉取的数据 

 

 

 SKU-库位-库存 : 从采购 > 入库 > 出库, 都要按唯一账簿做归属. 

 

 

 

 

 进销存 台账, 发票台账,设计重点 

 

 

 

 设置对应各个环节进销存的会计科目, 

 

 

 开发会计科目的辅助核算功能, 供应商 + 存货 , 可以一并加上 部门等 

 

 

 

 

 采购账户的台账: 账期,付款时的订单对应 , 对账单 , 

 

 

 支持上传 账期-对账单 : 订单明细 + 金额明细 

 

 

 单一笔的付款金额 > 对账单 > 凭证 

 

 

 跨境直采 支付 先采后付的情况 

 

 

 1688自行分配 付款 与 订单的关系. 

 

 

 需要支持上传 对账单(包含 ERP订单+金额明细等, + 1688订单 + 跨境直采服务费 总额/分摊 ) 

 

 

 

 

 预留, 与发票台账的 一一对应的接口, 

 

 

 ERP订单 > 付款单 > 发票 , 多对多对应 

 

 

 

 

 

 

 采购ERP操作 细节 

 

 

 ERP采购订单 : SKU : 供应商 : 1688订单 : 款项记录 = 1 : N : 1 : N : N 

 

 

 SKU : 账簿 = 1 : 1 

 

 

 所有对应关系, 双边可查. 比如订单能查到对应账项 ; 某笔款项也能查到对应订单 

 

 

 

 

 订单款项记录 : 

 

 

 订单下多个SKU可能属于不同账簿, 需要按款项进行分摊. 每个订单 分摊操作/按钮? 自动分摊? 

 

 

 问题: 当前费用类型 (货款 , 运费 , 货款(包含运费) , 跨境直采手续费, 其它费用等), 有很多费用,跟对应订单下的供应商没有关系, 如果使用账期账户, 到时账户的台账, 应还金额就会对不上? 

 

 

 待细化: 

 

 

 将订单层面的款项记录, 只限定在 与订单下供应商一致相关的, 

 

 

 将其它类型的款项, 如 运费/跨境直采手续费等与供应商不相关的, 另外在 账户的台账下, 使用批量关联的方式登记 

 

 

 对于跨境直采, 在ERP订单款项记录里一并登记, 操作效率会更好, 批量操作的方式,需要拆/合并,不好使用? 

 

 

 

 

 对于运费: 

 

 

 重点看是直接采购使用采购账户付出去? 还是请款/另行支付. 采购账户付出去, 就需要直接对应生成凭证. 请款/另行支付, 就需要会计出纳-台账 操作 

 

 

 如果是直接支付的情况. ERP订单操作, 需要单独有 对应支付到非该供应商的 款项记录? 

 

 

 

 

 采购环节当前节点疑问 

 

 

 保证: 付款金额(分供应商和其它人) - 入库库存价值 - 发票 一定金额对得上. 不然有些科目会有差额 

 

 

 每笔款,都要对应到入库前的库存价值. 

 

 

 货款, 运费, 服务费. 有些非供应商层级的是否考虑不需要对到到库存价值 

 

 

 但如果是账期, 都需要对到 供应商层级 

 

 

 肯定都要对应到 , 店铺/账簿 层级 

 

 

 

 

 是不是全部采购,都有对应的ERP订单? 月结,耗材等等, 对应相应入库 

 

 

 支付ERP采购订单时, 有哪些非供应商的款项记录需要登? 走直付/账期/月结/还有没有其它 

 

 

 运费类型, 有哪些支付方式? 还有其它相关费用项目吗 

 

 

 先采后付, 还款时, 还款款项,能不能对应上1688订单, 对应上ERP订单+SKU? 有没有其它费用 

 

 

 跨境直采, 还先采后付的情况呢 

 

 

 

 

 跨境直采, 支付. 服务费, 登记办法. 

 

 

 借 财务费用 

 

 

 

 

 批量支付: 通过账户台账, 对账单 ,功能, 批量支付+关联ERP订单+ 

 

 

 付款 和 取得发票的 两个环节的会计凭证 

 

 

 退款退货, 换货, 退款不退货,退货不退款, 部分退货 等情形 

 

 

 还有使用A付款了, B来退款或者其它的情形 

 

 

 

 

 付款 , 入库, 发票的先后. 有没有先发生入库, 再去付款等的情形? 

 

 

 如果创建订单时, 不做凭证, 就没有待付款的统计项? 需不需要 

 

 

 事后需要更改的情况多不多? 填错了, 少填了? 与实际付款的不一致的情况 

 

 

 

 

 

 

 

 

 

 

 

 

 设计思路 

 

 

 

 现金流 和 库存 和 发票 三个环节分别独立. 凭证与台账之前双向可互查 

 

 

 ERP创建订单时, 不生成凭证.不影响任何会计环节. 待收货,待付款等等 

 

 

 或者只做对应采购人员知晓的 各家供应商待处理订单等业务分析页面 

 

 

 

 

 付款时 (采购账户台账) 

 

 

 凭证可能通过某条属性,查到对应的采购订单 + 对应在采购账户台账里的明细 + 供应商台账应收应付(发票) 等 

 

 

 现金流凭证: 借 预付账款-对方, 贷 采购账户 

 

 

 采购订单: 凭证号 (或者是在凭证里,记上 采购订单号 ,辅助核算或是额外的属性或是格式化的摘要. 需要考虑后续 (一个凭证明细的会计科目,有没有可能对应多个采购订单号,导致数据不好存储?) ) 

 

 

 采购账户台账: 凭证号 

 

 

 供应商台账: 凭证号 

 

 

 凭证的其它属性: 供应商(会计科目的辅助核算属性) + SKU(辅助核算属性) 

 

 

 

 

 库存凭证: 借 在途库存, 贷 应付账款-对方 

 

 

 ERP采购单号 + 供应商(辅助核算属性) + SKU(辅助核算属性) 

 

 

 

 

 

 

 收到发票时 (发票台账) 

 

 

 发票凭证: 借 应付账款-对方, 借 应交税费 (不出口退税无), 贷 预付账款-对方 

 

 

 相当于预设,发票先到库存后到(发票金额先确认,库存价值跟着发票金额) 

 

 

 如果三项不一致的情况, 比如库存先到/发票后到, 发票金额与实际支付金额不一致 / 退款结转到后续付款订单 / 其它渠道退款回来以其它方式入账 等等 

 

 

 理论上讲需要按发票金额入库存价值 

 

 

 操作办法? 红字冲销重做 / 差额挂在 预付账款 / 退款 

 

 

 

 

 

 

 

 

 入库时 (库存台账) 

 

 

 库存凭证: 借 商品库存, 贷 在途库存 

 

 

 

 支付采购订单时: 借 预付账款-ERP采购供应商, 贷 货币资金—浦发银行(2384)采购货款待结算 借 在途库存, 贷 预付账款-ERP在途发票 (公账作为支付时,有另行的飞书审批生成凭证) 出纳付款后,飞书多维表格生成凭证 借 货币资金—浦发银行(2384)采购货款待结算, 贷 货币资金—浦发银行(2384) 收到发票时: 借 预付账款-ERP在途发票, 贷 预付账款-ERP采购供应商 收到库存入库时: 借 库存商品, 贷 在途库存 

 

 

 

 

 

 采购 

 

 

 采购账户设置 

 

 

 账户类型 

 

 

 现金类型 

 

 

 对公账户绑定设置状态 

 

 

 

 

 账期类型 

 

 

 

 

 激活状态 

 

 

 跨账户共享设置 

 

 

 是否启用采购对应的会计科目. 

 

 

 是否启用现金流凭证, 如果不扣款/不计账户余额可能就不需要(比如 对公账户, 多个环节扣款+ERP没有联通银行API) 

 

 

 是否启用库存凭证 

 

 

 账户是否有服务费: 需要对应设定会计科目 

 

 

 

 

 对应台账相关设置 

 

 

 

 

 

 

 

 款项分摊设置 

 

 

 

 

 采购模块会计功能, 启用. 

 

 

 区别于现有的采购模块, 另行单独的模块对接 

 

 

 启用后,或者新的页面, 或者旧的页面里对接新的会计功能 

 

 

 

 

 采购订单 

 

 

 是否需要改成按ERP订单操作, 当前是按订单+SKU操作 

 

 

 采购订单, 登记款项 时; 强制对应 SKU来分摊. 分摊的明细, 要在前端同步显示. 

 

 

 

 

 采购订单输入时, 要输入 账户支付单号/银行流水单号等类型的 账户支付单据编号 

 

 

 存入凭证特点位置, 用于 将 现金流凭证 - ERP订单 - 账户台账 对应 

 

 

 

 

 

 

 台账的作用 

 

 

 主要有 

 

 

 供应商台账: 使用辅助核算,对应 应收, 应付, 预付 等 

 

 

 采购账户台账: 账户收支明细; 批量付款(对账单); 余额对账 

 

 

 账簿(当前/全部) > 供应商 > 科目 > 时间范围 

 

 

 结账: 针对日进行结账, 结账后, 该日期及以前的数据不可更改 

 

 

 设定允许更改时间: 在结账前, 多少天内的数据允许更改 ( 采购订单的付款明细 操作) 

 

 

 

 

 发票台账: 发票的明细,余额; 应收; 发票对账,状态; 未入账发票/已入账发票 等等 

 

 

 库存台账 

 

 

 

台账 : 

 

 

 账户台账 

 

 

 主要解决: 对账(余额和明细), 账期付款的问题 

 

 

 现金 

 

 

 账期 

 

 

 支持跨ERP余额 对账 / 对账单付款 / 结账 

 

 

 

 

 余额查询 , 明细列表(对应订单等,订单辅助核算) 

 

 

 

 

 (采购/物流)供应商台账 (设置好相应的会计科目对应) 

 

 

 主要解决: 发票和库存,待入的问题. 

 

 

 筛选科目, 对应科目计算, 按照供应商辅助核算数据, 得出相应科目(相应科目, 对应应收发票, 应付款, 应收库存)下的 明细, 期初, 期末, 发生额 

 

 

 提供, 对账单下载, 对账单付款(款项操作设定在账户台账处理) , 发票入账 的功能. 

 

 

 支持一个供应商(ID,简称) : 维护多个收款账号(发票抬头公司,付款号码) : 只能默认1个,停用,启用 

 

 

 

 

 发票 台账 

 

 

 主要解决: 发票一一对应, 状态, 正确凭证入账查询的问题 

 

 

 计划使用金蝶 拉取发票数据,API, 

 

 

 覆盖统计, 进项、销项、红字、作废 ; 查询 发票数据, 如 开票人, 类型 等等 

 

 

 匹配 采购供应商发票入账, (后续)物流供应商发票入账, 飞书审批的发票入账, 等等 

 

 

 确认, 区分已入账, 和未入账发票 

 

 

 我们只有收票端, 一般不开票. 应该对于需要开票的统计, 应开未开票 - 客户 这一类的,暂时少 

 

 

 等等, 这一块需要进一步细化, 实质也是基于 凭证,各种辅助核算的功能来开发应用. 

 

 

 

 

 

 

 

 

 账户台账, 账期类型. 启用台账批量付款功能 

 

 

 在台账页面, 上传 对账单 > 完成付款 > 生成台账明细 , 对应ERP订单明细金额等, 对应凭证 

 

 

 先前逐步支付, 跟正常账户支付同样的逻辑: 

 

 

 

 支付采购订单时: 借 预付账款-ERP采购供应商, 贷 其他货币资金—账期结算户 借 在途库存, 贷 预付账款-ERP在途发票 收到发票时: 借 预付账款-ERP在途发票, 贷 预付账款-ERP采购供应商 收到库存入库时: 借 库存商品, 贷 在途库存 

 

 

 

 现在批量还款: 借 其他货币资金—账期结算户, 贷 采购账户 

 

 

 供应商(或 + 采购订单)的辅助核算, 所以要求这个凭证要按供应商 (+采购订单) 的字段分明细(对账单格式设计) 

 

 

 

 

 

 

 账户台账, 带有服务费的类型. 启用台账批量付款功能 

 

 

 直接支付时, 跟正常账户支付类似的逻辑: 

 

 

 

 支付采购订单时: 借 预付账款-采购供应商, 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 借 财务费用_跨境直采 , 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 借 在途库存, 贷 应付账款-对方 收到发票时: 借 应付账款-对方 , 贷 预付账款-对方 收到库存入库时: 借 库存商品, 贷 在途库存 

 

 

 

 批量支付偿还账期类账户时: 

 

 

 借 其他货币资金—账期结算户, 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 借 财务费用_跨境直采 , 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 

 

 

 

 

 

 

 (采购, 物流)供应商台账, 

 

 

 依据凭证里, 会计科目的供应商辅助核算的数据生成, 供应商的 款项,发票,库存 的应付明细和余额数据. 

 

 

 多个供应商,同一个功能页面, 按供应商筛选 

 

 

 设置多种类型, 比如 预付账款 - 采购供应商 , 这个科目下的, 表示 对应待收的供应商发票 

 

 

 只有发票, 存在需要在台账, 登记 生成凭证 

 

 

 发票,对账单, 凭证上: 关联采购订单 等辅助核算 

 

 

 对于在使用发票入账时(收到发票时, 要做的凭证), 如果是税要记为进项的时候应该, 

 

 

 

 支付采购订单时: 借 预付账款-对方, 贷 其他货币资金—账期结算户 借 在途库存, 贷 应付账款-对方 原记法,收到发票时: 借 应付账款-对方 , 贷 预付账款-对方 需要退税,需要抵扣,收到发票时 1）先红字冲销原来先行预估登记的 借：在途库存, 贷：应付账款-对方 2）按实际发票金额正式入账 (不再使用'应付'科目) 借：在途库存 借：应交税费 - 应交增值税（进项税额） 贷：预付账款-对方 

 

 

 

 

 

 

 

 相关设置 

 

 

 采购时, 个别无法通过平台确认账簿的SKU, 支持在采购订单, 手动指定/分别分摊 对应账簿? 

 

 

 固定, 还是全部都能手动指定? 

 

 

 基于此, 导致 台账的查看, 是否需要支持 "当前账簿" , "全部账簿" 的(就这两个选择就行, 肯定不能支持逐个账簿筛选), 以便于对比数据 ! 

 

 

 不但是跨账簿的问题, 个别还有跨ERP的,比如跨境直采的数据(只支持在主ERP里显示全部?) 

 

 

 

 

 

 

 对于ERP自动生的凭证,设置专用的会计科目(区别于其它渠道录的凭证)并启用相关的辅助核算 

 

 

 应付账款-ERP采购供应商 

 

 

 预付账款-ERP采购供应商 

 

 

 其他货币资金-(相应采购账户) 

 

 

 在途库存-ERP采购 

 

 

 

 

 

 

 

 

 20260523 

 

 财务ERP会计模块-进销存 

 

 

 20260422 发票台账 

 

 

 

 数电发票 - 数电发票号码管理 

 

 

 对应客户 

 

 

 凭证 

 

 

 合同 

 

 

 

 

 三方API ,中税创新,金蝶等 > 爬虫 > 乐企 

 

 

 暂时先用金蝶? 

 

 

 

 

 飞书审批 

 

 

 审批 > 付款 > 发票 

 

 

 付款 , 对应 付款的会计凭证 

 

 

 借 预付款 - XXX ; 贷 现金类 

 

 

 预付款 - xxx : 建立台账页面,需要相应详情 

 

 

 

 

 收到发票 

 

 

 多维表格审批,填写发票号 <> 对应后台获取的发票号, 支持多张 

 

 

 借 XX费用 ; 贷 预付款 - XXX 

 

 

 

 

 发票未获取, 发票台账, 显示 待收发票? 需要进一步细化 

 

 

 发票获取, 对应 付款 + 原凭证 

 

 

 

 

 设计 - 会计科目 

 

 

 在发票台账设置, 哪个会计科目的哪个辅助核算, 借贷方, 对应 发票出具方 + 欠多少发票额 + 已给哪些发票 等 

 

 

 比如: 设置 预付账款_ERP采购供应商 (ERP物流供应商,等等), 在凭证中,这个科目放, 借方, 就是对应的供应商需要欠的发票 ; 在贷方, 就是对应供应商已给的发票 

 

 

 

 

 

 

 2026604 对公账户余额数据 

 

 

 

 https://open.spdb.com.cn/develop/ 

 

 

 

 满足需求: 

 

 

 台账: 查询账明细流水 

 

 

 采购: 付款关联 

 

 

 发票: 进项发票关联付款单 

 

 

 

 

 202605 采购模块扩展改进 

 

 需要包含的内容 

 

 

 支付方式/支付账户/卡 : 

 

 

 现金类型, 还是贷记,赊账支付类型 

 

 

 对应 会计科目 绑定关系. 

 

 

 

 

 跨境直采问题 

 

 

 1688先采后付 

 

 

 使用跨境直采, 批量还款时, 

 

 

 跨境直采的服务费 

 

 

 分摊问题. 

 

 

 实际金额是多少的问题 (连连下载的明细是1688订单总的金额,不按SKU细分 ; ERP登记的是按SKU细分) 

 

 

 

 

 

 

 

 

 20260612 系统优化需求 

 

 

 

 查凭证 

 

 

 数值格式化,千分位2小数点 

 

 

 凭证字号,摘要, 支持模糊查询 

 

 

 支持 凭证备注 模糊查询 

 

 

 制单人, 选项查询 

 

 

 来源模块 (手工录入, 结账-模板类型 , ... ) 

 

 

 支持, 显示原币: 币列,汇率,原币借方(贷方)金额 

 

 

 凭证可自主选择显示相应的科目 

 

 

 

 

 

 支持 会计科目 输入搜索, 模糊输入+返回选项+选择选项搜索. 

 

 

 会计科目,名称全局统一, 所有地方都要如此显示, 其它模块亦如此 

 

 

 编码 一级名称_二级名称_三级名称, 示例: 10120201 其他货币资金_第三方平台-连连_加元户 

 

 

 

 

 

 

 凭证日期/凭证字号排序：两者都需要排序按钮 

 

 

 

 

 

 明细账: 

 

 

 数值格式化,千分位2小数点 ; 

 

 

 不需要: 凭证编号 摘要 的搜索 (业务逻辑不存在需要这个搜索) 

 

 

 支持 会计科目 输入搜索, 模糊输入+返回选项+选择选项搜索. 

 

 

 支持选择 显示/不显示原币相关列 : 币列,汇率,原币借方(贷方)金额 

 

 

 凭证创建时间不需要, (此页面是报表的类型, 非报表相关的列,编辑/审核/操作流程相关的列此处没有参考意义) 

 

 

 

 

 科目余额表 

 

 

 科目编码+科目名称 的搜索 改为 支持 会计科目 输入搜索 

 

 

 科目的折叠展开,hover,提高触发范围 (现在范围太小,鼠标很难点中) 

 

 

 不需要 科目级别, 科目类别 列 

 

 

 支持外币: 

 

 

 提供币位单选项,默认是 本位币(XXX) 

 

 

 选择了其它非本位币, 

 

 

 二级表头 借方, 贷方 , 各自改为 借方(原币/本位币), 贷方(原币/本位币) 

 

 

 可以在 原来本位币的单元格, 加高行高, 分开写两行. 上行原币金额, 下行本位币金额. 或者再做其它设计. 避免整个表格列太宽,不好阅读. 

 

 

 

 

 

 

 

 报表项目 

 

 

 这几个菜单/页面名称, 都需要按会计统一的名称, XXX表, 不是XX报告 

 

 

 平衡/不平衡提示： 

 

 

 

 

 

 

 利润表 

 

 

 数据: 没有按 报表模板 设定的公式, 相应计算各项目金额. 成本全部都没有 

 

 

 设计: 支持 月度,季度,年度 

 

 

 新增列: 本年累计金额 

 

 

 模板设置: 项目名称, 要与金蝶的项目名称完全一致. 

 

 

 

 

 资产负债表 

 

 

 数据问题 

 

 

 模板设置: 项目名称等问题 

 

 

 本期金额,不需要, 这是发生额,不符合报表要以核算余额为目标的逻辑. 

 

 

 新增列: 期末余额, 年初余额. 对比可以按期末余额为基准对比 

 

 

 

 

 标准现金流量表 

 

 

 数据问题 

 

 

 模板设置: 项目名称, 要与金蝶的项目名称完全一致. 

 

 

 设计: 支持 月度,季度 

 

 

 本期金额, 这列后新增 , 本年累计金额 

 

 

 提供试算平衡结果. 平衡/不平衡的话,提供相关解释,具体数据 

 

 

 

 

 所有者权益变动报告 

 

 

 只需要支持年度 

 

 

 这个用处不大.可以以后深化. 

 

 

 

 

 

 

 结账 

 

 

 亚马逊月度模板 

 

 

 多维表格： 

 

 

 公户支付明细 / 第三方支付明细 

 

 

 需要改为支付时,按条输入. 将 应付登记 / 付款登记 分开. 

 

 

 

 

 

 

 会计科目-映射配置：加一个导入及导入模版 

 

 

 

 

 

 登记问题 

 

 

 所有凭证都没有按 财务 - 会计工作内容 的设计科目来登记 

 

 

 财务 - 会计工作内容 

 

 

 公账回款等, 付的和回的,科目不对; 

 

 

 凭证日期, 对应业务日期; 

 

 

 摘要,简要明了. 

 

 

 

 

 凭证字号,对应主要业务统一规则 

 

 

 平台数据月度.主营收入支出 

 

 

 手工录入 

 

 

 飞书多维表格自动录入 

 

 

 三方平台代收代付,付款和划转, 对账单 

 

 

 进销存, 系统生成 (采购,月结对账单,入库,库存调整) 

 

 

 

 

 

 

 会计科目的命名问题 

 

 

 要符合 公司2025 - 财务及海关 ERP设计方案 这个系统显示的会计科目的逻辑, 不要用_下划线,会与系统的以_分隔不同级别的科目有冲突. 

 

 

 

 

 

 20260618 进销存模块梳理(采购模块,台账) 

 

 

 

 前端页面: 账簿 > 配置 > 进销存配置 

 

 

 

 在账簿的模块下, 每个账簿独立单独配置 

 

 

 会计版本的进销存, 启用与禁用 

 

 

 启用后数据转为使用新版的 采购单(会计版) 

 

 

 包括生成的采购单等等 

 

 

 暂不考虑增值税退税/抵扣的问题.基于 出口不退税/无国内销售/无销项发票的情况 

 

 

 

 

 采购账户配置 

 

 

 维护可用的采购账户及其属性 

 

 

 用于在"采购单(会计版)", 付款时选择采购账户以及生成相应的凭证 

 

 

 相应地启用该采购账户对应的"采购账户台账" 

 

 

 采购账户配置: 

 

 

 采购账户名称 

 

 

 账户类型: 分为"现金", "账期" 

 

 

 现金: 指在采购单付款时, 就实际发生扣款的账户.(采购同步另行操作或者API对接实现同步扣款) 

 

 

 账期: 指在采购单付款时, 没有实际发生扣款,产生了应付, 相当于采购的付款操作等于发起采购的请款. 在相应的采购账户台账里处理这个请款的实际支付. 

 

 

 

 

 账户关联: 

 

 

 将本采购账户, 与其它账簿(跨ERP,跨账簿)的采购账户进行关联 (需要 账户类型 完全一致) 

 

 

 关联后, 数据可以在本ERP账号的 采购台账 下查看关联的采购账户的明细数据. 

 

 

 

 

 支付费用类型: 该种采购账户, 能支付的费用类型. 在"采购单"里付款时,选择该采购账户, 能支持选择的费用类型 

 

 

 费用类型, 比如"货款", "包装费用" 等等, 由用户自定义, 

 

 

 每个 费用类型, 分为 "归属供应商款项" 和 "非供应商款项", 需要用户设置 

 

 

 只有"归属供应商款项" ,计入供应商相关的付款汇总. 

 

 

 

 

 采购单付款,各种费用类型,对应的借贷方科目: 

 

 

 指定采购单付款页面,相应生成的凭证的借贷方科目 

 

 

 每一笔付款明细, 对应一对借贷科目 

 

 

 需要支持,配置该采购账户支持的各种的"费用类型", 可以指定不同借贷方科目 

 

 

 

 

 采购账户台账付款借贷方科目: 

 

 

 只有"账期"类的账户类型,需要这个设置. 

 

 

 现金类(已完成实际支付)的不需要在"采购账户台账"有台账付款功能. 

 

 

 指定在"采购账户台账", 台账付款 操作时, 相应生成的凭证的借贷方科目 

 

 

 支持配置该"账期"类采购账户, 用以给它最终实际付款的现金类"采购账户"(已经创建的现金类采购账户, 可以配置多个) 

 

 

 配置该账期采购账户的对应支持的各个现金类"采购账户", 相应指定不同借贷方科目 

 

 

 

 

 采购账户退款设置 

 

 

 退款设置, 对应的 费用类型 + 对应的借贷科目 

 

 

 默认 借贷科目 为 已经设置好的费用类型,正常付款时的借贷科目 公司2025 - 财务及海关 ERP设计方案 , 相反方向 

 

 

 

 

 凭证字号规则 

 

 

 

 

 采购供应商台账配置 

 

 

 采购供应商台账发票, 指定会计科目 

 

 

 凭证字号规 

 

 

 

 

 库存配置 

 

 

 系统默认设定 

 

 

 单位存货成本核算方法设定: 仅支持 移动加权平均 

 

核心规则：每一笔入库就重新计算一次单价，出库用当前最新单价 

 

 $$\text{新移动单价}=\frac{\text{当前结存金额}+\text{本次入库金额}}{\text{当前结存数量}+\text{本次入库数量}$$ 

 

只有采购入库、盘盈入库、暂估入库才会改变移动加权单价；调拨、销售出库、领用出库不重新算单价 

 

 

每次出库：出库成本 = 出库数量 × 当前移动平均单价 库存货值实时自动更新+新的移动单价不影响既往的入库凭证库存商品会计科目的余额+后续出库等操作的凭证中按新的移动单价来计算库存金额 

 

 

 

 

避免尾差. 库存余额不以 “单价 × 数量” 反算,始终加减滚动计算.(比如出库时: 先乘法算好出库成本, 再上一次的结余,减去出库成本) 

 

 

 

 亚马逊FBA仓库核算方法设定: 按月汇总核算 

 

 

 亚马逊FBA仓库单位存货成本: 

 

 

 使用"移动加权平均法", 但因为是按月汇总核算, 只使用本地仓库发货到FBA仓库入库的金额进行更新单位存货成本, 对于FBA仓库内的盘盈等操作不更新单位存货成本核算 

 

 

 

 

 

 

 本地仓库调转相关的操作配置 

 

 

 采购入库配置 

 

 

 采购入库,指定会计科目. 

 

 

 为在"采购单(会计版)"页面里, 执行入库操作时, 相应生成的凭证(旧版本叫"收货") 

 

 

 凭证字号规则 

 

 

 

 

 调拔 

 

 

 盘点 

 

 

 

 

 本地仓库发往FBA海外仓的发货配置 

 

 

 

 

 其它设置 

 

 

 支持采购账户排序.优先顺序,第一为系统级别默认. 实际在采购单中的采购账户付款默认以该供应商上一次的输入状态为基准 

 

 

 

 

 

 

 配置示例,以安普纳的账簿为例 

 

 

 

 

 

 

 

 采购账户 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 采购账户 

 

 

 账户类型 

 

 

 支付费用类型 

 ("归属供应商款项" 和 "非供应商款项") 

 (退款 / 正常付款) 

 

 

 采购单付款借方科目 

 

 

 

 采购单付款贷方科目 

 

 

 台账付款借方科目 

 

 

 

 台账付款贷方科目 

 

 

 

 

 公户现金 

 

 

 

 现金 

 

 

 

 货款运费 

 其它费用 

 

 

 

 货款运费/其它费用: 

 借 预付账款-ERP采购供应商 

 

 

 贷 银行存款-浦发银行（2384） 

 

 

 

 

 

 

 

 

 

 

 

 跨境直采 

 

 

 

 现金 

 

 

 

 货款运费 

 其它费用 

 跨境直采手续费 

 

 退款 

 退款手续费 

 

 

 货款运费/其它费用: 借 预付账款_ERP采购供应商 

 跨境直采手续费: 借 财务费用_跨境直采 

 

 退款/退款手续费: 

 借 其他货币资金_连连国际等-跨境直采待结算_CNH 

 

 

 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 

 

 退款: 

 贷 预付账款_ERP采购供 

 应商 

 退款手续费 

 贷 财务费用_跨境直采 

 

 

 

 

 

 

 

 

 

 

 先采后付 

 

 

 账期 

 

 

 货款运费 

 其它费用 

 

 退款 

 

 

 借 预付账款-ERP采购供应商 

 退款: 

 与正常流程相反设置(下同) 

 

 

 贷 应付账款_1688先采后付 

 退款: 

 与正常流程相反设置(下同) 

 

 

 借 应付账款_1688先采后付 

 (跨境直采,还款时还需要有): 

 借 财务费用_跨境直采 

 

 

 跨境直采,还款时: 

 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 

 公户现金,还款时: 

 贷 银行存款-浦发银行（2384） 

 

 

 

 

 公户请款即付 

 

 

 

 账期 

 

 

 货款运费 

 其它费用 

 

 退款 

 

 

 借 预付账款-ERP采购供应商 

 

 退款: 

 

 

 贷 应付账款_公户请款即付 

 

 退款: 

 

 

 借 应付账款_公户请款即付 

 

 

 公户现金,还款时: 

 贷 银行存款-浦发银行（2384） 

 

 

 

 

 公户请款月结 

 

 

 账期 

 

 

 货款运费 

 其它费用 

 退款 

 

 

 借 预付账款-ERP采购供应商 

 退款: 

 

 

 贷 应付账款_公户请款月结 

 退款: 

 

 

 借 应付账款_公户请款月结 

 

 

 公户现金,还款时: 

 贷 银行存款-浦发银行（2384） 

 

 

 

 

 第三方支付请款 

 

 

 账期 

 

 

 货款运费 

 其它费用 

 退款 

 

 

 借 预付账款-ERP采购供应商 

 退款: 

 

 

 贷 应付账款_第三方支付请款 

 退款: 

 

 

 借 应付账款_第三方支付请款 

 

 

 第三方支付: 

 贷 其他货币资金_连连国际等-待结算_CNH 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 采购账户修改时限 

 

 

 XX 天 

 

 

 *在采购单 付款/退款操作之后(并且在结账操作之前), 多少天之后,不可修改 

 

 

 (20260707) 

 这个设置目的是避免'结账'时间太靠后,导致采购单的容易被改动,导致数据汇总不一致. 

 

 

 要对明细支持改删,主要考虑即时的错误操作.便于使用. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 采购供应商台账 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 操作 

 

 

 借方科目 

 

 

 贷方科目 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 发票入账 

 

 

 贷 预付账款-ERP在途发票 

 

 

 

 预付账款-ERP采购供应商 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 采购入库配置 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 操作 

 

 

 借方科目 

 

 

 贷方科目 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 采购付款时 

 

 

 借 在途库存_XX本地仓库 

 

 

 贷 预付账款-ERP在途发票 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 采购退款时 

 

 

 预付账款-ERP在途发票 

 

 

 在途库存_XX本地仓库 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 入库 

 

 

 借 库存商品_XX本地仓库 

 

 

 贷 在途库存_XX本地仓库 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 退货 

 

 

 在途库存_XX本地仓库 

 

 

 库存商品_XX本地仓库 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 海外仓发货配置 

 

 

 

 

 

 操作 

 

 

 借方科目 

 

 

 贷方科目 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 发货处理_发货 

 

 

 在途库存_XX国FBA仓库 

 

 

 库存商品_XX本地仓库 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 FBA承运商台账 

 

 

 

 

 

 操作 

 

 

 借方科目 

 

 

 贷方科目 

 

 

 

 

 

 *默认ERP物流承运商的款项支付对应的只有一个科目(公账), 所以不需要额外单独类似采购账户等的设计 

 

 

 

 

 

 

 

 

 

 

 请款 

 

 

 预付账款_ERP物流承运商 

 

 

 应付账款_ERP物流承运商 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 付款 

 

 

 应付账款_ERP物流承运商 

 

 

 银行存款_浦发银行（2384） 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 发票入账 

 

 

 销售费用_FBA承运商 

 

 

 应付账款_ERP物流承运商 

 

 

 

 

 

 *发票入账直接转为费用.不转入库存 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 本地仓库台账 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 FBA仓库台账 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 账期采购账户的台账付款:即相当于 采购请款单/采购付款单/账期结算还款 的功能. 以上为暂时的以安普纳为基础的配置示例 其它科目基本相似, 银行存款-浦发银行（2384）,公户的科目需要按公司实际设置 将公户相关的设置成三个: 1. 公户现金,用于在台账付款时调用,以及现金台账生成. 实际它不在采购单里接入API使用 2. 公户请款即付,用于当前采购单需要立即使用公账支付,采购走飞书审批的.后续则不需要使用飞书审批, 出纳在这个采购账户的台账下, 进行逐项支付 3. 公户请款月结, 用于需要使用公账,在月底支付的.与 请款即付区分开来,便于管理. 一个采购订单+SKU,对应一个账簿,一个供应商, 一份收款信息, 一种采购账户 可对应 多笔支付明细,多笔库存明细,多笔发票明细 账期采购账户,退款时, 不论台账付款是否退,在采购付款,都同样操作.实际差额也在台账付款页面处理. "归属供应商款项" 和 "非供应商款项"的费用类型,用于给采购账户会产生手续费的情况. 同时也能在供应商台账,区分供应商的实际已付款,核对发票应开票金额 20260622补充: 关于退款 原先计划, 采购账户的费用类型,用户自定义"退款"作为其中一种费用类型,指定其相应的借贷科目, 但是考虑到前端输入,退款的类型是输入正数还是负数? 会直接影响台账里的数据 所以改为,采购账户都有内定的退款设定, 需要用户单独设置退款的设置. 更新发票入库操作配置 更新入库配置 如此,采购账户的设置就包括 账户类型 账户关联 费用类型 费用类型的款项归属 费用类型的借贷科目 台账付款时,可用的现金类"采购账户" 采购账户的退款设置:可用的费用类型以及借贷科目设置 关于数据库数据模型 采购单,业务表, 需要保留.不能因为有新的会计凭证表就不要采购单 业务表 采购模块生成的会计凭证, 需要用到的辅助核算,尽量辅助核算另行建表. 在此处配置的会计科目大部份需要 采购单(采购单+数量+SKU) + 供应商 辅助核算 或者 发票 辅助核算 操作日志与审计追踪需要设计 当前的流程下: 各主要环节的凭证基础示例 (不抵扣/退税环境,不用设计待认证进项,不用进项转出等) A:支付采购订单时: 借 预付账款-ERP采购供应商, 贷 银行存款-浦发银行（2384） 其他货币资金_连连国际等-跨境直采待结算_CNH 应付账款_1688先采后付 应付账款_公户请款即付 等 B:同时 借 在途库存_XX本地仓库, 贷 预付账款-ERP在途发票 C:收到发票时: 借 预付账款-ERP在途发票, 贷 预付账款-ERP采购供应商 D:收到库存入库时: 借 库存商品_XX本地仓库, 贷 在途库存_XX本地仓库 ------ 涉及退款,退货时 R1:已付款+未入发票+未入库 >> 全额退或者部分退,款 在采购单页面,退款 上述A+B反向即可 R2 已付款+已入票+未入库 >> 全额退或者部分退,款+票 正常A+B反向 供应商开具红字数电票 相应做 发票做账冲销, C反向 (或主动通过电子税局向供应商发起红字发票开具推送) R3 已付款+未入票+已入库 >> 全额退或者部分退,款+货 反向 A+B , D R4 已付款+已入票+已入库 >> 全额退或者部分退,款+票+货 反向 A+B ,C, D R5 已付款+已入票+已入库 >> 全额退或者部分退,款+票, 不退货 反向 A+B ,C, D根据实际情况做.暂时系统不处理 (这种处理,会导致相应的采购订单+SKU,台账里是在途是负数,有挂账) (处理方式: 应该使用其它会计科目,来另做凭证比如: 借：在途库存_XX 本地仓库 贷：其他收益 / 营业外收入 / 采购折让冲主营业务成本（三选一）) 强制要求: 款+票,只要已付已入,必须一并退 20260626 补充 FBA承运商台账 的操作对应凭证生成规则 

 

 

 

 

 

 

 前端页面: 采购 > 采购单(会计版) 

 

 

 

 基于当前的采购单,进行设计 

 

 

 采购单获取的账簿里的数据(比如配置的采购账户), 按 采购单里的 SKU 对应账簿,进行匹配 

 

 

 采购单收货,退货等操作基本与之前版本一致. 

 

 

 采购付款页面 

 

 

 选择 采购账户 

 

 

 账簿关系,按SKU的账簿进行匹配 

 

 

 需要在页面里显示, 该采购订单当前SKU的账簿. 如果是多个账簿, 支持手动切换 

 

 

 1个订单+SKU , 只能选择一个账簿, 以及该账簿下一个采购账户(先按此SKU上一次的提交状态默认, 如无则按默认的采购账户) 

 

 

 选择的如果是现金类采购账户, 会显示其当前的余额 

 

 

 

 

 选择 供应商的收款信息 (1个订单只能一个收款信息, 先按 此供应商上一次的提交状态默认, 如无则按默认的供应商的收款信息) 

 

 

 费用明细,可有多条. 选择 

 

 

 费用类型 (与采购账户设置对应,默认第1个) + 金额 

 

 

 

 

 退款时: 

 

 

 在付款页面,相应的退款区域, 

 

 

 新增退款明细 

 

 

 选择已支付的付款明细, 匹配对应的采购账户的设置, 生成相应的凭证 

 

 

 退款金额, 统一输入正数. 

 

 

 

 

 (20260707) 付款/退款,操作明细, 修改/删除时限,参考采购账户'修改时限'和'结账'时间. 

 

 

 

 

 采购单状态, 有以下四个维度显示 

 

 

 

 

 

 订单状态 

 

 

 付款状态 

 

 

 库存状态 

 

 

 发票状态 

 

 

 

 

 

 

 有效 

 

 

 未付款 

 

 

 

 

 

 未开票 

 

 

 

 

 撤销 

 

 

 付款中 

 

 

 

 

 

 开票中 

 

 

 

 

 

 

 

 部分付款(未完成) 

 

 

 部分收货(未完成) 

 

 

 部分开票 

 

 

 

 

 

 

 

 超额付款(未完成) 

 

 

 超额收货(未完成) 

 

 

 超额开票 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 付款完成 

 

 

 收货完成 

 

 

 开票完成 

 

 

 

 

 

 

 

 部分付款(已完成) 

 

 

 部分收货(已完成) 

 

 

 

 

 

 

 

 

 

 

 超额付款(已完成) 

 

 

 超额收货(已完成) 

 

 

 

 

 

 

 

 

 

 

 退款中 

 

 

 退货中 

 

 

 冲销未入账 

 

 

 

 

 

 

 

 

 

 

 

 

 

 发票异常 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 付款完成(有退款) 

 

 

 收货完成(有退货) 

 

 

 开票完成(有冲销) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 "非供应商款项"的费用类型不计入; 

 付款中,指的是使用账期采购账户支付,已到了台账中; 

 付款完成, 包括使用现金类或台账支付完成的,金额一致. 

 部分付款(已完成), 付款已完成但实付少; 

 部分付款(已完成), 付款已完成但实付多; 

 

 

 收货中 

 

 

 "非供应商款项"的费用类型不计入 

 发票异常:发票已冲销但未做账 

 

 

 待根据API来进一步设计状态 

 

 

 

 

 

 

 

 

 

 

 

 

 前端页面: 其它旧的页面的相应调整 

 

 

 

 供应商管理: 

 

 

 增加支持维护供应商的收款账户, 包括公司名称,银行账号等. 用于在 采购付款 / 发票核对 等情况下调用 

 

 

 收款账户可多个,可设置默认. 

 

 

 收款账户的 启用/停用 状态管理（银行账户可能变更）,不删除(只停用, 可查询) 

 

 

 

 

 产品管理 

 

 

 增加产品对应的账簿 (也就是公司) 

 

 

 可以初始化,按 店铺在售SKU等规则, 对所有SKU进行 SKU账簿初始化. 

 

 

 允许 非完整SKU 对应 多个账簿, 设置默认 

 

 

 

 

 

 

 

 

 

 前端页面: 账簿 > 台账 > 采购账户台账 

 

 

 

 支持跨账簿, 不跨ERP, 只有关联的采购账户可以跨ERP(并且只有主动起关联的ERP账号(包括其主子账号)能返回跨ERP数据) 

 

 

 基于"采购单(会计版)", 采购付款的操作生成的数据和凭证, 每笔订单明细生成一张凭证, 以保证供应商应付+发票核算需求. 

 

 

 筛选查询: 

 

 

 采购账户(ERP下跨账簿,多选) , 账簿(默认全部), 时间范围, 采购订单(或 1688订单,多行搜索,精确匹配) 

 

 

 付款状态(多选) +库存状态(多选)+发票状态(多选) 

 

 

 

 

 

 

 

 账簿 

 

 

 采购账户 

 

 

 采购订单 

 

 

 SKU 

 

 

 请款日期 

 

 

 收款账号 

 

 

 付款状态 

 

 

 库存状态 

 

 

 发票状态 

 

 

 

 

 

 

 账簿 

 (跨ERP时,显示对应的关联的ERP账号) 

 

 

 

 

 

 采购订单 + 

 同时显示, 1688订单(如果有) 

 

 

 

 

 

 以在采购订单第一次开始付款的日期为准. 

 不以采购订单生成日期. 

 

 

 供应商 + 

 该订单的收款账号(收款人+账号) 

 

 

 除了状态信息,同时显示: 

 订单金额,(订单的金额) 

 请款金额,(采购单里付款明细,包括减去退款, 包括归属供应商和不归属供应商的金额) 

 已付金额, (现金类采购账户的已付 + 台款付款里的已付, 包括归属供应商和不归属供应商的金额 ) 

 待付金额 , (请款 - 已付的差额) 

 

 

 除了状态信息,同时显示: 

 库存价值和数量,(采购单的价值和数量 , 采购单里付款明细,包括减去退款类型的, 只包括归属供应商的金额) 

 已入库金额和数量, (收货入库的金额, 按供应商应付/应入库数量计算单价) 

 待入库金额和数量 , (库存价值 - 已入库金额的差额) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 点击可以弹窗显示,该笔相应的明细: 

 采购付款的明细,台账付款的明细, 以及对应的凭证字号 (时间,类型,金额等等) 

 

 

 点击可以弹窗显示,该笔相应的明细 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总行 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总,四种金额的数值 

 

 

 不须汇总 

 

 

 不须汇总 

 

 

 

 

 

 

 

 适用于存在大量数据的分页功能 

 

 

 支持列表最下面, 显示查询的全部数据的汇总: 订单金额,已付金额,待付金额 

 

 

 

 

 支持, 单独勾选/多选/全选, 操作: 台账付款 + 支持导出EXCEL数据 

 

 

 勾选时, 前端动态显示,所勾选的数据的汇总金额, 三个金额 

 

 

 

 

 支持, 对于"现金"类的采购账户,做"入账登记"功能 

 

 

 登记一笔入账, 无采购订单,SKU,收款账号等等信息. 只有入账. 用于核算该采购账户的余额. 

 

 

 不用涉及凭证等会计业务. 

 

 

 

 

 (20260707)支持, '结账'功能 

 

 

 结账后, 该日期以前的采购订单, 不可对原有的 付款退款等做操作(改删),只能新增操作,不能修改 

 

 

 

 

 支持 上述的表格页签 和 图表页签 和 采购账户统计 切换查询结果. 

 

 

 图表 页签, 显示日期X轴 + 四种付款状态的金额的数据 + 显示数据点的数值标签 

 

 

 采购账户统计 页签 

 

 

 按账簿划分出不同区域(查询返回的账簿), 显示账簿下的采购账户卡片, 卡片内显示账簿下的这个采购账户的 四种金额 

 

 

 对于现金类采购账户, 增加"余额"显示. 

 

 

 

 

 

 

 采购账户台账付款,功能页面 

 

 

 只有"账期"类的采购账户,才能使用 

 

 

 选择相应的采购订单,然后进行付款. 

 

 

 台账付款的页面和逻辑也要支持退款 (费用类型是属于退款的, 相应的明细,相应的凭证科目等) 

 

 

 操作流程: 

 

 

 在台账列表里勾选后,操作,跳转到采购账户台账付款页面, 自动带入,包括账簿,采购账户,付款订单列表,金额等,点击付款提交, 对应相关配置生成凭证. 

 

 

 输入: 下拉框,选择这些采购账户(账期类), 配置好的对应的支持的 现金类采购账户 进行实际支付,选择的都是现金类采购账户, 需要显示其当前的余额 

 

 

 台账付款明细输入: 下拉框,根据配置的现金类采购账户, 选择与其对应的支付费用类型,带默认值, 

 

 

 支持按照支付费用类型,增减台账支付明细. 

 

 

 台账付款明细输入: 台账付款金额, 默认为带入的应付金额(订单金额-已付金额) ,支持更改 

 

 

 账簿,采购账户,订单/SKU,供应商及其收款账户,不可更改 

 

 

 

 

 excel模版上传: 

 

 

 导出台账数据, 编辑整理后,上传生成"台账付款"数据 

 

 

 在模板中指定每条记录的,台账付款采购账户(现金类) + 费用类型 + 台账付款金额 

 

 

 支持Excel上传后的 预览确认页面 ，展示即将执行的付款明细+校验信息，用户确认后再提交 

 

 

 

 

 校验: 

 

 

 一次台账付款,必须所有记录都同一个采购账户(可以是跨账簿的,关联的,同一个采购账户) 

 

 

 台账付款金额("归属供应商款项"的费用类型),与对应的台账付款绑定的记录(采购订单+SKU) 的汇总的应付金额,不一致时, 需要提示处理方法. 

 

 

 按台账付款 : 应付金额 比例分摊, 还是取消本次付款操作 

 

 

 关于分摊金额: 

 

 

 尾差处理规则：将差额摊到最后一条记录 

 

 

 单条记录金额上限校验：分摊后单条金额不应超过原应付金额 

 

 

 在提交后的预览, 提供分摊结果预览，让用户确认后再提交 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 采购账户台账 主要解决: 对账(余额和明细), 账期付款的问题. 因为我们公司的采购账户, 跨境直采,公账,都不是专用于采购,所以没法对余额.只能对采购模块花掉的金额 先采后付,1688是有临时额度/基础额度不定期变动,而且先采后付本期待还款金额也是1688系统会根据交付时间有变动,也对不上余额,也对不上剩余额度,也对不上本期还款额 公户月结,这一类没有余额对的需要.但是可以对 应付,已付,待付. 还款有多种情况 1.一条台账记录同收款账号, 多笔付款 > 公账支付 2.同账簿同供应商同收款账号,多笔付款 > 公账支付,月结 3.跨账簿跨供应商不同收款账号,多笔付款 > 跨境直采 还 先采后付 (或者以前还有的法人支付宝还先采后付) 公账支付月结时 需要采购,确认采购账户按采购账户,导出一笔支付需要的对应采购账户台账明细,然后确认好明细和金额,交付给出纳支付(交接流程待明确,文件交接,飞书审批?) 跨境直采支付先采后付时 这是采购直接操作跨境直采付款. 需要下载单笔跨境直采对应的支付明细,与1688订单明细,与台账明细, 分析处理 该笔还款对应的台账明细, 使用EXCEL模板上传功能, 做台账支付的操作. 含货款和手续费明细. 这样才能精确匹配每笔应付(请款)记录对应的已付款和手续费. 只能通过上传来处理. 无法通过全流程在前端界面处理.如果要前端界面也支持每条记录分别指定现金类采购账户(账户+费用类型+金额),结构会很复杂 20260622补充 适配退款在采购账户中的单独设置, 将"请款金额"明确减去退款的类型 将付款状态里的四种金额, 明确定义 台账付款也要相应支持退款的操作 新增图表和卡片显示查询结果 更新入库操作 更新库存状态 20260625 考虑到当前采购实际流程, 尤其是对于跨境直采,多个采购和出纳共用同一个资金池,需要在数据上控制资金分配和使用,需要给'跨境直采'一个限额, 所以需要设计给'现金'类的采购账户一个余额核算的功能,包括入账登记+余额 

 

 

 

 

 

 前端页面: 账簿 > 台账 > 采购供应商台账 

 

 

 

 支持跨账簿, 不跨ERP 

 

 

 基于"采购单(会计版)", 采购付款的操作生成的数据和凭证. 

 

 

 筛选查询: 

 

 

 供应商(本账簿内,多选) , 账簿(默认全部), 时间范围, 采购订单(或 1688订单,多行搜索,精确匹配) 

 

 

 付款状态(多选)+库存状态(多选)+ 发票状态(多选) 

 

 

 

 

 

 

 

 

 

 账簿 

 

 

 供应商 

 

 

 采购订单 

 

 

 SKU 

 

 

 请款日期 

 

 

 收款账号 

 

 

 付款状态 

 

 

 库存状态 

 

 

 发票状态 

 

 

 

 

 

 

 

 

 

 

 

 

 采购订单 + 

 同时显示, 1688订单(如果有) 

 

 

 

 

 

 以在采购订单第一次开始付款的日期为准. 

 不以采购订单生成日期. 

 

 

 该订单的收款账号(收款人+账号) 

 

 

 除了状态信息,同时显: 

 订单金额,(订单的金额) 

 供应商应付额,(采购单里付款明细,包括减去退款类型的, 只包括归属供应商的金额) 

 已付金额, (现金类采购账户的已付 + 台款付款里的已付, 只包括归属供应的金额 ) 

 待付金额 , (供应商应付额 - 已付的差额) 

 

 

 除了状态信息,同时显示: 

 库存价值和数量,(采购单的价值和数量 , 采购单里付款明细,包括减去退款类型的, 只包括归属供应商的金额) 

 已入库金额和数量, (收货入库的金额, 按供应商应付/应入库数量计算单价) 

 待入库金额和数量 , (库存价值 - 已入库金额的差额) 

 

 

 除了状态信息,同时显示(不是"开票完成"的情况下): 

 应开票金额, 

 已开票金额, 

 待开票金额 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 点击可以弹窗显示,该笔相应的明细: 

 采购付款的明细,台账付款的明细, 以及对应的凭证字号 

 

 

 点击可以弹窗显示,该笔相应的明细 

 

 

 点击可以弹窗显示,该笔相应的发票明细: 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总行 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总 

 

 

 汇总 

 

 

 汇总 

 

 

 

 

 

 

 

 适用于存在大量数据的分页功能 

 

 

 支持导出EXCEL数据 

 

 

 支持列表最下面, 显示查询的全部数据的汇总: 应开票金额,已开票金额,待开票金额 

 

 

 支持, 单独勾选/多选/全选, 操作: 供应商台账发票入账+导出供应商发票数据 

 

 

 勾选时, 前端动态显示,所勾选的数据的汇总金额, 三个开票金额 

 

 

 

 

 支持 上述的表格页签 和 供应商统计 切换查询结果. 

 

 

 供应商统计 页签 

 

 

 表格显示, 按账簿汇总统计,关键的供应商的库存和发票金额, (汇总,无采购订单明细) 

 

 

 表头: 账簿 供应商 库存的三个金额和数量, 以及发票的三个金额 

 

 

 

 

 

 

 供应商台账发票入账,功能页面 

 

 

 选择相应的采购订单,然后进行付款. 

 

 

 操作流程: 

 

 

 在台账列表里勾选后,操作,跳转到台账发票入账页面, 自动带入,包括账簿,供应商,采购订单等,点击发票入账提交, 对应采购供应商台账发票指定的会计科目 (预付账款-ERP采购供应商)相关配置生成凭证. 

 

 

 输入: 下拉框,多选, 选择该账簿下所有的可用,未入账的发票, 

 

 

 模糊搜索, 发票号码 和 发票开票人 

 

 

 

 

 显示已选择的发票的信息列表和发票金额汇总 

 

 

 发票金额,不可填写.使用数据库的数据 

 

 

 账簿,采购账户,订单/SKU,供应商及其收款账户,不可更改 

 

 

 用户核对: 选择的发票 <> 选择的供应商台账明细, 提交做发票入账 

 

 

 

 

 excel模版上传: 

 

 

 导出台账数据, 编辑整理后,上传生成"台账付款"数据 

 

 

 在模板中指定每条记录的,数电发票号码 + 发票入账金额 

 

 

 校验: 

 

 

 一次台账发票入账, 

 

 

 其对应的台账明细, 必须所有记录都同一个供应商(不可以是跨账簿的) 

 

 

 所有发票对应的账簿必须统一是一个 

 

 

 填写的发票金额 = 发票上的金额 = 对应的台账明细的待开票金额. (EXCEL模版提交的需要汇总每条记录的发票入账金额) 

 

 

 

 

 对应多条台账明细时, 提示用户,需要将发票金额分摊到台账明细中. 直接按每条台账明细的待开票金额进行分摊. 

 

 

 

 

 

 

 

 采购供应商台账 主要用于管理采购过程中,供应商的发票,查询未开,入账,订单相应的发票情况.等等 先按账簿+供应商, 或供应商,导出其未开发票, 数据处理, 分出,相应的收款账号-账簿-待开票金额, 发给供应商确认,让其开票 收到供应商发票后,做发票入账, 使用之前下载的数据,处理后,上传,关联采购订单做发票入账. 少数情况,可能是单订单-单张发票的入账 使用发票API数据获取账簿公司下所有的发票, 来保证账簿-发票 对应关系 根据情况后续可以:增加 开票提醒/催开票 功能 前端按供应商生成未开票明细 > 对接飞书/企业微信 > 供应商+对应群 > 发送消息. 20260622 补充 更新四种金额的定义 更新库存状态 提供按供应商汇总小计统计 20260626补充 增加 '请款日期', 在表格中 

 

 

 

 

 

 

 

 

 

 

 前端页面: 账簿 > 台账 > FBA承运商台账 

 

 

 

 支持跨账簿, 不跨ERP 

 

 

 基于"货件处理", 发货处理_发货 的操作生成的数据. 

 

 

 筛选查询: 

 

 

 承运商(本ERP内,多选) , 账簿(默认全部), 时间范围, 

 

 

 付款状态(多选)+库存状态(多选)+ 发票状态(多选) 

 

 

 

 

 

 

 

 账簿 

 

 

 承运商 

 

 

 FBA ID 

 

 

 站点 

 

 

 发货日期 

 

 

 收款账号 

 

 

 付款状态 

 

 

 货件状态 

 

 

 发票状态 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 以在发货处理点击发货的日期为准. 

 不以采货件的生成日期. 

 

 

 该订单的收款账号(收款人+账号) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总行 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总 

 

 

 汇总 

 

 

 汇总 

 

 

 

 

 

 

 

 操作 

 

 

 支持导出EXCEL数据 

 

 

 请款 

 

 

 (20260707)支持, '结账'功能 

 

 

 结账后, 该日期以前的发货订单, 不可对原有的 运费等做操作(改删),只能新增操作,不能修改 

 

 

 

 

 

 20260626 FBA承运商台账 主要用于管理在FBA货件发货后, 对物流承运商的货件,对账,付款,凭证, 发票等操作 对账:暂拟流程 从发货处理模块发货后,不产生凭证; 在台账处,确认哪些货件可以付款,请款操作,产生凭证(付款,在途等) 需要支持单个货件,多条明细,付款,退款,加付关税后续等的情况. 

 

 

 

 

 

 

 

 

 前端页面: 账簿 > 台账 > 发票台账 

 

 

 

 支持跨账簿, 不跨ERP 

 

 

 台账API配置 + 同步任务详情(同步时间,失败,状态,条数等) 

 

 

 同步的是按账簿其下的所有发票, 进和销项等 

 

 

 

 

 页面包括: 进项发票台账 + 全部发票查询 

 

 

 进项发票台账 : 筛选查询: 

 

 

 进项发票是指发票中的"购买方"与本账簿相同, 就归属于该账簿下的进项发票数据. 

 

 

 账簿(默认全部), 销方名称(模糊搜索查询,下拉结果选择) , 时间范围, 

 

 

 入账状态(多选)+发票状态(多选) 

 

 

 

 

 

 

 

 

 

 账簿 

 

 

 发票号码 

 

 

 开票日期 

 

 

 销方名称 

 

 

 价税合计总额 

 

 

 入账状态 

 

 

 发票状态 

 

 

 

 

 

 

 

 

 

 数电发票号码(非数电发票时, 显示传统发票的代码+号码) , + 发票票种标识 (自行设计, 数电普票/专票等标识) 

 

 

 

 

 

 开票人公司+税号 

 

 

 价税合计总额 + 

 不含税总金额 + 

 总税额 

 

 

 未入账 

 已入账 

 进项转出 

 

 

 正常 / 作废 / 红冲(全额)/红冲(部分) / 失控 / 异常 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 点击可以弹窗显示,已入账发票,相应入账的凭证明细: 

 字号,凭证日期,等 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 进项转出:预置.以后才需要. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总行 

 

 

 

 

 

 

 

 

 

 

 

 汇总三个金额 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 进项发票台账 : 支持 上述的表格页签 和 图表页签 和 发票统计 切换查询结果. 

 

 

 图表页签, 显示日期X轴 + 三种金额的数据 + 显示数据点的数值标签 

 

 

 发票统计 页签 

 

 

 表格显示, 按账簿汇计统计,关键的发票信息 

 

 

 表头: 账簿 发票数量 发票三个金额 等 

 

 

 

 

 

 

 进项发票台账 : 操作 

 

 

 勾选发票 > 手工录入凭证(发票入账), 等等 

 

 

 手工发票 入账+冲销 

 

 

 自动匹配未入账发票 (后续,暂时不用) 

 

 

 

 

 全部发票查询: 

 

 

 按拉取的发票数据, 查询全部发票 

 

 

 支持将税务分类编码,对应查询前三层(前5位)的税务分类, 存储该税务分类数据(税务分类编码对应的税务分类, 映射关系, 可以做前端页面增改删+导入导出维护) 

 

 

 筛选: 账簿+数电发票号码+销售方+开票时间范围+税收分类+发票票种+发票状态+正数发票+风险等级 (实际根据发票数据既有的重要字段设计) 

 

 

 表格展示 + 图表展示 

 

 

 按查询结果, 分为进项+销项在各个税务分类, 的饼图, 比例+金额.及点击弹窗明细 

 

 

 价税合计金额的汇总 

 

 

 

 

 

 

 

 

 

 进项发票台账 发票一一对应, 状态, 凭证入账查询等问题 20260622 新增图表和发票统计显示查询结果 鉴于近期商务局的信息,行业后续可能支持成本分摊,A的发票a1可能可以用于B里核算成本.即a1可以入账到B,以后可能需要相应调整这种逻辑. 20260625 按当前税局导出的发票进一步设计, 进项和销项管理. 需要后续进一步设计关于统计分析的. 

 

 

 

 

 

 

 前端页面: 账簿 > 台账 > 本地仓库台账 

 

 

 

 支持跨账簿, 不跨ERP 

 

 

 分为 汇总账 + 明细账 

 

 

 汇总账: 

 

 

 筛选查询: 

 

 

 账簿(多选), SKU(模糊匹配), 本地仓库(全部,多选),期间(按月汇总), 

 

 

 

 

 类似财务报表资产负债表一样, 提供勾稽校验的标识(校验期末库存与相应的会计科目余额, 可以点击标识 > 设置对应的会计科目, 对应其余额校验) 

 

 

 

 

 

 

 

 

 

 期间 

 

 

 账簿 

 

 

 SKU 

 

 

 库位 

 

 

 本期最新单位存货成本 

 

 

 期初库存 

 

 

 期间变动 

 

 

 期末库存 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 金额+数量 

 

 

 

 

 

 金额+数量 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 点击可查看本期的 日期/单位存货成本 变动图 

 

 

 

 

 

 点击可查看明细 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总行 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 明细账: 

 

 

 筛选查询: 账簿(多选), SKU(模糊匹配), 本地仓库(多选),操作时间(范围),库存操作(多选, 操作类型), 单据(输入,精确查询) 

 

 

 

 

 

 

 

 

 

 

 

 

 账簿 

 

 

 SKU 

 

 

 库位 

 

 

 操作时间 

 

 

 库存操作 

 

 

 操作数量 

 

 

 单据 

 

 

 库存价值变动 

 

 

 单位存货成本 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 该操作对应使用的存货成本 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 以相应的 正,负数显示. 

 

 

 

 

 

 以相应的 正,负数显示. 

 

 

 涉及采购/盘盈/暂估(其他)入库, 等会影响存货成本的操作时, 

 点击弹窗, 显示, 操作前, 操作后的 单位存货成本 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 点击列出相应的凭证明细列表 

 

 

 

 

 

 

 

 汇总行 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总需要对应库存操作类型, 加,减计算 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 操作 

 

 

 盘点 

 

 

 盘点会相应生成凭证.需要按进销存配置 

 

 

 

 

 

 

 

 

 

 20260623 (初稿, 需要进一步优化补充) 本地仓库台账 主要用于本地仓库, 明细,SKU数量和采购加权平均单价,移动加权平均, 盘点.等等 勾稽校验 

 

 

 

 

 

 

 前端页面: 账簿 > 台账 > FBA仓库台账 

 

 

 

 支持跨账簿, 不跨ERP 

 

 

 分为 汇总账 + 明细账 

 

 

 汇总账: 

 

 

 筛选查询: 

 

 

 账簿(与亚马逊店铺一一对应), SKU(模糊匹配), 仓库站点(全部,多选),期间(按月范围), 

 

 

 

 

 

 

 

 

 

 

 

 期间 

 

 

 账簿 

 

 

 SKU 

 

 

 仓库站点 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 完全按Summary view的FBA报表 来设计 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Disposition 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Starting Warehouse Balance 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 In Transit Between Warehouses 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Receipts 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Customer Shipments 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Customer Returns 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Vendor Returns 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Warehouse Transfer In/Out 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Found 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Lost 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Damaged 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Disposed 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Other Events 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Ending Warehouse Balance 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Unknown Events 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Location 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Store 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 汇总行 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 明细账: 

 

 

 筛选查询: 账簿(多选), SKU(模糊匹配), 本地仓库(多选),操作时间(范围),库存操作(多选, 操作类型), 单据(输入,精确查询) 

 

 

 

 

 

 

 

 

 

 

 

 

 操作时间 

 

 

 账簿 

 

 

 SKU 

 

 

 仓库站点 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 按Detailed view的FBA报表 来设计 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Event Type 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Reference ID 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Quantity 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Fulfillment Center 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Disposition 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Reason 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Country 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Reconciled Quantity 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Unreconciled Quantity 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Date and Time 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Store 

 

 

 

 

 

 

 

 

 

 

 汇总行 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 操作 

 

 

 

 

 

 

 

 

 20260623 FBA仓库台账 主要用基于亚马逊的库存台账报表生成, 相应汇总核算 盘点,入库,出库等等 勾稽校验 

 

 

 

 

 

 

 税务审查便利性功能 

 

 

 

 款项代收及划转服务 

 

 

 台账 

 

 

 外方账单 + 连连月单 

 

 

 

 

 无票成本和有票成本 

 

 

 利润表外加 成本统计 

 

 

 统计无票成本 + 有票成本 , 明细. 

 

 

 

 

 发票台账 

 

 

 支持 部分入账. 每张发票入到不同账簿 

 

 

 

 

 关务 

 

 

 出口台账 

 

 

 账簿 下 报关单 角度 和 FBA货件角度 

 

 

 FBA货件/海外仓货件 <> 报关单 (报关单拆分对应,金额,项目,数量) 

 

 

 

 

 

 

 

 

 

 

 海关申报 

 

 

 

 

 

 跨境电商报关模式 

 

 

 传统报关单模式: H2018,单一窗口标准版,货物申报,出口整合申报 

 

 

 订单 + 运单 + 报关单 

 

 

 

 

 清单模式: 跨境电商出口统一版, 单一窗口/客户端等,跨境电商,订单/清单 

 

 

 订单 + 运单 + 清单 

 

 

 

 

 

 

 ERP 

 

 

 单票, 出口报关申报 , 国外进口清关 

 

 

 HSCODE , api数据接口. 

 

 

 查询 , 返回提醒如何填写 

 

 

 告警 , hscode有进出口管控 

 

 

 国家税务总局政策法规库 

 

 

 国家税务总局安徽省税务局 通知公告 关于发布出口退税率文库2025A版的通知 

 

 

 

 

 税率查询-hscode,退税率,hs编码,进出口商品编码,进口关税,出口退税商品税率,海关编码,申报要素查询 

 

 

 

 

 

 

 

 

 20260707 

 

 

 

 拼单出口 

 

 

 同一目的国, 跨账簿/跨店铺, 多选FBA ID, 选定一个出口公司, 推9810订单 

 

 

 报关单台账, 支持, 将拼单的一张报关单, 里的明细/金额, 对应不同的店铺公司 

 

 

 支持代理出口协议 数据 

 

 

 支持所得税,自营/代理出口等申报数据 

 

 

 

 

 考虑: 使用一家,或者轮换多家, 当天同目的地拼成一张报关单出口 

 

 

 后续 代理出口协议/申报数据等做溯源

财务模块-凭证模版

凭证模版需求
1、在录入凭证的界面就模版按钮，点击下拉出现“保存为凭证模版“ 和 “从模版生成凭证” 

 

 从模版生成凭证：打开模版对话框，选择对应模版将内容加载到创建凭证内容中 

 以下图片展示的是从模版生成凭证，标题：选择模版，可以通过模版类型和模版名称搜索，模版类型为下拉选择框。 

 有勾选框仅显示模版类别和名称，默认勾选，如果去掉这个将自动显示模版内部对应的分录信息，含辅助核算，金额等信息，具体实现请参考凭证查询页面 

 

 保存为凭证模版：将当前客户编辑的内容保存为特定模版 

 弹出新增模版 对话框，输入表单 模版名称，模版类别（下拉列表） 保存一下信息：摘要（默认勾选）科目（默认勾选）金额（默认不勾选）辅助核算（默认不勾选）  

 对话框footer部分提供保存与取消按钮，保存按钮点击后将会保存凭证页面维护的相应内容 

 

 模版类别提供编辑逻辑，可以在下拉框边上加入编辑图标，或者在下拉列表最下面加入新增按钮点击后弹出模版类别管理对话框 

 

 在模版类别管理对话可以新增，修改和删除模版类别。也可以选择某个模版类别，确定后下拉列表会自动选择对话框中选择的类别 

 

 

 数据库设计： 

 CREATE TABLE `fin_vouchers_template_type` ( 

 `id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT 'ID', 

 `groupid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '租户ID', 

 `name` VARCHAR(50) NULL DEFAULT NULL COMMENT '分类名称' COLLATE 'utf8mb4_bin', 

 `create_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '创建人名称' COLLATE 'utf8mb4_bin', 

 `modify_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '修改人名称' COLLATE 'utf8mb4_bin', 

 `created_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间', 

 `updated_time` DATETIME NULL DEFAULT NULL COMMENT '修改时间' 

 ) 

 COMMENT='凭证模版分类' 

 COLLATE='utf8mb4_bin' 

 ENGINE=InnoDB 

 ; 

 后台controller应当在保存逻辑自动维护created_time，updated_time，modify_by，create_by 

 和修改时自动维护updated_time，modify_by 

 前端在保存时应当将当前的groupid维护上去，用户只需要维护对应的分类名称 

 CREATE TABLE `fin_vouchers_template` ( 

 `id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT 'ID', 

 `groupid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '租户ID', 

 `type_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '类型ID', 

 `name` VARCHAR(50) NULL DEFAULT NULL COMMENT '模版名称' COLLATE 'utf8mb4_bin', 

 `create_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '创建人名称' COLLATE 'utf8mb4_bin', 

 `modify_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '修改人名称' COLLATE 'utf8mb4_bin', 

 `created_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间', 

 `updated_time` DATETIME NULL DEFAULT NULL COMMENT '修改时间' 

 ) 

 COMMENT='凭证模版' 

 COLLATE='utf8mb4_bin' 

 ENGINE=InnoDB 

 ; 

 用于存储凭证模版，type_id存储新增模版对话框中的模版类型对应的ID，name是客户在新增模版对话框中的form中维护的input 

 页面上客户填写的内容存储到fin_vouchers_template_entries中 

 CREATE TABLE `fin_vouchers_template_entries` ( 

 `entry_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '分录主键ID', 

 `groupid` BIGINT(20) UNSIGNED NOT NULL COMMENT '租户ID', 

 `template_id` BIGINT(20) UNSIGNED NOT NULL COMMENT '关联的凭证模版ID', 

 `entry_no` INT(10) NOT NULL COMMENT '分录序号', 

 `subject_id` BIGINT(20) UNSIGNED NOT NULL COMMENT '会计科目ID', 

 `summary` VARCHAR(200) NULL DEFAULT NULL COMMENT '摘要说明' COLLATE 'utf8mb4_bin', 

 `debit_amount` DECIMAL(15,2) NULL DEFAULT '0.00' COMMENT '借方金额', 

 `credit_amount` DECIMAL(15,2) NULL DEFAULT '0.00' COMMENT '贷方金额', 

 `original_amount` DECIMAL(20,6) NULL DEFAULT NULL, 

 `currency` VARCHAR(5) NULL DEFAULT NULL COLLATE 'utf8mb4_bin', 

 `exchange_rate` DECIMAL(20,6) NULL DEFAULT NULL, 

 `quantity` INT(10) NULL DEFAULT NULL, 

 `unit_price` DECIMAL(20,2) NULL DEFAULT NULL, 

 `created_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间', 

 PRIMARY KEY (`entry_id`) USING BTREE, 

 INDEX `idx_voucher_entries_tenant_subject` (`groupid`, `subject_id`) USING BTREE COMMENT '租户分录科目索引', 

 INDEX `tenant_id` (`groupid`, `template_id`) USING BTREE, 

 INDEX `template_id` (`template_id`) USING BTREE 

 ) 

 COMMENT='凭证模版分录明细表，存储凭证模版的每一笔分录信息' 

 COLLATE='utf8mb4_bin' 

 ENGINE=InnoDB 

 AUTO_INCREMENT=12839 

 ; 

 注意必须按照客户的维护的次序保存entry_no 

 其中如果客户维护了辅助核算类人且在保存时勾选了辅助核算，应当将辅助核算保存在fin_vouchers_template_entries_auxiliary中 

 

 

 CREATE TABLE `fin_vouchers_template_entries_auxiliary` ( 

 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID', 

 `entry_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '关联分录', 

 `auxiliary_type_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '核算类型：CUSTOMER, DEPARTMENT, PROJECT, SUPPLIER, EMPLOYEE', 

 `auxiliary_item_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '具体核算项的ID（对应客户主表、部门主表的ID）', 

 `groupid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '租户ID', 

 PRIMARY KEY (`id`) USING BTREE, 

 UNIQUE INDEX `entry_id_assistant_type_code` (`entry_id`, `auxiliary_type_id`) USING BTREE 

 ) 

 COLLATE='utf8mb4_bin' 

 ENGINE=InnoDB 

 AUTO_INCREMENT=5 

 ; 

 

 文件位置 

 以上内容后台在wimoor-finance\src\main\java\com\wimoor\finance\voucher 

 前段在wimoor-ui\src\views\finance\vouchers_template 

 请帮我完成以上需求

采购模块

采购模块-付款报告-店铺
链接：https://app.wimoor.com/erp/purchase/paymentDetail?title=%E9%87%87%E8%B4%AD%E4%BB%98%E6%AC%BE%E6%98%8E%E7%BB%86&path=/erp/purchase/paymentDetail&closable=true&scrolltop=0 

 采购付款明细 

 在字段  

 

 

 

 

 名称/SKU 

 

 

 

 

 中的SKU边上增加灰色 的 (店铺）的形式。 

 注意店铺是t_erp_purchase_form的groupid,而且其内容表t_amazon_group不是ERP模块的，他是amazon模块。需要使用fegin调用。 

 对于groupname的加入需要考虑页面和导出两个地方 

 搜索条件中新增店铺，直接用店铺组件建议group_select.vue ,且帮我将查询模块费用类型和支付方式减少宽度以便能够一行放下所有查询模块

供应商管理
供应商管理: 

 

 

 数据库表：

 CREATE TABLE `t_erp_customer` ( 

 `id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'ID(h)', 

 `name` CHAR(50) NULL DEFAULT NULL COMMENT '客户简称' COLLATE 'utf8mb4_bin', 

 `number` CHAR(50) NULL DEFAULT NULL COMMENT '客户编码' COLLATE 'utf8mb4_bin', 

 `fullname` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户全称' COLLATE 'utf8mb4_bin', 

 `ftype` CHAR(10) NULL DEFAULT NULL COMMENT '客户分类(supplier 供应商，purchaser 采购商）' COLLATE 'utf8mb4_bin', 

 `goodtype` VARCHAR(50) NULL DEFAULT NULL COMMENT '货物类型（透明胶，服装，玩具 等）' COLLATE 'utf8mb4_bin', 

 `contacts` VARCHAR(50) NULL DEFAULT NULL COMMENT '联系人' COLLATE 'utf8mb4_bin', 

 `phone_num` VARCHAR(50) NULL DEFAULT NULL COMMENT '联系电话' COLLATE 'utf8mb4_bin', 

 `contact_info` VARCHAR(2000) NULL DEFAULT NULL COMMENT '其它联系信息' COLLATE 'utf8mb4_bin', 

 `address` VARCHAR(500) NULL DEFAULT NULL COMMENT '地址' COLLATE 'utf8mb4_bin', 

 `shoplink` VARCHAR(500) NULL DEFAULT NULL COMMENT '商品链接' COLLATE 'utf8mb4_bin', 

 `shopid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '所属店铺（公司）(h)', 

 `operator` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '操作人', 

 `opttime` DATETIME NULL DEFAULT NULL COMMENT '修改时间', 

 `oldid` CHAR(36) NULL DEFAULT NULL COLLATE 'utf8mb4_bin', 

 PRIMARY KEY (`id`) USING BTREE, 

 UNIQUE INDEX `name_shopid` (`shopid`, `name`) USING BTREE, 

 UNIQUE INDEX `number_shopid` (`number`, `shopid`) USING BTREE 

 ) 

 COLLATE='utf8mb4_bin' 

 ENGINE=InnoDB 

 ROW_FORMAT=DYNAMIC 

 ; 

 

   

 

 

 

 优化UI 对当前供应商的编辑状态采用单独页面展示的方式，提供客户查看状态的页面与编辑状态的页面，且可以相互转换当保存之后自动变成查看状态，当在查看页面点击编辑自动变成编辑状态页面。 

 

 在供应商维护页面可以 新增供应商收款账户 

 

 数据库结构一个供应商对应多个收款账户，可以设置默认收款账户 

 

 

 CREATE TABLE `t_erp_customer_account` ( 

 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID(h)', 

 `customer_id` BIGINT(20) UNSIGNED NOT NULL, 

 `company_name` CHAR(50) NULL DEFAULT NULL COMMENT '公司名称' COLLATE 'utf8mb4_bin', 

 `account_number` VARCHAR(50) NULL DEFAULT NULL COMMENT '银行账号' COLLATE 'utf8mb4_bin', 

 `shopid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '所属店铺（公司）(h)', 

 `operator` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '操作人', 

 `opttime` DATETIME NULL DEFAULT NULL COMMENT '修改时间', 

 `oldid` CHAR(36) NULL DEFAULT NULL COLLATE 'utf8mb4_bin', 

 PRIMARY KEY (`id`) USING BTREE, 

 UNIQUE INDEX `number_shopid` (`account_number`, `shopid`) USING BTREE, 

 UNIQUE INDEX `name_shopid` (`shopid`, `company_name`) USING BTREE 

 ) 

 COMMENT='收款账户' 

 COLLATE='utf8mb4_bin' 

 ENGINE=InnoDB 

 ROW_FORMAT=DYNAMIC 

 ;此表为新增表，需要后台添加对应实体操作和服务类等 

   

 

 增加支持维护供应商的收款账户 

 收款账户可多个,可设置默认. 

 收款账户的 启用/停用 状态管理（银行账户可能变更）,不删除(只停用, 可查询) 

 

 

 

 

 在供应商查看页面，显示近半年此供应商的采购单对应产品 以及采购金额，采购数量。注意：必须以产品为中心汇总，不管有多少单有多个如果产品只有一个就只能有一笔。不分页每个产品一个小卡片，图片名称SKU ，采购金额，采购数量。依次展示，最好使用el-space wrap的方式

采购账户
账目->采购记账模块 

 https://app.wimoor.com/finance/account?title=%E9%87%87%E8%B4%AD%E8%AE%B0%E8%B4%A6&path=/finance/account 

 左侧卡片 里面的paymeth支付类型 和 account 账目名称 调换位置。 

 如：现在是现金在上1688支付宝[支付宝]在下，修改后应该是1688支付宝[支付宝]在上方黑字，现金在下方灰色字体

账目-结算记录-每日费用趋势
账目-结算记录页面下的“图表”这一页签的“每日费用趋势”，当前的数据是按照月汇总的，后台数据查询的时候，是查出日期区间每天的数据的，再进行按照月汇总的。请帮我把日期区间每天的数据，在图表下面新增一个类似“销售-趋势分析”页面的销量表格展示，表格的项目名称大致如：日期,当天汇率,当前选中的费用项。当前原有图表和新增的表格展示，需要加上对“站点币种“和“RMB”的切换显示。数据源里有“RMB”对应的值和本身站点币种的值。还有图表的“结算金额,FBA费,佣金”这三个选项，帮我做成动态的下拉选项，下拉选项的值来源于“报表”页签下的income项。请帮我在“图表”下的“每日费用趋势”内容下面新增这个表格和优化当前图表。根据以下代码进行： 

 public Map<String,Object> monthReport(Map<String,Object> param){

		String fromDate = param.get("fromDate").toString().replaceAll("/", "-");

		String endDate = param.get("endDate").toString().replaceAll("/", "-");

		param.put("fromDate", fromDate);

		param.put("endDate", endDate);

		List<Map<String,Object>> mapList= amzSettlementReportSummaryMonthMapper.monthReport(param);

		Map<String,Object> result=new HashMap<String,Object>();

		String currency=null;

		BigDecimal totals=new BigDecimal("0");

		BigDecimal total_other=new BigDecimal("0");

		BigDecimal totals_rmb=new BigDecimal("0");

		BigDecimal total_other_rmb=new BigDecimal("0");

		for(Map<String,Object> map:mapList){

			if(map==null){continue;}

			BigDecimal total=map.get("Total Income Expenses Tax")!=null?new BigDecimal(map.get("Total Income Expenses Tax").toString()):null;

			totals=totals.add(total);

			BigDecimal others=new BigDecimal("0");

			Date postdate=map.get("posted_date")!=null?GeneralUtil.getDate(map.get("posted_date")):null;

			currency=map.get("currency").toString();

			for(Map.Entry<String, Object> entry:map.entrySet()){

				if(entry.getKey().equals("currency")||entry.getKey().equals("posted_date")){continue;}

				if(entry.getValue() instanceof BigDecimal){

					BigDecimal value=new BigDecimal(entry.getValue().toString());

					BigDecimal rmb=exchangeRateHandlerService.changeCurrencyByLocal(postdate,currency,"CNY",value);

					if(result.get(entry.getKey())!=null){

						result.put(entry.getKey(),value.add(new BigDecimal(result.get(entry.getKey()).toString())));

 result.put(entry.getKey()+"_rmb",rmb.add(new BigDecimal(result.get(entry.getKey()+"_rmb").toString())));

 }else{

						result.put(entry.getKey(),value);

						result.put(entry.getKey()+"_rmb",rmb);

					}

					if(!entry.getKey().equals("Total Income Expenses Tax")){

						others=others.add(value);

					}

				}

			}

			//-----------------------------others----------------------------

 assert total != null;

 others=total.subtract(others);

			map.put("Others",others);

			BigDecimal others_rmb=exchangeRateHandlerService.changeCurrencyByLocal(postdate,currency,"CNY",others);

			map.put("Others_rmb",others_rmb);

			total_other=total_other.add(others);

			total_other_rmb=total_other_rmb.add(others_rmb);

		}

		result.put("Others",total_other);

		result.put("Others_rmb",total_other_rmb);

		BigDecimal transfer = amzSettlementReportSummaryMonthMapper.TransfersToBankAccount(param);

		result.put("Transfers to bank account",transfer);

		if(transfer!=null){

			BigDecimal rmb=exchangeRateHandlerService.changeCurrencyByLocal(GeneralUtil.getDatez(endDate),currency,"CNY",transfer);

			result.put("Transfers to bank account_rmb",rmb);

		}

		BigDecimal transferFail=amzSettlementReportSummaryMonthMapper.FailedTransfersToBankAccount(param);

		result.put("Failed transfers to bank account",transferFail);

		if(transferFail!=null){

			BigDecimal rmb=exchangeRateHandlerService.changeCurrencyByLocal(GeneralUtil.getDatez(endDate),currency,"CNY",transferFail);

			result.put("Transfers to bank account_rmb",rmb);

		}

		List<String> list = getTransactionTypes();

		for(String item:list){

			if(result.get(item)==null){

				result.put(item,new BigDecimal(0));

				result.put(item+"_rmb",new BigDecimal(0));

			}

		}

		BigDecimal total=new BigDecimal("0");

		for(Map.Entry<String, Object> item:result.entrySet()){

			if(!item.getKey().contains("_rmb")){continue;}

		 System.out.println(item.getKey()+" "+item.getValue());

		}

		return result;

	} 

  