Documentation

Everything you need to know about using Handy to manage your field service business

Getting Started

Set up your Handy account and configure your company settings

1

Create Your Account

Visit the signup page and create your account with your email and password. You'll be the administrator of your company.

2

Set Up Your Company Profile

After logging in, navigate to Settings to configure your company information including name, contact details, and branding.

3

Invite Team Members

Go to the Team section to invite technicians and other team members. Each member will receive an email invitation to join your company.

4

Configure Modules

In Settings → Modules, enable or disable features based on your business needs. Core features include Customers, Quotes, and Materials Library. Optional modules include Jobs, Invoices, Customer Portal, and more.

Pro Tip

Start with the core features and enable additional modules as your team gets comfortable with the system.

Customer Management

Organize and manage your customer database

Creating Customers Manually

1

Choose Customer Type

Select Residential for homeowners or Commercial for businesses. This helps organize your customer database.

2

Add Customer Details

Enter the customer name, account number, and status (active/inactive). Add any relevant tags for easy filtering.

3

Add Contacts

Add one or more contacts for each customer. Each contact can have a name, email, phone, title, and notes. Mark one as the primary contact.

4

Add Service Addresses

Add service locations with labels (e.g., "Main Office", "Home"). Each address can be for billing, service, or both. You can also assign a primary contact to each address.

Bulk Import Customers from Excel/CSV

📊

Import Many Customers at Once

Save hours of data entry by importing your entire customer list from Excel or CSV. Perfect for migrating from another system or adding multiple customers at once.

1

Download the Template

Navigate to Customers → Click Import button at the top right.

In the import dialog, click Download Template to get a pre-formatted Excel file with:

  • All required column headers
  • Example data showing correct format
  • Instructions and notes
2

Fill in Your Data

Open the template in Excel, Google Sheets, or any spreadsheet program. Fill in your customer data following the template format:

Required Columns:

Customer Info:

  • Name* - Customer/company name
  • Type* - "residential" or "commercial"
  • • Status - "active" or "inactive" (optional)
  • • Account Number - Your internal ID (optional)
  • • Tags - Comma-separated tags (optional)

Contact Info:

  • Contact Name*
  • • Contact Email (optional)
  • • Contact Phone (optional)
  • • Contact Title (optional)

Address Info:

  • Address Label*, Street*, City*, State*, Zip Code*
  • • Address Type - "billing", "service", or "both" (optional, defaults to "both")
3

Upload Your File

Save your spreadsheet and upload it:

  • Click the upload area or drag and drop your file
  • Supported formats: .xlsx, .xls, or .csv
  • The system automatically parses your data
4

Review & Fix Errors

The system validates all data before importing. If there are any errors (missing required fields, invalid formats, duplicate account numbers), you'll see:

  • Exact row numbers with errors
  • Which field has the problem
  • What needs to be fixed

Fix the errors in your spreadsheet and re-upload.

5

Preview & Import

Once validation passes, you'll see a preview table showing all customers to be imported. Review the data, then click Import.

The system creates all customers with their contacts and addresses. You'll see a success summary when complete.

Import Results

After import, you'll see how many customers were successfully added. If any rows failed (e.g., database errors), you'll see which ones and can re-import them after fixing issues.

💡 Import Tips

  • One customer per row: Each row creates one customer with one contact and one address
  • Add more contacts/addresses later: After importing, edit customers to add additional contacts or service locations
  • Use unique account numbers: If you use account numbers, make sure they're unique across all rows
  • Test with a small file first: Import 2-3 customers to verify the format works before importing hundreds
  • Excel vs CSV: Excel files (.xlsx) preserve formatting better, but CSV works too

Multiple Locations

Commercial customers often have multiple service locations. You can assign different contacts to different locations for better organization.

Job Management

Create, assign, and track service jobs from start to finish

Creating Jobs

1

Select Customer

Choose the customer from your database. If they have multiple addresses, select the service location.

2

Assign Technician

Select which team member will be responsible for the job. They'll receive an email notification with the job details.

3

Set Job Details

Enter the job title, description, and priority level (low, normal, high, urgent).

4

Schedule the Job

Select a date and time for when the job should be performed. Both are optional, but recommended for better planning.

Job Statuses

PendingJob is created and scheduled
In ProgressTechnician has started work
CompletedJob is finished with all required documentation
CancelledJob was cancelled

Completing Jobs

To mark a job as complete, technicians must provide all required documentation:

Summary - Brief description (minimum 10 characters)
Work Performed - Detailed description (minimum 20 characters)
Materials Used - At least 1 material or part (can be "None" if applicable)
Photos - Minimum 2 photos with categories (part numbers, before/after, system overview, etc.)
Job Notes - Additional notes (minimum 10 characters)

Validation System

The system automatically validates all requirements in real-time. The "Complete Job" button is only enabled when all requirements are met, ensuring quality documentation every time.

Quotes

Create professional quotes and convert them to jobs when accepted

Creating a Quote

1

Navigate to Quotes

From your dashboard, click Quotes in the sidebar navigation, then click the + New Quote button.

2

Select Customer & Contact

Select a customer from your database. If they have multiple addresses, choose the billing and service addresses. Select a contact person who will receive the quote email.

📧 Important: The contact must have an email address to receive the quote electronically.
3

Add Quote Details

Enter a descriptive title (e.g., "HVAC System Replacement") and optionally add a detailed description of the proposed work.

4

Add Line Items

Build your quote with three types of line items:

  • Materials - Select from your materials library or add custom items with part numbers and descriptions
  • Labor - Add labor hours with your hourly rate (e.g., 8 hours at $95/hr)
  • Custom - Add any other charges like permits, disposal fees, or travel charges

For each line item, specify quantity, unit (ea, hr, ft, etc.), and unit price. The total is calculated automatically.

5

Set Tax and Terms

Configure tax rate (e.g., 8.5%) and choose whether tax applies to the entire quote or only materials. Add payment terms, warranty information, and set an expiration date.

6

Save as Draft

Click Save Quote to save it as a draft. You can continue editing anytime before sending.

Sending a Quote to Customer

1

Open the Quote

Navigate to Quotes and click on the quote you want to send.

2

Review Quote Details

Verify all information is correct: line items, pricing, customer contact email, and terms.

3

Click 'Send Email' Action

At the top of the quote page, click the Actions dropdown button (three dots ⋮), then select Send Email.

4

Customize Email (Optional)

A dialog will appear showing:

  • Recipient email address (from contact)
  • Email subject line (editable)
  • Email message body (editable with merge fields)
  • Quote PDF preview

You can customize the message before sending, or use the default template.

5

Send

Click Send Email button. The quote status automatically changes to "Sent" and the customer receives the email with:

  • Professional PDF attachment of the quote
  • Link to view and accept/reject in the customer portal
  • Your contact information

Customer Portal Integration

When you send a quote via email, the customer can click the link to view it in the customer portal. They can accept or reject the quote online without calling you!

Converting Accepted Quotes to Jobs

1

Quote Accepted

When a customer accepts a quote in the portal, you'll receive a notification and the quote status changes to "Accepted".

2

Create Job

Open the accepted quote, click ActionsCreate Job from Quote. All details (customer, address, description) are automatically filled in.

3

Assign & Schedule

Assign a technician and set the scheduled date/time for the job. Click Create Job and the technician receives an email notification.

Quote Statuses

DraftQuote is being prepared
SentQuote sent to customer
AcceptedCustomer accepted the quote
RejectedCustomer declined the quote
ExpiredQuote validity period has passed

AI Quote Assistant

Generate quotes automatically from descriptions or blueprints using AI

🤖

What is the AI Quote Assistant?

The AI Quote Assistant uses artificial intelligence to automatically generate professional quotes from natural language descriptions or uploaded images (blueprints, plans, sketches). Simply describe what you need or upload plans, and the AI will extract materials, labor, and pricing to create a complete quote.

How to Access

Navigation: Dashboard → AI Assistant → Quote Assistant
Requirement: The "AI Quote Generation" module must be enabled in Settings → Modules

Creating a Quote with Text Description

1

Describe What You Need

In the text box, describe the job in plain English. Be as detailed or as brief as you like. Example:

"Create a quote for John Smith for HVAC maintenance. Include 2 hours of labor at $95/hour and a new air filter for $45. Add 8.25% tax on materials only."
2

Click 'Generate Quote'

The AI analyzes your description and extracts:

  • Customer name (searches your database for a match)
  • Line items (materials and labor)
  • Quantities and pricing
  • Tax settings
  • Payment terms if mentioned
3

Review Generated Quote

The AI presents a fully-formed quote for your review. You'll see:

  • Matched customer (or multiple matches to choose from)
  • Quote title and description
  • All line items with quantities and pricing
  • Tax calculation preview
  • Total amount
4

Select Customer & Create

If multiple customers match, select the correct one. Click CREATE QUOTE and the quote is saved to your database, ready to send.

Creating a Quote from Blueprints/Plans

1

Upload Images

Click Add Images and select one or more files from your computer:

  • Architectural blueprints
  • Hand-drawn sketches
  • Material lists or specifications
  • Photos of existing installations
  • Any image with relevant project details

Supported formats: JPG, PNG, PDF (converted to images)

2

Add Context (Optional)

You can add a text description to provide context about the images. For example:

"Generate a quote for commercial HVAC installation based on these blueprints. Customer is Acme Corp."

Or leave it blank and let the AI analyze the images alone.

3

AI Analysis

The AI uses computer vision and OCR to:

  • Read text from blueprints (dimensions, specs, part numbers)
  • Identify materials and quantities from drawings
  • Detect customer information if present
  • Calculate square footage from floor plans
  • Extract labor estimates from scope notes
4

Review & Refine

The AI generates a complete quote based on its analysis. Review all line items, adjust quantities or pricing as needed, then create the quote.

Smart Customer Matching

The AI searches your customer database using fuzzy matching. It can find "Acme Corp" even if you type "ACME Corporation" or "Acme". If it finds multiple matches, you'll choose the correct one.

💡 Pro Tips for Best Results

  • Be specific with pricing: Include rates like "$95/hour" or "$45 per filter" for accurate quotes
  • Mention tax preferences: Specify "tax on materials only" or "tax on total" if you have a preference
  • Upload clear images: Higher resolution blueprints produce better extraction results
  • Combine text and images: Upload plans and add a description for best accuracy
  • Create customers first: The AI can only match existing customers in your database

What the AI Can Extract

From Text

  • • Customer names
  • • Materials and part numbers
  • • Labor hours and rates
  • • Quantities and units
  • • Tax rates and preferences
  • • Payment terms
  • • Special instructions

From Images

  • • Text/labels on blueprints
  • • Dimensions and measurements
  • • Material specifications
  • • Quantities from takeoffs
  • • Part numbers and models
  • • Customer information
  • • Scope of work notes

Materials Library

Maintain a catalog of commonly used materials and parts

Adding Materials Manually

1

Navigate to Materials

Go to SettingsMaterials to manage your materials catalog.

2

Add Material Details

Click + New Material and enter:

  • Name - Material name (e.g., "Air Filter 16x20")
  • Part Number - Manufacturer or internal part number
  • Default Unit - ea, ft, lb, box, etc.
  • Category - HVAC, Plumbing, Electrical, etc.
  • Cost & Pricing - Your cost, margin %, and quote price
  • Supplier info - Manufacturer, supplier, notes
3

Organize with Categories & Tags

Use categories (HVAC, Plumbing, Electrical, etc.) and tags to organize materials for easy searching when creating quotes.

4

Add Photos (Optional)

Upload photos of materials to help with identification and customer communication.

Bulk Import Materials from Excel/CSV

📦

Import Your Parts Catalog

Import hundreds of materials at once from your existing parts catalog or supplier price lists. Save hours of manual data entry.

1

Download the Template

Navigate to SettingsMaterials → Click Import button.

In the import dialog, click Download Template to get a pre-formatted Excel file with example materials.

2

Fill in Your Materials

Open the template and fill in your materials data:

Required Columns:

  • Name* - Material name
  • Part Number* - Unique identifier
  • Default Unit* - ea, ft, lb, box, sq ft, etc.

Optional Columns:

  • • Description - Detailed description
  • • Category - HVAC, Plumbing, Electrical, etc.
  • • Manufacturer - Brand or manufacturer name
  • • Cost - Your wholesale cost (number)
  • • Margin % - Your markup percentage (e.g., 30 for 30%)
  • • Quote Price - Final price to quote customers
  • • Supplier - Where you purchase from
  • • Tags (comma-separated) - For easy searching
  • • Notes - Internal notes
3

Upload Your File

Save your spreadsheet and upload:

  • Click the upload area or drag and drop
  • Formats: .xlsx, .xls, or .csv
  • System parses and validates automatically
4

Fix Validation Errors

If there are errors, you'll see:

  • Row number with the problem
  • Which column is invalid
  • What needs to be corrected

Common errors: missing required fields, duplicate part numbers, invalid numbers for cost/price.

5

Preview & Import

Review the preview table showing all materials. Check part numbers, pricing, and categories. Click Import to add them to your library.

💡 Import Tips

  • Unique part numbers: Each material must have a unique part number (no duplicates)
  • Pricing fields: Cost, Margin %, and Quote Price are numbers only (no $ or % symbols)
  • Auto-calculation: If you provide Cost and Margin %, the system can calculate Quote Price for you
  • Import supplier catalogs: Export your supplier's price list to Excel, reformat to match template
  • Update pricing later: Import materials without prices, add pricing info later when creating quotes

Use in Quotes

After importing, when creating quotes, you can quickly search and select materials from your library. All pricing and details are automatically filled in. Update pricing in one place and it applies to all future quotes.

Customer Portal

Give your customers 24/7 access to their information

The customer portal allows your customers to view quotes, track jobs, and submit service requests without calling or emailing you.

How Customers Access the Portal

1

Send Invitation

When you create a customer with an email address, they automatically receive an invitation to access the portal.

2

Customer Signs In

Customers visit the portal login page and enter their email. They receive a secure login code via email (no password required).

3

View Dashboard

After logging in, customers can see all their quotes, jobs, and invoices in one place.

What Customers Can Do

View Quotes

See detailed quotes with line items, accept or reject proposals

Track Jobs

Monitor job status, scheduled dates, and view completion reports

Submit Requests

Create service requests with photos and descriptions

View Invoices

Access past invoices and payment history

Reduce Phone Calls

Customers can check job status anytime without calling your office. This reduces interruptions and improves customer satisfaction.

Mobile App (PWA)

Install Handy as a mobile app on any device

Handy is a Progressive Web App (PWA), which means it works like a native app on your phone without needing to download from an app store.

Installing on iOS (iPhone/iPad)

1

Open in Safari

Visit your company's Handy URL in Safari browser

2

Tap Share Button

Tap the share button (square with arrow pointing up) at the bottom of the screen

3

Add to Home Screen

Scroll down and tap "Add to Home Screen", then tap "Add"

4

Launch App

The Handy icon will appear on your home screen. Tap it to launch the app

Installing on Android

1

Open in Chrome

Visit your company's Handy URL in Chrome browser

2

Tap Menu

Tap the three dots menu in the top-right corner

3

Add to Home Screen

Select "Add to Home screen" or "Install app"

4

Launch App

The Handy icon will appear on your home screen. Tap it to launch the app

Works Offline

Once installed, you can view job details and start filling out completion forms even without internet connection. Data syncs automatically when you're back online.

Invoices & Email

Generate invoices and send them to customers electronically

Creating an Invoice

1

Navigate to Invoices

From your dashboard, click Invoices in the sidebar, then + New Invoice.

2

Select Customer & Add Details

Select the customer, choose billing address, and add invoice details like due date and payment terms.

3

Add Line Items

Add materials, labor, and custom charges just like a quote. The system calculates totals and tax automatically.

Sending an Invoice via Email

1

Open Invoice

Navigate to the invoice you want to send from the invoices list.

2

Click 'Send Email'

At the top of the invoice page, click ActionsSend Email.

3

Verify Recipient

Confirm the customer's email address is correct. The email will include:

  • Professional PDF invoice attachment
  • Invoice summary and due date
  • Payment instructions
  • Link to view in customer portal
4

Send

Click Send. The customer receives the invoice immediately, and the invoice status updates to "Sent".

Automatic Reminders

Configure automatic payment reminders in Settings to send follow-up emails before invoices are due.

Handy Agent (AI Assistant)

Chat with AI to get business insights, query data, and automate tasks

🧠

What is the Handy Agent?

The Handy Agent is your AI-powered business assistant. Ask questions in plain English to query your data, get insights, check on service requests, review quotes, analyze revenue, and more. It's like having a business analyst available 24/7.

How to Access

Navigation: Dashboard → Handy Agent (🤖 icon in sidebar)
Requirement: The "Agentic System" module must be enabled in Settings → Modules

What Can the Handy Agent Do?

📊 Business Intelligence

  • • Check revenue from quotes
  • • Count pending service requests
  • • List jobs by status
  • • Find urgent items
  • • Analyze trends

🔍 Quick Lookups

  • • Show new service requests
  • • Display recent quotes
  • • Check quote statuses
  • • Find customer information
  • • Review job assignments

Example Queries

"Do we have any new service requests?"

Response: Shows count and list of service requests with clickable links

"Show me pending quotes"

Response: Lists all quotes in draft or sent status with customer names and amounts

"What's our revenue from quotes this week?"

Response: Calculates total quote value for the current week with breakdown

"Any urgent service requests?"

Response: Filters and shows high-priority service requests needing attention

Using the Chat Interface

1

Type Your Question

In the chat box at the bottom, type your question in plain English. Be as specific or general as you like.

2

Review the Response

The Agent responds with:

  • Text answer: Explanation or summary of findings
  • Metrics cards: Visual display of key numbers (count, revenue, etc.)
  • Clickable items: Links to specific service requests, quotes, or jobs
3

Click Items to Navigate

If the response includes service requests or quotes, click on them to open the detail page directly.

4

Continue the Conversation

Ask follow-up questions. The Agent remembers context from earlier in the conversation.

Conversation History

Your conversation is saved automatically. Return anytime and pick up where you left off. Click "New Conversation" to start fresh.

⚡ Rate Limits

The Handy Agent has usage limits to ensure fair access for all users. If you exceed the limit, you'll see a message indicating when you can continue. Rate limits reset every hour.

Notifications

Stay informed about important events in real-time

Handy keeps you and your team informed with real-time notifications for important business events.

Types of Notifications

Job Notifications

When jobs are created, assigned, status changes, or completed

Quote Notifications

When quotes are created, sent, accepted, or rejected

Service Request Notifications

When customers submit new service requests through the portal

Notification Center

Click the bell icon in the top-right corner to view all notifications. Filter by type, mark as read, or click to navigate to related items.

Email Notifications

Important notifications are also sent via email to ensure you never miss critical updates, even when you're not logged in.

Need More Help?

Have questions or need assistance? We're here to help you get the most out of Handy.