forked from erp-dev/erp
3.4 KiB
3.4 KiB
销售折扣数据(ZkJinE)接口更新说明
问题回顾
你们反馈 /api/v1/i-sale/by-customer 接口的 ZkJinE 字段始终返回 0,导致销售折扣金额(583 元部分)无法正确获取。
根因确认
经查证,问题属实但需要澄清:
/api/v1/i-sale/by-customer接口确实返回了ZkJinE字段,但该字段的数据来源是I_Sale表,而I_Sale表中该字段的值本身就是 0。这不是接口遗漏字段,而是数据源的问题。- 真实的销售折扣数据存在于
F_Skd表中BianHaoID以XS开头的记录里。
解决方案
我们已在 /api/v1/finance/by-customer 接口新增了 sale_discount 类型,用于从 F_Skd 表查询 XS% 行的财务数据(包含 ZkJinE)。
此改动为纯增量更新,不影响任何现有接口和字段。
对接方式
请求
GET /api/v1/finance/by-customer?customer_name_b64={base64url编码的客户名}&record_types=sale_discount
也可以和其它类型组合使用:
GET /api/v1/finance/by-customer?customer_name_b64={base64url编码的客户名}&record_types=sale,sale_discount,receipt
record_types 可选值
| 值 | 说明 | 数据来源 |
|---|---|---|
sale |
成品销售单 | I_Sale 表 |
sale_return |
客户退货单 | I_Sale 表 |
receipt |
收款记录(SK%) | F_Skd 表 |
refund |
退款记录(XT%) | F_Skd 表 |
sale_discount |
销售折扣记录(XS%) | F_Skd 表 ← 新增 |
响应结构
新增字段(在原有响应基础上):
{
"mode": "customer_finance",
"customer_name": "客户名称",
"customer_ids": ["KH001"],
"record_types": ["sale_discount"],
"status": "active",
"snapshot_at": "2026-05-19T10:00:00Z",
"total_count": 5,
"sale_discounts_count": 5,
"sale_discounts": [
{
"BianHaoID": "XS20260101-001",
"KhID": "KH001",
"RiQi": "2026-01-01T00:00:00Z",
"KdRiQi": "2026-01-01T00:00:00Z",
"YfJinE": 1000.00,
"FkJinE": 800.00,
"ZkJinE": 200.00,
"JieSunFS": "...",
"YhID": "...",
"ZhaiYao": "...",
"BeiZhu": "..."
}
]
}
sale_discount 每条记录包含的字段
| 字段 | 说明 |
|---|---|
BianHaoID |
单据编号(XS 开头) |
KhID |
客户 ID |
RiQi |
日期 |
KdRiQi |
开单日期 |
YfJinE |
应付金额 |
FkJinE |
付款金额 |
ZkJinE |
折扣金额(你们需要的字段) |
JieSunFS |
结算方式 |
YhID |
银行 ID |
ZhaiYao |
摘要 |
BeiZhu |
备注 |
关于差额 816 的对账建议
根据你们的分析:
- receipt.ZkJinE = 233 → 通过
record_types=receipt获取 ✅ - sales.ZkJinE = 583 → 现在通过
record_types=sale_discount获取 ✅
建议对账时同时请求:
record_types=receipt,sale_discount
然后分别对 receipts 和 sale_discounts 数组中的 ZkJinE 字段求和,即可得到完整的折扣金额。
注意事项
sale_discount不会包含在默认查询中。如果不传record_types参数,默认只返回sale, sale_return, receipt, refund四种类型(保持向后兼容)。- 请求
sale_discount时不需要传include_cash_movement或include_adjustments参数,这两个参数只对receipt和refund类型生效。 customer_name_b64使用 base64url 编码(无 padding),与之前的用法一致。
如有疑问请随时联系。