# Employees

**People** → **Employees** (`/m/payroll/employees`) lists the people you pay, with the columns **Number**, **Name**, **Pay basis**, **Started** and **Status**. Filter on **Status** (**Active**, **Inactive**) in the toolbar; a row opens the employee.

An employee is **Active** until the day after their **End date**, then **Inactive**. You never set the status yourself: it follows the dates.

## Add an employee

Click **Add employee**, fill in the form and click **Save**. The form has five boxes:

| Box | Fields |
| --- | --- |
| Identity | Employee number, Initials, First name, Last name, Email, Date of birth, Street and number, Postal code, City, Country |
| Contract | Start date, End date, Contract type, Hours per week |
| Pay | Pay basis, Salary per period or Hourly rate, Holiday pay rate (%) |
| Bank and tax | IBAN, BSN, Wage tax credit |
| Custom fields | The employee fields you defined under [Fields](/docs/payroll/settings#fields) |

Required are **Employee number**, **First name**, **Last name**, **Date of birth**, **Start date**, **IBAN**, **BSN**, and the **Salary per period** or **Hourly rate** that matches the pay basis.

- **Employee number** is your own reference, printed on the payslip, and must be unique within your business. Payslips in a run are numbered in employee number order.
- **Email** is where payslips are sent. You can still change the address per payslip when you send.
- **Country** is a two-letter code, for example `NL`.
- **Date of birth** must be in the past. The payslip shows the statutory minimum wage for the employee's age.
- If you leave the page with unsaved changes, **Discard unsaved changes?** asks first: **Discard changes** or **Keep editing**.

### Contract

- **End date**: leave it empty while the employee is employed. It cannot be before the **Start date**.
- **Contract type**: **Permanent**, **Fixed term**, **On call** or **Other**. It prints on the payslip.
- **Hours per week**: the contract hours. For a salaried employee they decide the hours printed on each payslip (hours per week times the weeks in the period, pro-rated like the salary). A new employee starts with the **Default hours per week** from the payroll settings filled in; change or clear it as needed. A salaried employee without their own hours per week gets no hours on the payslip.

### Pay

- **Pay basis**: **Salary** or **Hourly**.
  - **Salary per period** is the gross salary for one pay period: per month for monthly pay, per four weeks or per week for the other cadences. In a period the employee only partly works (they start or leave in it), the salary is pro-rated by calendar days in service.
  - **Hourly rate** is the gross pay per hour. You enter the hours in each pay run.
- **Holiday pay rate (%)**: leave it empty to use the rate from the payroll settings (8% unless you changed it).

### Bank and tax

- **IBAN**: net pay goes to this account. It is checked when you save; the payslip shows it masked (the first four and last four characters).
- **BSN**: nine digits, checked with the elfproef, so a typo is caught when you save ("The BSN is not valid."). Spaces, dots and dashes are removed. The payslip PDF shows it masked (`*****` and the last four digits).
- **Wage tax credit**: switch it on only for the one employer the employee asked to apply the loonheffingskorting. The payslip prints whether it is applied. Borkol does not calculate tax from it: see [Wage tax and Zvw](/docs/payroll/pay-runs#wage-tax-and-zvw).

## Opening balances

When you start using Borkol in the middle of a year, the employee's year-to-date figures from before go-live are not in Borkol yet. Enter them in the **Opening balances** box beside the form (it appears once the employee is saved), so this year's totals on the payslips and the holiday pay are right.

Opening balances are the year-to-date amounts paid before you started payroll here. They are not a holiday balance carried over from an earlier year.

The box starts on the current year. Per year you enter:

| Field | What to enter |
| --- | --- |
| Gross wages | Gross pay so far this year |
| Wage tax | Wage tax withheld so far this year |
| Net wages | Net pay so far this year |
| Holiday pay reserved | Holiday pay reserved so far this year |
| Holiday pay paid | Holiday pay paid out so far this year |
| Hours | Hours paid so far this year |

Click **Save** under the year (**Opening balance 2026 saved**). For another year, type it under **Year** and click **Add year**.

The year-to-date block of a payslip adds the opening balance of the payslip's year to every earlier finalized payslip of that year. The holiday pay still owed is counted across years: the reserved minus paid amounts of the opening balances, plus everything reserved and paid on finalized payslips since. See [Holiday pay](/docs/payroll/pay-runs#holiday-pay).

## End an employment or delete an employee

From the **⋯** menu at the end of a row:

- **End employment** sets the **End date** to today, after **End the employment of {name}?**. The employee is left out of pay runs for later periods; earlier payslips stay as they are. For a different end date, open the employee and change **End date**. The payslip of the period the employment ends in pays out the holiday pay still owed.
- **Delete** removes the employee and their opening balances for good, after **Delete {name}?**. It is not available once the employee has payslips ("This employee has payslips. End the employment instead of deleting."): end the employment instead.

Changes to an employee (a new salary, a new rate) reach a draft pay run the next time it is recalculated or finalized. Finalized payslips never change: they print the employee as they were at finalize.
