接入文档
接入文档 /发票开具/特定业务开票

特定业务开票

数电发票(category 为 全电电子普通发票 / 全电电子专用发票)支持按税局要求填写特定业务信息。开票时在 开具发票 接口中传入 specificBusinessCode 与 specificBusiness 即可,其他参数与普通开票一致。

specificBusinessCode 业务类型 specificBusiness 格式
03 建筑服务 JSON 对象
04 货物运输服务 JSON 数组,每个元素一条运输记录
05 不动产销售 JSON 对象
06 不动产经营租赁服务 JSON 对象
09 旅客运输服务 JSON 数组,每个元素一位出行人
10 医疗服务(住院) JSON 对象,见 医疗服务发票对接
11 医疗服务(门诊) JSON 对象,见 医疗服务发票对接
特定业务仅对数电发票生效

category 不是 全电 开头时,specificBusinessCode 与 specificBusiness 会被忽略。specificBusiness 必须是合法的 JSON 对象或数组,否则返回 特定业务内容格式不正确。

建筑服务(03)

specificBusiness 为 JSON 对象:

字段 类型 必填 说明
serviceArea array 必填 建筑服务发生地(省 / 市 / 区县名称数组),如 ["上海市", "上海市", "宝山区"]
serviceAddress string 必填 详细地址
projectName string 必填 建筑项目名称
projectNumber string 选填 土地增值税项目编号
intercityFlag boolean 选填 是否跨地(市)标志
json
{
  "specificBusinessCode": "03",
  "specificBusiness": {
    "serviceArea": ["上海市", "上海市", "宝山区"],
    "serviceAddress": "蠡太路118号",
    "projectName": "某某园区装修工程",
    "projectNumber": "",
    "intercityFlag": false
  }
}

货物运输服务(04)

specificBusiness 为 JSON 数组,每个元素字段:

字段 类型 必填 说明
transportKind string 必填 运输工具种类:铁路运输、公路运输、水路运输、航空运输、管道运输、其他运输工具
transportNumber string 必填 运输工具牌号
departurePlace string 必填 起运地
destinationPlace string 必填 到达地
goodsName string 必填 运输货物名称
json
{
  "specificBusinessCode": "04",
  "specificBusiness": [
    {
      "transportKind": "公路运输",
      "transportNumber": "沪A12345",
      "departurePlace": "上海市",
      "destinationPlace": "杭州市",
      "goodsName": "电子元器件"
    }
  ]
}

不动产销售(05)

specificBusiness 为 JSON 对象:

字段 类型 必填 说明
area array 必填 不动产地址(省 / 市 / 区县名称数组)
address string 必填 详细地址
propertyContractNumber string 选填 不动产单元代码 / 网签合同备案编号
propertyNumber string 选填 产权证书 / 不动产权证号
unit string 选填 面积单位:平方千米、平方米、公顷、亩、hm²、km²、㎡
intercityFlag boolean 选填 是否跨地(市)标志
projectNumber string 选填 土地增值税项目编号
price decimal 选填 核定计税价格
taxAmount decimal 选填 实际成交含税金额

不动产经营租赁服务(06)

specificBusiness 为 JSON 对象:

字段 类型 必填 说明
area array 必填 不动产地址(省 / 市 / 区县名称数组)
address string 必填 详细地址
startDate string 必填 租赁期起,yyyy-MM-dd
endDate string 必填 租赁期止,yyyy-MM-dd
propertyNumber string 必填 产权证书 / 不动产权证号,没有时填写 无
unitOfArea string 必填 面积单位:平方千米、平方米、公顷、亩、hm²、km²、㎡
intercityFlag boolean 选填 是否跨地(市)标志
plateNumber string 选填 车牌号(停车位租赁时填写)
json
{
  "specificBusinessCode": "06",
  "specificBusiness": {
    "area": ["上海市", "上海市", "宝山区"],
    "address": "蠡太路118号天圣达科创中心A栋502室",
    "startDate": "2026-01-01",
    "endDate": "2026-12-31",
    "propertyNumber": "沪(2020)宝字不动产权第000000号",
    "unitOfArea": "平方米",
    "intercityFlag": false
  }
}

旅客运输服务(09)

specificBusiness 为 JSON 数组,每个元素一位出行人:

字段 类型 必填 说明
traveler string 必填 出行人姓名
travelDate string 必填 出行日期,yyyy-MM-dd
idType int 必填 出行人证件类型代码,见 证件类型代码;201 居民身份证会校验号码格式
idNumber string 必填 出行人证件号码,不超过 20 个字符
travelDeparturePlace string 必填 出发地,不超过 80 个字符
travelDestinationPlace string 必填 到达地,不超过 80 个字符
vehicleType int 必填 交通工具类型:1 飞机、2 火车、3 长途汽车、4 公共交通、5 出租车、6 汽车、7 船舶、9 其他
level string 条件必填 等级。飞机:公务舱、头等舱、经济舱;火车:一等座、二等座、软席(软座、软卧)、硬席(硬座、硬卧);船舶:一等舱、二等舱、三等舱;其他交通工具可不传
json
{
  "specificBusinessCode": "09",
  "specificBusiness": [
    {
      "traveler": "张三",
      "travelDate": "2026-03-01",
      "idType": 201,
      "idNumber": "310101199001011234",
      "travelDeparturePlace": "上海",
      "travelDestinationPlace": "北京",
      "vehicleType": 2,
      "level": "二等座"
    }
  ]
}

医疗服务(10 / 11)

医疗服务(住院 10、门诊 11)字段较多,且需要通过行号与商品明细关联,请阅读 医疗服务发票对接。

校验错误

message 说明
特定业务内容格式不正确 specificBusiness 不是合法 JSON
请输入出行人 / 请选择出行日期 / 请选择出行人证件类型 / 请输入出行人证件号码 旅客运输必填项缺失
请输入20字符内的出行人证件号码 / 请输入正确的居民身份证号码 证件号码格式错误
请输入80字符内的出发地 / 请输入80字符内的目的地 出发地、到达地缺失或过长
请选择交通工具类型 vehicleType 缺失
交通工具类型为飞机时,等级必须为公务舱、头等舱、经济舱 level 与交通工具不匹配(火车、船舶同理)