{{ source.name }}
{{ source.column_count }} 列 · {{ source.filename }}
{{ source.source_note }}
{{ reportSources.time(source.created_at) }}
建议补充:{{ source.missing_recommended_headers.join('、') }}
上传包含“{{ source.sheet_name }}”的 XLSX 工作簿后自动识别。

从人员档案到组织协作,让信息清晰有序,让团队的每一次变化有迹可循。
从多张业务底表到企业维度汇总,让每个来源可核对,让每个版本可回溯。
从演示文稿模板到报告更新,使用企业钉钉身份,从这里进入报告工具。
选择工作空间,使用企业身份登录
正在读取登录方式…
{{ loginTarget === 'ppt' ? '使用企业钉钉身份登录,登录后进入 PPT 报告工具。' : '企业名册中的人员可使用钉钉登录;可访问的内容由管理员分配。' }}
{{ sso.status.reason }}
请联系 HR 系统管理员恢复钉钉登录。
{{ pageDescription }}
{{ selectedDepartment?.dingtalk_id ? '钉钉组织' : '本地组织视图' }} · 点击部门查看对应成员 · 已移出当前同步范围
“批量导入”的维护权限允许更新普通人员资料。新增人员、修改工号、钉钉用户 ID 或部门归属,以及回滚此类变更,还需开启“人员导入:新增及身份/部门变更”的维护权限。按部门查看薪资的角色也可独立获得人员导入权限,仍须全部数据范围和全部人员字段。
批次明细会保存每条匹配到员工的来源行、匹配字段和命中规则。
按部门批量给员工挂多个方案,也可以在明细中逐人移除。
方案定义数据源、人员匹配和计算规则,通过人员方案分配生效。
计算结果以批次形式冻结方案版本,可随时查看明细。
绩效金额 = 金额字段 × 提成比例 + 固定绩效;阶梯规则按列表顺序匹配第一条。
当前数据源字段:{{ performance.sourceFields.join('、') || '尚无可用字段,请先导入数据集' }}
{{ performance.detail.run.period }} · {{ performance.detail.run.scheme_name }} · 方案版本 {{ performance.detail.run.scheme_version }}
{{ performance.sourceDetail.employee_name || performance.sourceDetail.name }} · {{ performance.sourceDetail.detail?.scheme_name || performance.detail?.run?.scheme_name }}
{{ analytics.historical ? '人员分布按所选历史版本统计,趋势截至该版本;快照中未保存的薪资不展示。' : '人员分布按当前档案统计;月份用于入离职记录、薪资和默认趋势范围。' }} 部门筛选包含下级,跨部门人员只计一次。
全名册口径,不随部门筛选变化
入职日期已维护 {{ analytics.data.monthly.hire_date_coverage.known }} / {{ analytics.data.monthly.hire_date_coverage.total }} 人;离职日期已维护 {{ analytics.data.monthly.departure_date_coverage.known }} / {{ analytics.data.monthly.departure_date_coverage.total_resigned }} 位离职人员。{{ analytics.data.monthly.note }}
{{ analytics.trendDescription }}
{{ analytics.data.trend_note || '只展示已有快照,不补造过去的历史人数。' }}
以本地维护的人事状态为准
{{ analytics.data.monthly.turnover_note }}
每位人员按唯一分析主属计数
{{ analytics.data.department_basis }}
明确人员签署主体与资料缺口
{{ analytics.month }} · {{ analytics.data.payroll.records }} 条发放记录 · 覆盖 {{ analytics.data.payroll.covered_employees }} 人
{{ analytics.data.payroll.note || '按已录入发放记录累计。应发薪资含公司社保合计和公司公积金合计。' }}
{{ item.note }}
当前没有已识别的待完善项。
{{ analytics.data.scope_note }}
支持 XLSX 或 UTF-8 CSV,单份不超过 {{ attendance.size(attendance.options.max_file_bytes) }}。成功识别后保存原文件与全部解析行,校验未通过的批次也可回看。
如原表没有日期列,可填写统计期间。餐次导出仅统计次数,不计算补贴金额。
{{ rule }}
必需字段:{{ attendance.options.required_columns.join('、') }}
{{ attendance.detail.period_start || '日期未提供' }} {{ attendance.detail.period_end ? '至 ' + attendance.detail.period_end : '' }} · {{ attendance.statusLabel(attendance.detail.status) }}
普通班次 {{ attendance.detail.summary.ordinary_meals }} 餐 · 哺乳假班次 {{ attendance.detail.summary.nursing_meals }} 餐 · 休息班次 {{ attendance.detail.summary.rest_meals }} 餐。人员与部门均采用本批原表字段,不推测关联到当前 HR 组织。
原表未提供:{{ attendance.missingMetrics.join('、') }}。这些指标显示“未提供”,不当作 0。
{{ note }}
汇总来自本批全部已解析行。搜索只筛选当前汇总列表,不改变上方整批指标。
筛选与分页读取已保存的底层记录;不改变原文件、整批汇总和导出结果。
修正原文件后重新上传会形成可回看的批次。相同内容和统计期间不会重复创建。
以下按上传文件的原列保存,可与下载的原文件逐项核对。
支持 Excel 或 CSV,最多 10,000 行、20 MB
更新已有人员:下载当前全部人员资料,修改后上传,并选择“仅更新已有人员”。保留钉钉用户 ID;有身份/部门变更授权时可修改工号,后续同步不会覆盖;空白字段保留原值。
每次上传最多 10,000 行;超过时请复制表头,分批上传
{{ management.preview.filename }} · 共 {{ management.preview.summary.total }} 行
通过工号或钉钉用户 ID 匹配,姓名相同不会自动合并。
空白字段保留原值,适合分批补全合同主体、联系方式等资料。
已关联人员的姓名、钉钉账号和钉钉部门归属由同步维护,额外授权不改变该规则。
部门填写完整路径,法人公司填写已维护的名称。Excel 模板附有部门和法人公司参考表;缺少名称时请联系有资料维护权限的同事补充。
按日自动读取钉钉通讯录,成功后保存人员及组织快照。
同步中仍能看到的员工:待确认会自动转为在职;已经手动标记为离职的员工不会被自动改回。连续未出现在钉钉同步范围达到上方次数后,系统才会自动标记为离职,并在同步记录中留下审计记录。
任务在本地后台运行,关闭浏览器不影响执行。电脑需开机且后端服务运行;错过当天计划时,后端恢复后补执行一次,不回填过去日期的快照。
{{ formatTime(historyDetail.snapshot.created_at) }} · 与上一版本比较
包含子部门的去重人数
通过部门定位成员,查看完整的部门归属。每次同步生成历史快照,保留组织和人员的变化。
最近版本:{{ formatTime(snapshots[0].created_at) }}
{{ snapshots[0].department_count }} 个部门 · {{ snapshots[0].employee_count }} 位人员
尚无历史快照,请同步一次钉钉通讯录开始记录。
按人员与工资归属月份记录完整薪资明细,绩效与提成可分别指定归属月份。
仅展示角色授权的部门合计。姓名搜索只用于上方人员明细,不会拆分这些汇总。
{{ note }}
已选择:{{ payrollUI.bulkFile.name }}
请横向滚动核对所有金额。有错误时整批不入库;修改文件后重新预览。预览有效期为 30 分钟。
{{ payrollUI.monthPreview(field.key) }}
法人公司默认使用当前人员档案,手动填写优先,仅保存在本条薪资记录。绩效或提成金额非零时,需要填写对应归属月份。
应发与实发均按填写值保存,不自动计算
{{ dataHub.listSearch.trim() ? '试试其他名称、类型或连接地址' : dataHub.sources.length ? '在这里新增,或将已有数据源移动到此文件夹' : '支持 PostgreSQL、MySQL、SQL Server、SQLite 与宜搭' }}
{{ dataHub.listSearch.trim() ? '试试其他名称或数据集标识' : dataHub.datasets.length ? '在这里新增,或将已有数据集移动到此文件夹' : '选择数据源,保存查询,即可在分析中复用' }}
{{ dataHub.listSearch.trim() ? '试试其他名称或工作流标识' : dataHub.workflows.length ? '在这里新增,或将已有工作流移动到此文件夹' : '从已有数据集开始,通过可视化步骤完成清洗、关联与汇总' }}
按宜搭组织关系补充管理节点并更新部门映射,财务编码随来源数据保存。
仅 HR 超级管理员可配置。沿用已确认的部门别名、冲突处理和下级继承规则。发现人工修改将保留现状并中止本轮;先暂停计划再处理冲突。定时任务由后台执行,关闭页面后继续运行。
{{ dataHub.tasksLoaded && !dataHub.refreshTasks.length ? '先创建数据集或数据准备,再通过更新配置启用定时任务。' : '可刷新状态,或调整任务名称、类型和状态筛选。' }}
Excel 导入和 8 个数据源批量更新在专属页签维护,目前按需手动执行。
当前就绪 {{ reportSources.readyCount }} / {{ reportSources.sources.length || 0 }}。同一工作簿可包含多张业务 Sheet,系统按 Sheet 名称分别建立版本。
通过 Excel 导入或手动批量更新,保留每次数据版本。工资表按现有 HR 权限读取。
批量更新范围:{{ reportSources.builtinScopeNames.join('、') }}。
{{ source.column_count }} 列 · {{ source.filename }}
{{ source.source_note }}
{{ reportSources.time(source.created_at) }}
建议补充:{{ source.missing_recommended_headers.join('、') }}
上传包含“{{ source.sheet_name }}”的 XLSX 工作簿后自动识别。
每次确认导入后,被识别的 Sheet 分别成为对应数据源的当前版本;旧版本不删除。
更新范围:{{ reportSources.builtinScopeNames.join('、') }}。
从数据库查询最新数据,全部查询成功后一次性整表替换,分别生成新版本。历史版本保留,可在导入与版本记录中回滚。
收入表分别保留企业id和 r_id(juhe.r_id);r_id 为空时使用 ENT_<企业id>。同一 r_id 对应多个企业id时,跨月份、人员统一选数值最小的企业id。r_id 不是明细行唯一键,同一客户仍可按月份、人员保留多行。
先在数据中台配置并启用 PostgreSQL 数据源。
{{ reportSources.builtinStatusLabel(reportSources.builtinJob.status) }} · 发起于 {{ reportSources.time(reportSources.builtinJob.created_at) }},可关闭窗口,后台继续更新。
只替换上传文件中识别到的月份,其他月份原样保留。每个数据源都会生成新版本,可在导入记录中回滚。
当前 Sheet 的全部数据会成为新版本;未包含的其他数据源不受影响。
按 Sheet 名称识别;“摘要”“汇总表”和其他未知 Sheet 不会导入。
最多 {{ reportSources.size(reportSources.maxBytes) }}、{{ Number(reportSources.maxRows).toLocaleString('zh-CN') }} 行将 {{ dataHub.moveItemName }} 归入:
此 SQL 查询平台 backend/hr.db 中已同步的宜搭数据;需在 SQLite 执行,不能直接用于 PostgreSQL。
{{ dataHub.resolvedSql.note }}
点击展开即可得到已替换参数、已隔离表单的完整 SQL,无需保存草稿或执行查询。
{{ dataHub.resolvedSqlCopied }}
选择数据集后自动读取样本。这里显示样本,处理会读取完整数据。
点击下方操作,选择字段和条件。处理从上到下执行,可调整顺序。
{{ step.description }}
所选字段全部相同的记录只保留一条;结果仅包含所选字段。
{{ step.code }}{{ step.type==='python' && dataHub.options.python_steps_enabled === false ? '当前环境未启用此历史 Python 步骤,请移除后改用 SQL 或可视化操作。' : '这是高级处理步骤。可继续编辑,也可移除后改用上方的可视化操作。' }}
起一个结果名称,保存并运行后即可在 Quick BI 的数据列表中使用。
启用后,BI 和预览优先读取与配置、参数一致的最近成功缓存;未匹配时按原方式查询。更新失败保留旧缓存,首次点击更新执行全量。
首次全量建立缓存,后续读取水位之后的记录并按唯一键更新已有行。水位为空的记录、源数据删除或更新时间未推进的修改无法可靠发现,请定期全量更新。
{{ dataHub.refreshFieldsError }}
汇总、分组与关联结果无法直接追加。需要减少读取量时,在输入数据集的“缓存与更新”中配置增量,工作流再基于更新后的完整输入缓存计算。
{{ dataHub.refreshStatus.message }}
策略尚未保存,保存后才能更新。
每次执行读取最新来源,保存完整财务编码并更新 HR 管理组织。已经确认的别名与冲突归属沿用现有配置。发现人工修改将保留现状并中止本轮;先暂停计划再处理冲突。
完整来源共 {{ dataHub.orgSyncSource?.row_count || 0 }} 行,财务编码随来源保存。页面展示前 100 行。保存时间:{{ dataHub.time(dataHub.orgSyncSource?.updated_at) }}
使用本次预览参数,查询平台 backend/hr.db 中已同步的宜搭数据;需在 SQLite 执行,不能直接用于 PostgreSQL。
{{ dataHub.resultResolvedSql.note }}
{{ dataHub.resultResolvedSqlCopied }}
同一企业跨月合并;未分摊或匹配失败的金额按月份分别保留。
{{ reportSources.summaryFormulaText }}
{{ reportSources.summaryMarginFormulaText }}
企业ID与 r_id 分别写入:保留有效 r_id,r_id 为空时使用 ENT_<企业id>;同一 r_id 跨月份、人员统一选数值最小的企业id。两者都缺失才提示缺少标识,标识冲突时暂停写入,未分摊行留空。
名单最多显示前 20 家企业,当前展示 {{ reportSources.summaryIdentityDiagnostics.missing_enterprises.length }} / {{ reportSources.summaryIdentityDiagnostics.missing_count }} 家。
名单最多显示前 20 家企业,当前展示 {{ reportSources.summaryIdentityDiagnostics.conflicting_enterprises.length }} / {{ reportSources.summaryIdentityDiagnostics.conflict_count }} 家。
来源、科目名称、分摊方式和匹配依据由系统计算逻辑固定;你可以修改规则说明,便于团队确认口径。保存后重新生成汇总才会看到结果变化。
三个系统共用界面配色,设置会保存在本机并立即生效。
紧凑模式便于浏览大量数据,舒适模式保留更宽松的间距。三个系统共用此设置。
填写三个系统共用的企业内部应用凭证。
通讯录同步仍使用本机已授权的钉钉连接;能同步通讯录不代表网页登录凭证已经配好。
启用扫码登录并配置返回地址。
应用登录配置由管理员维护。
{{ sso.config.reason || '保存配置后可开始绑定。' }}
打开钉钉开放平台中的同一个企业内部应用,在“安全设置”中查找“登录重定向 URL”,登记下方完整回调地址,再保存此处的登录设置。
应用权限管理中需开通“通讯录个人信息读权限”(Contact.User.Read)及“成员信息读权限”(qyapi_get_member)。开通后请重新扫码授权。
网页应用的移动端、PC 首页地址用于打开应用;这里扫码授权使用的是“登录重定向 URL”。控制台菜单名称可能随版本调整,请按这个字段名定位。
若钉钉提示“应用不存在”,先检查应用类型和 AppKey。当前尚未接入第三方企业应用,SuiteKey 不能用于此登录方式。
按北京时间筛选。选中版本后,人员、组织和人力分析全局联动。
{{ versionBrowser.sourceLabel(row) }}
导出当前薪资台账,并按选择的组织架构和部门层级附带部门。每位员工的记录只计入一次。
每个部门选择汇总或人员明细,可混合导出。重复归属按从上到下的第一条规则处理;仅有汇总权限的部门须整体选择,并使用“部门汇总”,此时姓名和部门两列都填写所选层级的实际部门名称。
{{ note }}
{{ note }}
下方各展示前 100 行样例;Excel 包含完整结果。
{{ sessionUser.permissions?.role_name || '企业平台用户' }}
{{ sso.self.binding?.bound ? '已绑定 ' + (sso.self.binding.nick || '钉钉账号') : '尚未绑定钉钉账号' }}
钉钉登录使用所绑定 HR 账号的权限。解绑后,符合条件的员工下次钉钉登录会自动创建独立普通账号。
账号密码登录已关闭,当前使用钉钉登录。如需更改登录方式,请联系 HR 系统管理员。
管理绑定前,请退出并使用当前 HR 账号密码登录。
此账号由钉钉自动创建,使用钉钉登录;如需变更登录方式,请联系管理员。
修改密码后,其他设备上的原登录会话会失效。
在当前浏览器中记住你的选择。
使用当前账号密码验证身份。修改成功后,其他设备上的原登录会话会失效。
按每次任职分别记录;历史段保留当时的入职、离职日期。
{{ departmentPath(department.id) }}
此历史快照尚未记录管理归属。
{{ department.path }}
尚未映射,请在组织架构页面设置部门映射。
部门变化按首次同步发现的时间记录,并非实际调岗生效时间;首次资料补全会单独标注。
{{ event.note }}
{{ importRollback.preview.filename }}
{{ message }}
日期与人员状态分别维护。员工再次入职时,请使用“重新入职”保留上次任职经历。
管理组织按钉钉部门自动映射。如需调整,请到“组织架构 → 编辑管理组织映射”。
{{ management.rehireOriginal.name }} · 上次入职 {{ management.rehireOriginal.hire_date || '未填写' }}
已有日期如需更正,请先返回人员维护修改。
只更新本次任职;如需同步标记离职,请同时勾选修改人员状态。
下级部门单独设置的映射优先。取消继承时,本规则仅作用于当前部门。