工资发放系统开发需求文档
一、项目概述
1.1 项目背景
开发一套适用于中型企业的工资发放管理系统,支持多组织架构,实现工资自动化计算、发放及管理。
1.2 项目目标
- 实现工资自动化计算,减少人工计算错误
- 支持多组织架构的统一管理
- 对接考勤系统,自动同步考勤数据
- 支持复杂薪资结构的灵活配置
- 提供PC端和移动端双端支持
- 确保数据安全性和操作可追溯性
1.3 适用范围
- 企业规模: 中型企业(50-500人)
- 组织结构: 支持多组织、多部门、多层级架构
- 使用对象: HR人员、财务人员、部门管理者、普通员工
二、技术架构
2.1 技术栈选型
前端技术
- 框架: Vue 3.x
- UI组件库: Element Plus / Ant Design Vue
- 状态管理: Vuex / Pinia
- 路由管理: Vue Router
- HTTP客户端: Axios
- 移动端: Vant UI (响应式设计或独立H5)
后端技术
- 开发语言: Java (JDK 11+)
- 开发框架: Spring Boot 2.7+
- ORM框架: MyBatis Plus
- 安全框架: Spring Security + JWT
- 接口文档: Swagger / Knife4j
- 定时任务: Quartz / XXL-Job
数据库
- 关系型数据库: MySQL 8.0+
- 缓存: Redis 6.0+
- 连接池: Druid
部署架构
- 部署方式: 本地部署(私有化部署)
- 应用服务器: Tomcat / Undertow
- 反向代理: Nginx
- 容器化: Docker(可选)
2.2 系统架构设计
┌─────────────────────────────────────────────────────────┐
│ 用户层 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ PC Web端 │ │ 移动端H5 │ │ 管理后台 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 应用服务层 │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Nginx反向代理 + 负载均衡 │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 业务服务层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 工资计算服务 │ │ 考勤对接服务 │ │ 组织管理服务 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 社保计算服务 │ │ 报表统计服务 │ │ 权限管理服务 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 数据访问层 │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ MyBatis Plus│ │ Redis缓存 │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 数据存储层 │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ MySQL主库 │ │ MySQL从库 │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
↕
┌─────────────────────────────────────────────────────────┐
│ 外部系统对接层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 考勤系统 │ │ 人事系统 │ │ 财务系统 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
三、功能需求
3.1 组织架构管理
3.1.1 多组织管理
- 支持集团、子公司、分公司等多层级组织结构
- 支持组织的新增、编辑、删除、停用
- 支持组织间数据隔离或共享配置
- 支持组织树形结构展示
3.1.2 部门管理
- 支持多层级部门树形结构
- 支持部门的增删改查操作
- 支持部门负责人设置
- 支持部门成本中心配置
3.1.3 员工管理
- 员工基本信息维护(姓名、工号、身份证、入职日期等)
- 员工岗位信息(部门、职位、职级)
- 员工银行卡信息(用于工资发放)
- 员工合同信息(合同类型、期限)
- 支持员工批量导入导出
- 员工离职管理
3.2 薪资结构配置
3.2.1 薪资项目管理
- 固定薪资项:基本工资、岗位工资、职级工资、工龄工资
- 浮动薪资项:绩效工资、提成、奖金、加班费
- 补贴类:交通补贴、餐补、话费补贴、住房补贴、高温补贴
- 扣款项:个人社保、个人公积金、个人所得税、缺勤扣款、其他扣款
- 支持自定义薪资项目
- 支持薪资项目的启用/停用
3.2.2 薪资方案配置
- 支持按部门/职位/职级配置不同薪资方案
- 支持薪资项组合配置
- 支持薪资计算公式自定义
- 支持薪资方案版本管理
- 支持薪资方案生效日期设置
3.2.3 薪资标准设置
- 基本工资标准设置
- 绩效考核系数设置(如A/B/C/D等级对应系数)
- 加班费计算标准(工作日/周末/法定节假日倍率)
- 提成比例设置
3.3 考勤数据对接
3.3.1 考勤数据同步
- 对接现有考勤系统API接口
- 支持定时自动同步考勤数据
- 支持手动触发同步
- 支持考勤数据校验与异常提示
3.3.2 考勤数据管理
- 出勤天数统计
- 加班时长统计(工作日/周末/节假日)
- 请假天数统计(病假/事假/年假等)
- 迟到/早退次数统计
- 缺勤天数统计
- 支持考勤数据手动调整与审批
3.3.3 考勤规则配置
- 工作日设置
- 法定节假日维护
- 加班计算规则
- 请假扣款规则
- 迟到早退扣款规则
3.4 社保公积金管理
3.4.1 社保基数管理
- 社保缴纳基数设置(分地区)
- 社保基数上下限设置
- 社保基数调整记录
- 支持按月/按年调整
3.4.2 社保比例配置
- 养老保险比例(企业/个人)
- 医疗保险比例(企业/个人)
- 失业保险比例(企业/个人)
- 工伤保险比例(企业)
- 生育保险比例(企业)
- 支持不同地区不同比例配置
3.4.3 公积金管理
- 公积金缴纳基数设置
- 公积金缴纳比例配置(企业/个人)
- 公积金基数上下限设置
3.4.4 社保公积金计算
- 自动计算个人应缴社保
- 自动计算企业应缴社保
- 自动计算个人应缴公积金
- 自动计算企业应缴公积金
- 生成社保公积金缴纳清单
3.5 个人所得税计算
3.5.1 个税计算规则
- 支持累计预扣法计算个税
- 支持专项扣除(三险一金)
- 支持专项附加扣除(子女教育、继续教育、大病医疗、住房贷款利息、住房租金、赡养老人)
- 个税税率表维护
- 起征点配置
3.5.2 个税申报管理
- 个税申报数据导出
- 个税扣除项目管理
- 年度个税汇算清缴
3.6 工资计算与发放
3.6.1 工资计算
- 按月批量计算工资
- 支持按部门/个人单独计算
- 实时预览计算结果
- 支持计算规则调试
- 异常数据预警
3.6.2 工资数据审核
- 工资数据多级审核流程
- 支持审核意见填写
- 支持驳回重新计算
- 审核记录留痕
3.6.3 工资发放
- 工资单生成
- 工资发放确认
- 工资发放状态跟踪
- 预留银行代发接口(暂不实现,仅预留)
3.6.4 工资调整
- 支持个别员工工资调整
- 工资调整审批流程
- 工资调整历史记录
3.7 工资单管理
3.7.1 工资单查询
- 员工查询个人工资单
- HR查询所有员工工资单
- 支持按月份/部门/员工筛选
- 工资单详情展示(各项明细)
3.7.2 工资单发放
- 支持邮件发送工资单
- 支持短信通知
- 支持系统内消息推送
- 员工工资单确认签收
3.7.3 工资单导出
- 支持工资单PDF导出
- 支持工资单Excel导出
- 支持批量导出
- 支持加密导出
3.8 报表统计
3.8.1 工资统计报表
- 部门工资汇总表
- 月度工资对比表
- 工资成本分析表
- 薪资结构分析表
3.8.2 社保公积金报表
- 社保缴纳汇总表
- 公积金缴纳汇总表
- 社保公积金明细表
3.8.3 个税报表
3.8.4 考勤统计报表
- 部门考勤汇总表
- 个人考勤明细表
- 加班统计表
- 请假统计表
3.9 系统管理
3.9.1 用户管理
- 用户账号管理(增删改查)
- 用户角色分配
- 用户密码管理
- 用户状态管理(启用/禁用)
3.9.2 角色权限管理
- 角色管理(HR管理员、财务、部门主管、普通员工等)
- 权限配置(菜单权限、功能权限、数据权限)
- 角色权限分配
- 数据权限隔离(只能查看本组织/本部门数据)
3.9.3 系统参数配置
- 系统基础参数设置
- 工资发放日设置
- 通知模板配置
- 系统Logo、名称等个性化配置
3.9.4 操作日志
- 用户操作日志记录
- 工资计算日志
- 数据修改日志
- 登录日志
3.9.5 数据字典
3.10 移动端功能
3.10.1 员工自助
- 个人工资单查询
- 个人考勤查询
- 个人社保公积金查询
- 个人所得税查询
3.10.2 消息通知
3.10.3 审批功能(可选)
四、外部系统对接
4.1 考勤系统对接
- 接口类型: RESTful API
- 对接方式: 定时任务拉取 / Webhook推送
- 对接数据:
- 接口规范: 需提供标准化接口文档
4.2 人事系统对接(预留)
- 对接数据:
- 员工基础信息同步
- 组织架构同步
- 员工异动信息(入职/离职/调岗)
- 接口方式: 预留标准化接口
4.3 财务系统对接(预留)
4.4 银行代发接口(预留)
- 功能说明: 当前版本不实现,仅预留接口
- 预留内容:
- 银行代发文件生成接口
- 代发结果回调接口
- 银行对账接口
五、非功能需求
5.1 性能要求
- 响应时间:
- 页面加载时间 < 2秒
- 查询响应时间 < 1秒
- 工资计算(500人) < 30秒
- 并发支持: 支持100+用户同时在线
- 数据量: 支持5年以上历史数据存储
5.2 安全要求
- 身份认证: JWT Token认证
- 密码策略: 密码强度校验、定期修改提醒
- 数据加密: 敏感数据加密存储(工资、银行卡号等)
- 权限控制: 基于RBAC的细粒度权限控制
- 操作审计: 关键操作日志记录,支持追溯
- 数据隔离: 多组织数据严格隔离
5.3 可靠性要求
- 数据备份: 支持定时自动备份
- 容错处理: 异常情况友好提示,不影响其他功能
- 事务保证: 关键业务操作支持事务回滚
5.4 易用性要求
- 界面友好: 简洁直观的操作界面
- 操作便捷: 支持批量操作、快捷键
- 提示完善: 操作指引、错误提示明确
- 帮助文档: 在线帮助文档
5.5 兼容性要求
- 浏览器兼容: Chrome、Edge、Firefox、Safari最新版本
- 移动端兼容: Android 8.0+、iOS 12.0+
- 分辨率适配: 支持1366×768及以上分辨率
六、数据库设计要点
6.1 核心数据表(参考)
组织架构:
- sys_organization(组织表)
- sys_department(部门表)
- sys_employee(员工表)
薪资配置:
- salary_item(薪资项目表)
- salary_scheme(薪资方案表)
- salary_standard(薪资标准表)
- salary_formula(计算公式表)
考勤数据:
- attend_record(考勤记录表)
- attend_overtime(加班记录表)
- attend_leave(请假记录表)
社保公积金:
- social_security_base(社保基数表)
- social_security_ratio(社保比例表)
- provident_fund_config(公积金配置表)
工资数据:
- salary_month(月度工资主表)
- salary_detail(工资明细表)
- salary_adjust(工资调整表)
个税数据:
- tax_config(个税配置表)
- tax_deduction(专项扣除表)
- tax_record(个税记录表)
系统管理:
- sys_user(用户表)
- sys_role(角色表)
- sys_permission(权限表)
- sys_log(日志表)
6.2 数据库设计原则
- 遵循第三范式,避免数据冗余
- 关键字段建立索引,提升查询性能
- 敏感字段加密存储
- 重要业务表支持逻辑删除
- 所有表包含创建时间、更新时间、创建人、更新人字段
七、开发阶段规划
第一阶段:基础框架搭建(2周)
- 项目工程初始化
- 前后端框架搭建
- 数据库设计与创建
- 基础权限系统开发
- 登录认证功能开发
第二阶段:组织架构与基础数据(2周)
- 组织管理模块
- 部门管理模块
- 员工管理模块
- 数据字典管理
- 用户角色权限管理
第三阶段:薪资配置模块(2周)
- 薪资项目管理
- 薪资方案配置
- 薪资标准设置
- 计算公式配置
第四阶段:考勤对接与管理(2周)
- 考勤系统接口对接
- 考勤数据同步
- 考勤规则配置
- 考勤数据管理
第五阶段:社保公积金模块(1.5周)
- 社保基数配置
- 社保比例配置
- 公积金配置
- 社保公积金计算
第六阶段:个税计算模块(1.5周)
第七阶段:工资计算与发放(3周)
- 工资计算引擎开发
- 工资审核流程
- 工资单生成
- 工资发放管理
- 工资调整功能
第八阶段:报表统计(2周)
- 工资统计报表
- 社保公积金报表
- 个税报表
- 考勤报表
- 数据导出功能
第九阶段:移动端开发(2周)
- 移动端界面开发
- 员工自助查询
- 消息推送功能
- 移动端优化
第十阶段:测试与优化(2周)
- 功能测试
- 性能测试
- 安全测试
- Bug修复
- 系统优化
第十一阶段:部署与培训(1周)
总计开发周期: 约4-5个月
八、交付物清单
8.1 代码交付
- 前端代码(Vue项目)
- 后端代码(Spring Boot项目)
- 数据库脚本(建表脚本、初始化数据)
- 配置文件
- 部署脚本
8.2 文档交付
- 需求规格说明书
- 数据库设计文档
- 接口文档(Swagger)
- 系统部署文档
- 用户操作手册
- 系统管理员手册
8.3 测试交付
九、风险与应对
9.1 技术风险
- 风险: 考勤系统对接接口不稳定
- 应对: 增加异常处理机制,支持手动数据导入
9.2 业务风险
- 风险: 薪资计算规则复杂,可能遗漏场景
- 应对: 分阶段开发,每阶段与业务方确认
9.3 数据风险
- 风险: 历史数据迁移可能出错
- 应对: 提供数据校验工具,分批迁移验证
9.4 性能风险
- 风险: 大批量工资计算可能超时
- 应对: 采用异步计算 + 进度提示
十、后续扩展方向
10.1 短期扩展
- 集成银行代发接口
- 增加更多审批流程
- 支持更复杂的绩效计算
10.2 长期扩展
- BI数据分析平台
- 人力成本预测
- AI智能薪资建议
- 电子签章集成
附录
A. 关键术语说明
- 薪资项: 构成工资的基本单元,如基本工资、绩效工资等
- 薪资方案: 多个薪资项的组合,用于不同岗位
- 社保基数: 计算社保缴纳金额的基础数值
- 累计预扣法: 个税计算方式,按年度累计计算
B. 参考资料
- 《中华人民共和国个人所得税法》
- 《社会保险法》
- 各地社保公积金缴纳比例政策
文档版本: V1.0
编制日期: 2025-12-24
编制人: AI助手
审核状态: 待确认