Payroll Elements

Salsa uses a consistent pattern across all payroll elements that enables you to easily configure and fully control how payroll is processed.

Here at Salsa we manage the configuration for all data inputs that affect running payroll through three distinct concepts that work together in concert: "Types", "Policies", and "Entries". This pattern is consistent across all the payroll elements that Salsa supports.

Payroll Elements

A payroll element is any type of worker-level data input that an employer brings into a payroll run and that, after calculation, ultimately results in a pay, deduction, and/or contribution item on the worker's earnings record. Salsa supports the following payroll elements:

ElementDescription
PayCompensation types for wages and pay for workers (e.g. hourly, salary, commission, bonus, reimbursement)
BenefitsEmployer-provided contributions and/or employee-initiated deductions relating to benefit plans (e.g. 401k, health insurance, FSA)
DeductionsReductions from worker gross pay (e.g. loan repayments, cash advances, union dues)
GarnishmentsCourt-ordered or legal deductions from worker wages (e.g. child support, wage levies, tax liens)
Time OffAccrued or available leave (e.g. PTO, vacation, sick time)
PremiumsSpecial pay additions based on work conditions (e.g. split shift premium, spread of hours premium)
Workers Compensation InsuranceWorkers compensation tracking for employer insurance classification and enrollment management

Each of these elements uses some combination of the Types, Policies, and Entries concepts described below. The examples in this guide focus on Pay, but the same concepts apply across elements. Not every element uses every level — the matrix below shows which concepts apply to each element:

ElementPartner TypesEmployer TypesEmployer PoliciesWorker PoliciesWorker Entries
Pay
Benefits
Deductions
Garnishments
Time Off
Premiums
Workers Compensation Insurance

Types

All payroll element types are built on top of Jurisdictional Types — compliance-defined categories that carry the tax treatment and regulatory rules for a given jurisdiction. These are managed by Salsa and are not directly configurable, but they form the foundation that all partner and employer types inherit from.

It is not uncommon for an employee to have multiple different types of pay within a single pay period. Some common examples include; Hourly Pay, Salary, Commission, Tips, and Bonus.

We capture these different types via our Type models and these can be collected at the Partner or Employer level.

Partner Types

Salsa allows you as a partner to be in control of which types are available to your employers. Partner types are the system-level configuration that lets you fully customize and control the Salsa platform to define exactly how your payroll system behaves. As part of account setup, we will collect and configure any types you may need for you. Once a type has been configured it will be available to be used by employers that you bring over to Salsa.

There is no limit to how many, or when partner types can be added. This makes managing types for a large number of employers incredibly quick and easy. For example, if one day support for a new type is needed, a new type can be added with just a few clicks, and all employers will automatically receive access to it.

You can check which pay types have been configured for you via our Retrieve all PartnerPayTypes api.

📘

Example

As a partner you find that all your employers typically pay their workers "Hourly Pay" and "Tips". As part of account setup we can configure these pay types at the partner level for you so that all your employers have them immediately available for use.

Later, you find that employers are requesting support for additional pay types such as "Cash Tips" (which are taxed differently to "Tips") or "Bonus". We can set this up so all your employers can start using it immediately.

Reference Id

Once your types are set up, each one is configured with a unique referenceId. This is a unique identifier for that type which will remain consistent across Sandbox and Production environments so that you can build your integration thinking about the type as a concept you support and not the specific instance created in each environment.

Employer Types

Once you have set up the types that you as a partner want to make available to your employers, Salsa allows another level of optional customization where each of these types can be further configured into off-shoots specific to each employer's needs. These can be managed via Retrieve all EmployerPayTypes.

📘

Example

As a partner you support "Hourly Pay" but Employer A pays different types of Hourly Pay to the same worker. They want to specifically divide hours into "Shop Hours" and "Storeroom Hours" which should appear separately in payroll run and have different defaults configured.

Using our api or via our embedded Employer profile component, these can be configured as new employer pay types based on the "Hourly Pay" partner pay type. Once created it will be available to be set up as an employer pay policy, for all workers of that employer and during payroll run.

Policies

Now that we have all our types set up, we can allow employers to configure the recurring values and inputs that control how a payroll element is processed for workers. This comes in the form of setting up Employer Policies and Worker Policies. A policy could reference either a partner or employer type.

Employer Policies

Employer policies are created in order for an employer to configure company-level defaults that can then be inherited when setting up all their workers.

These can be managed via the Employer profile UI component.

📘

Example

Employer A has configured their new "Hourly Pay" pay types called "Shop Hours" and "Storeroom Hours". For "Shop Hours" there are two types of worker that are paid differently: till workers and floor workers. Till workers typically earn $12.50 an hour whereas floor workers earn $9 an hour. Both should be paid "Shop Hours" but it would be handy to set up these rates once and not have to do it for each worker.

Employer A can be configured with two Employer Pay Policies. One can be given the display name "Till Workers" and configured with a default rate of $12.50 an hour. The other can be given the display name "Floor Workers" and configured with a default rate of $9 an hour.

Worker Policies

Worker policies are created as a means of assigning a worker to a specific type. When a worker policy is created, the type will begin to appear in the payroll run for that worker.

Worker policies use a read-through pattern: if the worker hasn't overridden a field, the value is inherited from the employer policy.

These can be managed via the Worker profile UI component.

📘

Example

Worker A is a "Till Worker" but isn't on the default hourly rate of $12.50. They actually get paid $14 an hour.

Employer A can create a Worker Pay Policy for Worker A based off of the "Till Worker" Employer Pay Policy. This effectively attaches Worker A to the "Shop Hours" pay type. Employer A can then override the default rate of $12.50 and change it to $14. This change only affects Worker A.

When it comes to run payroll, the "Shop Hours" pay type will appear in payroll run and Employer A can input the hours for the pay period for Worker A.

Worker Entries

Worker entries are a representation of a specific instance of a type that a worker has earned. These are captured via Paystream as an integration between your system and Salsa (if needed).

📘

Example

Your system manages "Hourly Pay" for all your employers. As part of account setup we disable the "Hourly Pay" pay type from being available to your employers since your system will be the source of truth for this data.

Worker A works 8 hours at $14 per hour on the 1st January 2024. Your system records all this data and you send us a Worker Pay Entry for this data via Paystream so that it is stored in Salsa and appears in the payroll run and on the worker's earnings record.

❗️

Note!

Worker Entries will take precedence over Worker Policies. This means if you have a "Hourly Pay" Worker Pay Policy and you also send us an "Hourly Pay" Worker Pay Entry, we will only process the Worker Pay Entry in the payroll run.