📊Reports
Reports answers the recurring questions — where the money came from, who owes you, and the paperwork you have to file.
Reports has two halves. Explore is for the questions you ask over and over about the business. Filing documents are the paperwork you have to produce for somebody else — payroll, the state, the tax return, a customer who wants a record of their year.
Reports sits just below Timesheets in the left navigation and is visible to company admins only. Open Reports →

Explore — the recurring questions
Revenue
Where does the money come from?
Completed · Invoiced · Collected
A/R Aging
Who owes, how much, and how long?
As of today, aged from the due date
Job Costing 🔒
Did each job make money?
Visits completed in the period — the same math as Costs
Crew Scoreboard 🔒
What did each crew produce, day by day?
By visit date
Estimate Conversion
Which quotes become work?
Estimates sent and won; close rate follows the estimates you sent
Every report states how it's measured, because the same month is a different number depending on whether you're asking about work done, invoices sent, or money that actually landed. Revenue shows all three side by side rather than picking one for you.
At the top of each report two small chips say what you're looking at: the period (For Sep 1 – 24) and how it's measured (Completed, Aged from due date, Sent + won, Completed work). Hover a chip for the rule behind it.
Periods run on your company's local calendar days. This week, This month, This quarter, and Year to date run up to and including today; Custom lets you pick exact dates.
If Shortcut can't work a number out — no labor data yet, no estimates sent — it shows Unavailable rather than a zero.
🔒 Job Costing and Crew Scoreboard carry a lock mark: like everything in Costs, they're internal-only and never shown to workers or customers.
How revenue is dated
Revenue has three measures, and each one lands on a different date.
Completed
Work your crews finished — invoiced or not
The moment the visit was marked complete, in your time zone
Invoiced
Lines on invoices you've issued
The day the invoice was sent (or created, if it was never sent)
Collected
Payments received, less refunds
The day the money arrived; a refund on the day it went through
The rules underneath:
Completed revenue follows the visit. A visit your crew marks complete at 7:30 pm on August 31 counts in August — and so does that visit's line on the invoice.
Lines with no visit behind them keep their own date. A line you added to an invoice by hand, or an older line whose visit has no completion time, counts on the date written on the line.
Draft invoices aren't invoiced yet. The finished work on a draft already counts under Completed. It moves into Invoiced once you send the invoice.
Voided invoices count nowhere.
Completed, not invoiced — the strip under the totals when you're on Completed — is finished work with no invoice yet. It's already inside the Completed total. Click it to see each visit.
The Dashboard (Revenue earned and Revenue paid), the Costs month summary, and the weekly digest email use exactly these rules. The same period gives the same number everywhere.
Open any row to see the records behind it — each with its date, its source (invoice line, completed not invoiced, payment, or refund), and the customer. Export list — CSV downloads that list, with dates in your company's time zone.
Revenue by month
Choose By month in the Revenue report to get one row per month. The rows follow the Range you've picked and any filters you have on.
This month gives one row. To compare months, choose This quarter, Year to date, or Custom.
Filters stay on. If you clicked a service in Revenue by service on the Dashboard, the months show only that service.
A month's row, the records behind it, and its CSV always add up to the same number.
Monthly views saved before September 2026
Monthly revenue views saved before September 2026 showed your whole history, whatever range was saved with them, and they still open that way. You'll see this note above the report:
This saved report preserves all monthly history through the selected period. Use only the selected period
The period chip reads All history through Sep 24 — the last day of the saved range — and there's no comparison with a previous period.
Click Use only the selected period to see just the saved range. That changes what's on screen, not the saved view. To keep it that way, click Save view and save it under a new name.
If an older monthly view is on a schedule, its emails keep sending full history. To switch, schedule the newly saved view. There's no button yet to stop or change an existing schedule — email hello@shortcutco.com and we'll switch the old one off.

Reading Job Costing
Job Costing answers "did this job make money?" one completed visit at a time (By job), or rolled up By customer, By service, or By crew. A visit belongs to the period it was completed in.
Measured, estimated, and unavailable labor
Every visit's labor is one of three kinds:
Measured
Real time — Time Clock punches, the visit's recorded arrival and completion, or billed hours on an hourly service
Estimated
No recorded time, so the visit's estimated duration (or the service's time per stop) stands in
Unavailable
No time to go on, or no labor rate to price it with. Shown as a dash — never $0
When some visits aren't measured, a line above the report says how many of each — 12 measured · 30 estimated · 2 unavailable. — with a Review labor costs and setup link to Costs.
The totals
Revenue
What the visits in the report earned, with how many visits
Known labor
Measured plus estimated labor. Underneath: how many visits are measured, estimated, and unavailable — or, when Time Clock data is in use, how many came from clock data
Materials
Material cost for the visits
Overhead
The visits' share of your overhead
Net profit
Revenue minus labor, materials, and overhead across all visits, using estimated labor where there's no recorded time. This matches Net profit on the Dashboard
Measured net
The same, for measured visits only
If any visit's labor is unavailable, Net profit shows Unavailable rather than a total that's quietly missing labor. Measured net shows Unavailable when no visit in the report is measured.
The columns
Visits (completed visits in the row), Revenue, Materials, and Overhead mean what they say. The others:
Job (or Customer, Service, Crew)
What the row is. By job has one row per completed visit
Customer and Visit date
By job only — whose visit it was, and the day it was scheduled for
Labor
Measured plus estimated labor. A dash means none of it is known
Measured margin
Margin from the row's measured visits only (see below)
Estimated visits
Visits that used estimated labor
Measured
Measured visits out of the total — 3 of 5
Sq ft treated
Shown if you track chemicals
Measured margin reads one of four ways:
A percentage — the margin on the row's measured visits. A gray pill means fewer than 10 measured visits, so treat it as a small sample.
Estimate only — every visit in the row used estimated labor, so there's no measured margin. Sort by this column and these rows go to the bottom.
42% before labor — a single visit whose labor is unavailable, showing what's left after materials and overhead.
— — nothing to measure.

Visit date and completed date
A visit scheduled for Friday and finished on Monday has two dates, and Job Costing keeps both. Open a row to see its visits. Each one reads like Visit 2026-08-29 · Completed 2026-09-01 · Mowing, followed by the customer and the labor: estimated labor $42, labor $38 · 1.5 h clock, or labor unavailable. Click a visit to open that job on the customer's Jobs tab.
The CSV from that panel has separate Visit date and Completed date columns, in your company's time zone. Its Labor basis column says Clock data, Recorded time, Estimated time, or Unavailable for every visit.
Reading Estimate Conversion
Active leads
Leads that are open right now, with how many arrived in the last seven days (4 new this week)
Quotes out
The value of estimates still waiting on an answer right now, with how many are open
Close rate
Of the estimates you sent in this period, the share that have been accepted so far
Value won
The total of estimates accepted in this period
Median close
The middle number of days from sending to acceptance, for estimates accepted in this period
The table breaks the same numbers down By service or By salesperson (whoever created the estimate): Sent, Won, Close rate, Value won, Median close.
Sent and Won count what happened in the period, each on its own date. An estimate sent in June and accepted in July is Sent in June and Won in July.
Close rate follows the estimates you sent instead. That same estimate counts toward June's close rate as soon as it's accepted, so June's close rate can still rise in July. Accepting an older estimate never counts toward this period's close rate, which is why it can't go over 100%.
Active leads and Quotes out are always today's numbers, whatever period you choose.
Filter by service and each estimate counts only the matching services. Value won includes only those services too.
Open a row to see the estimates won in the period, each with its accepted date and days to close.
Filters, saved views, and exports
Filters you're using show as chips above the report — Service: Weekly Lawn Mowing ×, Overdue: Over 60 days ×. Click the chip to remove that filter. Filters usually come with you from elsewhere: click a service under Revenue by service on the Dashboard and the Revenue report opens filtered to it.
Save view keeps what you're looking at — the range, filters, sort, and columns — under a name any admin on your account can open. Pick it from the Saved views menu at the top of any report, or under Saved views on the Reports page. The menu shows which saved view you're on.
CSV and PDF download exactly what's on screen: same filters, same sort, same columns. Dates in downloads use your company's time zone.
On a phone, Save view, Schedule, CSV, and PDF are all available.
Filing documents — the paperwork
These four are built to be printed, filed, and handed to someone.
Payroll Punch Report
Every clock-in and clock-out pair, one row each: employee, date, in, out, hours. Subtotals for each workweek — on whichever day your week starts — then a total per employee and a grand total, with a reconciliation line at the bottom that adds up against the printed numbers.
It defaults to your last complete workweek, and you can set any range you want. It's built for handing to whoever runs your payroll, so it deliberately does not decide what's regular time and what's overtime. Those rules are yours.
Each row is marked if something about it needs a look:
Unpaired punch — someone clocked in and never clocked out
Long pair, no break — more than six hours straight with no break recorded
Entered late — the punch was added after the fact
Worker edited — the worker corrected their own punch
Edited after export — the punch changed after you'd already exported it
Marks disappear once the exception behind them is resolved.
Needs Time Clock turned on. Until then the card shows Set up time tracking, which opens Timesheets, where you switch it on.
Sales Tax Liability
Taxable revenue, exempt revenue, and tax collected for the period you're filing. Each invoice is split using the tax settings it was created with, so a rate change halfway through the year doesn't quietly rewrite last quarter. Voided invoices are left out of collected tax — you never collected it.
Scheduled deliveries always send the last complete quarter.
Chemical Applications
State-ready application records: what was applied, where, when, by whom, and under which license. There's one row per product, from completed chemical records, including chemical services added to a single visit.
Shortcut saves the details with each record the moment it's completed: the applicator's license number, plus the product's name, EPA registration number, and type. So the document still prints what was actually applied after someone renews a license, a tech leaves, or a product is renamed in your catalog. Older records without a saved license use the applicator's current license number, marked (current).
Each row is dated by the visit's scheduled day. A visit that was moved before its record was completed is filed under its new day.
Every row needs a date, a property, a product, an applied amount, an applicator, and a license number. Pesticide rows also need an EPA registration number. A row missing anything it needs blocks the export (see When a document refuses to print):
Missing license number: add it to the person in Settings → Users.
Anything else: the banner's Fix N rows › link takes you to Chemicals.
Fertilizers and other non-pesticide products don't have an EPA number, and that never blocks the export. Their rows show n/a in the PDF's EPA column; in the CSV that cell is blank, and a Product type column lets you filter.
The document needs chemical tracking turned on. Until then its card in Reports reads Set up chemicals, opening the document shows Turn on chemical tracking first., and CSV, Download PDF, and Schedule stay unavailable. To turn it on, open Settings → Operations → Chemicals and switch the toggle beside the Chemicals title to Enabled. If you turn tracking off later, a scheduled delivery of this document fails instead of sending.
Client Service Report
A clean record of visits and services for one customer, written to be sent to that customer. No costs, no margins, no internal notes.
Start by finding the customer. Type part of their name or company in Find a customer and click Search. Results come 50 at a time — use Next 50 and Previous to page through. Then choose them from the Customer list, set From and To, and click Apply.

Opening and printing a document
Click Open document on a filing card in Reports. If the card shows Set up time tracking, Review invoice settings, or Set up chemicals instead, that's the setup the document needs first.
Set From and To — or keep the range it suggests — and click Apply. Then use CSV or Download PDF. The CSV and the PDF carry identical subtotals and totals, so you can hand either one over.
When a document refuses to print
Some documents won't let you export a range that has holes in it. That's on purpose — a payroll document with a missing clock-out, or a chemical filing with a missing record, is worse than no document at all.
When that happens you'll see a red banner across the top of the document with a count and a link that reads Fix 3 rows ›. Click it, clear what it points at, and come back. The export unblocks itself.
The same rule applies to scheduled deliveries. If a scheduled send lands on a blocked range, the delivery is recorded as failed with nothing attached — you won't get a half-right document by email without knowing.
Sending a report on a schedule
Any report or filing document can email itself. Click Schedule and choose:
Delivery — With Monday email, Daily at 6:00am, Monday at 6:00am, or Monthly on the 1st
Recipients — one or more email addresses, separated by commas
Formats — CSV, PDF, or both
For an Explore report, save it first with Save view. The Schedule window asks which saved view to send. Filing documents schedule straight from the document (the Schedule button there is on desktop).

Which dates a scheduled report covers
Explore reports keep the range you saved and roll it forward:
Daily deliveries show the saved range up to and including yesterday. A "This month" view sent daily arrives as month-to-date through yesterday.
Weekly and monthly deliveries send the last completed week, month, or quarter, whichever matches the view's range. A "This month" view sent every Monday arrives with the last full month.
Year to date always runs through yesterday.
Custom dates never move — the same range every time.
A/R Aging is as of the day it's sent.
In Estimate Conversion, Active leads, Quotes out, and "new this week" are current as of the delivery, not for a past date.
Filing documents always cover a complete period: yesterday for daily, the last full Monday–Sunday week for weekly (the last full workweek for the Payroll Punch Report), and the last full month for monthly. Sales Tax Liability always sends the last complete quarter.
Every schedule is listed under Scheduled deliveries on the Reports page with its latest result — Sent, Failed, or Waiting for first delivery. Failures are visible in Reports, never silent.
Who can see Reports
Company admins. Other roles don't see the navigation item, and going to the address directly sends them back to their own home page.
Related pages
Last updated