1、工资子系统实施框架一主要功能a) 工资项目定义(指标管理 ),包括工资表参考项目和人员信息参考项目定义。b) 工资类别定义(解决每月多次工资发放) ,每类工资类别具有独立的参数设置、月末处理操作,每个类别具有如扣所得税、扣零、应发、实发等一系列固定项目。并把人员与工资类别挂钩。c) 发放定义,针对每个工资类别可定义多次发放,对每次发放有独立的公式设置、代扣所得税、银行代发、发放标志。d) 公式定义:针对各个工资发放,可以定义条件,条件来源为当前工资类别的信息。e) 部门设置,部门结构可以使任意级次,可直接从人事部门调入。f) 员工信息处理,如员工所属的工资部门,银行账号、中外方人员等信息(增加
2、数据替换功能) ,将员工信息与工资表分别处理。g) 工资业务处理,能分批处理部分项目,数据调整(设置调整公式) 、月末处理、扣零、计算。h) 代扣所得税,根据工资发放分别代扣所得税(受各自参数设置控制) ,可对同类别的各次发放进行所得税汇总。计算方法:如果是当月第一次发工资,则直接从纳税额扣税,如果不是第一次发放,则将本次纳税额加上上次纳税额计算所得税后,减去上次已缴纳的所得税为本次缴纳所得税。i) 银行代发,支持多个银行代发(如在职人员使用工行代发,离退人员在建行代发) ,根据各个人员设置的代发银行而定。j) 工资发放条,分发放次数、分部门进行打印。k) 工资发放表,分发放次数、分部门进行打
3、印。l) 月末处理:对工资类别进行处理,根据发放次数分别进行。m) 工资台帐,按年度或月份统计,做到部门、人员。n) 备注:如果该次发放设置了扣税,若没有扣税(或扣税后没有计算)不允许进入工资条、工资表、银行代发等模块。二 操作流程类别定义(参数)项目定义发放定义(参数)公式定义工资部门员工信息发放次数选择业务处理三主要模块a) 项目定义b) 类别定义c) 参数设置d) 业务处理e) 所得税f) 银行代发g) 公式定义h) 工资发放条i) 工资发放表j) 员工信息k) 工资部门l) 工资台帐四 主要数据库表所得税银行代发银行代发 工资条月末处理a) 工资表 hr_salary列名 数据类型 描
4、述 主键否 外键 为空否list_id number(18) 序号 emp_id number(18) 人员编号 cur_yearmonthdate 当前年月 all_salary number(18,2) 应发工资 sub_salary number(18,2) 应扣工资 real_salary number(18,2) 实发工资 tax number(18,2) 所得税 all_remain number(18,2) 累计扣零 cur_remain number(18,2) 本次扣零 hand_id number(18) 发放次数 hr_hand.list_idnumber(18,2) 工
5、资项目 b) 工资表副表 hr_salary_add列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 emp_id number(18) 人员序号 tax_earning number(18,2) 收入合计 tax number(18,2) 已纳税金 remain number(18,2) 累计扣零 c) 人员信息表 hr_salary_emp列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 emp_id number(18) 人员编号 cur_yearmonthdate 当前年月 account varchar(20)
6、银行账号 foreign_flg varchar(1) 外籍人员 stop_flg varchar(1) 暂停发放 dept_id varchar(16) 工资部门 type_id number(18) 工资类别 其它项目 外籍人员 :Y:外籍人员; N:中方人员暂停发放 :Y:暂停; N:发放d) 系统表 (同 hr_systable)列名 数据类型 描述 主键否 外键 为空否add_flag varchar(1) 增/减标志 col_flg varchar(1) 是否用户创建create_flg varchar(1) 是否使用public_flg varchar(1) 是否公共项目增/减标
7、志: Y:增项 N:减项是否预留: Y:用户创建 N:固有(不允许删除、改变)是否使用: Y:已使用 N:未使用是否公共项目: null:是公共项目 其他:非公共项目e) 工资类别表 hr_salarytype列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 type_name varchar(64) 类别名称 start_yearmonthdate 启用年月 cur_yearmonthdate 当前年月 dis_yearmonthdate 停用年月 bank_id number(18) 代发银行 scheme_id number(18) 使用方案 hr_s
8、cheme.list_idisallow varchar(1) 是否允许提交考勤check_col varchar(32) 考勤工资项目 是否允许提交考勤: Y 允许 N 不允许f) 工资发放次数表 hr_salary_hand列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 type_id number(18) 类别 hr_salary_type.list_idname varchar(128) 发放名称 is_round varchar(2) 扣零标志 tax_item number(18) 扣税项目 hand_order number(4) 发放顺序
9、is_tax varchar(1) 是否已扣税 is_computed varchar(1) 税前计算 is_hand varchar(1) 是否发放 start_yearmonthdate 启用年月 stop_yearmonthdate 停用年月 afttax_cpt varchar(1) 税后计算 incomeitem varcahr(18) 所得名称 isexportsum varchar(1) 是否倒出合计(所得税)isbanksum varchar(32) 是否倒出合计(银行代发)papersize varchar(10) 纸型 direction varchar(1) 打印方向 税
10、前计算:Y:在扣税前已计算 N 或 null:未计算税后计算:Y:在扣税后已计算 N 或 null:未计算代发银行:0:不银行代发;是否发放:Y:已发放 :未发放是否扣说:Y:已扣税 N:未扣税扣零标志:-1:扣零至元;0 :扣零至角; 1:扣零至分; 2:不扣零 ;g) 工资发放明细表 hr_salary_hdetail列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 hand_id number(18) 发放表序号 hr_hand.list_iditem_id number(18) 工资项目 hr_systable.list_idcol_order nu
11、mber(3) 项目顺序 zero_flg varchar(1) 是否清零 是否清零: 该项目在月末处理是是否清零 Y:清零 N:不清零h) 公式定义表 hr_salary_formula列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 hand_id number(18) 发放次数 hr_hand.list_idcol_name varchar(32) 列名 china_name varchar(64) 中文名 condition number(18) 条件 express varchar(4000) 表达式 i) 条件主表 hr_salary_cond_
12、m列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 hand_id number(18) 发放次数 hr_hand.list_idcond_name varchar(32) 条件名称 cond_exp varchar(4000) 条件 cond_text varcahr(4000) 条件描述 j) 条件明细表 hr_salary_cond_d列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 cond_id number(18) 主表序号 hr_hand.list_iditem varchar(64) 列名 operator
13、 varchar(16) 操作符 display varchar(64) 显示值 code varchar(64) 表达式 logic varchar(3) 连接符 k) 所得税率表 hr_salary_taxrate列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 lower_limit number(18,2) 下限 upper_limit number(18,2) 上限 tax_rate number(18,2) 税率 rebound number(18,2) 速算扣除数 type_id number(18) 工资类别 l) 所得税 hr_salary
14、_tax列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 emp_id number(18) 人员序号 income_name varchar(32) 申报项目 income_date varchar(32) 申报月份 income_tatal number(18,2) 收入合计 sub_cost number(18,2) 减费用额 income_tax number(18,2) 应纳税额tax_rate number(18,2) 税率rebound number(18,2) 速算扣除数tax number(18,2) 扣税金额tax_identity va
15、rchar(128) 完税征字号tax_date date 纳税日期remark varchar(4000) 备注m) 银行 hr_salary_bktype列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 name varchar(128) 银行名称 account_len number(2) 账号长度 n) 银行模板 hr_salary_bkdetail列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 bank_id number(18) 银行 item_name varchar(64) 项目名称 data_type
16、varchar(16) 数据类型 datalenth number(2) 数据长度 datadigits number(2) 小数尾数 salary_item number(18) 工资项目 item_data varchar(128) 数据值 disp_order number(2) 显示顺序 o) 工资台帐 hr_salary_count列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 type_id number(18) 工资类别 hr_salarytype.list_idcount_name varchar(64) 台帐名称 p) 工资台帐名细表 h
17、r_salary_cdetail列名 数据类型 描述 主键否 外键 为空否list_id number(18) 序号 count_id number(18) 台帐名称 hr_salary_count.list_iditem_id number(18) 项目 hr_systable.listId五 模块简述a) 指标管理:主要维护工资参考项目和人员信息参考项目。b) 工资类别定义:i. 定义一个工资类别,自动在 hr_scheme 中增加一个方案,在 hr_scheme_m 中增加工资表(A),工资人员信息表(B) ,在 hr_scheme_d 中增加 A,B 的固定项目。ii. 设置类别参数。
18、 (启用、废除等)c) 项目定义i. 针对当前工资类别进行操作。ii. 维护该类别的工资项目和人员信息项目。iii. 可选择参考项目,但不能做任何修改;可增加自定义项目,自定义项目只用于当前类别,在其他类别中不可见。iv. 在 hr_systable 增加 auto_zero 标志,用户在月末处理时自动清零处理。d) 发放定义:i. 针对当前工资类别进行操作。ii. 维护发放次数及其参数。 (扣税,扣零等)iii. 每次发放的项目。e) 公式定义i. 针对发放次数进行操作。ii. 可定义条件,条件来自当前工资类别中的工资人员信息。f) 参数设置i. 类别定义、项目定义、发放定义、公式定义g)
19、工资部门i. 在原有工资部门基础上增加从人事部门调入功能。h) 员工信息i. 选定要操作的工资类别,对该类别中的员工进行操作。ii. 保留原 v2.0 功能。iii. 改进人员分配,可进行批量分配,只能是最下级部门方可挂人员。iv. 人员与工资类别挂钩。可进行批量分配i) 工资录入i. 保留原有功能:业务时间、项目过滤、快速定位、自动计算、工资计算;ii. 改进功能:数据替换 - 数据调整;增加对项目自身(+ ,*,/)的调整。iii. 增加全选和撤销选择iv. 累计扣零:如果是第一次发放,累计扣零为上月扣零,如果是第二次发放,累计扣零为上次发放的扣零。j) 所得税i. 如果是本月第一次扣税,
20、则直接把当前工资类别的扣税项目中作为应纳税额;ii. 如果是第二次扣税,则:应纳税额 = 将当前工资类别的应纳税额 + 前一工资类别的应纳税额;应纳税金 = 本次应纳税金 前次已纳税金;k) 银行代发:i. 同 v2.0ii. 区分发放次数l) 工资条i. 同 v2.0ii. 区分发放次数m) 工资表i. 同工资条n) 工资台帐i. 分类别进行统计,同类别中的不同发放次数工资集中统计。ii. 注意类别的启用年月和停用年月。o) 报表六 实施a) 指标管理(参考项目) 0.5b) 参数设置(类别定义,项目定义、发放定义,公式定义)6.5c) 工资部门 0.5d) 员工信息 1e) 业务处理(计算、项目过滤、快速定位、数据调整) 6f) 所得税 1g) 银行代发 1h) 工资发放条 2i) 工资发放表 2j) 工资台帐 2k) 界面 2l) 测试 7