Overview
Flat rate lets you pay employees a fixed dollar amount per service visit instead of an hourly rate. Use this article to set up pay codes, labor items, services, and contracts to support flat rate pay in Aspire.
Things to know
Decide whether your employees will always be paid a flat rate or if they'll also be paid hourly for some jobs. If employees are paid exclusively by flat rate, consider creating a separate "Flat Rate" pay schedule. This separates their time into a distinct payroll export.
Determine whether different employees will be paid different flat rate amounts for the same job. If so, you'll need to estimate distinct services or set up quick ticket templates to handle each rate.
Identify your payroll system. INOVA and QuickBooks Desktop integrate directly with Aspire, so hours are sent without additional data handling. Other payroll systems typically require a .CSV export that you'll need to adjust before importing. If you're building an API bridge to a third-party payroll system, coordinate setup requirements with your third-party developer.
Review your state's rules for flat rate pay. Some states require proof that employees earned at least minimum wage with overtime. Aspire doesn't assume responsibility for this; it's your responsibility to stay compliant. Aspire reporting may help you validate compliance.
Requirements
To set up Pay Codes in Administration, you need System Admin added to your user role.
To edit hours on a service, you need Edit Service Cost and Hours added to your user role.
To use the Reporting module, you need View Reports added to your user role.
To view the Time Entry report, you need View Drill Down Reports - Time Entry added to your user role.
Steps
Set up pay codes and a pay schedule
The pay code setup depends on your payroll system.
For INOVA: Create a single Flat Rate pay code.
Navigate to Administration>Application>Lists>Pay Code.
Set the Pay Code Type to Flat Rate.
Enter "Flat rate" in the Pay Code Name field.
Enter "FLAT" in the Pay Code field.
Select Save.

For QuickBooks Desktop: Create rate-specific pay codes based on your payroll system's requirements — for example, "FR100," "FR120," and "FR150."
Your naming convention depends on your organization, but a unique pay code for each flat rate amount is necessary.
Setting up a flat rate pay schedule (optional)
For employees who only do flat rate work, a unique pay schedule can help you separate their payroll data, especially if your export file requires formatting changes before import. This step isn't necessary for INOVA.
Navigate to Administration > Application > Lists > Pay Schedule.
Enter "Flat Rate" in the Pay Schedule Name field.
Set Weekly Hours Before OT to "168".
Set Daily Hours Before OT to "24".
Set the Default Pay Code to Flat Rate.
Set the Default OT Pay Code to NONE.
Select Save.
.png?sv=2022-11-02&spr=https&st=2026-05-06T21%3A56%3A36Z&se=2026-05-06T22%3A14%3A36Z&sr=c&sp=r&sig=LUVOBYTlCsAbRCmafa1Tfzqnrtw209dhWqqrNsZVktk%3D)
Set up services
You may need to create distinct services when different employees are paid a different flat rate for the same job. Each unique rate requires its own service.
An alternative is to use quick ticket templates instead of estimating multiple services on a contract. Learn more in the Manage different rates for substitutes section. This is an option for work order opportunity types. This process is not recommended for contract services because cost and revenue wouldn’t be reported to the contract.
Set up labor item
You'll need to set up a labor item that is used for flat rate pay.
Labor item for Estimated Hours:
Create a new labor item.
Enter "Labor - Flat Rate Estimated Hours" in the Item Name field.
Optionally, enter "Estimated Labor" in the Alternate Name field.
Set Category to Labor.
Set Purchase Unit Cost to "$0.00".
Set Purchase Unit to hr.
Select Save.
This item gives the crew member an estimate for how long the job should take.
Note
You can use the Allocation Unit Price Item Override to use an hourly price for estimating if you plan to estimate an extended price based on your anticipated hours on site.
.png?sv=2022-11-02&spr=https&st=2026-05-06T21%3A56%3A36Z&se=2026-05-06T22%3A14%3A36Z&sr=c&sp=r&sig=LUVOBYTlCsAbRCmafa1Tfzqnrtw209dhWqqrNsZVktk%3D)
Estimate services on a contract
To estimate a unique service for each flat rate option on the contract:
Open the contract and navigate to the service you want to configure.
Drill into the service details.
Set the Default Pay Code to Flat Rate.
.png?sv=2022-11-02&spr=https&st=2026-05-06T21%3A56%3A36Z&se=2026-05-06T22%3A14%3A36Z&sr=c&sp=r&sig=LUVOBYTlCsAbRCmafa1Tfzqnrtw209dhWqqrNsZVktk%3D)
Setting the pay code to Flat Rate causes two additional fields to appear in the service details:
Flat Rate Pay Per Visit — Enter the amount each crew member will be paid per service. Only one rate is available per service. If multiple rates apply, estimate additional services.
Estimated # of Crew Members — Enter how many crew members are expected per service. Aspire multiplies the Flat Rate Pay Per Visit by the Estimated # of Crew Members to calculate the estimated labor cost on the work ticket.

Manage different rates
When different employees earn different flat rate amounts for the same job, consider whether you can simplify by paying one flat rate to anyone who performs the job.
If a single rate isn't an option, add the same service to the estimate multiple times, once per pay rate. This creates separate sets of work tickets that need to be scheduled and managed throughout the life of the job due to the Separate Work Ticket checkbox selection.
Proposal considerations: If you don't want multiple services to appear on the customer-facing proposal, use a contract layout that doesn't display service-level pricing. You can also exclude specific services from the proposal. Services can still be estimated with the correct price so you can track gross margin on your tickets.
To keep things organized, use a naming convention such as:
A main service (for example, "Lawn Maintenance") that populates the proposal.
Secondary services with descriptive names that are excluded from the proposal (for example, "LM - Secondary Crew 1," "LM - Secondary Crew 2").
Manage different rate for substitutes
When a substitute crew member is paid a different rate, you have two options.
Option 1 — As-needed services for substitutes:
Estimate additional services on the contract for each substitute rate.
Set the price to "$0.00" on these services since they're only used to trigger the correct flat rate payment. This $0.00 price will exclude these services from the proposal. These tickets are only used for paying employees, not for invoicing customers.
When a substitute completes the service, it will appear in the Invoicing Assistant. Generate an invoice for the substitute service — don't send it to the customer — so it clears the list.
If the contract uses Fixed Payment, also mark the regular work ticket as Complete so the contract earns revenue at that time.
Option 2 — Quick ticket templates for substitutes:
Create a quick ticket template for each possible substitute rate.
Name the template so it reflects the flat rate to be paid (use the Opportunity Name field).
Set the job type to Fixed Price on Completion with "$0.00" in revenue. These tickets are only used for paying employees, not for invoicing customers.
Crew members can create the quick ticket from mobile, or they can clock in and out and have a manager generate the quick ticket in time entry and allocate time against it.
Billing guidance for quick ticket templates:
If the regular contract is Fixed Payment, cancel or complete the normal ticket.
If the regular contract is Per Service, complete the normal ticket to trigger invoicing.
If the regular contract is T&M, complete the normal ticket with a T&M override.
Process payroll
Payroll processing steps depend on your payroll system.
INOVA: Export payroll as normal. No special steps are needed.
QuickBooks Desktop: Export payroll as normal. You may need to make adjustments on the QuickBooks side.
Other payroll systems (no API bridge):
If employees are only paid flat rate and they've been assigned a "Flat Rate" pay schedule, you can separate their hours in the Weekly Time Review and export them separately. You'll likely need to adjust the .CSV file so that the "Hours" column equals 1. Export employees with regular pay codes separately.
If employees are paid a mix of flat rate and hourly, export all hours in bulk from the Weekly Time Review. Sort the .CSV file by pay code and update the hours on any flat rate code lines.
API bridge payroll systems: If you've built an API bridge to your payroll system, the process will be specific to your setup. Aspire provides a field through the API for the pay rate, so only one pay code should be necessary.
Learn more about Payroll integrations with Aspire by reading our Payroll collection.
Update a flat rate rate mid-contract
If the flat rate amount changes during a contract, process a contract change to update the rate.
Open the contract.
Select Change from the Action menu at the top-right corner.
Enter the date the change takes effect.
Right-click the service to be changed and select Change.
Select the first work ticket where the new flat rate will apply.
Drill into the service details for the change service (shown as "v1" or the current version number).
Update the Flat Rate Pay Per Visit field with the new flat rate amount.
Select Save on the service details page.
Select Win Contract Change from the Action menu at the top-right corner.
Important
Work tickets must be worked and completed in sequence. If tickets are completed out of order, you may not be able to process a contract change. In that case, you'll need to process a mid-year contract cancellation and estimate a new contract.
Validate flat rate pay with reporting
Use the Time Entry report to validate flat rate employee hours. This report shows what was earned compared to what could have been earned at an hourly rate.
Note
The Hours Pivot Table doesn't currently report flat rate data correctly. Use the Time Entry report instead.
Tips
If all employees performing a job can be paid the same flat rate, use a single service. This is the simplest setup and reduces the number of work tickets to manage.
Use clear naming conventions for services when you have multiple flat rates. This makes it easier to exclude the right services from customer-facing proposals.
Quick ticket templates can be a simpler alternative to estimating multiple services on a contract, especially for substitute scenarios that don't happen on every visit.
Always complete work tickets in order. Out-of-sequence completion can prevent contract changes and require cancellation and re-estimation.