跳到主要内容

POST高危 保存附加费用单(可保存并提交审批)

POST 新建或编辑(id 为空即新建)。body 为 JSON 对象。必填:sourceType(来源类型:SALES_ORDER=销售订单,SALES_CONTRACT=销售合同)、sourceId(来源单 ID,经 sales.additional-fee.source-options 查询)、bearerType(承担方:CUSTOMER=客户承担,COMPANY=公司承担)、settlementLevel(结算层级,须与来源类型和承担方匹配:ORDER_DIRECT_SETTLEMENT=订单直接结算[订单+客户]、CONTRACT_UNIFIED_SETTLEMENT=合同统一结算[合同+客户]、ALLOCATE_TO_ORDER_SETTLEMENT=分配到订单结算[合同+客户]、ORDER_COST_COLLECTION=订单成本归集[订单+公司]、CONTRACT_COST_COLLECTION=合同成本归集[合同+公司]、ALLOCATE_TO_ORDER_COST=分配到订单成本[合同+公司])、lines(费用明细数组,至少 1 行;每行必填 feeCategoryId 费用类别 ID、feeName 费用名称、amountExclTax 不含税金额且 >0;可选 feeCategoryName、agreedTaxRate 约定税率 0-100、remark、sortOrder;公司承担时可设 generatePayable=true 生成应付,此时必填 payeeType 付款对象类型 SUPPLIER=供应商/EMPLOYEE=员工/OTHER=其他、payeeName 付款对象名称,且 payeeType 非 OTHER 时必填 payeeId)。新建必填 requestId(幂等请求号,建议 UUID);编辑必填 id 与 version(取自详情),仅草稿可编辑。可选:expectedSettlementDate(yyyy-MM-dd)、inputTaxDeductible(公司承担时进项税是否可抵扣)、description、attachmentIds(文件 ID 数组)、accountingTreatment(COST_OFFSET/SALES_REVENUE/COMPANY_COST/PASS_THROUGH)。action:DRAFT=仅保存草稿(默认),SUBMIT=保存并提交审批。返回费用单 ID。 调用前请与用户确认。

接口编码所需范围后端接口
sales.additional-fee.savesales:writePOST /v1/additional-fees/save(comap-sales)

⚠️ 高危接口:删除或状态变更类操作,MCP 调用须先向用户复述并获同意后携 confirm: true。

必填字段

字段依据
sourceType参数说明
sourceId参数说明
bearerType参数说明
settlementLevel参数说明
lines参数说明
lines[].feeCategoryId参数说明
lines[].feeName参数说明
lines[].amountExclTax参数说明
requestId参数说明
id参数说明

条件必填(如「某状态时必填」)不在此表,以上方参数说明为准。 判定规则见必填字段的判定。

请求体字段(body)

字段类型必填说明
idinteger(int64)——
versioninteger(int32)——
requestIdstring——
createdFromstring—创建来源:INDEPENDENT
sourceTypestring——
sourceIdinteger(int64)——
bearerTypestring——
accountingTreatmentstring—会计处理方式:COST_OFFSET/SALES_REVENUE/COMPANY_COST/PASS_THROUGH
settlementLevelstring——
expectedSettlementDatestring(date)——
payeeTypestring——
payeeIdinteger(int64)——
payeeNamestring——
inputTaxDeductibleboolean——
descriptionstring——
attachmentIdsstring[]——
actionstring——
lines7Line[]——

「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。

请求示例

curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "sales.additional-fee.save",
"body": {
"id": "1961000000000000001"
}
}'

错误处理​

响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:

错误码说明可重试
92101访问凭证无效否
92201接口未登记或已停用否
92202超出凭证授权范围——本接口需 sales:write否
92204绑定员工无此接口的功能权限否
92203上游服务调用失败先查询处理结果,禁止盲目重试
92301请求过于频繁是
92205写操作处理超时,结果未知(下游可能仍在执行)否,先查询确认结果
92302有参数相同的写请求正在处理中等待并确认前一次结果,勿重复提交

除此之外,comap-sales 自身的业务校验失败会原样透传其业务码与提示 (如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内, 以响应里的 message 为准。完整的平台层错误码见错误码说明。

← 返回additional-fee