POST高危 登记开票/收票
POST。body 为 JSON 对象,字段结构见接口参考。本接口涉及资金、票据或审批状态变更,调用前请与用户确认。
| 接口编码 | 所需范围 | 后端接口 |
|---|---|---|
finance.invoices.register | finance:write | POST /v1/invoices/register(comap-finance) |
⚠️ 高危接口:删除或状态变更类操作,MCP 调用须先向用户复述并获同意后携 confirm: true。
必填字段
| 字段 | 依据 |
|---|---|
invoiceNo | 接口规格 |
invoiceType | 接口规格 |
direction | 接口规格 |
invoiceDate | 接口规格 |
amount | 接口规格 |
taxRate | 接口规格 |
counterpartName | 接口规格 |
条件必填(如「某状态时必填」)不在此表,以上方参数说明为准。 判定规则见必填字段的判定。
请求体字段(body)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
invoiceNo | string | 是 | 发票号码 |
invoiceCode | string | — | 发票代码 |
invoiceType | string | 是 | 发票类型:SPECIAL_VAT=增值税专用发票, NORMAL_VAT=增值税普通发票, E_SPECIAL_VAT=电子专票, E_NORMAL_VAT=电子普票, E_INVOICE=电子发票, RECEIPT=收据, OTHER=其他 |
direction | string | 是 | 发票方向 SALES/PURCHASE |
invoiceDate | string(date) | 是 | 开票日期 |
receivedDate | string(date) | — | 收票日期(进项可选) |
amount | number | 是 | 含税金额 |
taxRate | number | 是 | 税率 (%) |
currencyId | integer(int64) | — | 币种 ID |
counterpartId | integer(int64) | — | 对方单位 ID |
counterpartName | string | 是 | 对方单位名称 |
counterpartTaxNo | string | — | 对方单位税号 |
counterpartAddress | string | — | 对方单位地址 |
counterpartPhone | string | — | 对方单位电话 |
counterpartBankName | string | — | 对方单位开户行 |
counterpartBankAccount | string | — | 对方单位账号 |
externalSource | string | — | 外部来源系统标识:SRM=采购, SALES=销售 |
sourceType | string | — | 来源类型 CONTRACT/SALES_ORDER/PURCHASE_ORDER/MANUAL |
sourceId | integer(int64) | — | 来源单据 ID |
sourceNo | string | — | 来源单据编号 |
sourceTitle | string | — | 来源单据标题 |
contractId | integer(int64) | — | 合同 ID |
contractNo | string | — | 合同编号 |
contractTitle | string | — | 合同标题 |
projectId | integer(int64) | — | 项目 ID |
projectName | string | — | 项目名称 |
taxAmount | number | — | 税额(由上游透传,不为空时 buildEntity 直接使用) |
excludingTaxAmount | number | — | 不含税金额(由上游透传,不为空时 buildEntity 直接使用) |
pdfFileId | string | — | 发票附件文件 ID(多个逗号分隔) |
operatorId | integer(int64) | — | 操作人 ID |
operatorName | string | — | 操作人名称 |
remark | string | — | 备注 |
「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。
请求示例
curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "finance.invoices.register",
"body": {
"invoiceNo": "string",
"invoiceType": "string",
"direction": "string",
"invoiceDate": "string",
"amount": 0,
"taxRate": 0,
"counterpartName": "string"
}
}'
错误处理
响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:
| 错误码 | 说明 | 可重试 |
|---|---|---|
| 92101 | 访问凭证无效 | 否 |
| 92201 | 接口未登记或已停用 | 否 |
| 92202 | 超出凭证授权范围——本接口需 finance:write | 否 |
| 92204 | 绑定员工无此接口的功能权限 | 否 |
| 92203 | 上游服务调用失败 | 先查询处理结果,禁止盲目重试 |
| 92301 | 请求过于频繁 | 是 |
| 92205 | 写操作处理超时,结果未知(下游可能仍在执行) | 否,先查询确认结果 |
| 92302 | 有参数相同的写请求正在处理中 | 等待并确认前一次结果,勿重复提交 |
除此之外,comap-finance 自身的业务校验失败会原样透传其业务码与提示
(如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内,
以响应里的 message 为准。完整的平台层错误码见错误码说明。
← 返回发票