中国财务软件数据接口标准
中国财务软件数据接口标准 CSIA/ABM 98001 号 编者按标准应该是衡量事务的准则。标准的制定一般都由国际/国家有关标准机构 或行业主管部门完成。但一些行业的生产厂商为了保护用户的投资,促进行业有序发展, 也根据本行业的特点,联合起来制定了一些大家认可并共同遵守的规范,这种做法在国外 已被广泛采用。 随着中国改革开放的深入,国内一些行业的厂家也开始进行这方面的探索, 本期我们刊登的中国财务软件数据接口标准就是由该财务软件行业的民间组织 中国软件行业协会财务及企业管理软件分会制定的,起草者为著名财务软件厂商深圳金 蝶公司。 一、背景一、背景 目前,国内财务软件众多,它们采用的数据库平台和数据库结构各不相同,不同财务 软件之间的数据交换,因为数据库平台和结构不同而产生许多困难,几乎任意两个不同软 件之间要实现数据传递都会存在专门的数据转换问题。烦琐的数据转换工作浪费了大量 人力和物力,同时也阻碍了财务软件产业的健康发展。 国内财务软件的商业化已经比较成 熟,各财务软件公司都有一批用户。由于各种原因,一些用户希望从一个软件交叉升级为 另一软件。 由于用户在旧软件上已做了大量的工作,必然希望升级后原有数据能移植到新 的软件中,但是有些软件的数据文件经过加密或数据库结构未公开,要从中直接读取数据 几乎不可能。 为了保护用户已付出的劳动,各财务软件需要提供一个标准的数据输入输出 接口。这样,建立一个公用的数据交换标准是非常必要的。 用户在使用财务软件时,有一些需求通过财务软件本身是难以实现的,如用户希望 把会计报表通过电子表格软件处理输出为各种特殊形式;另一些高级用户,则希望在其它 管理软件中能取到财务数据。这些数据交换工作都需要有一个标准的数据接口来规范。 财务会计经过长期的发展已形成一定的理论,财务会计工作也有规范可循,国内财务软件 是在这些理论和规范的基础上开发出来的,各软件保存财务数据的模式也大同小异。 财务 数据主要按会计科目、凭证、余额及发生额、报表几个部分分块存储 ,它们之间既分离又 紧密相连、不可分割。这使财务软件数据接口标准有了产生的理论基础和可能性。 二、目的二、目的 1. 增进财务软件之间的交流,便于相互数据转换。 2. 保护财务软件用户的利益,为用户的特殊需求和二次开发提供数据接口。 3. 便于政府和行业主管部门编制汇总和合并报表。 三、适用范围三、适用范围 本标准适用于我国各种财务软件以及与财务有关的其它管理软件。 四、描述四、描述 本标准规定 数据交换以计算机文件作为媒介。计算机文件分为两类,一类是格式定义文件,一类 是数据文件。在一次数据交换中文件数可能有多个,但格式定义文件只有一个,其余文件 全部是数据文件。下面分别对两种文件进行描述 1. 格式定义文件 格式定义文件名规定为AT.INI。格式定义文件描述了数据来源、数据文件名、 数据结构以及一些用户定义信息。格式定义文件以文本方式存储,分为帐套、会计月历、 科目、货币、凭证、余额、报表七个段,每一段中有若干项目,用户可以根据需要增加自 定义段或项目。格式定义文件的语法和说明如下 表 1 语法语法 帐套段开始,段名曲方括号括起,“帐套”是关键字。 “帐套名称”是关键字,等号右边为当前输出帐套的名称。 “单位名称”是关键字, 等号右边为当前输出帐套的使用单 位名称。 “启用会计期”是关键字, 等号右边为当前输出帐套的启用 会计日期(格式为YYMMDD) “会计年度”是关键字, 等号右边为当前输出帐套的会计年 度(格式为YYYY) “软件名称”是关键字,等号右边为操作源帐套的软件名 称。 “软件版本”是关键字, 等号右边为操作源帐套的软件版本 号。 “帐套号”推荐使用项目,但不是关键字,等号右边为当前 输出帐套的代码,用字符串表示 会计月历段开始,段名曲方括号括起,“会计月历”是关键 字。 [会计月历] “期间数”是关键字, 等号右边为当前帐套当前会计年度的 期间数本会计年度期间数 会计期间数。 期间期间,起始日期,结束 “期间”是关键字,等号右边分为四个部分,各部分用“,” 日期,是否结帐 隔开,其中“期间”表示 要描述的期间, “起始日期”表示该期间的起始日期 (格式 YYMMDD) ,“结束日期”表示该期间的结束日期(格式 YYMMDD) ,“是否结帐”表示该期间是否已结帐(0 表示 未结帐,1 表示已结帐。 如期间2,19980201,19980228,1 表示第二期从 1998 年 2 月 1 日至 1998 年 2 月 28 日,已经结帐 科目段开始,“科目”是关键字 “文件名”是关键字,等号右边保存科目数据的文件名。科 目文件和结构定义文件不在同一目录时, 文件名可以不包 含路径,本标准推荐科目文件和结构定义文件在同一目 录, 科目文件名为“ACCOUNT.DAT” [帐套] 帐套名称当前帐套名称 单位名称当前帐套使用单 位的名称 启用会计期当前帐套启用 会计期 会计年度当前帐套会计年 度 软件名称某财务软件 软件版本版本号 帐套号当前帐套号 [科目] 文件名科目文件名 表 2 语法说明 “科目级数”是关键字,等号右边是科目的最大级数 例如 科目级数是 4 科目级数级数 ”科目结构“是关键字,等号右边描述每级科目代码字符长 科目结构第 1 级长, 度,每级长度之间用“,”隔开 第二级长 如科目结构3,2,2,2。 “字段数”是关键字, 等号右边表示科目文件中存储数据的字 字段数字段数目 段数目。 字段字段名,位置, “字段”是关键字,等号右边描述某一字段的意义和结构信 类型 息,之间用“,”隔开, 字段名描述该字段的意义,位置描述该字段在所有字段中 的排列次序,类型表示字段的数据类型。本标准中预定了 以下几个常用字段 科目代码 科目几次 科目名称 科目类别 科目方向 科目单位 币别 以上字段名都是关键字,在科目文件的结构定义中,上面 6 个字段缺一不可(其中借贷方向 表示余额的科目方向。 )科目类别根据会计要素进行分类 资产、负债、权益、成本、损益 借贷方向取值方法为 “借”或“贷”科目级次表示本科目属于 第几级科目,币别表示科目核算的币种,用字符串表示, 当科目取“*”表示科目核算所有币种,用户可以字定义一些 字段,但其字段名不得与以上字段名相同。 本标准预定义不了以下几个数据类型 数值型 字符串型 布尔型1-TRUE,0-FALSE) 日期型(格式为YYMMDD,年 4 位,月 2 位,日 2 位) 举例如下 字段科目名称,2,2 表示科目文件的结构中第二个字段为“科目名称”, 其类型为 字符串。 字段是否核算外币,5,3 表示科目文件的结构中第 5 个字段为自定义字段“是否核算 外币”,其类型为布尔型。 表 3 语法 [货币] 文件名货币文件名 字段数字段数目 字段字段名,位置,类 型 [凭证] 文件名凭证文件名 说明 货币段开始,“货币”是关键字 参照科目段说明 货币文件名推荐为“CY.DAT” 参照科目段说明 参照科目段说明,本标准预定义字段名为 货币代码 货币名称 是否本位币(取值方法、0