1、ICS:35.040 A24 备案号:13587-2003 上海市地方标 准DB31/T 291-2003公用事业收费帐单编码应用规范 Applied Regulation of Barcode for Invoice of Public Utility 2003-04-29 发布 2003-10-29 实施上 海 市 质 量 技 术 监 督 局 发布 DB31/T 291-2003 I 前言 水、电、燃气、电信等公用事业费的征收涉及千家万户。近年来,各收费出帐单位为提高自身管理水平和工作效率,均已经或正在实施帐单条形码应用技术。为加强入世后我国信息化资源的有效保护,提高上海信息化应用水平,提
2、高公用事业领域的收费、管理效率,缩短资金到帐时间,特制定本标准。 本标准规定了本市水、电、燃气、电信等公用事业收费帐单代码的编码方法及符号标识,用于本市公用事业单位与代理机构收费系统间的信息处理与交换。 本标准由上海市信息标准化技术委员会提出。 本标准由上海市标准化研究院负责解释。 本标准主要起草单位:上海市标准化研究院,中国人民银行上海分行、中国光大银行上海分行、交通银行上海分行、上海银联电子支付有限公司、上海市电信有限公司、上海市电力公司、上海市水务局、上海市市政工程管理局、上海移动通信有限公司、上海市邮政局。 本标准主要起草人:陆林华、张明兰、林立政、施建东 DB31/T 291-200
3、3 1 公用事业收费帐单编码应用规范 1 范围 本标准规定了本市水、电、燃气、电信等公用事业领域收费帐单代码的编码方法及符号标识。 本标准适用于公用事业领域收费帐单的编码信息处理和信息交换。 2 规范性引用文件 下列文件中的条款通过在本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。 GB/T 18347 128码 GB/T 17710 数据处理 校验码系统 GB/T 7408 数据元和交换格式 信息交换 日期和时
4、间表示法 3 定义 本标准采用下列定义。 3.1 128 条码 非定长的、连续型的一维条码。采用四种单元宽度,每个条码字符由3个条和3个空,共11个模块组成。表示的字符集有A、B、C三套字符集。 3.2 出帐单位 指提供公共服务、按规定收取相关费用的单位。 3.3 代理机构 指利用自拥有的收费系统、为出帐单位代为收费的机构。 3.4 用户 指使用出帐单位提供的服务、并按时交纳费用的自然人或法人。 4 公用事业收费帐单的代码结构 公用事业收费帐单代码由32位符号的阿拉伯数字本体代码和2位符号的阿拉伯数字校验码组成。本体代码包括出帐单位识别代码、用户识别代码、出帐日期代码、帐单种类代码、收费金额代
5、码五段信息。具体结构如表1: DB31/T 291-2003 2 表 1 公用事业收费帐单代码结构表 出帐单位识别代码(4位) X 1X2X3X4 用户识别代码(12位) X 5X6X7X8X9X10X11X12X13X14X15X16 出帐日期代码(4位) X 17X18X19X20 帐单种类代码(2位) X 21X22 收费金额代码(10位) X 23X24X25X26X27X28X29X30X31X32 校验码(2位) X 33X34 注:X i (i=134)表示从左至右的第 i位数字代码 4.1 出帐单位识别代码 本标准中用于标识各个出帐单位的唯一标识代码,供代理机构计算机管理系统自
6、动识别出帐单位。 4.1.1 出帐单位识别代码的表示形式 出帐单位识别代码由出帐单位行业代码和出帐单位代码构成, 用4位符号的阿拉伯数字代码表示,其表示方法应符合下式规定: 出帐单位代码 出帐单位行业代码 4.1.2 出帐单位行业代码 出帐单位行业代码是出帐单位行业的唯一标识。 本标准规定出帐单位行业代码用2位符号的阿拉伯数字代码表示,其表示方法应符合表2的规定。 表 2 出帐单位行业代码表 行 业 代 码 供电 00 燃气 01 供水 02 电信 03 供热 04 保险 05 广播电视 06 备用 07-99 4.1.3 出帐单位代码 由标准化行政主管部门赋予出帐单位的标识代码。 本标准规定
7、出帐单位代码用2位符号的阿拉伯数字代码表示,参见附录A。 4.2 用户识别代码 出帐单位用于标识其用户的唯一代码。本标准规定,用户识别代码用12位符号的阿拉伯数字代码表示,其表示方法由各出帐单位自行定义。 4.3 出帐日期代码 表示帐单所示费用发生日期的阿拉伯数字代码。出帐日期用年月表示,其格式按照GB/T 7408 5.2.1.3中b.的基 本格式,即 YYMM格式。 4.4 帐单种类代码 DB31/T 291-2003 3 出帐单位用以表示其帐单种类的代码。 本标准规定帐单种类代码用2位符号的阿拉伯数字代码表示, 其表示方法由各出帐单位自行定义。 4.5 收费金额代码 用户应向出帐单位交纳
8、的费用金额(人民币元、角、分)。本标准规定收费金额代码长度用10位符号的阿拉伯数字代码表示,不足10位符号的高位补零。 4.6 校验码 数据传输中对本体代码进行校验的特定附加码。本标准采用 GB/T 17710的MOD97-10校验码系统,校验码的计算方法参见附录B。 5 公用事业收费帐单代码的条码标识 5.1 条码码制 采用128条码字符集C标识收费帐单的代码。 5.2 条码符号技术要求 条码技术要求应符合GB /T 18347的规定。本标准规定条码质量等级应不低于C/05 /660。 DB31/T 291-2003 4 附 录 A (资料性附录) 出帐单位代码 表 A1、表 A2、表 A3
9、、表 A4规定了燃气、供水、电信、供电行业的现有出帐单位的代码: 表 A1 燃气行业出帐单位代码 单 位 出帐单位代码 上海市大众燃气公司 10 上海市市北燃气销售有限公司 30 上海燃气浦东销售有限公司 50 表 A2供水行业出帐单位代码 单 位 出帐单位代码 上海市自来水市南有限公司 10 上海市自来水市北有限公司 30 上海浦东威望迪自来水有限公司 50 上海市自来水闵行有限公司 70 表 A3电信行业出帐单位代码 单 位 出帐单位代码上海市电信有限公司 10 中国联通上海有限公司 20 上海移动通信有限责任公司 30 上海吉通网络通信有限公司 40 表 A4 供电行业出帐单位代码 单
10、位 出帐单位代码 单 位 出帐单位代码 市电力局 50 金山供电所 61 沪东供电所 51 青浦供电所 62 沪南供电所 52 松江供电所 63 沪西供电所 53 备用 64 沪北供电所 54 市区供电局 65 浦东供电所 55 市东供电局 66 闵行供电所 56 市南供电局 67 嘉定供电所 57 崇明南门供电局 68 宝山供电所 58 堡镇供电所 69 南汇供电所 59 长兴供电所 70 奉贤供电所 60 横沙供电所 71 DB31/T 291-2003 5 附 录 B (规范性附录) 校验码算法 B.1 校验码计算方法 校验码按下列公式计算: C=98-MOD(=321iCiWi, 97
11、) 式中:MOD 表示求余函数; i表示代码字符从左至右位置序号; Ci表示第i位置上的代码字符的值; C 表示两位校验码,当按上式计算结果只有一位数时,前面加“0”补成两位; Wi表示第i位置上的加权因子,其计算公式如下: Wi =MOD(10Wi+1, 97) 其中: i =31,30,1 初始值W 32=3。 表B1列出了本体代码中各个位置上的加权因子W i的数值。 表 B1 加权因子 Wi的数值 字符位置序号 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16加权因子值 Wi 28 61 74 85 57 93 19 31 71 75 56 25 51 7
12、3 17 89字符位置序号 i 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32加权因子值 Wi 38 62 45 53 15 50 5 49 34 81 76 27 90 9 30 3 B.2 校验码计算方法实例 某公用事业收费帐单代码的本体代码为03100123456789010212100000543210,其 校验码可按下述步骤计算: 第一步:列出本体代码与字符位置序号i相对应的各个位置上的代码字符值C i: 字符位置序号 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Ci 0 3 1 0 0 1 2 3
13、4 5 6 7 8 9 0 1 字符位置序号 i 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32Ci 0 2 1 2 1 0 0 0 0 0 5 4 3 2 1 0 DB31/T 291-2003 6 第二步:计算本体代码与对应加权因子乘积 C iWi 的值(W i 值见表-A1) 。 字符位置序号 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16CiWi 0 183 74 0 0 93 38 93284 375 336 175 408 657 0 89字符位置序号 i 17 18 19 20 21 22 23 2
14、4 25 26 27 28 29 30 31 32CiWi 0 124 45106 15 0 0 0 0 0 380 108 270 18 30 0 第三步:乘积相加求和数。 =321iCiWi=0+183+74+0+0+93+38+93+284+375+336+175+408+657+0+89 +0+124+45+106+15+0+0+0+0+0+380+108+270+18+30+0=3901 第四步:取模数 97除和数,求余数。 390197=40 余 21 第五步:以 98减余数,得校验码值。 98-21=77 第六步:将校验码 77置于 32位本体代码后即成为完整的 34位帐单代码: 0310012345678901021210000054321077 DB31/T 291-2003