全面数字化的电子发票,简称“全电发票”,也叫“数电票”,是指:依托可信身份体系和电子发票服务平台,以去介质、去版式、标签化、要素化、授信制、赋码制为基本特征,覆盖全领域、全环节、全要素的全新发票,与纸质发票具有同等法律效力。
全电发票的时代已来临,你是否还是手工填写,复制粘贴发票抬头,核对产品信息,产品型号,开票金额,再计算不含税金额和税额,往往为了1分钱的差异折腾半天,为了四合五入而焦头烂额,最后还要把开具成功的PDF发票版式文件发送给消费者。财务同学的苦恼我们懂,因为我们经历过。现分享已实现的自动化开票,和接口开票的方法。
全电自动开票工具的特点如下:
1) 支持多个销方开票公司同时进行开具发票;
2) 支持全部发票种类:全电专票,全电普票,电子发票,纸质专票,纸质普票;
3) 不需要人工干预,即可完成自动开票;
4) 支持API开票模式,调用全电发票开票接口API可集成到已有的系统中;
5) 支持航天、百望、ukey与全电发票同时并行开票;
6) 支持合并拆分,折扣自动处理,备注自动填充,自动回写,金额差异数据调整。
全电发票开票接口对接说明
请求URL: fpkj...com/kpgl/fpkj
请求方式 :POST
接口请求头部类型ContentType:application/x-www-form-urlencoded;charset=UTF-8
参数格式:DATA
返回参数格式 :JSON
请求参数格式:token=&data=[发票报文json的base64]&spid=销售方企业id
发票报文json,如下:
[
{
"XTLSH": "单据号",
"KHMC": "客户名称",
"KHSH": "税号",
"KHDZ": "地址",
"KHKHYHZH": "客户银行账号",
"FPZL": "发票种类",
"BZ": "备注",
"KPR": "开票人",
"SKR": "收款人",
"FHR": "复核人",
"YFPHM": "红冲原发票号",
"KHYJ": "客户邮件",
"KHSJ": "客户手机号",
"ITEM": [
{
"CPMC": "产品名称1",
"CPXH": "产品型号",
"CPDW": "产品单位",
"SL": "税率",
"CPSL": "数量",
"BHSJE": "不含税金额",
"SE": "税额",
"FLBM": "分类编码",
"XSYH": "税率优惠",
"LSLBZ": "零税率标识",
"YHSM": "优惠说明",
"KCJE": "0"
},
{
"CPMC": "产品名称2",
"CPXH": "产品型号",
"CPDW": "产品单位",
"SL": "税率",
"CPSL": "数量",
"BHSJE": "不含税金额",
"SE": "税额",
"FLBM": "分类编码",
"XSYH": "税率优惠",
"LSLBZ": "零税率标识",
"YHSM": "优惠说明",
"KCJE": "0"
}
]
}
]
返回参数报文示例:
{
"Reulst": "1",
"Message": "",
"SucessList": [
{
"KPJG": "1",
"KPRQ": "20230307",
"KPFK": "开具成功",
"URL": "/SHKJ/57650286251271074003.pdf",
"FPHM": "23442000000019681253",
"JQBH": "",
"FPDM": "",
"SKM": "",
"PDFXX": "PDF生成成功",
"XTLSH": "0900883436",
"EWM": "01,32, ,23442000000019681253,1200.00,20230307, ,4E73,",
"JYM": "57650286251271074003"
}
],
"ErrList": [
{
"XTLSH": "",
"ErrMsg": ""
}
]
}
注意:
Result=0时,说明数据肯定是有异常或流程有异常,此时需要关注下Message这个值。
Result=1时,不代表一定是开票成功,当离线开票或税盘不在线时可能代表接收成功,如果是批量开票时,还需要关注下ErrList这个值,此时有可能是部份成功,部份不成功。
唯一能确定开票成功开票的情况: SucessList列表并且发票号不是为空的情况,
如果Result=1并且SucessList列表中返回的发票号码是空的,需要用异步获取开票结果进行获取开票状态。