Payroll Settings controls how SolaHR calculates pay: the payroll currency, work days and hours used for daily and hourly rates, overtime multipliers, the advance limit and payslip numbering. On the same page you record each employee's effective salary structure (base pay and allowances) and the tax and contribution rules that are deducted in payroll. Exchange rates for employees paid in another currency are kept on the linked Payroll Currencies page.
Owners, SolaHR Administrators and payroll managers use it when setting up payroll and whenever a salary or rule changes.
Where to find it
- Sidebar: Payroll & Compensation → Payroll Settings. URL:
/payroll-settings. - Payroll currencies:
/payroll-currencies. There is no menu item; open the address directly (see Payroll Currencies). - The core defaults (work days, hours, multipliers, currency) are also on System → Settings → Payroll Defaults (see Settings). Both pages edit the same values.
The menu item appears when your plan includes payroll tax rules and your role has Manage payroll settings.
Permissions
| Action | Permission |
|---|---|
| Open the page, save the policy, save salary structures, add and switch tax rules | Manage payroll settings |
| Open Payroll Currencies and save rates | Manage payroll currencies and exchange rates (plan must include multi-currency payroll) |
| Role | Access |
|---|---|
| Owner, SolaHR Administrator | Everything. |
| HR Manager | Only if Manage payroll settings / Manage payroll currencies and exchange rates is ticked in their Payroll access on Team access. |
| HR Operations Manager (older role), HR Records Viewer (older role), scoped roles | No access. |
Screen tour
Header: Payroll Settings — Calculation policies, salary structures, and deduction rules. The page has four cards, top to bottom:
- Calculation policy with Save policy.
- Effective salary structure (form) with Save structure.
- Current salary structures (table).
- Tax and contribution rules (form, Save rule, then the rules table).
Calculation policy
| Field | Rules | Default | Used for |
|---|---|---|---|
| Pay frequency | Monthly, Biweekly, Weekly, Annual. | Monthly | The default for new salary structures. Runs are always monthly. |
| Currency | Three letters, saved in capitals, and it must be a currency that exists in your Finance currency list. | The organization's Finance base currency | Payroll (base) currency of every run, payslip and register. In a brand-new workspace only the Finance base currency is accepted (see Confirm the payroll currency). |
| Work days/month | 1–31, whole number. | 30 | Daily rate = salary ÷ this; due days and first-month reduction; unpaid leave. |
| Work hours/day | 1–24, whole number. | 8 | Hourly rate = daily rate ÷ this; overtime. |
| Weekday OT multiplier | 1–5. | 1.25 | Weekday overtime pay. |
| Holiday OT multiplier | 1–5. | 1.50 | Holiday overtime pay. |
| Max advance % | 0–100. 0 switches the check off. | 50 | Largest advance as % of salary (see Advances). |
| Payslip prefix | Up to 10 characters. | PS | Payslip numbers PS-202610-00001. |
| Rounding | Round, Floor or Ceil. | Round | How additional earnings are rounded. |
| Precision | 0–4 decimal places. | 2 | Decimal places of calculated additional earnings. |
Click Save policy. You see Updated successfully. A value outside its range is listed at the top of the page and nothing is saved.
What the policy does not change: the employee breakdown labels show the defaults. Deductions and attendance amounts use these work days and hours.
Changes are dated. Every time the policy is saved, SolaHR records the new values with today's date. A payroll run for a past month uses the settings that were in force at the end of that month, so changing the multiplier today does not rewrite last quarter. If no record exists for a period, the current settings are used and the run shows the warning "No record of the payroll settings in force in this period; the current settings were used. Check day/hour basis and overtime multipliers." Approved, locked, closed and paid runs keep their figures.
Confirm the payroll currency
In a workspace that has no employees and no payroll run yet, the payroll currency must match the organization's base currency set in Finance. Settings → Payroll Defaults then shows the notice Confirm payroll currency before finishing setup — "Finance uses AED. Review this currency and save payroll settings to confirm it for this new HR workspace." and offers only that currency in the list. If Finance has no base currency yet, the page asks you to set it there first: "Set the organization base currency in Finance, then reload this page. Payroll currency cannot be confirmed yet." Once the workspace is in use, any active currency from the Finance list can be chosen, and existing salary currencies are never changed. See Workspace setup.
Effective salary structure
A salary structure records an employee's pay from a given date. Payroll uses the employee's current structure for base salary, allowances and the salary currency.
-
Fill in the form:
Field Required Rules / defaults Notes Select employee Yes A searchable list of employees. Type No Salary (default), Hourly, Daily. Stored only: the amount is always treated as a monthly amount. Base Yes At least 0.01. Monthly base salary. Currency Yes Exactly 3 letters. Pre-filled with your payroll currency. Change it only if the employee is paid in another currency (it then needs an exchange rate). Pay frequency Yes Pre-filled from the policy. Monthly, Biweekly, Weekly or Annual. Effective start Yes Default today. Optional end No On or after the start. Allowance 1 name / Allowance 1 amount, Allowance 2 name / Allowance 2 amount No Two rows. Amount ≥ 0. Rows with 0 or blank amount are ignored. Monthly allowances added to gross pay. Change reason No Up to 255 characters. Overtime eligible No Ticked. Stored only. Bonus eligible No Ticked. Stored only. -
Click Save structure. You see Created successfully.
What happens when you save:
- the employee's previous current structure is ended the day before the new start and marked inactive,
- the new structure becomes current,
- the Salary on the employee record is overwritten with Base. That salary also drives advance limits, deduction estimates and end-of-service figures.
New organization defaults set in Settings → Payroll Defaults (currency and pay frequency) are applied to new structures automatically, so a structure no longer starts in USD by mistake. If a structure's currency differs from the payroll currency, payroll converts it using a locked exchange rate. With no rate for that pair, that employee's payroll cannot be calculated until you add one or fix the currency. A run for a past month uses the structure that was effective in that month.
Current salary structures
The latest 30 structures:
| Column | Meaning |
|---|---|
| Employees | Employee. |
| Effective | Start date. |
| Base | Base amount and currency. |
| Allowances | Total of the allowances. |
| Status | Active (current) or Inactive (replaced). |
Structures can't be edited or deleted; save a new one to change pay.
Tax and contribution rules
A rule deducts a percentage (and/or a fixed amount) from employees, and can record an employer share, in every payroll run.
-
Optionally click a preset such as Fill Jordan income tax defaults ("Monthly brackets from Income Tax Law 38/2018 after the 9,000 JOD personal exemption. Review before saving; family exemption is not included."). It fills the form for you to review.
-
Fill in the form:
Field Required Rules / defaults Notes Rule name Yes Up to 120 characters. Jurisdiction Yes Up to 10 characters, saved in capitals. Default JO.Must equal the employee's Work country code (for example AE) for the rule to apply. The rules table shows it as a country name.Effective start Yes Default today. Applies to months starting on or after this date. Type No Tax withholding (default), Social contribution, Benefit, Other. Tax is shown as Tax Withholding on payslips; the others as Employee Social Contribution. Basis No Gross pay (default), Base salary, Base + allowances. What the rate is applied to. Employee rate % No 0 to 100, in percent: type 7.5for 7.5%.Deducted from pay. Hidden when you use brackets. Employer rate % No 0 to 100, in percent: type 14.25.Recorded as employer contribution, not deducted. Hidden when you use brackets. Monthly tax brackets (leave empty for a flat rate) No Rows of From (monthly), To (empty = no limit) and Rate %. Click Add bracket for each band (the next row starts where the previous ended) and Remove to delete one. The rate applies to the part of the monthly amount inside each band. -
Click Save rule. You see Created successfully. New rules are active.
Amounts are rounded to 2 decimals. Several active rules for the same jurisdiction all apply. The form shows percentages; SolaHR stores them as fractions.
The rules table
| Column | Meaning |
|---|---|
| Rule name, Jurisdiction, Type | As entered. The jurisdiction is shown as a country name and the type as Tax withholding, Social contribution, Benefit or Other. |
| Employee rate | Preview: the employee amount on a basis of 2,500. |
| Employer rate | Preview: the employer amount on a basis of 2,500. |
| Status | Active or Inactive. Click the badge to switch it; there is no confirmation. |
Rules can't be edited or deleted. To change a rate, switch the old rule off and add a new one.
How rules reach payroll
For each employee whose Work country matches the jurisdiction, active rules effective for the month are applied. The employee share goes into the run's Hours/days deduction column and the payslip's Deductions; the employer share is added to employer contributions. Social security from the employee's compliance profile (Work country JO defaults) is separate and is not a rule here.
Payroll Currencies
Header: Payroll Currencies — Payroll currencies and exchange rates. URL /payroll-currencies.
Use it when an employee's salary structure is in a currency other than the payroll currency. Payroll converts with the locked rate effective on the first day of the month and never fetches a live rate.
Locked exchange rate card (needs the currencies permission):
| Field | Rules | Default |
|---|---|---|
| From | 3 letters. The employee's salary currency. | JOD |
| To | 3 letters. The payroll currency. | USD |
| Effective date | Date. | Today |
| Rate | Greater than 0, up to 8 decimals. 1 From = Rate To. | |
| Source | Up to 50 characters. Blank = manual. |
manual |
Click Save rate (Created successfully). Saving the same pair and date again replaces that rate.
Exchange rates card: Pair (EGP → AED), Date, Rate, Status (Active), 20 per page, newest first. Empty state: No rates yet. Rates can't be deleted or switched off here; add a newer rate instead.
Each payroll row stores the source currency, rate and converted amounts. Payslips and the register show the payroll currency.
Worked example 1: set up the policy
Al Noor Trading LLC pays in dirhams. The owner opens Payroll & Compensation → Payroll Settings, sets Currency AED, keeps 30 days and 8 hours, sets Weekday OT multiplier 1.25, Holiday OT multiplier 1.5, Max advance % 40, Payslip prefix ANT, and clicks Save policy. October payslips are numbered ANT-202610-00001. An employee on AED 9,000 now has a daily rate of 300 and an hourly rate of 37.50; an advance above AED 3,600 is refused.
Worked example 2: a raise, an allowance and an Egyptian salary
- Omar Haddad gets a raise from 1 November 2026. HR saves a structure: Base 13,000, Currency
AED, effective 01/11/2026, allowance Housing 2,000, reason Annual review. His old structure ends on 31 October and shows Inactive; his employee Salary becomes 13,000. - November run: basic salary 13,000, allowances 2,000, gross 15,000 before overtime.
- Sara Khan is paid from Egypt in EGP. HR saves her structure with Base 60,000, Currency
EGP. HR opens/payroll-currenciesand saves FromEGP, ToAED, Effective date 01/11/2026, Rate 0.0755, Source Bank quote. - November run: Sara's base salary is 60,000 × 0.0755 = AED 4,530.00.
- A colleague saves a structure for another employee in
EGPby mistake, with no rate. On opening November payroll that employee can't be calculated. HR saves a new structure inAED(the form now starts with the payroll currency) and recalculates. - For staff working in Jordan (Work country
JO), HR adds a rule JO income tax, jurisdictionJO, type Tax withholding, basis Gross pay, Employee rate %5. The table preview shows 125.00 (5% of 2,500). UAE staff are unaffected.
How it connects
- Payroll Runs: every value here drives the calculation.
- Payslips: prefix, currency, allowances and rule lines.
- Advances: Max advance %.
- Overtime: multipliers and hourly rate.
- Employees: Work country selects tax rules; structures overwrite Salary.
- Settings: Payroll Defaults edits the same core values and holds the lateness deduction rule.
- Attendance review: late, early-leave and overtime amounts use these work days, hours and multipliers.
- Additional Earnings: percentage items use the structure's base (and allowances).
Confirmations and outcome notices
Saving shows Updated successfully (policy, rule switch) or Created successfully (structure, rule, rate). Invalid fields are listed at the top of the page with the first one focused. If the connection drops you see Status not confirmed; reload and check the tables before saving again, because a repeated structure save ends the previous one.
Tips and common problems
| Problem | Cause | Fix |
|---|---|---|
| Payroll won't calculate after saving a structure | The structure's currency has no rate to the payroll currency. | Save the structure again in the payroll currency, or add the rate. |
| Hourly employee paid the hourly rate as a month's salary | Type doesn't change the calculation. | Enter the monthly equivalent in Base. |
| Tax rule not applied | Jurisdiction doesn't match the employee's Work country, rule inactive, or effective start after the month start. | Fix the jurisdiction or date. |
| Rule deducts the wrong amount | The rate fields are percentages: 7.5 means 7.5%. |
Check the preview in the rules table before relying on a rule. |
| Rounding or Currency won't save | Rounding is a list (Round, Floor, Ceil); Currency must exist in Finance's list. | Pick a value from the list; add the currency in Finance first. |
| Currency changed but old runs unchanged | Approved runs keep their figures. | Expected. |
| Can't find Payroll Currencies | No menu item. | Open /payroll-currencies. |