接入文档
接入文档 /发票开具/医疗服务发票对接

医疗服务发票对接

数电发票 · 特定业务 · specificBusiness 参数说明

概述

电子税务局升级后,数电发票新增 医疗服务 特定业务类型。开票时在 开具发票 接口中传入 specificBusinessCode 和 specificBusiness 即可,specificBusiness 格式为 JSON 对象。

specificBusinessCode 业务类型 说明
11 医疗服务(门诊) 门诊就诊发票
10 医疗服务(住院) 住院结算发票
商品明细建议

发票明细税收分类编码建议使用 3070202000000000000(医疗服务),商品名称格式如 *医疗服务*体检费。医疗费用明细 medicalCostDetails 通过 lineNumber 与发票明细 items 的行号对应,请在 items 中传入 lineNumber。

医疗服务(门诊,11)

specificBusinessCode=11,specificBusiness 内容为 JSON 对象:

json
{
  "bizCode": "test_mz_002",
  "patientName": "张三",
  "patientIdType": "201",
  "patientIdNumber": "430223197708014016",
  "gender": "1",
  "orgType": "A100",
  "medicalInsuranceId": "",
  "medicalInsuranceType": "",
  "accountPayAmount": 0,
  "fundPayAmount": 0,
  "otherPayAmount": 0,
  "ownPayAmount": 0,
  "selfPaymentAmount": 10,
  "selfPaymentCost": 10,
  "clinicNo": "MZ001",
  "clinicVisitTime": "2026-04-29 09:00:00",
  "medicalCostDetails": [
    {
      "lineNumber": 1,
      "medicalServiceCode": "",
      "costDetail": "体检费",
      "others": "其他01"
    }
  ]
}

医疗服务(住院,10)

specificBusinessCode=10,specificBusiness 内容为 JSON 对象:

json
{
  "bizCode": "123",
  "patientName": "张三",
  "patientIdType": "201",
  "patientIdNumber": "330102199002097957",
  "gender": "1",
  "orgType": "A100",
  "medicalInsuranceId": "11223344",
  "medicalInsuranceType": "01",
  "accountPayAmount": 1,
  "fundPayAmount": 2,
  "otherPayAmount": 1,
  "ownPayAmount": 5,
  "selfPaymentAmount": 1,
  "selfPaymentCost": 5,
  "caseNumber": "123456789012345",
  "departmentName": "儿科",
  "hospitalizationNumber": "123456789012345",
  "inHospitalDate": "2025-09-09",
  "outHospitalDate": "2025-09-19",
  "prepayAmount": 1,
  "rechargeAmount": 5,
  "refundAmount": 0.1,
  "medicalCostDetails": [
    {
      "lineNumber": 1,
      "medicalServiceCode": "12345",
      "costDetail": "医疗费",
      "unit": "个",
      "number": 1,
      "taxRate": 0,
      "price": 5,
      "tax": 0,
      "remark": "住院备注",
      "taxInclusiveAmount": 5,
      "subtotal": 6,
      "total": 6
    },
    {
      "lineNumber": 1,
      "medicalServiceCode": "12345",
      "costDetail": "医疗费",
      "unit": "个",
      "number": 1,
      "taxRate": 0,
      "price": 1,
      "tax": 0,
      "remark": "住院备注",
      "taxInclusiveAmount": 1,
      "subtotal": 6,
      "total": 6
    },
    {
      "lineNumber": 2,
      "medicalServiceCode": "12345",
      "costDetail": "医疗费",
      "unit": "个",
      "number": 1,
      "taxRate": 0,
      "price": 1,
      "tax": 0,
      "remark": "住院备注",
      "taxInclusiveAmount": 1,
      "subtotal": 7,
      "total": 7
    }
  ]
}

字段说明

门诊与住院共用以下字段,标注「仅门诊」「仅住院」的字段只在对应业务类型下传入。

字段名 类型 必填 说明
bizCode string 选填 医疗业务流水号
patientName string 必填 患者姓名,限 150 字符
patientIdType string 必填 患者身份证件类型代码,见下方 证件类型表
patientIdNumber string 必填 患者身份证件号码,限 30 字符
gender string 必填 性别(传 patientName 时必填):1 男,2 女
orgType string 选填 医疗机构类型代码
medicalInsuranceId string 选填 医保编号(传值前检查电子税务局是否支持)
medicalInsuranceType string 选填 医保类型代码(传值前检查电子税务局是否支持),见下方 医保类型代码表
accountPayAmount number 选填 个人账户支付金额
fundPayAmount number 选填 医保基金支付金额
otherPayAmount number 选填 其他支付金额
ownPayAmount number 选填 个人自付金额
selfPaymentAmount number 选填 个人自费金额
selfPaymentCost number 选填 个人自费费用
clinicNo string 必填 门诊号,仅门诊(11)
clinicVisitTime string 必填 就诊时间,仅门诊(11),示例 2026-04-29 09:00:00
caseNumber string 必填 病例号,仅住院(10)
departmentName string 必填 住院科别,仅住院(10)
hospitalizationNumber string 必填 住院号,仅住院(10)
inHospitalDate string 必填 住院时间起,仅住院(10),格式 yyyy-MM-dd,示例 2025-09-09
outHospitalDate string 必填 住院时间止,仅住院(10),格式 yyyy-MM-dd,示例 2025-09-19
prepayAmount number 选填 预缴金额,仅住院(10)
rechargeAmount number 选填 补缴金额,仅住院(10)
refundAmount number 选填 退款金额,仅住院(10)
medicalCostDetails array 必填 医疗费用明细,见下方 明细字段说明

medicalCostDetails 费用明细

medicalCostDetails 为数组,每条明细对应一项费用记录。商品行号需与发票明细 lineNumber 对应。

门诊(11)明细字段

字段名 类型 必填 说明
lineNumber int 必填 商品行号,与发票明细 lineNumber 对应,不能重复
medicalServiceCode string 选填 医疗服务贯标码
costDetail string 必填 费用明细,限 20 字符
others string 选填 其他

住院(10)明细字段

字段名 类型 必填 说明
lineNumber int 必填 商品行号,需与发票明细 lineNumber 对应,可以重复
medicalServiceCode string 选填 医疗服务贯标码
costDetail string 必填 费用明细,限 20 字符
unit string 选填 单位
number number 选填 数量
taxRate number 选填 税率
price number 选填 金额(总数)
tax number 选填 税额(总数)
remark string 选填 备注
taxInclusiveAmount number 必填 含税金额
subtotal number 必填 小计,按商品行号累加,见下方计算说明
total number 必填 合计,按商品行号累加,与 subtotal 取值相同

住院小计 / 合计计算方式

按 商品行号(lineNumber) 累加发票明细金额,subtotal 与 total 取值相同。

示例: 发票共 3 行商品明细,每行金额 1000 元:

发票明细行号 金额 medicalCostDetails 中 subtotal / total
1 1000 1000
2 1000 2000(1000 + 1000)
3 1000 3000(1000 + 1000 + 1000)

住院多明细同一行号: 同一 lineNumber 下的多条费用明细,subtotal 和 total 均取该行号对应的累加值。例如住院示例中,行号 1 对应发票明细金额 6(5 + 1),两条明细的 subtotal / total 均为 6;行号 2 累加后为 7。

医保类型代码

字段 medicalInsuranceType 取值如下:

代码 医保类型
01 职工基本医疗保险
02 城乡居民基本医疗保险
03 离休
04 其他医疗保险
05 自费

患者身份证件类型代码

字段 patientIdType 取值如下(旅客运输 idType、购买方 purchaserIdType 使用同一套代码):

代码 证件类型
102 营业执照
201 身份证
202 军官证
203 武警警官证
204 士兵证
206 残疾人证
207 残疾军人证(1-8级)
208 外国护照
210 港澳居民来往内地通行证
212 中华人民共和国往来港澳通行证
213 台湾居民来往大陆通行证
214 大陆居民往来台湾通行证
215 外国人居留证
220 台湾身份证
221 澳门特别行政区永久性居民身份证
222 外国人身份证件
223 高校毕业生自主创业证
224 就业失业登记证
225 退休证
226 离休证
227 中国护照
228 城镇退役士兵自谋职业证
229 随军家属身份证明
230 中国人民解放军军官转业证书
231 中国人民解放军义务兵退出现役证
232 中国人民解放军士官退出现役证
233 外国人永久居留身份证(外国人永久居留证)
234 就业创业证
235 香港特别行政区护照
236 澳门特别行政区护照
237 中华人民共和国港澳居民居住证
238 中华人民共和国台湾居民居住证
239 《中华人民共和国外国人工作许可证》(A类)
240 《中华人民共和国外国人工作许可证》(B类)
241 《中华人民共和国外国人工作许可证》(C类)
291 出生医学证明
299 其他个人证件

校验错误

message 说明
请填写医疗服务特定业务信息 specificBusiness 为空
请输入患者姓名 / 请填写性别 / 请选择患者证件类型 / 请输入患者证件号码 患者基本信息缺失
门诊号不能为空! / 请选择就诊时间 门诊(11)必填项缺失
病例号不能为空! / 住院科别不能为空! / 住院号不能为空! / 请选择入院日期 / 请选择出院日期 住院(10)必填项缺失
入院日期格式不正确,请使用yyyy-MM-dd格式,不需要时分秒 住院日期格式错误(出院日期同理)
请填写医疗费用明细 medicalCostDetails 为空
医疗费用明细缺少费用明细 / 医疗费用明细缺少商品行号 明细缺少 costDetail 或 lineNumber