✨ 金蝶财务应付单明细分录推送税率(taxrate)

This commit is contained in:
刘泉佳
2026-11-05 00:05:35 +08:00
parent 23c0d66037
commit af3487a7da
2 changed files with 12 additions and 5 deletions
@@ -381,6 +381,8 @@ public class KingdeeApBillSyncSupport {
entry.setEPricetaxtotal(entryGroup.amount());
// 金额(不含税):结算明细行结算金额(不含税),结算合计费用项行无不含税金额不传
entry.setEAmount(entryGroup.amountNoTax());
// 税率(%):合同计费方案规则税率(按税率拆行维度),未配置税率/结算合计费用项行不送,金蝶按默认带出
entry.setTaxrate(entryGroup.taxRate());
// 【必填】项目.项目编码:开关开启取项目档案真实编码(金蝶档案须已存在且编码一致),未关联项目兜底 999
entry.setProjectNumber(this.kingdeeProjectNumber(settlement.getProjectId(), context));
// 【必填】外部系统来源分录标识(候选键):结算明细行取单据号,结算合计费用项行取结算单号-费用类型-费用项拼接
@@ -560,9 +562,9 @@ public class KingdeeApBillSyncSupport {
// 分录唯一标识:单据号-货物序号-费用大类-税率(税率未配置不拼)
String entryCode = entryCodePrefix + "-" + split.getCategory().getLabel() + split.taxRateSuffix();
entryGroups.add(new BfiEntryGroup(materialNumber, entryCode, quantity, price, amount,
amountNoTax, cargoName, vehicleNo, context.settlement().getId()));
log.info("金蝶应付单分录生成:来源[{}],分录标识[{}],物料编码[{}],数量[{}],单价[{}],含税金额[{}],不含税金额[{}]",
sourceDesc, entryCode, materialNumber, quantity, price, amount, amountNoTax);
amountNoTax, cargoName, vehicleNo, context.settlement().getId(), split.getTaxRate()));
log.info("金蝶应付单分录生成:来源[{}],分录标识[{}],物料编码[{}],数量[{}],单价[{}],含税金额[{}],不含税金额[{}],税率[{}]",
sourceDesc, entryCode, materialNumber, quantity, price, amount, amountNoTax, split.getTaxRate());
}
}
@@ -594,7 +596,7 @@ public class KingdeeApBillSyncSupport {
String entryCode = settlement.getFormalSettlementNo() + "-"
+ (Func.isBlank(feeItem) ? feeType : feeType + "-" + feeItem);
entryGroups.add(new BfiEntryGroup(materialNumber, entryCode, quantity, price, amount,
null, null, null, settlement.getId()));
null, null, null, settlement.getId(), null));
log.info("金蝶应付单分录生成:来源[{}],分录标识[{}],物料编码[{}],数量[{}],单价[{}],含税金额[{}]",
sourceDesc, entryCode, materialNumber, quantity, price, amount);
}
@@ -1297,10 +1299,11 @@ public class KingdeeApBillSyncSupport {
* @param transportGoods 运输货物(金蝶接口新字段 awrp_transport):结算明细货物名称,结算合计费用项行为 null 不传
* @param vehicleNo 车号(金蝶接口新字段 awrp_lpn):结算明细车号,结算合计费用项行为 null 不传
* @param formalSettlementId 分录所属正式结算单id(多结算单付款申请 A103-1 按结算单勾稽各自应付单)
* @param taxRate 该行税率(%)(合同计费方案规则税率,按税率拆行维度),无税率组/结算合计费用项行为 null 不传
*/
public record BfiEntryGroup(String materialNumber, String entryCode,
BigDecimal quantity, BigDecimal price, BigDecimal amount, BigDecimal amountNoTax,
String transportGoods, String vehicleNo, Long formalSettlementId) {
String transportGoods, String vehicleNo, Long formalSettlementId, BigDecimal taxRate) {
}
/**
@@ -102,6 +102,10 @@ public class BfiApBillSaveEntryDTO implements Serializable {
*/
@JsonProperty("taxrateid_number")
private String taxrateidNumber;
/**
* 税率(%),取合同计费方案规则税率数值(如 9 表示 9%),未取到税率不送
*/
private BigDecimal taxrate;
/**
* 核心单据行号
*/