Payroll system apps
The quickest way to create your organization in ChartHop is to synchronize with your existing payroll system. This imports all your employee data into ChartHop and creates an org chart for you to work with.
ChartHop's payroll apps make it easier to keep your data up-to-date across platforms by automating the retrieval of payroll data from your chosen provider.
ChartHop's payroll apps provide a one-way from the payroll provider to ChartHop. Thus, the payroll provider remains the source of truth on compensation and reporting structure, but ChartHop is always up-to-date with the latest state of your employee roster.
If you track open roles in an applicant tracking system (ATS), ChartHop recommends also using one of our ATS system apps. Having ChartHop synced to both systems provides a better picture of your organization. Learn more.
ChartHop supports on-demand syncs and scheduled daily syncs. In most cases, you rely on daily syncs to pull updated payroll data from the source system.
Payroll apps sync data from the payroll provider to ChartHop. You make changes in your payroll system and then sync over to ChartHop. When you change ChartHop data that originates in your payroll system, those changes are overwritten on the next sync.
Changes that are typically synced from a payroll system include:
- People data such as demographics and contact info
- Title changes
- Direct reporting structure (managers)
- Base compensation
- Group membership (departments, teams, locations)
- New hires and departures
Before configuring a payroll app to build your org chart, please review the following guidelines explaining what to expect when setting up a payroll app to sync your data.
Some payroll apps can sync historical data, including BambooHR, Sequoia One, SuccessFactors, and Ultipro. These apps can import roster data and historical values for many synced fields, going back to a specified period.
When a supported payroll app syncs historical data for the first time, all available past and present data is imported into ChartHop. On subsequent runs, the payroll app only imports data that has been changed during a specified window that you can configure.
When a payroll app runs, it compares the data in ChartHop against the data in the payroll system. When you have jobs or employees in ChartHop that are not included in your payroll system, those jobs and people are skipped during the sync and are not touched or removed from ChartHop.
It is safe to create jobs and people in ChartHop without updating the source system, although we recommend keeping both systems up-to-date.
This can happen when the payroll system doesn't cover the whole organization. For example, if you have contractors or international employees that are not in the payroll system. or even when multiple payroll systems are in use.
Often, a position may be vacated before a replacement can be hired, or a new level may be created in an organization as it grows. When this happens, an employee may report to an open job on ChartHop.
There probably won't be a record of this open role on the payroll provider side since there is no payroll data associated with it yet. Thus, it is best to set the first "actual" person they report to as their manager in the payroll system.
For example, if Bob reports to an open VP of Marketing job in ChartHop, which, in turn, reports to Alice, Bob's manager should be set to Alice in the payroll system. Meanwhile, the entire manager chain remains accurate in ChartHop and will not be disrupted during a sync.
Sometimes, a field is created in the source system with a null value, either because the user does not have the necessary data yet, or because it will be updated later.
If there is no value in the source system for the field requested by the payroll app, the ChartHop field will always be skipped, whether on initial or subsequent syncs.
If you discover that something in the data looks wrong and you wish to update it to respect the sync process, it is usually best to enter the change in the payroll provider and let the sync carry it over to ChartHop.
Making changes in ChartHop without updating the source system will result in that change being overwritten by the next scheduled or manual sync. Thus, payroll-related changes made within ChartHop are generally safe since, at worst, the following day's run will correct it.
It is important to fix data in the payroll provider first since ChartHop uses it as the source of truth. Undo any extraneous changes from the ChartHop side if needed.
A common issue that may cause trouble during syncs is having multiple profile id instances for a single employee. To fix this, we recommend validating that all employees have only a single profile instance coming from the payroll system prior to syncing.
When you add an employee to your payroll system, the sync will first try to match the new hire with a person in ChartHop who has the same email, name, or contact ID.
If the sync cannot find such a person, it will look for open roles with the exact title and manager and hire the person into that role, dated to the hire date in the payroll provider. If the sync cannot find any open positions that are a match, it will create a new job and hire the person into that.
If a new job gets created erroneously due to a mismatched title or manager, the best way to fix it is to:
- Manually undo both the hire and the new job creation. Learn more.
- Ensure that an open role exists in ChartHop with the correct title and manager.
- Re-run the sync again.
When you change someone's title in your payroll system, the title change syncs to ChartHop as a neutral change, not a promotion or a demotion. If the title change is a promotion, you can mark it as such on the History page in ChartHop, immediately following the sync. Learn more.
Suppose someone moves from one job into another open position, leaving their previous job open (potentially eligible for backfill). In that case, this should be scheduled on the ChartHop side using Move Person, concurrent with the change on the payroll side.
This is necessary because if someone changes managers, the payroll app will assume it's a structural change where the job is reporting to a different manager. The payroll app can't tell the difference between a transfer that leaves an open role behind and a manager change.
By scheduling the transfer on the ChartHop side, you can clarify this.