Skip to content
BokapsysDocs
Sign in

Run payroll

A pay run is one payroll for one pay period. You create it, Bokapsys works out every employee’s pay and taxes, you check the result, approve it, and post it so it is recorded in your books. After you have paid your people through your own bank, you record how and when they were paid.

This page walks through every stage, explains every field and button, shows a worked example of a calculated run, and lists the warnings and errors you may see along the way. It is US payroll: the taxes are US federal, state and local taxes.

  1. 1Draft
  2. 2Review
  3. 3Approved
  4. 4Posted
  5. 5Paid
The main stages of a pay run. A run can also be cancelled before it is posted, or reversed after it is posted.
Word What it means
Pay period The stretch of days the pay covers, for example 1 to 14 June.
Pay date The day your employees receive the money. Taxes are worked out for the calendar year the pay date falls in.
Gross pay Pay before anything is taken off.
Net pay Take-home pay: gross pay minus employee taxes and deductions.
Employee tax Tax taken out of the employee’s pay: federal income tax, the employee’s Social Security and Medicare, state and local income tax.
Employer tax Tax you pay on top of wages: your Social Security and Medicare, federal unemployment tax (FUTA) and state unemployment tax (SUI).
Payline One line of the calculation for one employee, such as “Salary” or “Medicare”.
Payslip The pay statement for one employee, also called a pay stub.
Post Record in your general ledger, so the run shows up in your financial reports.

Use this checklist. The Payroll Dashboard shows the same items as a setup checklist, and the New pay run button there stays greyed out until the blocking steps are done; see Set up payroll.

  • Your role lets you create pay runs. To approve, post and record payment, your role needs those permissions too. See Team and roles.
  • Pay items are set up. On Payroll → Compensation, the standard US items exist. If not, click Set up US payroll there. See Compensation.
  • Each employee is Active and has a pay rate (salary or hourly rate) that applies on the pay date. An employee without one is left out of the run. See Employees.
  • Each employee has a Form W-4 on file (filing status and any extras). Without one, Bokapsys treats them as single with no adjustments. See Withholding.
  • You have a pay schedule if you pay on a regular cycle. See Pay schedules.
  • Hourly staff have their hours logged for the period, if you track time. See Time and leave.
  • You are registered in each state you employ people, with your unemployment rate and wage base entered, under Tax → Tax Setup. See Tax setup.
  • If you ran payroll elsewhere earlier this year, your year-to-date figures are in Bokapsys before your first run. See Switching providers.
  • The month of the pay date is open in your books. You cannot post into a closed period.
  1. In the sidebar, open Payroll → Run Payroll. The page opens with a list of your runs (or No pay runs yet if this is your first).
  2. Click New pay run (top right). A window titled New pay run opens.
  3. Choose a Pay schedule. Bokapsys fills in the dates of the next period on that schedule that does not have a regular run yet. Check them, or type your own.
  4. Choose the Run type (see below).
  5. Click Create draft. A message Pay run created appears with the run’s number, for example PR-00001, and the run opens with the status Draft.
Field What it means Required? Example
Pay schedule Which of your pay schedules this run belongs to. When you pick one, the dates are filled in, and only employees on that schedule (or on no schedule) are included. Choose No schedule (one-off run) to include every active employee who has a pay rate. No Every other Friday
Period start The first day of work this pay covers. Yes 1 June 2026
Period end The last day of work this pay covers. It can’t be before the start. Hourly employees’ logged hours are counted between the start and end dates. Yes 14 June 2026
Pay date The day employees are paid. Also the date the run is recorded in your books, and the date that decides the tax year. It can’t be before the period starts. Yes 19 June 2026
Run type What kind of run this is. See the next table. Yes (defaults to Regular) Regular

Dates show in your workspace’s date format.

Only a Regular run pays everyone’s salary and hours. Every other type pays only the amounts you enter on the run.

Run type What it pays How federal income tax is worked out
Regular Everyone’s usual pay for the period: salary, hours, overtime, benefits and deductions. From the IRS percentage tables and each employee’s W-4.
Off-cycle Only what you enter, for the people you choose, outside the normal schedule. W-4 method, except earnings named as a bonus, commission, severance and similar, which use the flat 22% rate.
Bonus Only the bonuses you enter. The IRS flat rate for supplemental wages, 22% for 2026, plus any extra withholding on the employee’s W-4.
Correction Only the corrections you enter, to fix an earlier payroll. As for Off-cycle.
Back pay Only the back pay you enter, for pay owed from an earlier period. Flat 22%, as for a Bonus.
Final pay Only what you enter for someone who is leaving, such as unpaid wages, holiday owed or severance. People who have already left can be chosen. As for Off-cycle.

An employee who is exempt on their W-4 stays exempt on every run type. Runs other than Regular skip fixed benefit, HSA, FSA and fixed 401(k) deductions, but still take percentage 401(k) contributions and garnishments.

Bokapsys stops you creating two runs that would both pay everyone’s salary for the same days. If a Regular run already covers part of the period on the same schedule (or either run has no schedule), creating another fails with a message such as Pay run PR-00004 already pays everyone’s salary for this period. Open it, or cancel it before starting another. To pay something extra, use an off-cycle, bonus or correction run. Cancelled and reversed runs don’t count.

When a run is not Regular and is still a Draft, the run page shows Earnings for this run with a line explaining what the run pays.

  1. In Employee, choose the person.
  2. In Pay for, choose the earning (for example Salary for back pay or final wages, or an earning pay item of your own such as a bonus).
  3. Enter the Amount, for example 500.00, and click Add. You see Earnings saved: “Calculate the run to include them.”
  4. Repeat for each amount. To remove one, click the red bin icon on its row.
  5. Click Calculate when everything is in.

If you calculate before adding anything, you see Nobody has an amount entered for this run yet. Add the earnings for this run first.

  1. Open the run. The top of the page shows the pay date, the period it covers and the run type, and a box Not worked out yet explains the next step.
  2. Read the Payroll Calculation Notice box. It reminds you that amounts come from the tax rules in effect on the pay date, that posted payslips are a fixed record of the calculation, and that you should review every run before approving it.
  3. Click Calculate. While it works, the button reads Calculating…. When it finishes you see Run calculated and the status changes to Review.
  4. Look at the summary at the top: Net, Status, Employees, Gross, Employee tax and Employer tax.
  5. Under Pay and payslips, each employee has a row with Gross, Employee taxes, Deductions, Net and Employer cost.
  6. Click an employee’s name to see every line that makes up their pay, grouped under Earnings, Employee taxes, Deductions, Employer costs and For information only, with hours and rates for hourly lines. Lines that are zero are hidden; click Show more lines to see them.
  7. If an amber box titled Some tax could not be worked out or Check these figures appears, read it. See The warnings box.

You can click Recalculate as often as you like while the run is a Draft, Failed, in Review or Approved. Recalculating an approved run sends it back to Review.

On a Regular run, Bokapsys includes every employee who:

  • has the status Active, and
  • has a pay rate that applies on the pay date, and
  • if you chose a pay schedule, is on that schedule or on no schedule.

If the Employees count is lower than you expected, check those three things for the missing person, fix them, and recalculate. On other run types, only the people you entered amounts for are included.

  • Salaried employees get their annual salary divided by the number of pay periods in a year for their schedule: 52 for weekly, 26 for every two weeks, and so on.
  • Hourly employees are paid for the hours logged for the period. Regular hours are paid at their rate, overtime at 1.5 times, double time at 2 times, and paid time off (vacation, sick, holiday and similar) at their rate. If no regular hours are logged, Bokapsys pays their Standard weekly hours for the period, less any paid time off logged, and the warnings box tells you it did. See Time and leave.
  • Pay items of your own that you ticked on the employee are added or taken off.
  • Benefit, retirement and HSA/FSA deductions you have set up are taken off, and stop once a yearly IRS limit is reached. See Benefits.
  • Garnishments (court-ordered deductions) you have added under Payroll → Payments → Garnishments are taken off in priority order, within the federal limits. See Paying employees.
  • No deduction takes net pay below zero. A deduction bigger than what is left is only partly taken, and the warnings box says so.
  • Year-to-date limits are respected: Social Security stops once an employee’s wages for the calendar year reach the wage base ($184,500 for 2026), FUTA applies only to the first $7,000 of each employee’s wages in 2026, and state unemployment tax stops at the wage base you entered for that state.

Maria is a salaried employee in Texas on an every-two-weeks schedule. Her salary is $52,000 a year. Her W-4 says Single, with nothing else filled in. Your Texas unemployment registration in Tax setup says a rate of 2.7% and a wage base of $9,000 (example figures: use the ones on your own state notice). This is her first pay of 2026.

Payline Amount How it is worked out
Salary $2,000.00 $52,000 ÷ 26 pay periods
Federal Withholding −$156.15 2026 IRS percentage tables for a single filer, every two weeks
Social Security −$124.00 6.2% of $2,000
Medicare −$29.00 1.45% of $2,000
State Withholding nothing Texas has no state income tax
Net pay $1,690.85 $2,000.00 − $309.15

What you pay on top, as the employer:

Payline Amount How it is worked out
Social Security (Employer) $124.00 6.2% of $2,000
Medicare (Employer) $29.00 1.45% of $2,000
FUTA $12.00 0.6% of $2,000 (she is under the $7,000 limit)
State Unemployment (Employer) $54.00 2.7% of $2,000 (she is under the $9,000 wage base)

The summary for this run would read: Employees 1, Gross $2,000.00, Net $1,690.85, Employee tax $309.15, Employer tax $219.00. Payroll costs you $2,219.00 in total.

If the same $2,000 were paid on a Bonus run, federal income tax would be 22% of $2,000, which is $440.00, instead of $156.15.

A pay run never guesses a tax figure. When Bokapsys cannot work something out, it leaves it out of the calculation and lists it in an amber box. The box is titled Some tax could not be worked out when something was left out, or Check these figures when everything was worked out but some of it needs checking. Each warning names the employees it applies to; click Show more if there are more than three.

The warnings are saved with the run, so you can see them again later.

The message says What it means How to fix it
Bokapsys does not yet hold state withholding tables, so no state income tax was calculated. The employee’s state has an income tax but Bokapsys does not calculate it from the state’s tables. No state income tax was taken off. Enter the figure on the employee’s record under State and local tax withholding. See State coverage.
The state figures Bokapsys holds have not been checked against the state’s own current publication… State tax was calculated, but from figures not yet checked against that state’s current published tables. Compare the amount with your state’s tables. If it differs, enter the correct amount or rate for that employee.
State A and state B have a reciprocity agreement, but this employee has no exemption certificate on file… The employee lives in one state and works in another; without a certificate, tax goes to the work state. If they gave you a certificate, tick Certificate on file on their record. See Withholding.
No state unemployment tax was calculated for state… You have no unemployment registration for the employee’s work state, or it has no rate or no taxable wage base. Open Tax → Tax Setup and complete the state unemployment registration from your state notice. See Tax setup.
Program was not calculated, because Bokapsys does not hold its rates. The work state runs a state disability or paid family leave program. Work out the amounts from the state’s figures and add them as fixed pay items.
No regular hours were logged for name, so their standard … regular hours were paid alongside the hours that were logged. Only overtime or time off was logged for an hourly employee. If that is wrong, log their regular hours and recalculate.
… hours were logged for name, but Bokapsys has no pay item for that kind of hours, so nothing was paid for them. Hours of a kind no pay item pays (such as on-call) were logged. Pay them on an off-cycle run, or log them as regular hours and recalculate.
name has … hours of approved paid leave in this period, but only … hours of time off were logged… Approved leave was not on the timesheet. Add the hours as time off and recalculate.
State income tax on name’s bonus was worked out with the regular withholding tables. Some states set their own flat rate for bonuses. Check it, and enter a figure for the employee if it differs.
… has reached this year’s … contribution limit, so nothing more was deducted. A retirement deferral hit the IRS yearly limit. Nothing to fix.
… was more than this employee had left in this pay, so only part of it was deducted. A deduction would have taken net pay below zero. Collect the rest another way or adjust the pay item.
Taxes, garnishments and pre-tax deductions for this employee are more than their pay, so their net pay is below zero. Even after limiting deductions, taxes exceed pay. Review the employee’s pay items and withholding before posting.

A run with warnings can still be approved and posted. If you fix the cause first, click Recalculate so the new figures are used.

If someone logs or changes hours in the pay period after the run was calculated, the run shows Hours changed after this run was calculated with a Recalculate button. You can’t approve or post the run until you recalculate it, so the pay always matches the timesheets.

  1. Check the figures against what you expected. Compare with the last payroll if you have one.
  2. Click Approve. You see Run approved and the status changes to Approved.

If your workspace requires a second person to approve payroll, the person who created the run can’t also approve or post it. Ask a colleague with approval rights.

  1. On an approved run, click Post to GL. (“GL” is your general ledger, the full record of your accounts.)
  2. You see Run posted and the status changes to Posted.
  3. A PDF button appears next to each employee in Pay and payslips, to download their payslip.

Posting does four things:

  • It records the run in your general ledger on the pay date: wages and employer taxes as expenses, and the taxes, deductions and net pay you now owe as liabilities. See Payroll in your books.
  • It creates a payslip for each employee. See Paying employees.
  • It adds the run to each employee’s year-to-date totals for the calendar year of the pay date. These totals drive the Social Security, FUTA and state unemployment limits on later runs, and your Forms 941, 940 and W-2.
  • It makes the run available for the direct-deposit bank file and for your tax deposits and filings.

Once a run that covers someone’s hours is posted, those hours are locked and can no longer be changed.

Bokapsys does not move money. You pay your people through your own bank, usually by uploading the direct-deposit bank file. See Paying employees.

When the money has gone out:

  1. Open the posted run and click Record payment. The Record payment window opens and shows the run’s net pay.
  2. In Paid on, enter the date the money left your account. It defaults to the pay date.
  3. In Paid from, choose the bank account you paid from (one of the cash accounts in your chart of accounts).
  4. In How you paid, choose Direct deposit file (you uploaded the bank file), Checks (you paid everyone by check) or Bank transfers (you paid everyone from your bank yourself).
  5. Click Record payment. You see Payment recorded and the status changes to Paid. Everyone who can view pay runs gets a notification.

Recording payment records the money leaving your bank account in your books on the date you entered. With Direct deposit file, the people who were in the bank file are recorded as paid by direct deposit, and anyone who was not in it is recorded as paid outside Bokapsys. With Checks, each paycheck then appears under Payroll → Payments → Checks for you to record its number. The run page then says who was paid how, on what date and from which account.

See Payroll in your books before you use it, because the same withdrawal may also arrive from your bank statements.

What you can do depends on how far the run has got.

The run is What to do
Draft, Failed, Review or Approved Fix the cause (for example the pay rate or W-4) and click Recalculate, or click Cancel run to set it aside. Nothing has reached your books yet.
Posted (not yet paid) Click Reverse to undo it in your books, then create a new run.
Paid It can no longer be reversed, because everyone has their money. Click Start a correction run to pay or take back the difference on a Correction run.

Click Cancel run and confirm Cancel run. The run is set aside with the status Cancelled, nobody is paid from it, and it no longer stops you creating another run for the same period.

  1. Open the posted run and click Reverse.
  2. A window asks Reverse pay run PR-00001? and explains that it undoes the run in your books.
  3. Type a Reason, for example Wrong pay period.
  4. Click Reverse. You see Run reversed and the status changes to Reversed.

What reversing does:

  • It adds opposite entries for everything the run posted, dated today (in your workspace’s timezone), not the original pay date. Today’s month must be open in your books.
  • It takes the run out of each employee’s year-to-date totals for that year, and voids its payslips.
  • It does not get money back from anyone. If employees were already paid, sort that out with them and your bank, and record the run as paid instead of reversing it.
  • A reversed run stays in the list with the status Reversed. To pay the period correctly, create a new pay run.

If you try to reverse a run that has been paid, you see Employees on this run have already been paid, so it cannot be reversed. Correct it with a correction run instead.

On a paid run, click Start a correction run. The New pay run window opens with Correction chosen and the same period filled in. Create it, enter the amounts to correct, then calculate, approve and post it like any other run.

Status What it means What you can do
Draft Created, not calculated yet. Calculate, Cancel run
Calculating Bokapsys is working it out. Wait.
Failed The calculation stopped with an error. Fix the cause in the message, then Recalculate, or Cancel run
Review Calculated. Check the figures. Approve, Recalculate, Cancel run
Approved Checked and approved. Post to GL, Recalculate, Cancel run
Posted Recorded in your books; payslips exist. Record payment, Download bank file, Reverse
Paid Payment recorded. Download bank file (if paid by direct deposit), Start a correction run
Cancelled Set aside before posting. Nothing.
Reversed Undone in your books. Nothing. Create a new run if needed.

Use the Status filter at the top of the Run Payroll list to show only runs in one status. The list shows each run’s Net, Pay date, Period, Type, Employees and Gross.

  • The run’s status reads Posted (or Paid).
  • The Net in the summary equals the sum of the employees’ Net under Pay and payslips.
  • In General Ledger, you can find entries described as Payroll PR-00001 - … on the pay date, and the debits equal the credits.
  • The Payroll Dashboard reflects the new run.
Message What it means Fix
Enter the first day of the pay period (and similar) A date is empty. Fill in all three dates.
Pay run … already pays everyone’s salary for this period. A Regular run already covers these dates. Open that run, or use an Off-cycle, Bonus or Correction run.
No pay components defined. Use “Set up US payroll”… There are no pay items yet. Go to Payroll → Compensation and click Set up US payroll.
Nobody could be paid on this run. No employee is Active with a pay rate on the pay date, or everyone is on another schedule. The message names each person and why. Check your employees’ status, pay rates and schedules.
Hours in this pay period were logged or changed after the run was calculated… Timesheets changed. Click Recalculate.
Cannot post payroll: period YYYY-MM is closed. The month of the pay date is closed in your books. Reopen that month, or use a pay date in an open month.
Payroll control account “…” is not configured or Account … is not in this workspace’s chart of accounts One of the accounts payroll posts to is missing from your chart of accounts. Restore the account in Chart of Accounts, or contact Bokapsys support. See Payroll in your books.
Maker-checker: … The user who created this pay run cannot also approve / post it. Your workspace requires a second person to approve and post payroll. Ask a colleague with approval rights.