Esc

↑↓ move↵ openIndex · Pagefind
Accounting / Payroll

Payroll

Prepare company pay runs with time entry and independent approval.

Preview

Partly in the app today. Items marked Planned are not built yet.

On this page

Payroll is a company Accounting workspace with separate payroll permissions. Open Accounting > Payroll to maintain payroll setup and employees, then prepare a pay run.

An authorized user can link an employee to an active company timecard user, import eligible approved time, or enter and correct manual run time. Review and calculate the run before a different authorized reviewer approves it. Changes to material inputs require recalculation or a fresh review; contributors cannot approve their own inputs.

Posting and payment-file export validate the approved inputs. If relevant accounts, entity, currency or bank instructions have changed, the workflow stops for review rather than producing an unapproved result. A payment file is an export, not a transfer of funds.

Run types, earnings and rates

A pay group has one regular run per period. Off-cycle, correction and final runs can share a period with it, for example a bonus run. Add bonus, PTO or holiday lines to a run with a payroll code. An earning code’s tax treatment is regular, supplemental (federal income tax withheld at the flat supplemental rate) or nontaxable. Mark a production or safety bonus as counting in the regular rate and it raises that period’s overtime: a $500 bonus in a 50-hour week adds $50 of overtime pay. A bonus line on a job is taxed in the job’s state and city and rated for workers’ compensation there.

A salaried employee’s time lines carry the salary by hours, so jobs get the hours and a salaried foreman on a prevailing wage job appears on the certified payroll; without time, the salary follows the fixed allocation. Mark a salaried employee non-exempt and hours over 40 pay overtime at one and a half times the weekly salary divided by 40. An approved change to the hourly rate, salary, pay type, exemption, classification or union local can carry an effective date: time before that date keeps the previous values, and a salary raise effective next month leaves this month’s run alone. Each time line can name its work state and a workers’ compensation class, and a pay group can post to its own entity.

When that entity has its own EIN, it is the employer of record for the pay group’s checks. A pay group routed to an entity other than the default one must have that entity’s EIN on file (enter the payroll setup EIN when it files under the company), or the run is refused at calculation. Social security, Medicare, FUTA and SUTA wage bases start over for each employer, so an employee moved between two companies gets two W-2s. Form 941, Form 940, the deposit calendar, W-3 and state unemployment reports run per employer, the EFW2 file has one employer record per EIN, and each employer entity can have its own state account numbers and direct deposit bank.

State taxes and stale year-to-date

The built-in tax engine withholds and accrues state disability and paid family and medical leave programs (for example NJ TDI and FLI, NY DBL and PFL, WA, MA and CT PFML) for each work state, up to each program’s annual wage base. Where a program’s rate depends on employer size, or no rate is loaded, enter the rate you confirmed in payroll setup under Confirmed SDI/PFML rates; until then the run shows a blocking exception. A work state without a SUTA rate, or a taxed city without a local rate, also blocks approval; a different reviewer can override either with a reason. The Accounting home page lists these setup gaps, and from 60 days before a new year also the rates that year’s first payrolls need; for example, Maryland FAMLI starts January 1, 2027 at 0.9% (half employee, half employer), and the employer share is waived under 15 employees, so Maryland employers confirm it.

Tax coverage. Federal withholding uses the 2026 tables; pay dates in a year whose federal tables are not loaded are refused, never withheld on last year’s figures. Built-in state income tax tables cover California and Pennsylvania (2026), and states without a wage income tax need nothing. Any other income-tax state needs a flat rate in payroll setup or a registered tax provider; a run that uses a flat rate shows an approximate withholding notice, because a flat rate ignores the state’s brackets, allowances and standard deduction. When a new year’s federal tables are loaded, the Accounting home page lists any built-in state table that is still for the prior year, and those employees’ checks do not calculate until it is updated.

Employees whose work is localized in New Jersey, Pennsylvania or Alaska also have state unemployment withheld (New Jersey 0.425% up to the $44,800 wage base in 2026 and $46,400 in 2027, Pennsylvania 0.07% of all wages, Alaska 0.5% up to $54,200 in 2026). It accrues with the SUTA liability and appears on the state UI report and wage file. If no rate is loaded for the pay date, the check stops instead of withholding nothing.

A bonus or other earning coded to a job is taxed in the job site’s state and included in workers’ compensation payroll there. Mark a payroll code as a nondiscretionary bonus to include it in the overtime regular rate: the bonus is spread over the period’s workweeks by hours worked and raises each week’s overtime premium. A salaried employee with time lines has the salary allocated to those jobs by hours, so the hours appear in job cost, workers’ compensation and certified payroll. A salaried employee marked non-exempt also earns overtime at 1.5 times the salary divided by 40 for hours over 40 in a week. Salary is prorated by weekdays employed when an employee is hired or terminated during the period.

Wage bases such as Social Security, FUTA and SUTA are read when a run is calculated. If another run for the same employees and tax year is approved after that, approval stops with “Recalculate: YTD changed”; recalculate the run and approve it again.

Liabilities, checks and year-end

On a calculated or posted run, Check details opens each check’s earnings, employee and employer taxes, deductions and calculation trace, with a Pay stub PDF (SSN and deposit account show only their last four digits). Payroll setup has forms to add workers’ comp classes, prevailing wage determinations, union locals and union rates; union fringe benefit lines are added through the API, where each fund’s plan (retirement, health or other) tells the W-2 whether to check box 13. An employer fringe without a plan blocks the EFW2 file until it is classified or a 401(k) contribution settles box 13. The W-2 report offers an EFW2 download for the SSA once you enter your BSO user id and contact details; it requires permission to view payroll personal data and is audited.

Remit a payroll liability as a bank payment or as an AP bill coded to the liability. A bank payment needs permission to release payments and shows in the bank account’s register; at or above the journal approval threshold it waits until a different person releases it. A remittance cannot exceed the open balance, and a repeated request returns the first one. The deposit calendar lists each 941 deposit due date for a quarter. Paper checks take their numbers from the bank account’s shared check register, the same sequence banking and AP checks use, and they print only on the bank account linked to the GL account the run credited for net pay. Form 940 applies the year’s FUTA credit reduction states on Schedule A. Until the Department of Labor publishes the final list after November 10, a 940 with wages in a listed state (for 2026, California or the Virgin Islands) stops with “credit reduction provisional”; one payroll user can request an override with a reason and a different one approve it through the API. Year-end output includes employee W-2 PDFs, W-3 totals and a state unemployment wage file, alongside the EFW2 file.

The direct deposit file is generated once per run and each generation is recorded. If the bank did not receive it, re-send it with a reason; a re-send needs permission to release payments and carries a new file id so the bank treats it as a separate file. The run warns when the pay date is fewer than two banking days away. The file is refused when the payroll ACH origin account is not the bank account linked to the run’s net-pay GL account.

A single check on a posted run can be voided on its own, for example a lost check: only that check’s journal lines and job hours are reversed, and you can reissue it on a correction run that is calculated and approved as usual. A lost or damaged paper check can instead be reissued under the next check number on the same bank account: the old number is voided in the check register and nothing changes in the journal, wages or taxes. Net pay posts one cash line per paper check and one for the direct deposit batch, so each clears on its own in bank reconciliation. A handwritten check is entered as a manual check with its taxes as written and approved by a second person. At month end, the payroll accrual posts approved but unpaid timecard wages to the jobs on the last day of the month and reverses them on the first.

Voiding a posted run after its quarter ended keeps it in its original quarter’s 941 and adds negative amounts in the quarter of the void. Mark quarters and years as filed once you file them: a void cannot be dated into a filed period, and voiding a run from a filed period flags that a 941-X or W-2c is needed. Certified payroll weeks follow the pay group’s workweek, so semimonthly runs never repeat a week. The pay stub lists hours at each rate, salary, extra earnings and taxable per diem, year-to-date totals and the employer address.

To see an employee’s full SSN or bank numbers, enter a reason and choose Reveal. The reason is kept in the audit trail and the values hide again after a short time.

Payroll SSNs and bank numbers are encrypted and tied to their own employee record, so a value copied onto another record does not decrypt. An administrator can re-encrypt them under the current key once no run is waiting in approved status. The account map is captured at approval, so later setup changes do not alter how an approved run ties out.

Historical runs without sufficient approval evidence may need to be voided and recreated. Payroll tax, filing and agency acceptance depend on configured data and external requirements; independently verify output before filing or payment.

Keep exploring

Related across os.construction

Run it on your own project.

Start a 14-day free trial. Want a say in what ships next? Join the founding program.

Your role (optional)

14-day free trial. Pricing for paid plans isn't set yet. Talk to us. Already have an account? Sign in →

Ask the OS

Reading this page

Ask anything about this page. Answers use what you're reading as context.

Suggested

    AI · may be imperfect · sample data where shown

    Open file