一、政策要求解决的是什么问题?
2026年6月8日,国家税务总局发布《关于在成品油零售领域全面推广“交易即开票”有关事项的公告》。公告要求,成品油零售加油站应当于2026年11月1日前实现“交易即开票”。
按照公告定义,“交易即开票”是指加油站完成成品油销售交易后,根据实际交易数据,通过税务部门乐企平台即时向购买方全量开具全面数字化电子发票。
这里有三个技术关键词:
交易完成:开票应对应一笔已经完成的成品油零售交易;
交易数据:商品、数量、金额、收款及购买方信息需要形成可核验的关联;
全量即时开具:系统应覆盖不同支付和销售场景,不能只处理主动申请开票的订单。
因此,这次改造不只是增加一个开票按钮,而是要打通加油机管理、零售管理、收银、支付、客户抬头和数电发票开具之间的数据链路。
需要纠正一个常见误解:公告规定的是加油站应在期限前完成系统改造,未按期实现的由税务机关责令改正并依法处理。不能进一步简单推导为“未改造加油站开出的所有发票一律不能抵扣或税前扣除”。购买方能否抵扣、扣除,仍应结合发票状态、真实交易、取得方式和现行税收规定判断。
二、乐企自用和乐企联用有什么区别?
公告给出了两种实现路径。
| 实现方式 | 适用条件 | 技术路径 | 主要责任 |
|---|---|---|---|
| 乐企自用 | 符合乐企自用接入条件,具备自有信息系统改造能力,并经省级税务机关确认 | 加油站改造加油机管理、零售管理和收银等系统,直接接入乐企平台 | 加油站及其技术团队负责系统建设、接口运行和持续维护 |
| 乐企联用 | 不符合乐企自用条件,或不具备完整自建能力 | 加油站按技术标准对接具备开票能力的乐企联用平台 | 加油站、零管或收银系统厂商与联用平台共同完成数据对接和运行保障 |
乐企联用不等于“只接一个支付接口”。公告要求的是交易后根据交易数据即时开票。支付信息是数据链路的一部分,但不能替代油品、数量、单价、油枪、订单及交易状态等业务信息。
对于零管系统厂商,重点是输出真实、完整、可追溯的销售交易;对于联用平台,重点是按技术标准接收交易和购买方信息,生成并提交开票请求,接收开票结果;对于加油站,仍需保证业务、收款和开票数据真实一致。
三、四类收款场景的开票规则
不同支付方式不能共用一套简单逻辑。
| 场景 | 政策规则 | 系统设计要点 |
| 第三方支付平台 | 交易完成后通过乐企平台即时开票 | 支付流水需要与加油订单稳定关联,避免只依据支付金额开票 |
| 互联网平台 | 交易完成后通过乐企平台即时开票;互联网平台企业应作为直连单位接入乐企平台并按规定报送涉税信息 | 明确平台订单号、加油站主体、交易明细、支付流水及发票抬头之间的映射 |
| 加油卡或电子钱包 | 可以在充值时开具不征税普通发票,也可以在实际加油时开具普通发票或增值税专用发票 | 充值和消费应建立防重复开票标识;个人加油卡设置单位抬头时,不得开具或换开增值税专用发票 |
| 现金、赊销、对公转账等 | 按实际交易数据通过乐企平台开票 | 没有标准支付回调时,必须由零管或收银系统提供可信的交易完成事件和收款方式 |
加油卡场景需要特别处理“充值开票”和“消费开票”的互斥关系。如果充值环节已经开具不征税普通发票,系统应保留充值批次、已开票金额和消费核销关系,防止后续重复开票。
四、推荐的数据链路
一条完整链路可以拆成六步:
加油机产生加油明细 ↓ 零管系统生成销售订单 ↓ 收银或支付系统确认收款状态 ↓ 系统关联购买方及预设发票抬头 ↓ 乐企自用或联用平台提交开票 ↓ 回写发票号码、状态及交付结果其中,零管系统更适合作为交易主数据来源,支付系统用于补充资金收取信息。单纯根据支付金额反推油品和数量,在同金额、多笔合并支付、优惠券、抹零、预付款和赊销场景下都可能产生错误。
建议为每笔交易生成跨系统唯一标识,例如:
station_id + terminal_id + trade_date + order_sequence该标识应贯穿零管订单、支付流水、开票请求和发票结果,便于防重、重试和对账。
五、开票请求至少需要哪些数据?
以下JSON仅用于说明数据结构,不代表税务机关或任何服务商的正式接口文档。
{ "transactionId": "ST310001-POS03-20260827-000128", "station": { "stationId": "ST310001", "sellerTaxpayerId": "SELLER_TAX_ID" }, "trade": { "completedAt": "2026-08-27T09:35:21+08:00", "paymentType": "WECHAT_PAY", "paymentTransactionId": "PAYMENT_FLOW_ID", "totalAmount": 420.00 }, "items": [ { "oilProductCode": "PRODUCT_CODE", "oilName": "95号车用汽油", "gunNo": "08", "quantity": 52.50, "unit": "升", "unitPrice": 8.00, "amount": 420.00 } ], "buyer": { "buyerType": "ENTERPRISE", "name": "示例企业", "taxpayerId": "BUYER_TAX_ID", "invoiceType": "DIGITAL_NORMAL" } }落地时至少需要校验:
销售方纳税人识别号是否与当前站点一致;
交易是否已经完成,是否发生撤销或退款;
油品明细金额合计是否等于订单金额;
订单金额与实际收款是否存在优惠、抹零或组合支付差异;
购买方名称、税号和发票类型是否符合当前场景;
同一交易是否已经提交或开票;
加油卡充值与消费是否存在重复开票。
六、接口必须处理幂等、重试和对账
交易即开票是高频实时链路。网络抖动、支付回调重复、乐企平台暂时不可用或本地系统重启,都可能导致重复提交或状态不一致。
1. 幂等控制
开票请求应携带稳定的幂等键:
POST /api/v1/fuel-transactions/{transactionId}/invoices Idempotency-Key: ST310001-POS03-20260827-000128-V1服务端收到重复请求时,应返回原任务或发票结果,不能重复创建开票任务。
2. 状态机
建议将开票状态设计为:
TRADE_CREATED → PAYMENT_CONFIRMED → READY_TO_INVOICE → INVOICE_SUBMITTED → INVOICE_ISSUED → DELIVERED异常分支可以包括:
PENDING_BUYER_INFO:购买方信息待补充;RETRYABLE_ERROR:网络或上游临时异常,可以自动重试;MANUAL_REVIEW:金额、主体或交易数据存在差异;CANCELLED:交易撤销,未进入开票;RED_FLUSH_REQUIRED:已开票交易发生退款或冲销,需要进入红冲流程。
3. 日终对账
实时接口之外,还应保留日终对账任务,至少核对:
零管系统完成的销售交易数量和金额;
收银及支付系统确认的收款数量和金额;
已提交开票、开票成功、待处理和失败交易;
已开票金额与实际销售金额的差异;
退款、红冲、换开和作废后的最终状态。
七、汇总开票和换开怎样处理?
1. 汇总开票
根据税务总局政策解读:
购买方为单位或个体工商户,并通过对公账户支付的,可以单次即时开票,也可以标注订单后汇总开票;
单位或个体工商户未通过对公账户支付的,应按单次交易即时开票,不得汇总;
自然人应按单次交易即时开票,不得汇总,也不得开具增值税专用发票。
系统不能只根据购买方抬头判断是否允许汇总,还必须同时校验购买方类型和支付账户属性。进入汇总池的订单应锁定,防止又被单笔开票任务处理。
2. 发票换开
发票开具后,如需变更购买方抬头,购买方可以通过手机APP、公众号或小程序等线上渠道提交变更申请,线上仅能申请一次。
如需将普通发票换开为增值税专用发票,按照官方解读,需要携带购买方营业执照复印件和购买方出具并加盖公章的情况说明线下办理。个人加油卡用户将发票抬头设置为单位的,不得开具或换开增值税专用发票。
技术上应保存原发票、换开申请、处理渠道、新旧发票关联和操作时间,不能直接覆盖原记录。
八、建议监控哪些技术和业务指标?
原文提到“万元收入油费”,但目前没有检索到税务总局公开发布的全国统一计算口径,不宜将其写成确定的官方监管指标。企业可以根据车型、业务类型和历史数据自行设计油费分析,但应明确这是内部管理指标。
对于交易即开票系统,更适合监控以下可验证指标:
| 指标 | 参考计算方式 | 用途 |
| 交易开票覆盖率 | 已进入开票流程的完成交易数 ÷ 完成交易总数 | 检查是否存在漏单 |
| 自动匹配率 | 自动完成订单、支付和抬头关联的交易数 ÷ 完成交易总数 | 判断自动化链路质量 |
| 开票时延 | 发票开具时间 − 交易完成时间 | 识别接口拥堵或任务积压 |
| 金额差异率 | 存在销售、收款和开票金额差异的交易数 ÷ 完成交易总数 | 排查优惠、抹零、组合支付和数据错误 |
| 异常支付占比 | 无法关联本单位收款信息的交易数 ÷ 完成交易总数 | 排查非本单位收款码等异常 |
| 换开及红冲率 | 换开或红冲交易数 ÷ 已开票交易数 | 识别抬头错误和售后流程问题 |
| 日终未闭环数 | 日终仍处于待开、失败或待人工处理的交易数 | 形成运维待办 |
这些指标的价值在于发现系统链路问题,不宜直接等同于税务风险结论。
九、上线前怎样验收?
建议至少覆盖以下测试场景:
微信、支付宝等第三方支付单笔交易;
互联网平台订单;
加油卡充值开不征税普通发票;
加油卡消费环节开普通发票或增值税专用发票;
现金、赊销和对公转账;
单位对公支付后的汇总开票;
自然人交易和个人卡设置单位抬头;
优惠券、抹零和组合支付;
重复支付回调和重复开票请求;
网络中断、接口超时和自动重试;
交易撤销、退款、红冲和换开;
日终销售、收款和开票三方对账;
多加油站、多纳税主体的数据隔离;
操作日志、接口日志和异常处理记录查询。
验收时应使用脱敏后的真实业务样例,并把成功路径、异常路径和恢复机制一起写入验收标准。
十、零管或收单系统选择乐企联用平台时看什么?
对接平台时,建议核验以下事项:
是否具备与当前业务相匹配的乐企联用开票能力;
能否提供清晰的接口文档、字段说明、错误码和版本策略;
是否支持第三方支付、互联网平台、加油卡、现金、赊销和对公转账等实际场景;
是否具备幂等、防重、重试、对账、红冲和换开处理能力;
能否按站点和纳税主体隔离数据及权限;
政策或接口升级后,由哪一方负责适配、测试和通知;
接口故障、开票积压和数据差异的服务响应机制;
合同中是否写明数据来源、双方责任、交付范围和验收标准。
不要只根据“已经接入某支付渠道”判断是否满足交易即开票。真正需要验证的是:系统能否基于真实销售交易,持续、稳定地完成全场景数据关联和发票开具。
常见问题
1. 2026年11月1日后,未完成改造的加油站发票都不能使用吗?
不能这样直接表述。公告要求加油站在期限前实现交易即开票,未按期实现的,由税务机关责令改正并依法处理。购买方取得发票后的抵扣和税前扣除,应按照真实交易、发票状态及相关税收规定判断。
2. 交易即开票是否等于支付成功立即开票?
不完全等同。支付成功可以是交易完成的重要事件,但开票还需要关联真实的成品油销售数据和购买方信息。现金、赊销、加油卡等场景也需要根据实际交易数据开票。
3. 乐企联用是否只需要支付系统接入?
通常不够。系统还需要取得油品、数量、单价、金额、站点、交易状态和购买方信息,并处理退款、红冲、换开和日终对账。
4. 加油站必须选择乐企联用吗?
不是。符合乐企自用接入条件、具备自有系统改造能力并经省级税务机关确认的,可以选择乐企自用;其他加油站可以通过乐企联用方式实现。
结语
成品油零售交易即开票的核心,是把实际销售交易、收款信息、购买方信息和数电发票结果建立稳定、可追溯的关联。
对于加油站和系统厂商,改造重点不应停留在“能否调用开票接口”,而应落到数据来源、全场景覆盖、幂等防重、异常恢复、日终对账和审计留痕。只有成功路径和异常路径都能闭环,系统才具备持续运行条件。
政策来源
国家税务总局关于在成品油零售领域全面推广“交易即开票”有关事项的公告
关于《国家税务总局关于在成品油零售领域全面推广“交易即开票”有关事项的公告》的解读
说明:本文根据截至2026年8月公开有效的政策文件整理,接口和数据结构均为技术设计示例,不代表税务机关或具体平台的正式接口文档。实际改造应以税务机关技术标准、企业系统现状、平台接口文档和项目验收要求为准。