乐企发票版式文件生成接口详解:PDF/OFD/XML 一键生成

该文章已生成可运行项目,

一、背景:为什么需要“版式文件生成”?

随着国家税务总局推进“全面数字化电子发票”(数电发票)改革,企业开票不再依赖税控设备,而是通过 乐企平台(全国统一发票服务平台) 实现全流程线上化。

在实际业务中,虽然发票数据已上传至税务系统,但企业仍需将发票以 PDF、OFD 或 XML 格式 输出用于报销、归档或打印。因此,“发票版式文件生成”接口 成为财税系统开发中的关键环节。

✅ 该接口支持生成:

  • PDF:通用查看格式
  • OFD:国家推荐的电子发票标准格式(中国版 PDF)
  • XML:仅适用于数电发票(税控发票不生成)

二、[发票版式文件生成]接口文档

接口说明

开发者可调用本接口生成发票版式文件,包含pdf、odf、xml(税控票不生成xml)

请求参数

Header 参数

.....

Body 参数

名称类型是否必须示例值最大长度描述
fpdmStringN12发票代码
fphmStringY2487700000000000000132发票号码
lzfpbzStringY01蓝字发票标志 0-蓝票 1-红票
ptbhStringY45ecb99999999999f6dc20平台编号
fppzStringY01发票票种 01-增值税专用发票;02-普通发票;03-机动车销售统一发票;04-二手车统一销售发票;05-铁路电子客票;06-航空运输客票电子行程单
fplxStringN81发票类型 01
gmfzrrbzStringNN购买方自然人标志 Y-是;N-否
tdysStringN特定要素 01-成品油;02-XT;03-建筑服务;04-货物运输服务;05-不动产销售服务;06-不动产经营租赁服务;07-代收车船税;08-通行费;09-旅客运输服务;10-医疗服务(住院);11-医疗服务(门诊);12-自产农产品销售
qyDmStringN312区域代码(枚举值见附录)
cezslxDmStringN差别征税类型代码 01-全额开票;02-差额开票
sgfplxDmStringN收购发票类型代码 01-农产品收购发票;02-光伏收购发票;03-二手车收购发票
xsfnsrsbhStringYAAAAAAAAAAAAAAAAAA26销售方识别号
xsfmcStringY中国销方壹公司300销售方名称
xsfdzStringN销售方地址
xsfdhStringN销售方电话
xsfkhhStringN销售方开户行
xsfzhStringN销售方账号
gmfnsrsbhStringN1111111111111111111126购买方税号 发票票种01时必填
gmfmcStringY中国销方壹公司300购买方名称
gmfdzStringN购买方地址
gmfdhStringN购买方电话
gmfkhhStringN购买方开户行
gmfzhStringN购买方账号
hjjeFloat64Y100.0018合计金额
hjseFloat64Y13.0018合计税额
jshjFloat64Y113.0018价税合计
kprStringY300开票人
dylzfphmStringN对应蓝字发票号码
hzqrxxdbhStringN红字确认信息单编号
hzqrduuidStringN红字确认信息单uuid
bzStringN460备注
jymStringN校验码(税控票)
jqbhStringN机器编号(税控票)
skmStringN税控码(税控票)
dqStringN上海地区(中文)(税控票)
kprqStringY2023-03-04 13:22:44开票日期 yyyy-MM-dd HH:mm:ss
sfzsxsfyhzhbqStringN是否展示销售方银行账号标签 Y-是,N-否,默认否
sfzsgmfyhzhbqStringN是否展示购买方银行账号标签 Y-是,N-否,默认否
skrxmStringN收款人姓名
fhrxmStringN复核人姓名
downloadCountIntN下载次数,如果>0,则打印
+ jzfwtdysObjectN建筑服务特定要素
-- tdzzsxmbhString土地增值税项目编号
-- kdsbzString跨地市标志
+ bdcxstdysObjectN不动产销售特定要素
-- bdcdwdmString不动产单位代码
-- wqhtbabhString网签合同备案编号
-- bdczldzString不动产坐落地址
-- tdzzsxmbhString土地增值税项目编号
-- kdsbzString跨地(市)标志
-- hdjsjgString核定计税价格
-- sjcjhsjeString实际成交含税金额
bdczldzStringN不动产地址(不动产租赁特定要素)
zlqqzStringN租赁期起止(不动产租赁特定要素)
kdsbzStringN跨地(市)标志(不动产租赁特定要素)
+ ysmxListArrayN货物运输特定要素
-- ysmxxhString运输明细序号
-- qydString起运地
-- dddString到达地
-- ysgjzlString运输工具种类
-- ysgjphString运输工具牌号
-- yshwmcString运输货物名称
+ cxrxxListArrayN旅客运输特定要素
-- cxrxhString出行人序号
-- cxrString出行人
-- cxrzjlxDmString出行人证件类型
-- sfzjhmString有效身份证件号
-- chuxrqString出行日期
-- cfdString旅客出发地
-- dddString旅客到达地
-- zwdjString等级
-- jtgjlxDmString交通工具类型
+ ylmztdysObjectN医疗门诊特定要素
-- ylywlshString医疗业务流水号
-- hzxmString患者姓名
-- hzsfzjlxDmString患者身份证件类型代码
-- hzsfzjhmString患者身份证件号码
-- mzhString门诊号
-- mzjzsjString门诊就诊时间
-- yljglxDmString医疗机构类型代码
-- qtyljglxString其他医疗机构类型
-- yblxDmString医保类型代码
-- qtyblxString其他医保类型
-- ybbhString医保编号
-- xbDmString性别
-- ybtcjjzfjeString医保统筹基金支付金额
-- qtzfjeString其他支付金额
-- grzhzfjeString个人账户支付金额
-- grxjzfjeString个人现金支付金额
-- grzfjeString个人自付金额
-- grzfje1String个人自费金额
-- sszdyysslString省市自定义要素数量
--+ sszdyysListArray省市自定义要素
---- sszdyysxhString省市自定义要素序号
---- sszdyysmcString省市自定义要素名称
---- sszdyysnrString省市自定义要素内容
+ ylzytdysObjectN医疗住院特定要素
-- ylywlshString医疗业务流水号
-- hzxmString患者姓名
-- hzsfzjlxDmString患者身份证件类型代码
-- hzsfzjhmString患者身份证件号码
-- blhString病历号
-- zyhString住院号
-- zykbString住院科别
-- zysjqString住院时间起
-- zysjzString住院时间止
-- yjjeString预缴金额
-- bjjeString补缴金额
-- tfjeString退费金额
-- yljglxDmString医疗机构类型代码
-- qtyljglxString其他医疗机构类型
-- yblxDmString医保类型代码
-- qtyblxString其他医保类型
-- ybbhString医保编号
-- xbDmString性别 1-男 2-女
-- ybtcjjzfjeString医保统筹基金支付金额
-- qtzfjeString其他支付金额
-- grzhzfjeString个人账户支付金额
-- grxjzfjeString个人现金支付金额
-- grzfjeString个人自付金额
-- grzfje1String个人自费金额
-- jkrString交款人
-- skdwString收款单位
-- sszdyysslString省市自定义要素数量
--+ sszdyysListArray省市自定义要素
---- sszdyysxhString省市自定义要素序号
---- sszdyysmcString省市自定义要素名称
---- sszdyysnrString省市自定义要素内容
--+ sfmxListArray收费明细
---- zysfmxxhString住院收费明细序号
---- mxxhString明细序号
---- fymxString费用明细
---- slString数量
---- dwString单位
---- jeString金额
---- seString税额
---- slvString增值税税率/征收率
---- ylfwgbmString医疗服务贯标码
---- bzString备注
+ fpmxListArray发票明细
-- xhStringY18序号
-- mxxhStringN明细序号
-- dylzfpmxxhStringN8对应蓝字发票明细序号
-- hwhyslwfwmcStringY海水产品天然海绵300货物或应税劳务、服务名称
-- spfwjcStringY海水产品120商品服务简称
-- xmmcStringY天然海绵600项目名称
-- ggxhStringN150规格型号
-- dwStringN300单位
-- slStringN25数量(单价非空则必填)
-- djStringN25单价(数量非空则必填)
-- fpjyslStringN发票交易数量(与sl相同)
-- fpjydjStringN发票交易(不含税)单价(与dj相同)
-- jeStringY18金额
-- slvStringY13%16税率
-- seStringY18税额
-- hsjeStringY18含税金额
-- kceStringN18扣除额
-- sphfwssflhbbmStringN19商品和服务税收分类合并编码
-- fphxzStringN发票行性质 01-折扣行 02-被折扣行
-- yhzcbsStringN优惠政策标识 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%即征即退
-- xhintN明细序号(特定要素明细)
-- jzfwfsdStringN建筑服务发生地(建筑服务)
-- jzxmmcStringN建筑项目名称(建筑服务)
-- cqzsbh_bdcxsStringN产权证书/不动产权证号(不动产销售)
-- cqzsbh_bdczlStringN产权证书/不动产权证号(不动产租赁)
-- fymxStringN费用明细(医疗门诊)
-- ylfwgbmStringN医疗服务贯标码(医疗门诊)
-- qtStringN其它(医疗门诊)
-- bzStringN备注(医疗住院)
-- cphmStringN车票号码(通行费)
-- cllxDmStringN车辆类型代码(通行费)
-- cllxmcStringN车辆类型名称(通行费)
-- txrqqStringN通行日期起 yyyy-MM-dd HH:mm:ss (通行费)
-- txrqzStringN通行日期起 yyyy-MM-dd HH:mm:ss (通行费)
+ fjysListArrayN发票要素
-- fjysmcStringN200附加要素名称
-- fjyslxStringN200附加要素类型
-- fjyszStringN200附加要素值

返回相应

名称类型是否必须示例值最大长度描述
okBoolYtrue1是否成功
errInfoStringN蓝字发票标志不能为空错误信息
errCodeintN2错误代码 1-数据有误;2-文件生成有误;20-文件上传识别;30-文件本地存储有误
pdfStringNhttps://*/minio/hsymock/f/0/2025-11-18/dzfp_2587705430*****9中国销方壹公司20251118171630.pdfpdf文件Url
ofdStringNhttps://*/minio/hsymock/f/0/2025-11-18/dzfp_2587705430*****9中国销方壹公司20251118171630.ofdofd文件Url
xmlStringNhttps://*/minio/hsymock/f/0/2025-11-18/dzfp_2587705430*****9中国销方壹公司20251118171630.zipxml文件Url
fpdmhmStringN2587705430*****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深圳

三、开发建议

  1. 优先使用 OFD:符合国家规范,利于长期归档;
  2. 避免重复请求:建议缓存生成后的文件;
  3. 异常处理:注意 invoiceId 无效、权限不足等错误码;
  4. 测试环境:务必使用乐企沙箱环境验证逻辑。

四、欢迎交流!

你在对接乐企接口时,是否遇到过:

  • 401 认证失败?
  • XML 无法解析?
  • OFD 打不开的问题?

👉 评论区留言或私信我,一起解决实战中的难题!也欢迎分享你的最佳实践 💬

本文章已经生成可运行项目
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值