# Salary rules

Salary rules typically belongs in a salary model, and dictates how the salary codes are filled to make the final salary specification. Salary rules can also be created directly on users and also on tasks.

One can get to the salary rules, by selecting *rules* from the line menu in the salary model list.

## Creating and editing salary rules

A salary rule is configured as follows:

**Salary code:**This is the destination code for the calculation. The resulting calculation will be added to this salary code. Several rules can refer the same salary code. In this case, the results will be added.**Get count from:**Where the rule will look for the source number of the calculation.**Hours:**The hour source configured in the salary model. If no source is configured, this will always start at zero.**Enter value:**Here it is possible to enter a static number to use.**Workplan:**This will consider workplan registrations made in the salary period.**Product use:**This will consider product use added to tasks in the salary period.**Date ranges:**This is deprecated.

**Which days?:**This will limit the hours only to be from the selected days.**Which period?:**This will limit which hours of the day to use.**All hours:**The entire day.**Evening, night, morning:**The designated time of the day, as configured in the salary model.**Overtime 1 / 2:**Overtime in category 1 and 2, as configured in the salary model.**Week overtime 1 / 2:**Week overtime in category 1 and 2, as configured in the salary model.**Any overtime 1 / 2:**Any hours which are either overtime or week overtime. If an hour is both overtime and week overtime, it will only be counted once.**Norm-time 1:**Normal time for the user, which is the time the user is considered to work on a given day. Norm-time 1 will be zero on days where the user isn't expected to be at work.**Norm-time 2:**The same as Norm-time 1, except that this will still give the configured normal time on days where the user isn't expected to work.**Internal registrations:**All internal registrations from the "hours" module can also be selected so only hours registered on these are used.

**Count:**If you select "enter value", you can enter how many units should be included on each salary specification. For a user with a set salary of 30.000,- you should enter 1 in this field and 30.000 in the "value" field.**Which registrations?:**Here you can select which workplan registration you wish to count. The returned count is in days, which means how many days in the salary period was the given registration.**Product number:**When entering a product number, the count will be based on how many time the employee have registered a given product use in the salary period. This is the product number to consider.**Count strategy:**When getting the count from a product use, this selects the counting strategy.**Once pr. period:**This will set the count to exactly one if the product have been used at least once in the period.**Once pr. date:**This will set the count to the number of different days the product was used.**Once pr. date/task:**This works like once pr. date, except that it also counts the number of different tasks the product was used on.**Once pr. unit registered:**This will increase the count the same amount as the units added. So if one adds 15 of product number X, then the count will also increase by 15.**Once pr. line registered:**This will increase the count by one for each line registered (no matter how many items was registered on the line).**Once pr. hour registered:**This will find all tasks where the given product is used, and then summarize all hours worked on that task in the salary period. This number of hours are considered the count.

**Min/max months:**This will consider the seniority of the employee and only trigger the rule if the seniority is within the given month span. If a user doesn't have a seniority date configured, then the employment date is used instead. If left empty the rule is always triggered.**Min/max hours pr. week:**This will calculate the weekly normal time of the user, and the rule will only trigger, if the result is within the given limits. If left empty the rule is always triggered.**Minimum required hours:**The rule will only trigger if the hours worked a given day exceeds this number. So if 8 is entered and a user have 8 hours Monday, 5 hours Tuesday and 9 hours Wednesday, then the rule will only apply on Monday and Wednesday. If left empty the rule is always triggered.**Round down/up to:**For each day considered, this function will perform rounding up/down of the hours if not within the given range. If left empty, no rounding will take place. Please be aware that rounding only takes place on days where the count yields hours, so a basis zero hours will not be rounded up.**Not on days with this salary code:**If a salary code is selected here, this rule will not consider days where the other salary code have yielded something. Example: If you have overtime and a weekend bonus, and the employee shouldn't get overtime on days where a weekend bonus is also payed out, then for the rule that gathers the overtime, the code for weekend bonus should be selected in this field.**Reduce by salary code:**When this rule have gathered its total, then a salary code selected in this field will be subtracted from the total.**Allow negative count:**If this is checked the reduction from above will allow this salary total to become a negative number. Otherwise it cannot go lower than zero.**Get value from:**Specifies if you want to get the value from another rule, or enter it directly.**Percentage adjust:**If you get the value from another rule, you have the option to add a percentage. 100 means the same amount.**Value:**The value of each unit. Most salary systems have this built-in, so you don't need to enter it here.**Book value:**Some integrations are using a booking value of each unit. This can be entered here, if your integration requires this.**Note:**Here you can type a note to help you remember what this rule covers, such as "Vacation pay" or "Weekend overtime".

### Normal time explained

Normal time is the time a employee is expected to work, and is configured under the user. The normal time is highlighted below: