一、背景:为什么需要“版式文件生成”?
随着国家税务总局推进“全面数字化电子发票”(数电发票)改革,企业开票不再依赖税控设备,而是通过 乐企平台(全国统一发票服务平台) 实现全流程线上化。
在实际业务中,虽然发票数据已上传至税务系统,但企业仍需将发票以 PDF、OFD 或 XML 格式 输出用于报销、归档或打印。因此,“发票版式文件生成”接口 成为财税系统开发中的关键环节。
✅ 该接口支持生成:
OFD:国家推荐的电子发票标准格式(中国版 PDF)XML:仅适用于数电发票(税控发票不生成)
二、[发票版式文件生成]接口文档
接口说明
开发者可调用本接口生成发票版式文件,包含pdf、odf、xml(税控票不生成xml)
请求参数
Header 参数
.....
Body 参数
| 名称 | 类型 | 是否必须 | 示例值 | 最大长度 | 描述 |
|---|---|---|---|---|---|
| fpdm | String | N | 12 | 发票代码 | |
| fphm | String | Y | 24877000000000000001 | 32 | 发票号码 |
| lzfpbz | String | Y | 0 | 1 | 蓝字发票标志 0-蓝票 1-红票 |
| ptbh | String | Y | 45ecb99999999999f6dc | 20 | 平台编号 |
| fppz | String | Y | 01 | 发票票种 01-增值税专用发票;02-普通发票;03-机动车销售统一发票;04-二手车统一销售发票;05-铁路电子客票;06-航空运输客票电子行程单 | |
| fplx | String | N | 81 | 发票类型 01 | |
| gmfzrrbz | String | N | N | 购买方自然人标志 Y-是;N-否 | |
| tdys | String | N | 特定要素 01-成品油;02-XT;03-建筑服务;04-货物运输服务;05-不动产销售服务;06-不动产经营租赁服务;07-代收车船税;08-通行费;09-旅客运输服务;10-医疗服务(住院);11-医疗服务(门诊);12-自产农产品销售 | ||
| qyDm | String | N | 31 | 2 | 区域代码(枚举值见附录) |
| cezslxDm | String | N | 差别征税类型代码 01-全额开票;02-差额开票 | ||
| sgfplxDm | String | N | 收购发票类型代码 01-农产品收购发票;02-光伏收购发票;03-二手车收购发票 | ||
| xsfnsrsbh | String | Y | AAAAAAAAAAAAAAAAAA | 26 | 销售方识别号 |
| xsfmc | String | Y | 中国销方壹公司 | 300 | 销售方名称 |
| xsfdz | String | N | 销售方地址 | ||
| xsfdh | String | N | 销售方电话 | ||
| xsfkhh | String | N | 销售方开户行 | ||
| xsfzh | String | N | 销售方账号 | ||
| gmfnsrsbh | String | N | 11111111111111111111 | 26 | 购买方税号 发票票种01时必填 |
| gmfmc | String | Y | 中国销方壹公司 | 300 | 购买方名称 |
| gmfdz | String | N | 购买方地址 | ||
| gmfdh | String | N | 购买方电话 | ||
| gmfkhh | String | N | 购买方开户行 | ||
| gmfzh | String | N | 购买方账号 | ||
| hjje | Float64 | Y | 100.00 | 18 | 合计金额 |
| hjse | Float64 | Y | 13.00 | 18 | 合计税额 |
| jshj | Float64 | Y | 113.00 | 18 | 价税合计 |
| kpr | String | Y | 300 | 开票人 | |
| dylzfphm | String | N | 对应蓝字发票号码 | ||
| hzqrxxdbh | String | N | 红字确认信息单编号 | ||
| hzqrduuid | String | N | 红字确认信息单uuid | ||
| bz | String | N | 460 | 备注 | |
| jym | String | N | 校验码(税控票) | ||
| jqbh | String | N | 机器编号(税控票) | ||
| skm | String | N | 税控码(税控票) | ||
| dq | String | N | 上海 | 地区(中文)(税控票) | |
| kprq | String | Y | 2023-03-04 13:22:44 | 开票日期 yyyy-MM-dd HH:mm:ss | |
| sfzsxsfyhzhbq | String | N | 是否展示销售方银行账号标签 Y-是,N-否,默认否 | ||
| sfzsgmfyhzhbq | String | N | 是否展示购买方银行账号标签 Y-是,N-否,默认否 | ||
| skrxm | String | N | 收款人姓名 | ||
| fhrxm | String | N | 复核人姓名 | ||
| downloadCount | Int | N | 下载次数,如果>0,则打印 | ||
| + jzfwtdys | Object | N | 建筑服务特定要素 | ||
| -- tdzzsxmbh | String | 土地增值税项目编号 | |||
| -- kdsbz | String | 跨地市标志 | |||
| + bdcxstdys | Object | N | 不动产销售特定要素 | ||
| -- bdcdwdm | String | 不动产单位代码 | |||
| -- wqhtbabh | String | 网签合同备案编号 | |||
| -- bdczldz | String | 不动产坐落地址 | |||
| -- tdzzsxmbh | String | 土地增值税项目编号 | |||
| -- kdsbz | String | 跨地(市)标志 | |||
| -- hdjsjg | String | 核定计税价格 | |||
| -- sjcjhsje | String | 实际成交含税金额 | |||
| bdczldz | String | N | 不动产地址(不动产租赁特定要素) | ||
| zlqqz | String | N | 租赁期起止(不动产租赁特定要素) | ||
| kdsbz | String | N | 跨地(市)标志(不动产租赁特定要素) | ||
| + ysmxList | Array | N | 货物运输特定要素 | ||
| -- ysmxxh | String | 运输明细序号 | |||
| -- qyd | String | 起运地 | |||
| -- ddd | String | 到达地 | |||
| -- ysgjzl | String | 运输工具种类 | |||
| -- ysgjph | String | 运输工具牌号 | |||
| -- yshwmc | String | 运输货物名称 | |||
| + cxrxxList | Array | N | 旅客运输特定要素 | ||
| -- cxrxh | String | 出行人序号 | |||
| -- cxr | String | 出行人 | |||
| -- cxrzjlxDm | String | 出行人证件类型 | |||
| -- sfzjhm | String | 有效身份证件号 | |||
| -- chuxrq | String | 出行日期 | |||
| -- cfd | String | 旅客出发地 | |||
| -- ddd | String | 旅客到达地 | |||
| -- zwdj | String | 等级 | |||
| -- jtgjlxDm | String | 交通工具类型 | |||
| + ylmztdys | Object | N | 医疗门诊特定要素 | ||
| -- ylywlsh | String | 医疗业务流水号 | |||
| -- hzxm | String | 患者姓名 | |||
| -- hzsfzjlxDm | String | 患者身份证件类型代码 | |||
| -- hzsfzjhm | String | 患者身份证件号码 | |||
| -- mzh | String | 门诊号 | |||
| -- mzjzsj | String | 门诊就诊时间 | |||
| -- yljglxDm | String | 医疗机构类型代码 | |||
| -- qtyljglx | String | 其他医疗机构类型 | |||
| -- yblxDm | String | 医保类型代码 | |||
| -- qtyblx | String | 其他医保类型 | |||
| -- ybbh | String | 医保编号 | |||
| -- xbDm | String | 性别 | |||
| -- ybtcjjzfje | String | 医保统筹基金支付金额 | |||
| -- qtzfje | String | 其他支付金额 | |||
| -- grzhzfje | String | 个人账户支付金额 | |||
| -- grxjzfje | String | 个人现金支付金额 | |||
| -- grzfje | String | 个人自付金额 | |||
| -- grzfje1 | String | 个人自费金额 | |||
| -- sszdyyssl | String | 省市自定义要素数量 | |||
| --+ sszdyysList | Array | 省市自定义要素 | |||
| ---- sszdyysxh | String | 省市自定义要素序号 | |||
| ---- sszdyysmc | String | 省市自定义要素名称 | |||
| ---- sszdyysnr | String | 省市自定义要素内容 | |||
| + ylzytdys | Object | N | 医疗住院特定要素 | ||
| -- ylywlsh | String | 医疗业务流水号 | |||
| -- hzxm | String | 患者姓名 | |||
| -- hzsfzjlxDm | String | 患者身份证件类型代码 | |||
| -- hzsfzjhm | String | 患者身份证件号码 | |||
| -- blh | String | 病历号 | |||
| -- zyh | String | 住院号 | |||
| -- zykb | String | 住院科别 | |||
| -- zysjq | String | 住院时间起 | |||
| -- zysjz | String | 住院时间止 | |||
| -- yjje | String | 预缴金额 | |||
| -- bjje | String | 补缴金额 | |||
| -- tfje | String | 退费金额 | |||
| -- yljglxDm | String | 医疗机构类型代码 | |||
| -- qtyljglx | String | 其他医疗机构类型 | |||
| -- yblxDm | String | 医保类型代码 | |||
| -- qtyblx | String | 其他医保类型 | |||
| -- ybbh | String | 医保编号 | |||
| -- xbDm | String | 性别 1-男 2-女 | |||
| -- ybtcjjzfje | String | 医保统筹基金支付金额 | |||
| -- qtzfje | String | 其他支付金额 | |||
| -- grzhzfje | String | 个人账户支付金额 | |||
| -- grxjzfje | String | 个人现金支付金额 | |||
| -- grzfje | String | 个人自付金额 | |||
| -- grzfje1 | String | 个人自费金额 | |||
| -- jkr | String | 交款人 | |||
| -- skdw | String | 收款单位 | |||
| -- sszdyyssl | String | 省市自定义要素数量 | |||
| --+ sszdyysList | Array | 省市自定义要素 | |||
| ---- sszdyysxh | String | 省市自定义要素序号 | |||
| ---- sszdyysmc | String | 省市自定义要素名称 | |||
| ---- sszdyysnr | String | 省市自定义要素内容 | |||
| --+ sfmxList | Array | 收费明细 | |||
| ---- zysfmxxh | String | 住院收费明细序号 | |||
| ---- mxxh | String | 明细序号 | |||
| ---- fymx | String | 费用明细 | |||
| ---- sl | String | 数量 | |||
| ---- dw | String | 单位 | |||
| ---- je | String | 金额 | |||
| ---- se | String | 税额 | |||
| ---- slv | String | 增值税税率/征收率 | |||
| ---- ylfwgbm | String | 医疗服务贯标码 | |||
| ---- bz | String | 备注 | |||
| + fpmxList | Array | 发票明细 | |||
| -- xh | String | Y | 1 | 8 | 序号 |
| -- mxxh | String | N | 明细序号 | ||
| -- dylzfpmxxh | String | N | 8 | 对应蓝字发票明细序号 | |
| -- hwhyslwfwmc | String | Y | 海水产品天然海绵 | 300 | 货物或应税劳务、服务名称 |
| -- spfwjc | String | Y | 海水产品 | 120 | 商品服务简称 |
| -- xmmc | String | Y | 天然海绵 | 600 | 项目名称 |
| -- ggxh | String | N | 150 | 规格型号 | |
| -- dw | String | N | 300 | 单位 | |
| -- sl | String | N | 25 | 数量(单价非空则必填) | |
| -- dj | String | N | 25 | 单价(数量非空则必填) | |
| -- fpjysl | String | N | 发票交易数量(与sl相同) | ||
| -- fpjydj | String | N | 发票交易(不含税)单价(与dj相同) | ||
| -- je | String | Y | 18 | 金额 | |
| -- slv | String | Y | 13% | 16 | 税率 |
| -- se | String | Y | 18 | 税额 | |
| -- hsje | String | Y | 18 | 含税金额 | |
| -- kce | String | N | 18 | 扣除额 | |
| -- sphfwssflhbbm | String | N | 19 | 商品和服务税收分类合并编码 | |
| -- fphxz | String | N | 发票行性质 01-折扣行 02-被折扣行 | ||
| -- yhzcbs | String | N | 优惠政策标识 01-简易征收,02-稀土产品,03-免税,04-不征税,05-先征后退,06-100%先征后退,07-50%先征后退,08-按3%简易征收,09-按5%简易征收,10-按5%简易征收减按1.5%计征,11-即征即退30%,12-即征即退50%,13-即征即退70%,14-即征即退100%,15-超税负3%即征即退,16-超税负8%即征即退,17-超税负12%即征即退,18-超税负6%即征即退 | ||
| -- xh | int | N | 明细序号(特定要素明细) | ||
| -- jzfwfsd | String | N | 建筑服务发生地(建筑服务) | ||
| -- jzxmmc | String | N | 建筑项目名称(建筑服务) | ||
| -- cqzsbh_bdcxs | String | N | 产权证书/不动产权证号(不动产销售) | ||
| -- cqzsbh_bdczl | String | N | 产权证书/不动产权证号(不动产租赁) | ||
| -- fymx | String | N | 费用明细(医疗门诊) | ||
| -- ylfwgbm | String | N | 医疗服务贯标码(医疗门诊) | ||
| -- qt | String | N | 其它(医疗门诊) | ||
| -- bz | String | N | 备注(医疗住院) | ||
| -- cphm | String | N | 车票号码(通行费) | ||
| -- cllxDm | String | N | 车辆类型代码(通行费) | ||
| -- cllxmc | String | N | 车辆类型名称(通行费) | ||
| -- txrqq | String | N | 通行日期起 yyyy-MM-dd HH:mm:ss (通行费) | ||
| -- txrqz | String | N | 通行日期起 yyyy-MM-dd HH:mm:ss (通行费) | ||
| + fjysList | Array | N | 发票要素 | ||
| -- fjysmc | String | N | 200 | 附加要素名称 | |
| -- fjyslx | String | N | 200 | 附加要素类型 | |
| -- fjysz | String | N | 200 | 附加要素值 |
返回相应
| 名称 | 类型 | 是否必须 | 示例值 | 最大长度 | 描述 |
|---|---|---|---|---|---|
| ok | Bool | Y | true | 1 | 是否成功 |
| errInfo | String | N | 蓝字发票标志不能为空 | 错误信息 | |
| errCode | int | N | 2 | 错误代码 1-数据有误;2-文件生成有误;20-文件上传识别;30-文件本地存储有误 | |
| String | N | https://*/minio/hsymock/f/0/2025-11-18/dzfp_2587705430*****9中国销方壹公司20251118171630.pdf | pdf文件Url | ||
| ofd | String | N | https://*/minio/hsymock/f/0/2025-11-18/dzfp_2587705430*****9中国销方壹公司20251118171630.ofd | ofd文件Url | |
| xml | String | N | https://*/minio/hsymock/f/0/2025-11-18/dzfp_2587705430*****9中国销方壹公司20251118171630.zip | xml文件Url | |
| fpdmhm | String | N | 2587705430*****9 | 发票代码号码 |
附录
区域代码
| 代码 | 地区名 |
|---|---|
| 11 | 北京 |
| 51 | 四川 |
| 64 | 宁夏 |
| 65 | 新疆 |
| 12 | 天津 |
| 13 | 河北 |
| 14 | 山西 |
| 15 | 内蒙古 |
| 21 | 辽宁 |
| 22 | 吉林 |
| 23 | 黑龙江 |
| 31 | 上海 |
| 32 | 江苏 |
| 33 | 浙江 |
| 34 | 安徽 |
| 35 | 福建 |
| 36 | 江西 |
| 37 | 山东 |
| 41 | 河南 |
| 42 | 湖北 |
| 43 | 湖南 |
| 44 | 广东 |
| 45 | 山西 |
| 46 | 海南 |
| 50 | 重庆 |
| 52 | 贵州 |
| 53 | 云南 |
| 54 | 西藏 |
| 61 | 陕西 |
| 62 | 甘肃 |
| 63 | 青海 |
| 91 | 大连 |
| 92 | 青岛 |
| 93 | 宁波 |
| 94 | 厦门 |
| 95 | 深圳 |
三、开发建议
- 优先使用 OFD:符合国家规范,利于长期归档;
- 避免重复请求:建议缓存生成后的文件;
- 异常处理:注意
invoiceId无效、权限不足等错误码; - 测试环境:务必使用乐企沙箱环境验证逻辑。
四、欢迎交流!
你在对接乐企接口时,是否遇到过:
401认证失败?XML无法解析?OFD打不开的问题?
👉 评论区留言或私信我,一起解决实战中的难题!也欢迎分享你的最佳实践 💬

1967

被折叠的 条评论
为什么被折叠?



