C#语言调用发票查验接口说明-发票OCR-数电票查验

说起发票录入、发票查验工作,无疑不让财务人员感到头疼。传统依赖于人工录入发票信息的方式,速度慢、效率低,最主要的是准确率没有保障,不仅会为企业带来财税风险,财务自身也可能需要承担一定的责任,因为,发票识别、发票查验接口软件应用而生。

发票识别+发票查验接口,仅需上传发票图片,即可实现发票信息的快速、精准录入与真伪查验,集成简单方便,以发票查验接口为例,接口说明如下:

|----|---------------|---------|----|-------------------------------------------------------------------|
| 接口说明 |||||
| 接口地址: || https://netocr.com/verapi/v2/verInvoice.do |||
| 接口调用方法: || post |||
| 接口接收参数: |||||
| 序号 | 名称 | 类型 | 必填 | 说明 |
| 1 | key | String | 是 | 用户ocrKey |
| 2 | secret | String | 是 | 用户ocrSecrert |
| 3 | invoiceCode | String | 否 | 发票代码 |
| 4 | invoiceNumber | String | 是 | 发票号码 |
| 5 | billingDate | String | 否 | 开票日期:YYYY-MM-DD (非区块链发票必填) |
| 6 | totalAmount | String | 是 | 合计金额(不含税),必须精确到两位小数(专票、货运专票、机动车专票必填) 价税合计(全电票、航空运输电子客票行程单、铁路电子客票) |
| 7 | checkCode | String | 否 | 校验码后6位(普票、电子普票、卷式普票,必填),校验码(区块链必填),全电发票号码后6位(全电纸票(普通发票)) |
| 8 | salesTaxNo | String | 否 | 销方税号(区块链必填) |
| 9 | orderNo | String | 否 | 订单号(通用电子发票必填) |
| 9 | typeId | Integer | 是 | 发票验真:3007 |

状态码说明:

|---|---|--------|---|---|
| status || code | message ||
| status || 0 | 成功(发票一致)(扣费) ||
| status || -30000 | 该票今日本平台核验失败已超5次(扣费) ||
| status || -30001 | 不一致,金额或校验码错误(扣费) ||
| status || -30002 | 所查发票不存在(扣费) ||
| status || -30003 | 超过该张票当天查验次数(请于次日再次查验) ||
| status || -30009 | 已超过最大查验量 ||
| status || -30004 | 查询发票不规范 ||
| status || -30010 | 查验异常 ||
| status || -30005 | 参数不能为空 ||
| status || -30008 | 参数长度不正确 ||
| status || -30006 | 日期当天的不能查验 ||
| status || -30007 | 超过五年的不能查验 ||
| status || -30017 | 参数异常 ||
| status || -30014 | 接口异常 ||
| status ||
| status ||
| status ||
| status ||
| status ||
| status ||

以发票查验接口C#语言代码为例:

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://netocr.com/verapi/v2/verInvoice.do");
var content = new MultipartFormDataContent();
content.Add(new StringContent("M***********g"), "key");
content.Add(new StringContent("3***********6"), "secret");
content.Add(new StringContent("3007"), "typeId");
content.Add(new StringContent("*******"), "invoiceCode");
content.Add(new StringContent("*********"), "invoiceNumber");
content.Add(new StringContent("*********"), "billingDate");
content.Add(new StringContent("*********"), "totalAmount");
content.Add(new StringContent("*********"), "checkCode");
content.Add(new StringContent("*********"), "salesTaxNo");
content.Add(new StringContent("***********"), "orderNo");

request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
相关推荐
ONE米球兔3 小时前
OCR(四)windows 环境基于c++的 paddle ocr 编译【GPU版本】
ocr·paddle
Eric.Lee20214 小时前
ubuntu paddle ocr 部署bug问题解决
ubuntu·ocr·paddle
暮暮七6 小时前
理想很丰满的Ollama-OCR
linux·python·大模型·ocr·markdown·ollama
liwulin050616 小时前
【JAVA】Tesseract-OCR截图屏幕指定区域识别0.4.2
java·开发语言·ocr
没了对象省了流量ii1 天前
本地高精度OCR!由GPT-4o-mini驱动的开源OCR!
ocr
paixiaoxin2 天前
CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究
人工智能·深度学习·机器学习·生成对抗网络·计算机视觉·ocr·.net
机器视觉知识推荐、就业指导5 天前
深度学习OCR与传统OCR对比实验:图像数据集联系博主获取
人工智能·深度学习·ocr
翔云API5 天前
驾驶证识别API-JavaScript驾驶证ocr接口集成-场景解析
ocr
AIBigModel5 天前
OCR多模态大模型:视觉模型与LLM的结合之路
ocr
坐井观老天6 天前
如何在OpenCV中运行自定义OCR模型
opencv·计算机视觉·ocr