Skip to main content
Loading...
Help Center / Apps & Extensions / Payroll Prep App Overview

Payroll Prep App Overview

Payroll Prep

1. What it is

Payroll Prep turns approved timesheets into per-employee gross-pay reports — regular hours, overtime, and shift-differential premium pay — for any pay period you choose. Reports export to CSV, PDF, or JSON so you can feed them into your payroll system or keep them as an internal record.

  • Enablement: Payroll Prep is a licensed app. An admin enables it from Admin → Apps → All Apps; it is not turned on by default.
  • What it is not: This is a gross-pay engine, not a full payroll processor. It does not calculate tax withholding, net pay, direct deposit, or file tax forms. If you already run payroll through ADP, Gusto, Workday, or another provider, use Payroll Connect instead — that app bridges MangoApps to your existing provider.

2. Standing it up

  1. Go to Admin → Apps → All Apps and enable Payroll Prep. The app requires a license and is not visible in the public app directory — it appears only for businesses that have it explicitly licensed.
  2. Configure pay periods. Go to Admin → General Settings → Payroll Settings. Choose a pay period type (Weekly, Bi-weekly, Semi-monthly, or Monthly) and set the pay day offset — the number of days after a period ends when payment is processed. These settings are shared with Timesheets and Attendance and live outside any single app.
  3. Verify employee hourly rates. Payroll Prep reads each employee’s hourly rate from their employee record. If no rate is set, the line on the report page and in the PDF is marked No rate on file (its rate and pay show a dash); the CSV and JSON keep a 0.00 rate for processors that import them and flag the line — the CSV’s Rate Status column, and rate_on_file: false in the JSON — making the gap visible rather than using an invented default. Set rates in the employee’s compensation record before generating reports.
  4. Ensure timesheets are approved. The report engine only picks up timesheets with an Approved status whose date range overlaps the report’s pay period. Pending or rejected timesheets are excluded — approve them first.
  5. Grant access. Admins see all reports by default. Managers and users with the Payroll permission (granted through the hierarchical permission system) see only the employees their own payroll access covers — usually the locations they have access to and their reporting line. Payroll Prep’s App admins manage its settings without holding a global admin role and, like everyone else, see pay only for the people their own payroll access covers; Payroll Prep tells one who covers no one so, instead of generating an empty report. Payroll Prep appears in the app launcher only for the people it admits; publishing it (and any access groups) still decides which employees have the Payroll Agent in Ask AI for their own pay.
  6. (Optional) Enable the Payroll Agent. Go to Apps → Payroll Prep → Settings and turn on Enable Payroll Agent. This lets employees ask the AI assistant about their own pay history, year-to-date earnings, and pay schedule via Ask AI. The agent is enabled by default when the app is set up. If the Hide Pay Amounts policy is on, it answers no pay questions for people pay is hidden from (administrators are exempt) and can only tell them their pay schedule and, where your organization issues one, list their Form 1095-C.

Silent-until-paired: The app is enabled, but pay periods are not configured. The report form defaults to the current calendar month if no pay period settings exist — reports will still generate, but the pay-period alignment that the Pay Periods dropdown offers will be missing until you configure them in General Settings.

Timesheets must be enabled. Payroll Prep reads from approved timesheets. If the Timesheets app is not enabled for the business, there is no data source and the Payroll Agent will also be unavailable.

3. How it fits together

Approved timesheets are the only input. Payroll Prep does not read raw clock punches or shift assignments directly. It reads timesheets that have been submitted and approved in the Timesheets app. If an employee’s hours are not on an approved timesheet for the period, they will not appear on the report. This is the most common reason for a “missing employee” on a report — the timesheet exists but has not been approved yet.

Overtime is a weekly threshold, not a period-wide total. Hours are bucketed per 7-day week inside each timesheet, and only hours above the weekly overtime threshold count as overtime. The default threshold is 40 hours per week. The overtime multiplier defaults to 1.5×. Both values are set on the business and apply organization-wide to all reports.

This distinction matters for bi-weekly and semi-monthly periods: two 38-hour weeks in a bi-weekly period produce zero overtime even though the period total is 76 hours. Overtime is always evaluated per week, not per period.

Premium pay is itemized by code. If employees earn premiums — shift differentials (night, weekend, holiday, or custom codes defined in your scheduling setup), acting pay, or missed-break premiums (MISSED_MEAL_BREAK, MISSED_REST_BREAK) — the report itemizes premium hours and premium pay per code on each employee’s line. Total pay on every line is Regular + Overtime + Premium. The premium breakdown exports in CSV as a pipe-delimited list in your organization’s currency (e.g. NIGHT_DIFF:4.5h/$67.50|WKND:8h/$56.00).

Hourly rate comes from the employee record. The report reads each employee’s compensation rate from their employee record at the time the report runs. A salaried person’s rate is their annual salary ÷ 2,080, kept to four decimals so rate × hours reproduces their pay to the cent. If no rate is set, the line is marked No rate on file — this makes missing data visible to the admin rather than substituting an invented default. Set rates before generating reports.

Pay amounts are sensitive data. Viewing or downloading a report requires step-up identity verification (a 15-minute window after re-authenticating). Every view and download is audit-logged. If the business-wide Hide Pay Amounts setting is on, non-admin users see only hours — and export is blocked entirely for those users, since every export format includes pay figures.

Leave data is optional. When generating a report, you can choose to include leave balances. When included, each employee’s line shows their current leave balance, leave days used during the period, and unpaid leave hours (the portion of leave not covered by PTO, prorated to the pay period). This helps payroll teams identify shortfalls before processing payment.

Payroll Prep vs Payroll Connect: These are two separate apps. Payroll Prep generates gross-pay reports internally. Payroll Connect syncs employees, approved timesheets and paychecks with an external payroll provider (ADP, Gusto, Workday, BambooHR, Paychex, or MangoPay). They keep separate data: Payroll Connect sends approved timesheets to the provider itself and never reads a Payroll Prep report. Use Payroll Prep when your processor takes a file, or Payroll Connect when it has a direct connection. They meet in Ask AI: the Payroll Agent lists year-end tax forms from Payroll Connect’s providers, and when Payroll Connect holds the paychecks the provider issued, both the Payroll Agent and the Personal Agent answer an employee’s “my last paycheck” from those, net pay included, and say so.

4. Running it

Generating a report

  1. Go to Apps → Payroll Prep and click Generate Payroll Report.
  2. Choose a date range. The Pay Periods dropdown offers the last completed and the current period based on your pay period settings — select one, or enter custom dates.
  3. Optionally filter by Locations to scope the report — leave it empty to include all locations — and choose whether to Include Inactive Employees.
  4. Choose whether to include leave balances in the report.
  5. Choose an Export Format: CSV, PDF, or JSON.
  6. Give the report a name or leave it blank — a default name is generated from the date range (e.g. “Payroll Report 08/01/2026 - 08/15/2026”).
  7. Click Generate. The report processes immediately and the result appears on screen.

Non-admin users can only include locations they have permission to view. Attempting to include a location outside their access is blocked with an error.

Reviewing a report

The report detail page shows summary tiles — total regular hours, overtime hours, premium hours, and total pay — plus a cost breakdown chart. Below the summary is a per-employee table with hourly rate, regular/overtime/premium hours, and the corresponding pay columns. If leave balances were included at generation time, leave balance, leave used, and unpaid leave hours appear on each line as well.

Non-admin users (managers, payroll-permission holders) see only employees at the locations they have access to and in their own reporting line. If the Hide Pay Amounts policy is active, pay columns are hidden and only hours are visible.

Use the employee search field to filter the list by name or email. Results are paginated at 25 employees per page.

Downloading and exporting

Click Download on a completed report to get the file in the format you chose at creation time. The report’s ⋮ menu also downloads it in the other two formats (CSV, PDF, or JSON), so a different format does not need a second report. The export includes all columns: employee name, email, hourly rate, regular/overtime/premium hours, pay amounts, shift-differential breakdown, shift count, and leave data (N/A when the report was generated without it); the CSV ends with a Rate Status column and, last, your organization’s own Employee Number. The PDF ends on a total line, and the JSON carries totals for the people in the file.

If the Hide Pay Amounts policy is active and you are not an admin, there is no Download — the report page says the file includes pay, so an administrator downloads it. Every export format includes pay figures, so there is no hours-only export.

Regenerating a report

Completed or failed reports can be regenerated from the report detail page. Regeneration reprocesses the same date range and filters against current timesheet data — useful if timesheets were approved or corrected after the original run. Non-admin users can only regenerate reports they created, or reports scoped to locations they have access to. A report scoped to a location that has since been deleted is not offered Regenerate — its people were found through that location — so generate a new report for the period instead. If a regenerate fails, the report stays as it was.

Deleting a report

The report creator or an admin can delete a report from the report list. Deletion removes the report and all its line items permanently.

Email notifications

A new report is generated while you wait, so no email is sent for it. When someone else regenerates a report you created, you receive a Payroll Report Ready email with a link to the report; regenerating your own report sends nothing. This notification is controlled by the Payroll Report Ready Notifications toggle in Admin → Notification Settings.

5. Settings

Payroll Prep settings are split across two pages because pay periods and the pay-privacy flag are consumed by Timesheets, Attendance, and Scheduling as well.

App settings — Apps → Payroll Prep → Settings

Setting Default What it changes
Enable Payroll Agent On When on, employees can ask the Payroll Agent about their own pay history, hours, overtime, year-to-date earnings, pay schedule, and benefit deductions via Ask AI. When off, the agent is hidden from Ask AI for all users.

Pay period settings — Admin → General Settings → Payroll Settings

Setting Default What it changes
Pay Period Type Bi-weekly The pay cycle: Weekly, Bi-weekly, Semi-monthly, or Monthly. Determines the default date ranges on the Generate Report form.
Pay Period Start Day Monday The day of the week pay periods begin (Weekly and Bi-weekly only).
Reference Start Date (none) A reference date to align weekly/bi-weekly cycles with your existing payroll calendar. Setting it auto-adjusts the start day.
Pay Period Dates 1, 15 The two monthly dates where semi-monthly periods begin.
Pay Day Offset 3 days Days after a period ends when payment is processed. Used to compute the pay date shown on reports and in the Payroll Agent.
When pay day falls on a non-working day Pay on the following business day Shift the pay date to the next or previous business day when it lands on a weekend.
Adjust pay day around holidays Off When on, a pay day landing on a business holiday is also moved using the direction above.
Hide Pay Amounts Off Hides pay amounts from everyone except administrators across the platform — employees, managers and Payroll Prep app admins included; they see only hours and pay dates. Blocks non-admin payroll report downloads. The Payroll Agent answers no pay questions for people pay is hidden from — only their pay schedule and, where your organization issues one, their Form 1095-C.

Business-level overtime settings

Setting Default What it changes
Weekly overtime threshold 40 hours Hours worked above this in a single week count as overtime on the report.
Overtime multiplier 1.5× The rate multiplier applied to overtime hours when calculating overtime pay.

Filtering the report list

The Apps → Payroll Prep landing page lists all previously generated reports, newest first, paginated 10 per page. Use the filter bar to narrow by:

  • Location — show only reports that include a specific location.
  • Pay Period Start and Pay Period End — show only reports whose period falls within these dates.

Click Clear to reset all filters.

6. More help

  • Payroll Prep FAQ — specific questions about report generation, overtime calculations, and export formats.
  • Time & Attendance App Overview — the attendance system that feeds timesheets into payroll.
  • Shifts & Scheduling App Overview — shift assignments and premium types that drive premium-pay calculations.
  • Ask AI — the Payroll Agent answers employees’ questions about their own pay, hours, and pay schedule from completed payroll reports. It can show recent pay periods, a full breakdown of one period, year-to-date totals, pay-period comparisons, benefit deductions, and the upcoming pay schedule. When your company syncs paychecks through Payroll Connect, “my last paycheck” is answered from the paychecks your payroll provider issued.