跳到主要内容

POST高危 按报价生成结算单

POST 按单张报价生成费用结算单,明细与金额由服务端从报价读取。要求报价状态为「已完成」且未生成过结算单、工单可写。实际量可全部映射时直接落「客户已确认」并在财务生成收入确认单与应收单;否则停在草稿待人工核定。query 参数:quotationId(必填,报价单ID);不需要 body。会直接产生应收,调用前请与用户确认。

接口编码所需范围后端接口
sales.service-settlement.generate-from-quotationsales:writePOST /v1/service-orders/settlement/generate-from-quotation(comap-sales)

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

必填字段

字段依据
quotationId参数说明、接口规格

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

请求参数(query)

字段类型必填说明
quotationIdinteger(int64)是—

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

请求示例

curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "sales.service-settlement.generate-from-quotation",
"query": {
"quotationId": "1961000000000000001"
}
}'

响应 data 字段

字段类型必填说明
idinteger(int64)—结算单ID
settlementNostring—结算单号
orderIdinteger(int64)—所属工单ID
orderNostring—所属工单编号
serviceCycleNointeger(int32)—所属服务周期号
customerNamestring—客户名称(快照)
contactPersonstring—联系人
contactPhonestring—联系电话
serviceAddressstring—服务地址
subtotalnumber—小计 = 明细行金额之和
warrantyCoveredinteger(int32)—质保内全免:0否 1是
discountPctnumber—折扣比例 %
discountAmountnumber—折扣金额
totalAmountnumber—合计 = 小计 - 折扣金额;warrantyCovered=1 时为 0
statusstring—状态:草稿/待审批/已审批/客户已确认/已驳回
flowInstanceCodestring—审批流程实例编码
submittedAtstring(date-time)—提交时间
approverstring—审批人
approvedAtstring(date-time)—审批时间
rejectReasonstring—驳回原因
sentAtstring(date-time)—发送给客户时间
customerConfirmedAtstring(date-time)—客户确认时间
customerConfirmChannelstring—客户确认渠道
customerSignatureIdstring—客户签名 fileId
customerObjectionReasonstring—客户异议原因
customerObjectionAtstring(date-time)—客户提出异议时间
confirmedBystring—确认操作人
collectionIdsinteger(int64)[]—关联回款单ID列表(comap-finance)
sourceQuotationIdsinteger(int64)[]—来源报价单ID列表
sourceQuotationNosstring[]—来源报价单号,与 sourceQuotationIds 按序对应
revenueRecognitionIdinteger(int64)—收入确认单ID(comap-finance)
receivableIdinteger(int64)—应收单ID(comap-finance)
invoiceIdinteger(int64)—发票ID
invoiceNostring—发票号
notestring—备注
createdBystring—创建人
createTimestring(date-time)—创建时间
updateTimestring(date-time)—更新时间
lineCountinteger(int32)—明细行数
collectionProgress7ServiceSettlementCollectionProgressVO—结算单收款进度
revenueRecognitionNostring—收入确认单号,仅详情返回
receivableNostring—应收单号,仅详情返回
lines19ServiceSettlementLineVO[]—明细行,按 sortOrder 升序

错误处理​

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

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

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

← 返回service-settlement