Before you can start tracking profitability, you need to configure your costing settings. This ensures that Zuper calculates your costs based on your specific business model. 

Access Job Costing Settings page 

  1. Navigate to the Settings module from the left navigation menu.  JS 1 Pn
  2. Click the Jobs module in the Settings menu on the left. 
  3. Choose Job Costing & Expenses JS 2 Pn The Job Costing & Expenses setting page opens. 

General tab 

This tab helps you define how Zuper should calculate your profit:  Profit Calculation Method: Choose the method that aligns with your financial goals and customer agreements.  JS 3 Pn
  • Margin: Use this to calculate profit as a percentage of the total selling price ((Selling Price – Cost) ÷ Selling Price × 100). This method is ideal for cost-based pricing, ensuring a specific profit percentage relative to the final price. 
  • Markup: Use this to calculate profit as a percentage added to costs ((Selling Price – Cost) ÷ Cost × 100). This method is suitable for fixed-profit pricing, where a consistent profit amount is added on top of the cost. 
Example: For a job with $1,500 in costs (labor, materials, expenses) and a 30% markup, the total price is $1,950, yielding a $450 profit and a 23.08% margin. 

Labor tab 

This tab helps you define labor cost markups and pricing rules based on work conditions, roles, and job levels.

Labour Codes

You can define labor codes for different work scenarios (e.g., regular hours, overtime, double time) and their associated cost and pricing rules. Each labor code specifies how technician time is costed internally and billed to customers. Zuper provides three default labor codes:  JS 4 Pn
Labor CodeCost MarkupPrice Markup
Regular1x1x
Overtime1.5x1.5x
Double Time2x2x
You can also customize the above-listed codes or add new labor codes in Zuper to reflect your organization’s unique pay and billing policies. 
Information:
Cost Markup - This markup applies to a technician’s hourly rate based on the assigned labor/cost code. This decides the internal cost of labor for your business. 
For example, a technician with a fully loaded rate of $18/hour assigned to a ‘Regular’ (1x) cost code incurs a cost of $18 for one hour. The same technician assigned to an ‘Overtime’ (1.5x) cost code incurs a cost of $27 for one hour. Price Markup - This markup applies to the unit selling price of labor services based on the labor/price code. This decides the price charged to customers. For example, a labor service priced at $20/hour with a ‘Regular’ (1x) price code is sold for $20 per hour. The same service with an ‘Overtime’ (1.5x) price code (e.g., for an emergency repair) is sold for $30 per hour. 
Note: Zuper separates cost and price markups to maximize your flexibility. This allows your businesses to: 
  • Charge higher prices for specialized services, such as emergency repairs, while paying technicians at a standard rate. 
  • Tailor pricing strategies to market demands or service urgency without affecting technician compensation. 

Managing the Labor Codes

  1. Click + New Labor Code or the Edit icon next to an existing labor code. 
  2. Enter the labor code name and description. 
  3. Set the Cost Markup and specify whether it is a flat amount, a percentage, or a multiplier. 
  4. Set the Price Markup and specify whether it is a flat amount, a percentage, or a multiplier. 
  5. Click Update to save.  JCD 5 Pn

Labor Types

Labor types in Zuper classify technicians based on their role or job level, such as Technician, Installer, or Supervisor, and define which labor services they can perform under the Time & Materials (T&M) billing method. You can use the Filter by Labor Services option during job assignment to ensure that only users associated with the relevant labor services are listed for scheduling. JS 6 Pn To configure labor types:  Follow these steps to set up labor types in Zuper: 
  1. Click ”+ New Labor Type”
  2. Provide a Name (e.g., Technician, Supervisor) and a Description for the labor type. 
  3. Choose the relevant Job Categories that align with the labor type’s responsibilities (e.g., Plumbing, HVAC). 
  4. Choose one of the following options to associate labor services with the selected job categories: 
    • Option 1: Associate ALL Labor Services 
      It links all labor services from the Parts & Service master to the chosen job categories.
    • Option 2: Pick Specific Labor Services 
      It allows you to manually select relevant labor services to associate with the chosen job categories. This provides granular control, enabling you to link specific services (e.g., Plumbing services to Plumbing job categories, HVAC services to HVAC job categories). 
  5. Click Create to save the new labor type configuration.  JS 7 Pn
Note: To assign this Labor Type to a user so they appear in the job assignment list, go to Settings > Users & Teams > User Management. Edit the user’s details and select the desired Labor Type in the Labor Type field.

Expenses 

This tab helps you to manage job-related expenses (e.g., transportation, lodging, field-purchased materials) by defining:  JS 8 Pn
  • Billable vs. Non-Billable: Whether the expense is charged to the customer. 
  • Reimbursable Status: Whether the expense is reimbursed to employees. 
  • Capping Values: Maximum allowable amounts. 
For more details, refer to Creating an Expense Category

Set Hourly Labor Costs for Users 

To calculate labor cost accurately, Zuper uses each employee’s fully loaded hourly rate. This includes: 
  • The base hourly wage 
  • Any additional employer-paid costs (e.g., travel, taxes, insurance, benefits) 
Using the fully loaded rate offers a realistic view of labor costs, aiding long-term budgeting and profitability analysis.  For businesses where all technicians are paid a uniform hourly rate, you can configure it in the default settings as follows: 
  1. Navigate to Settings > Users & Teams > General Settings > Wage Information
  2. Set the following: 
    • Default Hourly Labor Charges: The standard hourly rate for technicians. 
    • Default Burden Rate: Additional costs (e.g., taxes, benefits) as a flat value or percentage. 
    • Zuper’s Minimum Roundoff Multiple Number automatically rounds technician job time log entries to the nearest specified interval. The default is 30 minutes, but you can adjust it to 10, 15, or 45 minutes.   JS 11 Pn
Note: These functions apply only when the Timelog feature is enabled, not for manually entered technician times. 

Setting a Fully Loaded Rate for Individual Employees 

To assign a fully loaded rate to a specific employee: 
  1. Go to Settings > Users & Teams > User Management
  2. Select the desired user from the list. 
  3. Click the kebab icon (⋮) and choose Edit Details JS 9 Pn
  4. In the Wage Information section: 
    • Enter the Hourly Labor Charge (base wage).
    • Enter the Burden Rate (as a flat value or percentage for additional costs).  JS 10 Pn
  5. Save the changes. 
Zuper will use the configured fully loaded rate to calculate labor costs for any job the employee is assigned to.