---
title: Payroll Walkthrough
description: "A step-by-step tour of paid holidays, manager approval of leave, pay plans, benefits and labor burden, and posting a pay run to the G/L, with what you should see at each step."
url: "https://theasst.com/docs/payroll-walkthrough/"
updated: "2026-10-30"
category: Human Resources (HR)
---

# Payroll Walkthrough

This is a guided tour of paid holidays, manager approval of leave, pay plans, benefits and labor burden, and posting a pay run to the G/L. Follow the steps in order on a company that has employees with hours (the demo company works well); each step says what you should see. It builds on [Pay Runs](https://theasst.com/docs/pay-runs/), [Pay Codes](https://theasst.com/docs/pay-codes-setup/) and [Leave Requests](https://theasst.com/docs/leave-requests/).

**Use a draft pay run.** Steps 1, 4 and 5 change a pay run's lines, so work on a run in Draft status (**HR/Payroll > Pay Runs** lists them). Approving a run locks its period; you can **Reopen** it afterwards (unless it has been exported).

## 1. Paid holidays

1. Go to **Setup > HR > Company Holidays**.
2. Click **Add a holiday**, enter a date inside your draft pay run's period, a name, and **8** in **Paid hours** (it shows as 8.00). Click **Save Changes**.
3. Open the pay run and click **Recalculate**.

![Company Holidays page with a Paid hours column](https://theasst.com/wp-content/uploads/2026/10/payroll-company-holidays.webp)

**You should see:** every *hourly* employee gets a line on the *Holiday* pay code for 8.000 hours at their hourly rate, with the note "Holiday: <name>". Salaried employees get nothing extra (they are already paid). A holiday with 0 paid hours changes nothing. If you have no active Holiday pay code the run warns you instead.

## 2. Unpaid leave

Hours on a pay code in the **Unpaid leave** category show on the pay run with a rate and amount of $0.00, and the [Payroll Summary](https://theasst.com/docs/payroll-summary/) leaves them out of an hourly employee's gross pay.

## 3. Managers and leave approval

1. Open an employee's record and its **Payroll** tab. Pick a person in the new **Manager** list and save. Reopen the tab: the manager is still there.
2. Give that manager the **Personnel Time View** permission (Users and Permissions) so **Leave Requests** appears in their menu.
3. Sign in as the manager. **Leave Requests** now shows requests from the people they manage, with **Approve** and **Deny** buttons. They can request leave for those people, cancel their requests, and request for themselves when self-service is on, but they can never approve their own.
4. Payroll administrators still see and decide every request.

![The Manager list on an employee's Payroll tab](https://theasst.com/wp-content/uploads/2026/10/payroll-manager-field.webp)

![Leave Requests with pending requests and Approve, Deny and Cancel buttons](https://theasst.com/wp-content/uploads/2026/10/payroll-leave-requests.webp)

**You should also see:** when a request is approved or denied, the employee is emailed the decision (and any note) at the first email address on their record. If they have no address, or no mail server is set up, the decision still goes through. (Demo companies only send email to the address they signed up with.)

## 4. Pay plans

1. Go to **Setup > HR > Pay Plans** and click **Add a pay plan**.
2. Name it "Sales Commission", kind **Commission**, based on **Invoiced revenue**, rates apply **By tier**, paid on the **Commission** pay code.
3. Rates: From **0** at **2** (percent); click **Add a rate**: From **50000** at **3**.
4. Click **Add a person** twice and choose two salespeople (people who appear on the [Sales by Salesperson](https://theasst.com/docs/sales-by-salesperson/) report). Click **Save**.
5. Reopen the plan and click **Preview...**, set the dates to your pay run's period and click **Show**.

![The Pay Plans list showing the new plan](https://theasst.com/wp-content/uploads/2026/10/payroll-pay-plans-list.webp)

![The Pay Plan dialog filled in for a tiered commission](https://theasst.com/wp-content/uploads/2026/10/payroll-pay-plan-dialog.webp)

![The Preview Pay Plan dialog showing what each person would be paid](https://theasst.com/wp-content/uploads/2026/10/payroll-pay-plan-preview.webp)

**Check the math:** for sales credit of $80,277.89 the plan should pay 2% of the first $50,000 ($1,000.00) plus 3% of the rest ($908.34) = **$1,908.34**. Compare each person's "Sales credit" in the preview with the same dates on Sales by Salesperson: they should match. Change *Rates apply* to retroactive and preview again: the amount becomes 3% of the whole credit.

Now open the pay run and click **Recalculate**: each person gets a *Commission* line for the same amount as the preview, and their gross rises by it.

## 5. Benefits and labor burden

1. Go to **Setup > HR > Benefits & Burden**. Type **10** as the labor burden and click **Save**.
2. Click **Add a benefit**: a salesperson, "Health insurance", a flat amount of **150.00** each pay run. Add another for someone else: "401k match", **a percent of gross wages**, **3**.
3. Open the pay run and click **Recalculate**.

![Benefits and Labor Burden page](https://theasst.com/wp-content/uploads/2026/10/payroll-benefits.webp)

**You should see:** under each employee a grey line "Employer cost: Employer taxes & insurance 10.000% of gross" for 10% of that person's gross (commission and holiday pay included), plus the benefits. At the bottom: **Total** (gross pay, unchanged by employer costs), **Employer costs**, and **Loaded cost of labor** (the two added together). Add a line by hand to someone: their employer costs update straight away.

![A pay run showing a person's hours, Holiday and Commission lines and grey employer cost lines](https://theasst.com/wp-content/uploads/2026/10/payroll-pay-run-person.webp)

![The bottom of a pay run: Total, Employer costs and Loaded cost of labor](https://theasst.com/wp-content/uploads/2026/10/payroll-pay-run-totals.webp)

## 6. Post the pay run to the G/L

1. On the pay run, click **G/L Accounts...**. Choose a **Wages expense** account, a **Payroll liabilities** account (different), and, to include employer costs, an **Employer costs expense** account. Save.
2. Click **Approve (lock the period)**, then **Post to G/L**.

![The Payroll G/L Accounts dialog with wages expense, payroll liabilities and employer costs expense lists](https://theasst.com/wp-content/uploads/2026/10/payroll-pay-run-gl-accounts.webp)

**You should see:** "The pay run has been posted to the G/L (entry #...)" and, if you chose an employer costs account, the employer costs total. Open the entry in the General Ledger: wages are debited one line per pay code (Regular, Overtime, Holiday, Commission ...), the payroll liabilities account is credited for the gross total, and the employer costs are debited with their own credit to payroll liabilities. Debits equal credits. The entry's source reads "Pay Run".

- **Void G/L entry** posts a reversing entry; you can then post the run again.
- A run can only be posted once at a time, and only after it is approved.
- If the check date is in a period that doesn't exist yet, you are offered to create the fiscal periods.

Related: [Pay Plans](https://theasst.com/docs/pay-plans/), [Benefits and Labor Burden](https://theasst.com/docs/benefits-and-labor-burden/).
