A staffing company may have several entities, or Federal ID numbers, that it works under. A staffing company may also have several regions and offices. In addition, a staffing company may want to not only manage and pay their temporary workers, but may want to manage and pay their internal staff using TempWorks Enterprise. TempWorks Enterprise hierarchy allows for the separation and/or grouping of various levels of a staffing company within one database.
The following article will outline the theory behind the various levels of the hierarchy, why it is used, and how to navigate between the levels of the hierarchy.
*Note - Each Client who uses TempWorks is very unique. Therefore, the hierarchy in each database will be unique. Please contact TempWorks for any questions regarding your specific hierarchy.
Please note that the hierarchy level names and branch names in this document do not reflect the level names and branch names in your database. In general, an entity is typically tied to a specific Federal ID, creating a separate 941 filing. Using this hierarchy layout allows you to have multiple Federal ID’s within one database. The hierarchy ensures accurate reporting and allows for tailored security based on user permissions; this means your team controls who should be able to access certain areas (Fed ID’s, internal staff payroll, etc.), and share information across different groups of your business (a Customer may be shared between many branches).
Branches can-but do not necessarily have to- be physical locations of a staffing company. Branches can also be defined as lines of business, or any other separation needed by your team. For instance: Technical vs. Clerical vs. Professional vs. Industrial vs. Health Care, etc.
Each TempWorks Enterprise user has a Hier ID which determines what levels of the hierarchy they are able to access. Users can be locked down to only a have access to a certain level, or be granted visibility across the entire system. Additionally, each user will also have a default branch.
Every record in TempWorks Enterprise also has a Hier ID. The Hier ID assigned to a record is based on the Hier ID the user is in at the time the record was entered or created.
In general, if records are to be shared between branches they should been entered at either ClassVsTemp or Entity level (a level higher than the branch they are added to), keeping in mind that every company’s structure is different. This ensures:
An Employee will receive only 1 W2
An Employee’s wage limits will be correct
Overtime hours will be calculated properly
Employees are not entered twice into one EIN (Enterprise does not allow duplicate SSNs within an entity)
Customers and departments can be shared across different branches
Customers can have a consolidated credit limit
- Customers can have consolidated invoicing
- Customers can have a Hier ID at an entity level, with departments, but can still have a home branch based on the branch the user is in when they create the customer/department
- Even if an employee or customer is entered at entity level, they are still associated with a branch, and therefore reporting can still be run by branch. Entering records at entity level simply allows the records to be viewable across multiple branches.
The hierarchy area is found by clicking on the E Button at the top left corner of TempWorks Enterprise and selecting Switch Branch:
You can also access this area by clicking on your user name at the top right corner of TempWorks Enterprise:
There are 2 sections within the hierarchy: the level and the branch. Both sections will have an effect on what you can view, or enter in the system. Ultimately, different users can or cannot access information depending on where it is entered:
When a user selects a level:
TempWorks Enterprise will determine what records you are able to view and, if entering records, where those will be viewable.
For example, if branch level is selected, and records are created at this level, those records will only be available to view for those who are in the selected branch level, or in a level above this branch.
If you are at branch level, you will be able to view any records that were entered at that level and specific branch. Records entered while the user was at or above that branch's level (ClassVs Temp, Entity, etc) will also be visible. In other words, the level records are entered at determines where they are viewable in Enterprise. Records can filter down and up, but not laterally. If records are entered at entity level, they will be available to view in any area (ClassVsTemp, Branch, etc.) within/below that entity, but not from within another entity.
Depending on your operation, it may be beneficial to enter records at an entity or ClassVsTemp level. This ensures that regardless of what branch you are in, you are still able to view anything which was entered at hierarchy level above the current branch (information filters down).
Data should not be entered at system level. Functions that are done at system level, for example, would be running reports and searching. System level allows you to total data across multiple entities. Additionally, depending on your company's configuration, you may close your payroll/billing week at system level.
Because each hierarchy is setup uniquely for your operation, at what level records are entered is also unique to your operation.
*Note - because each hierarchy is set up uniquely for your operation, you may see more levels which include, but are not limited to: District, Region, Super Entity, Sub System, etc.
The branch area will display the System, Entity, ClassVsTemp and Branch names within that database.
After selecting the level, select a branch within that level to make that branch the home branch.
Following are two examples.
Example 1. Level = Entity (Sales - 2 Entity)
Branch = Midwest - 20 Branch
Selecting this Level and Branch will allow the user to view all records entered while the user was at at Sales (Entity) level, and anything within that entity, meaning all records in the branches Midwest - 20, Sales - 3, and Sales Staff - 18.
When records are created, they will be viewable to anyone logged into any branch within that entity.
Example 2. Level = ClassVsTemp (selected the Sales-Temp-8 (ClassVsTemp))
Branch = Sales – 3 (Branch)
Selecting this level and branch will allow the user to view all records within the Midwest and Sales branches, anything entered at ClassVsTemp level within Sales-Temp-8 (ClassVsTemp) level, or within Sales-2 (Entity) level.
Creating records at this level and branch will allow them to be visible to anyone logged in at that Level (ClassVsTemp) and either the Midwest or Sales Branch, or at Branch Level and either branch. But records entered at this level and branch will NOT be visible to users at the Sales - Staff - 9 ClassVsTemp or Sales Staff - 18 Branch.
A hierarchy like Example 2 allows you to report and process both internal and temp payroll under one entity (Federal ID number) but allows you to configure, based on user, who can access what ClassVsTemp areas. This allows for the separation of internal and temporary employee payroll processing and security. In this case, users would not want to enter records at the Entity level as they would then be viewable across both ClassVsTemp levels which is contradictory to the idea of being able to separate them.
Entering a record at entity, or ClassVsTemp level still assigns the record a home branch; this is determined by the service rep’s home branch. The level simply allows the record to be visible across multiple branches. This means that orders, assignments, and timecards can be entered/created at branch level, and therefore guarantees security in payroll and invoicing.
Timecard transactions will always follow the hierarchy of the assignment from which they originated. That means if the assignment was created at entity level the transaction (timecard) can be created, entered, and processed, at that Level. If the assignment was created at branch level, to create, enter, and process that transaction, the service rep must be at that branch's Level.
While each operation runs differently, the best practice is typically to create assignments at the lowest level possible. For example, if processing internal payroll in TempWorks you created the assignment for an internal employee at entity level, and within that entity there were both Staff and Temp branches, that assignment would create transactions (timecards) that would be viewable at every level below entity. This could result in the possibility of multiple users being able to view that internal staff transaction. However, if that assignment was created at the ClassVsTemp (Staff) level, those transactions (timecards) would only be viewable to those who had access to that ClassVsTemp (Staff) level, and were either in that level, that specific branch, or above. This allows you more security as to who can view records.
If there are multiple branches, the search field can help to narrow in on a particular branch quickly:
Enter the first few letters of the branch name into the search field, then click the magnifying glass to automatically be directed to the branch. If several branches contain the letters being searched, each time the magnifying glass is clicked Enterprise will navigate to each Branch.
Clicking the Show Inactive Hierarchy Items box will allow any inactive branches, classes, entities, etc. to be displayed.
A few things to keep in mind:
- New data cannot be entered at “system” level.
- branches, ClassVsTemp, etc. that are labeled “Staff” are generally for maintaining records for internal staff and are not accessible by everyone
- The level you are in determines where records are viewable.
- You can change your branch and level at any time to define the default branch or to gain access to specific areas of the database.
- If you have multiple Federal ID’s (entity’s), and have employees who cross over, you must enter that employee record within each Federal ID (Entity).
- Users who have access to only branch level are still able to see data at a level above branch when running reports, viewing records, and searching (information flows down)
- In theory, data which is entered at any level can be viewed vertically up and down the hierarchy but is not viewed horizontally across Branch/ClassVsTemp/Entity (based on the level the user was in when the record was created)