# 需求文档

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

# 财务ERP系统需求规格说明书与开发方案

## <span class="">版本历史</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E6%97%A5%E6%9C%9F-%E7%89%88%E6%9C%AC-%E4%BF%AE%E6%94%B9%E5%86%85%E5%AE%B9-%E4%BD%9C%E8%80%85-2026-0"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">日期</span></th><th><span class="">版本</span></th><th><span class="">修改内容</span></th><th><span class="">作者</span></th></tr></thead><tbody><tr><td><span class="">2026-06-25</span></td><td><span class="">v1.0</span></td><td><span class="">初始版本</span></td><td><span class="">架构组</span></td></tr></tbody></table>

</div>---

## <span class="">1. 项目概述</span>

### <span class="">1.1 项目背景</span>

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

### <span class="">1.2 系统目标</span>

- **<span class="">统一会计核算</span>**<span class="">：建立标准化的会计科目、账套、凭证、报表体系。</span>
- **<span class="">多数据源自动记账</span>**<span class="">：对接飞书多维表格、亚马逊结算报告、采购模块、支付平台等，自动生成会计凭证。</span>
- **<span class="">全链路台账管理</span>**<span class="">：实现采购账户、供应商、发票、库存（进销存）的精细化管理，支持账期、对账、分摊等复杂业务场景。</span>
- **<span class="">合规留痕</span>**<span class="">：四票一致（合同、发票、物流、付款）与业务附件留存，满足税务稽查与审计要求。</span>
- **<span class="">灵活报表与合并</span>**<span class="">：支持单个账套报表及多账套合并，提供资产负债表、利润表、现金流量表等标准财务报表。</span>
- **<span class="">权限与隔离</span>**<span class="">：支持按账套、科目、操作权限精细化控制，满足多公司、多项目的数据隔离与授权需求。</span>

### <span class="">1.3 适用范围</span>

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

---

## <span class="">2. 总体功能架构</span>

<span class="">系统分为</span>**<span class="">基础设置</span>**<span class="">、</span>**<span class="">凭证管理</span>**<span class="">、</span>**<span class="">自动记账</span>**<span class="">、</span>**<span class="">台账管理</span>**<span class="">、</span>**<span class="">报表中心</span>**<span class="">、</span>**<span class="">结账处理</span>**<span class="">六大模块。</span>

<div class="md-code-block md-code-block-light" id="bkmrk--2"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><div class="ds-segmented _81e8954" role="tablist"><div aria-selected="true" class="ds-segmented-button ds-segmented-button--selected" role="tab" tabindex="0">  
</div></div></div></div></div></div><div class="kvfysmfp _6213ab4"><svg class="flowchart mermaid-svg" height="100%" id="bkmrk--3" role="graphics-document document" viewbox="-8.699154663086848 -8.699147033691407 4651.992044067383 191.38123474121096" width="100%" xmlns="http://www.w3.org/2000/svg"></svg></div><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>---

## <span class="">3. 功能需求详述</span>

### <span class="">3.1 基础设置</span>

#### <span class="">3.1.1 会计科目</span>

- **<span class="">科目结构</span>**<span class="">：支持多级科目（如一级、二级、三级），编码使用数字分层（如10020101）。</span>
- **<span class="">科目属性</span>**<span class="">：需指定是否为“现金及现金等价物科目”、“非现金科目”；支持多币种（默认人民币，可设置外币）。</span>
- **<span class="">辅助核算</span>**<span class="">：支持按供应商、客户、部门、存货、项目等进行辅助核算，便于报表多维分析。</span>
- **<span class="">科目禁用/启用</span>**<span class="">：支持科目停用，历史数据保留。</span>
- **<span class="">科目复制</span>**<span class="">：支持从金蝶或现有模板快速导入。</span>

#### <span class="">3.1.2 账套管理</span>

- **<span class="">账套定义</span>**<span class="">：代表一个独立的会计核算主体（如公司、店铺、项目）。</span>
- **<span class="">账套组合</span>**<span class="">：允许创建“合并账套”，其数据为多个子账套的汇总（如集团账套包含所有子公司）。</span>
- **<span class="">账套权限</span>**<span class="">：用户可被授予特定账套的查看/登记权限，各账套数据隔离。</span>
- **<span class="">账套参数</span>**<span class="">：每个账套可独立设置本位币、会计期间、小数位数等。</span>

#### <span class="">3.1.3 用户与权限</span>

- **<span class="">功能权限</span>**<span class="">：控制用户对各菜单模块的访问（查看、新增、修改、删除、审核）。</span>
- **<span class="">数据权限</span>**<span class="">：按账套、科目范围限制数据可见性。</span>
- **<span class="">操作审计</span>**<span class="">：记录所有关键操作（凭证录入、审核、修改）的日志（时间、操作人、IP）。</span>

#### <span class="">3.1.4 进销存配置</span>

- **<span class="">采购账户配置</span>**<span class="">：定义采购支付账户类型（现金/账期）、费用类型、对应会计科目、凭证生成规则（详见3.4.1）。</span>
- **<span class="">供应商配置</span>**<span class="">：维护供应商基本信息及多个收款账户（公司名称、银行账号），支持默认设置。</span>
- **<span class="">存货核算方法</span>**<span class="">：仅支持移动加权平均法，系统自动计算出库成本。</span>
- **<span class="">仓库设置</span>**<span class="">：区分本地仓库与FBA仓库，设定对应的科目映射。</span>

### <span class="">3.2 凭证管理</span>

#### <span class="">3.2.1 手工录入凭证</span>

- **<span class="">凭证要素</span>**<span class="">：凭证字（收、付、转、记）、凭证号、日期、账套、制单人、摘要、会计科目（带辅助核算）、借贷方金额、币别/汇率、附件张数。</span>
- **<span class="">借贷平衡校验</span>**<span class="">：自动校验借贷合计是否相等，不相等禁止保存。</span>
- **<span class="">凭证模板</span>**<span class="">：支持保存常用分录模板，提高录入效率。</span>
- **<span class="">凭证审核</span>**<span class="">：需审核后方可生成报表；支持反审核。</span>

#### <span class="">3.2.2 凭证查询与导出</span>

- **<span class="">多维筛选</span>**<span class="">：按凭证字号、日期范围、账套、科目、制单人、来源模块、摘要模糊搜索等。</span>
- **<span class="">显示原币</span>**<span class="">：支持显示外币凭证的原币金额及折算本位币金额。</span>
- **<span class="">导出格式</span>**<span class="">：支持导出为Excel、PDF，用于打印或外部审计。</span>

#### <span class="">3.2.3 凭证附件</span>

- <span class="">每张凭证可关联多个附件（图片、PDF、Excel等），附件存储于服务器并加密，保存期限不少于10年。</span>
- <span class="">支持从飞书审批、多维表格自动关联附件。</span>

### <span class="">3.3 自动记账</span>

#### <span class="">3.3.1 飞书多维表格连接</span>

- **<span class="">配置模板</span>**<span class="">：定义多维表格数据源（API Token、表格ID）、字段映射（账套、日期、金额、科目等）、筛选条件、凭证生成规则。</span>
- **<span class="">生成方式</span>**<span class="">：支持前端手动触发（勾选记录发送至ERP）或定时轮询自动生成。</span>
- **<span class="">异常处理</span>**<span class="">：记录未成功生成凭证的异常数据，提供异常列表供人工处理。</span>
- **<span class="">典型应用</span>**<span class="">：工资分摊、行政费用付款、报销审批等。</span>

#### <span class="">3.3.2 亚马逊月度结算数据自动凭证</span>

- **<span class="">数据来源</span>**<span class="">：通过SP-API获取Settlement Report或Payment Report，按月度汇总。</span>
- **<span class="">凭证逻辑</span>**<span class="">：</span>
    
    
    - <span class="">按回款日期确认收入，借：应收账款-亚马逊平台，贷：主营业务收入（按商品类别）、其他业务收入（运费等）。</span>
    - <span class="">平台费用（佣金、仓储费、广告费等）计入费用科目，借：销售费用/管理费用，贷：应收账款-亚马逊平台。</span>
    - <span class="">汇率使用当月中国外汇交易中心公布的中间价。</span>
- **<span class="">附件留存</span>**<span class="">：自动下载月度结算PDF作为凭证附件。</span>

#### <span class="">3.3.3 采购模块自动记账（详见3.4.1）</span>

- <span class="">采购订单付款、入库、发票入账等操作实时生成会计凭证。</span>

#### <span class="">3.3.4 支付平台出账</span>

- **<span class="">连连星球等支付平台</span>**<span class="">：提供模块展示各币种余额，出账时按账套分摊金额，生成凭证（借：内部往来/费用，贷：其他货币资金-连连）。</span>
- **<span class="">内部往来</span>**<span class="">：用于账套间资金调拨，合并报表时抵消为零。</span>

### <span class="">3.4 台账管理（核心模块）</span>

#### <span class="">3.4.1 采购账户台账</span>

- **<span class="">功能目标</span>**<span class="">：管理所有采购支付账户（现金类/账期类）的收支明细、余额、对账；支持账期结算与批量付款。</span>
- **<span class="">数据来源</span>**<span class="">：采购订单付款、台账付款（账期还款）、退款等操作。</span>
- **<span class="">筛选视图</span>**<span class="">：按采购账户、账套、时间、付款/库存/发票状态多维过滤。</span>
- **<span class="">台账付款（账期类）</span>**<span class="">：</span>
    
    
    - <span class="">支持勾选多条未付记录，统一生成付款单，选择现金类账户进行实际支付。</span>
    - <span class="">支持Excel模板批量导入付款明细（用于跨境直采等批量场景）。</span>
    - <span class="">付款时自动生成凭证（借：应付账款-供应商，贷：其他货币资金/银行存款）。</span>
- **<span class="">退款处理</span>**<span class="">：支持部分或全额退款，自动生成红字凭证冲销原分录。</span>
- **<span class="">余额/对账</span>**<span class="">：提供账户余额统计、与银行流水对账功能（后续对接银行API）。</span>

#### <span class="">3.4.2 供应商台账</span>

- **<span class="">功能目标</span>**<span class="">：管理供应商的应付、预付、发票、库存状态。</span>
- **<span class="">核心字段</span>**<span class="">：供应商、订单、SKU、收款账号、付款状态、库存状态、发票状态。</span>
- **<span class="">发票入账</span>**<span class="">：支持勾选未开票记录，关联数电发票（通过API获取）生成凭证（借：预付账款-在途发票，贷：预付账款-采购供应商）。</span>
- **<span class="">对账单导出</span>**<span class="">：可按供应商导出未开票明细，用于催开发票。</span>

#### <span class="">3.4.3 发票台账</span>

- **<span class="">数据同步</span>**<span class="">：通过税局API（或金蝶接口）获取数电发票信息（发票号码、销方、金额、税额、状态）。</span>
- **<span class="">台账展示</span>**<span class="">：按账套、销方、时间筛选，显示发票状态（未入账/已入账/作废/红冲等）。</span>
- **<span class="">入账操作</span>**<span class="">：支持手工选择发票并生成凭证（借：费用/库存，贷：预付账款-供应商），可分摊到不同账套。</span>
- **<span class="">统计分析</span>**<span class="">：按账簿汇总发票金额、税额，比对账面预付账款余额。</span>

#### <span class="">3.4.4 本地仓库台账（进销存）</span>

- **<span class="">核算方式</span>**<span class="">：移动加权平均法，每笔入库重新计算单位成本。</span>
- **<span class="">汇总账</span>**<span class="">：按月展示SKU的期初、入库、出库、期末数量与金额，提供勾稽校验（与科目余额对比）。</span>
- **<span class="">明细账</span>**<span class="">：按时间、操作类型（采购入库、销售出库、盘点盈亏、调拨等）展示每次变动明细，点击可联查对应凭证。</span>
- **<span class="">成本计算</span>**<span class="">：自动计算每次出库成本（出库数量 × 当前移动平均单价），保留精度，避免尾差。</span>

#### <span class="">3.4.5 FBA仓库台账</span>

- **<span class="">数据来源</span>**<span class="">：亚马逊库存报告（Inventory Health Report）及发货记录。</span>
- **<span class="">核算方式</span>**<span class="">：按月汇总核算，发货至FBA时按移动加权价结转成本。</span>
- **<span class="">勾稽校验</span>**<span class="">：与亚马逊平台报告核对，确保库存价值准确。</span>

### <span class="">3.5 报表中心</span>

- **<span class="">科目余额表</span>**<span class="">：展示所选期间各科目期初、发生额、期末余额，支持外币原币与本位币双列显示。</span>
- **<span class="">明细账/总账</span>**<span class="">：按科目查询所有凭证明细，支持导出。</span>
- **<span class="">资产负债表</span>**<span class="">：按标准格式（期末余额、年初余额）自动生成，项目名称与金蝶一致。</span>
- **<span class="">利润表</span>**<span class="">：支持月、季、年，展示本期金额与本年累计，可隐藏/显示成本占比。</span>
- **<span class="">现金流量表</span>**<span class="">：按直接法编制，提供试算平衡校验。</span>
- **<span class="">所有者权益变动表</span>**<span class="">：年报格式，暂简化处理。</span>

### <span class="">3.6 结账处理</span>

- **<span class="">期末调汇</span>**<span class="">：对外币科目按月末汇率调整汇兑损益。</span>
- **<span class="">结转销售成本</span>**<span class="">：根据出库记录自动计算并生成凭证（借：主营业务成本，贷：库存商品）。</span>
- **<span class="">结转损益</span>**<span class="">：将损益类科目余额结转至本年利润。</span>
- **<span class="">结账</span>**<span class="">：结账后禁止修改该期间凭证，支持反结账。</span>

---

## <span class="">4. 非功能需求</span>

### <span class="">4.1 性能要求</span>

- <span class="">支持并发用户数≥50，凭证查询响应时间≤2秒。</span>
- <span class="">月度结算数据生成凭证（约1万条记录）处理时间≤5分钟。</span>
- <span class="">数据库读写分离，历史数据归档。</span>

### <span class="">4.2 安全性</span>

- <span class="">数据传输HTTPS加密，敏感字段（金额）数据库加密存储。</span>
- <span class="">操作日志保留不少于180天，审计日志保留不少于10年。</span>
- <span class="">防SQL注入、XSS攻击，接口鉴权采用JWT Token。</span>

### <span class="">4.3 可靠性</span>

- <span class="">系统可用性≥99.9%，每日自动备份数据库与附件。</span>
- <span class="">异常数据自动记录并告警（邮件/飞书通知）。</span>

### <span class="">4.4 可维护性</span>

- <span class="">模块化、微服务化设计（可拆分会计核心、台账、报表独立服务）。</span>
- <span class="">配置化程度高（科目映射、凭证模板、连接器均支持界面配置）。</span>

---

## <span class="">5. 技术架构</span>

### <span class="">5.1 整体技术栈</span>

- **<span class="">后端</span>**<span class="">：Spring Boot 2.7+，Spring Security，MyBatis-Plus，MySQL 8.0，Redis（缓存），RabbitMQ（异步任务）。</span>
- **<span class="">前端</span>**<span class="">：Vue 3 + TypeScript，Element Plus，Vite，Axios。</span>
- **<span class="">部署</span>**<span class="">：Docker容器化，Nginx负载均衡，Jenkins CI/CD。</span>

### <span class="">5.2 模块划分（后端微服务）</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E6%9C%8D%E5%8A%A1%E5%90%8D-%E8%81%8C%E8%B4%A3-accounting-co"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">服务名</span></th><th><span class="">职责</span></th></tr></thead><tbody><tr><td>`accounting-core`</td><td><span class="">科目、账套、凭证、基础设置、手工录入、查询</span></td></tr><tr><td>`automation-service`</td><td><span class="">自动记账引擎（多维表格、亚马逊、采购事件）</span></td></tr><tr><td>`ledger-service`</td><td><span class="">台账管理（采购账户、供应商、发票、库存）</span></td></tr><tr><td>`report-service`</td><td><span class="">报表生成（科目余额表、三表等）</span></td></tr><tr><td>`file-service`</td><td><span class="">附件存储与管理</span></td></tr><tr><td>`auth-service`</td><td><span class="">用户认证与权限</span></td></tr></tbody></table>

</div>### <span class="">5.3 数据库设计概要（核心表）</span>

- `account_set`<span class="">（账套表）</span>
- `account_subject`<span class="">（科目表，含辅助核算字段）</span>
- `voucher`<span class="">（凭证主表）</span>
- `voucher_detail`<span class="">（凭证分录明细，含外币字段）</span>
- `auto_template`<span class="">（自动凭证模板配置）</span>
- `purchase_account`<span class="">（采购账户）</span>
- `purchase_order`<span class="">（采购订单）</span>
- `purchase_payment`<span class="">（采购付款记录）</span>
- `supplier`<span class="">（供应商）</span>
- `invoice`<span class="">（发票台账）</span>
- `inventory_transaction`<span class="">（库存变动明细）</span>
- `warehouse_stock`<span class="">（仓库库存余额）</span>

### <span class="">5.4 关键接口设计（RESTful）</span>

- `/api/v1/accounting/...`<span class=""> 凭证相关</span>
- `/api/v1/ledger/purchase-account/...`<span class=""> 采购台账</span>
- `/api/v1/automation/feishu/...`<span class=""> 飞书连接</span>
- `/api/v1/report/...`<span class=""> 报表数据</span>

---

## <span class="">6. 开发计划（分阶段实施）</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E9%98%B6%E6%AE%B5-%E6%97%B6%E9%97%B4%E8%8A%82%E7%82%B9-%E4%B8%BB%E8%A6%81%E5%86%85%E5%AE%B9-%E5%A4%87%E6%B3%A8-%E7%AC%AC%E4%B8%80%E9%98%B6%E6%AE%B5"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">阶段</span></th><th><span class="">时间节点</span></th><th><span class="">主要内容</span></th><th><span class="">备注</span></th></tr></thead><tbody><tr><td><span class="">第一阶段</span></td><td><span class="">2026-10 ~ 2027-02</span></td><td><span class="">基础设置（科目、账套、权限）、手工凭证、凭证查询、基础报表（科目余额表）</span></td><td><span class="">核心基建</span></td></tr><tr><td><span class="">第二阶段</span></td><td><span class="">2027-03 ~ 2027-05</span></td><td><span class="">自动记账：飞书多维表格连接、亚马逊月度数据自动凭证、结账处理（调汇、结转）</span></td><td><span class="">提高效率</span></td></tr><tr><td><span class="">第三阶段</span></td><td><span class="">2027-06 ~ 2027-09</span></td><td><span class="">进销存模块（采购账户台账、供应商台账、发票台账、仓库台账）及关联凭证生成</span></td><td><span class="">业财融合</span></td></tr><tr><td><span class="">第四阶段</span></td><td><span class="">2027-10 ~ 2027-12</span></td><td><span class="">完善报表（三表）、权限深化、附件管理、多币种优化、性能调优</span></td><td><span class="">精细化</span></td></tr><tr><td><span class="">后续</span></td><td><span class="">2028+</span></td><td><span class="">对接银行API、税务接口、更多平台（Wimoor、海外仓）</span></td><td><span class="">生态扩展</span></td></tr></tbody></table>

</div>---

## <span class="">7. 关键业务规则说明</span>

1. **<span class="">损益类科目红字规则</span>**<span class="">：损益类科目不允许借方蓝字，必须记贷方红字（负数），以保证利润表取数正确。</span>
2. **<span class="">凭证日期</span>**<span class="">：必须等于业务实际发生日期（如付款日期、收入确认日期），不得随意提前或推后。</span>
3. **<span class="">内部往来抵消</span>**<span class="">：多账套合并报表时，内部往来科目（如其他应收款-账套间）必须清零。</span>
4. **<span class="">库存成本核算</span>**<span class="">：采用移动加权平均，每次出库成本 = 出库数量 × 当前移动平均单价；库存余额不通过单价×数量反算，而通过期初+入库-出库滚动计算。</span>
5. **<span class="">附件保存</span>**<span class="">：所有凭证和重要业务单据（合同、发票、物流单）均需上传附件，电子档案保存不少于10年。</span>

---

## <span class="">8. 开发注意事项</span>

- **<span class="">前端适配</span>**<span class="">：大量表格需支持动态列、排序、筛选、导出，建议封装通用表格组件。</span>
- **<span class="">性能优化</span>**<span class="">：台账页面数据量大，需后端分页、前端虚拟滚动。</span>
- **<span class="">安全性</span>**<span class="">：金额字段前端展示需千分位格式化，但传输时保持原始数值。</span>
- **<span class="">国际化</span>**<span class="">：预留多语言接口（目前仅中文）。</span>
- **<span class="">测试重点</span>**<span class="">：凭证借贷平衡、外币折算、移动加权平均计算、自动生成凭证的异常处理。</span>

---

## <span class="">9. 附录：参考文档与资源</span>

- [<span class="">金蝶会计科目体系参考</span>](https://./%E5%8F%82%E8%80%83%E6%96%87%E4%BB%B6)
- [<span class="">亚马逊SP-API文档</span>](https://developer-docs.amazon.com/sp-api/docs)
- [<span class="">飞书多维表格API</span>](https://open.feishu.cn/document/server-docs/docs/bitable-v1/bitable-overview)
- <span class="">公司内部《2025-财务及海关ERP设计方案》</span>

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

## <span class="">版本历史</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E7%89%88%E6%9C%AC-%E6%97%A5%E6%9C%9F-%E4%BF%AE%E6%94%B9%E5%86%85%E5%AE%B9-%E4%BD%9C%E8%80%85-v1.0-2"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">版本</span></th><th><span class="">日期</span></th><th><span class="">修改内容</span></th><th><span class="">作者</span></th></tr></thead><tbody><tr><td><span class="">v1.0</span></td><td><span class="">2026-06-25</span></td><td><span class="">基于20260618需求梳理，定义采购模块与台账功能</span></td><td><span class="">架构组</span></td></tr></tbody></table>

</div>---

## <span class="">1. 模块定位与范围</span>

### <span class="">1.1 模块目标</span>

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

### <span class="">1.2 涉及功能清单</span>

- **<span class="">进销存配置</span>**<span class="">：采购账户、供应商收款账户、库存核算方法、凭证科目映射</span>
- **<span class="">采购单（会计版）</span>**<span class="">：创建、付款、退款、入库、退货，状态追踪</span>
- **<span class="">采购账户台账</span>**<span class="">：多维度查询、台账付款（账期结算）、批量上传对账单、退款处理</span>
- **<span class="">供应商台账</span>**<span class="">：按供应商汇总应付/已付/待付、库存价值、发票状态，支持发票入账</span>
- **<span class="">发票台账</span>**<span class="">：数电发票同步、入账、查询、统计分析</span>
- **<span class="">本地仓库台账</span>**<span class="">：移动加权平均核算，汇总账与明细账，与总账勾稽</span>
- **<span class="">FBA仓库台账</span>**<span class="">：与亚马逊库存报告对接，按月汇总核算（后续迭代）</span>

### <span class="">1.3 依赖关系</span>

- <span class="">复用 </span>`wimoor-finance`<span class=""> 现有表：</span>`fin_accounting_subjects`<span class="">、</span>`fin_vouchers`<span class="">、</span>`fin_voucher_entries`<span class="">、</span>`fin_auxiliary_*`<span class="">、</span>`fin_currency`
- <span class="">调用 </span>`wimoor-erp`<span class=""> 模块：供应商基础信息、SKU信息、仓库信息</span>
- <span class="">调用 </span>`wimoor-amazon`<span class=""> 模块：FBA库存报告数据（后续）</span>
- <span class="">调用 </span>`wimoor-admin`<span class=""> 模块：飞书多维表格连接配置（用于发票同步等）</span>

---

## <span class="">2. 数据库设计（新增表）</span>

### <span class="">2.1 采购账户表 </span>`fin_purchase_account`

<span class="">已在原文档中定义，此处补充字段说明：</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E5%AD%97%E6%AE%B5-%E7%B1%BB%E5%9E%8B-%E8%AF%B4%E6%98%8E-id-bigint-u"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">字段</span></th><th><span class="">类型</span></th><th><span class="">说明</span></th></tr></thead><tbody><tr><td>`id`</td><td><span class="">bigint unsigned</span></td><td><span class="">主键</span></td></tr><tr><td>`groupid`</td><td><span class="">bigint unsigned</span></td><td><span class="">租户ID（账套）</span></td></tr><tr><td>`account_name`</td><td><span class="">varchar(100)</span></td><td><span class="">账户名称，如“公户现金”“跨境直采”</span></td></tr><tr><td>`account_type`</td><td><span class="">tinyint</span></td><td><span class="">1-现金，2-账期</span></td></tr><tr><td>`related_subject_id`</td><td><span class="">bigint unsigned</span></td><td><span class="">对应会计科目ID（如“银行存款-浦发”）</span></td></tr><tr><td>`config_json`</td><td><span class="">json</span></td><td><span class="">完整配置：费用类型列表、归属标记、借贷科目映射、退款设置、支持的付款账户等</span></td></tr><tr><td>`is_enabled`</td><td><span class="">tinyint</span></td><td><span class="">是否启用</span></td></tr><tr><td>`created_time`</td><td><span class="">datetime</span></td><td> </td></tr><tr><td>`updated_time`</td><td><span class="">datetime</span></td><td> </td></tr></tbody></table>

</div>**<span class="">config\_json 结构示例：</span>**

<div class="md-code-block md-code-block-light" id="bkmrk-json"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">json</span></div></div></div></div></div>```
{
  "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 } }
  ]
}
```

<div class="md-code-block md-code-block-light" id="bkmrk--2"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>### <span class="">2.2 采购订单表 </span>`fin_purchase_order`

<span class="">已在原文档中定义，补充以下索引和约束：</span>

<div class="md-code-block md-code-block-light" id="bkmrk-sql"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">sql</span></div></div></div></div></div>```
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`);
```

<div class="md-code-block md-code-block-light" id="bkmrk--3"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>### <span class="">2.3 采购付款明细表 </span>`fin_purchase_payment`

<span class="">已在原文档定义，确保与 </span>`purchase_order_id`<span class=""> 和 </span>`voucher_id`<span class=""> 关联。</span>

### <span class="">2.4 供应商收款账户表 </span>`fin_supplier_bank`

<span class="">（新增）用于维护供应商的多个收款账户信息：</span>

<div class="md-code-block md-code-block-light" id="bkmrk-sql-1"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">sql</span></div></div></div></div></div>```
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='供应商收款账户';
```

<div class="md-code-block md-code-block-light" id="bkmrk--4"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>### <span class="">2.5 库存余额表 </span>`fin_warehouse_stock`

<span class="">已在原文档定义，新增 </span>`warehouse_type`<span class=""> 字段区分本地/FBA：</span>

<div class="md-code-block md-code-block-light" id="bkmrk-sql-2"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">sql</span></div></div></div></div></div>```
ALTER TABLE `fin_warehouse_stock` ADD COLUMN `warehouse_type` tinyint DEFAULT '1' COMMENT '1-本地，2-FBA';
```

<div class="md-code-block md-code-block-light" id="bkmrk--5"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>### <span class="">2.6 库存变动明细表 </span>`fin_inventory_transaction`

<span class="">已在原文档定义。</span>

### <span class="">2.7 采购发票关联表（可选）</span>

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

---

## <span class="">3. 核心业务逻辑</span>

### <span class="">3.1 采购付款凭证生成规则（完整版）</span>

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

#### <span class="">3.1.1 现金类账户付款（公户、跨境直采等）</span>

- **<span class="">付款时（采购单点击“付款”）</span>**<span class="">：</span>
    
    
    - <span class="">凭证1（付款）：</span>
        
        <div class="md-code-block md-code-block-light"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
        借：预付账款-ERP采购供应商   (供应商辅助核算)
        贷：银行存款-浦发银行(2384) / 其他货币资金-连连跨境直采
        ```
        
        <div class="md-code-block md-code-block-light"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>
    - <span class="">凭证2（在途库存）：</span>
        
        <div class="md-code-block md-code-block-light"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
        借：在途库存_XX本地仓库   (存货辅助核算)
        贷：预付账款-ERP在途发票
        ```
        
        <div class="md-code-block md-code-block-light"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>
- **<span class="">收到发票时（发票入账操作）</span>**<span class="">：</span>
    
    <div class="md-code-block md-code-block-light"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
    借：预付账款-ERP在途发票
    贷：预付账款-ERP采购供应商
    ```
    
    <div class="md-code-block md-code-block-light"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>
- **<span class="">入库时（采购单收货）</span>**<span class="">：</span>
    
    <div class="md-code-block md-code-block-light"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
    借：库存商品_XX本地仓库   (存货辅助核算)
    贷：在途库存_XX本地仓库
    ```
    
    <div class="md-code-block md-code-block-light"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>

#### <span class="">3.1.2 账期类账户付款（先采后付、公户请款等）</span>

- **<span class="">采购单点击“付款”（即发起请款）</span>**<span class="">：</span>
    
    <div class="md-code-block md-code-block-light"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
    借：预付账款-ERP采购供应商
    贷：应付账款_1688先采后付  （或应付账款_公户请款即付等）
    ```
    
    <div class="md-code-block md-code-block-light"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>
- **<span class="">在途库存确认</span>**<span class="">（同3.1.1）：</span>
    
    <div class="md-code-block md-code-block-light"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
    借：在途库存_XX本地仓库
    贷：预付账款-ERP在途发票
    ```
    
    <div class="md-code-block md-code-block-light"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>
- **<span class="">台账付款（实际还款）</span>**<span class="">：</span>
    
    
    - <span class="">借：应付账款\_1688先采后付</span>
    - <span class="">贷：银行存款-浦发 / 其他货币资金-连连跨境直采</span>
    - <span class="">若有跨境直采手续费，另加一笔：</span>
        
        <div class="md-code-block md-code-block-light"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
        借：财务费用_跨境直采
        贷：其他货币资金-连连跨境直采
        ```
        
        <div class="md-code-block md-code-block-light"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>

#### <span class="">3.1.3 退款处理</span>

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

#### <span class="">3.1.4 辅助核算要求</span>

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

---

### <span class="">3.2 移动加权平均成本计算</span>

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

**<span class="">Java 核心实现：</span>**

<div class="md-code-block md-code-block-light" id="bkmrk-java"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">java</span></div></div></div></div></div>```
@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);
    }
}
```

<div class="md-code-block md-code-block-light" id="bkmrk--8"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>**<span class="">库存余额更新（确保不反算）：</span>**

<div class="md-code-block md-code-block-light" id="bkmrk-java-1"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">java</span></div></div></div></div></div>```
@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));
}
```

<div class="md-code-block md-code-block-light" id="bkmrk--9"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>---

### <span class="">3.3 采购账户台账查询与批量付款</span>

#### <span class="">3.3.1 台账列表查询</span>

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

- <span class="">账簿、采购账户、采购订单号、SKU、供应商、收款账号</span>
- <span class="">付款状态、库存状态、发票状态</span>
- <span class="">金额字段：订单金额、请款金额（归属供应商）、已付金额、待付金额</span>
- <span class="">库存字段：库存价值、已入库价值、待入库价值</span>
- <span class="">发票字段：应开票金额、已开票金额、待开票金额</span>

**<span class="">SQL 查询核心（MyBatis XML）：</span>**

<div class="md-code-block md-code-block-light" id="bkmrk-xml"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">xml</span></div></div></div></div></div>```
<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>
```

<div class="md-code-block md-code-block-light" id="bkmrk--11"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>#### <span class="">3.3.2 台账付款操作</span>

- <span class="">前端勾选多条记录 → 调用 </span>`/api/finance/ledger/purchase-account/ledger-pay`
- <span class="">后端校验：所有记录必须属于同一个账期采购账户；必须选择现金类付款账户</span>
- <span class="">生成凭证（借贷科目按配置）并插入 </span>`fin_purchase_payment`<span class="">，更新 </span>`paid_amount`<span class=""> 和状态</span>
- <span class="">支持分摊：若付款金额与应付总额不一致，按比例分摊到尾差处理</span>

**<span class="">批量上传对账单（Excel）流程：</span>**

1. <span class="">下载模板（含列：采购订单号、SKU、应付金额、本次付款金额、费用类型）</span>
2. <span class="">用户填写后上传</span>
3. <span class="">后端解析，校验订单号有效、未超额付款</span>
4. <span class="">预览确认，用户提交</span>
5. <span class="">批量生成付款记录和凭证</span>

---

### <span class="">3.4 供应商台账与发票入账</span>

#### <span class="">3.4.1 供应商台账查询</span>

<span class="">与采购账户台账类似，但按</span>**<span class="">供应商</span>**<span class="">维度汇总，展示：</span>

- <span class="">供应商、账簿、采购订单明细</span>
- <span class="">应付/已付/待付（归属供应商）</span>
- <span class="">库存价值、已入库、待入库</span>
- <span class="">应开票、已开票、待开票</span>

#### <span class="">3.4.2 发票入账操作</span>

- <span class="">前端勾选多条未开票记录 → 选择数电发票（从发票台账中选）</span>
- <span class="">调用 </span>`/api/finance/ledger/invoice/post`
- <span class="">后端：生成凭证：</span>
    
    <div class="md-code-block md-code-block-light"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">text</span></div></div></div></div></div>```
    借：预付账款-ERP在途发票
    贷：预付账款-ERP采购供应商
    ```
    
    <div class="md-code-block md-code-block-light"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>
- <span class="">同时更新采购订单的 </span>`invoiced_amount`<span class=""> 和 </span>`status_inv`<span class="">，更新发票的 </span>`posting_status=1`<span class="">、</span>`voucher_id`
- <span class="">支持发票分摊到多条订单（按订单待开票金额比例）</span>

---

### <span class="">3.5 发票台账同步与入账</span>

#### <span class="">3.5.1 发票数据同步</span>

- <span class="">定时任务调用税局电子发票API（或从金蝶拉取），将数电发票信息写入 </span>`fin_invoice`
- <span class="">同步时，根据发票销方税号匹配内部供应商（</span>`supplier_id`<span class="">），若无法匹配则记录为“待匹配”</span>
- <span class="">同步后，发票状态默认为“正常”</span>

#### <span class="">3.5.2 发票台账查询</span>

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

#### <span class="">3.5.3 手工入账（未匹配自动入账）</span>

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

---

### <span class="">3.6 本地仓库台账（移动加权平均核算）</span>

#### <span class="">3.6.1 汇总账</span>

<span class="">按“期间 + 账簿 + SKU + 仓库”展示期初、入库、出库、期末的数量和金额。</span>

- <span class="">期初 = 上一期间期末</span>
- <span class="">入库 = 所有 </span>`PURCHASE_IN`<span class=""> 类型变动汇总</span>
- <span class="">出库 = 所有 </span>`SALE_OUT`<span class=""> 类型变动汇总</span>
- <span class="">期末 = 期初 + 入库 - 出库</span>

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

#### <span class="">3.6.2 明细账</span>

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

---

## <span class="">4. API 接口详细设计</span>

### <span class="">4.1 采购账户管理</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E6%96%B9%E6%B3%95-%E8%B7%AF%E5%BE%84-%E8%AF%B4%E6%98%8E-%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-post-%2F"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">方法</span></th><th><span class="">路径</span></th><th><span class="">说明</span></th><th><span class="">请求参数</span></th></tr></thead><tbody><tr><td><span class="">POST</span></td><td>`/api/finance/purchase/account/create`</td><td><span class="">创建采购账户</span></td><td>`PurchaseAccountSaveDTO`</td></tr><tr><td><span class="">PUT</span></td><td>`/api/finance/purchase/account/update`</td><td><span class="">更新配置</span></td><td>`PurchaseAccountUpdateDTO`</td></tr><tr><td><span class="">GET</span></td><td>`/api/finance/purchase/account/list`</td><td><span class="">查询可用账户</span></td><td>`groupid`</td></tr><tr><td><span class="">GET</span></td><td>`/api/finance/purchase/account/detail/{id}`</td><td><span class="">获取详情</span></td><td>`id`</td></tr></tbody></table>

</div>### <span class="">4.2 采购订单（会计版）</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E6%96%B9%E6%B3%95-%E8%B7%AF%E5%BE%84-%E8%AF%B4%E6%98%8E-%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-post-%2F-1"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">方法</span></th><th><span class="">路径</span></th><th><span class="">说明</span></th><th><span class="">请求参数</span></th></tr></thead><tbody><tr><td><span class="">POST</span></td><td>`/api/finance/purchase/order/create`</td><td><span class="">创建采购订单（从ERP业务单转换）</span></td><td>`PurchaseOrderSaveDTO`</td></tr><tr><td><span class="">POST</span></td><td>`/api/finance/purchase/order/pay`</td><td><span class="">付款（生成凭证）</span></td><td>`PurchasePayDTO`<span class="">（含付款账户、费用明细）</span></td></tr><tr><td><span class="">POST</span></td><td>`/api/finance/purchase/order/refund`</td><td><span class="">退款</span></td><td>`RefundDTO`</td></tr><tr><td><span class="">POST</span></td><td>`/api/finance/purchase/order/receive`</td><td><span class="">入库</span></td><td>`ReceiveDTO`<span class="">（收货数量/金额）</span></td></tr><tr><td><span class="">GET</span></td><td>`/api/finance/purchase/order/page`</td><td><span class="">订单列表</span></td><td>`PageQuery`<span class=""> + 筛选条件</span></td></tr></tbody></table>

</div>### <span class="">4.3 采购账户台账</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E6%96%B9%E6%B3%95-%E8%B7%AF%E5%BE%84-%E8%AF%B4%E6%98%8E-get-%2Fapi%2Ffi"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">方法</span></th><th><span class="">路径</span></th><th><span class="">说明</span></th></tr></thead><tbody><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/purchase/page`</td><td><span class="">台账列表（分页）</span></td></tr><tr><td><span class="">POST</span></td><td>`/api/finance/ledger/purchase/ledger-pay`</td><td><span class="">台账付款（批量）</span></td></tr><tr><td><span class="">POST</span></td><td>`/api/finance/ledger/purchase/upload-pay`</td><td><span class="">上传对账单批量付款</span></td></tr><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/purchase/statistics`</td><td><span class="">统计图表数据</span></td></tr></tbody></table>

</div>### <span class="">4.4 供应商台账</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E6%96%B9%E6%B3%95-%E8%B7%AF%E5%BE%84-%E8%AF%B4%E6%98%8E-get-%2Fapi%2Ffi-1"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">方法</span></th><th><span class="">路径</span></th><th><span class="">说明</span></th></tr></thead><tbody><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/supplier/page`</td><td><span class="">供应商台账列表</span></td></tr><tr><td><span class="">POST</span></td><td>`/api/finance/ledger/supplier/invoice-post`</td><td><span class="">发票入账</span></td></tr><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/supplier/export-uninvoiced`</td><td><span class="">导出未开票明细</span></td></tr></tbody></table>

</div>### <span class="">4.5 发票台账</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E6%96%B9%E6%B3%95-%E8%B7%AF%E5%BE%84-%E8%AF%B4%E6%98%8E-get-%2Fapi%2Ffi-2"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">方法</span></th><th><span class="">路径</span></th><th><span class="">说明</span></th></tr></thead><tbody><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/invoice/page`</td><td><span class="">发票台账列表</span></td></tr><tr><td><span class="">POST</span></td><td>`/api/finance/ledger/invoice/sync`</td><td><span class="">手动触发同步（定时任务自动）</span></td></tr><tr><td><span class="">POST</span></td><td>`/api/finance/ledger/invoice/post`</td><td><span class="">发票入账（勾选后）</span></td></tr><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/invoice/statistics`</td><td><span class="">发票统计</span></td></tr></tbody></table>

</div>### <span class="">4.6 库存台账</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E6%96%B9%E6%B3%95-%E8%B7%AF%E5%BE%84-%E8%AF%B4%E6%98%8E-get-%2Fapi%2Ffi-3"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">方法</span></th><th><span class="">路径</span></th><th><span class="">说明</span></th></tr></thead><tbody><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/stock/summary`</td><td><span class="">汇总账（按期间）</span></td></tr><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/stock/detail`</td><td><span class="">明细账（按SKU）</span></td></tr><tr><td><span class="">GET</span></td><td>`/api/finance/ledger/stock/check`</td><td><span class="">勾稽校验（与总账对比）</span></td></tr></tbody></table>

</div>---

## <span class="">5. 服务层实现要点</span>

### <span class="">5.1 采购付款服务（</span>`PurchasePaymentService`<span class="">）</span>

- <span class="">职责：处理采购单付款、退款、台账付款</span>
- <span class="">主要方法：</span>
    
    
    - `payOrder(PurchasePayDTO)`<span class="">：校验账户余额（现金类）、生成凭证、更新订单状态、更新台账</span>
    - `ledgerPay(LedgerPayDTO)`<span class="">：批量处理账期还款，支持分摊</span>
    - `refund(RefundDTO)`<span class="">：退款，生成红字凭证，更新订单状态</span>

### <span class="">5.2 库存服务（</span>`InventoryService`<span class="">）</span>

- <span class="">职责：管理库存余额、变动明细、成本计算</span>
- <span class="">主要方法：</span>
    
    
    - `onPurchaseReceive(PurchaseOrder order, ReceiveDTO)`<span class="">：入库，调用成本计算器更新库存</span>
    - `onSaleOut(SaleOutDTO)`<span class="">：销售出库，计算成本并更新库存</span>
    - `getStockSummary(String period)`<span class="">：汇总账查询</span>
    - `getStockDetail(String sku)`<span class="">：明细账查询</span>

### <span class="">5.3 发票服务（</span>`InvoiceService`<span class="">）</span>

- <span class="">职责：同步税局发票、匹配供应商、入账</span>
- <span class="">主要方法：</span>
    
    
    - `syncFromTaxAPI()`<span class="">：调用外部API拉取发票</span>
    - `matchSupplier()`<span class="">：根据税号匹配供应商</span>
    - `postInvoice(InvoicePostingDTO)`<span class="">：生成入账凭证，关联采购订单</span>

### <span class="">5.4 台账查询服务（</span>`LedgerQueryService`<span class="">）</span>

- <span class="">职责：提供采购账户、供应商、发票、库存的统一查询视图</span>
- <span class="">使用 MyBatis-Plus 分页 + 复杂SQL关联查询</span>

---

## <span class="">6. 前端页面交互设计</span>

### <span class="">6.1 采购单（会计版）页面</span>

- **<span class="">列表页</span>**<span class="">：展示订单号、SKU、供应商、金额、付款/库存/发票状态；支持筛选、排序</span>
- **<span class="">详情/操作页</span>**<span class="">：显示完整信息，提供“付款”“退款”“收货”“退货”按钮，点击弹出对应表单</span>
- **<span class="">付款表单</span>**<span class="">：选择采购账户（带出对应费用类型）、填写金额、选择供应商收款账户</span>

### <span class="">6.2 采购账户台账页面</span>

- **<span class="">筛选区</span>**<span class="">：采购账户下拉、账套、时间、状态</span>
- **<span class="">表格</span>**<span class="">：展示上述金额字段，底部汇总行</span>
- **<span class="">操作区</span>**<span class="">：“台账付款”按钮（勾选后弹出付款对话框），“导出对账单”按钮</span>
- **<span class="">图表页签</span>**<span class="">：按日期展示付款趋势图</span>

### <span class="">6.3 供应商台账页面</span>

- **<span class="">筛选区</span>**<span class="">：供应商下拉、账套、时间</span>
- **<span class="">表格</span>**<span class="">：展示应付/已付/待付、库存价值、应开票/已开票/待开票</span>
- **<span class="">操作</span>**<span class="">：“发票入账”按钮（勾选后弹出选择发票对话框）</span>

### <span class="">6.4 发票台账页面</span>

- **<span class="">筛选区</span>**<span class="">：账簿、销方、日期、入账状态</span>
- **<span class="">表格</span>**<span class="">：发票号码、金额、税额、状态</span>
- **<span class="">操作</span>**<span class="">：“同步”按钮（手动触发），“入账”按钮</span>

### <span class="">6.5 本地仓库台账</span>

- **<span class="">汇总账</span>**<span class="">：期间选择、SKU搜索，展示期初/入库/出库/期末数量和金额，提供校验标识</span>
- **<span class="">明细账</span>**<span class="">：点击SKU跳转明细，展示每笔变动，联查凭证</span>

---

## <span class="">7. 定时任务与消息队列</span>

### <span class="">7.1 定时任务（XXL-JOB）</span>

<div class="ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9" id="bkmrk-%E4%BB%BB%E5%8A%A1%E5%90%8D%E7%A7%B0-cron-%E8%AF%B4%E6%98%8E-invoice"><div class="ds-scroll-area__gutters"><div class="ds-scroll-area__horizontal-gutter">  
</div><div class="ds-scroll-area__vertical-gutter">  
</div></div><table><thead><tr><th><span class="">任务名称</span></th><th><span class="">Cron</span></th><th><span class="">说明</span></th></tr></thead><tbody><tr><td>`InvoiceSyncJob`</td><td>`0 0 2 * * ?`</td><td><span class="">同步税局发票数据</span></td></tr><tr><td>`StockCheckJob`</td><td>`0 0 3 1 * ?`</td><td><span class="">每月1号执行库存与总账勾稽校验</span></td></tr><tr><td>`AutoPostInvoiceJob`</td><td>`0 0/30 9-18 * * ?`</td><td><span class="">工作时间内自动匹配未入账发票（可选）</span></td></tr></tbody></table>

</div>### <span class="">7.2 消息队列（RabbitMQ）</span>

- <span class="">采购订单状态变更时，发送事件（如 </span>`ORDER_PAID`<span class="">、</span>`ORDER_RECEIVED`<span class="">）到 exchange，库存服务、台账服务监听更新。</span>
- <span class="">避免同步调用，提高响应速度。</span>

---

## <span class="">8. 异常处理与日志</span>

### <span class="">8.1 异常场景</span>

- <span class="">付款金额超过订单未付金额 → 提示“超额付款”</span>
- <span class="">发票金额与订单待开票金额不一致 → 提示“金额不符，请确认分摊”</span>
- <span class="">供应商未维护收款账户 → 提示“请先维护供应商收款信息”</span>
- <span class="">科目配置缺失 → 提示“采购账户科目映射不完整，请联系管理员”</span>

### <span class="">8.2 日志规范</span>

- <span class="">关键操作（付款、退款、入库、发票入账）记录 INFO 日志，包含操作人、订单号、金额</span>
- <span class="">异常堆栈记录 ERROR 日志，并发送飞书告警（通过 </span>`wimoor-common`<span class=""> 的告警组件）</span>

---

## <span class="">9. 测试策略</span>

### <span class="">9.1 单元测试（JUnit + Mockito）</span>

- <span class="">移动加权平均计算器</span>
- <span class="">凭证生成逻辑（各场景）</span>
- <span class="">分摊算法</span>

### <span class="">9.2 集成测试（@SpringBootTest + Testcontainers）</span>

- <span class="">完整流程：创建订单 → 现金付款 → 入库 → 发票入账 → 查询台账</span>
- <span class="">账期流程：创建订单 → 账期付款 → 台账付款 → 查询供应商待付</span>
- <span class="">退款流程：部分退款、全额退款（不同状态组合）</span>

### <span class="">9.3 前端测试（Vue Test Utils）</span>

- <span class="">页面渲染、表单交互、数据校验</span>

---

## <span class="">10. 部署与配置</span>

### <span class="">10.1 依赖环境</span>

- <span class="">MySQL 8.0（已有）</span>
- <span class="">Redis（用于缓存科目、辅助核算项）</span>
- <span class="">RabbitMQ（事件驱动）</span>
- <span class="">XXL-JOB（调度中心）</span>

### <span class="">10.2 配置示例（application.yml）</span>

<div class="md-code-block md-code-block-light" id="bkmrk-yaml"><div class="md-code-block-banner-wrap"><div class="md-code-block-banner md-code-block-banner-lite"><div class="_121d384"><div class="d2a24f03"><span class="d813de27">yaml</span></div></div></div></div></div>```
wimoor:
  finance:
    inventory:
      cost-method: moving_average   # 仅支持移动加权
    invoice:
      sync-api: https://api.tax.gov/invoice
      sync-cron: 0 0 2 * * ?
    ledger:
      batch-size: 1000   # 批量导入单次最大行数
```

<div class="md-code-block md-code-block-light" id="bkmrk--22"><svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg><svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div>---

## <span class="">11. 后续扩展规划</span>

- **<span class="">FBA仓库台账</span>**<span class="">：对接亚马逊库存报告，按月汇总，与本地仓库成本联动</span>
- **<span class="">关务台账</span>**<span class="">：报关单与FBA货件关联，统计出口数据</span>
- **<span class="">无票成本统计</span>**<span class="">：在利润表中增加无票成本明细</span>
- **<span class="">银行API对接</span>**<span class="">：自动获取对公账户流水，与采购账户对账</span>

---

> **<span class="">开发周期估计</span>**<span class="">：</span>
> 
> - <span class="">数据库设计与基础服务：3天</span>
> - <span class="">核心业务逻辑（凭证生成、成本计算、台账查询）：5天</span>
> - <span class="">接口开发与联调：4天</span>
> - <span class="">前端页面开发：5天</span>
> - <span class="">测试与修复：3天</span>  
>     **<span class="">总计约20人天</span>**

# 财务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 结构：**
```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 开发步骤
1. **创建实体类**：映射新增表，使用MyBatis-Plus注解，JSON字段配置TypeHandler
2. **创建Mapper接口**：继承BaseMapper，定义必要的自定义查询方法
3. **实现Service层**：
   - 创建：校验参数完整性、唯一性，保存配置JSON
   - 更新：校验是否被引用，合并配置
   - 删除：软删除或校验无引用后删除
   - 列表：支持按账套、类型筛选
4. **实现Controller层**：定义REST接口，参数校验，统一响应格式
5. **单元测试**：覆盖CRUD各场景

#### 3.1.3 接口契约

**创建采购账户**
- `POST /api/finance/purchase/account/create`
- 请求体：
```json
{
  "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`
- 请求体：
```json
{
  "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`
- 请求体：
```json
{
  "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 台账付款核心约束

1. **同账户约束**：一次付款操作，所有选中的记录必须使用同一个账期采购账户
2. **账户类型约束**：仅账期类型账户支持台账付款
3. **现金账户约束**：选中的现金账户必须在账期账户的`creditPayAccounts`配置中
4. **金额约束**：付款金额不超过各订单待付金额之和
5. **尾差处理**：按比例分摊，差额归入最后一条记录

#### 3.3.4 Excel批量上传模板

| 列名 | 类型 | 说明 | 校验规则 |
|------|------|------|---------|
| 采购订单号 | 文本 | 订单唯一标识 | 必填，存在于系统 |
| SKU | 文本 | SKU编码 | 必填，与订单匹配 |
| 应付金额 | 数字 | 订单应付金额 | 必填，≥0 |
| 本次付款金额 | 数字 | 本次实际支付 | 必填，>0，≤应付-已付 |
| 费用类型 | 文本 | 货款/运费/其他 | 必填，在配置中 |

**上传流程**：
1. 用户下载模板
2. 填写后上传
3. 系统解析并校验
4. 返回预览数据（含校验结果）
5. 用户确认后提交
6. 批量生成付款记录和凭证

#### 3.3.5 接口契约

**台账列表查询**
- `GET /api/finance/ledger/purchase/page`
- 参数：`groupid`, `accountId`, `startDate`, `endDate`, `payStatus`, `page`, `size`
- 响应：分页数据 + 汇总行（订单金额、已付金额、待付金额汇总）

**台账付款**
- `POST /api/finance/ledger/purchase/ledger-pay`
- 请求体：
```json
{
  "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 发票同步流程

1. **触发方式**：
   - 定时任务：每日凌晨2点自动执行
   - 手动触发：用户在页面点击"同步"按钮
2. **数据来源**：税局电子发票API（或金蝶接口）
3. **处理逻辑**：
   - 按日期范围拉取发票列表
   - 按发票号码去重（已存在则跳过）
   - 按销方税号匹配内部供应商（`t_erp_supplier`）
   - 匹配成功则记录`supplier_id`，否则留空
   - 写入`fin_invoice`，状态为"正常"，入账状态为"未入账"
4. **异常处理**：单条失败不影响整体，记录日志

#### 3.4.3 发票入账流程

1. **入口**：发票台账页面勾选未入账发票 → 点击"入账"
2. **或**：供应商台账页面勾选待开票记录 → 选择发票 → 提交入账
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`
- 请求体（可选）：
```json
{
  "groupid": 1001,
  "startDate": "2026-06-01",
  "endDate": "2026-06-25"
}
```
- 响应：`{ "code": 200, "data": { "success": 50, "failed": 2 } }`

**发票入账**
- `POST /api/finance/ledger/invoice/post`
- 请求体：
```json
{
  "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 移动加权平均核算规则

**核心公式：**
```
新移动单价 = (当前结存金额 + 本次入库金额) / (当前结存数量 + 本次入库数量)
出库成本 = 出库数量 × 当前移动单价
```

**重要规则：**
1. 只有采购入库（`PURCHASE_IN`）、盘盈入库（`ADJUST_IN`）会改变移动单价
2. 销售出库（`SALE_OUT`）、调拨出库（`TRANSFER_OUT`）不改变单价，仅减少数量
3. 库存余额不通过"单价×数量"反算，采用滚动加减法：
   - 新余额 = 旧余额 + 入库金额 - 出库成本
4. 单价保留4位小数，金额保留2位小数
5. 尾差处理：出库时先乘后减，避免单价反算误差

**期间核算：**
- 按月汇总，每月初从上月期末结转
- 同一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 勾稽校验逻辑

**校验目标**：库存台账的期末金额与总账中"库存商品"科目余额一致

**校验步骤**：
1. 查询指定期间内所有SKU的期末库存金额合计
2. 查询总账中"库存商品"科目（及所有子科目）的期末余额
3. 对比两者差异
4. 若差异不为零，列出差异明细（按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`
- 响应：
```json
{
  "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 迁移顺序
1. **采购账户**：手动创建历史使用的采购账户
2. **采购订单**：按时间分批迁移，每批1000条
3. **付款明细**：从ERP付款记录中提取
4. **库存余额**：从当前库存表初始化
5. **发票台账**：从税局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 结构：**
```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

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E6%89%80%E6%9C%89%E6%94%AF%E5%87%BA%E5%8F%82%E7%85%A7%E6%AD%A3%E8%A7%84%E7%9A%84%E8%B4%A2%E5%8A%A1%E7%AE%A1%E7%90%86%E6%B5%81%E7%A8%8B%3A-%E8%AF%B7%E6%AC%BE%3E">1. <div>所有支出参照正规的财务管理流程: 请款&gt;审核&gt;支付&gt;凭证</div>
    1. <div>字段齐全,包含财务报表所需要的相关对应字段(业务对应, 现金流表等)</div>
2. <div>设计好全公司的基础财务字段库, 以及可以兼容的更改方式</div>
3. <div>可以满足在这个框架下, 方便的显示公司,各个项目, 各个子公司的财务报表(业务,现金,资产等)</div>
    1. <div>类似金蝶等的财务软件, 设计基础框架后,按照设计好的流程和操作, 后续所有报表都可以系统生成</div>
4. <div>跨越使用, 平台数据+多维表格+WIMOOR+海外仓+其它OMS,WMS</div>

<div class="ace-line ace-line old-record-id-D4YgdZWR2ozgpBxzGZ6cI56Xnvh">  
</div><div class=" old-record-id-VWt1dpzYNo7zwmxY4c0cQp0BnNf" data-type="divider">---

</div>1. <div>请款</div>
    1. <div>类型有</div>
        1. <div>多维表格:</div>
            1. <div>房租 , 行政备用金, 项目备用金, 采购备用金, CFD请款总表</div>
            2. <div>台账, 月结采购和承运商,快递</div>
        2. <div>飞书审批: 个人报销 / 付款申请</div>
        3. <div>Wimoor 应用</div>

<div class="ace-line ace-line old-record-id-NmsvdyY0UokakRxx8shc1ZMhnff">  
</div><div class=" old-record-id-LeKAdm88yoXI0pxH2R1ckIdvnlb" data-type="divider">---

</div></div># 基本框架

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E4%BC%9A%E8%AE%A1%E7%A7%91%E7%9B%AE%E5%9F%BA%E6%9C%AC%E5%AD%97%E6%AE%B5%E9%85%8D%E7%BD%AE-%C2%A0%C2%A0%E9%87%91%E8%9D%B6%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%AF%86%E7%A0%81">1. <div>会计科目基本字段配置</div><div class="ace-line ace-line old-record-id-N5r7dN6tIoLlsCx1OGactHtVn9e"> 金蝶的账号密码</div><div class="ace-line ace-line old-record-id-IoOwdh7PgoWyx8xr2zCcniBTnrc"> 网址: [jdy.com](http://jdy.com) 账号：15773186733 密码：15773186733Aa@</div><div class="image-uploaded gallery old-record-id-SD6ld1XgCoxj4JxOEYjcGCfBnEg" data-ace-gallery-json="{"items":[{"uuid":"1a98774d-cf6d-429d-a506-ddabbca88980","height":1854,"width":3840,"currHeight":1854,"currWidth":3840,"natrualHeight":1854,"natrualWidth":3840,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FK3YcbPAVlocm9YxX30acw6PinFh%2F%3Fpreview_type%3D16","file_token":"K3YcbPAVlocm9YxX30acw6PinFh","image_type":"image/png","size":578587,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=YTIzY2I2MjNjMGJhYTViY2Y2YmQ0M2UzNGYwMmUzYmFfcXFJbHpjNzRRbjdpWVlRa3hqcEJqME1HOWZPMWw0WU5fVG9rZW46SzNZY2JQQVZsb2NtOVl4WDMwYWN3NlBpbkZoXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div>
    1. <div>类似金蝶等主流企业</div>
    2. <div>设置主流科目(要带编码),自定义的科目</div>
    3. <div>科目的要否 : 现金及现金等价物科目 , 非现金科目</div>
    4. <div>科目默认人民币, 可以设置其它币种. 统计余额/报表时需要转换币种</div>
    5. <div>主科目, 子科目. 可能需要三级子科目. (银行存款 - 连连星球 - 连连星球 美元 )</div>
        1. <div>多级科目, 如果统计上一级科目时, 会把本级和子一级的所有子科目一起计算</div>
    6. <div>跟三表还有明细账、总账中各个项目的关系. 便于系统自动统计报表</div>
2. <div>项目配置("账套" 配置 , 叫账套可能更贴合会计实操 )</div>
    1. <div>自定义"账套" (相当于一个公司, 或者是项目), "账套" 可以是单独的, 也可以其数据 = 自身 + 其它多个公司数据相加</div>
    2. <div>"账套" 作用是可以针对"账套"出报表, 该账套名下所有凭证的数据对应的三表</div>
    3. <div>权限设定时, 一个账套也是按权限查看,</div>
        1. <div>账套的相关凭证登记和查看, 是分开做权限</div>
    4. <div>"账套" 比如是有 FD-KQ FD-APN等, 然后再新建"账套", FD , 数据来源于 FD 加 FD-KQ 加 FD-APN</div>
    5. <div>理论上讲 , 账套 可以使用所有科目. 但是有些自定义科目,实操/逻辑上只会用于某一账套才对.</div>
3. <div>用户权限设置</div>
    1. <div>具体模块是否有查看 , 使用等的权限</div>
    2. <div>用户查看和登记的权限</div>
    3. <div>查看 相应的"公司" 数据</div>
    4. <div>登记凭证时, 登记相应的"账套", 和指定的一些科目</div>
4. <div>登记凭证</div>
    1. <div>手动登记凭证</div>
    2. <div>符合会计凭证登记原则的行业方案, 比如借贷相等, 相应科目</div>
    3. <div>凭证还需要填写"账套", 同一账套下必须有相应的借贷科目</div>
    4. <div>凭证登记人 + 凭证登记时间 + 业务时间 + 凭证登记来源</div>
5. <div>自动登记凭证配置</div>
    1. <div>凭证登记人 + 凭证登记时间 + 业务时间 + 凭证登记来源</div>
    2. <div>多维表格配置</div>
        1. <div>新增自动化配置</div>
        2. <div>绑定一个多维表格(按飞书多维表格API的要求), 字段和科目/公司/等等数据 对应</div>
        3. <div>相关限制的设定</div>
    3. <div>采购模块配置</div>
        1. <div>在采购当中付款. 即自动生成相应凭证.</div>
        2. <div>需要解决 单笔/多笔/账期/1688订单和ERP订单不一一对应等多种情况</div>
        3. <div>需要解决 多个付款渠道 等多种情况</div>
        4. <div>各种问题, 需要配置</div>
            1. <div>如果完全在ERP上操作, 需要满足各个付款方式(现金类型, 账期类型), 余额和付款明细的查看</div>
    4. <div>支付平台操作</div>
        1. <div>比如, 支付平台连连, 配置了支付平台类的现金科目, 即有相应的模块</div>
        2. <div>"连连星球余额" , 展示其子科目(各个币种) 的当前余额</div>
        3. <div>出账, 使用各个账套下的各个余额进行出账</div>
    5. <div>自动登记凭证的异常处理.</div>
        1. <div>列出异常, 手动处理</div>
        2. <div>在远程端提示存在异常</div>
6. <div>报表配置</div>
    1. <div>权限配置. 具体一个用户只能查看 指定的 "账套" + "科目" 的数据明细和结余</div>
    2. <div>  
        </div>

<div class="ace-line ace-line old-record-id-RXEmdpk0goGl3gxYzu8ccYZ4npf">  
</div><div class=" old-record-id-NzaidYMnWowRK2xQhxLcTMPinsb" data-type="divider">---

</div></div>## 实际使用的举例

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E6%89%8B%E5%8A%A8%E7%99%BB%E8%AE%B0%E5%87%AD%E8%AF%81-%E5%A1%AB%E5%86%99-%E5%85%AC%E5%8F%B8%2B%E7%A7%91%E7%9B%AE%2B%E5%80%9F%2B%E8%B4%B7%2B">1. <div>手动登记凭证</div>
    1. <div>填写 公司+科目+借+贷+金额+备注, 摘要等等内容</div>
        1. <div>凭证字收、付、转、记+号+日期 等等</div>
    
    <div class="image-uploaded gallery old-record-id-VBUwdBcmioKihgxInDccyRuxnwh" data-ace-gallery-json="{"items":[{"uuid":"11cac7fb-73a7-4f58-b7e0-356d5750d4ab","height":1854,"width":3839,"currHeight":1854,"currWidth":3839,"natrualHeight":1854,"natrualWidth":3839,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FJX0ebLGSLoqVEExH9tscublunji%2F%3Fpreview_type%3D16","file_token":"JX0ebLGSLoqVEExH9tscublunji","image_type":"image/png","size":565164,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=ODM1OTA3M2JlNDE1MGU5NzVmMGZiYjI2Y2QwMDE4Y2RfZkVIM01rN3BKaGIyVE1Wd0ptMUQzc0xnZHQwWmhyMTJfVG9rZW46SlgwZWJMR1NMb3FWRUV4SDl0c2N1Ymx1bmppXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div>
2. <div>多维表格自动登记凭证</div>
    1. <div>行政周期付款</div>
        1. <div>相应多维表格完成配置.</div>
            1. <div>在ERP上配置</div>
            2. <div>在多维表格上配置插件</div>
        2. <div>审批付款</div>
        3. <div>相应多维表格登记内容</div>
        4. <div>付款后, 在多维表格的插件(前端) , 勾选相关记录, 发送到ERP登记凭证 (这一流程需要更详细设计)</div>
        5. <div>自动对应科目</div>
            1. <div>比如这个多维表格只能用哪些 科目作为 借项, 哪些科目作为 贷项.等等.</div>
            2. <div>一般而言, 应该是 付 凭证字</div>
            3. <div>公司,日期, 金额 等由审批时的字段对应</div>
            4. <div>借项, 由审批申请人, 严格按下拉选择是哪些费用成本科目</div>
            5. <div>贷项, 由付款人出纳, 按付款的情况选择对应</div>
    2. <div>支付平台出账</div>
        1. <div>连连星球, 输入 出账金额, 摘要, 备注, 出账账套分摊或指定账套, 等, 出账操作</div>
        2. <div>会把出账金额, 由各个账套分摊. 比如要出30,000, 当前余额 FD-KQ, 50,000CNH; FD-APN, 10,000CNH. 出账扣减时, FD-KQ, 25,000, FD-APN,5,000 ,这样分摊.</div>
        3. <div>凭证就是</div>
            1. <div>连连星球 贷 FD-KQ 25000 , FD-APN 5000</div>
            2. <div>内部往来 借 FD.....</div>
        4. <div>"内部往来" 科目是用于解决, 经常出现的:某个账套需要由另一个账套的资金来支付, 同时其下的资金也常用于支付另一个账套的资金. 所以所有账套合并报表之后, 应该"内部往来" 是等于0的.</div>
3. <div>采购</div>
4. <div>工资分摊计算</div>
    1. <div>多维表格</div>
    2. <div>上传工资数据后, 按配置的规则</div>
    3. <div>计算各个账套, 应分摊的工资</div>
    4. <div>贷 , 某一账套 的 对公账号 科目</div>
    5. <div>借, 某一账套 的 人员工资/社保/公积金 科目</div>

<div class="ace-line ace-line old-record-id-LDGSdpXNboAB1Cxuam7cAiIPnMb">  
</div>5. <div>使用的有:</div>
    1. <div>飞书审批然后付款 &gt; 多维表格</div>
    2. <div>物流, 采购月结 &gt; 多维表格</div>
    3. <div>采购现金支付, 诚e赊, 跨境直采 &gt; ERP定制模块</div>
    4. <div>对公账户付款, 工资/报销 ,房租等 &gt; 多维表格</div>
    5. <div>多个支付平台付款 &gt; ERP定制模块</div>
    6. <div>请款: 单独, 项目备用金, 行政备用金, 等各种 &gt; 多维表格 / ERP手动登记凭证</div>

<div class="ace-line ace-line old-record-id-S81jdEO7ioo3ggxK1SrceqKdnVe">  
</div>6. <div>额外需求: 香港公司对应的支付, 归集所有单据</div>
    1. <div>采购</div>
    2. <div>物流</div>
    3. <div>外币支出, VAT等等</div>

<div class="ace-line ace-line old-record-id-Crt4dV8lvoryS8xXAencxyr4nhg">  
</div><div class="ace-line ace-line old-record-id-Y4Djd0ts5oS4a4x933JcGMXlnHc">  
</div><div class=" old-record-id-XKtSdwITgodt5BxCNjKcbauGnrh" data-type="divider">---

</div></div># 分步实施

## 20251016第一阶段

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E5%85%88%E5%81%9A%E4%BB%A5%E4%B8%8B%E6%A8%A1%E5%9D%97-%E4%BC%9A%E8%AE%A1%E7%A7%91%E7%9B%AE%E5%9F%BA%E6%9C%AC%E5%AD%97%E6%AE%B5%E9%85%8D%E7%BD%AE-%E8%B4%A6%E5%A5%97">1. <div>先做以下模块</div>
    1. <div>会计科目基本字段配置</div>
    2. <div>账套配置("账套" 配置 , 叫账套可能更贴合会计实操 )</div>
    3. <div>用户权限设置</div>
    4. <div>手动登记凭证</div>

<div class="ace-line ace-line old-record-id-XmZGd4d2VoKDiJxBw91cYv9WnMX">  
</div></div>### 20260225

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E4%BC%9A%E8%AE%A1%E7%9B%B8%E5%85%B3%E7%9A%84%E5%8A%9F%E8%83%BD%E5%8D%95%E7%8B%AC%E4%B8%80%E4%B8%AA%E4%B8%BB%E8%8F%9C%E5%8D%95-%3A-%E8%B4%A6%E7%B0%BF-">1. <div>**会计相关的功能单独一个主菜单 : 账簿**</div>
    1. <div>不与原有的财务主菜单同模块.</div>
    2. <div>**凭证自动生成**: 子菜单. 放各种自定义的凭证生成模板 (不能叫凭证模板, 因为 录凭证的功能里, 也有一个凭证模板的功能, 是保存好科目设置的一种简单模板)</div>
        1. <div>审核 , 免审核</div>
2. <div>**飞书联结, 从飞书到录入凭证**</div>
    1. <div>提供一套通用的方式联结飞书多维表格</div>
    2. <div>多维表格, 自定义插件</div>
    3. <div>提供飞书插件服务器,多维表格授权, 关联必要字段</div>
    4. <div>凭证自动生成 : 飞书多维表格</div>
        1. <div>可以设置多个模板,每个模板可以基于不同的底层API. 比如飞书多维表格模板, 可以设置多个,对应不同飞飞书表格</div>
3. <div>**店铺月度数据自动凭证**</div>
    1. <div>https://developer-docs.amazon.com/sp-api/docs/report-type-values-payment</div>
        1. <div>"\\192.168.0.202\合规中心公共盘\软件备份\cfd_web_app\cfd_web_app\utils\amazon_accounting.py"</div>
    2. <div>下载原始数据并保留</div>
    3. <div>对应逻辑生成凭证 (类似 金蝶的结账凭证模板设置 )</div>
        1. <div>汇率使用数据日期当天的 外币对人民币的中间价</div>
            1. <div>[mp.weixin.qq.com](https://mp.weixin.qq.com/s/j0mms7AkWDf4ZzXeb5bTnQ)</div>
        2. <div>凭证从营业收入, 到 应收账款(亚马逊平台店铺) , 不需要涉及连连收款(后续其它模板涉及)</div>
    4. <div>凭证自动生成 : 亚马逊交易数据月度报告</div>
4. <div>其它台账结构构思</div>
    1. <div>发票台账 (月结,账期,诚e赊,关联付款订单) (金蝶, 发票管理模块)</div>
    2. <div>进销存台账(进销存系统) (https://www.kingdee.com/product/stellar_inventory.html)</div>
    3. <div>广告发票台账(https://advertising.amazon.com/API/docs/en-us/billing#tag/Billing-Documents)</div>

<div class="ace-line ace-line old-record-id-UZXzd4lA0o7ilUxp02EcB3wVngf">  
</div><div class=" old-record-id-ZGr6dmCb1oWHkQxiv4KcUo7InRJ" data-type="divider">---

</div><div class="ace-line ace-line old-record-id-VOgidTJPTodxPuxlhcEcy68Gnyb">  
</div><div class="ace-line ace-line old-record-id-UEBqdthtAoYzylxag4icAQehnUf">**凭证自动生成:**</div>1. <div>联接飞书多维表格</div>
2. <div>亚马逊销售数据期间汇总</div>
    1. <div>数据:</div>
        1. <div>最佳实践: 使用settlement report 按照回款的时间入账分录, 并且 数据与 payment report, excel和pdf完美匹配 (亚马逊 Date Range 报告 / 结算单)</div>
        2. <div>次选,使用payment report,按月入账. API &gt; 人工</div>
        3. <div>最差: 使用settlement report, 与payment report不一致</div>
        4. <div>英国 GMT+1.</div>
        5. <div>时区问题 202602</div>
            1. <div>根据PDF的时区处理数据</div>
            2. <div>可以使用settlement report的数据来处理, 必须要保证数据来源的时区原始数据, 再处理</div>
    2. <div>科目设置</div>
        1. <div>除了已确定的</div>
        2. <div>还需更改:</div>
            1. <div>提现时, 提到 应收款项 _ 亚马逊平台转出未入账 USD CAD EUR GBP</div>
            2. <div>增值税?</div>
3. <div>结账</div>
    1. <div>期末调汇</div>
    2. <div>结转销售成本</div>
    3. <div>结转利润</div>

<div class="ace-line ace-line old-record-id-I2phdqv7pot7rLxZmzGc62w9nDe">  
</div><div class="ace-line ace-line old-record-id-Gi9Hd1unVohH5UxAT09cjeXonLf">  
</div></div>### 20260303 损益科目红字

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E6%8D%9F%E7%9B%8A%E7%A7%91%E7%9B%AE%2C-%E4%B8%8D%E8%83%BD%E8%AE%B0%E5%80%9F%E6%96%B9%E8%93%9D%E5%AD%97%2C-%E8%AE%B0%E8%B4%B7%E6%96%B9%E7%BA%A2%E5%AD%97"><div class="ace-line ace-line old-record-id-Wqr0dgfTEoSulrxa922cXbxlnKh">  
</div><div class="ace-line ace-line old-record-id-UmLhdXBAvohbIjxQGWmcvWjPnBh">损益科目, 不能记借方蓝字, 记贷方红字.</div><div class="ace-line ace-line old-record-id-NiGGdAa5QoTI6wxSAb0c1raZnYc">否则利润表与明细账对不上</div><div class="ace-line ace-line old-record-id-ABccdG2YSoNBGrxHVexczM9UnFd">  
</div><div class="ace-line ace-line old-record-id-OznId6NVLopVmHxej8ncbEmhnsb">  
</div><div class=" old-record-id-TrbYdcTifoc9HgxwXuGc2DTznKg" data-type="divider">---

</div></div>## 202511029 需求补充 : 备忘记录

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E5%87%AD%E8%AF%81%E5%AF%B9%E5%BA%94%E7%9A%84%E9%99%84%E4%BB%B6-%E4%B8%8A%E4%BC%A0-1688%E9%87%87%E8%B4%AD%E7%9A%84%E5%87%AD%E8%AF%81">1. <div>凭证对应的附件 上传</div>
2. <div>1688采购的凭证, 如何加进去?</div>
    1. <div>采购</div>
3. <div>导出. 报表和明细的功能</div>
4. <div>账表.</div>

<div class=" old-record-id-FWchdyvH0o9Karxo8VHcUq7tnyf" data-type="divider">---

</div></div>### 20251108 需求 备忘

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E8%BD%AF%E4%BB%B6%E4%BF%A1%E6%81%AF%E7%B3%BB%E7%BB%9F%E7%9A%84%E9%87%8D%E6%9E%84-%E9%92%88%E5%AF%B9%E5%85%AC%E5%8F%B8%2C%E5%8D%95%E4%B8%AA%E5%BA%97%E9%93%BA%E7%9A%84">1. <div>软件信息系统的重构</div>
    1. <div>针对公司,单个店铺的维度</div>
        1. <div>涵盖 业务. 采购,物流,销售,财务统计</div>
        2. <div>重点新增会计内容.</div>
            1. <div>各个业务点的票据和业务截图. 的保存</div>
        3. <div>财务记账模块</div>
            1. <div>专业的会计账表</div>
    2. <div>同时能灵活应用到多个店铺, 多个运营, 多个功能性主体</div>
        1. <div>可以做到</div>
            1. <div>既能分开查看: 满足合规要求. 实现业务实质复现</div>
            2. <div>又能合并查看: 满足集团层面的查账, 比对等需求</div>
            3. <div>又能方便地记录: 满足实操中业务的便捷</div>
        2. <div>想法</div>
            1. <div>底层, 是分开独立的. 各个公司 (包括店铺,运营,采购,香港主体等以公司为单位), 单账号单密码</div>
            2. <div>操作层面</div>
                1. <div>通过账号关联 &gt; 业务授权的模式</div>
                2. <div>类似 代运营的方式</div>
                3. <div>比如: 个别操作, 单账号某人, 可以上传附件/创建单据, 是涉及多个公司的情况</div>
2. <div>尤其重视合规的要求</div>
    1. <div>可能需要非常多的地方 留存文档: 图片, excel , pdf, zip 等媒体资料附件 , 非常重要</div>
        1. <div>媒体存留服务器, 至少双备, 可冷备, 本地备份</div>
        2. <div>加密.</div>
        3. <div>附件的日期, 命名, 关联凭证, 等等必要信息</div>
    2. <div>多个核心的业务点, 要有相应的 "四票一致, 业务留痕" 的OA上的操作要求</div>
        1. <div>合同 (账单)</div>
        2. <div>发票</div>
        3. <div>物流凭证 (轨迹, 货物流)</div>
        4. <div>付款凭证 (资金流)</div>
        5. <div>业务沟通记录</div>
    3. <div>会记凭证. 所有凭证都要用对应的附件, 佐证四票一致,业务留痕</div>
        1. <div>非常重要: 当需要核查时, 可以按公司单独账号来登录, 只能查看公司单独的</div>
        2. <div>有些属于业务上的, 尤其是库存的会计凭证, 考虑怎么快速记, 才方便</div>
            1. <div>采购, 入库, 出库, 在途, 等等. 业务单据 &gt; 会计凭证</div>
        3. <div>店铺公司的平台费用</div>
            1. <div>最好自动下载 / 手动下载 留存 (按文件存放, 凭证的附件)</div>
            2. <div>月度</div>
                1. <div>明细数据(excel / pdf ) transaction</div>
                2. <div>月度数据 , summary</div>
    4. <div>除了, 会记凭证, 其它核心的业务点, 也一样要求上传, 保留一些票据</div>
        1. <div>针对公司层面: 合同, 备案, 等等</div>
        2. <div>物流: 物流单证</div>
3. <div>**建立 “库存 - 发票” 一体化管理系统 结转成本**</div>
    1. <div>用 ERP 系统记录每批次库存的采购时间、发票号、金额、税额</div>
    2. <div>出库时自动关联对应采购批次，生成成本结转凭证，确保账实相符</div>
    3. <div>**定期库存盘点 + 差异调整**</div>
    4. <div>每月末进行库存盘点，出具盘点报告，调整账实差异</div>
    5. <div>年度终了进行全面盘点，确保库存数据准确，为所得税汇算清缴提供依据</div>
    6. <div>**凭证归档标准化**</div>
    7. <div>按 “采购合同→付款凭证→进项发票→入库单→出库单→销售订单→物流单” 的顺序归档</div>
    8. <div>电子档案与纸质档案同步保存，保存期限不少于 10 年</div>

<div class="ace-line ace-line old-record-id-HbDld1sOXo5Uhnxnh03cfXGTnqe">  
</div><div class="ace-line ace-line old-record-id-HddOd5N5kopKbTxTP1LcU3qOnZe">  
</div></div>## 20260311开发计划草拟

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E9%80%9A%E8%83%80%E5%8A%9F%E8%83%BD-%E5%87%AD%E8%AF%81%E5%AE%A1%E6%A0%B8.-%28%E5%87%AD%E8%AF%81%E7%8A%B6%E6%80%81-%3E-%E5%AE%A1">1. <div>通胀功能</div>
    1. <div>凭证审核. (凭证状态 &gt; 审核, 尤其是自动生成的)</div>
    
    <div class="image-uploaded gallery old-record-id-C782dzCBTowsjRxG5rPcxOpMnme" data-ace-gallery-json="{"items":[{"uuid":"b8990469-ec66-441b-94df-24ec72a5a138","height":736,"width":2462,"currHeight":736,"currWidth":2462,"natrualHeight":736,"natrualWidth":2462,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FOVd2bsRtwoOimxxTW7pckVuanJf%2F%3Fpreview_type%3D16","file_token":"OVd2bsRtwoOimxxTW7pckVuanJf","image_type":"image/png","size":222653,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=NTZiZGMzYjkyNGVlYTM0ZjBiM2M2NzcyM2VjZmE5YjNfRWhqQUY0SzMxMjdibDd3SG4zc0FXNW93a2hmZEtZOE1fVG9rZW46T1ZkMmJzUnR3b09pbXh4VFc3cGNrVnVhbkpmXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div><div class="image-uploaded gallery old-record-id-XSrFdlGcSobZk7xrKQOcKFsVnrd" data-ace-gallery-json="{"items":[{"uuid":"89c79217-528c-4ec8-8bc7-d34dc0c1bd1a","height":861,"width":2464,"currHeight":861,"currWidth":2464,"natrualHeight":861,"natrualWidth":2464,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FGIGJbyrDDoPEHWxcrFfchS6TnYb%2F%3Fpreview_type%3D16","file_token":"GIGJbyrDDoPEHWxcrFfchS6TnYb","image_type":"image/png","size":208532,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=ZmU5NjRmYjk1NjQyMzU2NGQ2YzUwMDY2ZmM3ZTgwNmNfWmQ4YkUwelBKQ2lDSjBjQ0tuR3l3QU9VMU5RRHp2a2hfVG9rZW46R0lHSmJ5ckREb1BFSFd4Y3JGZmNoUzZUblliXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div><div class="image-uploaded gallery old-record-id-DDJldI3weow3hwxuUtTcVV3dnpc" data-ace-gallery-json="{"items":[{"uuid":"a53be30b-bb0f-4134-bff4-2176d576c6ea","height":886,"width":2336,"currHeight":886,"currWidth":2336,"natrualHeight":886,"natrualWidth":2336,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FIx8lbF5O1o9acPxVeLWcbWx8n4g%2F%3Fpreview_type%3D16","file_token":"Ix8lbF5O1o9acPxVeLWcbWx8n4g","image_type":"image/png","size":285304,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=N2FlMDI4Njc4NjNiMDg4MDNiZThkYmI2OGZiNDI2ZjZfSGNuaE8wYmZMNWNrbVlrSkJiMzZIUlNaVklWUDJmdGhfVG9rZW46SXg4bGJGNU8xbzlhY1B4VmVMV2NiV3g4bjRnXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div><div class="ace-line ace-line old-record-id-POIOdmMcjoZxxTxANXKc83dDnOg">  
    </div>

<div><table class="ace-table" data-ace-table-col-widths="76;266;441;243"><colgroup><col width="76"></col><col width="266"></col><col width="441"></col><col width="243"></col></colgroup><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HbZLdlseTosjppxMMWmcNUKrnEg">**计划最晚上线时间**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OhZtdtK1no6iBhxp69Sc8mTXngc">**模块功能拟放的位置**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KoYCdwhPmocbttx3u53c19ISnFd">**详细功能**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OrBIdnbPTorDBvx7b7IcjRlon8g">**备注**</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Gn4xdP4GMognXKxXo5ocT2Vbnud">202603</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Kpy7dQjeqoM1qNxB3bscz9Vwnvf">账簿-结账-期末处理-新增自定义模板-亚马逊月度营业数据</div><div class="ace-line ace-line old-record-id-GJmidfTYfouUKLxxm3NcviTjncd">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-T6X9d7uXsoLUgHxrIJNcb2HAnab">按科目,引用数据,按模板设置生成亚马逊的月度营业数据</div><div class="ace-line ace-line old-record-id-Ibnadjo8boCNchxmbxcceHvwnKI">数据源: 按国家</div><div class="ace-line ace-line old-record-id-MYLudykmLo0q96xmgIVcANBLnEh">凭证备注设置</div><div class="ace-line ace-line old-record-id-NmUWdt6GmovwZHxz2Nkc2cI3nDe">汇率: 对应币种按原币记录 + 对账簿对应的本位币的汇率按亚马逊报送中国税局的要求, 订单每日的中间币外管局的价牌.</div><div class="ace-line ace-line old-record-id-GIUMdKvLMoztwcxI8C7ciexcnFg">**凭证日期: 需要设置为对应数据月份.(凭证日期很重要,涉及数据的账期归属)**</div><div class="ace-line ace-line old-record-id-JTDkd1ev3ovwapxb68gcG1IenXZ">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OMaKdTwxXooONQxdejncFUginrg">后续进一步增加: 月度PDF作为凭证附件.</div><div class="ace-line ace-line old-record-id-K2gydaCR6o5f5oxXTuHcPszvnBe">  
</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VTxYd0VkNovvfhxMEhdc5SJTnHg">202604</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YSyodxYoqoHyN8xeVBNcY35ln3d">账簿-凭证-导入凭证 ;</div><div class="ace-line ace-line old-record-id-X7nNdS6GhoH54CxiXfMcTYDgn2d">导出凭证 &gt; 更改 &gt; 导入批量更改</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-I8JAdcLAco8TzQxo01lcgAOpnwc">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-B5jndD00BoI1nGxjEr3c2qtzn1c">可以导入. 导出可以放到明细账,设定成导入的格式.</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-S3pPd279Zof6F6xOwWQcKr9RnsT">202604</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VR4gd1sD0oScLhxC7Agc1Jt5nyc">**账簿-结账-期末处理-新增自定义模板-飞书多维表格数据连接**</div><div class="ace-line ace-line old-record-id-DaUAdyOPVoJtQGxIpzCcvAdpnNc">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DzEDduUUiovUHwxeul1cUixYn0f">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TAgMda3XJo2qyJxhY7acLNdYnxd">自动连接飞书的数据, 多维表格的数据可以直接按配置好的模板, 生成凭证.</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ya2wdP7dkoHFYZx0uuvcN47Vnbf">202605</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EUBHdfDIfo9jOfxJCKscY1Yjncg">明细账</div><div class="ace-line ace-line old-record-id-G8JkdgE7EoqQtQxHI8Qc3n3CnKh">总账</div><div class="ace-line ace-line old-record-id-ZsG8d42XfooySpxWLKcczYWAnvh">科目余额表</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UsqOdGCc3otwj7xXxrUcWJJEnge">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SLdZdhjiSoaZ4qxlVaZcQVmsnqe">复制金蝶的大部分前端逻辑. 方便查找核对.</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LF1adwx55o3472xa6vCcOZAynpe">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-P9hXdh0h4oduJdxXGELcEpVlnnf"><div><div>财务报表:</div><div><div class="ace-line ace-line old-record-id-T8nPdbX3Zo5KpDxFJn5cpaiYn6f"> 资产负债表, 利润表, 现金流表</div></div></div></div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Di46dGflgoYoIYx0QaMcokqWnAf">重要: 利润表, 增加一个功能, 可选择显示或隐藏,各项成本项目的占总营业收入的比例</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JMFsd1wYsovvLAxA9shceRrXnue">  
</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EbqfdWGg9olHftxEzTwc3b3Un8d">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HBHwdzdn9oQernxth1FcR1z1nVp">现行采购模块 &gt; 自动记账</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-S5hvdQOFbo6KiBxD6uIcBumRnad">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PfH9drVl3orsNgxTydqcZ9nDnTh">  
</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JAgadC9XJonhonxO24pcvWD8nna">202605</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HHQrdh9nPoRgnrxAf2PcX7rknmb">账簿 - 台账 - 进销存</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WcGodQ6QxoGahkxh39wcbKuLnMh">凭证字号. 入, 出, 采 , 进, 销 等等</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ENpddWSa6opuTVxyKgEcFGT8nng">  
</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-O3XbdAjisoWhk9xvYJWcb1x9nAb">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GuyIdh7x5oX9KGxhK2Ccw3eJnMd">结账 - 期末处理 :</div><div class="ace-line ace-line old-record-id-GMcLdv5ezoMrWax4IYUcS1dmn2g">调汇 + <s>结转</s> + 损益</div><div class="ace-line ace-line old-record-id-Z77Jdbi80oMhrexwMOnckdJQnlU">税务相关</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RhbRdsBb8oMBcGxsPcqcMuG9ngg">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HYdIdqCrFoHDj0xmqvoch3tjnBc">  
</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TeYMdq7OxoE6twxtoP7cIuzpn4c">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PxU5dwFREobdyhxSUeUczVBTnoC">结账 - 结账</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TBQWduTCEoC41JxdvhzcZ3f0nef">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-A0I8dSuykoVsvuxqZIlckDfcnve">  
</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SvfWdApm1o2RsFxC3tEcWE35nRf">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ThBEdHXsXop6N6xvgdlcmE8rnpd">账簿 - 台账 - 发票</div><div class="ace-line ace-line old-record-id-JZwNdgPXeom1Q0xbhVzciPIsnbd">  
</div><div class="ace-line ace-line old-record-id-C11RdFUjVopqUrxrC2Cc2VoPnYe">供应商台账</div><div class="ace-line ace-line old-record-id-QJuMdkduCot0ILxsqqnco3eHnTf">采购/物流 对账单 &lt;&gt; 发票 台账</div><div class="ace-line ace-line old-record-id-FzJldGTP9oN1j5xZjU1cASUZnnf">  
</div><div class="ace-line ace-line old-record-id-QkccdK7kqombatxiAo2cUrXRnGf">采购账户台账</div><div class="ace-line ace-line old-record-id-ULjQdND7DouCuzxt45jctMlKngg">余额/对账,账期还款对账单(批量支付,还款),</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YLXVdlmzho0J6sxtIkycyZlEn0c">发票 &lt;&gt; 付款全链条关联查询:</div><div class="ace-line ace-line old-record-id-GInZd1eF4oFouAxiTPfcotPznuq">发票-采购订单-付款-税-供应商...出口.退税等等</div><div class="ace-line ace-line old-record-id-KIted8WLaoi7g4xaT9LcwjFpnDb">发票-报销-付款-货物等等</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AiUWdm3SCoQ2PdxBF2qcmrUonnh">亚马逊等境外发票 + 境内发票</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-B6BCd6IopoxC1wxVVXzcJ8iunKf">202609</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JS3pdb4xFot1Acxrle1cJCe5nfe"><div><div>离境业务流的会计凭证</div><div><div class="ace-line ace-line old-record-id-Hr6xdgEUjoBmhxx5pAgcxtonnHg"> 代收款项/划转</div><div class="ace-line ace-line old-record-id-G0CJdEc6cozJAgx1lpxcrwdfnLh"> 信用卡广告 等等</div></div></div></div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XVKzdSl0yoLtT6xpn4vcWhgjnsc">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PgqKd1OISo5qU3xxHmhcG42Gnqd">凭证 &lt;&gt; 附件</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VZMtd9iRmonKokxJUuJchu7CntA">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KwP0dUhJBo4r3ux4yzmcuLxbnde">税务报表参考报税数据</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Zd3cd1ePgo945Kx9aw1cfWEGnYc">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ur9gdJRzbom1XNxblO3cBkLmnMg">  
</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vgf6dx4YmoCurkxyBx4cltREnJe">后续</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ryi7d4Ze7ol44mxLHkcceTXinKf">员工收入台账</div><div class="ace-line ace-line old-record-id-E7NddaSgdowP3ex5yaLcL8QInMg">  
</div><div class="ace-line ace-line old-record-id-IbuIdTDE8ooPdsxLgzpc91B9nhc">其它平台对接</div><div class="ace-line ace-line old-record-id-QBc9dSmKyoxtwuxX0Qvc4uC4nkf">  
</div><div class="ace-line ace-line old-record-id-Q0QWdCuDcovkRnxI5ZHcm9A9nLf">应付款项 - 台账</div><div class="ace-line ace-line old-record-id-HIzkdnquYooAxVxKK8Qc6giMnig">资金流分析等</div><div class="ace-line ace-line old-record-id-M6CpdPlKLoO01BxK7kNcp08fnDi">非亚马逊平台类的销售端+库存 的接入</div><div class="ace-line ace-line old-record-id-RIosdwq92o2TJVx1nXkcB6eHnPf">连连台账(香港公司的明细?)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NTVLdKdpAof0AkxmAsgcW9q9npg">  
</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZIsld0dC2oMFeuxam6nc3ROvngd">  
</div></td></tr></tbody></table>

</div><div class="ace-line ace-line old-record-id-ILdhdEVwNos4oyxwGNSc2tzsnKd"><div><div>**需求草稿**</div><div>1. <div>飞书多维表格的连接</div>

</div></div></div><div><table class="ace-table" data-ace-table-col-widths="245;356;425"><colgroup><col width="245"></col><col width="356"></col><col width="425"></col></colgroup><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NhxNdrURGor7bTxFqCocj0yKn6e">**表格**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-R2o0dV13Nowozvx4JnkcivkbnKd">**需求简介**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZJhJdwskIon1jmxCCXnc0ohrneg">**可能的方案**</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EKmpd6RK8ovHwExsA0xcGHv1nad">工资</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LLPrdGrmJo8PECxiMpkc0248nKe">一张表格,多家公司账薄,涉及固定的科目和格式</div><div class="ace-line ace-line old-record-id-YPjudtp8Fo2sFkx8ZA0cd7NhnOh">  
</div></td><td colspan="1" rowspan="1">1. <div>需要前端插件. 手动更新数据后, 手动确认&gt;发送&gt;ERP后台生成凭证</div>
2. <div>ERP配置:</div>
    1. <div>新建模板,名称</div>
    2. <div>多维表格连接配置</div>
        1. <div>输入多维表格 token等&gt; 拉取字段结构</div>
    3. <div>凭证参数配置</div>
        1. <div>凭证字号: 单独设置以区分(尤其是预计凭证多的时候)</div>
        2. <div>  
            </div>
        3. <div>制单人</div>
        4. <div>凭证备注, 等</div>
    4. <div>多维表格记录筛选配置</div>
        1. <div>完全复制多维表格的'筛选'功能</div>
    5. <div>凭证分录配置规则</div>
        1. <div>备注说明: 每条符合筛选条件的记录对应一对'借贷平衡'的凭证分录.</div>
        2. <div>账簿</div>
        3. <div>凭证日期</div>
        4. <div>借方科目配置</div>
            1. <div>当'字段',等于/包含/不等于, XX , 时</div>
            2. <div>科目 单选/多选, 为 XX/XX</div>
                1. <div>多选时, 即需要前端确认</div>
            3. <div>(本位币) 金额 , 为 '字段'</div>
            4. <div>如果是外币科目</div>
                1. <div>货币</div>
                2. <div>汇率</div>
                3. <div>原币金额</div>
        5. <div>贷方科目配置</div>
            1. <div>同上</div>
        6. <div>  
            </div>
    6. <div>其它:</div>
        1. <div>筛选条件的数量, 最大为多少个? 1,2个?</div>
        2. <div>是否需要前端确认</div>
            1. <div>分录的科目, 如果是多选. 则必须前端处理, 手动发送.</div>
3. <div>ERP收到返回处理</div>
    1. <div>后台给多维表格生成处理标记(时间+凭证号?)</div>
    2. <div>"异常"处理</div>
    3. <div>凭证要有地方可以反查数据来源(比如备注等)</div>

</td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VpdMdTgbCombI4x3PLvcMKXinTh">请款申请</div><div class="ace-line ace-line old-record-id-MnZadDnskoHLh6xU2dcc8BBmnJf">对内报销 , 对外支付, VAT支付</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IuafdLvoSoRAcNxNtsgcawadnLg">飞书审批同步数据</div><div class="ace-line ace-line old-record-id-HIh3dZWNtoxdhMxAAaqcl44JnSh">  
</div></td><td colspan="1" rowspan="1">1. <div>前端确认. 或者加入财务审批细点. 自动生成, 审批完成后?但有风险. 报销可能科目太多?</div>
2. <div>采用手动确认.</div>

</td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WupIdBt0loIRKtxRHM5cNcVqnjh">单一业务清晰的表格</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ToXcdAGjgo9Owzxi0y2cPSkOnig">VAT支付</div></td><td colspan="1" rowspan="1">1. <div>需要实现全自动流程(或者是免审流程)</div>
    1. <div>新旧数据比对? 如何避免重复?</div>

</td></tr></tbody></table>

</div><div class="ace-line ace-line old-record-id-LPMZdpInmoTNDuxtRAdcplzmnCh">  
</div></div>### 20260401 亚马逊月度营业数据: PDF数据项目对应科目

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%22%5C%5C192.168.0.202%5C%E5%90%88%E8%A7%84%E4%B8%AD"><div class="ace-line ace-line old-record-id-CyHzdyIKKovC50xTPbBcciX5nEc">"\\192.168.0.202\合规中心公共盘\合规中心专用\效率工具处理专用\平台数据月度记账\PDF数据项目对应科目.xlsx"</div><div class="ace-line ace-line old-record-id-NbqJdWscQoRZ3Dx2vp7cwpIdnvd">  
</div><div class="ace-line ace-line old-record-id-Lx9bdBl2IoOAPvx7nvFcYEb6nCg">  
</div></div>## 202604 进销存

### 功能需求

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-erp%E5%85%A8%E6%B5%81%E7%A8%8B%E6%94%AF%E6%8C%81%3A-%E9%87%87%E8%B4%AD%3E%E4%BB%98%E6%AC%BE%3E%E7%BB%93%E4%BD%99%E6%9F%A5%E8%B4%A6">1. <div>ERP全流程支持: 采购&gt;付款&gt;结余查账&gt;入库&gt;库内操作&gt;转库&gt;销售出库&gt;其它出库, 操作和凭证生成</div>
    1. <div>先做, 采购 到 出库. 暂不做库内操作的结转到库存价值.</div>
    2. <div>库存价值, 先进先出,加权平均. 先只对应采购环节分摊.</div>
2. <div>采购账户可以分成 现金或者账期类型的. 现金是没有负余额,账期是赊账支付,有负额(欠), 需要还款</div>
3. <div>支持账期, 一笔付款&gt;多笔订单, 能关联得上(操作要便捷)</div>
    1. <div>账期, 一笔付款&gt;多个订单</div>
    2. <div>先采后付, 还款, 一笔跨境直采还 &gt; 多个跨ERP订单 ;</div>
4. <div>支持多个ERP账号,共用一个账户, 额度, 如跨境直采. 具体明细数据/权限/一笔付款多笔订单等等, 怎么做需要细化</div>
5. <div>现金类型, 银行账户,浦发, 的台账, 考虑支持ERP自身的记录, 和 银行拉取的数据</div>
6. <div>SKU-库位-库存 : 从采购 &gt; 入库 &gt; 出库, 都要按唯一账簿做归属.</div>

<div class="ace-line ace-line old-record-id-AMIUd4MB8oZPybxLHkRc1tWEn1f">  
</div></div>### 进销存 台账, 发票台账,设计重点

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E8%AE%BE%E7%BD%AE%E5%AF%B9%E5%BA%94%E5%90%84%E4%B8%AA%E7%8E%AF%E8%8A%82%E8%BF%9B%E9%94%80%E5%AD%98%E7%9A%84%E4%BC%9A%E8%AE%A1%E7%A7%91%E7%9B%AE%2C-%E5%BC%80%E5%8F%91">1. <div>设置对应各个环节进销存的会计科目,</div>
    1. <div>开发会计科目的辅助核算功能, 供应商 + 存货 , 可以一并加上 部门等</div>
2. <div>采购账户的台账: 账期,付款时的订单对应 , 对账单 ,</div>
    1. <div>支持上传 账期-对账单 : 订单明细 + 金额明细</div>
    2. <div>单一笔的付款金额 &gt; 对账单 &gt; 凭证</div>
    3. <div>跨境直采 支付 先采后付的情况</div>
        1. <div>1688自行分配 付款 与 订单的关系.</div>
        2. <div>需要支持上传 对账单(包含 ERP订单+金额明细等, + 1688订单 + 跨境直采服务费 总额/分摊 )</div>
    4. <div>预留, 与发票台账的 一一对应的接口,</div>
        1. <div>ERP订单 &gt; 付款单 &gt; 发票 , 多对多对应</div>
3. <div>**采购ERP操作 细节**</div>
    1. <div>ERP采购订单 : SKU : 供应商 : 1688订单 : 款项记录 = 1 : N : 1 : N : N</div>
        1. <div>SKU : 账簿 = 1 : 1</div>
        2. <div>所有对应关系, 双边可查. 比如订单能查到对应账项 ; 某笔款项也能查到对应订单</div>
    2. <div>订单款项记录 :</div>
        1. <div>订单下多个SKU可能属于不同账簿, 需要按款项进行分摊. 每个订单 分摊操作/按钮? 自动分摊?</div>
        2. <div>问题: 当前费用类型 (货款 , 运费 , 货款(包含运费) , 跨境直采手续费, 其它费用等), 有很多费用,跟对应订单下的供应商没有关系, 如果使用账期账户, 到时账户的台账, 应还金额就会对不上?</div>
        3. <div>待细化:</div>
            1. <div>将订单层面的款项记录, 只限定在 与订单下供应商一致相关的,</div>
            2. <div>将其它类型的款项, 如 运费/跨境直采手续费等与供应商不相关的, 另外在 账户的台账下, 使用批量关联的方式登记</div>
                1. <div>对于跨境直采, 在ERP订单款项记录里一并登记, 操作效率会更好, 批量操作的方式,需要拆/合并,不好使用?</div>
            3. <div>对于运费:</div>
                1. <div>重点看是直接采购使用采购账户付出去? 还是请款/另行支付. 采购账户付出去, 就需要直接对应生成凭证. 请款/另行支付, 就需要会计出纳-台账 操作</div>
                2. <div>如果是直接支付的情况. ERP订单操作, 需要单独有 对应支付到非该供应商的 款项记录?</div>
            4. <div>采购环节当前节点疑问</div>
                1. <div>保证: 付款金额(分供应商和其它人) - 入库库存价值 - 发票 一定金额对得上. 不然有些科目会有差额</div>
                2. <div>每笔款,都要对应到入库前的库存价值.</div>
                    1. <div>货款, 运费, 服务费. 有些非供应商层级的是否考虑不需要对到到库存价值</div>
                    2. <div>但如果是账期, 都需要对到 供应商层级</div>
                    3. <div>肯定都要对应到 , 店铺/账簿 层级</div>
                3. <div>是不是全部采购,都有对应的ERP订单? 月结,耗材等等, 对应相应入库</div>
                4. <div>支付ERP采购订单时, 有哪些非供应商的款项记录需要登? 走直付/账期/月结/还有没有其它</div>
                5. <div>运费类型, 有哪些支付方式? 还有其它相关费用项目吗</div>
                6. <div>先采后付, 还款时, 还款款项,能不能对应上1688订单, 对应上ERP订单+SKU? 有没有其它费用</div>
                    1. <div>跨境直采, 还先采后付的情况呢</div>
                7. <div>跨境直采, 支付. 服务费, 登记办法.</div>
                    1. <div>借 财务费用</div>
                8. <div>批量支付: 通过账户台账, 对账单 ,功能, 批量支付+关联ERP订单+</div>
                9. <div>付款 和 取得发票的 两个环节的会计凭证</div>
                10. <div>退款退货, 换货, 退款不退货,退货不退款, 部分退货 等情形</div>
                    1. <div>还有使用A付款了, B来退款或者其它的情形</div>
                11. <div>付款 , 入库, 发票的先后. 有没有先发生入库, 再去付款等的情形?</div>
                12. <div>如果创建订单时, 不做凭证, 就没有待付款的统计项? 需不需要</div>
                13. <div>事后需要更改的情况多不多? 填错了, 少填了? 与实际付款的不一致的情况</div>

<div class="ace-line ace-line old-record-id-Ayr2dM5mkoD9pnxbzc6chqhan1x">  
</div></div>### 设计思路

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E7%8E%B0%E9%87%91%E6%B5%81-%E5%92%8C-%E5%BA%93%E5%AD%98-%E5%92%8C-%E5%8F%91%E7%A5%A8-%E4%B8%89%E4%B8%AA%E7%8E%AF%E8%8A%82%E5%88%86%E5%88%AB">1. <div>现金流 和 库存 和 发票 三个环节分别独立. 凭证与台账之前双向可互查</div>
    1. <div>ERP创建订单时, 不生成凭证.不影响任何会计环节. 待收货,待付款等等</div>
        1. <div>或者只做对应采购人员知晓的 各家供应商待处理订单等业务分析页面</div>
    2. <div>付款时 (采购账户台账)</div>
        1. <div>凭证可能通过某条属性,查到对应的采购订单 + 对应在采购账户台账里的明细 + 供应商台账应收应付(发票) 等</div>
        2. <div>现金流凭证: 借 预付账款-对方, 贷 采购账户</div>
            1. <div>采购订单: 凭证号 (或者是在凭证里,记上 采购订单号 ,辅助核算或是额外的属性或是格式化的摘要. 需要考虑后续 (一个凭证明细的会计科目,有没有可能对应多个采购订单号,导致数据不好存储?) )</div>
            2. <div>采购账户台账: 凭证号</div>
            3. <div>供应商台账: 凭证号</div>
            4. <div>凭证的其它属性: 供应商(会计科目的辅助核算属性) + SKU(辅助核算属性)</div>
        3. <div>库存凭证: 借 在途库存, 贷 应付账款-对方</div>
            1. <div>ERP采购单号 + 供应商(辅助核算属性) + SKU(辅助核算属性)</div>
    3. <div>收到发票时 (发票台账)</div>
        1. <div>发票凭证: 借 应付账款-对方, 借 应交税费 (不出口退税无), 贷 预付账款-对方</div>
        2. <div>相当于预设,发票先到库存后到(发票金额先确认,库存价值跟着发票金额)</div>
            1. <div>如果三项不一致的情况, 比如库存先到/发票后到, 发票金额与实际支付金额不一致 / 退款结转到后续付款订单 / 其它渠道退款回来以其它方式入账 等等</div>
                1. <div>理论上讲需要按发票金额入库存价值</div>
                2. <div>操作办法? 红字冲销重做 / 差额挂在 预付账款 / 退款</div>
    4. <div>入库时 (库存台账)</div>
        1. <div>库存凭证: 借 商品库存, 贷 在途库存</div>
        
        ```
        ```
        
        <div>支付采购订单时: 借 预付账款-ERP采购供应商, 贷 货币资金—浦发银行(2384)采购货款待结算 借 在途库存, 贷 预付账款-ERP在途发票 (公账作为支付时,有另行的飞书审批生成凭证) 出纳付款后,飞书多维表格生成凭证 借 货币资金—浦发银行(2384)采购货款待结算, 贷 货币资金—浦发银行(2384) 收到发票时: 借 预付账款-ERP在途发票, 贷 预付账款-ERP采购供应商 收到库存入库时: 借 库存商品, 贷 在途库存</div>```
        ```
2. <div>采购</div>
    1. <div>采购账户设置</div>
        1. <div>账户类型</div>
            1. <div>现金类型</div>
                1. <div>对公账户绑定设置状态</div>
            2. <div>账期类型</div>
        2. <div>激活状态</div>
        3. <div>跨账户共享设置</div>
        4. <div>是否启用采购对应的会计科目.</div>
            1. <div>是否启用现金流凭证, 如果不扣款/不计账户余额可能就不需要(比如 对公账户, 多个环节扣款+ERP没有联通银行API)</div>
            2. <div>是否启用库存凭证</div>
            3. <div>账户是否有服务费: 需要对应设定会计科目</div>
        5. <div>对应台账相关设置</div>
        6. <div>  
            </div>
    2. <div>款项分摊设置</div>
3. <div>采购模块会计功能, 启用.</div>
    1. <div>区别于现有的采购模块, 另行单独的模块对接</div>
    2. <div>启用后,或者新的页面, 或者旧的页面里对接新的会计功能</div>
4. <div>采购订单</div>
    1. <div>是否需要改成按ERP订单操作, 当前是按订单+SKU操作</div>
        1. <div>采购订单, 登记款项 时; 强制对应 SKU来分摊. 分摊的明细, 要在前端同步显示.</div>
    2. <div>采购订单输入时, 要输入 账户支付单号/银行流水单号等类型的 账户支付单据编号</div>
        1. <div>存入凭证特点位置, 用于 将 现金流凭证 - ERP订单 - 账户台账 对应</div>
5. <div>台账的作用</div>
    1. <div>主要有</div>
        1. <div>供应商台账: 使用辅助核算,对应 应收, 应付, 预付 等</div>
        2. <div>采购账户台账: 账户收支明细; 批量付款(对账单); 余额对账</div>
            1. <div>账簿(当前/全部) &gt; 供应商 &gt; 科目 &gt; 时间范围</div>
            2. <div>结账: 针对日进行结账, 结账后, 该日期及以前的数据不可更改</div>
            3. <div>设定允许更改时间: 在结账前, 多少天内的数据允许更改 ( 采购订单的付款明细 操作)</div>
        3. <div>发票台账: 发票的明细,余额; 应收; 发票对账,状态; 未入账发票/已入账发票 等等</div>
        4. <div>库存台账</div>
        
        <div class="ace-line ace-line old-record-id-E5Z5dakNBoeeafxwhgucjrEonGe"> 台账 :</div>
        1. <div>账户台账</div>
            1. <div>主要解决: 对账(余额和明细), 账期付款的问题</div>
            2. <div>现金</div>
            3. <div>账期</div>
                1. <div>支持跨ERP余额 对账 / 对账单付款 / 结账</div>
            4. <div>余额查询 , 明细列表(对应订单等,订单辅助核算)</div>
        2. <div>(采购/物流)供应商台账 (设置好相应的会计科目对应)</div>
            1. <div>主要解决: 发票和库存,待入的问题.</div>
            2. <div>筛选科目, 对应科目计算, 按照供应商辅助核算数据, 得出相应科目(相应科目, 对应应收发票, 应付款, 应收库存)下的 明细, 期初, 期末, 发生额</div>
            3. <div>提供, 对账单下载, <s>对账单付款(款项操作设定在账户台账处理)</s>, 发票入账 的功能.</div>
            4. <div>支持一个供应商(ID,简称) : 维护多个收款账号(发票抬头公司,付款号码) : 只能默认1个,停用,启用</div>
        3. <div>发票 台账</div>
            1. <div>主要解决: 发票一一对应, 状态, 正确凭证入账查询的问题</div>
            2. <div>计划使用金蝶 拉取发票数据,API,</div>
            3. <div>覆盖统计, 进项、销项、红字、作废 ; 查询 发票数据, 如 开票人, 类型 等等</div>
            4. <div>匹配 采购供应商发票入账, (后续)物流供应商发票入账, 飞书审批的发票入账, 等等</div>
            5. <div>确认, 区分已入账, 和未入账发票</div>
            6. <div>我们只有收票端, 一般不开票. 应该对于需要开票的统计, 应开未开票 - 客户 这一类的,暂时少</div>
            7. <div>等等, 这一块需要进一步细化, 实质也是基于 凭证,各种辅助核算的功能来开发应用.</div>
        
        <div class="ace-line ace-line old-record-id-YZVrde6fXooykhxcvhsckAVhnae"> </div>
    2. <div>账户台账, 账期类型. 启用台账批量付款功能</div>
        1. <div>在台账页面, 上传 对账单 &gt; 完成付款 &gt; 生成台账明细 , 对应ERP订单明细金额等, 对应凭证</div>
            1. <div>先前逐步支付, 跟正常账户支付同样的逻辑:</div>
            
            ```
            ```
            
            <div>支付采购订单时: 借 预付账款-ERP采购供应商, 贷 其他货币资金—账期结算户 借 在途库存, 贷 预付账款-ERP在途发票 收到发票时: 借 预付账款-ERP在途发票, 贷 预付账款-ERP采购供应商 收到库存入库时: 借 库存商品, 贷 在途库存</div>```
            ```
            
            
            1. <div>现在批量还款: 借 其他货币资金—账期结算户, 贷 采购账户</div>
            2. <div>供应商(或 + 采购订单)的辅助核算, 所以要求这个凭证要按供应商 (+采购订单) 的字段分明细(对账单格式设计)</div>
    3. <div>账户台账, 带有服务费的类型. 启用台账批量付款功能</div>
        1. <div>直接支付时, 跟正常账户支付类似的逻辑:</div>
        
        ```
        ```
        
        <div>支付采购订单时: 借 预付账款-采购供应商, 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 借 财务费用_跨境直采 , 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 借 在途库存, 贷 应付账款-对方 收到发票时: 借 应付账款-对方 , 贷 预付账款-对方 收到库存入库时: 借 库存商品, 贷 在途库存</div>```
        ```
        
        
        1. <div>批量支付偿还账期类账户时:</div>
            1. <div>借 其他货币资金—账期结算户, 贷 其他货币资金_连连国际等-跨境直采待结算_CNH 借 财务费用_跨境直采 , 贷 其他货币资金_连连国际等-跨境直采待结算_CNH</div>
    4. <div>(采购, 物流)供应商台账,</div>
        1. <div>依据凭证里, 会计科目的供应商辅助核算的数据生成, 供应商的 款项,发票,库存 的应付明细和余额数据.</div>
        2. <div>多个供应商,同一个功能页面, 按供应商筛选</div>
        3. <div>设置多种类型, 比如 预付账款 - 采购供应商 , 这个科目下的, 表示 对应待收的供应商发票</div>
        4. <div>只有发票, 存在需要在台账, 登记 生成凭证</div>
            1. <div>发票,对账单, 凭证上: 关联采购订单 等辅助核算</div>
            2. <div>对于在使用发票入账时(收到发票时, 要做的凭证), 如果是税要记为进项的时候应该,</div>
            
            ```
            ```
            
            <div>支付采购订单时: 借 预付账款-对方, 贷 其他货币资金—账期结算户 借 在途库存, 贷 应付账款-对方 原记法,收到发票时: 借 应付账款-对方 , 贷 预付账款-对方 需要退税,需要抵扣,收到发票时 1）先红字冲销原来先行预估登记的 借：在途库存, 贷：应付账款-对方 2）按实际发票金额正式入账 (不再使用'应付'科目) 借：在途库存 借：应交税费 - 应交增值税（进项税额） 贷：预付账款-对方</div>```
            ```
6. <div>相关设置</div>
    1. <div>采购时, 个别无法通过平台确认账簿的SKU, 支持在采购订单, 手动指定/分别分摊 对应账簿?</div>
        1. <div>固定, 还是全部都能手动指定?</div>
        2. <div>基于此, 导致 台账的查看, 是否需要支持 "当前账簿" , "全部账簿" 的(就这两个选择就行, 肯定不能支持逐个账簿筛选), 以便于对比数据 !</div>
            1. <div>不但是跨账簿的问题, 个别还有跨ERP的,比如跨境直采的数据(只支持在主ERP里显示全部?)</div>
    2. <div>对于ERP自动生的凭证,设置专用的会计科目(区别于其它渠道录的凭证)并启用相关的辅助核算</div>
        1. <div>应付账款-ERP采购供应商</div>
        2. <div>预付账款-ERP采购供应商</div>
        3. <div>其他货币资金-(相应采购账户)</div>
        4. <div>在途库存-ERP采购</div>

<div class="ace-line ace-line old-record-id-T3r5dJyqpoe8SSxeqR1ct4AZn8b">  
</div></div>### 20260523

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E8%B4%A2%E5%8A%A1erp%E4%BC%9A%E8%AE%A1%E6%A8%A1%E5%9D%97-%E8%BF%9B%E9%94%80%E5%AD%98"><div class="ace-line ace-line old-record-id-H4PPd0pbbomLJixOwt4cxHCEnJc"><span class="mention-link_https%3A%2F%2Fx2ni3u3y40.feishu.cn%2Fdocx%2FTPMydRRAeoZ7K9xd6FHcn7UqnId mention-token_TPMydRRAeoZ7K9xd6FHcn7UqnId mention-type_22 mention-uuid_BadaTetq7UWC-1" data-inline-type="mention_doc">[财务ERP会计模块-进销存](https://x2ni3u3y40.feishu.cn/docx/TPMydRRAeoZ7K9xd6FHcn7UqnId)</span></div><div class="ace-line ace-line old-record-id-RrxYdfYcjoSAJNxRLASceBOznZb">  
</div></div>## 20260422 发票台账

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E6%95%B0%E7%94%B5%E5%8F%91%E7%A5%A8---%E6%95%B0%E7%94%B5%E5%8F%91%E7%A5%A8%E5%8F%B7%E7%A0%81%E7%AE%A1%E7%90%86-%E5%AF%B9%E5%BA%94%E5%AE%A2%E6%88%B7">1. <div>数电发票 - 数电发票号码管理</div>
    1. <div>对应客户</div>
    2. <div>凭证</div>
    3. <div>合同</div>
2. <div>三方API ,中税创新,金蝶等 &gt; 爬虫 &gt; 乐企</div>
    1. <div>暂时先用金蝶?</div>
3. <div>飞书审批</div>
    1. <div>审批 &gt; 付款 &gt; 发票</div>
        1. <div>付款 , 对应 付款的会计凭证</div>
        2. <div>借 预付款 - XXX ; 贷 现金类</div>
        3. <div>预付款 - xxx : 建立台账页面,需要相应详情</div>
    2. <div>收到发票</div>
        1. <div>多维表格审批,填写发票号 &lt;&gt; 对应后台获取的发票号, 支持多张</div>
        2. <div>借 XX费用 ; 贷 预付款 - XXX</div>
    3. <div>发票未获取, 发票台账, 显示 待收发票? 需要进一步细化</div>
    4. <div>发票获取, 对应 付款 + 原凭证</div>
4. <div>设计 - 会计科目</div>
    1. <div>在发票台账设置, 哪个会计科目的哪个辅助核算, 借贷方, 对应 发票出具方 + 欠多少发票额 + 已给哪些发票 等</div>
    2. <div>比如: 设置 预付账款_ERP采购供应商 (ERP物流供应商,等等), 在凭证中,这个科目放, 借方, 就是对应的供应商需要欠的发票 ; 在贷方, 就是对应供应商已给的发票</div>

<div class="ace-line ace-line old-record-id-OIUJdWNEUoT9CQxEbOpcq3AOnFd">  
</div></div>## 2026604 对公账户余额数据

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-https%3A%2F%2Fopen.spdb.co">1. <div>https://open.spdb.com.cn/develop/</div>

<div class="ace-line ace-line old-record-id-HhgWdTnBVog6rCxlSyPcj8b1neu">  
</div><div class="ace-line ace-line old-record-id-ShZBdvejDoWyaqxPiw9cqVEsnBS">满足需求:</div>1. <div>台账: 查询账明细流水</div>
2. <div>采购: 付款关联</div>
3. <div>发票: 进项发票关联付款单</div>

<div class="ace-line ace-line old-record-id-A8R4dMoW1oeZ08xT4djcmeNZnwb">  
</div></div>## 202605 采购模块扩展改进

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E9%9C%80%E8%A6%81%E5%8C%85%E5%90%AB%E7%9A%84%E5%86%85%E5%AE%B9-%E6%94%AF%E4%BB%98%E6%96%B9%E5%BC%8F%2F%E6%94%AF%E4%BB%98%E8%B4%A6%E6%88%B7%2F%E5%8D%A1-"><div class="ace-line ace-line old-record-id-Lg2hdzZpAoFQHExXthAcHdOjnQf">需要包含的内容</div>1. <div>支付方式/支付账户/卡 :</div>
    1. <div>现金类型, 还是贷记,赊账支付类型</div>
    2. <div>对应 会计科目 绑定关系.</div>
2. <div>跨境直采问题</div>
3. <div>1688先采后付</div>
    1. <div>使用跨境直采, 批量还款时,</div>
    2. <div>跨境直采的服务费</div>
        1. <div>分摊问题.</div>
        2. <div>实际金额是多少的问题 (连连下载的明细是1688订单总的金额,不按SKU细分 ; ERP登记的是按SKU细分)</div>

<div class="ace-line ace-line old-record-id-OR3idQvYvoQJRHx8KBTc0tafn1f">  
</div></div>## 20260612 系统优化需求

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E6%9F%A5%E5%87%AD%E8%AF%81-%E6%95%B0%E5%80%BC%E6%A0%BC%E5%BC%8F%E5%8C%96%2C%E5%8D%83%E5%88%86%E4%BD%8D2%E5%B0%8F%E6%95%B0%E7%82%B9-%E5%87%AD%E8%AF%81">1. <div>查凭证</div>
    1. <div>数值格式化,千分位2小数点</div>
    2. <div>凭证字号,摘要, 支持模糊查询</div>
    3. <div>支持 凭证备注 模糊查询</div>
    4. <div>制单人, 选项查询</div>
    5. <div>来源模块 (手工录入, 结账-模板类型 , ... )</div>
    6. <div>支持, 显示原币: 币列,汇率,原币借方(贷方)金额</div>
    7. <div>凭证可自主选择显示相应的科目</div>
    
    <div class="image-uploaded gallery old-record-id-MiSfdysrpoznn6xsteicxmXEnWr" data-ace-gallery-json="{"items":[{"uuid":"39c47bd0-fcf1-4d96-9246-9486dc0c4d10","height":303.5869565217391,"width":190,"currHeight":303.5869565217391,"currWidth":190,"natrualHeight":441,"natrualWidth":276,"pluginName":"imageUpload","scale":0.6884057971014492,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FRobEb1gmxo79cGxieaDcPc8znLf%2F%3Fpreview_type%3D16","file_token":"RobEb1gmxo79cGxieaDcPc8znLf","image_type":"image/png","size":20637,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=OTJjMjY5Nzk2NWRjOTMxZTQ3ZjQ1MGZkYzA2N2UwNzdfb3ZHSE52VW9WSzZ6bXRjQ09IOWphZ0IxVm1CSVhBQzRfVG9rZW46Um9iRWIxZ214bzc5Y0d4aWVhRGNQYzh6bkxmXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div>
    1. <div>支持 会计科目 输入搜索, 模糊输入+返回选项+选择选项搜索.</div>
        1. <div>会计科目,名称全局统一, 所有地方都要如此显示, 其它模块亦如此</div>
            1. <div>编码 一级名称_二级名称_三级名称, 示例: 10120201 其他货币资金_第三方平台-连连_加元户</div>
    2. <div>凭证日期/凭证字号排序：两者都需要排序按钮</div>
    
    <div class="image-uploaded gallery old-record-id-MGe8dQmXRo8lTBxH44Ic3sSgnAd" data-ace-gallery-json="{"items":[{"uuid":"db03ee99-64d4-4978-ba26-4fd4a8203878","height":183,"width":417,"currHeight":183,"currWidth":417,"natrualHeight":183,"natrualWidth":417,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FUOmrb0uRSopenExauZgcuRNTnAe%2F%3Fpreview_type%3D16","file_token":"UOmrb0uRSopenExauZgcuRNTnAe","image_type":"image/png","size":7471,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=NjkxYzIzM2Q4M2UwYzJhMGE5MTgwNTMwYjQ0NTdlNjFfRG03a3BoTTh3ZlZJVVB2SUMxN1pnUHNVWlhwNmdibWFfVG9rZW46VU9tcmIwdVJTb3BlbkV4YXVaZ2N1Uk5UbkFlXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div>
2. <div>明细账:</div>
    1. <div>数值格式化,千分位2小数点 ;</div>
    2. <div>不需要: 凭证编号 摘要 的搜索 (业务逻辑不存在需要这个搜索)</div>
    3. <div>支持 会计科目 输入搜索, 模糊输入+返回选项+选择选项搜索.</div>
    4. <div>支持选择 显示/不显示原币相关列 : 币列,汇率,原币借方(贷方)金额</div>
    5. <div>凭证创建时间不需要, (此页面是报表的类型, 非报表相关的列,编辑/审核/操作流程相关的列此处没有参考意义)</div>
3. <div>科目余额表</div>
    1. <div>科目编码+科目名称 的搜索 改为 支持 会计科目 输入搜索</div>
    2. <div>科目的折叠展开,hover,提高触发范围 (现在范围太小,鼠标很难点中)</div>
    3. <div>不需要 科目级别, 科目类别 列</div>
    4. <div>支持外币:</div>
        1. <div>提供币位单选项,默认是 本位币(XXX)</div>
        2. <div>选择了其它非本位币,</div>
        3. <div>二级表头 借方, 贷方 , 各自改为 借方(原币/本位币), 贷方(原币/本位币)</div>
        4. <div>可以在 原来本位币的单元格, 加高行高, 分开写两行. 上行原币金额, 下行本位币金额. 或者再做其它设计. 避免整个表格列太宽,不好阅读.</div>
        
        <div class="image-uploaded gallery old-record-id-Abecd8jk4oFTjkx9Xx5czuSXnph" data-ace-gallery-json="{"items":[{"uuid":"543db0bc-7405-4529-8f72-05a9e652fa99","height":422,"width":1885,"currHeight":422,"currWidth":1885,"natrualHeight":422,"natrualWidth":1885,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FCVSlbncSWoYaCDxj5Fycvawvn45%2F%3Fpreview_type%3D16","file_token":"CVSlbncSWoYaCDxj5Fycvawvn45","image_type":"image/png","size":90227,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=M2I1OWMyNGZjOWE2YTFkZjhjMmIxNDE4Yzg5ZWY3NDJfdWdRd3hSWjFKNTFsdVNHd0NCMVQzM0ttTlQ4UXF2YnBfVG9rZW46Q1ZTbGJuY1NXb1lhQ0R4ajVGeWN2YXd2bjQ1XzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div>
4. <div>报表项目</div>
    1. <div>这几个菜单/页面名称, 都需要按会计统一的名称, XXX表, 不是XX报告</div>
    2. <div>平衡/不平衡提示：</div>
    
    <div class="image-uploaded gallery" data-ace-gallery-json="{"items":[{"uuid":"49fc930a-b6ea-4ee6-a72c-744dfee11923","height":126.77061150156514,"width":706.2934069372915,"currHeight":126.77061150156514,"currWidth":706.2934069372915,"natrualHeight":77,"natrualWidth":429,"pluginName":"imageUpload","scale":1.6463715779424044,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FNqUFbWiFFoufZIxBkICc8eVenQc%2F%3Fpreview_type%3D16","file_token":"NqUFbWiFFoufZIxBkICc8eVenQc","image_type":"image/png","size":6318,"comments":[]},{"uuid":"17692047-8015-48c5-8942-33703f39af29","height":126.68685287649782,"width":753.7065930627085,"currHeight":126.68685287649782,"currWidth":753.7065930627085,"natrualHeight":79,"natrualWidth":470,"pluginName":"imageUpload","scale":1.6036310490695926,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FZw2tbkk1UowvayxKxjWcdW4fnrd%2F%3Fpreview_type%3D16","file_token":"Zw2tbkk1UowvayxKxjWcdW4fnrd","image_type":"image/png","size":6804,"comments":[]}]}">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=NmJjMTgyOWFiZGU3ZjQ4NGE1ZDdmNzk3MDg1NWJkZTBfSHAyRThndURueUx3aVBMeW0zaXFNR1R2c1ZLanI2MzNfVG9rZW46TnFVRmJXaUZGb3VmWkl4QmtJQ2M4ZVZlblFjXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=ZGVkOThjNjMyMGMzODZkZjAyNDMzMTdhMTM1ZTcxNDFfMDZYZ0NhUmFaVGlaUFNQcjJYT0hFZ2xyV2Y5dmNwVHJfVG9rZW46WncydGJrazFVb3d2YXl4S3hqV2NkVzRmbnJkXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div><div class=" old-record-id-LMH5dPd1xo7WXCxZtNMc2IUxnPh" data-type="grid">  
    </div>
    1. <div>利润表</div>
        1. <div>数据: 没有按 报表模板 设定的公式, 相应计算各项目金额. 成本全部都没有</div>
        2. <div>设计: 支持 月度,季度,年度</div>
        3. <div>新增列: 本年累计金额</div>
        4. <div>模板设置: 项目名称, 要与金蝶的项目名称完全一致.</div>
    2. <div>资产负债表</div>
        1. <div>数据问题</div>
        2. <div>模板设置: 项目名称等问题</div>
        3. <div>本期金额,不需要, 这是发生额,不符合报表要以核算余额为目标的逻辑.</div>
        4. <div>新增列: 期末余额, 年初余额. 对比可以按期末余额为基准对比</div>
    3. <div>标准现金流量表</div>
        1. <div>数据问题</div>
        2. <div>模板设置: 项目名称, 要与金蝶的项目名称完全一致.</div>
        3. <div>设计: 支持 月度,季度</div>
        4. <div>本期金额, 这列后新增 , 本年累计金额</div>
        5. <div>提供试算平衡结果. 平衡/不平衡的话,提供相关解释,具体数据</div>
    4. <div>所有者权益变动报告</div>
        1. <div>只需要支持年度</div>
        2. <div>这个用处不大.可以以后深化.</div>
5. <div>结账</div>
    1. <div>亚马逊月度模板</div>
    2. <div>多维表格：</div>
        1. <div>公户支付明细 / 第三方支付明细</div>
            1. <div>需要改为支付时,按条输入. 将 应付登记 / 付款登记 分开.</div>
    3. <div>会计科目-映射配置：加一个导入及导入模版</div>
    
    <div class="image-uploaded gallery old-record-id-VWu2dcSZQo5hiJxHAZkc37gVnDw" data-ace-gallery-json="{"items":[{"uuid":"3857b211-1aa1-4912-b369-01be1f14b2c7","height":193.04123711340205,"width":350,"currHeight":193.04123711340205,"currWidth":350,"natrualHeight":321,"natrualWidth":582,"pluginName":"imageUpload","scale":0.6013745704467354,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FQHy8b3HfSoWLPYxSq8Dc3NcLnhc%2F%3Fpreview_type%3D16","file_token":"QHy8b3HfSoWLPYxSq8Dc3NcLnhc","image_type":"image/jpeg","size":56500,"comments":[]}]}" data-type="image">![](https://x2ni3u3y40.feishu.cn/space/api/box/stream/download/asynccode/?code=Y2Q3NjVkYmVmYTg4MTAxNGU3OTA5MDM4NmQ1ZjI4YTFfeHd1NVVKRWxLekp3YXNkRmw1SlhpWU1NUW9OMFJGOVhfVG9rZW46UUh5OGIzSGZTb1dMUFl4U3E4RGMzTmNMbmhjXzE3ODM2NDk5ODY6MTc4MzY1MzU4Nl9WNA&add_watermark=true&scene_type=CCM)</div>
6. <div>登记问题</div>
    1. <div>所有凭证都没有按<span class="mention-link_https%3A%2F%2Fx2ni3u3y40.feishu.cn%2Fdocx%2FLCdEdjjAkobRboxvC1ScgcGnn20%23share-QWEQd4V15o829yxlxqIcl5LBntf mention-token_LCdEdjjAkobRboxvC1ScgcGnn20 mention-type_22 mention-uuid_YO3OIvgLVvj0-3 mention-custom-icon-info_%7B%22type%22%3A0%2C%22key%22%3A%22%22%2C%22obj_type%22%3A22%2C%22file_type%22%3Anull%2C%22token%22%3A%22LCdEdjjAkobRboxvC1ScgcGnn20%22%2C%22version%22%3A3965%7D" data-inline-type="mention_doc">[财务 - 会计工作内容](https://x2ni3u3y40.feishu.cn/docx/LCdEdjjAkobRboxvC1ScgcGnn20#share-QWEQd4V15o829yxlxqIcl5LBntf)</span>的设计科目来登记</div>
        1. <div><span class="mention-link_https%3A%2F%2Fx2ni3u3y40.feishu.cn%2Fdocx%2FLCdEdjjAkobRboxvC1ScgcGnn20%23share-DtDLdmcZJoscfNxBoCucyElZnNf mention-token_LCdEdjjAkobRboxvC1ScgcGnn20 mention-type_22 mention-uuid_xNWtFcm9wvzS-2 mention-custom-icon-info_%7B%22type%22%3A0%2C%22key%22%3A%22%22%2C%22obj_type%22%3A22%2C%22file_type%22%3Anull%2C%22token%22%3A%22LCdEdjjAkobRboxvC1ScgcGnn20%22%2C%22version%22%3A3965%7D" data-inline-type="mention_doc">[财务 - 会计工作内容](https://x2ni3u3y40.feishu.cn/docx/LCdEdjjAkobRboxvC1ScgcGnn20#share-DtDLdmcZJoscfNxBoCucyElZnNf)</span></div>
        2. <div>公账回款等, 付的和回的,科目不对;</div>
        3. <div>凭证日期, 对应业务日期;</div>
        4. <div>摘要,简要明了.</div>
    2. <div>凭证字号,对应主要业务统一规则</div>
        1. <div>平台数据月度.主营收入支出</div>
        2. <div>手工录入</div>
        3. <div>飞书多维表格自动录入</div>
        4. <div>三方平台代收代付,付款和划转, 对账单</div>
        5. <div>进销存, 系统生成 (采购,月结对账单,入库,库存调整)</div>
7. <div>会计科目的命名问题</div>
    1. <div>要符合<span class="mention-link_https%3A%2F%2Fx2ni3u3y40.feishu.cn%2Fdocx%2FXXgVdPs8pobAM1xDY9dcxxKknTh%23share-VB5DdwKS7oOL9DxnEbtcZJsInze mention-token_XXgVdPs8pobAM1xDY9dcxxKknTh mention-type_22 mention-uuid_5XIbPeNCKAWi-4 mention-custom-icon-info_%7B%22type%22%3A0%2C%22key%22%3A%22%22%2C%22obj_type%22%3A22%2C%22file_type%22%3Anull%2C%22token%22%3A%22XXgVdPs8pobAM1xDY9dcxxKknTh%22%2C%22version%22%3A15746%7D" data-inline-type="mention_doc">[公司2025 - 财务及海关 ERP设计方案](https://x2ni3u3y40.feishu.cn/docx/XXgVdPs8pobAM1xDY9dcxxKknTh#share-VB5DdwKS7oOL9DxnEbtcZJsInze)</span>这个系统显示的会计科目的逻辑, 不要用_下划线,会与系统的以_分隔不同级别的科目有冲突.</div>

</div>## 20260618 进销存模块梳理(采购模块,台账)

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E5%89%8D%E7%AB%AF%E9%A1%B5%E9%9D%A2%3A-%E8%B4%A6%E7%B0%BF-%3E-%E9%85%8D%E7%BD%AE-%3E-%E8%BF%9B%E9%94%80%E5%AD%98%E9%85%8D">1. ### 前端页面: 账簿 &gt; 配置 &gt; 进销存配置
    
    <div>
    1. <div>在账簿的模块下, 每个账簿独立单独配置</div>
    2. <div>会计版本的进销存, 启用与禁用</div>
        1. <div>启用后数据转为使用新版的 采购单(会计版)</div>
        2. <div>包括生成的采购单等等</div>
        3. <div>暂不考虑增值税退税/抵扣的问题.基于 出口不退税/无国内销售/无销项发票的情况</div>
    3. <div>采购账户配置</div>
        1. <div>维护可用的采购账户及其属性</div>
        2. <div>用于在"采购单(会计版)", 付款时选择采购账户以及生成相应的凭证</div>
        3. <div>相应地启用该采购账户对应的"采购账户台账"</div>
        4. <div>采购账户配置:</div>
            1. <div>采购账户名称</div>
            2. <div>账户类型: 分为"现金", "账期"</div>
                1. <div>现金: 指在采购单付款时, 就实际发生扣款的账户.(采购同步另行操作或者API对接实现同步扣款)</div>
                2. <div>账期: 指在采购单付款时, 没有实际发生扣款,产生了应付, 相当于采购的付款操作等于发起采购的请款. 在相应的采购账户台账里处理这个请款的实际支付.</div>
            3. <div>账户关联:</div>
                1. <div>将本采购账户, 与其它账簿(跨ERP,跨账簿)的采购账户进行关联 (需要 账户类型 完全一致)</div>
                2. <div>关联后, 数据可以在本ERP账号的 采购台账 下查看关联的采购账户的明细数据.</div>
            4. <div>支付费用类型: 该种采购账户, 能支付的费用类型. 在"采购单"里付款时,选择该采购账户, 能支持选择的费用类型</div>
                1. <div>费用类型, 比如"货款", "包装费用" 等等, 由用户自定义,</div>
                2. <div>每个 费用类型, 分为 "归属供应商款项" 和 "非供应商款项", 需要用户设置</div>
                3. <div>只有"归属供应商款项" ,计入供应商相关的付款汇总.</div>
            5. <div>采购单付款,各种费用类型,对应的借贷方科目:</div>
                1. <div>指定采购单付款页面,相应生成的凭证的借贷方科目</div>
                2. <div>每一笔付款明细, 对应一对借贷科目</div>
                3. <div>需要支持,配置该采购账户支持的各种的"费用类型", 可以指定不同借贷方科目</div>
            6. <div>采购账户台账付款借贷方科目:</div>
                1. <div>只有"账期"类的账户类型,需要这个设置.</div>
                2. <div>现金类(已完成实际支付)的不需要在"采购账户台账"有台账付款功能.</div>
                3. <div>指定在"采购账户台账", 台账付款 操作时, 相应生成的凭证的借贷方科目</div>
                4. <div>支持配置该"账期"类采购账户, 用以给它最终实际付款的现金类"采购账户"(已经创建的现金类采购账户, 可以配置多个)</div>
                5. <div>配置该账期采购账户的对应支持的各个现金类"采购账户", 相应指定不同借贷方科目</div>
            7. <div>采购账户退款设置</div>
                1. <div>退款设置, 对应的 费用类型 + 对应的借贷科目</div>
                2. <div>默认 借贷科目 为 已经设置好的费用类型,正常付款时的借贷科目<span class="mention-link_https%3A%2F%2Fx2ni3u3y40.feishu.cn%2Fdocx%2FXXgVdPs8pobAM1xDY9dcxxKknTh%23share-WPu9dqESTo3fQbxlSFocWVYOn6d mention-token_XXgVdPs8pobAM1xDY9dcxxKknTh mention-type_22 mention-uuid_4AY0JsqvrOJx-5 mention-custom-icon-info_%7B%22type%22%3A0%2C%22key%22%3A%22%22%2C%22obj_type%22%3A22%2C%22file_type%22%3Anull%2C%22token%22%3A%22XXgVdPs8pobAM1xDY9dcxxKknTh%22%2C%22version%22%3A15746%7D" data-inline-type="mention_doc">[公司2025 - 财务及海关 ERP设计方案](https://x2ni3u3y40.feishu.cn/docx/XXgVdPs8pobAM1xDY9dcxxKknTh#share-WPu9dqESTo3fQbxlSFocWVYOn6d)</span>, 相反方向</div>
            8. <div>凭证字号规则</div>
        5. <div>采购供应商台账配置</div>
            1. <div>采购供应商台账发票, 指定会计科目</div>
            2. <div>凭证字号规</div>
        6. <div>库存配置</div>
            1. <div>系统默认设定</div>
                1. <div>单位存货成本核算方法设定: 仅支持 移动加权平均</div><div class="ace-line ace-line old-record-id-SnHCd6622oUMR1xoRWzcWexynbg"> 核心规则：每一笔入库就重新计算一次单价，出库用当前最新单价</div><div class="ace-line ace-line old-record-id-DKjYd1LNko9wDNx3TdmcqNQZnMf"> <span class="j-block-container"><span data-meta-block-props="{"blockId":"24f01847-de53-4289-bca7-849ddc4da06a","blockType":"EQUATION_BLOCK","initData":{},"props":{"data":{"equation":"\\text{新移动单价}=\\frac{\\text{当前结存金额}+\\text{本次入库金额}}{\\text{当前结存数量}+\\text{本次入库数量}}"},"displayMode":"inline","viewType":"inline"}}"><span class="block-paste-placeholder">$$\\text{新移动单价}=\\frac{\\text{当前结存金额}+\\text{本次入库金额}}{\\text{当前结存数量}+\\text{本次入库数量}$$</span></span></span></div><div class="ace-line ace-line old-record-id-TlwrdC3E2o7Q98xTQaRcMb3enwb"> 只有采购入库、盘盈入库、暂估入库才会改变移动加权单价；调拨、销售出库、领用出库不重新算单价</div><div class="ace-line ace-line old-record-id-FjROdfqQ9oSOQWx6eMjcWwWGnKf">  
                    </div><div class="ace-line ace-line old-record-id-COmgdG9M4oANktxfZoDcM4f2n0v"> 每次出库：出库成本 = 出库数量 × 当前移动平均单价 库存货值实时自动更新+新的移动单价不影响既往的入库凭证库存商品会计科目的余额+后续出库等操作的凭证中按新的移动单价来计算库存金额</div><div class="ace-line ace-line old-record-id-R5lQdE03po45phxEyKHc2FCAned">  
                    </div>
                
                <div class="ace-line text-indent ace-line old-record-id-QHtUdGdZxoqD7Ex7eYEcUAaynQh"> 避免尾差. 库存余额不以 “单价 × 数量” 反算,始终加减滚动计算.(比如出库时: 先乘法算好出库成本, 再上一次的结余,减去出库成本)</div><div class="ace-line ace-line old-record-id-GGgpdmtgJoC7d8xHAAUcJHtIntb">  
                </div>
                1. <div>亚马逊FBA仓库核算方法设定: 按月汇总核算</div>
                2. <div>亚马逊FBA仓库单位存货成本:</div>
                    1. <div>使用"移动加权平均法", 但因为是按月汇总核算, 只使用本地仓库发货到FBA仓库入库的金额进行更新单位存货成本, 对于FBA仓库内的盘盈等操作不更新单位存货成本核算</div>
            2. <div>本地仓库调转相关的操作配置</div>
                1. <div>采购入库配置</div>
                    1. <div>采购入库,指定会计科目.</div>
                    2. <div>为在"采购单(会计版)"页面里, 执行入库操作时, 相应生成的凭证(旧版本叫"收货")</div>
                    3. <div>凭证字号规则</div>
                2. <div>调拔</div>
                3. <div>盘点</div>
            3. <div>本地仓库发往FBA海外仓的发货配置</div>
        7. <div>其它设置</div>
            1. <div>支持采购账户排序.优先顺序,第一为系统级别默认. 实际在采购单中的采购账户付款默认以该供应商上一次的输入状态为基准</div>
    4. <div>配置示例,以安普纳的账簿为例</div>
    
    <div><table class="ace-table" data-ace-table-col-widths="76;76;138;188;169;160;227"><colgroup><col width="76"></col><col width="76"></col><col width="138"></col><col width="188"></col><col width="169"></col><col width="160"></col><col width="227"></col></colgroup><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-H8GvdUYUUo9Z04xZZotcwfWLnJf">**采购账户**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CchjdRQMxoEXaIxVGW7cCLG4nid">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZTTqdw9gQoLSRKxInwRcESn2n8f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-F7OwdE4SkoWtG0x8Eigcwc6rnJh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Y3uKdKsSAo43TExU6SscAhClnug">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EEWld4AhgofFn7xj6zecrUnEn5g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-O09qdmYcHoIUzhxhPGpcMpKrn9g">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TRg7dZe2zoSQW9xL4MdcMQd1ncg">**采购账户**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FWBHdROtjoUBMZxo5VIcGjWcnIf">**账户类型**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BCSMdXhkkojT4TxHqTFcur29nef">**支付费用类型**</div><div class="ace-line ace-line old-record-id-BzGudKaTRof4V8xGl9Pc1KVYnlf">("归属供应商款项" 和 "非供应商款项")</div><div class="ace-line ace-line old-record-id-KZ6IdWycaoD9O6x2NO7csvfunuf">(退款 / 正常付款)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JHN3dXUqHoJHCkx8fjVcePL9nFf">**采购单付款借方科目**</div><div class="ace-line ace-line old-record-id-CpcldGRoroNYFmxX1egcvZOUnZb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VCfidYJM6ohcizxQCDpchnhRnBg">**采购单付款贷方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QI16dTXRqot4RbxTpqncWaDXndb">**台账付款借方科目**</div><div class="ace-line ace-line old-record-id-TJSddJKXloVQcbxVyIpcVtN3njh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FVandb5jsoWluOx3QDZcb1HdnPh">**台账付款贷方科目**</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RySNdn33Koe9kYxVhs6cQjAYnFd">公户现金</div><div class="ace-line ace-line old-record-id-RvFAdMjlvouEzGx8zEUclZu9n5g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Be57dmEnsoNuNkx3XAtcrgmInwe">现金</div><div class="ace-line ace-line old-record-id-AMNhdwF1bowzVexikhdc437qnxd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JKTldV9v1ogARxxgt5icqOo1nBg">货款运费</div><div class="ace-line ace-line old-record-id-Lptrd83QtoHgxQxpHVactYXWnNf">其它费用</div><div class="ace-line ace-line old-record-id-PiIEdIU0LorHKTxh7x0c1U6Cn3d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OhlRdUwPGoCqNyxcNZFciW2HnUd">货款运费/其它费用:</div><div class="ace-line ace-line old-record-id-Hjx9debMEozahUxLjFQcnPpwnyX">借 预付账款-ERP采购供应商</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LOTLdm5OKon3ZTxC6mkcUO7Zneb">贷 银行存款-浦发银行（2384）</div><div class="ace-line ace-line old-record-id-JSmSdeu4xo43mExYDDAc865YnQh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VxkXdiJmyo1oJcx3cTOcHcA6nMf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-H74Odba9fopR9KxiV3pcQndYnvc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZXlVdRCxooJvo5xF1SOcMdTsnhh">跨境直采</div><div class="ace-line ace-line old-record-id-InpadKpF3oM1YExufxQcWJBZnQc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AWOidSWsfowLqzxPFp3cZExHn1e">现金</div><div class="ace-line ace-line old-record-id-FszkdjqPYoquEjxiowocHVGbn6e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CTsCdQVmFo5mgmxZHaWcK6fUnug">货款运费</div><div class="ace-line ace-line old-record-id-YT8zds9YuoPkwpxrUg2cwYKQnZb">其它费用</div><div class="ace-line ace-line old-record-id-If8ldCdQLooO57xyFkWcQCSjnhd">跨境直采手续费</div><div class=" old-record-id-F2pLdkI4nociFmxryB9cHRAanlb" data-type="divider">---
    
    </div><div class="ace-line ace-line old-record-id-JAhrd5AhfoD5iOxYq8zc6utlnVf">退款</div><div class="ace-line ace-line old-record-id-ERtud4uIgo1imdxRqHGcke6unGg">退款手续费</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Obl2d5Zm6oDtOjxI0kwc4YUVnVb">货款运费/其它费用: 借 预付账款_ERP采购供应商</div><div class="ace-line ace-line old-record-id-J6fadrOkQotk72xtWl7cFCy0nVg">跨境直采手续费: 借 财务费用_跨境直采</div><div class=" old-record-id-REiidDNClox9fzxzbAwc1SFEnxe" data-type="divider">---
    
    </div><div class="ace-line ace-line old-record-id-C8wldf96OoU2JrxfgrfcwXXQnwb">退款/退款手续费:</div><div class="ace-line ace-line old-record-id-JumFdsResoKmBdx3MwVcE7GjnSg">借 其他货币资金_连连国际等-跨境直采待结算_CNH</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EDxidk1fXogLrvxDLIicAW9SnVf">贷 其他货币资金_连连国际等-跨境直采待结算_CNH</div><div class=" old-record-id-YxkddqfABoCQ7yxxAwUcewmEn4f" data-type="divider">---
    
    </div><div class="ace-line ace-line old-record-id-XKYpd6nahogxA4x0QXYcyZchnBf">退款:</div><div class="ace-line ace-line old-record-id-CvfPddnQdo1TVXxGsNQcg4cenAc">贷 预付账款_ERP采购供</div><div class="ace-line ace-line old-record-id-PzIudFaKGochi9xHX5RcoMG2nRg">应商</div><div class="ace-line ace-line old-record-id-Rzl9d2853oexBKxtMiqctNXdnny">退款手续费</div><div class="ace-line ace-line old-record-id-T8wwdZElNowZEqxAk0XcNli2nZb">贷 财务费用_跨境直采</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SOt4d78UaoOACKxwwJWce0fknFc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ARaudCHSQoP0uexCRJIczBqanve">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Lxh1d0TocozL9gxrl6mcQVbhnxd">先采后付</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PcbmdY876oib4UxK9dYcWoXUnCb">账期</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Dc1sdTII2ocFNixNlkmcnGrJnjg">货款运费</div><div class="ace-line ace-line old-record-id-PMMJdwgVKocxzExpQDRca51qnUd">其它费用</div><div class=" old-record-id-EppBdbSlkocYBkxgKRGc76QcnCh" data-type="divider">---
    
    </div><div class="ace-line ace-line old-record-id-WaHqdDz33oSNynxUxl9c9ZoDnug">退款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HiNDdRg61o3tyBxMiQUcVN39nSg">借 预付账款-ERP采购供应商</div><div class="ace-line ace-line old-record-id-SpSQdEqchojVDbx0ZzDcOFHPnhd">退款:</div><div class="ace-line ace-line old-record-id-EAxtdOfYDoVMdsxeNbCcVGkDnYb">与正常流程相反设置(下同)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JEM6dpYnqox3ysxKXq0cBrD9nBc">贷 应付账款_1688先采后付</div><div class="ace-line ace-line old-record-id-Vuitd2zhUonjycxaDAocCTdynVc">退款:</div><div class="ace-line ace-line old-record-id-AigFdzF60ow9RWxlbWmcIbcunCe">与正常流程相反设置(下同)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FZNYdqwVcoplY7xuGVYcnm3snRg">借 应付账款_1688先采后付</div><div class="ace-line ace-line old-record-id-MSHfdj3g5odUKIxUvlOcHVcTnXF">(跨境直采,还款时还需要有):</div><div class="ace-line ace-line old-record-id-FZJid52ODoy3fGxcGoXcrrtbn9e">借 财务费用_跨境直采</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SA1mdBtVBoZgwVxHrancTn90nDe">跨境直采,还款时:</div><div class="ace-line ace-line old-record-id-TUPMdegQeohQJCx37Mbcmv7gnUd">贷 其他货币资金_连连国际等-跨境直采待结算_CNH</div><div class="ace-line ace-line old-record-id-IUlwdkEP7ohj5DxgEElcbqU5ndf">公户现金,还款时:</div><div class="ace-line ace-line old-record-id-A9dUdP6odoVG1cxMdVNcqGj9ndh">贷 银行存款-浦发银行（2384）</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TCG5dLvsGode8OxV8kKcGye1n0d">公户请款即付</div><div class="ace-line ace-line old-record-id-KMfZdRAUKo9jnexZp21cQqAUnWb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HXsZdNuegozK5exDGJZc3KJdnKb">账期</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LsLodq9U1oeVqtxLwlrc2pYon9c">货款运费</div><div class="ace-line ace-line old-record-id-KnbcdtI6ioj6PEx44mfcq7L7nKc">其它费用</div><div class=" old-record-id-U7E9dNrW9oG4RKxQ3L5cAqomnWg" data-type="divider">---
    
    </div><div class="ace-line ace-line old-record-id-ASDTd5O7GojfIMxnxgocxK0znUe">退款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Qe1odQyyvoVRSdx7sz9cNzNcnod">借 预付账款-ERP采购供应商</div><div class=" old-record-id-Gsbkdd9jXoddlfx3XDFcyBOQnsd" data-type="divider">---
    
    </div><div class="ace-line ace-line old-record-id-ZHfBd2hbuonWdMx5FD1cZegNnJX">退款:</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JiM7duGVoo0rTxxDnHucW5QAnye">贷 应付账款_公户请款即付</div><div class=" old-record-id-IYufd7EhHoUGIMxQfyQcSpXWnvc" data-type="divider">---
    
    </div><div class="ace-line ace-line old-record-id-NktWdrhPpojz4Ixl1tpcOFGKnWg">退款:</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YmVndbXqGoblayxCKMWcjHkqnef">借 应付账款_公户请款即付</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-F2iGd0CvoojRpjxLwhLccUJgnub">公户现金,还款时:</div><div class="ace-line ace-line old-record-id-KtxRd37rPou4RzxUfQncmORXnwd">贷 银行存款-浦发银行（2384）</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WV54d37M6oXb3QxcX88cDA1Jnon">公户请款月结</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LCaYdIloOobMQTxDtzGcRXmcnLd">账期</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GE1bdNQZ9ogUVCxX8racXqqmnEd">货款运费</div><div class="ace-line ace-line old-record-id-NeBod16HNoQ1gmxt3oxcW2Flndg">其它费用</div><div class="ace-line ace-line old-record-id-XPjEd5N9Bogo0Px2PfEcT6ZSnNh">退款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DhOKdBoe8oyvWVxKwSPc8J4QnKd">借 预付账款-ERP采购供应商</div><div class="ace-line ace-line old-record-id-R0VKdyX64oSggMxmtLec2M7fnIf">退款:</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vr4RdiuRSoj5JFxSd8JctoiQnlg">贷 应付账款_公户请款月结</div><div class="ace-line ace-line old-record-id-PcAYdG0WSot1l9xsEhYcPR3enRh">退款:</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SyHOd4zpooJlxFx3UrPcrVo2nwc">借 应付账款_公户请款月结</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OBlXdo6Gto0tyCxSqtzcMveyn1d">公户现金,还款时:</div><div class="ace-line ace-line old-record-id-IKaHd2PHrodMCexfPH1c0XP0nWg">贷 银行存款-浦发银行（2384）</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PhBydYiIqoSBPgxW20pcD2lInUc">第三方支付请款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Fk7Qd0FRQokk9ix1wBZcNmJLnwc">账期</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GrF5dQDU1oWVxmxLhVwcY1fCn3g">货款运费</div><div class="ace-line ace-line old-record-id-HctVdZ8USoKjZqxy2UwcOM73nZc">其它费用</div><div class="ace-line ace-line old-record-id-Wtp7d7mAjo6iKMxFXK0cdu7Lnjd">退款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NaxIdSWMQoWO4VxYzVIcjVJTnof">借 预付账款-ERP采购供应商</div><div class="ace-line ace-line old-record-id-DKPMd4K28oDVxdxVpxTcObtAn2n">退款:</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Qwlxd5CgtosfVHxu6jRcp80inkb">贷 应付账款_第三方支付请款</div><div class="ace-line ace-line old-record-id-LLNbdfEocoZpOex3sWNc4PGjnMg">退款:</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ma0Od8mHioLO5qxawf1cgr9InbO">借 应付账款_第三方支付请款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JDX0dGWtiovzIMxr4z0ce8RKnJh">第三方支付:</div><div class="ace-line ace-line old-record-id-WL0ldUwQhozdtAxR8Z5cfFJRnzg">贷 其他货币资金_连连国际等-待结算_CNH</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EO30d5fmJoxnBWxcuFBc8yxkn0g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J9tPdftwlotdtPx22EIcsVajnob">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SZvAdhbtooDgHexPbKvcIKImnQf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ExCKd0VvyoIJwvxlsH8cBJ82nUe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XKtOdweWOoGEv4xiRFRcCZuZnAc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OslEdTvHwoXCkyxmapoc7cInnzh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OrIRduiYColTU1x6G5mcikyYnRb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SaWPdPZqsoTNYyxjheMcIbe2nRh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Gn88dvs1qoe0GPx2ndOcLmten0f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PtlCdkBM2oNZ9Lx2E30cwk9NnBf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Jr41d9gPBoatLLxkL55ch4ipnXc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ENYGd6jUzoPzraxC0jJc8wNunyh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LK9hdWBpqoyzOkxSshRcUhTEnvd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NDPddZqYWovrepxysUmcQ7OAnwb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-B0Hcd9GhVoSEpcxzN8kcLz7zn2g">**采购账户修改时限**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NKPvdR9qUoZA9cxD3Xccr1mWnl1">XX 天</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NrbLdrAXZoObdYxqNKNcEc8RnQe">*在采购单 付款/退款操作之后(并且在结账操作之前), 多少天之后,不可修改</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-H3ecdCrlXobEaQxtSl1cDIXungc">(20260707)</div><div class="ace-line ace-line old-record-id-K7AjdRySAol3bPx9qmUcnWjen2f">这个设置目的是避免'结账'时间太靠后,导致采购单的容易被改动,导致数据汇总不一致.</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KEeCdFeDzo3qAxx90NdcwpaHnEk">要对明细支持改删,主要考虑即时的错误操作.便于使用.</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AnHwdAJQ4oR1xhxudpoctgFunzf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XFmvdPeC9ogGexxd2u2cKohjnOb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BP6mdVFGpofYYRxpR2ec8GMLnbf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SyWVdGKu3oUI9VxNI8HcREPnnDc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LBh6dixjho4SEPxWKBBckkiyn0f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Q9CRdPfhjoHN9hxhnnUcztSBn7d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Xr5Ld7UHQogHQixsUgNctBvDnFe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-C5F7dlgRao8Y3Hx7QRkcWz1fnZe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IJvndnSjwoIdX4xC4ftc7OKvn3b">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Q5x8dk1mJoWZzAxMrAGc7nT5n3b">**采购供应商台账**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UbMKdvRJQoQ5RWxmzZNcNsBPnsg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LhirdykXZoDveNx1BXNcZGvFnE6">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DCftdx814o90Q0xFFfPcxTd5n2f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UP5AdesX3odLwTxULZmcci6tn64">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DR7PdTYyxoqu7GxQSQpc3sP4nfe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-P9x1dLdCbodRyIxU6KEc8HxlnFg">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J5pndW3v3oDfz4xbKgGc4ggenre">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IQ7XdZgCgowvvXx9DGOcwK32nfd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CpoPdFnGYoC1aixafBKc2ApTntf">**操作**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PMXFdI0lYozGf0x8Simct8VZngk">**借方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-C3BXdC3VmoFtTdxMrdPcnStGneb">**贷方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Dw2qdWA7Mohh2OxckcdcQ3Vtnng">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Y4WddJpUNopnHnxTphlc7Coanme">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RtQSdkBtUopfycxzCYdc9KxTnpc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GLYLdwtwBoqSHvx9RxUchi0Enfc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UJF0do6f0oy3EHxkFIacC15zn6f">发票入账</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Yr3sdPaB7oVAZVx0rfUci1LNnDd">贷 预付账款-ERP在途发票</div><div class="ace-line ace-line old-record-id-FiocdqZ0ToDU9QxQ7xBcuXPUnhb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UJd1d7RX0oQCzDxN9JwcE2XOnGe">预付账款-ERP采购供应商</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Jfzdd2WmToOiQoxuys5cT1ghnve">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PVsWdD8oFo70zvx0bPVcxSo6nJc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XWCdd3ZIcoVWsXxhQSccUid4nTg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KBnMdtHqTo9R8DxwhMQcSjSrncc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LezMdBPexoKGVxxQjE6csCYFnwb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YTahd3PFEo5vGyxpQiJca8ECnbg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Jwwtdx254oKqk0xRKUucxmnZnWf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CTdSdM7Sro83bxxvpyLcG9QLnxc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EBU5d6vByojTR9xqWkRc9Vucnnd">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AvfNd6xhOosoOtx1sp9cZMyBnoh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HpkUdHk7boZPkExAxCocSVoqnef">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TvX8doGfGoUXp0xpG4vcGmcGnHd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Sj7XdaUbnoubVGxZoDCcr3CsnOe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-E9lzdXkCOoNPlOxM7HzcmrrXngM">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OJ9kdcnjgoEQtkxQJyOcJVJQnyb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-F0hDdvwRYoacFdxo7ZvcP66LnWh">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VTQGdGs2ooIWgmxztgTcSJezn3f">**采购入库配置**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Z8G6dQVxFoi601xl5BtcNxMwnd0">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CoSYdsnNDorrBaxtIoqcBDUYnyc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KoEDd9pW6oLR6AxJJ5lcahmTndb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TiHgdKCixonjt1xKyUAccLHdnac">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CVbpdcZG6oswitxJjFTc28FBn3f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XX3Sd8MDXo79Q8x7O4JcOYpdnQb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JFKcdYpxHoF6VCxAOxac80PSn6e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RyuXdzfogomkeSxceS4ca4SKn9b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LYizdYDAooWPmkx038xcQryWnvg">**操作**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-THL5dc2PBol5erxNJxOcuJulnTb">**借方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EMLNdbFnHo8TNSxtFuTcEySAnpc">**贷方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UGjDdoLXyo3FQMx1oKNc9SK9nMf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UKckdhRjKouDM6xavRRcs9CVnUe">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ASV9dUIbNogRtLxlRgjcH9gznvb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HCtvdxc0hoDwtRxW8AccBPcinzg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MARIdFqGPoVrrOxSzCEcB5RAnDf">采购付款时</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XJvUdzZnRo7ZFFxOXLOcokbtn4e">借 在途库存_XX本地仓库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PnTIdDU4GorCnGx3P79cim0Wn4d">贷 预付账款-ERP在途发票</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OewkdG6OaoWSkaxyTgYcTOj1nib">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AtgMdqSZKoHCbjx7oUqc2rApnAh">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-D3gcdur0AoCjTixw7O5cfq40nfg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PlybdDzPyoJktZx5j9WchHn1neg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TdKvd8xGPohTlbxt0xcc8Yynneo">采购退款时</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PmSsdqzu8ozRZWxfIG9clVY9nnh">预付账款-ERP在途发票</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UQvYdhLayoF3DQx0eamclmcsndd">在途库存_XX本地仓库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ARkFdcJmFoyqxax8TTIc0QNqnCd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vm3XdMKR0ocE4Xxch9BcEYoinLe">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L4U0dKZ0Zo9uA7x5YnHcinn3nob">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Fv0edQQr4oqmnnxxhl9cKd2Qnud">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HsW6d58zYoncUWxxfRac8PeznJf">入库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-M3HOdTGRioPb7Qxgq2sc7Aibn8d">借 库存商品_XX本地仓库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EsitdwEDBoMd2OxLk8bcFCDqnWn">贷 在途库存_XX本地仓库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JPZxdCu9forllhx0ZV0c3yDCnUb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Oi1YdovJOoaJjDxfO3wc1hxonPc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OSZmdtX1joLjbExAloJc2DHfnqe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RgCDd25Khomb9bxvReVchCv6n3d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DrLWdVhrVoSZUZxOnJ5cIuxCngd">退货</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UY7cd7nCUoezurxaGlJcI4bhnxc">在途库存_XX本地仓库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QvFRdH0bOoqOxcxkyr2cioYRnZy">库存商品_XX本地仓库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EbIfd54W5on0mKxcqQIc3ml8nOc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-C92YdFoGsoqsxWxnE3wc9RDHnkc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IYdfdHYJkogQ1ZxRtc6cusUhnSq">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HvzedGQtMoWqjtxdlDHcNSc5nFf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-U9Rodj8FdoEY6Wxuybmc35gGnTd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OkoWdgiyBod32OxnplpcfY4unwe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VRzDddUO4o2TDuxp9Fkc4mI5nTg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TzIYdfvPPoy18Xx3N5ocDc9KnBg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Dk3Xdb7YVodmXuxrtnpc7wxtn3d">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HFrMdv4DEo8rqlxKHJ1c2caDnGc">**海外仓发货配置**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XO4LdUHTmoax6CxyxmhchQUWnLe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FIhOdR7JJor5zRxjbCOcKVxJnjb">**操作**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZwavdDCTNos1VJxwixScwYnbnYt">**借方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NbHRditz3obhFVxzgO1cO2IVnXd">**贷方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QhTvdQybxo12zcxTBOjcAGiFnJf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BNqNd7VZToyReYxdBeXcweQUnwd">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XpaHdj1hRox0WXx6c0vcxsuun1c">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZK4ado5mko2C8AxXIHdcgWqbnzc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-I9tFdUDaCoYHcrxQoIkcgPQInGd">发货处理_发货</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RdZsdXseooTpVRxC3qCcNyKLnbg">在途库存_XX国FBA仓库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-E5DRdi9FEohecAxLuefcwkSjn1c">库存商品_XX本地仓库</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ERz1dR09ooUMhqxVcc2cwTHonDh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZDdodvxVOo89iFxYN3PcVb6dnab">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ECrtd1utjo6bWmxt0g6cvMx1nlh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GSZ0dlaeEoifuYxPVx5cKcJcnfc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GUkndSWN0oUxLmxZQURcMG7CnIe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vcp1ddBa5oKUATx5xqncDyzJnUf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-U6KGdsgxUote70xigI9c8N8wn9i">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QonndtKK2olnnAxwbe8chkcmnX9">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UIPhdARMfoFV0qxv8Ogcu6dvnzc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ryp5dMAdZoQvH9xfWSBcGpdpnjd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Fa0wdDigRoQfrhx1saycNHSXnfe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vx1Gd0sX0o3zZExUcZQcNd1inXg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XQfGdZXQfo7KG9x7ckAcPOVbnwd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vi34dz1eQoGByIxqOVAcpJgtnDc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IIqOdAfR8oYBKYxyc82cyYagndI">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GvwgdI7ESolbCJxJaTLcocDknmd">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-II17dgKo3oPjlOxmk0HcUmqJn2g">**FBA承运商台账**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KjBEdAg0sooKXOxO0vrciEG7nXb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CYv5ddOHbo1KiuxIcnCcTbsyn7e">**操作**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OhxMdVoOOotR46xtY5jc1BvFnbc">**借方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QzG6d05w4oV0ZIxdDJlc58Bun7g">**贷方科目**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Z7Xld8a0GoUheQxcMuzcacfWnfc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GCR1df0TuozkHVxfLfSc3jJNnSc">*默认ERP物流承运商的款项支付对应的只有一个科目(公账), 所以不需要额外单独类似采购账户等的设计</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TB0AdzsJloslpixa5woc8lv5nwe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DkKIdvto2oI6Dmxwu7DcSIyOnpb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NvLJdCy2UoND2GxFdjUc5sXBniq">请款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OLi5d3lgsooX1QxoyKjc5vr0nec">预付账款_ERP物流承运商</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-N4M6dJ2SkomADQxVcdLcll4En6g">应付账款_ERP物流承运商</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TjRDdtJ7lojsAYxpjdOc1CLAn4g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FPcmdrArvoe7xRxcZ5JchRpInMb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZiZMdeWNQoXJzrxhVddca0CWn1d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BcgOd16dqoK7BPxjbK4cfihXnWc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Mavtd21GcoE2Ewx4KfIcvtrJnUf">付款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-F0dddiDcqogQI7xunO0cjjcEnrd">应付账款_ERP物流承运商</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QotTd20VGoU7zSxkInEcagoCnWe">银行存款_浦发银行（2384）</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KsDhd7BVEoffTSxwpdecwpuhn0f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RCFrdr2nZoCohhxFHI7cPYYJnvf">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OqlLdzlXhoUoUixsb3zcDq2hnue">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TyASdRHlloD1dGxp9y1cAfK7nrb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NHjQd7SrZoUJNsxrtEycpEWbnph">发票入账</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RfXIdU2NboWa2txmwYJcif5Jnvb">销售费用_FBA承运商</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QFNZddvoEolwEZxo7bPcqcpWnrc">应付账款_ERP物流承运商</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MEFAdnkYXoZsZaxlFnBc8eAhnac">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Kw3idfPD1o0ztCxRXK0cdpf1nJg">*发票入账直接转为费用.不转入库存</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RdGkdxwbkoIakZxBAEucCmivn0b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LlN8dd9BloH2bbx2BKQcbZCSnBf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OKo1dGBBkoAucJxenifcjGsGnTe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CdZGdyUwoohAZ5xFykVcJSIHnXg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZaKndc66FoEDJQxGqd5ciSOTnLh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DUZLdIFiTopjhgxUA2Nc5Iwznxf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GIzMd2GmNo2oM1xPFQbcLz1Snff">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BrTcdeXHooxNhCxMNguc88vnncc">**本地仓库台账**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HyKzdhW2voeUxnxuDFJcd1jJnCg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OYxtdkwpMopT90xFXJmcz3iMnad">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YNrgdJg0UoIZbSxYGgWcnonZnTf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-V4CBdv8qRonmwUxM1MVcmnyqnJh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZRhNd7IADobwgYxJsxpcGQlYnmh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CI6ZdGnGAoScJ6x2mXDc9uiVnnd">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GASLd6KHPonIAixuJv8cpXwQnif">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CkZgddl9ZoD8vxxBrbvcRQjnnGc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ar96d2GLboF8iFxQCvBcOaHqnkg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HJ8idZrrjoXwgvxNuW3cauGtnLd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CkREdC5UKoyuB7xjGgvcgJFFncc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XKLud6VbSoe6UTxJZZPcpYJNnLc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L5SmdbV5rokZ9SxkLHScjPwxnjg">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WvXQdShRmo6ebRxzfCdc3Tmen0f">**FBA仓库台账**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SAozdC130okWzSx8qDNcX1cnntg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KeUSdXI5poShsJxf861cC4jqnBd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XS7Jdi8nEoDrmxx9WPGcWjejn7b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Jw9mdLCJvov7Tmx46uGcvRzwnVd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VvR7dAAvEoEv7qxHPFIckafVnjC">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XQ0DdtdG5oUN4LxB4wCcrAlmn3f">  
    </div></td></tr></tbody></table>
    
    </div></div>```
    ```
    
    <div><div>账期采购账户的台账付款:即相当于 采购请款单/采购付款单/账期结算还款 的功能. 以上为暂时的以安普纳为基础的配置示例 其它科目基本相似, 银行存款-浦发银行（2384）,公户的科目需要按公司实际设置 将公户相关的设置成三个: 1. 公户现金,用于在台账付款时调用,以及现金台账生成. 实际它不在采购单里接入API使用 2. 公户请款即付,用于当前采购单需要立即使用公账支付,采购走飞书审批的.后续则不需要使用飞书审批, 出纳在这个采购账户的台账下, 进行逐项支付 3. 公户请款月结, 用于需要使用公账,在月底支付的.与 请款即付区分开来,便于管理. 一个采购订单+SKU,对应一个账簿,一个供应商, 一份收款信息, 一种采购账户 可对应 多笔支付明细,多笔库存明细,多笔发票明细 账期采购账户,退款时, 不论台账付款是否退,在采购付款,都同样操作.实际差额也在台账付款页面处理. "归属供应商款项" 和 "非供应商款项"的费用类型,用于给采购账户会产生手续费的情况. 同时也能在供应商台账,区分供应商的实际已付款,核对发票应开票金额 20260622补充: 关于退款 原先计划, 采购账户的费用类型,用户自定义"退款"作为其中一种费用类型,指定其相应的借贷科目, 但是考虑到前端输入,退款的类型是输入正数还是负数? 会直接影响台账里的数据 所以改为,采购账户都有内定的退款设定, 需要用户单独设置退款的设置. 更新发票入库操作配置 更新入库配置 如此,采购账户的设置就包括 账户类型 账户关联 费用类型 费用类型的款项归属 费用类型的借贷科目 台账付款时,可用的现金类"采购账户" 采购账户的退款设置:可用的费用类型以及借贷科目设置 关于数据库数据模型 采购单,业务表, 需要保留.不能因为有新的会计凭证表就不要采购单 业务表 采购模块生成的会计凭证, 需要用到的辅助核算,尽量辅助核算另行建表. 在此处配置的会计科目大部份需要 采购单(采购单+数量+SKU) + 供应商 辅助核算 或者 发票 辅助核算 操作日志与审计追踪需要设计 **当前的流程下: 各主要环节的凭证基础示例** (不抵扣/退税环境,不用设计待认证进项,不用进项转出等) **A:支付采购订单时:** 借 预付账款-ERP采购供应商, 贷 银行存款-浦发银行（2384） 其他货币资金_连连国际等-跨境直采待结算_CNH 应付账款_1688先采后付 应付账款_公户请款即付 等 **B:同时** 借 在途库存_XX本地仓库, 贷 预付账款-ERP在途发票 **C:收到发票时:** 借 预付账款-ERP在途发票, 贷 预付账款-ERP采购供应商 **D:收到库存入库时:**  借 库存商品_XX本地仓库, 贷 在途库存_XX本地仓库 ------ **涉及退款,退货时** R1:已付款+未入发票+未入库 &gt;&gt; 全额退或者部分退,款 在采购单页面,退款 上述A+B反向即可 R2 已付款+已入票+未入库 &gt;&gt; 全额退或者部分退,款+票 正常A+B反向 供应商开具红字数电票 相应做 发票做账冲销, C反向 (或主动通过电子税局向供应商发起红字发票开具推送) R3 已付款+未入票+已入库 &gt;&gt; 全额退或者部分退,款+货 反向 A+B , D R4 已付款+已入票+已入库 &gt;&gt; 全额退或者部分退,款+票+货 反向 A+B ,C, D R5 已付款+已入票+已入库 &gt;&gt; 全额退或者部分退,款+票, 不退货 反向 A+B ,C, D根据实际情况做.暂时系统不处理 (这种处理,会导致相应的采购订单+SKU,台账里是在途是负数,有挂账) (处理方式: 应该使用其它会计科目,来另做凭证比如: 借：在途库存_XX 本地仓库 贷：其他收益 / 营业外收入 / 采购折让冲主营业务成本（三选一）) 强制要求: 款+票,只要已付已入,必须一并退 20260626 补充 FBA承运商台账 的操作对应凭证生成规则</div></div>```
    ```

2. ### 前端页面: 采购 &gt; 采购单(会计版)
    
    <div>
    1. <div>基于当前的采购单,进行设计</div>
    2. <div>采购单获取的账簿里的数据(比如配置的采购账户), 按 采购单里的 SKU 对应账簿,进行匹配</div>
    3. <div>采购单收货,退货等操作基本与之前版本一致.</div>
    4. <div>采购付款页面</div>
        1. <div>选择 采购账户</div>
            1. <div>账簿关系,按SKU的账簿进行匹配</div>
            2. <div>需要在页面里显示, 该采购订单当前SKU的账簿. 如果是多个账簿, 支持手动切换</div>
            3. <div>1个订单+SKU , 只能选择一个账簿, 以及该账簿下一个采购账户(先按此SKU上一次的提交状态默认, 如无则按默认的采购账户)</div>
            4. <div>选择的如果是现金类采购账户, 会显示其当前的余额</div>
        2. <div>选择 供应商的收款信息 (1个订单只能一个收款信息, 先按 此供应商上一次的提交状态默认, 如无则按默认的供应商的收款信息)</div>
        3. <div>费用明细,可有多条. 选择</div>
            1. <div>费用类型 (与采购账户设置对应,默认第1个) + 金额</div>
        4. <div>退款时:</div>
            1. <div>在付款页面,相应的退款区域,</div>
            2. <div>新增退款明细</div>
            3. <div>选择已支付的付款明细, 匹配对应的采购账户的设置, 生成相应的凭证</div>
            4. <div>退款金额, 统一输入正数.</div>
        5. <div>(20260707) 付款/退款,操作明细, 修改/删除时限,参考采购账户'修改时限'和'结账'时间.</div>
    5. <div>采购单状态, 有以下四个维度显示</div><div><table class="ace-table" data-ace-table-col-widths="125;241;195;181"><colgroup><col width="125"></col><col width="241"></col><col width="195"></col><col width="181"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-B4dXdek8HoECE7x54rRcN5cqnSf">订单状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CUo0dExBSoYvF5xsLOBcCZC0nTb">付款状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VtAJdcIyboppUoxNq5RcJaUInNb">库存状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J12idQIN8oX4zOxC0D6cm5I0nAK">发票状态</div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DNqgdOSKYozs1uxqx6Jc05a8nBe">有效</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TGWgdRQE4onAw9x7sKEcQnE4nUf">未付款</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DGvtdfGYxooIP8xPIbScwZzAn1g">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-M8TPdJgmsoRN9XxjzancnRnQn6f">未开票</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OFWJdhHv0omB3wx0k3McFRUdnbb">撤销</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VHoZdegYqoy94UxcHSncqCtfn9d">付款中</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TrZCdvJw3oz8jhxM1pOcUtqVnle">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Fu2ldzchmoFMpYxjydecI75dn0c">开票中</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HUmwdRQInohiIhxxgeSciUXUnRD">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NfV9dXctzo4fujxBdmTcWv9lnFc">部分付款(未完成)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XVPidhl4ooJPhIxiIVacM6kWnVd">部分收货(未完成)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LigYd7zquohAxdxGXsdcydMRnKg">部分开票</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FBBQdr6y3o0lYYxN3PKchPVgneh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BM4RdKAnYo5Bk8xQB4fcUkEFnNe">超额付款(未完成)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Dusdd3T9kohnvmxruFgccxvKnRe">超额收货(未完成)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GVDrdU4tFoXKfxxMc5ScI0B5n0b">超额开票</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QFRydJOIIo5GgNxPQA3cBH67nAd">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BXh8d5wlpoIannx1XpbccOGAnzd">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RKRCdhOatosWwWxxUoHcRfQgnmf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TJDJdhFHBorXjdxq3TJcWOuqnbc">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-H0sTdaUaSosVf1x6h98cnyUOnEe">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FyxYdf9KFoBPhpxJAbTc0L0mngh">付款完成</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZgKxdUUyvoA5BgxnaXWcK7Crnoe">收货完成</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SjxKdPMyPouSvBxHItlcqrArnUo">开票完成</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-G27bdk4brokZlkxOiCoctgWPnbH">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UWOCdpYYooN7dKxEB8vcFeQxnVm">部分付款(已完成)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UqwadG9FboKzyMxHVGgcrWV3nse">部分收货(已完成)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DQFBdcXHdonFuLx2aavceLSgnBg">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QtjXdJIaoo0P8bxJHR0cJbO9nEd">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-E5aEdWpwtof0UmxmG2jc8M1en7E">超额付款(已完成)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Y6fqdn5kvoHBdJxM4WNc2HXMnLf">超额收货(已完成)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NsJKdxQoZouXOLxRFSBclGSnnIC">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AXx0d7w7WoBiH7x5R8RcFHcxn31">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WaVGdvS1qo66bjxjhXHcYzs5nCg">退款中</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IF3FdicrYomMZuxvryRclow9nah">退货中</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RHFBdFbBboowQqxDF1HczXfpn7g">冲销未入账</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L5CmdkLnJo4dutxxoCBcGRrdnro">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QqGSd2NwUoNd6ExKU8mcAMiMnaf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NWYmdfVxko0mTUxAjNjc2BWin1g">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XKi9dOfKTosntexkvFqcEUFJnnb">发票异常</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-St3UdP561oQzU9x5Z5ncd78FnOe">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LJRIdPyPxoNXklxy4wScCxBxnFH">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MC6qdyPqWoqbMVxLXvNcMrmwnff">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GN9Rdt4zuoMzOmxNwu9cab9rnth">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DgEmdR2hJoA39kxHABGcMSDKnAd">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FdUBdJASAoYW4ExqRAwcO0dYn5d">付款完成(有退款)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DRdWdZIvuorc6uxg6rYccnvSn9g">收货完成(有退货)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-W8kOdatDVoffmVx3S9vcQCj4nnc">开票完成(有冲销)</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BGfbdYYvFoD5cWxtfNacuSnunFg">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HO4wdlV8podF0fxZfCqcIjRrnDh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RKYBdanhDoitdtxexwtcRocTn2c">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RRI6dkRGjoyWknxXVnocRB1cnbh">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UdUWduu2NoyPRQxsPSXcij0FnYd">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FvQOdfZwdowrLbx7oClcnnDLn2f">"非供应商款项"的费用类型不计入;</div><div class="ace-line ace-line old-record-id-GM11djz8fogvkcxKnyhckV5snvg">付款中,指的是使用账期采购账户支付,已到了台账中;</div><div class="ace-line ace-line old-record-id-Of8XdznHSowBYuxLZxncyASyn1e">付款完成, 包括使用现金类或台账支付完成的,金额一致.</div><div class="ace-line ace-line old-record-id-WAs4dVpaZoGjJrx9AoKcq9m7nJb">部分付款(已完成), 付款已完成但实付少;</div><div class="ace-line ace-line old-record-id-ULCad3GH7ozDIAxiCC4cvVsHnAb">部分付款(已完成), 付款已完成但实付多;</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FnvkdSTnoodFq9xU0fhcEVgMnSe">收货中</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NvgudrnIyonWXCxJzTKcuozTnac">"非供应商款项"的费用类型不计入</div><div class="ace-line ace-line old-record-id-C8WVd64uFoQgNFxXnYacHV2OnsJ">发票异常:发票已冲销但未做账</div><div class="ace-line ace-line old-record-id-PPxQdhfBfofgXRxZdA3cVnxcnrf">  
        </div><div class="ace-line ace-line old-record-id-V2OMdKixCoWmAXxfiapc2ls1nch">  
        </div><div class="ace-line ace-line old-record-id-AX30d3AMdok7uyx3JSdcld5Xnze">待根据API来进一步设计状态</div></td></tr></tbody></table>
        
        </div>
    
    </div>

3. ### 前端页面: 其它旧的页面的相应调整
    
    <div>
    1. <div>供应商管理:</div>
        1. <div>增加支持维护供应商的收款账户, 包括公司名称,银行账号等. 用于在 采购付款 / 发票核对 等情况下调用</div>
        2. <div>收款账户可多个,可设置默认.</div>
        3. <div>收款账户的**启用/停用**状态管理（银行账户可能变更）,不删除(只停用, 可查询)</div>
    2. <div>产品管理</div>
        1. <div>增加产品对应的账簿 (也就是公司)</div>
        2. <div>可以初始化,按 店铺在售SKU等规则, 对所有SKU进行 SKU账簿初始化.</div>
        3. <div>允许 非完整SKU 对应 多个账簿, 设置默认</div>
    
    </div>

4. ### 前端页面: 账簿 &gt; 台账 &gt; 采购账户台账
    
    <div>
    1. <div>支持跨账簿, 不跨ERP, 只有关联的采购账户可以跨ERP(并且只有主动起关联的ERP账号(包括其主子账号)能返回跨ERP数据)</div>
    2. <div>基于"采购单(会计版)", 采购付款的操作生成的数据和凭证, 每笔订单明细生成一张凭证, 以保证供应商应付+发票核算需求.</div>
    3. <div>筛选查询:</div>
        1. <div>采购账户(ERP下跨账簿,多选) , 账簿(默认全部), 时间范围, 采购订单(或 1688订单,多行搜索,精确匹配)</div>
        2. <div>**付款状态(多选)**+库存状态(多选)+发票状态(多选)</div>
        
        <div><table class="ace-table" data-ace-table-col-widths="100;58;84;50;100;90;260;207;100"><colgroup><col width="100"></col><col width="58"></col><col width="84"></col><col width="50"></col><col width="100"></col><col width="90"></col><col width="260"></col><col width="207"></col><col width="100"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J4kOdhpkao1C1oxcP3dcOvbcnMb">账簿</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SfRrdhfoRozuETxjNNscdYUMnbg">采购账户</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CzAudnqIZogT0Ix2HAVc0NV6nni">采购订单</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TMzkd1gh2oTBPFx9hwech7C6n2f">SKU</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HflJdfjPeor7VaxM2lNcF2QJnvd">请款日期</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XywyddvUYoHoXYxS4lycgANhnEc">收款账号</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UuXQdRz4boHRiyxxVbKcvJsmnMb">付款状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HRWUdn4Ato3qgpxUte4cyUKrnFb">库存状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-A2B9duQaZoEtyfxopdbcyuIanIh">发票状态</div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NeCAdaXmSoYTJlxJLQCctqT4nxg">账簿</div><div class="ace-line ace-line old-record-id-CKfsdF2WVoejF3xtoddcBoMhnbh">(跨ERP时,显示对应的关联的ERP账号)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LRoydjuZeoTwK4xd5bvcY77Mnth">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CDA3dZbmJo1jdMx5j3xcDuVnnmc">采购订单 +</div><div class="ace-line ace-line old-record-id-Q6nfdsX4RoyajexDxImcOQrqnje">同时显示, 1688订单(如果有)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EJMWdQcfeotL25xw6nZcCAZOnvf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JSkVdqpLAosi2WxfmwJcENV9nie">以在采购订单第一次开始付款的日期为准.</div><div class="ace-line ace-line old-record-id-K3sFdIFW2ohHhsxECztca2HfnMc">不以采购订单生成日期.</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RLWmdbNGUox75wxSepHckFvVnOf">供应商 +</div><div class="ace-line ace-line old-record-id-XoxNdwQ3loNub2xOf7mc0KC7nJf">该订单的收款账号(收款人+账号)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QRGzdybBpofCBIxiHYhcArnlnBe">除了状态信息,同时显示:</div><div class="ace-line ace-line old-record-id-HIMud7gw4odDdXxxMlZcK2BZnTc">订单金额,(订单的金额)</div><div class="ace-line ace-line old-record-id-FnXhdRuZFoN35wxgEDdc5HMEnhh">请款金额,(采购单里付款明细,包括减去退款, 包括归属供应商和不归属供应商的金额)</div><div class="ace-line ace-line old-record-id-LFQAdfNg9oDnAbx4K6HcTbstnXf">已付金额, (现金类采购账户的已付 + 台款付款里的已付, 包括归属供应商和不归属供应商的金额 )</div><div class="ace-line ace-line old-record-id-GXmpdICVVol1ZvxY8kCcNqy1nsc">待付金额 , (请款 - 已付的差额)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MKoAd1QYWo7xC7xjlP3cMKn5nfd">除了状态信息,同时显示:</div><div class="ace-line ace-line old-record-id-RplJdVuCWowtXJxEXXTcLDhjn3c">库存价值和数量,(采购单的价值和数量 , 采购单里付款明细,包括减去退款类型的, 只包括归属供应商的金额)</div><div class="ace-line ace-line old-record-id-Px7sdkiZNoaIO2xq5AfcvbOen5f">已入库金额和数量, (收货入库的金额, 按供应商应付/应入库数量计算单价)</div><div class="ace-line ace-line old-record-id-YkTpdEZNNotNHgxb2wZcPzbJnAc">待入库金额和数量 , (库存价值 - 已入库金额的差额)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Kz0NdBesuoza5MxiVqqcSX56nSb">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Xbi9d0VUzoiH0ZxENlJcc8qUn3d">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BMewdUvTBoa7Apx4ccWcnqLunkh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-G6FYdPXhnon444xosRBc76Rznnh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SiVkdpmlnovyoPxUJD9cT1g3nPf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MvJBdzwJBokjawxrocVcRfO9nEg">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WmQVd3PouoWfrcxOgPJcl1EPn1b">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Xa8vdYCOBoKk8Hx5KTccAzamnDg">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-K48AdyAbIoCqCHxKbYvcMMYInad">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VTIjd9h6foyYH5xRG3rclks2ntN">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Snh1dXvdgob2T2xt14qcHqsHnrd">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HyEqdVCkQo7X0VxRFG2c6zk2nhf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TF4UdjU7HoeaxoxPlv4csr0mngb">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JTfnd18QUo3fyBxWiLzccGOPn30">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VrCldiPYaoT92MxXQWccwq1mnBh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MDOodruwHowQkkx7bbBcCogYnQh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-A36uds6JSou8AnxpGzdcywZynff">点击可以弹窗显示,该笔相应的明细:</div><div class="ace-line ace-line old-record-id-GtwAdwZt1o5TGYxhQPscx0A7nmd">采购付款的明细,台账付款的明细, 以及对应的凭证字号 (时间,类型,金额等等)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SNstdiGDjoRfSRxjI2Yc49zrnmd">点击可以弹窗显示,该笔相应的明细</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DZZddlGh6o5tqwxONTTcWcoanAe">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KCVgdl7Hvo1G4zxPgajcb03PnHf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XL5xdtvbwoaglqxOnFJczJZRnqh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XhLcd8UWdojvKTxFixOcFFifnZb">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UCIDdGRRGoWHCfxXvYacBbQGn4b">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ty2ldjVrXoLBmexI5k3cACFCnEh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XOLqdEivxoouOmxcgAkcbzi0nzf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-O0wxd6MeaoCIjExFxzhc6qKanph">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-W6l4dwFRNoUwhIxsimScYGMMnWc">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IeSAdCcSZoJQSHxLHgScsfHAnbR">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ClvgdfUVUooPEsxv4gacU4K2n4d">**汇总行**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-N9VLdDDJ3oTmsZx6aSucNGEsnJE">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FeTDd5hHZoDYvExpmvBcZftYnih">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FYnyd4SCSoKmprx9QlKcGbWrnoz">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ro4udcmFHoIOfLxSDTDcYCjnnDd">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UrqAdnWguoCuyTx3f9ucsWRHngX">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L45HdrVItoYygMxYqkNcZdbTngc">汇总,四种金额的数值</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ag4wdKKKsoEUvtxoQemc2OPXnbe">不须汇总</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YYmsdCFZUoxvOdxfEe1czHATnlf">不须汇总</div></td></tr></tbody></table>
        
        </div>
        1. <div>适用于存在大量数据的分页功能</div>
        2. <div>支持列表最下面, 显示查询的全部数据的汇总: 订单金额,已付金额,待付金额</div>
    4. <div>支持, 单独勾选/多选/全选, 操作: 台账付款 + 支持导出EXCEL数据</div>
        1. <div>勾选时, 前端动态显示,所勾选的数据的汇总金额, 三个金额</div>
    5. <div>支持, 对于"现金"类的采购账户,做"入账登记"功能</div>
        1. <div>登记一笔入账, 无采购订单,SKU,收款账号等等信息. 只有入账. 用于核算该采购账户的余额.</div>
        2. <div>不用涉及凭证等会计业务.</div>
    6. <div>(20260707)支持, '结账'功能</div>
        1. <div>结账后, 该日期以前的采购订单, 不可对原有的 付款退款等做操作(改删),只能新增操作,不能修改</div>
    7. <div>支持 上述的表格页签 和 图表页签 和 采购账户统计 切换查询结果.</div>
        1. <div>图表 页签, 显示日期X轴 + 四种付款状态的金额的数据 + 显示数据点的数值标签</div>
        2. <div>采购账户统计 页签</div>
            1. <div>按账簿划分出不同区域(查询返回的账簿), 显示账簿下的采购账户卡片, 卡片内显示账簿下的这个采购账户的 四种金额</div>
            2. <div>对于现金类采购账户, 增加"余额"显示.</div>
    8. <div>采购账户台账付款,功能页面</div>
        1. <div>只有"账期"类的采购账户,才能使用</div>
        2. <div>选择相应的采购订单,然后进行付款.</div>
        3. <div>台账付款的页面和逻辑也要支持退款 (费用类型是属于退款的, 相应的明细,相应的凭证科目等)</div>
        4. <div>操作流程:</div>
            1. <div>在台账列表里勾选后,操作,跳转到采购账户台账付款页面, 自动带入,包括账簿,采购账户,付款订单列表,金额等,点击付款提交, 对应相关配置生成凭证.</div>
                1. <div>输入: 下拉框,选择这些采购账户(账期类), 配置好的对应的支持的 现金类采购账户 进行实际支付,选择的都是现金类采购账户, 需要显示其当前的余额</div>
                2. <div>台账付款明细输入: 下拉框,根据配置的现金类采购账户, 选择与其对应的支付费用类型,带默认值,</div>
                3. <div>支持按照支付费用类型,增减台账支付明细.</div>
                4. <div>台账付款明细输入: 台账付款金额, 默认为带入的应付金额(订单金额-已付金额) ,支持更改</div>
                5. <div>账簿,采购账户,订单/SKU,供应商及其收款账户,不可更改</div>
            2. <div>excel模版上传:</div>
                1. <div>导出台账数据, 编辑整理后,上传生成"台账付款"数据</div>
                2. <div>在模板中指定每条记录的,台账付款采购账户(现金类) + 费用类型 + 台账付款金额</div>
                3. <div>支持Excel上传后的**预览确认页面**，展示即将执行的付款明细+校验信息，用户确认后再提交</div>
            3. <div>校验:</div>
                1. <div>一次台账付款,必须所有记录都同一个采购账户(可以是跨账簿的,关联的,同一个采购账户)</div>
                2. <div>台账付款金额("归属供应商款项"的费用类型),与对应的台账付款绑定的记录(采购订单+SKU) 的汇总的应付金额,不一致时, 需要提示处理方法.</div>
                    1. <div>按台账付款 : 应付金额 比例分摊, 还是取消本次付款操作</div>
                    2. <div>关于分摊金额:</div>
                        1. <div>尾差处理规则：将差额摊到最后一条记录</div>
                        2. <div>单条记录金额上限校验：分摊后单条金额不应超过原应付金额</div>
                        3. <div>在提交后的预览, 提供分摊结果预览，让用户确认后再提交</div>
    
    </div>

</div>```
```

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E9%87%87%E8%B4%AD%E8%B4%A6%E6%88%B7%E5%8F%B0%E8%B4%A6-%E4%B8%BB%E8%A6%81%E8%A7%A3%E5%86%B3%3A-%E5%AF%B9%E8%B4%A6%28%E4%BD%99%E9%A2%9D%E5%92%8C%E6%98%8E"><div>采购账户台账 主要解决: 对账(余额和明细), 账期付款的问题. 因为我们公司的采购账户, 跨境直采,公账,都不是专用于采购,所以没法对余额.只能对采购模块花掉的金额 先采后付,1688是有临时额度/基础额度不定期变动,而且先采后付本期待还款金额也是1688系统会根据交付时间有变动,也对不上余额,也对不上剩余额度,也对不上本期还款额 公户月结,这一类没有余额对的需要.但是可以对 应付,已付,待付. 还款有多种情况 1.一条台账记录同收款账号, 多笔付款 &gt; 公账支付 2.同账簿同供应商同收款账号,多笔付款 &gt; 公账支付,月结 3.跨账簿跨供应商不同收款账号,多笔付款 &gt; 跨境直采 还 先采后付 (或者以前还有的法人支付宝还先采后付) 公账支付月结时 需要采购,确认采购账户按采购账户,导出一笔支付需要的对应采购账户台账明细,然后确认好明细和金额,交付给出纳支付(交接流程待明确,文件交接,飞书审批?) 跨境直采支付先采后付时 这是采购直接操作跨境直采付款. 需要下载单笔跨境直采对应的支付明细,与1688订单明细,与台账明细, 分析处理 该笔还款对应的台账明细, 使用EXCEL模板上传功能, 做台账支付的操作. 含货款和手续费明细. 这样才能精确匹配每笔应付(请款)记录对应的已付款和手续费. 只能通过上传来处理. 无法通过全流程在前端界面处理.如果要前端界面也支持每条记录分别指定现金类采购账户(账户+费用类型+金额),结构会很复杂 20260622补充 适配退款在采购账户中的单独设置, 将"请款金额"明确减去退款的类型 将付款状态里的四种金额, 明确定义 台账付款也要相应支持退款的操作 新增图表和卡片显示查询结果 更新入库操作 更新库存状态 20260625 考虑到当前采购实际流程, 尤其是对于跨境直采,多个采购和出纳共用同一个资金池,需要在数据上控制资金分配和使用,需要给'跨境直采'一个限额, 所以需要设计给'现金'类的采购账户一个余额核算的功能,包括入账登记+余额</div></div>```
```

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E5%89%8D%E7%AB%AF%E9%A1%B5%E9%9D%A2%3A-%E8%B4%A6%E7%B0%BF-%3E-%E5%8F%B0%E8%B4%A6-%3E-%E9%87%87%E8%B4%AD%E4%BE%9B%E5%BA%94">5. ### 前端页面: 账簿 &gt; 台账 &gt; 采购供应商台账
    
    <div>
    1. <div>支持跨账簿, 不跨ERP</div>
    2. <div>基于"采购单(会计版)", 采购付款的操作生成的数据和凭证.</div>
    3. <div>筛选查询:</div>
        1. <div>供应商(本账簿内,多选) , 账簿(默认全部), 时间范围, 采购订单(或 1688订单,多行搜索,精确匹配)</div>
        2. <div>付款状态(多选)+库存状态(多选)+**发票状态(多选)**</div>
    
    <div><table class="ace-table" data-ace-table-col-widths="60;50;84;50;100;90;254;136;236"><colgroup><col width="60"></col><col width="50"></col><col width="84"></col><col width="50"></col><col width="100"></col><col width="90"></col><col width="254"></col><col width="136"></col><col width="236"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YBEpd3OZ5olaZoxPMN0crCrrnuc">账簿</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NCRVdQ74QoTGDBxABeAc5PZfnCg">供应商</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RUfxd8G2WoQFUwx4VM1c2Q49nPe">采购订单</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Gnh5d1QrTont8CxdjmycPDnWnPc">SKU</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L904dN0nOolQT9xUbajclqgGnwc">请款日期</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-I5NTdpRSsozJLrxNIPVc7h7Zn7e">收款账号</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-K8WddnDnfo6K9nxKs7kc3QEdnac">付款状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L0F5dkRzqotW5Sxqht9cL0Ynnjf">库存状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IrVddZH0zoeavrxtFNxcycnunPe">发票状态</div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HiBXdGyqaoxG8gx6SMkcajIpnWb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BeQsddcKIoc6EPxDKkucF7lMn6b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KhRkdluRvoJUhCxK72XcTckdnJf">采购订单 +</div><div class="ace-line ace-line old-record-id-ApVpdTTzZomxOIx8nYVcr3nmnP8">同时显示, 1688订单(如果有)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OAIBdmMHOoDUmzxp6ajc2eOEnOb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HWrodY4a0odkbixdDdacoGdPnrf">以在采购订单第一次开始付款的日期为准.</div><div class="ace-line ace-line old-record-id-NEnEdVsRUopLgExUun8cOFTsnSf">不以采购订单生成日期.</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JfeodLq7Vo3OmaxkwlzcSSySnEf">该订单的收款账号(收款人+账号)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MBPPdSvfqopuzkxoWF4cvxAjnVc">除了状态信息,同时显:</div><div class="ace-line ace-line old-record-id-F5nDdKCG5omJDsxXCRzcwWL1nPf">订单金额,(订单的金额)</div><div class="ace-line ace-line old-record-id-CsKtduetgofbaSxw7OScTpuYnZc">供应商应付额,(采购单里付款明细,包括减去退款类型的, 只包括归属供应商的金额)</div><div class="ace-line ace-line old-record-id-EDhLdTtJgobgpQxAjLvcWzacn9b">已付金额, (现金类采购账户的已付 + 台款付款里的已付, 只包括归属供应的金额 )</div><div class="ace-line ace-line old-record-id-KeDdd2kVCoIoCux1OUdcWrvnnS4">待付金额 , (供应商应付额 - 已付的差额)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PJ34d5p0qou6MdxgJJRcqmmEn5f">除了状态信息,同时显示:</div><div class="ace-line ace-line old-record-id-DE3MdL3bHoP5EjxfCvacSgQ7nAf">库存价值和数量,(采购单的价值和数量 , 采购单里付款明细,包括减去退款类型的, 只包括归属供应商的金额)</div><div class="ace-line ace-line old-record-id-MWrvd8XBDoKv53x2wL6cX1g4nde">已入库金额和数量, (收货入库的金额, 按供应商应付/应入库数量计算单价)</div><div class="ace-line ace-line old-record-id-YNUpdY3x3okw21xze0LcuE6bnWc">待入库金额和数量 , (库存价值 - 已入库金额的差额)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZovsdlVALoODakxmVjWcsIBznZe">除了状态信息,同时显示(不是"开票完成"的情况下):</div><div class="ace-line ace-line old-record-id-JeKHdGkUeo8vzpxHXvgc3wEJngd">应开票金额,</div><div class="ace-line ace-line old-record-id-LiEzd6VM2oqSuGxqhR4ct3nznJd">已开票金额,</div><div class="ace-line ace-line old-record-id-AahpdkEQjoJWQcxlLpQcyJoqnhc">待开票金额</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QrCmdEgibo5iA1xzpRTcXI3hnZe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KrAndqz5JoKC3ExxqaKcjBTZnAg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ErL0duda8oE0Esxt83ccNdeen4g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J4DedvJ6lof0gpxQqVIc3z1inpc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JOksdU2akog8YZx4GH7c8OQMnKc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-X5gZdmrzxopIF2x0mHycnBVEnvf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GuP3dJ8uFoTy8rxH5aGcqGBBnGb">点击可以弹窗显示,该笔相应的明细:</div><div class="ace-line ace-line old-record-id-C4D1d4R7logbd3xI9S4cvsQvnmb">采购付款的明细,台账付款的明细, 以及对应的凭证字号</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-B2sCdvrWJoSyXnxEiOMcs3cqnSc">点击可以弹窗显示,该笔相应的明细</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DNhLdgFH2o4eSkxgHzDcAPslnLh">点击可以弹窗显示,该笔相应的发票明细:</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GNbcdJgieoXTRCxhheRcmOHZn9g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TYBtdiewSoNbO7xlRWacxiY3nid">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ETAAdRnwDoNl8gxAaMSc6jEKndh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GrLkd7zjeo8mntx2IEicuvv1nvc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YL7Od6Gy0ouWduxD6fwcrBhKnNg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FGhrdSW90oRABMxUsKVcadR0nUh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HBZldELMson7hvxc4g8cDv7Gnsb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XPFYddyMLo3l1Wx0Vanc6qxgnPb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ph7Zd4Ii6oHa7jxNR0icwgzqnbf">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IhcbdfLNLo6afVxQQoIc8tEtnGf">**汇总行**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-H2L2dTGz4oDrqDxXNb9cR5cQnDe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VriCdAO0Xo6du6xRb7ocRiOunqf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AowmdzvOToviuSxWaggcRpz3nvf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FvpYdlKP1op8RWx3WDCc6yHOn1c">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JDHbd71rKofSgVxVhjjcSXHhnUb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MuuEdYzRFo7OJrx7LZBcp9BFnEg">汇总</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Bzlwda3YMoqV3Yxnz1Bctl1FnJc">汇总</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WUZbd3qNDofjzmxN2Tyc4ePInve">汇总</div></td></tr></tbody></table>
    
    </div>
    4. <div>适用于存在大量数据的分页功能</div>
    5. <div>支持导出EXCEL数据</div>
    6. <div>支持列表最下面, 显示查询的全部数据的汇总: 应开票金额,已开票金额,待开票金额</div>
    7. <div>支持, 单独勾选/多选/全选, 操作: 供应商台账发票入账+导出供应商发票数据</div>
        1. <div>勾选时, 前端动态显示,所勾选的数据的汇总金额, 三个开票金额</div>
    8. <div>支持 上述的表格页签 和 供应商统计 切换查询结果.</div>
        1. <div>供应商统计 页签</div>
            1. <div>表格显示, 按账簿汇总统计,关键的供应商的库存和发票金额, (汇总,无采购订单明细)</div>
            2. <div>表头: 账簿 供应商 库存的三个金额和数量, 以及发票的三个金额</div>
    9. <div>供应商台账发票入账,功能页面</div>
        1. <div>选择相应的采购订单,然后进行付款.</div>
        2. <div>操作流程:</div>
            1. <div>在台账列表里勾选后,操作,跳转到台账发票入账页面, 自动带入,包括账簿,供应商,采购订单等,点击发票入账提交, 对应采购供应商台账发票指定的会计科目 (预付账款-ERP采购供应商)相关配置生成凭证.</div>
                1. <div>输入: 下拉框,多选, 选择该账簿下所有的可用,未入账的发票,</div>
                    1. <div>模糊搜索, 发票号码 和 发票开票人</div>
                2. <div>显示已选择的发票的信息列表和发票金额汇总</div>
                3. <div>发票金额,不可填写.使用数据库的数据</div>
                4. <div>账簿,采购账户,订单/SKU,供应商及其收款账户,不可更改</div>
                5. <div>用户核对: 选择的发票 &lt;&gt; 选择的供应商台账明细, 提交做发票入账</div>
            2. <div>excel模版上传:</div>
                1. <div>导出台账数据, 编辑整理后,上传生成"台账付款"数据</div>
                2. <div>在模板中指定每条记录的,数电发票号码 + 发票入账金额</div>
                3. <div>校验:</div>
                    1. <div>一次台账发票入账,</div>
                        1. <div>其对应的台账明细, 必须所有记录都同一个供应商(不可以是跨账簿的)</div>
                        2. <div>所有发票对应的账簿必须统一是一个</div>
                        3. <div>填写的发票金额 = 发票上的金额 = 对应的台账明细的待开票金额. (EXCEL模版提交的需要汇总每条记录的发票入账金额)</div>
                    2. <div>对应多条台账明细时, 提示用户,需要将发票金额分摊到台账明细中. 直接按每条台账明细的待开票金额进行分摊.</div>
            
            ```
            ```
            
            <div>采购供应商台账 主要用于管理采购过程中,供应商的发票,查询未开,入账,订单相应的发票情况.等等 先按账簿+供应商, 或供应商,导出其未开发票, 数据处理, 分出,相应的收款账号-账簿-待开票金额, 发给供应商确认,让其开票 收到供应商发票后,做发票入账, 使用之前下载的数据,处理后,上传,关联采购订单做发票入账. 少数情况,可能是单订单-单张发票的入账 使用发票API数据获取账簿公司下所有的发票, 来保证账簿-发票 对应关系 根据情况后续可以:增加**开票提醒/催开票**功能 前端按供应商生成未开票明细 &gt; 对接飞书/企业微信 &gt; 供应商+对应群 &gt; 发送消息. 20260622 补充 更新四种金额的定义 更新库存状态 提供按供应商汇总小计统计 20260626补充 增加 '请款日期', 在表格中</div>```
            ```
    
    </div>

6. ### 前端页面: 账簿 &gt; 台账 &gt; FBA承运商台账
    
    <div>
    1. <div>支持跨账簿, 不跨ERP</div>
    2. <div>基于"货件处理", 发货处理_发货 的操作生成的数据.</div>
    3. <div>筛选查询:</div>
        1. <div>承运商(本ERP内,多选) , 账簿(默认全部), 时间范围,</div>
        2. <div>付款状态(多选)+库存状态(多选)+**发票状态(多选)**</div>
        
        <div><table class="ace-table" data-ace-table-col-widths="60;50;50;50;100;90;254;136;236"><colgroup><col width="60"></col><col width="50"></col><col width="50"></col><col width="50"></col><col width="100"></col><col width="90"></col><col width="254"></col><col width="136"></col><col width="236"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RRwUdlJcponpNTx6xsEcRWednce">账簿</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Uagsd9JVKoLslWx3LjjcWTIGnvq">承运商</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PxprdiXMvozwkJxEIeIcbj1cn5b">FBA ID</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FVb3drKFWopgsFxEYWZcWDstnsh">站点</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-E58rdkYPEo2Silx0t9Hc086nnwh">发货日期</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GpTjdy1Ztoq2R1xvzyPcQNqbn0O">收款账号</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LsIHdnsdyospzKxUK26cqKbonKg">付款状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CD9odaMcUoqucGxKU11ctj2QnOf">货件状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-O3HcdmD8Eop4ZnxD1cbczrMSn2d">发票状态</div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QuN7drNbtotr1wxs2FncS7MgnIf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-E0fldfUdRon443x7A04caghZnUc">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NE58d96OoogNwwxgUIvc1z2Snyc">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vk3edJF8hoqEfRxsAeRciJusnHb">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PAeCdsYMvo1Dm1xPO7xc0ykEnYf">以在发货处理点击发货的日期为准.</div><div class="ace-line ace-line old-record-id-Xj24dgi2ToQZ7wxdifZcFiErn0c">不以采货件的生成日期.</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L4Qbd9LMhon6bUxNss3czZxSngh">该订单的收款账号(收款人+账号)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CaEhd3o4Voxzg7xHOE8coTHdnTe">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SuBBdPdhWoZcdHxJuSEcmCYjnUf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ONqxd34UGoWpnixukGAcgRlHnEh">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-V3hRdVFrHoPZF9xVAPAcYlbSnWh">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EPgcdlye9oyjl6x2lTTcP990nIe">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YxMvdHZNpoDRNtxRzhhceYvKnkg">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HjnFdh1XzoyNWnxO4hUcBRwCnHd">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LOmXdJVzZoP7XExxAvhcwfymnpc">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VYpOdCYgbo7guzxjEpGcgFVenri">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QAyGduMxnosO5dxs6XwcBgl9nrn">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SL2Sdn3AMoIku6x9q56c258Rn0g">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SI4udaiRpo25l8xyPx1cYQkOnAb">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XPqndlQ8JoheTwxDJjgcBQbPnjg">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XqwBdRr0To17UUx0apmcqoHZnJe">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Sz9cd8SnjoZj8uxWqZxcQfytnog">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SqJ9dr9SDoQd7bxoWpdcP71Hnpb">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-W1xhdVuiyoqYgaxuwamcpFeYnie">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IeCcdBVG5ofDXnxFfwYc4wlPnSc">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KxGIdsXcpoYACMxfi2EcNNTynbc">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DUoede2gLoSxlHxSlrWc4k54nod">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Dv5rdMLS1ohuLoxqS5ZcLaRonFb">  
        </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BaQddDaMroGF6vx3xQkckbAdnId">**汇总行**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J0GCdb5dvot5qexzfzQchQqJn7e">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IMAhdNlzlolcI5xrEP7c4CYQneg">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MeQqdM8PYoiUidxJ65DcX3Dwnad">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Qobfd7kd4oxdRUxB2A1cIFlonxf">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WnRcdweEhooWfrxNgXccwRaJnHp">  
        </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NqJwdD7kMow69RxFVJqcnTCYnQb">汇总</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DCW3dCXnfoXoZsxUUnzc9zRXnHv">汇总</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Nqh2dDQFMoHjxnxdHUwcrYLJnMd">汇总</div></td></tr></tbody></table>
        
        </div>
    4. <div>操作</div>
        1. <div>支持导出EXCEL数据</div>
        2. <div>请款</div>
        3. <div>(20260707)支持, '结账'功能</div>
            1. <div>结账后, 该日期以前的发货订单, 不可对原有的 运费等做操作(改删),只能新增操作,不能修改</div>
        
        ```
        ```
        
        <div>20260626 FBA承运商台账 主要用于管理在FBA货件发货后, 对物流承运商的货件,对账,付款,凭证, 发票等操作 对账:暂拟流程 从发货处理模块发货后,不产生凭证; 在台账处,确认哪些货件可以付款,请款操作,产生凭证(付款,在途等) 需要支持单个货件,多条明细,付款,退款,加付关税后续等的情况.</div>```
        ```
    
    </div>

7. ### 前端页面: 账簿 &gt; 台账 &gt; 发票台账
    
    <div>
    1. <div>支持跨账簿, 不跨ERP</div>
    2. <div>台账API配置 + 同步任务详情(同步时间,失败,状态,条数等)</div>
        1. <div>同步的是按账簿其下的所有发票, 进和销项等</div>
    3. <div>页面包括: **进项发票台账 + 全部发票查询**</div>
    4. <div>**进项发票台账**: 筛选查询:</div>
        1. <div>进项发票是指发票中的"购买方"与本账簿相同, 就归属于该账簿下的进项发票数据.</div>
        2. <div>账簿(默认全部), 销方名称(模糊搜索查询,下拉结果选择) , 时间范围,</div>
        3. <div>入账状态(多选)+发票状态(多选)</div>
    
    <div><table class="ace-table" data-ace-table-col-widths="60;149;100;90;141;185;160"><colgroup><col width="60"></col><col width="149"></col><col width="100"></col><col width="90"></col><col width="141"></col><col width="185"></col><col width="160"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MxAVdj2VQovKNMxnVsoc4fhxn5c">账簿</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QLYUdc5i4o65b5xrOfXcSP48nMd">发票号码</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VMSadJOlcoCQemxQQLPcDiW5n0g">开票日期</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HhhkdDtpmoa2S4xqOMwcHxWRnpv">销方名称</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MbzIdWrQBo6mJNxlAC5cPV95nto">价税合计总额</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UZ0zdFWpqoV10exxXIPcg0Hmntg">入账状态</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-T0DtdSeGGoClyaxXh3Jc50Knngb">发票状态</div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WmDFdU5F8oUMX7xoOzvc7w2Nnhd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Tqyidlm4rog1AlxjpFrcHvU8nAd">数电发票号码(非数电发票时, 显示传统发票的代码+号码) , + 发票票种标识 (自行设计, 数电普票/专票等标识)</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IELRdbRU7oJhEsxWANEcHGJNn6a">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JHHMdUFkFoEUDax7F9gcng56nZd">开票人公司+税号</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-V0mcdJwqfoMTxNxY7fAcKfSjnTc">价税合计总额 +</div><div class="ace-line ace-line old-record-id-ZcuVdjESQofg5lxT7ZOc2qlpn2c">不含税总金额 +</div><div class="ace-line ace-line old-record-id-B1WcdQSNYoVk38xsRP6c6OqRnJf">总税额</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-X3Y0dfRN3ow1H4xKvukc9B8hnFf">未入账</div><div class="ace-line ace-line old-record-id-WBfidSK0SoApiBxRDqNcXFxtnkH">已入账</div><div class="ace-line ace-line old-record-id-GUsedlNkCoVh8FxOHc6cMWBsnFh">进项转出</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QqWsd1YHMo05XuxtSH9cFXa0nUf">正常 / 作废 / 红冲(全额)/红冲(部分) / 失控 / 异常</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MtThdlkiQoTqq5xu0DCcZ7VBnDc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LTjLdxoNtoBbVnxMdruc6x0mn9d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GiOKdRCKOoMimyxuwFqcNzhdnfg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NH9tdRbGYoWnHDxqHMmcaKQvnih">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BlN3dIAH2oerDUxoFelcawcznRg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XHvMdJCpLoVUBfx110ncXEWAnHg">点击可以弹窗显示,已入账发票,相应入账的凭证明细:</div><div class="ace-line ace-line old-record-id-RufKdS1ARo08BGx9F4zcqlk5ngd">字号,凭证日期,等</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HPo3dCSSnomdsQxEqs5c54L3nKf">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FytldttXHokiaPx9htrcWThdnah">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FHUudFAPnou7SNxtZgpc4WFUnBB">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AcXMdmazYogsd6x2lNickERSnfe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DhKkd5501o4LLqxpWGtctK2Lntd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JhwudvHfco29jmxhoNzcFGxGnuf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HJr5d73pqoFWGkxLxv8c3zbNn7d">进项转出:预置.以后才需要.</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SUMNddtPIoCHqBxrWC3ceAlRnJf">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-E6BSdR0xfoxe1mx3jolcvCASnCb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NnIsdjRXEomVekxNGbHcObYEn8e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZbR4dZcYhoKTvFxW8nUcwW3Dnuf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BIrTdbuSeo8FnAxET4dcLRqInTg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ExjWddKQ3otSAixT0w4ckFxXnbc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZkQ2dbZeOoTW7ixspAMcJw3Cnye">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UZobdBuaaotPA1xvkBGc8Dy3nOc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CdsPdEe4KoPVn5x10Aic393Nn5f">**汇总行**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-G3LZdlu0borNrSxnZsic7titn8e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XUU6dXRwsoygpTxxLQXcfKfznkd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-P2Y5dV0mmofaDKxVXgacRbHnno0">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ntvvdb0JKoPBlOxMn2Zcy4Wpnug">汇总三个金额</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-T86kdZmYpohOFFxe4wKcdlMNnab">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-H5ZpdBGBdo2pb7xDwHScsWFinEf">  
    </div></td></tr></tbody></table>
    
    </div><div class="ace-line ace-line old-record-id-Zs3FdoswFoFzJ3x8E0Tcrg34njh">  
    </div>
    5. <div>进项发票台账 : 支持 上述的表格页签 和 图表页签 和 发票统计 切换查询结果.</div>
        1. <div>图表页签, 显示日期X轴 + 三种金额的数据 + 显示数据点的数值标签</div>
        2. <div>发票统计 页签</div>
            1. <div>表格显示, 按账簿汇计统计,关键的发票信息</div>
            2. <div>表头: 账簿 发票数量 发票三个金额 等</div>
    6. <div>进项发票台账 : 操作</div>
        1. <div>勾选发票 &gt; 手工录入凭证(发票入账), 等等</div>
        2. <div>手工发票 入账+冲销</div>
        3. <div>自动匹配未入账发票 (后续,暂时不用)</div>
    7. <div>**全部发票查询:** </div>
        1. <div>按拉取的发票数据, 查询全部发票</div>
        2. <div>支持将税务分类编码,对应查询前三层(前5位)的税务分类, 存储该税务分类数据(税务分类编码对应的税务分类, 映射关系, 可以做前端页面增改删+导入导出维护)</div>
        3. <div>筛选: 账簿+数电发票号码+销售方+开票时间范围+税收分类+发票票种+发票状态+正数发票+风险等级 (实际根据发票数据既有的重要字段设计)</div>
        4. <div>表格展示 + 图表展示</div>
            1. <div>按查询结果, 分为进项+销项在各个税务分类, 的饼图, 比例+金额.及点击弹窗明细</div>
            2. <div>价税合计金额的汇总</div>
    
    </div>```
    ```
    
    <div><div>进项发票台账 发票一一对应, 状态, 凭证入账查询等问题 20260622 新增图表和发票统计显示查询结果 鉴于近期商务局的信息,行业后续可能支持成本分摊,A的发票a1可能可以用于B里核算成本.即a1可以入账到B,以后可能需要相应调整这种逻辑. 20260625 按当前税局导出的发票进一步设计, 进项和销项管理. 需要后续进一步设计关于统计分析的.</div></div>```
    ```

8. ### 前端页面: 账簿 &gt; 台账 &gt; 本地仓库台账
    
    <div>
    1. <div>支持跨账簿, 不跨ERP</div>
    2. <div>分为 汇总账 + 明细账</div>
    3. <div>汇总账:</div>
        1. <div>筛选查询:</div>
            1. <div>账簿(多选), SKU(模糊匹配), 本地仓库(全部,多选),期间(按月汇总),</div>
        2. <div>类似财务报表资产负债表一样, 提供勾稽校验的标识(校验期末库存与相应的会计科目余额, 可以点击标识 &gt; 设置对应的会计科目, 对应其余额校验)</div>
    
    <div><table class="ace-table" data-ace-table-col-widths="60;60;90;59;100;90;90;126;100;100;100"><colgroup><col width="60"></col><col width="60"></col><col width="90"></col><col width="59"></col><col width="100"></col><col width="90"></col><col width="90"></col><col width="126"></col><col width="100"></col><col width="100"></col><col width="100"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BCvAdIm3AoH7xpxeZCBcfpvbnkg">期间</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Gtx2dK7dXokRSwxf385cjpfrny4">账簿</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vw5KdBcYxo2F8yxJRoCcV4aenbg">SKU</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GdGJdk0ycobagGxdvJZcw21on0f">库位</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GCAydqnEOoJRNFxr3ajcRB8Enbe">本期最新单位存货成本</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vt4vd6ABroCKDixxFLRcX2llnAh">期初库存</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CrmddIH4HoJmXsx8fbAcSnJYnAd">期间变动</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FoX3d3K3rojnJFxtzkCcZurunLd">期末库存</div><div class="ace-line ace-line old-record-id-EkLcddMq9omNJBx986BcmEPwnVd">  
    </div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MU6id5TlhohCLXxUG70cZ49hnme">  
    </div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TrkGdpmfqofCExxzPAZctdDFnYe">  
    </div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WzqbdmJsHoJZkux9UmEcvAKZn1f">  
    </div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GpEbdHifuoauAPxpwudcDSisndg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CND7dMX8ooBHoLxKV8tcPfbdnBa">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CeXxdes4Ao40XDxaAHJcXyd7nGK">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HJOSdzISgosjOyxywZ6cdU67n1d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UU6edV9BXoczRRxOrygctQl0nec">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IPEFd6HCZo5T0axzT9OcUSMwnGe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UP5Ud1MBroNMmUxaCnscNGWPnNh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MGHwdGNFUo7yjtx1ImPcNiWHnub">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZZsodLTcGorlTyxNkaFctbkrnkb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QQt2dDAE6oCivjxJYsEcjkz0n3d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GATCdfpWloqYtPxhSa4c4Wofnch">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Y0gedMJdMojsQhxAP62cfY87ncb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XuVXdkJF5oKBCfx10m9cHVOcn5b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WI6sdqYG6of2JFxsbjvcq5r7nWb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GvLkdMAkXoTjNjxY4vjcSMQMnpg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SJNjdC9CNomP6TxK8NXcswqPnZd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Gol6d55VnobBtPxQYH9ckPJqnQe">金额+数量</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-A0nKdU5I5otvTTx9XyVc7Ln5n3f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HFRPdshUNo9O9Bx7wwvcm9PYnNb">金额+数量</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LcKtdkwyyorTzfxl37YcqyYNnDe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FS2ydqOYvozlrBx3OVhcGk37n2d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Bhs2d0Y4Nobz0sxDp54cv4MHn40">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NlYhdUj0loTJSbxDr2gcX3SYnoY">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-N6SzdXE7toSEDsxnulVcoEh9nbg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OlmBdota5oO9LvxeRZ4cZhNKnug">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VqvcdZb7joDDi1xmBMbckaSjnSh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VH1MdDMw8o3Q9Cxi8wJc3NNqnwb">点击可查看本期的 日期/单位存货成本 变动图</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZAjTdDRBAoz5m3xay7dcIsUynrg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BqUCdeDAjo09pdxN7oecTTEznob">点击可查看明细</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IJARdgMiBoTQ29x3QhJcyCTEnrg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TpgYdsegVoOGC3xBO6YcdYAZnce">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UvRadVCOwoSrhxxcAZUc5ZoKnGd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-S5msdZrIEosgsuxwVWLc9wX6nWh">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IUT2d2FmMo6yByxpuQlcvSQLnRO">**汇总行**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-W5MvdyiakoDODjxbUywcghQsnMh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Iqzldw5wOoZcjTxDePMcJebfnCf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J23DdajZ0oaEi4xSIT5cm778nfb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NBfJdh4eHonzd1xRAjHctazbnyh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PwOSda9BYoeAb8xxERdchoDhn6c">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UzCGdquwxoGcmQx7mQzcZuchnrH">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YjB9ddM3ZoDVVDxYDx8cc5d5nQh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-B7oHduMuDoqp3bxD3B4c3SeSnJe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZkXWdLDc6oYCChxNHXGc5d0snyc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DAX3dKLWjogBwex9raUcCzBgnid">  
    </div></td></tr></tbody></table>
    
    </div>
    4. <div>明细账:</div>
        1. <div>筛选查询: 账簿(多选), SKU(模糊匹配), 本地仓库(多选),操作时间(范围),库存操作(多选, 操作类型), 单据(输入,精确查询)</div>
        2. <div>  
            </div>
    
    <div><table class="ace-table" data-ace-table-col-widths="60;90;59;90;141;126;100;100;238"><colgroup><col width="60"></col><col width="90"></col><col width="59"></col><col width="90"></col><col width="141"></col><col width="126"></col><col width="100"></col><col width="100"></col><col width="238"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RO0sdCMQeoe5UZxrSbucB9EqnSb">账簿</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Yjl6dC5TloAXjKx9SLac2ao9nSe">SKU</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YHZTdqCVmoDrPNx9OnXcftuynCb">库位</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HlZVdDgXsojhtBxw9OyclXXjnjc">操作时间</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IieEddGlBobC34xlrWicBxSKnAc">库存操作</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Anskd6EvWof7zNx6ngwctaGOnmo">操作数量</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LRgIdbtWcooQUpxk5Jvcc62ynyg">单据</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Lk99dMCxBob9o8xDJLFcYO9gnwe">库存价值变动</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WqnWdb0mZo5LPSxw9kGcrEpPnWA">单位存货成本</div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UuiLdUDZmocxHux4MX0co6Mgnfb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PsxsdfiPhoMivMxxjezcc8hznyd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Cyvhdm4mJouBpVxENGbcKhRPntg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LzTrdyHtjokSUDxxEojcrSLnnpd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Y5AtdhZGqo2ed8xjsXmcjcXFn4f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VlLmdZvBYo48XfxCGeSco2wXnWh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HjKgdP1yuoY2Q6xn7CKcSI9unib">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WGBFd2QG5oJtZUxmto6cOG2BnTg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DO7CdeleNoUiSkxthYuc0m3Qn8c">该操作对应使用的存货成本</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KuSFd27BgoEMBaxRH4icbiNuntd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J0YQdGFiFoDs7sxxv2tcmR7dneg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-U2WvdkP97o3nffxAJa1cYhRsnec">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TJE6dri7Mo0SgPxAVDmcoWQ3nYb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TrmOdRWqnoCn3ZxKFEkc1WqSnlh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VD6NdxllooUgxsxmjg7cXIRjndc">以相应的 正,负数显示.</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Bp0hdnRb6oGgqaxkFUgcjmJ2nmj">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HwR2dkFqYotM08xI6fPcColFnwb">以相应的 正,负数显示.</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KnKzd7lrio1lCsxv72Gcn1aznCg">涉及采购/盘盈/暂估(其他)入库, 等会影响存货成本的操作时,</div><div class="ace-line ace-line old-record-id-IoxJdQYE9orTN8xoCXKc6qE1nef">点击弹窗, 显示, 操作前, 操作后的 单位存货成本</div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FQ4zdt6zPorVrkxdHEicmy4dnSp">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TiDydAWA8ocwSwxVBgOco4KQn5z">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J9SEduKagojH85x3p4UcH9Dcnmb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NfvVdFMNjoQHACxjiOHcGErfnQh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KrCUdf4UBoKKTaxVhDCctrlnnmb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UfAOdQ3gyoiN7ux4vDDcrNJhnMb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Oc8ldIEwgo0h19xVGeYcvr6onOf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Yos3daJfmo5FJUxRNfZcvIGUnDf">点击列出相应的凭证明细列表</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HfyidmYmyoXxnJxVwdlcIAu4nFe">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MBYldsxoiovWsfx0SGUco1i5nfe">**汇总行**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Z4i5d2PR7oXHxSxNJClcAK4Xndd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XR77dmVaMoIPVgx8eBbcWuegnWf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VuMhd1G4ZozLWPxtFRecsJgyn2j">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GUe1dlvIdo4A9AxxszBc3qINnuf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Tkl8dQUr3ojfgoxYFMecUaFWn6c">汇总需要对应库存操作类型, 加,减计算</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OAotdgeGNoN9gmxdXCaclWchnmg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NafCdHQO6ogvUJxdHTec39eRnih">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LgkBdgmDRozjloxrdINcnxcXnZf">  
    </div></td></tr></tbody></table>
    
    </div>
    5. <div>  
        </div>
    6. <div>操作</div>
        1. <div>盘点</div>
            1. <div>盘点会相应生成凭证.需要按进销存配置</div>
    
    </div>```
    ```
    
    <div><div>20260623 (初稿, 需要进一步优化补充) 本地仓库台账 主要用于本地仓库, 明细,SKU数量和采购加权平均单价,移动加权平均, 盘点.等等 勾稽校验</div></div>```
    ```

9. ### 前端页面: 账簿 &gt; 台账 &gt; FBA仓库台账
    
    <div>
    1. <div>支持跨账簿, 不跨ERP</div>
    2. <div>分为 汇总账 + 明细账</div>
    3. <div>汇总账:</div>
        1. <div>筛选查询:</div>
            1. <div>账簿(与亚马逊店铺一一对应), SKU(模糊匹配), 仓库站点(全部,多选),期间(按月范围),</div>
    
    <div><table class="ace-table" data-ace-table-col-widths="60;60;90;59;100;356;90"><colgroup><col width="60"></col><col width="60"></col><col width="90"></col><col width="59"></col><col width="100"></col><col width="356"></col><col width="90"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-O3EMdPxuWoTQ6WxdxelcZx7indd">期间</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YrrWdGaG6oFwd5xer3jcQPDNnub">账簿</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SM8FdiBb6oioyhxc4epc3pBsnbe">SKU</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AfKPdWEkgou6B9x83ZocEHXonqd">仓库站点</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DRxwdM0CKo8saGxWwHFcEF9Tnue">  
    </div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-I28sdQnixorNK5xdf7AcKDmsnbd">  
    </div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TBQ3dA6dtor5qkxiotlcnQjEnId">  
    </div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OFbudYTOqoVzsxxNiTmck4Gbn3b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-P88kdgsELoeqelxE0VKcPsKnn7e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XQKtdzll6o0jMrxT3A7crrtlneB">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-O2GedxJ6PoY2xNxr5C7cdPrrntb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-W8xXdu7mpopaobxVS1QcUtZXnni">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Df0FdPPHGoeBryxor2CcinhbnSb">完全按Summary view的FBA报表 来设计</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WsH4dAY33ouMOnxCIMIcss9gnTb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XYf5du7bxoOG1nxHznbcKRxQntd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OAVNdVUbzoIdIZx3FuXcAG31n7g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Fyb2dTH3uogseJxwOX6cMA0LnCj">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XCtTd3yCMoGeGFxXu4xcf3CDneg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Q6nVdLN5Uo21jRxcFglcw4fUnQb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WZ1RdJFncoWsYJxB4LJcjsSvnnc">Disposition</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CVB7dxK0ioVmlwxd7XRcnklmnbB">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BF8BdggGkoeNXVxye5mct5D6n1d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BqpFdxlkmoaeNSxRI3KctBLtntd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OLXMdN8TYoKbtDx6YADc4dtCnqe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GmMsduRmhojjMsx54Q8cNrCUnBe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XOjldcBFXoEJRSxg0aicaeQBnRc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MOyZdNn9jobFwkxR7Eock7Oxn2i">Starting Warehouse Balance</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CkDHdvRY2ovEjIxJlqlcZ0WNn8f">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SiGJdU769oFk1VxMd6McMlvKnQd">  
    </div><div class="ace-line ace-line old-record-id-MzuUd66RCoxdJxxo4WZcnMftnYe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WuL6dSIb7ozVfrxx3S8cjpmancc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-F21UdNAGoo2pCSxlm2Lc4W99nNb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IefCdjqq3oZDlbxupUPcf56Hn0b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ox3MdQmYRofoNcxIAE4couKhnZ3">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FfWqdJcjYoBJB6xtDcTcClyPnSg">In Transit Between Warehouses</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ph2jd65DEoumA1xd3ZDcCsZjnrh">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SqJ2djXomoyTZ8xXq1Kc0kKdnXe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-URWIdl8qJolpkJxAguYcVFvVnCe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GMYMd1tRTo912LxBpoHclc04nKA">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EfytdSxK0oIRbVx6YtScgjrRnod">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-M4CndSeDwotvA2xoEv6cKHBKnOf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UQ1Gdtgr7oa7MIxBhnJca7xXnWf">Receipts</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EUJqdpBOcoOnKbx6dj8cEyP6nig">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-S2j1dOw0ToPcywxLAnIcSlsDnSg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DZk4dldf4oaUSqxcoj6cbQUFnJf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OsWAdIvSMolrTsxScqmcMgoVnZN">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Kmg6dZ5WIoEzNrxeYzncYnzknxb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MmlFdogsWoFsyaxuA0acfa3ynSe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-E5Bqdexy0oArC3x4yLTczUySnbe">Customer Shipments</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RD5xd5PZPo0M9SxfouHcqLftnXg">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ImDQddINOoXbzex84VTcmXc7nTb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-U12hdMrpNoTzXKxm5Q5cS107nwe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BCUrdOzf4ozz3BxcLxVcyvudnvd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EECtdmL96oOj3DxLf5pc9O0Pnre">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BPt9dg9Z7oY4OxxOisTcXVcxn6g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-AGm0dOoOtoN5aKxPNRqcbYJFnXf">Customer Returns</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-S4rydon3TovBXsxCBngcb3fgnyc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SYRBdl93FoX0SzxXZ2GcPFBtn5N">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MPZXdeCiYoHI3lxenRQcmNLrnOd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SFVFdZyABocJDwxywLBcH9O0nke">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Dzm1dueWJo7INJx1Uk1cBKtinWe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-A1rHdCd4DoQfjuxpTNjcbo8Zn4e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CeB5dcEdBovEmNxpCjacsrF9nCe">Vendor Returns</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VoJ7dZcFjocUgdxuA1xclDSknlb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VocTd38VuoFpsoxcFrHcRTbln7g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KfBodioY2oQBsjxKXFTc31Ihn1e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VMUsdf6mFoKzjdxTREuc0i9SnMd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-INIKdWV9WoArGhxrU5CcClcvnGe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EutFdpYXhorhLWxA0rzcZtXAnUh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RCdSdoGSKonpW0x1ptMct3cQn8g">Warehouse Transfer In/Out</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OV9AdidlPoG3hFxEvc5cxyNYnvb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VP20d5xNeoKr9WxhKc2ce8IKnCf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SNgldqGDzolV6VxSU0dcSUWLnWc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TnyzdwDu1o19LixGLpHcdjRSnmc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-J0bhdc6UCooXt2x2KP5ckN2Tngs">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CDUTdTjIioLqiVxTJ4dcecBpneh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-W5HVdZB8koXTA0x771YcvFm0njh">Found</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DwzKdQxXxovSAbxnMpCc2l8znCe">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-A6U3dNtBJoNmnxxh932cqIsYn8S">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EfbMdMnDXoKL8SxZtWYcSV6xnlg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LRTwdqpt7oe4g9xz82pclr2snFd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OEzqdJp27omno9xYqVzchuWgnSb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CQBWdlWsDog0uSxRTxlcicrRnrg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Hw8Vdr8TSon0Qqx4SF3cK9ajnAE">Lost</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Q1RedyAX2o6LZcx6NAAcbxTHnZg">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-URkKd0vGKowKUTxOyBVc6LxknAe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZlOcd1pcnopNZ1xerhpcufGcnbd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-V9JpdECBqojkcexBrQoctVEBnzc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XBzBdq1avoQC5DxnrYIcOwE2ntb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UrDXddCuMozgg0xGCtJcxHhhn8c">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-E9I0d0hDeoO98UxU6K2c6w5RnL2">Damaged</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ADJmdYoANob22QxRnGUcCHD6nmc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-V02EdYYTTogHGExp6M9cmQZanmc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CYZMdvTe6oHItaxErDzc4nWhnVs">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KGH7d2ETtousQXxOBemclXxFnJe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GIDZdT8DRoKX02xYlG4cr3N8nFs">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Vzv5ddDTXoYrBjxle46cgprhnnc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EdvndBtijoM5HyxfkjOcSXjnnVc">Disposed</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IgfmdtopwoEVcmxteXZcYQyHnfc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L2VDdTUASonqHdx6chici75onch">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SWZ9ddEmkoh4TOxejbgcAmdCneb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EFazdKzomokS0ExXQ27cFilUni0">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Gs6gdjwYbot35JxDeVOcKTcwnGb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UpHjdJ12oolJq2xVc2Mc137JnPh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IRCrdN0dpojfkcxBAuYcHu5knVa">Other Events</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TQuqdWJKtoLGp5xEuNscaPtjnp8">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SKfHdERoDo8pXnxL9nccPaL4nqc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SEVpdPNItoLk7ix3sitcpGumn6c">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LENydiPptoRddpxH6JpcZrf6n9e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SuZednULHopWbcxufvUchPIZnCg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VcS5dje7VotHApxDgqRcep7Anag">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VOjJdAWvDotwykxyGyecara8nmh">Ending Warehouse Balance</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HZYPdxjntoY6DIxgWjfcFjW7nnb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-H9RCdvexxoDwLExJpzzchBFMnHC">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-R2T2dafPIoKUdxxSsD7ckQKrnGd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DUD4dezK6opwhaxrhFxcJPiKnui">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TXrPd1b1MouvVDxA0r7cPhA1ned">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WRIqdxlkEoKoumx30FZcArD4nNd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VWVFdle7BopUs3xwOANciiU2nsJ">Unknown Events</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HG7HdqIbroxxKHxay3XcLvHtnyf">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ShyrddMZKo4bSPx8ZMhcARovnK0">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QngFdN3U9oa6GdxxhKgcjMxvn3b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-YZLHd86lKoJQPLxDUIZcIysKnth">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IdS9dlKGfoURJixOdxncx1wAnNb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WUAudzAvoorDJjxGA2ScmGubnmb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OEqgdHGRroRSpzxOlhLcV5xbnIb">Location</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DATCdEVZ6oZQGdxXkjNcNrjEnHb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VHDDdW2p8ofHmfxDuU6c2yZVnVh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XBOJdVcbho7O7SxNqckcx7z4nSh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Lyj9dlbg7oMSFqxcWKzcKK41n7g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NpvTdkER9o1s3mxAP1McN2dNnif">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UgR1dRnjVoJ4oZxTcIBcAgHGnbh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WeAxdQdRYo8WzTxwEEdcPTaonFf">Store</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HOmNdKf6nouUm9xCjNHcQiDVnKf">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MGJ6dh4sWoVowmxKbghc6zmdnAf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JKABdDh5QooNfnxrirBc3a6un7g">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OHpwdrniNoP2aPxCrC0cdzFQnXb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Q45pdozSXoVfUPxlyjWc18Onnhf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LxrKdm0j6o3QtDxtm3FcTAianqg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SyLQdhNOMoTMafxXZlJcEY3mn2f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ixy6dJRimo7yrLxzR1qc3nAXnVc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IFjAd8YIHobyL1xE7v9cYOMvnDc">**汇总行**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HyaMdSGPBotYEVxXPrhcb0L7nGh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IZn3ddzAJoMQAKxkNbbcjAa8nud">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-O5atdNicOoJQpxxnERhcnm1jnih">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EhDgdFzsco9Tj1xgx4zcdO27n7c">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Xg35dSNR3oY4XNx3JWDcvG20nYg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RWQfdpFLhoX3RpxWcoscWZQMn3d">  
    </div></td></tr></tbody></table>
    
    </div>
    4. <div>明细账:</div>
        1. <div>筛选查询: 账簿(多选), SKU(模糊匹配), 本地仓库(多选),操作时间(范围),库存操作(多选, 操作类型), 单据(输入,精确查询)</div>
        2. <div>  
            </div>
    
    <div><table class="ace-table" data-ace-table-col-widths="60;90;59;90;141;100;238"><colgroup><col width="60"></col><col width="90"></col><col width="59"></col><col width="90"></col><col width="141"></col><col width="100"></col><col width="238"></col></colgroup><thead><tr><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VLoOda1ETo3VQvxcBmlclSCYned">操作时间</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-U4Hcd4lmuoYXDzxJXS3c6JXxnGc">账簿</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NgbjdalMdowmY2xBABlclUgKnYd">SKU</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Gdfjdbqxho7a8Sx3h5JczJ85nch">仓库站点</div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NyvxdFwnsoYLhwxSb5WcxLlFnpg">  
    </div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JTSKdqG1zopZySxsAnfc0jbDncc">  
    </div></th><th colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KhG9dgclLoBQMUx74JccMjTpn5e">  
    </div></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DT9bdcqTboI9uhxFGgIcw0BPnve">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IlQJdlKSUolhKSxemUFcstslnV7">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CYlqd0mgdos4uFxkB5hcg4RynLf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Kd14dYvoAoukV4xu9hGcTYXYncd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PkVdd51uEouklOxeF4NcYHTnnze">按Detailed view的FBA报表 来设计</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FeZ1dNgozoa0LjxQjltcrHCtnic">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LnOHdCfBPoL1vSxRmZ7cCvEznwh">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RyiDdKbcDol34GxJYvPcG3PwnSb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DOAydR9fWo9bahxiAkycLeFknZf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SKaOdzJEPoBHykxpZcXcXYKgnog">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DsFfdTk1cofmkUxOX94ctaQ3ngb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KXPEdpYKsogaNexXM0pcQ4DSnAc">Event Type</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-K9vXdkbOHo7bM1xiOD0csRU8nGe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-W0FkdgUUtokAEaxkT8VcE1X5n0b">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EOfHd3RhqoR1eexBWJpcs25Pnlg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-B8k0dw88fofBQexqND0cNepXn3f">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-GrjYd7RlFoaRUox8nK6cj0vMntg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BPD6d8KMCoIN6Nx5MNicRDJOnCd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-OjahdLJbfonJwMxaSOrcYoW4nc6">Reference ID</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-BpxNd9kzso5Ln0xpe17cGja3nAh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CfT9dwGpLoxEc3xx63xchIuNnub">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Zar2dcb9aoh0MFxFDy2cQrXMnPc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RjzLdMaqYoSCcRxZFJ2cGIIwnrd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NuPWdTBHpoIGQJxsDtgclPtSnad">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-O0vfd9OXcoO5GVxNhEMcMbRFnKd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FzKfdnTJCo5lQFxNaMUcmgH0nfh">Quantity</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-L3X1dlOWBohGkQxYV25cK4DLnlg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-M5DldR5jqoaQMVxKvcNchulGnWc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TzzmdGdjmoM0jux9SEjcoEJ3nmU">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-W44qd7eTjomofjx1yQ3cudninyb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DyBDdkMSSoOivcxQrTtcDZ44nvb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ksh2dmBaIoQbFTxSW10cijjanke">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CQTMdqYBooXyhaxFZsmcqfqPnOb">Fulfillment Center</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VwfXdGz8Do609HxxpE8cVqyQnag">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VXCxdAyOfoJcJNx6bvFcJhhYnv5">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RXf4dfgI3o9e9XxEBRycZJ9Fnkc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LcYldY7EuoBgN5xsAX5camsun6t">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SFi2dnsJYoV6g9xAvVDcXHwsnzb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PQ89dAoBpoQOnjxlWWwcmgpbnvt">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-WStdd44pVoWuS1x3xAxcjR4bnjg">Disposition</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ZksPd7UuCofX5txrCukcYsfXnpe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-PK2UdPVDvo5dp3xXCBFcUzGknSf">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RexsdHX7io0rMKxkcIQcNun6nDh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KaBfdZIrFo1N6sxMaGgcq996n6e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VBqrdcE1ioBoxcxSiFpcMcdJnQc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VrZ4d45gAoluZKxNByTcVWxynsb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Ga2GdmKrQoH7lUxwfWgcQzRqn7c">Reason</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-JiI0dpxjaoBmsrxNi6RcvXsnnfh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-RWt1dJfquoii99xIXBActfsLnVh">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KHRvdGySioLwrMxM6p7cHTh3nrC">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KmEgdfTlgodjY0xKSIocfv6pnid">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Bog7d8NRJot51UxkTJoctzWNnye">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-R3gFdT7WZoT8P1xPEkIcJXkTn4d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XQaCdVlYRoo1kAxPXfucqYDAnsh">Country</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-VJRyddxrpoTt21xWVD1cYlItnAb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DtNTdNH9iojIRmxTMpTcpkJtniz">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XcMKdBv4So5DcLxu0D9cOZT4nYg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Pz21dIg2PoXA3gxhCuEc7muHnzC">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-KL7Ldn8zVoE0k0x8T6xcf8epn5e">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-NO1QdRlkXoY5NqxS5ZNcZM57nNg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-C6XEdlkyPoBvorxWHzjcbn8snbd">Reconciled Quantity</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EBf5dvXMuoTDOHxADsIclBfgnDh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SHijdaZKAoyvZlxCvVBcTm2WnYc">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-MEiwdyBKeoJQLuxlrZic0Q6PneQ">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-B32OdF2cboKKUgxp2XGcXDMnnqe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-U95sdMFqho9M4nxY8UzcAE5vn2d">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-EA3bd6pYtodeWqxhIxHcKAvKnPP">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-SEQadwhLZoVzqDxbh0qcWBKhndb">Unreconciled Quantity</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ClXmdEOSjoKIKgxTGC1cGSiDn6b">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-INZpdrthWo8IQhxhsTbc7XUUnib">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UGw7dTx4VosfSbx4E4XcC8Xtnyh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UzGHdx1j5o77Fgx0fUPcpfUfnRd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Pg9ud4MEfojMQ0xU4GbcaZYtnWe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-FRFUddyYUo1V59xu1UIc6TZfntd">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-ViJZdlbFqoiMZDxVTYCceKYdnCc">Date and Time</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-CPuUdp4hKoEo7QxK4a9ceDMgnSX">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-IdigdUS1ioT9B7xLIXQcNq5Unof">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-UvmNd6TZeo0g4axzOU8cL8S6nve">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-LdwwdIpPCoHYL9xxK0RcQLyHn9c">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-P1jNdCrKOoIyuLxg9WWckEtSnlc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-C4a4dOibioM0zPx6NfLclqXCnaf">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Pl8AdNshUog4wsxFhZQcDN2Cnta">Store</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HhRkds3JBobGjXxIm3Dc36OXnQg">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XYVAdBwYwofcQhxk9rHcFAKYnwb">  
    </div></td></tr><tr><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-TxpQdikmlog79xxEMiScx6MRnzk">**汇总行**</div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-HBOSdjSd3ovlsKxwlnbcfyRknPb">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-M5PydhmX5oETWuxPHauc7fptnHh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-DLL5dNpxwoqfeSxQinHcaMiGnuc">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-XYpGdE0AZoaPa4xZ9fOcZkZQnIh">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-QYtad0CgkoneJvxcRzYcsnRknwe">  
    </div></td><td colspan="1" rowspan="1"><div class="ace-line ace-line old-record-id-Wvd3dR21uoHJ3HxgAvEcQbC4nqh">  
    </div></td></tr></tbody></table>
    
    </div>
    5. <div>  
        </div>
    6. <div>操作</div>
    7. <div>  
        </div>
    
    </div>```
    ```
    
    <div><div>20260623 FBA仓库台账 主要用基于亚马逊的库存台账报表生成, 相应汇总核算 盘点,入库,出库等等 勾稽校验</div></div>```
    ```

<div class="ace-line ace-line old-record-id-XkeadvM1DoWTMHxws9cc0pVYnef">  
</div></div># 税务审查便利性功能

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E6%AC%BE%E9%A1%B9%E4%BB%A3%E6%94%B6%E5%8F%8A%E5%88%92%E8%BD%AC%E6%9C%8D%E5%8A%A1-%E5%8F%B0%E8%B4%A6-%E5%A4%96%E6%96%B9%E8%B4%A6%E5%8D%95-%2B-">1. <div>款项代收及划转服务</div>
    1. <div>台账</div>
    2. <div>外方账单 + 连连月单</div>
2. <div>无票成本和有票成本</div>
    1. <div>利润表外加 成本统计</div>
    2. <div>统计无票成本 + 有票成本 , 明细.</div>
3. <div>发票台账</div>
    1. <div>支持 部分入账. 每张发票入到不同账簿</div>
4. <div>关务</div>
    1. <div>出口台账</div>
        1. <div>账簿 下 报关单 角度 和 FBA货件角度</div>
        2. <div>FBA货件/海外仓货件 &lt;&gt; 报关单 (报关单拆分对应,金额,项目,数量)</div>
    2. <div>  
        </div>

</div># 海关申报

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E8%B7%A8%E5%A2%83%E7%94%B5%E5%95%86%E6%8A%A5%E5%85%B3%E6%A8%A1%E5%BC%8F-%E4%BC%A0%E7%BB%9F%E6%8A%A5%E5%85%B3%E5%8D%95%E6%A8%A1%E5%BC%8F%3A-h2"><div class="ace-line ace-line old-record-id-NpTvdHUiroXJWjxJbR8cVOprn3b">  
</div><div class="ace-line ace-line old-record-id-E9ULdq9fCoGEH5xkmwFcVRs6nCg">  
</div>1. <div>跨境电商报关模式</div>
    1. <div>传统报关单模式: H2018,单一窗口标准版,货物申报,出口整合申报</div>
        1. <div>订单 + 运单 + 报关单</div>
    2. <div>清单模式: 跨境电商出口统一版, 单一窗口/客户端等,跨境电商,订单/清单</div>
        1. <div>订单 + 运单 + 清单</div>
2. <div>ERP</div>
    1. <div>单票, 出口报关申报 , 国外进口清关</div>
    2. <div>HSCODE , api数据接口.</div>
        1. <div>查询 , 返回提醒如何填写</div>
        2. <div>告警 , hscode有进出口管控</div>
        3. <div>[国家税务总局政策法规库](https://fgk.chinatax.gov.cn/zcfgk/c102424/c5238760/content.html)</div>
            1. <div>[国家税务总局安徽省税务局 通知公告 关于发布出口退税率文库2025A版的通知](https://anhui.chinatax.gov.cn/art/2025/3/7/art_9422_1236824.html)</div>
        4. <div>[税率查询-hscode,退税率,hs编码,进出口商品编码,进口关税,出口退税商品税率,海关编码,申报要素查询](https://cess.tax360.com.cn/)</div>

<div class="ace-line ace-line old-record-id-SZeadym6to2apvxqkVHcLTIunvg">  
</div></div>## 20260707

<div data-docx-has-block-data="true" data-lark-html-role="root" data-page-id="XXgVdPs8pobAM1xDY9dcxxKknTh" id="bkmrk-%E6%8B%BC%E5%8D%95%E5%87%BA%E5%8F%A3-%E5%90%8C%E4%B8%80%E7%9B%AE%E7%9A%84%E5%9B%BD%2C-%E8%B7%A8%E8%B4%A6%E7%B0%BF%2F%E8%B7%A8%E5%BA%97%E9%93%BA%2C">1. <div>拼单出口</div>
    1. <div>同一目的国, 跨账簿/跨店铺, 多选FBA ID, 选定一个出口公司, 推9810订单</div>
    2. <div>报关单台账, 支持, 将拼单的一张报关单, 里的明细/金额, 对应不同的店铺公司</div>
    3. <div>支持代理出口协议 数据</div>
        1. <div>支持所得税,自营/代理出口等申报数据</div>
    4. <div>考虑: 使用一家,或者轮换多家, 当天同目的地拼成一张报关单出口</div>
        1. <div>后续 代理出口协议/申报数据等做溯源</div>

</div>

# 财务模块-凭证模版

# 凭证模版需求

## 1、在录入凭证的界面就模版按钮，点击下拉出现“保存为凭证模版“ 和 “从模版生成凭证”

### 从模版生成凭证：打开模版对话框，选择对应模版将内容加载到创建凭证内容中

以下图片展示的是从模版生成凭证，标题：选择模版，可以通过模版类型和模版名称搜索，模版类型为下拉选择框。

有勾选框仅显示模版类别和名称，默认勾选，如果去掉这个将自动显示模版内部对应的分录信息，含辅助核算，金额等信息，具体实现请参考凭证查询页面

[![img_v3_0213i_26f03f74-381f-404b-8b6a-49b0464c34ag.jpg](https://wiki.wimoor.com/uploads/images/gallery/2026-07/scaled-1680-/img-v3-0213i-26f03f74-381f-404b-8b6a-49b0464c34ag.jpg)](https://wiki.wimoor.com/uploads/images/gallery/2026-07/img-v3-0213i-26f03f74-381f-404b-8b6a-49b0464c34ag.jpg)

### 保存为凭证模版：将当前客户编辑的内容保存为特定模版

弹出新增模版 对话框，输入表单 模版名称，模版类别（下拉列表） 保存一下信息：摘要（默认勾选）科目（默认勾选）金额（默认不勾选）辅助核算（默认不勾选）

对话框footer部分提供保存与取消按钮，保存按钮点击后将会保存凭证页面维护的相应内容

[![img_v3_0213i_d9c06840-be0f-4270-af89-f45bf7de109g.jpg](https://wiki.wimoor.com/uploads/images/gallery/2026-07/scaled-1680-/img-v3-0213i-d9c06840-be0f-4270-af89-f45bf7de109g.jpg)](https://wiki.wimoor.com/uploads/images/gallery/2026-07/img-v3-0213i-d9c06840-be0f-4270-af89-f45bf7de109g.jpg)

模版类别提供编辑逻辑，可以在下拉框边上加入编辑图标，或者在下拉列表最下面加入新增按钮点击后弹出模版类别管理对话框

[![image.png](https://wiki.wimoor.com/uploads/images/gallery/2026-07/scaled-1680-/image.png)](https://wiki.wimoor.com/uploads/images/gallery/2026-07/image.png)

在模版类别管理对话可以新增，修改和删除模版类别。也可以选择某个模版类别，确定后下拉列表会自动选择对话框中选择的类别

[![image.png](https://wiki.wimoor.com/uploads/images/gallery/2026-07/scaled-1680-/u8Eimage.png)](https://wiki.wimoor.com/uploads/images/gallery/2026-07/u8Eimage.png)

## 数据库设计：

<div id="bkmrk-create-table-%60fin_vo">CREATE TABLE `fin_vouchers_template_type` (</div><div id="bkmrk-%60id%60-bigint%2820%29-unsi">`id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT 'ID',</div><div id="bkmrk-%60groupid%60-bigint%2820%29">`groupid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '租户ID',</div><div id="bkmrk-%60name%60-varchar%2850%29-n">`name` VARCHAR(50) NULL DEFAULT NULL COMMENT '分类名称' COLLATE 'utf8mb4_bin',</div><div id="bkmrk-%60create_by%60-varchar%28">`create_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '创建人名称' COLLATE 'utf8mb4_bin',</div><div id="bkmrk-%60modify_by%60-varchar%28">`modify_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '修改人名称' COLLATE 'utf8mb4_bin',</div><div id="bkmrk-%60created_time%60-datet">`created_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间',</div><div id="bkmrk-%60updated_time%60-datet">`updated_time` DATETIME NULL DEFAULT NULL COMMENT '修改时间'</div><div id="bkmrk-%29">)</div><div id="bkmrk-comment%3D%27%E5%87%AD%E8%AF%81%E6%A8%A1%E7%89%88%E5%88%86%E7%B1%BB%27">COMMENT='凭证模版分类'</div><div id="bkmrk-collate%3D%27utf8mb4_bin">COLLATE='utf8mb4_bin'</div><div id="bkmrk-engine%3Dinnodb">ENGINE=InnoDB</div><div id="bkmrk-%3B">;</div>后台controller应当在保存逻辑自动维护created\_time，updated\_time，modify\_by，create\_by

和修改时自动维护updated\_time，modify\_by

前端在保存时应当将当前的groupid维护上去，用户只需要维护对应的分类名称

<div id="bkmrk-create-table-%60fin_vo-1">CREATE TABLE `fin_vouchers_template` (</div><div id="bkmrk-%60id%60-bigint%2820%29-unsi-1">`id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT 'ID',</div><div id="bkmrk-%60groupid%60-bigint%2820%29-1">`groupid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '租户ID',</div><div id="bkmrk-%60type_id%60-bigint%2820%29">`type_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '类型ID',</div><div id="bkmrk-%60name%60-varchar%2850%29-n-1">`name` VARCHAR(50) NULL DEFAULT NULL COMMENT '模版名称' COLLATE 'utf8mb4_bin',</div><div id="bkmrk-%60create_by%60-varchar%28-1">`create_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '创建人名称' COLLATE 'utf8mb4_bin',</div><div id="bkmrk-%60modify_by%60-varchar%28-1">`modify_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '修改人名称' COLLATE 'utf8mb4_bin',</div><div id="bkmrk-%60created_time%60-datet-1">`created_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间',</div><div id="bkmrk-%60updated_time%60-datet-1">`updated_time` DATETIME NULL DEFAULT NULL COMMENT '修改时间'</div><div id="bkmrk-%29-1">)</div><div id="bkmrk-comment%3D%27%E5%87%AD%E8%AF%81%E6%A8%A1%E7%89%88%27">COMMENT='凭证模版'</div><div id="bkmrk-collate%3D%27utf8mb4_bin-1">COLLATE='utf8mb4_bin'</div><div id="bkmrk-engine%3Dinnodb-1">ENGINE=InnoDB</div><div id="bkmrk-%3B-1">;</div>用于存储凭证模版，type\_id存储新增模版对话框中的模版类型对应的ID，name是客户在新增模版对话框中的form中维护的input

页面上客户填写的内容存储到fin\_vouchers\_template\_entries中

<div id="bkmrk-create-table-%60fin_vo-2">CREATE TABLE `fin_vouchers_template_entries` (</div><div id="bkmrk-%60entry_id%60-bigint%2820">`entry_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '分录主键ID',</div><div id="bkmrk-%60groupid%60-bigint%2820%29-2">`groupid` BIGINT(20) UNSIGNED NOT NULL COMMENT '租户ID',</div><div id="bkmrk-%60template_id%60-bigint">`template_id` BIGINT(20) UNSIGNED NOT NULL COMMENT '关联的凭证模版ID',</div><div id="bkmrk-%60entry_no%60-int%2810%29-n">`entry_no` INT(10) NOT NULL COMMENT '分录序号',</div><div id="bkmrk-%60subject_id%60-bigint%28">`subject_id` BIGINT(20) UNSIGNED NOT NULL COMMENT '会计科目ID',</div><div id="bkmrk-%60summary%60-varchar%2820">`summary` VARCHAR(200) NULL DEFAULT NULL COMMENT '摘要说明' COLLATE 'utf8mb4_bin',</div><div id="bkmrk-%60debit_amount%60-decim">`debit_amount` DECIMAL(15,2) NULL DEFAULT '0.00' COMMENT '借方金额',</div><div id="bkmrk-%60credit_amount%60-deci">`credit_amount` DECIMAL(15,2) NULL DEFAULT '0.00' COMMENT '贷方金额',</div><div id="bkmrk-%60original_amount%60-de">`original_amount` DECIMAL(20,6) NULL DEFAULT NULL,</div><div id="bkmrk-%60currency%60-varchar%285">`currency` VARCHAR(5) NULL DEFAULT NULL COLLATE 'utf8mb4_bin',</div><div id="bkmrk-%60exchange_rate%60-deci">`exchange_rate` DECIMAL(20,6) NULL DEFAULT NULL,</div><div id="bkmrk-%60quantity%60-int%2810%29-n">`quantity` INT(10) NULL DEFAULT NULL,</div><div id="bkmrk-%60unit_price%60-decimal">`unit_price` DECIMAL(20,2) NULL DEFAULT NULL,</div><div id="bkmrk-%60created_time%60-datet-2">`created_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间',</div><div id="bkmrk-primary-key-%28%60entry_">PRIMARY KEY (`entry_id`) USING BTREE,</div><div id="bkmrk-index-%60idx_voucher_e">INDEX `idx_voucher_entries_tenant_subject` (`groupid`, `subject_id`) USING BTREE COMMENT '租户分录科目索引',</div><div id="bkmrk-index-%60tenant_id%60-%28%60">INDEX `tenant_id` (`groupid`, `template_id`) USING BTREE,</div><div id="bkmrk-index-%60template_id%60-">INDEX `template_id` (`template_id`) USING BTREE</div><div id="bkmrk-%29-2">)</div><div id="bkmrk-comment%3D%27%E5%87%AD%E8%AF%81%E6%A8%A1%E7%89%88%E5%88%86%E5%BD%95%E6%98%8E%E7%BB%86%E8%A1%A8%EF%BC%8C%E5%AD%98">COMMENT='凭证模版分录明细表，存储凭证模版的每一笔分录信息'</div><div id="bkmrk-collate%3D%27utf8mb4_bin-2">COLLATE='utf8mb4_bin'</div><div id="bkmrk-engine%3Dinnodb-2">ENGINE=InnoDB</div><div id="bkmrk-auto_increment%3D12839">AUTO_INCREMENT=12839</div><div id="bkmrk-%3B-2">;</div><div id="bkmrk-%E6%B3%A8%E6%84%8F%E5%BF%85%E9%A1%BB%E6%8C%89%E7%85%A7%E5%AE%A2%E6%88%B7%E7%9A%84%E7%BB%B4%E6%8A%A4%E7%9A%84%E6%AC%A1%E5%BA%8F%E4%BF%9D%E5%AD%98entr">注意必须按照客户的维护的次序保存entry_no</div><div id="bkmrk-%E5%85%B6%E4%B8%AD%E5%A6%82%E6%9E%9C%E5%AE%A2%E6%88%B7%E7%BB%B4%E6%8A%A4%E4%BA%86%E8%BE%85%E5%8A%A9%E6%A0%B8%E7%AE%97%E7%B1%BB%E4%BA%BA%E4%B8%94%E5%9C%A8%E4%BF%9D%E5%AD%98%E6%97%B6">其中如果客户维护了辅助核算类人且在保存时勾选了辅助核算，应当将辅助核算保存在fin_vouchers_template_entries_auxiliary中</div><div id="bkmrk--4"></div><div id="bkmrk-create-table-%60fin_vo-3"><div>CREATE TABLE `fin_vouchers_template_entries_auxiliary` (</div><div>`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',</div><div>`entry_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '关联分录',</div><div>`auxiliary_type_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '核算类型：CUSTOMER, DEPARTMENT, PROJECT, SUPPLIER, EMPLOYEE',</div><div>`auxiliary_item_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '具体核算项的ID（对应客户主表、部门主表的ID）',</div><div>`groupid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '租户ID',</div><div>PRIMARY KEY (`id`) USING BTREE,</div><div>UNIQUE INDEX `entry_id_assistant_type_code` (`entry_id`, `auxiliary_type_id`) USING BTREE</div><div>)</div><div>COLLATE='utf8mb4_bin'</div><div>ENGINE=InnoDB</div><div>AUTO_INCREMENT=5</div><div>;</div></div>## 文件位置

以上内容后台在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&amp;path=/erp/purchase/paymentDetail&amp;closable=true&amp;scrolltop=0

采购付款明细

在字段

<table border="0" cellpadding="0" cellspacing="0" class="el-table__header" id="bkmrk-%E5%90%8D%E7%A7%B0%2Fsku"><thead class=""><tr class=""><th aria-sort="" class="el-table_111_column_1423 is-leaf is-sortable el-table__cell" colspan="1" rowspan="1" scope="col"><div class="cell">名称/SKU</div></th></tr></thead></table>

中的SKU边上增加灰色 的 (店铺）的形式。

注意店铺是t\_erp\_purchase\_form的groupid,而且其内容表t\_amazon\_group不是ERP模块的，他是amazon模块。需要使用fegin调用。

对于groupname的加入需要考虑页面和导出两个地方

搜索条件中新增店铺，直接用店铺组件建议group\_select.vue ,且帮我将查询模块费用类型和支付方式减少宽度以便能够一行放下所有查询模块

# 供应商管理

1. <div>供应商管理:</div>
    1. <div>数据库表： <div>CREATE TABLE `t_erp_customer` (</div><div>`id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'ID(h)',</div><div>`name` CHAR(50) NULL DEFAULT NULL COMMENT '客户简称' COLLATE 'utf8mb4_bin',</div><div>`number` CHAR(50) NULL DEFAULT NULL COMMENT '客户编码' COLLATE 'utf8mb4_bin',</div><div>`fullname` VARCHAR(200) NULL DEFAULT NULL COMMENT '客户全称' COLLATE 'utf8mb4_bin',</div><div>`ftype` CHAR(10) NULL DEFAULT NULL COMMENT '客户分类(supplier 供应商，purchaser 采购商）' COLLATE 'utf8mb4_bin',</div><div>`goodtype` VARCHAR(50) NULL DEFAULT NULL COMMENT '货物类型（透明胶，服装，玩具 等）' COLLATE 'utf8mb4_bin',</div><div>`contacts` VARCHAR(50) NULL DEFAULT NULL COMMENT '联系人' COLLATE 'utf8mb4_bin',</div><div>`phone_num` VARCHAR(50) NULL DEFAULT NULL COMMENT '联系电话' COLLATE 'utf8mb4_bin',</div><div>`contact_info` VARCHAR(2000) NULL DEFAULT NULL COMMENT '其它联系信息' COLLATE 'utf8mb4_bin',</div><div>`address` VARCHAR(500) NULL DEFAULT NULL COMMENT '地址' COLLATE 'utf8mb4_bin',</div><div>`shoplink` VARCHAR(500) NULL DEFAULT NULL COMMENT '商品链接' COLLATE 'utf8mb4_bin',</div><div>`shopid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '所属店铺（公司）(h)',</div><div>`operator` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '操作人',</div><div>`opttime` DATETIME NULL DEFAULT NULL COMMENT '修改时间',</div><div>`oldid` CHAR(36) NULL DEFAULT NULL COLLATE 'utf8mb4_bin',</div><div>PRIMARY KEY (`id`) USING BTREE,</div><div>UNIQUE INDEX `name_shopid` (`shopid`, `name`) USING BTREE,</div><div>UNIQUE INDEX `number_shopid` (`number`, `shopid`) USING BTREE</div><div>)</div><div>COLLATE='utf8mb4_bin'</div><div>ENGINE=InnoDB</div><div>ROW_FORMAT=DYNAMIC</div><div>;</div></div>
2. 优化UI 对当前供应商的编辑状态采用单独页面展示的方式，提供客户查看状态的页面与编辑状态的页面，且可以相互转换当保存之后自动变成查看状态，当在查看页面点击编辑自动变成编辑状态页面。
3. <div>在供应商维护页面可以 新增供应商收款账户</div>
    1. 数据库结构一个供应商对应多个收款账户，可以设置默认收款账户  
        
        1. <div>CREATE TABLE `t_erp_customer_account` (</div><div>`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID(h)',</div><div>`customer_id` BIGINT(20) UNSIGNED NOT NULL,</div><div>`company_name` CHAR(50) NULL DEFAULT NULL COMMENT '公司名称' COLLATE 'utf8mb4_bin',</div><div>`account_number` VARCHAR(50) NULL DEFAULT NULL COMMENT '银行账号' COLLATE 'utf8mb4_bin',</div><div>`shopid` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '所属店铺（公司）(h)',</div><div>`operator` BIGINT(20) UNSIGNED NULL DEFAULT NULL COMMENT '操作人',</div><div>`opttime` DATETIME NULL DEFAULT NULL COMMENT '修改时间',</div><div>`oldid` CHAR(36) NULL DEFAULT NULL COLLATE 'utf8mb4_bin',</div><div>PRIMARY KEY (`id`) USING BTREE,</div><div>UNIQUE INDEX `number_shopid` (`account_number`, `shopid`) USING BTREE,</div><div>UNIQUE INDEX `name_shopid` (`shopid`, `company_name`) USING BTREE</div><div>)</div><div>COMMENT='收款账户'</div><div>COLLATE='utf8mb4_bin'</div><div>ENGINE=InnoDB</div><div>ROW_FORMAT=DYNAMIC</div><div>;此表为新增表，需要后台添加对应实体操作和服务类等</div>
        2. 增加支持维护供应商的收款账户
        3. 收款账户可多个,可设置默认.
        4. 收款账户的**启用/停用**状态管理（银行账户可能变更）,不删除(只停用, 可查询)
4. 在供应商查看页面，显示近半年此供应商的采购单对应产品 以及采购金额，采购数量。注意：必须以产品为中心汇总，不管有多少单有多个如果产品只有一个就只能有一笔。不分页每个产品一个小卡片，图片名称SKU ，采购金额，采购数量。依次展示，最好使用el-space wrap的方式 <div></div>

# 采购账户

账目-&gt;采购记账模块

[https://app.wimoor.com/finance/account?title=%E9%87%87%E8%B4%AD%E8%AE%B0%E8%B4%A6&amp;path=/finance/account](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支付宝\[支付宝\]在上方黑字，现金在下方灰色字体

[![image.png](https://wiki.wimoor.com/uploads/images/gallery/2026-07/scaled-1680-/GWGimage.png)](https://wiki.wimoor.com/uploads/images/gallery/2026-07/GWGimage.png)

# 账目-结算记录-每日费用趋势

账目-结算记录页面下的“图表”这一页签的“每日费用趋势”，当前的数据是按照月汇总的，后台数据查询的时候，是查出日期区间每天的数据的，再进行按照月汇总的。请帮我把日期区间每天的数据，在图表下面新增一个类似“销售-趋势分析”页面的销量表格展示，表格的项目名称大致如：日期,当天汇率,当前选中的费用项。当前原有图表和新增的表格展示，需要加上对“站点币种“和“RMB”的切换显示。数据源里有“RMB”对应的值和本身站点币种的值。还有图表的“结算金额,FBA费,佣金”这三个选项，帮我做成动态的下拉选项，下拉选项的值来源于“报表”页签下的income项。请帮我在“图表”下的“每日费用趋势”内容下面新增这个表格和优化当前图表。根据以下代码进行：

```java
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;
	}
```