发票云(智能特性)
旗舰版标准版智能特性
旗舰版标准版智能特性
🤖 AI Support​​
  1. 智能特性
  • 整体介绍
  • 开发指南
  • 授权
    • token获取
      POST
  • 智能特性
    • 文档信息识别
      • 国际发票识别
      • 国际发票识别(明细)
      • 文档信息识别(反馈)
      • 银行回单识别
    • 文档分类(区分发票、附件)
      POST
    • 智能赋码税收分类编码识别
      POST
    • 三单匹配-同步接口
      POST
    • 三单匹配-异步任务提交
      POST
    • 三单匹配-异步结果查询
      GET
  • 文档中心
    • 外部文件上传接口
      POST
  • 国际发票
  1. 智能特性

三单匹配-同步接口

开发中
POST
/ai/knowledge/nlpService/item/match

一、接口描述#

解决发票和入库单匹配问题,输入发票信息和候选入库单信息,输出发票每条明细匹配的入库单明细
1.
支持一张发票匹配多张入库单
2.
仅支持一条发票明细匹配多条入库单明细,不支持一条入库单明细匹配多条发票明细的情况
部署注意事项:初始化的时候需要提供物料库数据(csv文件),物料库数据需要包含'product_code'(商品编码/物料编码) 和 'product_name'(物料名称)。

二、输入参数#

1. targetFile: 发票文件(csv文件,UTF-8 编码),每一条明细信息为1行,字段包含
'item_id':string格式,发票明细的唯一标识,每一条明细的item_id必须不同(必须有值,且不能重复)
'product_name':string格式, 商品名称(必须有值)
'specification_model':string格式,规格型号
'unit':string格式,单位
'quantity':float格式,数量,没有的话为空
'unit_price':float格式,单价,没有的话为空
'amount':float格式,不含税金额(必须有值)
2. targetUrl: 发票文件(csv文件,UTF-8 编码)的url地址。文件格式和targetFile一致。优先使用 targetFile,如果 targetFile 存在,则忽略 targetUrl。targetFile 和 targetUrl 至少提供一个,不可同时为空。
3. candidateFile: 候选入库单文件(csv文件,UTF-8 编码),每一行为一张入库单的一条明细的信息。字段包括
'item_id':string格式,入库单明细的唯一标识,每一条明细的item_id必须不同(必须有值,且不能重复,一般是'{入库单号}_{入库单行号}')
'doc_id':string格式,该明细所属的入库单的唯一标识(一般是入库单号,必须有值)
'product_code':string格式,商品编码/物料编码,商品的唯一标识(必须有值)
'product_name':string格式, 商品名称/物料名称/物料描述(必须有值)
'specification_model':string格式,规格型号,没有的话传入空字符串
'unit':string格式,单位
'quantity':float格式,数量(接收数量/入库数量)(必须有值)
'unit_price':float格式,单价(必须有值)
'amount':float格式,明细金额(必须有值)
4. candidateUrl: 候选入库单文件(csv文件,UTF-8 编码)的url地址。文件格式和candidateFile一致。优先使用 candidateFile,如果 candidateFile 存在,则忽略 candidateUrl。candidateFile 和 candidateUrl 至少提供一个,不可同时为空。
5. settings: 动态配置项, 此动态配置项通过传入 JSON 字符串 的方式来配置不同的容差参数和匹配模式,后续新增配置可以直接在该参数中新增。所有配置项为选填项,用户可以选择传入或不传入。如果没有传入配置项,则会使用默认值。以下是每个配置项的详细说明和要求:
配置项说明:
所有配置项均为选填项,可以选择传入也可以不传入。
如果不传入某些配置项,则会使用以下默认值:
priceTolerance、priceToleranceType 默认为 0.001(单价容差为 0.1%)和 "0"(百分比容差)。
quantityTolerance、quantityToleranceType 默认为 0.01(数量容差为 1%)和 "0"(百分比容差)。
amountTolerance、amountToleranceType 默认会根据单价容差和数量容差进行计算。
matchMode 默认为 "0"(基于金额匹配)。
配置项具体描述
priceTolerance(单价容差)
类型: float
描述: 单价容差的值,表示允许的单价差异。
要求: 可选,若传入则必须和 priceToleranceType 一同传入,并且 priceTolerance 的值为非负数。
默认为 0.001(即 0.1%)。
priceToleranceType(单价容差类型)
类型: string ("0" 或 "1")
描述: 单价容差的类型。
要求: 可选,若传入则必须和 priceTolerance 一同传入。并且值必须为:
"0": 容差以百分比表示。
"1": 容差以绝对值表示。
默认为 "0"。
quantityTolerance(数量容差)
类型: float
描述: 数量容差的值,表示允许的数量差异。
要求: 可选,若传入则必须和 quantityToleranceType 一同传入,并且 quantityTolerance 的值为非负数。
默认为 0.01(即 1%)。
quantityToleranceType(数量容差类型)
类型: string ("0" 或 "1")
描述: 数量容差的类型。
要求: 可选,若传入则必须和 quantityTolerance 一同传入,并且值必须为:
"0": 容差以百分比表示。
"1": 容差以绝对值表示。
默认为 "0"。
amountTolerance(金额容差)
类型: float
描述: 金额容差的值,表示允许的金额差异。如果为 null,则金额容差将根据 priceTolerance 和 quantityTolerance 动态计算。
要求: 可选,若传入则必须和 amountToleranceType 一同传入,并且值为非负数。
默认值会根据 priceTolerance 和 quantityTolerance 动态计算。
amountToleranceType(金额容差类型)
类型: string ("0" 或 "1")
描述: 金额容差的类型。
要求: 可选,若传入则必须和 amountTolerance 一同传入,并且值必须为:
"0": 容差以百分比表示。
"1": 容差以绝对值表示。
默认值会根据 priceToleranceType 和 quantityToleranceType 动态调整。
matchMode(匹配模式)
类型: string ("0", "1", "2")
描述: 匹配时使用的策略。
要求: 可选,若传入则会覆盖默认值:
如果传入 matchMode,则必须为:
"0": 仅使用金额进行匹配。
"1": 仅使用数量进行匹配。
"2": 同时使用数量和金额进行匹配。
默认为 "0"。

三、主要输出参数#

1.data: 输出结果。包含匹配的入库单信息和每一行发票明细的匹配情况。如果没有匹配到入库单,matchDocIds/matchDetails 返回空列表;如果匹配到入库单,则返回发票与入库单的匹配信息。匹配信息包含以下字段:
matchDocIds: 该发票匹配的入库单 IDs,,若无匹配,返回空列表;若有匹配,返回一个包含所有匹配入库单 ID 的数组。入库单 ID 来源于入库单文件中的 doc_id 字段。
matchDetails: 发票与入库单的明细匹配信息列表。每个明细项包含以下字段:
targetItemId: 发票的明细 ID,来源于发票文件中的 item_id 字段。
candidateItem: 候选入库单明细信息列表。每个候选项是一个对象,包含:
candidateDocId: 该明细所属的入库单 ID。(doc_id)
candidateItemId: 该明细的 ID。

请求参数

Query 参数
access_token
string 
必需
授权token,由前置脚本生成,失效的调用一下获取授权接口即可
示例值:
{{access_token}}
Header 参数
client-platform
string 
必需
示例值:
common
Body 参数multipart/form-data
targetFile
file 
可选
发票文件,输入发票的信息及其明细项,包含每一条明细的信息。字段包括'item_id'(发票明细的唯一标识), 'product_name'(商品名称), 'specification_model'(规格型号), 'unit'(单位), 'quantity'(数量), 'unit_price'(单价), 'amount'(不含税金额)
示例值:
cmMtdXBsb2FkLTE3MzYxMzMwMzYzODEtMjU=/test_invoice_data.csv
targetUrl
string 
可选
发票文件的url地址。targetFile 和 targetUrl 至少提供一个,不可同时为空。
candidateFile
file 
可选
候选入库单文件,输入多张入库单信息及其明细项信息,包含每一张入库单的每一条明细的信息。字段包括'item_id'(入库单明细的唯一标识), 'doc_id'(入库单的唯一标识), 'product_code'(商品编码,商品的唯一标识), 'product_name'(商品名称),'specification_model'(规格型号,没有的话为传入空字符串), 'unit'(单位), 'quantity'(数量), 'unit_price'(单价), 'amount'(金额)
示例值:
cmMtdXBsb2FkLTE3MzYxMzMwMzYzODEtMjk=/test_receipt_data.csv
candidateUrl
string 
可选
候选入库单文件的url地址。candidateFile 和 candidateUrl 至少提供一个,不可同时为空。
settings
string 
可选
动态配置项,传入json的string格式,目前支持的配置项为priceTolerance,priceToleranceType,quantityTolerance,quantityToleranceType,amountTolerance,amountToleranceType,matchMode。
示例值:
{"priceTolerance":0.001,"priceToleranceType":"0"}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location -g --request POST '/ai/knowledge/nlpService/item/match?access_token={{access_token}}' \
--header 'client-platform: common' \
--form 'targetFile=@"cmMtdXBsb2FkLTE3MzYxMzMwMzYzODEtMjU=/test_invoice_data.csv"' \
--form 'targetUrl=""' \
--form 'candidateFile=@"cmMtdXBsb2FkLTE3MzYxMzMwMzYzODEtMjk=/test_receipt_data.csv"' \
--form 'candidateUrl=""' \
--form 'settings="{\"priceTolerance\":0.001,\"priceToleranceType\":\"0\"}"'

返回响应

🟢200成功
application/json
Body
接口返回的完整数据结构
errcode
string 
必需
接口返回的错误码,0000代表正常返回成功
description
string 
接口返回描述
必需
data
object 
必需
数据部分,包含匹配的入库单信息和明细
matchDocIds
array[string]
必需
匹配的入库单 IDs,若无匹配返回空列表
matchDetails
array [object {2}] 
必需
发票与入库单明细的匹配信息列表
traceId
string 
必需
请求唯一标识,用于追踪和关联一次请求的整个生命周期
示例
{
    "errcode": "0000",
    "description": "Success",
    "data": {
        "matchDocIds": [
            "100145695"
        ],
        "matchDetails": [
            {
                "targetItemId": "24232000000053162531_1",
                "candidateItem": [
                    {
                        "candidateDocId": "100145695",
                        "candidateItemId": "100145695_1"
                    }
                ]
            }
        ]
    },
    "traceId": "1eb3120be1724f1c81bb170737d10e73"
}
上一页
智能赋码税收分类编码识别
下一页
三单匹配-异步任务提交
Built with