全电发票开票接口

    全面数字化的电子发票,简称全电发票,是指:依托可信身份体系和电子发票服务平台,以去介质、去版式、标签化、要素化、授信制、赋码制为基本特征,覆盖全领域、全环节、全要素的全新发票,与纸质发票具有同等法律效力。

    全电发票的时代已来临,你是否还是手工填写,复制粘贴发票抬头,核对产品信息,产品型号,开票金额,再计算不含税金额和税额,往往为了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列表中返回的发票号码是空的,需要用异步获取开票结果进行获取开票状态。

猜你喜欢

转载自blog.csdn.net/Michael__mai/article/details/129381010
今日推荐