# Customer balances
Source: https://docs.probaseapp.com/billing/customer-balances
View and manage customer account balances
## Understanding balances
Each customer has an account balance that's automatically calculated from all their billing line items (charges, credits, and payments).
* **Negative balance** (like -\$150.00) - Customer owes you money
* **Zero balance** (\$0.00) - Account is paid in full
* **Positive balance** (like \$25.00) - Customer has a credit
The balance updates instantly whenever you add charges, credits, or record payments.
**The marketplace's own record is the one exception.** If you've [connected a marketplace account](/marketplace/connecting-accounts), the customer record named after that marketplace — **LawnStarter**, for example — holds your earnings and payout history instead of charges you collect. Its balance is worked out differently: it shows what you've earned *since your last deposit*, because a deposit settles everything before it. See [Marketplace earnings & payouts](/marketplace/payouts).
This holds for [archived customers](/customers/archiving-customers) too. Even though an archived customer is hidden from your active list, their billing history stays open for business — you can record a late payment, add a final charge, or credit off a balance you've written off, and their balance recalculates just like an active customer's.
## View a customer's balance
Click **Customers** in the sidebar.
Find the customer in the list and click their name to open their profile.
The top card on the customer profile shows the current balance. Click the balance amount to open the full billing history.
## View billing history
Each customer has a dedicated billing history page showing all their charges, credits, and payments.
To access it:
1. Click on a customer's name
2. Tap the **Outstanding balance** row in the top card
The billing history shows a chronological timeline grouped by date:
### Filtering and searching
Use the controls at the top to narrow down the list:
* **Search** — Find entries by title, service name, or property address
* **Type** — Filter to show only Charges, Credits, or Payments
* **Date range** — Filter to a specific time period
### Viewing entry details
Click on any line item to open a detail panel showing the full breakdown including subtotal, tax, total, payment status, and related information.
## Add a charge manually
When you need to charge a customer for additional work or fees:
1. Open the customer's billing history (click the balance on their profile)
2. Click the **Add Charge** button at the top of the billing history page
3. Enter a **Title** (required), the **Amount**, optional tax (enter a tax rate % or a dollar amount — they stay in sync), and an optional **Description**
4. Click **Add Charge**
The amount the customer owes goes up by the charge amount, so their balance moves further into the negative.
## Add a credit manually
When you want to issue a discount, refund, or adjustment:
1. Open the customer's billing history (click the balance on their profile)
2. Click the **Add Credit** button at the top of the billing history page
3. Enter a **Title** (required), the **Amount**, and an optional **Description**
4. Click **Add Credit**
The amount the customer owes goes down by the credit amount, so their balance moves back toward zero (and into a positive credit if the credit is larger than what they owed).
## Record a payment
When a customer pays by cash, check, or another offline method, use **Record Payment** to add it to their account:
1. Open the customer's billing history or profile
2. Click the **Record Payment** button at the top of the billing history page
3. Select the invoice the payment applies to from the **Invoice** dropdown
4. Choose the payment method and enter the amount
5. Click **Record Payment**
See [Recording payments](/billing/tracking-payments) for full details.
## Share an invoice with a customer
To let customers view and pay an invoice online, send them the invoice payment link:
1. Go to **Money** in the sidebar and click on the invoice you want to send
2. Tap **Send Invoice** to open the SMS sharing modal
3. Tap **Send SMS** to open your messaging app with the message, or **Copy** to copy the full message (link included) to your clipboard
The customer can open the link to view their invoice, see all charges and credits, and pay online.
See [Sharing payment links](/billing/sending-payment-links) for more details.
# How billing works
Source: https://docs.probaseapp.com/billing/how-billing-works
Understand billing line items, invoices, and customer balances
## Overview
ProBase tracks all charges and credits on each customer's account using **billing line items**. These line items are automatically grouped into **invoices** that you can send to customers so they can view and pay online.
## The billing workflow
1. **Billing line items are created** — Charges are added when work is completed or on a subscription schedule
2. **A draft invoice is created automatically** — New charges are grouped into a draft invoice for that customer
3. **You send the invoice** — Tap **Send Invoice** on the invoice, or send it with the [service report](/routes/sending-service-reports) when you finish the visit, to share a payment link with the customer
4. **Customer pays** — Customers can pay online through Stripe or via cash/check (recorded manually)
5. **Invoice is marked paid** — Once the full balance is covered, the invoice closes
To accept online payments, [connect your Stripe account](/billing/stripe-setup) first.
## Invoice lifecycle
Every invoice goes through four stages:
* **Not Yet Sent (Draft)** — Created automatically when charges are added. Not yet visible to customers. Shows in the Not Yet Sent bar on the Money page.
* **Unpaid** — Sent to the customer. Visible on their payment portal. Shows as Overdue once past the payment due date.
* **Partially Paid** — A payment has been applied but the full balance is not yet covered. The invoice remains open until fully paid.
* **Paid** — All charges fully covered by payments or credits.
See [Managing invoices](/billing/invoices) for details on viewing, sending, and managing invoices.
## When billing line items are created
### Per-service billing
When you complete an appointment for a per-service customer:
1. Crew marks the appointment as complete
2. A billing line item (charge) is created automatically
3. Amount is based on the service price
4. Tax is calculated and added based on the service's tax rate
5. A draft invoice is created (or the charge is added to an existing draft)
### Subscription billing
For subscription services, billing line items are created **automatically** by ProBase on each configured billing date (the day of week, month, or year you set when creating the service). Unlike per-service billing, subscription charges are not created when appointments are completed — they are created on the billing schedule regardless of whether appointments were performed. Completing a subscription appointment still records a **\$0 "Service completed" entry** in the billing history so the visit is tracked, but it does not add a charge for the base service — the recurring charge appears separately on its billing date. Note that any [**charges** you add to a single visit](/routes/visit-charges) (extra work, materials, add-ons) *are* still billed when that visit is completed.
See [Per-service vs subscription billing](/billing/one-time-vs-subscription) for details on choosing the right billing method.
## View billing history
Each customer has a dedicated **Billing History** page showing all their charges, credits, and payments:
1. Go to **Customers** in the sidebar
2. Click on the customer's name
3. Tap the **Outstanding balance** row in the top card
The billing history page shows all line items in a timeline, grouped by date. Use the search bar, type filter, and date range picker to find specific entries.
### Filtering billing history
* **Search** — Search by title, service name, or property address
* **Type filter** — Filter to show only Charges, Credits, or Payments
* **Date range** — Filter to a specific date range with preset options
### View line item details
Click on any billing line item to open its detail panel, which shows:
* Subtotal, tax, and total amount
* Payment status (Paid or Unpaid for charges)
* Payment method (for recorded payments)
* Linked property, service, or appointment
* Description (if provided)
* For charges: which payments were applied and how much each covered
* For credits: which charges the credit was applied toward
## Add a charge or credit manually
The billing history page has dedicated **Add Charge** and **Add Credit** buttons at the top of the page:
Go to **Customers**, click on the customer's name, then click the balance amount to open billing history.
Use the **Add Charge** or **Add Credit** buttons at the top of the billing history page:
* **Add Charge** — for amounts the customer owes (fees, service charges)
* **Add Credit** — for discounts, refunds, or adjustments
* Enter a **Title** (required) — a short label like "Pool filter replacement" or "Late fee"
* Enter the **Amount**
* For charges, optionally enter a tax rate (%) or tax amount (\$) — the two fields stay in sync automatically
* Add an optional **Description** for additional context — descriptions appear on customer invoices so your customer can see more detail
Click **Add Charge** or **Add Credit** to save. The customer's balance will update immediately and a draft invoice will be created or updated automatically.
**Charge** amounts are negative (increase what customer owes). **Credit** amounts are positive (reduce what customer owes or add credit to their account).
## Payment status
Charges are automatically tracked as **Paid** or **Unpaid**:
* **Unpaid** — No credits have been applied to this charge yet
* **Paid** — Credits or payments have fully covered the charge amount
When you record a payment or add a credit, ProBase automatically applies it to outstanding (unpaid) charges. Partial payments show the charge as **Unpaid** until it is fully covered.
## Understanding customer balances
Each customer has a balance that's automatically calculated from all their billing line items:
* **Negative balance** (like -\$150.00) - Customer owes you money
* **Zero balance** (\$0.00) - Account is paid in full
* **Positive balance** (like \$25.00) - Customer has a credit on their account
The balance updates instantly whenever you add charges, credits, or record payments.
## Money overview
The **Money** page (accessible from **Money** in the sidebar) shows all invoices across all customers in one place. It includes summary cards for your Overdue and Unpaid totals, plus what you've been Paid this month, alongside a searchable and filterable invoice list.
See [Money overview](/billing/money-overview) for full details.
# Managing invoices
Source: https://docs.probaseapp.com/billing/invoices
View, send, and manage invoices for your customers
## What is an invoice?
An invoice is a summary of charges for a customer that you can send to them so they can view and pay online. Invoices are created automatically — whenever a charge is added to a customer's account, ProBase creates or updates a draft invoice for that customer.
## Invoice lifecycle
Invoices move through four stages:
| Status | What it means |
| ------------------ | ------------------------------------------------------------------------------------------------------------------ |
| **Not Yet Sent** | Created automatically, not yet sent. Customers cannot see it. |
| **Unpaid** | Sent to the customer. Visible on their payment portal. Moves into your **Overdue** total once the due date passes. |
| **Partially Paid** | A payment has been recorded but the full balance isn't covered yet. |
| **Paid** | All charges fully covered. No further action needed. |
## View all invoices
The **Money** page (click **Money** in the sidebar) lists all your invoices in one place. The invoice list shows each invoice's customer name, amount, invoice number, date, and status.
Use the status filter to narrow the list:
* **Not Yet Sent** — Draft invoices ready to send
* **Overdue** — Sent invoices past the payment due date
* **Unpaid** — Sent invoices not yet paid
* **Paid** — Completed invoices
## View an invoice
Click any invoice row to open the invoice detail page. The detail page shows:
* Invoice status badge (Not Yet Sent, Unpaid, Partially Paid, or Paid)
* Your business information (logo, name, address, phone, email, and website — whatever you've configured in Business Profile settings)
* Customer name and billing address
* Invoice number and issued/due/paid dates
* All line items with titles, quantity, and amounts
* Any carried-forward charges from previous unpaid invoices
* Subtotal, tax, payments & credits, total, and balance due
For charge line items with a quantity greater than 1, the invoice shows the quantity and unit price inline next to the item name (e.g., `(QTY:2, $25.00 each)`), with the line total shown to the right — giving customers a clear breakdown of every charge.
## Print an invoice
A **Print** button sits at the top of the invoice page, next to the status badge. It opens your device's print dialog, where you can send the invoice to a printer or save it as a PDF to email. The printed version drops the app's navigation and buttons and adds a proper letterhead with your branding, a **Bill to** block, and — when you take online payments — a QR code the customer can scan to pay.
See [Printing invoices](/billing/printing-invoices) for the full walkthrough and what the printout contains.
## Send an invoice
Sending an invoice transitions it from **Not Yet Sent** to **Unpaid** and makes it visible on the customer's payment portal. You'll also get the option to share the payment link via SMS.
From the Money page, click on the invoice row to open the invoice detail page.
Tap the **Send Invoice** button. The invoice is marked as sent and an invoice number is assigned.
The SMS sharing modal opens with a pre-filled message containing the customer's unique payment link.
* **Send SMS** — Opens your device's messaging app with the message ready to send (shown when a phone number is on file)
* **Copy Message** — Copies the full message to your clipboard (shown when no phone number is on file)
* **Copy** — Copies the full message (link included) to your clipboard
Once sent, an invoice cannot be reverted to draft. You can still add credits or record payments against it.
**Recording a payment also takes an invoice out of draft.** If a customer pays before you've sent the invoice, you don't have to send it first — [recording the payment](/billing/tracking-payments) assigns the invoice number and moves it to **Unpaid** (or **Partially Paid**) automatically. In the **Record Payment** invoice dropdown these still-unsent invoices are labeled **Draft** instead of a number.
**Invoicing a visit you just finished** starts on the visit, not here. The **Charged** row under **What happened** on the completed visit shows what it billed and opens that invoice, where **Send Invoice** works exactly as above. Or send it together with the report — one switch on the [send report step](/routes/sending-service-reports#whats-on-the-send-step). See [Completing a visit](/routes/completing-jobs#getting-the-invoice-to-the-customer).
## Re-share an invoice
For invoices that have already been sent, use the **Send Invoice** button on the invoice detail page to re-share the payment link at any time. This is useful for following up on outstanding balances.
A completed visit's charge lands on the customer's draft invoice as soon as you complete it, so there's never a second invoice for the same visit. Open it from the **Charged** row on the completed visit and tap **Send Invoice**, or send it with the [service report](/routes/sending-service-reports) — the same invoice number stays attached however many times you re-share the link.
## Copy a receipt link
For paid invoices, a **Copy Receipt Link** button appears on the invoice detail page. Share this link with the customer so they can view their paid receipt.
ProBase confirms with **"Link copied!"** once the link is on your clipboard. If your device blocks the copy, you'll get a red **"Copy failed. Try again."** message instead — tap the button again. See [Copying links and messages](/support/troubleshooting#copying-links-and-messages) if it keeps happening.
## Record a payment
To record a cash, check, or other offline payment against an invoice:
From the Money page, click on the invoice row.
Click the **Record Payment** button on the invoice detail page.
The customer and invoice are pre-selected. Choose the payment method and enter the amount.
Tap **Record Payment**. The invoice balance updates immediately.
See [Recording payments](/billing/tracking-payments) for full details including partial payments and overpayment handling.
## Invoices from the billing history page
Each customer has a dedicated **Billing History** page. To get there, click on the customer's name, then tap the **Outstanding balance** row at the top of their page. From the billing history page you can record payments, add charges and credits, and view all line items.
To send an invoice to a specific customer, go to the **Money** page, find their invoice, and click **Send Invoice**.
## Customer billing address
When a customer has a billing address on file, it appears on their invoices. To add or update a billing address:
1. Go to **Customers** and click on the customer's name
2. Click **Edit**
3. Scroll to the **Billing Address** section
4. Enter the address — start typing and address suggestions will appear to help you fill in city, state, ZIP, and country automatically (see [Address suggestions as you type](/customers/properties-and-addresses#address-suggestions-as-you-type))
5. Click **Save**
## Due dates
The due date on an invoice is set when you send it, using your business's payment terms. New accounts start on **Net 7** — payment due a week after sending — and you can change that (or set a custom number of days) at any time.
You also control whether the invoice shows that due date at all. By default it doesn't — the invoice prints only the **Issued** date and never mentions being past due. Turn on **Show overdue status to customers** to reveal the deadline and the past-due wording. See [Payment terms and due dates](/billing/payment-terms).
Your own invoice detail page shows the invoice exactly as the customer receives it, so the **Due** date is hidden there too while that switch is off. Your **Overdue** totals and the **Overdue** filter on the [Money overview](/billing/money-overview) still work either way — the invoice's status badge tells you where it stands.
## Carried-forward items
If a customer has unpaid charges from a previous invoice period, those charges are included on the new invoice as **Prior balance** items. This gives customers a complete picture of everything they owe in one place, even if the charges originated on an earlier invoice.
Carried-forward items are shown in a separate section below the current invoice's line items.
## What customers see
When a customer opens their payment link, they see a list of their invoices. Clicking an invoice takes them to the payment page for that invoice, where they can view the full breakdown and pay online.
See [Customer payment portal](/customers/customer-portal) for a full description of the customer experience.
# Money overview
Source: https://docs.probaseapp.com/billing/money-overview
Track all your invoices, outstanding balances, and payments in one place
## Overview
The **Money** page gives you a real-time view of all invoices across all of your customers. At a glance, you can see how much is overdue, how much is outstanding, and how much you've collected this month. From here you can view invoice details, send payment links, and record payments.
Access it by clicking **Money** in the sidebar.
## Not Yet Sent invoices
At the top of the page, a bar shows any **Not Yet Sent (draft) invoices** — invoices that have been created automatically when charges were added, but haven't been sent to customers yet. The bar shows the count and total dollar amount of these invoices.
Click the bar to filter the invoice list below to show only Not Yet Sent invoices.
## Summary cards
Below the Not Yet Sent bar are three cards with your key financial totals:
* **Overdue** — Invoices older than your configured payment due period that haven't been paid yet
* **Unpaid** — Recently sent invoices that haven't been paid yet (not yet overdue)
* **Paid (MTD)** — Total payments received this calendar month
Each card also shows a **tip rollup** — the tips included in that category, on a green line beneath the total. If your overdue total is $320 and $20 of that came from tips, the card reads $320 with **+$20.00 in tips\*\* under it. The line is left off entirely when there are no tips in that category.
Click any card to instantly filter the invoice list below to that category. Click the same card again to clear the filter.
These cards and the invoice list count **only your own invoices**. If you get work through a connected marketplace, that money is tracked separately and never blended in here — see [Marketplace earnings & payouts](/marketplace/payouts).
## Invoice list
Below the summary cards is a list of all invoices for your business. Each row shows:
* Customer name
* Invoice amount and number (if sent), plus a **Partial** indicator if a payment has been made but the balance isn't fully covered
* Date and billing address (if available)
* Payment status badge (**Not Yet Sent**, **Overdue**, **Unpaid**, or **Paid**)
The list loads a page at a time — keep scrolling and the next invoices load themselves. On a long list, **No more invoices to load.** marks the end.
### Filter by status
Use the **Status** dropdown to narrow the list:
* **All Invoices** — Shows every invoice
* **Not Yet Sent** — Shows draft invoices not yet sent to customers
* **Overdue** — Shows unpaid invoices whose due date has passed
* **Unpaid** — Shows recently sent unpaid invoices
* **Paid** — Shows paid invoices
### Search
Use the search bar to find invoices by customer name or invoice number.
### Before your first invoice
Until you've created an invoice, the Money page shows an empty list with a **Tour demo** card underneath. Tap it to open the Money page of a fully-loaded sample business and see what invoices, payments, and balances look like in a running business. The card disappears once you have invoices of your own, and it doesn't show when a search or status filter simply returns nothing. See [Tour demo from an empty screen](/getting-started/exploring-a-demo#tour-demo-from-an-empty-screen).
## View an invoice
Click on any row in the invoice list to open the invoice detail page. The invoice shows:
* Invoice status and number
* Business information (if configured)
* Customer name and billing address
* All line items with titles, descriptions, and dates
* Any carried-forward items from previous unpaid invoices
* Subtotal, tax, payments & credits, total, and balance due
## Send an invoice
Invoices are created automatically as **drafts** when charges are added. To send an invoice to a customer:
From the Money page, click on the invoice row to open the invoice detail page.
Tap the **Send Invoice** button. This transitions the invoice from draft to unpaid and opens the SMS sharing modal.
A pre-filled SMS message with the customer's unique payment link is ready to send.
* Tap **Send SMS** to open your messaging app with the message pre-filled (shown when a phone number is on file)
* Tap **Copy Message** to copy the full message to your clipboard (shown when no phone number is on file)
* Tap **Copy** to copy the full message (link included) to your clipboard
Once sent, the invoice is visible to the customer on their payment portal. You can re-share the link at any time using the **Send Invoice** button on unpaid invoices.
See [Sharing payment links](/billing/sending-payment-links) for more details on what customers see when they open their link.
## Record a payment
To log a cash, check, or other offline payment, use the **Record Payment** button at the top of the Money page, or tap **Record Payment** on the invoice detail page.
Tap **Record Payment** at the top of the Money page, or open an invoice and tap the **Record Payment** button.
Search for and select the customer. Then select the invoice the payment applies to from the **Invoice** dropdown.
Select how the customer paid and enter the amount received.
Tap **Record Payment**. The invoice balance updates immediately.
See [Recording payments](/billing/tracking-payments) for full details on payment methods, partial payments, and overpayment handling.
## Payment settings
To configure when invoices are considered overdue, click **Payments** in the sidebar under Business.
The **Invoice Settings** card at the bottom of the page lets you choose when invoices are considered overdue. Options are **Upon receipt**, **Net 7**, **Net 15**, and **Net 30** — meaning payment is due immediately, or 7, 15, or 30 days after an invoice is sent. Pick **Custom** to type your own number of days (1–180) if none of the presets fit. New accounts default to **Net 7**. Invoices that remain unpaid past the selected period appear in the Overdue category.
The same card holds three more choices, all saved together with one **Save** button:
* **Show overdue status to customers** — off by default, so the invoice hides the due date entirely and reads neutrally even while it sits in your Overdue total. Your own totals and filters are unaffected either way. See [Payment terms and due dates](/billing/payment-terms).
* **Require a star rating before payment** — whether customers rate your service before they can pay. See [Service ratings](/billing/service-ratings).
* **Tips** — whether customers are offered suggested percentages, a free-form amount, or no tip at all, plus the three percentages they see. See [Tips and gratuity](/billing/tips).
See [Payment terms and due dates](/billing/payment-terms) for the full walkthrough, or [Setting up payment processing](/billing/stripe-setup) for the Stripe connection.
# Per-service vs subscription billing
Source: https://docs.probaseapp.com/billing/one-time-vs-subscription
Understand billing types
## Why this matters
ProBase offers two billing methods: per-service billing (bill when work is done) and subscription billing (bill on a schedule). Understanding the difference helps you choose the right approach for your business and customers.
## Per-service billing
Bill customers when work is completed.
**How it works:**
1. Crew completes the visit
2. Charges are created automatically — the service's own price, plus a separate charge for each of the job's standing charges and for every [charge you added on the visit](/routes/visit-charges)
3. Customer's balance updates immediately
4. Share the payment link with customers to view their balance
**Best for:**
* One-time jobs (spring cleanup, mulch installation)
* Customers who want to pay per visit
* Variable services where work isn't always the same
**Example:**
* Customer has weekly mowing service
* Crew completes mowing on Monday
* Billing line item created for \$40
* Customer balance shows the new charge
## Subscription billing
Bill customers on a recurring schedule, regardless of when individual visits are completed.
**How it works:**
1. Set up the service with a billing interval (weekly, monthly, quarterly, semi-annual, or annual). ProBase works out the recurring billing day for you — there's no extra input to fill in.
2. On each billing date, ProBase **automatically** creates a billing line item for the subscription amount
3. Work is performed separately from billing — completing a visit does not create a charge for the base subscription service or for the job's standing charges (those are part of the recurring amount and are billed on its schedule). Any [charges you added on the visit itself](/routes/visit-charges), however, are still billed when the visit is completed
**Best for:**
* Flat-rate monthly services
* Customers who want predictable monthly bills
* Seasonal contracts billed monthly
**Example:**
* Customer pays \$160/month for weekly mowing
* You create the service on the 7th, so ProBase automatically creates a \$160 billing line item on the 7th of each month
* Work is performed weekly throughout the month
* Customer sees one monthly charge on their payment link
## Billing intervals for subscriptions
The recurring billing day is set automatically — no extra input needed. For weekly, monthly, and annual intervals it follows the day you created the service; quarterly and semi-annual charges land on a fixed calendar cycle instead. Pick the interval that matches how the customer wants to be billed:
**Weekly**
* Billed on the same weekday each week — whichever weekday you created the service on
* Good for customers who pay weekly
* Example: Create the service on a Monday, the customer is billed every Monday after that
**Monthly**
* Billed on the same day of the month each month — whichever day you created the service on
* Most common for residential customers
* Example: Create the service on the 7th, the customer is billed on the 7th of each month
**Quarterly**
* Billed once every three months, on the **1st** of each calendar quarter — January 1st, April 1st, July 1st, and October 1st
* Good for customers on a quarterly maintenance plan
* Example: Create the service on March 15th, and the first charge lands on April 1st, then July 1st, October 1st, and so on
**Semi-annual**
* Billed twice a year, on the **1st** of each calendar half — January 1st and July 1st
* Good for spring/fall or open/close style contracts
* Example: Create the service on March 15th, and the first charge lands on July 1st, then January 1st
**Annual**
* Billed on the same day of the year each year — whichever day you created the service on
* Good for seasonal contracts paid upfront
* Example: Create the service on March 1st, the customer is billed every March 1st
Quarterly and semi-annual charges land on the same dates for every customer — the 1st of January, April, July, and October for quarterly, and the 1st of January and July for semi-annual. The date you created the service doesn't shift them. Weekly, monthly, and annual intervals are the ones that follow your creation date.
Not sure when the next charge will land? Open the job, tap the **→** beside **Service details**, and the **Change Pricing** window lists the subscription's **Last** and **Upcoming** charge dates above the price fields. A subscription that hasn't billed yet reads *After next completion*.
## Set up per-service billing
Billing is set on the service template in your catalog, and every job created from it inherits it.
1. Open **Services** in the navigation drawer (under **Business**)
2. Tap **Add service** to build a new one, or open an existing service and tap **Edit**
3. Set **Billing type** to **Per service**
4. Fill in the **Starting price**
5. Tap **Save**
When visits are completed for jobs using this template, charges are created automatically.
## Set up subscription billing
1. Open **Services** in the navigation drawer (under **Business**)
2. Tap **Add service**, or open an existing service and tap **Edit**
3. Set **Billing type** to **Subscription**
4. Pick the **Billing interval** that appears — **Weekly Charges**, **Monthly Charges**, **Quarterly Charges**, **Semi-annual Charges**, or **Annual Charges**
5. Fill in the **Starting price**
6. Tap **Save**
Charges for subscription services are created **automatically** on the recurring billing day each period. Weekly, monthly, and annual subscriptions use the day you created the service; quarterly and semi-annual subscriptions charge on the 1st of the cycle month. Completing visits does not create subscription charges.
See [Your service catalog](/getting-started/service-catalog) for the rest of the form.
## Update pricing for a customer's service
Each customer's service has its own price and tax rate that can be updated independently.
To update pricing for a specific service:
1. Go to **Customers**
2. Click on the customer's name
3. Navigate to their property
4. Click on the service
5. Tap the **→** button in the top-right of the **Service details** section
6. Update the **Price** and **Tax Rate** in the Change Pricing modal
Billing type and billing interval are set when the service is created and cannot be changed afterward. If you need a different billing type, you'll need to cancel the existing service and create a new one.
## Combining both methods
You can use both billing types for the same customer:
**Example:**
* Weekly mowing: Per-service billing (\$40 per visit)
* Monthly fertilization: Subscription billing (\$60/month)
This gives you flexibility to match each service to the customer's preference.
## Viewing charges
For both billing types:
* Charges appear in the customer's billing history
* Customer balance updates automatically
* Share the payment link so customers can view their balance online
See [Sharing payment links](/billing/sending-payment-links) for details on sharing balances with customers.
# Payment terms and due dates
Source: https://docs.probaseapp.com/billing/payment-terms
Choose when invoices are due and decide whether customers see the due date and past-due wording
## What payment terms do
Payment terms set the **due date** on every invoice you send. When you send an invoice, ProBase counts forward from the send date by the number of days you've chosen and stamps that as the due date. The due date is what decides when an invoice counts as **Overdue** on your [Money overview](/billing/money-overview).
Terms are a business-wide setting — one choice that applies to every customer.
## Where to find the setting
Click **Payments** in the sidebar under Business. The **Invoice Settings** card sits at the bottom of the page, below the Stripe and Venmo cards. It holds everything about what an invoice looks like to your customer — your payment terms, the past-due wording switch, the [star-rating requirement](/billing/service-ratings), and your [tipping options](/billing/tips) — all saved together with one **Save** button.
The same **Invoice Settings** card also appears on the **Business Profile** settings page, so you can change it from either place.
**Payments** only appears in the sidebar for the **Admin** role and the business Owner — payment settings are one of the admin-level powers. See [Roles and permissions](/team/roles-and-permissions).
## Choosing your terms
Pick an option from the **Payment terms** dropdown:
| Option | When the invoice is due |
| ---------------- | ----------------------------------------------------------- |
| **Upon receipt** | Immediately, the moment the invoice is sent |
| **Net 7** | 7 days after the invoice is sent (default for new accounts) |
| **Net 15** | 15 days after the invoice is sent |
| **Net 30** | 30 days after the invoice is sent |
| **Custom** | A number of days you choose |
Click **Save** when you're done. An *Invoice settings updated.* confirmation appears.
**New accounts start on Net 7.** A freshly sent invoice gets a week before it's considered late, so a customer who opens their invoice the same day never lands on something that's already past due. If your account was created before this change, your existing choice is untouched — switch it here whenever you like.
### Setting a custom due period
If none of the presets match how you bill, pick **Custom** from the dropdown. A **Custom due days** field appears underneath — type the number of days after sending that the invoice should be due (for example `45`), then click **Save**.
Custom terms must be between **1 and 180 days**. Leave the field blank or enter a number outside that range and ProBase shows an error under the field instead of saving.
Once saved, a custom period shows up as **Custom** in the dropdown with your number still filled in, so you can adjust it later without re-picking the option.
Changing your terms applies to **new invoices only**. Invoices you've already sent keep the due date they were given.
## Showing overdue status to customers
By default, the invoice your customer opens stays **neutral**. The page is headed **Pay invoice**, the Balance Due card shows only the **Issued** date, and the **due date isn't printed at all** — so nothing on the page tells the customer they're behind, even when the date has already passed.
If you'd rather your customers see the deadline — and see when they've missed it — turn on **Show overdue status to customers** in the same **Invoice Settings** card.
Click **Payments** in the sidebar under Business. The **Show overdue status to customers** switch sits just under the payment terms in the **Invoice Settings** card and is **off** by default.
Tap the switch, then click **Save**. The *Invoice settings updated.* toast confirms the change.
The **Due** date appears next to **Issued** on the Balance Due card of every unpaid invoice. Once that date passes, it turns amber and the page heading changes from **Pay invoice** to **Pay past due invoice**. Invoices that aren't past due still read normally — they just show their due date.
The switch only changes what the **due date** does on the invoice itself — and because your own invoice detail page shows you the invoice exactly as your customer receives it, the **Due** date is hidden there too while the switch is off. Your bookkeeping is untouched either way: overdue invoices still count toward the **Overdue** total, still carry the **Overdue** badge in your invoice list, and still show up under the **Overdue** filter on the [Money overview](/billing/money-overview). Turning the switch off never changes *when* an invoice counts as overdue — it only stops the deadline being printed.
### Which one should I pick?
* **Leave it off** if you'd rather follow up on late payment yourself, in your own words — by text, call, or by re-sending the payment link. The invoice page stays a plain request to pay, with no deadline printed on it.
* **Turn it on** if you want the deadline visible on the invoice and a past-due label doing the nudging for you the moment that date passes.
Either way, pairing the setting with realistic terms helps: a customer on **Upon receipt** is technically late the day after you send, while **Net 7** gives them a week before anything changes.
## Related
* [Tips and gratuity](/billing/tips) — the tipping options in the same card
* [Service ratings](/billing/service-ratings) — the star-rating switch in the same card
* [Managing invoices](/billing/invoices) — the invoice lifecycle and statuses
* [Money overview](/billing/money-overview) — where overdue totals show up for you
* [Customer portal](/customers/customer-portal) — what customers see when they open their invoice
* [Setting up payment processing](/billing/stripe-setup) — connect Stripe so customers can pay online
# Printing invoices
Source: https://docs.probaseapp.com/billing/printing-invoices
Print an invoice on paper or save it as a PDF, with your branding, a Bill-to block, and a Pay-online QR code
## Overview
Some customers still want paper — a copy left in the door, handed over at the end of a visit, or mailed out. Every invoice page in ProBase has a **Print** button that hands off to your device's normal print dialog, where you can send it to a printer or choose **Save as PDF** and attach the file to an email.
You don't need to set anything up. The printed page is laid out for you: your business letterhead at the top, a **Bill to** block for the customer, the line items and totals, and — when you take online payments — a QR code the customer can scan to pay.
## Print an invoice
Go to **Money** in the navigation and tap the invoice you want. See [Managing invoices](/billing/invoices) for the full list and its filters.
**Print** sits at the top of the invoice page, next to the status badge.
Your browser's print dialog opens. Pick your printer and print, or choose **Save as PDF** (called **Print to PDF** on some devices) to get a file you can email or keep.
The print dialog belongs to your browser or phone, not to ProBase, so it looks a little different on every device. Paper size, margins, and the number of copies are all set there.
## What the printout looks like
The printed page is not a screenshot of the app. Everything that's only useful on screen — the navigation, the back arrow, the status badge, the **Send Invoice** and **Record Payment** buttons — is left off, and a proper invoice letterhead is added in its place.
From the top down, a printed invoice carries:
| Section | What's on it |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Letterhead** | Your business logo, name, address, phone, email, and website — whatever you've filled in under [Business Profile](/getting-started/settings) |
| **INVOICE** | The invoice number (or **Draft**, if it hasn't been sent yet), the **Issued** date, and the **Due** or **Paid** date |
| **BILL TO** | The customer's name, billing address, email, and phone |
| **Line items** | Every charge with its price, any carried-forward **Prior balance** items, then subtotal, tax, payments and credits, total, and **Balance due** |
| **Pay online** | A QR code and payment link, when you take online payments and money is still owed — see below |
**Missing branding fills itself in.** An invoice stores a snapshot of your business details at the moment you sent it. If you'd left your address or logo blank back then and have since added them, the printout uses what's on your Business Profile today — so old invoices reprint with your current branding rather than a half-empty letterhead.
**The Due date follows your setting.** If **Show overdue status to customers** is off — which is the default — the printed invoice shows only the **Issued** date and never mentions a deadline, exactly as the on-screen version does. Turn it on in [Payment terms and due dates](/billing/payment-terms) and the **Due** date prints too. A paid invoice always prints its **Paid** date instead.
## The Pay online QR code
When a customer can pay you online, the printout carries a **Pay online** block under the totals: a QR code, and the same payment link spelled out underneath it. The customer points their phone camera at the code, and their [payment portal](/customers/customer-portal) opens on that exact invoice, ready to pay.
The block appears when all three of these are true:
* You accept online payments — either [Stripe is connected](/billing/stripe-setup) or [Venmo is turned on](/billing/venmo-payments)
* The invoice still has a balance owed
* The invoice belongs to a customer with a payment portal link
A fully paid invoice prints without it — there's nothing left to scan for — and so does an invoice from an account that hasn't set up online payments yet.
The QR code points at the same link you'd share by text from **Send Invoice**. Printing one doesn't send anything to the customer; it just gives them a way to pay off a piece of paper. See [Sending payment links](/billing/sending-payment-links).
## Customers can print too
The same **Print** button sits on the customer's own invoice page in their payment portal, next to the **Pay invoice** heading — so a customer can keep a copy or print one for their records without asking you for it.
Their printout is the same clean invoice: your letterhead, the **Bill to** block, the line items and totals, and each visit's summary with the photos your crew uploaded. The card payment form, the tip selector, the Venmo block, and the portal's own header all drop off — those only make sense on screen.
## Saving an invoice as a PDF
There's no separate **Download PDF** button — your device's print dialog does the job:
* **iPhone or iPad** — tap **Print**, then pinch outward on the preview, or use the share icon and choose **Save to Files**.
* **Android** — tap **Print**, then pick **Save as PDF** from the printer list.
* **Computer** — choose **Save as PDF** (Chrome, Edge) or **PDF → Save as PDF** (Safari) in the destination list.
The saved file is a normal PDF you can attach to an email, drop into your accounting software, or keep for your records.
## Next steps
* [Managing invoices](/billing/invoices) — sending, re-sharing, and recording payments
* [Payment terms and due dates](/billing/payment-terms) — what the **Due** line says, and whether it prints at all
* [Customer payment portal](/customers/customer-portal) — where the QR code takes your customer
* [Business Profile](/getting-started/settings) — the logo and contact details on the letterhead
# Sharing payment links
Source: https://docs.probaseapp.com/billing/sending-payment-links
Send invoices and share payment links with customers
## Overview
Payment links give customers a simple page where they can view their invoice, see all charges, add an optional tip, and pay online with a credit card. Each invoice has a unique, secure link that you can share via text or email.
To accept online payments, you'll need to [connect your Stripe account](/billing/stripe-setup) first. Without Stripe connected, customers can still view their invoice but can't complete payments online.
## Send an invoice via SMS
The fastest way to share a payment link is through the **Send Invoice** button on the invoice detail page, which prepares a personalized text message with a direct link to the invoice.
From the **Money** page, click on the invoice you want to send.
Tap the **Send Invoice** button. If the invoice is a draft, this transitions it to unpaid and assigns an invoice number.
The SMS sharing modal opens with a pre-filled message containing the customer's unique invoice link.
* **Send SMS** — Opens your device's native SMS app with the message pre-filled (requires a phone number on the customer's account)
* **Copy Message** — Copies the full message to your clipboard so you can paste it anywhere (shown when no phone number is on file)
* **Copy** — Copies the full message (link included) to your clipboard
The button reads **Copied!** for a couple of seconds once the message is on your clipboard. If your device refuses the copy — which can happen on a phone when something else has hold of the screen — you'll see **"Copy failed. Try again."** instead, so you never paste an empty message by mistake. Just tap the button again.
The payment link goes directly to the specific invoice. Customers can also navigate to their full invoice history from the invoice page.
## Sending the invoice for a completed visit
There are two ways to get a completed visit's invoice to the customer.
### With the service report
The quickest is the [send report step](/routes/sending-service-reports) that opens the moment you complete a visit. If there's money due, a switch offers **Include this month's invoice** (or **Include their outstanding balance**) — turn it on and the customer gets one message with what you did and what they owe. The invoice is marked sent at the same time.
The invoice only rides along once. Re-sending the report later never bills the customer a second time.
### On its own, from the visit
Under **What happened**, the **Charged** row shows what the visit billed and where it landed — *\$85.00 · Draft invoice*. Tap its chevron.
The invoice page opens with the line items, totals and balance, and a **Send Invoice** button.
The invoice is marked as sent and the SMS step opens with the message and payment link ready.
* **Send SMS** — opens your messaging app with the message pre-filled
* **Copy Message** — copies the full message (when no phone number is on file)
* **Copy** — copies the full message, link included, to your clipboard
Nothing here creates a second invoice. The visit's charge lands on the customer's draft invoice when you complete the visit, so the customer keeps one invoice number however many times you re-share the link.
A visit that billed nothing — a subscription visit, or a \$0 job — has no **Charged** row at all. There's nothing to invoice; the service report is what the customer gets. See [One-time vs subscription billing](/billing/one-time-vs-subscription).
## What customers see
When customers open their invoice link, they see a list of their invoices. Clicking an invoice may first show a **service review page** (for eligible service appointments), then takes them to the payment page.
### Service review
For invoices tied to a service appointment, customers are shown a **"How was your service?"** page before they can pay. They rate their experience with 1–5 stars and can optionally add a tip. The tip selector only appears once a rating is chosen, and offers the three percentages you configured plus an **Other** option for a custom dollar amount. Nothing is pre-selected — to decline a tip, the customer simply leaves the section untouched.
Both halves of that screen are yours to configure: see [Service ratings](/billing/service-ratings) to turn the rating step off entirely, and [Tips and gratuity](/billing/tips) to change or remove the tip suggestions. A customer who already rated the visit on its [service report](/customers/service-reports) isn't asked again — the stars are dropped and only the tip question remains.
Below the tip selector, customers see the full invoice card (the same one shown on the payment page) so they can preview what they're about to pay. Once they tap the floating **Continue to payment** button, their rating and tip are saved and they're taken to the payment page.
### Invoice payment page
The invoice payment page shows the full breakdown:
* Your business information (if configured)
* Their name and billing address
* Invoice number and dates (issued, due)
* All charges with titles and amounts
* Subtotal, tax, and balance due
### Payment form
When Stripe is connected, customers see a secure payment form where they can enter their credit card details and complete payment. If you've turned the rating step off, an optional **Add a tip** section appears just above the form and the **Pay** button's total updates as the customer chooses — see [Tips and gratuity](/billing/tips).
The payment form is powered by Stripe and is fully PCI-compliant. Card details are never sent to ProBase — they go directly to Stripe's secure servers.
### Paying with Venmo
If you've turned on [Venmo payments](/billing/venmo-payments), customers also see a **Pay on Venmo** button and a QR code on their invoice, pre-filled with the amount due and your invoice number. When Stripe is connected too, the card form shows first and Venmo appears below it under an **Or pay with Venmo** heading.
### Communication consent
During payment, customers may be asked to consent to receive text message communications about their account and services. This consent is optional and not required to complete payment.
### When Stripe isn't connected
If you haven't connected your Stripe account yet, customers will see a message that online payments aren't available.
They can still view their invoice and charges, but they'll need to contact you directly to arrange payment. See [Setting up payment processing](/billing/stripe-setup) to enable online payments.
## When to use payment links
Payment links are ideal for:
* Texting customers a link right after completing work so they can see their charge and pay
* Following up on outstanding balances
* Sharing via email or other communication methods
The link never expires, so customers can bookmark it and check their invoice anytime.
**On paper, the same link travels as a QR code.** If you print an invoice while a balance is still owed, the printout carries a **Pay online** block with a QR code the customer can scan to land on this same page. Handy for an invoice left in the door or mailed out — see [Printing invoices](/billing/printing-invoices).
# Service ratings
Source: https://docs.probaseapp.com/billing/service-ratings
Decide whether customers rate their service before they can pay an invoice
## Overview
Customers can rate a visit in two places:
* On the visit's [service report](/customers/service-reports) — the page they open from the link you send when you finish a job. Stars, an optional comment, and a **Submit** button.
* On the **"How was your service?"** screen ProBase can show before an invoice's payment form. They tap 1–5 stars, optionally add a tip, and then continue to pay.
The invoice step is **on by default**, and you can turn it off if you'd rather customers go straight to paying. The report's rating card is always there.
**A visit is rated once.** Whichever screen the customer used, the rating sticks — the report's card locks to what they left, and the invoice screen stops asking. There's no way for a rating to be overwritten or counted twice.
## Where to find the setting
Click **Payments** in the sidebar under Business and scroll to the **Invoice Settings** card at the bottom of the page. The switch is called **Require a star rating before payment**, and it sits between the past-due switch and the [tipping options](/billing/tips).
Flip the switch, then click **Save** at the bottom of the card — the switch is saved together with the rest of the invoice settings. An *Invoice settings updated.* toast confirms it.
**Payments** only appears in the sidebar for the **Admin** role and the business Owner. See [Roles and permissions](/team/roles-and-permissions).
## With the rating required (the default)
The customer taps their invoice and lands on the review screen first. Stars come first; the [tip options](/billing/tips) appear underneath as soon as a rating is chosen, and the invoice they're about to pay is previewed below that.
The rating really is required — if they tap **Continue to payment** without choosing stars, a short red message appears directly under the button: *A star rating is required — please select one above.* Nothing else happens until they rate.
Once they rate, their stars are saved, any tip is added to the invoice, and they're taken to the payment form.
Some invoices skip the review screen no matter what this setting says — ones that aren't tied to a completed appointment, ones the customer has already rated, and ones that are already paid.
### When the visit was already rated on its report
If the customer already left stars on the visit's [service report](/customers/service-reports), the screen doesn't ask again. It leads with **Thanks for your rating!** and shows the tip question alone — and if you don't take tips, they land straight on the invoice.
## With the rating turned off
Tapping an invoice takes the customer straight to the payment page. There's no **"How was your service?"** screen and no stars are asked for.
Tipping doesn't disappear — it moves. When the rating step is off and you accept card payments, the **Add a tip** section renders directly above the payment form, and the **Pay** button's total updates as the customer picks an amount. The tip is only charged when the payment goes through, so they can change their mind right up until they pay.
The tip selector on the invoice page is skipped when a tip has already been added to that invoice, when [tipping is turned off](/billing/tips), or when [Stripe isn't connected](/billing/stripe-setup).
## Which should I choose?
* **Keep it on** if the feedback is worth the extra tap — it's also the layout where tipping gets the most attention, because it sits on a screen of its own before the payment form.
* **Turn it off** to make paying as short as possible, for example for commercial accounts or repeat customers who pay several invoices a month.
## Where ratings show up
A rating you've been left appears in three places:
* On the visit itself, as a card under the header — *\[First name] rated your service 5 stars*, with their comment if they left one
* In your [updates feed](/getting-started/updates#customer-ratings), for everyone whose role can see reviews
* On the customer's [portal home](/customers/customer-portal#your-visits), beside the visit — *Aug 28 · Report sent · 5 of 5*
A rating left on an invoice before service reports existed shows the stars with no comment — there was nowhere to write one.
## Related
* [The customer's service report](/customers/service-reports) — the other place customers rate you
* [Tips and gratuity](/billing/tips) — what the tip section offers on each screen
* [Payment terms and due dates](/billing/payment-terms) — the rest of the Invoice Settings card
* [Customer payment portal](/customers/customer-portal) — the whole customer-side experience
* [Sending payment links](/billing/sending-payment-links) — getting the link to the customer
# Setting up payment processing
Source: https://docs.probaseapp.com/billing/stripe-setup
Connect Stripe to accept credit card payments online
## Overview
ProBase uses Stripe to process credit card payments from your customers. Once connected, customers can pay their balance online through secure payment links. You set this up in the **Credit Card Processing via Stripe** card on the Payments page.
## Connect your Stripe account
Click **Payments** in the sidebar under Business. The **Credit Card Processing via Stripe** card is the first one on the page.
Before you've connected, the card lists what Stripe gives you — accept credit and debit cards, save customer payment methods securely, and get paid directly to your bank account.
Click the **Connect with Stripe** button. This opens Stripe's secure onboarding flow where you'll provide your business information and bank account details.
Follow Stripe's prompts to:
* Verify your business information
* Provide tax details
* Connect your bank account for payouts
* Verify your identity
Once complete, you'll be redirected back to ProBase with Stripe connected.
## Account status
Your Stripe connection status appears in the **Credit Card Processing via Stripe** section:
### Pending setup
Your account is created but needs additional information from Stripe. The card reads **Complete Your Stripe Setup** — *"Your Stripe account setup is incomplete. Please finish the setup to start accepting payments."*
When Stripe has told us exactly what's outstanding, the card lists it under **Stripe still needs:** — for example *Bank account for payouts*, *Identity verification document*, or *Stripe terms-of-service acceptance*. That way you know what to have ready before you start.
Click **Continue Setup** to provide the listed items to Stripe.
### Restricted
Stripe needs additional information or verification, so payments are temporarily disabled.
The **Action Required** card explains the specific reason Stripe gave, such as:
* *Stripe is missing required verification information — the items below are past due.*
* *Stripe is reviewing the information you submitted. No action is needed unless new items appear below.*
* *Stripe is reviewing this account. No action is needed right now.*
Any outstanding items appear underneath, under **Stripe still needs:**. Click **Update Information** to provide them, or **View Stripe Dashboard** to work directly in Stripe.
Some restricted reasons are simply Stripe reviewing what you already submitted. If the card says no action is needed, there's nothing to do but wait — check back later and click **Refresh Status**.
If ProBase doesn't yet have the detail from Stripe, the card falls back to the general message *"Stripe needs additional information to verify your account."* Click **Refresh Status** to pull the latest detail, or open your Stripe Dashboard to see the full requirement list.
### Accounts Stripe has rejected
In rare cases Stripe closes an account outright — for suspected fraud, a terms-of-service issue, a prohibited-business match, or verification that couldn't be completed in time. These accounts still show as **Action Required**, but the card names the rejection reason and replaces the setup button with **Contact Stripe Support**.
Once Stripe rejects an account, ProBase can't reopen its setup — Stripe blocks new onboarding for rejected accounts, so retrying the setup button won't help. Only Stripe can review the decision, which is why the card sends you straight to [Stripe Support](https://support.stripe.com/contact).
### Active
Your account is fully connected and can accept payments. The card turns green and reads **Connected to Stripe**.
* **Charges: Enabled** - You can accept payments from customers
* **Payouts: Enabled** - Stripe can send money to your bank account
### Limited
Charges are enabled but payouts are on hold pending additional verification.
You can still accept payments, but funds won't be sent to your bank until Stripe completes verification — the card says so directly: *"You can accept payments, but payouts to your bank are on hold until verification is complete."*
### Disconnected
Your Stripe account is no longer linked to ProBase, so customers can't pay online.
This happens when the link between the two is cut on Stripe's side — most often because someone at your business removed ProBase's access from the **Connected apps** area of the Stripe Dashboard, or because the Stripe account itself was closed.
The **Credit Card Processing via Stripe** section goes back to the **Connect with Stripe** card, with an amber notice at the top explaining what happened:
> Your Stripe account was disconnected, so customers can't pay your invoices online right now. Reconnect below to keep accepting card payments.
Tap **Connect with Stripe** to link an account again — see [Connect your Stripe account](#connect-your-stripe-account). You can connect the same Stripe account you had before, or a different one.
**Saved customer cards don't survive a disconnect.** Card details are held by Stripe inside the account that was unlinked, not by ProBase, so when the link is cut those saved payment methods stop working and ProBase clears them. After you reconnect, customers will need to enter their card again the next time they pay — see [Sending payment links](/billing/sending-payment-links).
ProBase notices the disconnect on its own. Stripe tells us the moment access is removed, and if that message doesn't get through, the next time a customer opens one of your invoices or payment links — or you tap **Refresh Status** — the Payments page catches up. You may briefly see the old **Connected to Stripe** card in the meantime.
## Refresh account status
If you've made changes in Stripe or completed required steps, click **Refresh Status** to pull the latest information from Stripe into ProBase. The button appears on the **Pending setup** and **Restricted** cards, and on the connected card alongside **Open Stripe Dashboard** — so you can re-check the connection from any state.
Refreshing also updates the **Stripe still needs:** list, so it's the quickest way to confirm an item you just submitted has been accepted.
If the connection has been cut on Stripe's side, refreshing is what catches it: the connected card is replaced by the [Disconnected](#disconnected) notice and a fresh **Connect with Stripe** button.
## View Stripe Dashboard
Click **Open Stripe Dashboard** (labelled **View Stripe Dashboard** on the Action Required card) to access your Stripe account where you can:
* View transaction history
* Manage payouts
* Update bank account information
* View detailed reports
* Configure Stripe settings
## What happens after connecting
Once Stripe is connected:
1. **Payment links become active** - Customers can complete payments online through the links you share
2. **Cards are saved securely** - Customers can save payment methods for future use (stored by Stripe, not ProBase)
3. **Funds go to your bank** - Stripe deposits payments directly to your connected bank account (typically within 2 business days)
Stripe charges a processing fee for each transaction. Check Stripe's pricing for current rates.
## The rest of the payment settings page
Stripe isn't the only thing on this page. Reading top to bottom, the Payments page holds three cards:
1. **Credit Card Processing via Stripe** — everything on this page
2. **Venmo** — an optional Pay-on-Venmo button for customers who'd rather not use a card
3. **Invoice Settings** — everything about what an invoice looks like to your customer: when it's due after you send it (**Upon receipt**, **Net 7**, **Net 15**, **Net 30**, or a custom number of days), whether they see the due date and past-due wording, whether they must rate your service before paying, and how they're asked for a tip
See [Payment terms and due dates](/billing/payment-terms), [Tips and gratuity](/billing/tips), [Service ratings](/billing/service-ratings), and [Venmo payments](/billing/venmo-payments) for the full walkthroughs.
## Troubleshooting
### The "Connect with Stripe" button isn't working
Tapping **Connect with Stripe** takes you to Stripe's secure onboarding in the same window; when you finish, Stripe returns you to ProBase. If ProBase can't reach Stripe at that moment, you're returned to the Payments page with the message *"We couldn't connect to Stripe right now. Please try again."* — this is usually a temporary hiccup, so wait a moment and tap **Connect with Stripe** again. If it keeps happening, [contact support](/support/contact-support).
### "Stripe couldn't continue your account setup"
If you already have a Stripe account connected and **Continue Setup** or **Update Information** can't get you back into Stripe, you'll see *"Stripe couldn't continue your account setup. Check your payment-processing status below for what Stripe needs."*
This isn't a temporary glitch, so retrying the button won't clear it — Stripe is refusing to reopen setup because of the state your account is in. ProBase refreshes your status automatically when this happens, so scroll to the **Credit Card Processing via Stripe** card and read the reason and the **Stripe still needs:** list. From there:
* **Outstanding items are listed** — supply them in your [Stripe Dashboard](https://dashboard.stripe.com), then click **Refresh Status**.
* **The account was rejected** — use **Contact Stripe Support**; only Stripe can revisit that decision.
* **Nothing on the card explains it** — [contact support](/support/contact-support) and mention the message you saw.
### My status shows as "Pending" or "Restricted"
Read the **Credit Card Processing via Stripe** card first — it names the reason and lists whatever Stripe is still waiting on, so you usually don't need to leave ProBase to find out. Common requirements include:
* Additional business verification documents
* Bank account for payouts
* Tax ID confirmation
* Identity verification
Then click **Continue Setup** or **Update Information** to supply them.
### Customers can't complete payments
Check that your account status shows "Active" with both charges and payouts enabled. If your account is restricted, customers will see a message that online payments aren't available.
Customers who hit *"Online payments are not available yet. Please contact \[your business] for payment options."* are telling you your connection isn't live. Open **Payments**, tap **Refresh Status**, and read the card:
* **It still says Active** — the problem is elsewhere; [contact support](/support/contact-support).
* **It flips to the amber disconnected notice** — ProBase's access to your Stripe account was removed. Tap **Connect with Stripe** to relink; see [Disconnected](#disconnected).
* **It says Pending or Restricted** — finish what Stripe is asking for, as above.
In the meantime you can still take payment another way — [record a payment manually](/billing/tracking-payments) once the customer pays you by cash, check, or [Venmo](/billing/venmo-payments).
If you close your Stripe account or remove ProBase's access to it, customers will no longer be able to make online payments. They'll see a message to contact you for payment options, and your Payments page moves to the [Disconnected](#disconnected) state.
# Tips and gratuity
Source: https://docs.probaseapp.com/billing/tips
Choose how customers are asked for a tip — suggested percentages, a custom amount, or not at all
## Overview
When a customer pays online, ProBase can offer them the chance to add a tip on top of the invoice. You decide how that ask looks: three suggested percentages of your choosing, a plain "type any amount" box, or nothing at all.
Tipping is a business-wide setting — one choice that applies to every customer and every invoice.
Tipping is part of the online payment experience — customers only meet it through a [payment link](/billing/sending-payment-links). Money a customer hands you in person can still be logged as a tip when you [record the payment](/billing/tracking-payments).
## Where to find the setting
Click **Payments** in the sidebar under Business. Tipping lives in the **Invoice Settings** card at the bottom of the page, under the **Tips** dropdown.
**Payments** only appears in the sidebar for the **Admin** role and the business Owner. See [Roles and permissions](/team/roles-and-permissions).
## The three tipping options
| Option | What the customer sees |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **Suggested percentages** (default) | Three percentage buttons you choose, each showing the dollar amount it works out to, plus an **Other** button for typing a different amount |
| **Custom amount only** | A single dollar box — no suggestions, the customer types whatever they like |
| **Don't ask for tips** | Nothing. The tip section is hidden everywhere in the customer portal |
Pick an option and click **Save**. An *Invoice settings updated.* toast confirms the change.
Nothing is ever pre-filled as a tip on the review screen — a customer who doesn't want to tip just leaves the section alone and carries on to payment.
## Choosing your suggested percentages
With **Suggested percentages** selected, a **Tip percentages** row of three boxes appears underneath.
Enter three whole numbers between **1 and 100** — one per box. They have to be three *different* numbers.
Click **Save**. The *Invoice settings updated.* toast appears and your percentages are stored, always ordered lowest to highest.
The next customer to open a payment link sees exactly the percentages you set, with the dollar amount each one works out to printed underneath.
Until you save a set of your own, customers see ProBase's built-in suggestions (in the 15–25% range). Saving once locks every customer-facing screen to your exact three.
Leave a box blank, use a number outside 1–100, or repeat the same number twice and ProBase shows an error under the field instead of saving.
Switching to **Custom amount only** or **Don't ask for tips** doesn't erase your percentages. Switch back to **Suggested percentages** later and your saved numbers are still there.
## Where customers meet the tip question
Which screen asks depends on whether you [require a star rating before payment](/billing/service-ratings):
* **Rating required (the default)** — the tip is asked on the **"How was your service?"** screen, appearing right after the customer picks their stars.
* **Rating turned off** — the tip sits directly above the payment form on the invoice page, and the **Pay** button total updates as the customer changes it.
* **The payment link page** — a customer paying down their whole balance rather than a single invoice sees an **Add a tip (optional)** row with a **No tip** button alongside your percentages. (**No tip** is always available there, and 20% starts selected only when 20% happens to be one of your three.)
In **Custom amount only** mode, each of those screens shows a plain dollar box instead of the buttons.
## After the tip is paid
A tip becomes its own **Tip** entry in the customer's billing history once the payment goes through, so it never gets confused with the service charge. Tip totals also roll up on your [Money overview](/billing/money-overview) — each summary card shows how much of that total came from tips.
## Related
* [Service ratings](/billing/service-ratings) — decides which screen asks for the tip
* [Payment terms and due dates](/billing/payment-terms) — due dates and past-due wording, in the same card
* [Customer payment portal](/customers/customer-portal) — the full customer-side walkthrough
* [Recording payments](/billing/tracking-payments) — logging tips paid in cash or by check
# Recording payments
Source: https://docs.probaseapp.com/billing/tracking-payments
Track online and offline payments
## Overview
ProBase tracks all customer payments, whether they're made online through Stripe or offline through cash, check, or other methods. Payments are always recorded against a specific invoice.
## Online payments through Stripe
When you [connect your Stripe account](/billing/stripe-setup), customers can pay online through their payment link:
1. Share the customer's invoice link (via **Send Invoice** on the invoice detail page, or the invoice switch on the [send report step](/routes/sending-service-reports) when you finish a visit)
2. Customer opens the link, selects their invoice, and enters card details
3. Payment is processed through Stripe
4. A credit is automatically applied to the invoice
5. Funds are deposited to your bank account (typically within 2 business days)
Online payments are recorded automatically - you don't need to do anything. The payment will appear in the customer's billing history.
### You'll hear about it either way
You don't have to sit and watch the billing page. ProBase drops an [update](/getting-started/updates) in the bell for everyone on your team who can see money when a card payment goes through — and when one doesn't:
* **Payment received** — the card cleared, whichever way it was taken
* **Payment failed** — the card was declined, so the invoice is still owed
* **Card on file removed** — the saved card is gone, so nothing can be charged automatically until the customer enters a new one
* **Payment disputed**, then **Dispute won** or **Dispute lost** — the customer challenged a charge with their bank
Tapping any of them opens that customer's billing history.
A dispute has a deadline set by the customer's bank, and it's handled in your [Stripe Dashboard](https://dashboard.stripe.com), not in ProBase. Act on a **Payment disputed** update quickly.
## Recording offline payments
When a customer pays you by cash, check, bank transfer, or any other offline method, use the **Record Payment** action to add it to their account.
Tap **Record Payment** at the top of the Money page. You can also open any invoice's detail page and tap the **Record Payment** button, which will pre-select the customer and invoice for you.
If the customer isn't pre-selected, search by name, email, phone, or address. The customer's current balance is shown next to their name.
Choose which invoice this payment applies to from the **Invoice** dropdown. The dropdown shows all open invoices for that customer with their remaining balance.
Each option is labeled by invoice number and amount — for example **#00031 — $50.00**. An invoice that hasn't been sent yet doesn't have a number, so it's labeled **Draft** instead: **Draft — $50.00**.
Select how the customer paid:
* **Cash**
* **Check**
* **Credit Card** (manual card transaction, not Stripe)
* **Bank Transfer**
* **Venmo / Zelle**
* **Other** (enter a custom description)
Enter the payment amount. You can also add optional notes (e.g., check number, reference, or memo).
Click **Record Payment**. A confirmation toast will appear showing the customer's updated balance status.
**Paying a not-yet-sent invoice finalizes it.** If you record a payment against an invoice labeled **Draft**, ProBase takes it out of draft first — it assigns the next invoice number, stamps the issued and due dates, and moves it to **Unpaid** — and then applies your payment. That way the payment always lands on a real, numbered invoice you can share with the customer. If the payment doesn't cover the whole balance, the invoice shows as **Partially Paid**. See [Managing invoices](/billing/invoices).
If a customer pays you through the **Pay on Venmo** button on their invoice, the money lands in your Venmo account — ProBase doesn't record it automatically. Use these same **Record Payment** steps (with the **Venmo / Zelle** method) to mark the invoice paid. See [Accepting Venmo payments](/billing/venmo-payments) for how to turn Venmo on.
## Payment status tracking
ProBase automatically tracks whether each charge has been paid:
* **Unpaid** — The charge has not been fully covered by credits or payments yet
* **Paid** — Credits or payments have fully covered the charge amount
When you record a payment, ProBase automatically applies it toward any outstanding (unpaid) charges on the customer's account.
### Partial payments
If a customer makes a partial payment:
1. Record a payment for the amount received
2. The charge will remain **Unpaid** until it's fully covered
3. When they pay the remainder, record another payment
4. Once fully covered, the charge is marked **Paid**
For example, if a customer owes $100 and pays $40:
* Record a \$40 payment
* The charge stays **Unpaid** (still \$60 outstanding)
* When they pay the remaining \$60, record another payment
* The charge is then marked **Paid**
## Overpayment handling
If you record a payment for more than the customer owes, ProBase detects the overpayment and lets you choose what to do with the extra amount.
When you enter an amount that exceeds the customer's balance, an amber prompt appears showing exactly how much extra you've entered and giving you two options:
* **Record as tip** (default) — The full payment is recorded, and the excess is split off as a separate tip entry. Two line items appear in the billing history: a payment for the full amount and a tip for the overage.
* **Apply as credit** — The full payment is recorded as a credit on the customer's account. Their balance goes positive, meaning they have a credit toward future charges.
From a customer's billing history, click the **Record Payment** button at the top of the page.
Select the invoice and payment method, then enter an amount greater than what the customer owes. An amber overpayment prompt will appear showing the excess amount.
Select **Record as tip** to split the excess into a tip entry, or **Apply as credit** to leave it as a credit on their account. The default is **Record as tip**.
Tap **Record Payment**. A confirmation message appears and the billing history updates immediately.
When recorded as a tip, the billing history shows both the payment and the tip as separate line items.
When you choose **Record as tip**, the customer's balance is fully cleared and the tip appears as its own line item labeled "Tip" in the billing history.
## Viewing payment history
To see all payments for a customer:
1. Go to the customer's page
2. Click the balance amount to open billing history
3. Use the **Type** filter and select **Payments** to see only payment entries
4. Click any entry to see full details including payment method and which charges it was applied to
## Payment methods comparison
| Method | Recording | Deposit time | Fees |
| ------------------- | -------------- | ------------------------- | --------------------- |
| **Online (Stripe)** | Automatic | Typically 2 business days | Stripe processing fee |
| **Cash** | Record Payment | Immediate | None |
| **Check** | Record Payment | Varies | None |
| **Bank transfer** | Record Payment | Varies | Varies by bank |
| **Venmo / Zelle** | Record Payment | Immediate to 1-3 days | Varies by service |
Online payments through Stripe require you to [connect your Stripe account](/billing/stripe-setup) first.
# Accepting Venmo payments
Source: https://docs.probaseapp.com/billing/venmo-payments
Let customers pay you on Venmo with a QR code and Pay-on-Venmo button on their invoice
## Overview
Venmo gives your customers another way to pay their invoice — without you needing to set up card processing. When you turn Venmo on and enter your username, every unpaid invoice shows a **Pay on Venmo** button and a QR code the customer can scan with their phone. Each payment is pre-filled with the exact amount due and your invoice number, so you can match it up when it lands.
Venmo payments are handled entirely inside Venmo. ProBase doesn't connect to your Venmo account or track the money automatically — once a payment arrives in Venmo, you record it in ProBase yourself using **Record Payment** (see [Tracking payments](/billing/tracking-payments)). This is different from [Stripe](/billing/stripe-setup), where card payments are recorded for you.
## Turn on Venmo
Click **Payments** in the sidebar under Business. The **Venmo** card sits in the middle of the page, between **Credit Card Processing via Stripe** and **Invoice Settings**.
Turn on the **Enable Venmo payments** switch.
Type your Venmo username into the **Venmo username** field. A leading `@` is optional — ProBase strips it for you.
As soon as you enter a username, a live **Preview — what your customer sees** appears below the form, showing the exact Pay-on-Venmo block your customers will get.
Click **Save**. A confirmation appears and Venmo is now active on your invoices.
Switching Venmo on also ticks off the **Get paid faster** step on your [HomeBase Get started checklist](/getting-started/homebase#get-started-checklist) — you don't need Stripe as well for that step to complete.
Double-check your Venmo username is spelled exactly right. ProBase saves it as you enter it and does not verify it against Venmo, so a typo would send customers to the wrong handle.
## What customers see
On any unpaid invoice, customers see a Venmo card with:
* **The amount due** — matches the invoice's remaining balance
* **A QR code** — customers scan it with their phone camera to open Venmo with everything pre-filled
* **Your Venmo handle** — shown so they can confirm who they're paying
* **The invoice reference** — a note like `PBINV#00001` that Venmo attaches to the payment, so you can match it back to the invoice
* **A Pay on Venmo button** — opens the Venmo app on a phone
* **An Open in browser link** — a fallback for customers paying from a desktop
If you also have [Stripe](/billing/stripe-setup) connected, customers see the credit-card form first and the Venmo option second, under an **Or pay with Venmo** heading — so they can choose whichever they prefer.
## Recording a Venmo payment
Because Venmo runs outside ProBase, marking an invoice paid is a manual step:
Check your Venmo account for the incoming payment. The note on the payment (for example `PBINV#00001`) tells you which invoice it's for.
From the **Money** page or the customer's billing history, click **Record Payment**, choose **Venmo / Zelle** as the method, select the matching invoice, enter the amount, and save. The customer's balance updates immediately.
See [Tracking payments](/billing/tracking-payments) for the full walkthrough.
## Turning Venmo off
To stop showing the Venmo option on invoices, return to the **Venmo** card in Payment Settings, turn off **Enable Venmo payments**, and click **Save**. The Pay-on-Venmo block disappears from customer invoices right away.
# Building checklists
Source: https://docs.probaseapp.com/checklists/building-checklists
Create your own in-job forms with the checklist builder
## Creating a checklist
From the **Checklists** library (under Business in the sidebar), tap **New checklist** to open the builder. The builder is designed mobile-first, so it works the same on your phone in the field as it does on a desktop.
Give your checklist a name at the top — for example, "Spring Pool Open" or "Weekly Service Walkthrough".
## Choosing when the checklist appears
Under **When should this appear?**, pick which visits should include this checklist:
* **Every visit** — the checklist appears on every appointment for the services it's attached to. Best for routine work you want captured each time, like water chemistry readings.
* **First visit only** — the checklist appears only on the first appointment for a service. Useful for a one-time setup or intake form.
* **Assessments** — the checklist is used for assessment/quote visits rather than being tied to a specific service.
When you choose **Assessments**, the "Attach to services" option is hidden — assessment checklists aren't tied to a specific service.
## Adding sections and questions
Checklists are organized into **sections**, and each section holds one or more **questions**. Give each section a name (like "Water chemistry" or "Tasks completed") to group related questions together.
To add a question, tap **Add question** within a section. On a phone, a bottom sheet slides up so you can pick the question type.
Once you pick a type, a question card appears. Fill in the question label (what you're asking) and any type-specific options.
### Question types
Checklists support eight question types, so you can capture the right kind of answer for each item:
| Type | Use it for |
| -------------------- | --------------------------------------------------------------- |
| **Short answer** | One line of text |
| **Long answer** | Longer free-form notes |
| **Dropdown** | Picking one option from a list |
| **Checkbox** | Checking all that apply from a list |
| **Numerical answer** | Readings and counts, with an optional unit (like `ppm` or `pH`) |
| **Date** | A specific day |
| **Photo upload** | Before/after photos |
| **Signature** | A sign-off, captured on a signature pad |
For **Numerical** questions you can set a unit (for example `ppm`, `pH`, or `°F`) that appears next to the answer field. For **Dropdown** and **Checkbox** questions, you define the list of options crews choose from.
### Per-question options
Each question card has a few toggles:
* **Required** — mark a question required and the crew must answer it before the visit can be completed. Required questions show a marker so they're easy to spot.
* **Add instructions** — turn this on to show a short hint under the question (for example, "Read after 30 seconds").
* **Include in service record** — when this is on, the answer is saved to the property's [service records](/routes/service-records) when the visit is completed, so a "pH reading" numeric answer becomes a chemical-reading service record without anyone re-typing it.
* **Include in customer summary** — when this is on, the answer appears on the customer's invoice as part of the **Service Report** once the visit is completed. See [Showing answers on the customer invoice](#showing-answers-on-the-customer-invoice) below.
These last two switches are independent, so a single question can land on the service record, on the customer summary, on both, or on neither.
### Setting a whole section at once
Every section has two switches at the top — **Include all in service record** and **Include all in customer summary**. Flipping one applies that setting to every question in the section, so you don't have to toggle each question one by one. You can still override any individual question afterward with its own per-question switches.
To save you setup time, both section switches start **on** when you add a new section — the common case is to include everything. Any question you add then inherits the section's current switch settings, so a question added to a section that's fully included is already set to appear on both the service record and the customer summary. Flip either switch off before or after adding questions to change it.
## Previewing your checklist
At any time, switch to **Preview** to see exactly how the checklist will look to your crew on a real job. Switch back to **Edit** to keep building.
## Reordering sections and questions
Drag the grip handle on any section or question to reorder it. While you drag, the other items condense to compact rows so it's easy to see where the item will land. Release to drop it into place.
## Attaching checklists to services
For a checklist to appear on jobs, it needs to be attached to the services it applies to.
### From the builder
In the builder, under **Attach to services**, tap **Add services** and pick the services this checklist should appear on. Selected services show as chips you can remove at any time. (This option is hidden when the checklist's timing is set to **Assessments**.)
If your business works in more than one industry, the **Add services** picker shows a **Filter services by industry** row of chips at the top. Tap a trade to narrow the list to just that industry's services before picking — tap it again to clear it, or select several trades to show them all. The filtering happens instantly as you tap, alongside the search box.
### From a service
You can also attach a checklist directly from a service in your catalog:
Go to **Services** in the sidebar and open the service you want to add a checklist to. Scroll to the **Checklists** section.
If no checklists are attached yet, you'll see an empty state explaining what checklists do, with a button to add one.
Tap the add button to open the checklist picker. Search for and select the checklist you want, then save — no page reload needed.
The checklist now appears in the service's checklist list. It will show up on jobs for that service based on its timing setting.
## Ordering checklists on a service
A service can have more than one checklist attached — for example a ProBase chemistry template alongside your own "Weekly walkthrough". When two or more are attached, the service's **Checklists** section shows a grip handle on each one so you can **drag them into the order you want**. That order is exactly the order they'll appear on the job, top to bottom.
Your own checklists and ProBase checklists share one list — neither is forced to the top. Whatever order you arrange them in is the order your crew sees on the job. With only one checklist attached there's nothing to order, so the handle is hidden and you'll see a prompt to add another.
## Showing answers on the customer invoice
You choose which answers customers see by turning on **Include in customer summary** — either on an individual question, or on a whole section at once with **Include all in customer summary** (see [Per-question options](#per-question-options) above). Any question marked this way appears on the customer's invoice as part of a **Service Report** once the visit is completed.
This is a great way to give customers a clear, professional record of the work performed — for example, showing the chemistry readings and a customer signature right on their invoice, while keeping internal-only questions off the summary. See [The customer Service Report](/checklists/completing-checklists#the-customer-service-report).
## Saving
Tap **Save** to save your checklist. You'll see a confirmation that the checklist was saved, and it will appear in your Checklists library, ready to attach to services and use on jobs.
# Completing checklists on a job
Source: https://docs.probaseapp.com/checklists/completing-checklists
Fill out checklists in the field and share the results with customers
## Where checklists appear on a job
Every checklist that applies to a visit is on the **Visit** tab of [the visit page](/routes/visit-page), under a **Checklists** heading, as rows inside one card. The pinned **Before photos** and **After photos** rows come first, then any checklists attached to the service, in the order you arranged them (see [Ordering checklists on a service](/checklists/building-checklists#ordering-checklists-on-a-service)).
Each row shows the checklist's name and, on the right, where it stands — **3 of 8 answered** for a question checklist, **4 photos** for a photo one. A checklist nobody has touched yet shows just its name: no zero, no "not started" label.
Tap a row and it **opens in place**, right there in the card. You never leave the visit page, so the header, the timer and everything else stay where they are.
Each question shows its label, any instruction you added when building it, and the right kind of input for its type — a number field, a dropdown, a photo picker, a signature pad, and so on. A required question that's still blank says **Required** underneath it; the word disappears the moment you fill it in.
Only one row is open at a time. Tapping another row closes the one you were in — nothing is lost, because answers save as you go.
You can fill checklists in **before** you tap **Start visit**, while the visit is running, or after you pause. They're always available on a visit that hasn't been completed or cancelled.
**Checklists don't appear on [marketplace jobs](/marketplace/marketplace-jobs).** A marketplace visit is finished in the marketplace app rather than in ProBase, so there's no completion step here for the answers to be filed against — a marketplace visit has no **Visit** tab at all. Your checklists run as normal on all of your own work.
## Answers save as you go
You don't need to press a save button. Answers **save automatically** as you enter them, and the count on the row header updates straight away.
Because answers go to the server as you go, your progress is safe even if you close the app, lose signal for a moment, or switch devices. Reopen the visit later — even on a different phone — and everything you entered is still there.
## Before photos and After photos
Every job visit gets two photo rows at the top of the card, whatever trade you're in and whether or not the service has any other checklists on it:
* **Before photos** — for you and your crew, unless you tick **Include before photos** when you [send the report](/routes/sending-service-reports#whats-on-the-send-step)
* **After photos** — with a line underneath reading *Shared with the customer.* These are the pictures that go onto the customer's service report every time
A job with no service template behind it still gets both rows.
Open either row and you get a grid of photo tiles with an upload area beneath. An empty row says so in a line of text — **No photos yet.** while you can still add to it, **No photos were uploaded.** on a finished visit — rather than showing an empty box.
See [Before photos and After photos](/checklists/system-checklists#before-photos-and-after-photos) for where the two templates come from and how to take one off a service.
## Taking photos
For any **Photo upload** question — the two photo rows, or an image question on a checklist you built — tap the upload area to add pictures straight from your phone's camera or photo library. Each photo is uploaded and attached to the visit right away; it isn't just a preview on your screen.
Once a photo is uploaded, it appears as a tile and the question counts as answered.
You can add **more than one photo** to the same question — tap the upload area again to pick another. Each photo is uploaded one at a time and added to the question, so a single **Before photos** row can hold as many shots as the job needs.
Pick the photo exactly as your camera took it — there's nothing to shrink or convert first. A 12-megapixel shot is several megabytes, so **your phone makes a smaller copy before it sends it**: a picture wide enough to fill a screen or print a 6×4, at a fraction of the size. That's the copy that's saved, and it's why a photo goes up in a moment on a field signal instead of a minute.
Small pictures — a screenshot, a photo someone already shrank — are sent exactly as they are. There's no setting for any of this, and nothing to turn on.
### Watching an upload go up
While your pictures are on their way, the upload area tells you where it stands rather than just spinning: **Uploading 1 of 2 · 45%** on a pick of several photos, **Uploading… 45%** on a single one. The count is the file it's on, the percentage is how far through that file it is.
Photos go up **one at a time**, in the order you picked them, and each tile appears as its photo lands. Once every picture has arrived, a short **Saving photos…** line shows while the answer is filed against the visit, then the row's count updates.
You can keep working while they go — fill in another answer, or scroll the page. Don't leave the visit page mid-upload, though: pictures still on their way when you navigate away won't be saved.
### If a photo doesn't make it
Field signal drops. ProBase handles the ordinary case for you:
* **A photo that fails is retried automatically** — twice more, on a fresh connection each time. When a retry works, all you see is the tile appearing a moment later than usual; there's nothing to tap.
* **One bad photo never takes the rest down with it.** If the last try still fails, the remaining pictures in your pick carry on uploading.
* **You're told exactly what's missing.** A line under the upload area names the count: *"1 of 2 photos didn't upload — check your connection and add them again."* (or *"The photo didn't upload — check your connection and try again."* when it was a single picture).
The photos that did land are already saved and showing as tiles — only the named ones need picking again. Move somewhere with better signal and add them; the line clears as soon as your next pick goes through.
Compare the tiles against what you took before you leave the row. A photo ProBase never received isn't on the visit, and the line naming it goes away on your next pick.
### Viewing and removing photos
Tiles are small by design, so:
* **Tap a tile to open the full-size photo in a new tab.** Useful for checking a shot is in focus and shows what you meant before you move on.
* **Remove a photo** with the small **✕** on its tile. On a computer the button appears when you hover over the picture. Tapping ✕ only removes the photo — it won't open the full-size view.
Once the visit is complete the checklist is locked, so the ✕ disappears — but the tiles still open full size, so you can always go back and look at what was captured.
### Photos from an iPhone
An iPhone saves its pictures in Apple's **HEIC** format unless you've changed the camera setting, and a lot of things can't open that file — Android phones, most web browsers, printers, and some of the apps your customers use. ProBase turns those into an ordinary **JPEG** as it saves them, so the picture shows up everywhere it needs to:
* The tile on the visit shows the photo instead of a blank or broken box, whoever opens the job
* The **After photos** you share reach the customer's [service report](/customers/customer-portal) as a picture they can actually open
* The photo downloads and prints like any other
There's nothing to switch on, and you don't need to change your iPhone to **Most Compatible** in **Settings → Camera → Formats**. Pictures taken before this was introduced are converted in the background the first time someone opens the photo row they're on.
Very occasionally a phone produces a file ProBase can't convert. The photo is still saved and still attached to the visit — nothing is lost — it just stays in its original format.
### Why photos open quickly
A photo from a modern phone is a big file, so ProBase doesn't make you download the whole thing just to see a tile:
* **The tile is a small preview.** A scaled-down copy of your picture is what you see in the grid, so a row holding a dozen shots opens in a moment even on a patchy signal out in the field.
* **The full picture is only fetched when you ask for it** — when you tap the tile to open it full size.
* **A row you haven't opened loads nothing at all.** The photos in a closed **Before photos** or **After photos** row aren't downloaded until you tap the row open, so the visit page itself stays quick however many pictures are on the job.
Pictures taken on your jobs before this improvement may take their old, slower moment the first time their row is opened. ProBase makes a preview for them in the background while you look, so the next time you open that row it loads like everything else — there's nothing for you to do. A photo in a format ProBase can't shrink is still saved and still shown; it just loads at full size every time.
On a desktop or laptop you can also **drag an image straight onto the photo area** and drop it — the drop target lights up while you drag, and the picture uploads exactly the same way as picking it from the file browser.
Because photos are saved to the visit as you add them, they survive a reload or a switch to another device — reopen the visit and your pictures are still attached.
## AI-assisted answers
On some accounts, checklists can be **pre-filled with AI suggestions** drawn from the notes already on the job (assessment notes, job notes, or the visit notes you've been typing). When suggestions are available:
* The checklist row shows a small pill with the number of suggested answers.
* Opening the row shows a banner like **"AI found 1 possible answer"**, and each suggested field is marked with an **AI suggested** indicator plus **Accept** and **Reject** controls.
* Tap **Accept** to keep a suggested value (it's saved just like any other answer), or **Reject** to clear it and enter your own. You're always in control — nothing is committed until you accept it.
You can also use the **Dictate notes to fill fields** panel in the same row: speak or type free-form notes (for example, "free chlorine 2 ppm, pH 7.4, pump making noise") and ProBase parses them into the matching checklist fields for you to review.
AI-assisted checklist answers are a suggestion only — always review them before accepting. Accepted values persist across reloads and device switches just like anything you type by hand.
### Automatic drafting when you finish a checklist
On accounts with AI assistance turned on, ProBase can go one step further: once you've filled in a visit's checklists and move on into the completion form, it can **draft your service records from the checklist answers automatically**, without you having to press the **AI Assist** button.
While it prepares that first draft, a full-screen **"Analyzing your visit…"** indicator covers the form so you know the work is in progress. When it finishes, the completion form is pre-filled with the drafted records and a customer-facing summary, ready for you to review and edit — exactly as if you'd tapped **AI Assist** yourself.
This only happens on a clean slate: if you've already added records or run AI Assist on the visit, ProBase leaves your work untouched rather than overwriting it. See [Letting AI write it up](/routes/completing-jobs#letting-ai-write-it-up) for how to review and adjust the drafted results.
#### It only drafts from what you wrote
The automatic draft is made from **written** checklist answers — a reading, a measurement, a note you typed or dictated into a question. Photo and signature questions aren't part of it:
* **Your photos are never sent to the assistant.** A picture on **Before photos**, **After photos** or any other photo question stays on the visit; only the words you entered are read.
* **A photos-only visit doesn't wait.** If the only things on this visit's checklists are pictures, there's nothing to draft from — no **"Analyzing your visit…"** screen appears and you land straight on the completion form.
You're never stuck: write what you did in **Visit notes** on the form and tap **AI Assist** (✦) whenever you want the records pulled out of it.
## Required questions and completing the visit
If a checklist has **required** questions, they must be answered before the visit can be marked complete.
When you tap **Complete visit**, any checklist that still has a required blank opens first — one screen at a time, headed **Checklist 1 of 2**.
**Continue** stays blocked while a required item on that page is still blank, with a line telling you so.
Fill in the required answers and tap **Continue** to move on. Checklists that are already satisfied — or have nothing required at all — don't open a page; if everything is satisfied you land straight on the completion form.
The back chevron never blocks: back out at any point and your answers are still saved. See [Completing a visit](/routes/completing-jobs) for the rest of the flow.
When you complete a visit, the checklist answers are **frozen** with the visit — they become a permanent record of what was captured on that appointment, even if you later change the checklist template.
## Reviewing a completed visit's checklists
Once a visit is complete, the **same card** stays on the **Visit** tab with a **Read-only** badge next to the **Checklists** heading. The rows still open in place and show exactly what was captured — answers as they were entered, photo rows as tiles you can tap to open full size — but nothing can be changed.
### Going back in to fix something
Spotted a wrong reading, or a photo you forgot? As long as the customer's service report **hasn't been sent yet**, a pencil sits at the right of the **Checklists** heading.
The badge changes from **Read-only** to **Editing** and the rows become answerable again.
Edit answers and add or remove photos exactly as you did during the visit. Everything still saves as you go.
The card goes back to **Read-only** with your corrections saved, and the change is recorded on the visit's **History** card.
Once the service report has gone out to the customer, the pencil disappears and a line under the heading says so: *The report has been sent, so this visit's record is fixed.*
Reopened checklists always show the checklist **as it was when the visit was completed**. If you later add, rename, or remove questions on the template, past visits keep the wording and answers they were completed with.
## Completing an assessment with a checklist
Checklists set to appear on **Assessments** (see [Choosing when the checklist appears](/checklists/building-checklists#choosing-when-the-checklist-appears)) gate the assessment visit the same way. Tap **Mark assessment complete** and any checklist with required blanks opens first, headed **Checklist 1 of 1**.
Fill in the required questions and tap **Continue** — you can't move on while a required answer is still blank.
Once the checklists are satisfied you land on the usual completion sheet, where you add any notes and choose how to finish.
Tap **Complete and create quote** and your checklist answers travel with you — they appear on the new quote under **Context from Assessment**, alongside the customer's own words, your notes, and any photos, so you can price the work without going back for them. The answers freeze to the visit just like on a regular job. See [Completing an assessment visit](/customers/assessments#completing-a-visit) for the rest of the workflow.
Assessment visits don't get the **Before photos** and **After photos** rows — those belong to jobs. An assessment's pictures go on the assessment's own checklist or notes.
## Answers that become service records
When building a checklist, you can mark individual questions — or a whole section at once — to be added to the visit's **service records** (the **Include in service record** toggle on each question). When you complete the visit, those answers are saved as service records automatically — for example, a "pH reading" numeric answer becomes a chemical-reading service record. This means the readings your crew captures in a checklist flow straight into the property's service history without re-entering them. See [Service records](/routes/service-records).
Only questions that were actually answered become records — a blank question is skipped — and each answer produces a single record. A chemical reading shows as the reading type with the value and unit beneath it (for example **pH reading**, then **7.2 pH**); a plain observation question shows as the answer text.
### One record per reading, even with AI Assist
On accounts with AI assistance, the same checklist answer can reach the completion form twice: once because ProBase drafts service records from your checklist for you, and once because the question is marked **Include in service record**. ProBase reconciles the two for you, so you never end up with the same reading recorded twice:
* If a drafted record already covers a checklist question, that question isn't added again.
* The version you reviewed on the completion form wins. If you corrected a drafted value — the AI read 7.2 but the strip actually said 7.6 — your corrected record is the one that's saved, and the raw checklist answer doesn't overwrite it.
* Anything the draft didn't cover is still committed from the checklist as usual, so nothing gets dropped.
If you want to change a reading, edit it on the completion form **before** you tap **Complete visit** — that's the version that lands in the property's service history. Once the visit is complete, records are read-only. See [Records are fixed once the visit is complete](/routes/service-records#records-are-fixed-once-the-visit-is-complete).
## Rescheduling with a partially-filled checklist
If a visit is rescheduled before it's completed, any answers already entered on its checklists carry over to the rescheduled appointment. Your crew doesn't lose the work they've already done in the field.
## The customer Service Report
Checklists don't just help your crew — they can also show the customer exactly what was done. Any question you marked with **Include in customer summary** when building the checklist (see [Showing answers on the customer invoice](/checklists/building-checklists#showing-answers-on-the-customer-invoice)) appears under a **What we recorded** heading on the customer's side: on the visit's own [service report](/customers/service-reports), and on the invoice covering it, where each visit gets a card of its own.
The answers are grouped under the checklist they came from — chemistry readings, completed tasks, and even a customer signature shown as **Signed by customer**. It gives customers a clear, professional record of the work performed on their property, right alongside the plain-language summary and the photos.
Which questions appear here is decided in the checklist builder, so the same items are shared consistently on every visit. For how customers read their reports and invoices, see [The customer's service report](/customers/service-reports) and [The customer portal](/customers/customer-portal).
# Checklists overview
Source: https://docs.probaseapp.com/checklists/overview
Reusable in-job forms that capture the same details on every visit
## What are checklists?
Checklists are reusable in-job forms. You build a checklist once — a set of questions like water chemistry readings, tasks completed, before/after photos, or a customer sign-off — and it appears automatically on the jobs it applies to. Your crew fills it out in the field, and the answers are saved to the visit.
Think of a checklist as the standard set of things you want captured every time a particular kind of work is done. Instead of relying on memory or free-form notes, checklists make sure the same details are recorded consistently on every visit.
Common uses:
* **Pool chemistry** — free chlorine, pH, alkalinity, and other readings on every service
* **Task confirmation** — a checkbox list of what was completed
* **Photo documentation** — before and after photos of the work
* **Customer sign-off** — a signature confirming the work was done
## Where to find checklists
Click **Checklists** in the sidebar, under the **Business** section (next to Services). This opens your **Checklists library** — a list of every checklist available to your business.
The library shows two kinds of checklists:
* **Your checklists** — the ones you build yourself. These are fully editable.
* **ProBase checklists** — ready-made templates provided by ProBase and marked with a **ProBase** tag. These are automatically added to services that match your industry. You can't edit them, but you can preview them and choose which services they apply to. See [ProBase system checklists](/checklists/system-checklists).
Each row shows the checklist name and how many questions it contains (including how many are required). ProBase checklists also carry a **ProBase** tag and a chip for each of your trades they match.
### Trade chips and "+N more"
A ProBase template can match several of your trades at once. To keep the row readable, the library shows the **first three** trade chips and collapses the rest into a **+N more** chip:
Tapping **+N more** reveals the remaining chips in place — you stay on the library, and the row doesn't open the checklist. Once expanded, every chip is on show and the **+N more** chip itself disappears.
A row matching three trades or fewer shows every chip and no **+N more** at all.
The chips only ever list **your** declared trades. A pool business sees a Pool chip on a template that also covers lawn and tree care — not ProBase's whole trade list. Change which trades you work in [Industries](/getting-started/industries).
## What you can do
Create your own checklists with the mobile-first builder — add sections and questions, choose when the checklist should appear, and decide whether the answers show up on the customer's invoice. See [Building checklists](/checklists/building-checklists).
Connect a checklist to one or more of your services so it shows up automatically on those jobs. See [Attaching checklists to services](/checklists/building-checklists#attaching-checklists-to-services).
When a crew opens a job that has a checklist, they fill it out on the appointment screen. Answers save automatically as they go. See [Completing checklists on a job](/checklists/completing-checklists).
Choose which filled-in items appear on the customer's invoice as a **Service Report**, giving customers a professional record of the work performed. See [The customer Service Report](/checklists/completing-checklists#the-customer-service-report).
## Managing checklists from the library
Each of your own checklists has an overflow menu (the **⋮** button) with two actions:
* **Duplicate** — make a copy you can modify without changing the original. Handy for creating a variation of an existing checklist.
* **Delete** — permanently remove a checklist you no longer use.
Deleting a checklist can't be undone. Existing answers already captured on completed visits are preserved, but the checklist will no longer appear on future jobs.
To create a new checklist, tap **New checklist** at the top of the library. To edit one of your existing checklists, tap its row.
# ProBase system checklists
Source: https://docs.probaseapp.com/checklists/system-checklists
Ready-made checklist templates that match your industry
## What are ProBase checklists?
Alongside the checklists you build yourself, ProBase provides ready-made checklist templates for common industries. In your Checklists library they're marked with a **ProBase** tag, followed by a chip for each of **your** declared trades the template applies to — a pool business sees a Pool chip, not ProBase's whole trade list.
If a template matches more than three of your trades, the row shows the first three chips and collapses the rest into a **+N more** chip. Tap it to reveal the others without leaving the library — see [Trade chips and "+N more"](/checklists/overview#trade-chips-and-n-more).
For example, pool professionals get two ready-made pool chemistry checklists out of the box — a **Chemical Readings** template for capturing the standard water readings (free chlorine, pH, and more) and a **Chemical Adjustments** template for recording the chemicals you added — so you don't have to build them from scratch. Because these questions are set to feed the visit's [service records](/routes/service-records), the readings and adjustments your crew captures flow straight into the property's chemistry history.
## Before photos and After photos
Two ProBase checklists ship with **every** trade, not just one:
| Checklist | What it's for |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Before photos** | Pictures of how you found the property. Kept to you and your crew unless you choose to send them — a switch on the [send report step](/routes/sending-service-reports#whats-on-the-send-step) adds them to the customer's copy. |
| **After photos** | Pictures of the finished work. Marked *Shared with the customer.* — these are the photos that go onto the customer's service report every time. |
Each one is a single, optional photo question, so neither ever blocks you from completing a visit, and each holds as many pictures as the job needs.
**They're on every service you create**, whether or not the service has a trade set, and they're **pinned to the top** of the Checklists card on every job visit — above anything else attached to the service. Even a job with no service template behind it gets both rows.
If one doesn't suit a particular service, detach it there the same way as any other ProBase checklist (see [Choosing which services use a ProBase checklist](#choosing-which-services-use-a-probase-checklist)). A job only loses the row when you've detached that checklist from every service the visit matches.
Assessment visits don't get the photo rows — they belong to jobs. See [Assessments](/customers/assessments).
For taking, viewing and removing the pictures themselves, see [Completing checklists on a job](/checklists/completing-checklists#taking-photos).
## Automatic attachment by industry
ProBase checklists are added automatically to the services that match your business's industry. When this happens, you'll see a banner in your Checklists library letting you know:
> **ProBase checklists added to your services** — We attached ProBase checklists to services with a matching industry. Open one to review and detach where it doesn't apply.
You don't have to do anything to turn them on — but you're always in control of which services they apply to (see [Choosing which services use a ProBase checklist](#choosing-which-services-use-a-probase-checklist) below).
## Viewing a ProBase checklist
Open a ProBase checklist from the library and you'll land on a **locked, read-only view**. A lock indicator and a "Defined by ProBase" note explain that these templates are maintained by ProBase and can't be edited. There's no Save button, because there's nothing to change in the checklist itself.
You can still switch to **Preview** to see exactly how the checklist renders on a job, just like your own checklists.
## Choosing which services use a ProBase checklist
Even though you can't edit a ProBase checklist's questions, you decide which of your services it applies to. On the locked view, each of your matching services is listed with an **Attach / Detach** control:
* Services the checklist is currently on show **Attached**, with a **Detach** button.
* Tap **Detach** on a service where the checklist doesn't apply, and it flips to **Detached** with an **Attach** button so you can add it back later.
This lets you keep the ProBase checklist on the services where it makes sense and remove it from the ones where it doesn't — without affecting other businesses or the template itself.
## New versions
ProBase occasionally publishes an improved version of a checklist. When a newer version is available for a checklist attached to your services, you'll see a banner in your library:
> **A newer checklist version is available** — ProBase published a new version of a checklist attached to your services. Open it to upgrade each service.
Tap **Review** to open the checklist and choose to upgrade your services to the new version. Your existing services keep working on their current version until you upgrade them.
# Adding new customers
Source: https://docs.probaseapp.com/customers/adding-customers
Create customer profiles
## Ways to add customers
You can add customers to ProBase in several ways:
1. **Quick Actions (Job creation)** - Create customer + property + service + appointment all at once using the floating action button. See [Creating jobs](/getting-started/creating-jobs).
2. **Add customers manually** - Enter customer information one at a time through the customer creation form (described below).
3. **Import in bulk** - Upload a spreadsheet, PDF, or other file and let AI extract your customer list automatically. See [Importing customers](/customers/importing-customers).
4. **Let customers reach out to you** - Share your branded contact form so prospects can submit their own details, which arrive as new leads automatically. See [Your contact form](/customers/contact-form).
If you need to get a customer scheduled quickly, use the [Job creation feature](/getting-started/creating-jobs). If you're switching from another app and have an existing customer list, use [bulk import](/customers/importing-customers). For adding customers one at a time, use the manual approach below.
## Add a customer manually
You can open the customer form in several ways:
* Click the Quick Actions button (the **+** floating button in the bottom-right), then select **New Customer**, OR
* Click **Customers** in the sidebar and tap the **Add customer** button in the top-right of the page header, OR
* If you don't have any customers yet, an **Add customer** button also appears in the middle of the page above an empty state ("No customers added yet"). Tap it to open the form, OR
* If your **Schedule** is empty and you haven't added any customers, the **Add a customer** button there opens the same form. See [Weekly calendar](/scheduling/weekly-schedule#when-your-week-is-empty).
On a narrow phone screen the header buttons use short labels so they don't crowd the **Customers** heading — **Add customer** reads just **Add**, and **Import customers** reads just **Import**. They do exactly the same thing.
While your customer list is still empty, a **Tour demo** card sits below the **Add customer** button, separated by a small **or**. Tap it to look around a fully-loaded sample business instead — see [Tour demo from an empty screen](/getting-started/exploring-a-demo#tour-demo-from-an-empty-screen).
Enter the customer's basic information:
* **First name** and **Last name** — enter at least one of the two. You can save a customer with just a first name, just a last name (handy for a company or a contact you only know by surname), or both. If you leave both blank, you'll see "Enter at least a first or last name." and the customer won't be saved.
* **Phone number** (optional) — capture it so you can reach customers about scheduled work and send them payment links by SMS, but it's no longer required to save.
* **Email address** (optional, but recommended for sending payment links)
The phone field automatically formats your entry as you type. Enter a 10-digit phone number and it will be formatted as (555) 555-5555.
You can also save a customer with just a name — leave the phone and email blank and uncheck the property box to capture a quick contact or lead.
Under the contact fields, a **Contact preference** list records how this customer likes to be reached — **Prefers calls** or **Prefers text**. Tap one to select it; the row washes green and shows a check.
The heading says *optional, tap again to clear* — and it means it. Tapping the row you already chose clears it back to blank, so a wrong tap is never something you have to undo elsewhere.
Leaving it blank is fine — it just means nobody has said yet. You can set or change it later from the phone row on the customer's page, where a third choice, **No preference**, is also offered. See [Contact preference](/customers/customer-history#contact-preference).
The **Also create a property for this customer** checkbox is turned on by default, since most customers are added so you can schedule work for them — which needs a property address. Leave it checked to add the address now, or uncheck it if you only want to capture a contact for now (you can add a property later from the customer's page).
When checked, you'll see address fields to fill in:
* **Address Line 1** — Start typing and address suggestions will appear. Pick one and the rest of the address fills itself in — see [Address suggestions as you type](/customers/properties-and-addresses#address-suggestions-as-you-type).
* **Address Line 2** (optional) — Apartment, suite, or unit number
* **City**, **State**, **Postcode**, **Country** — Filled in automatically when you select an address suggestion, or enter manually
Below the address, the same **property details** questions you'd find on the property page are here too, so the crew knows what they're walking into from day one:
* **Locked gate** — switch it on and a box appears for the gate code or how to get in
* **Dog on property** — switch it on and a box appears for the dog's name and temperament
* **Lawn size** — switch it on and pick **Small**, **Medium**, or **Large** (only shown if your business does lawn work)
See [Property details](/customers/properties-and-addresses#property-details) for what these look like once they're set.
At the bottom of the form are two note boxes, so anything worth remembering gets written down while you're still thinking about it — not as a separate errand afterwards:
* **Note about this property** — *"Anything the crew should know"*. Only shown when you're adding a property.
* **Note about this customer** — *"Anything worth remembering"*
Each one is saved as a proper note on the record it belongs to, exactly as if you'd added it later from the customer's or property's Notes card. See [Adding notes](/customers/adding-notes).
Use the property note for access instructions and hazards, and the customer note for things about the person — who referred them, how they like to be billed. A locked gate, its code, and a dog each have their own field above, so those belong there rather than in a note.
At the bottom of the form you have two save options:
* **Save Customer** — saves the customer and takes you to their details page. If you added a property, the new property appears in the Properties section of that page so you can pick up where you left off.
* **Save and Create Another** — saves the customer and immediately clears the form for the next one, without closing the window. The address checkbox stays checked so you can keep entering customers and their properties back-to-back. Use this when you have several customers to enter in one sitting.
While the customer is being saved, the form fields and buttons are locked and the button you tapped shows **Saving…** — so you can't accidentally submit twice. It unlocks automatically once the save finishes. If anything's missing (like leaving both names blank), the form re-enables with the error shown inline so you can fix it.
**Save Customer** then takes you to the new customer's page. On a slow connection the form can stay on screen for a moment while that page loads — extra taps in that gap are ignored, so an impatient double tap never creates the customer twice. See [Saving and form issues](/support/troubleshooting#saving-and-form-issues).
## What's next?
Every time you save a customer, ProBase asks what you'd like to do with them:
> **Customer added — what's next?**
From here you can:
* **Schedule a job** — starts the job creation flow with this customer already selected, so you can book their first appointment right away. See [Creating jobs](/getting-started/creating-jobs).
* **Create a quote** — starts a quote for them. See [Creating quotes](/customers/creating-quotes).
* **Book an assessment** — books a visit to look at the work before quoting it.
* **Done for now** — closes the prompt and leaves you on the customer's page.
You'll only see the options your role is allowed to use. If **Save and Create Another** was used instead of **Save Customer**, the prompt is skipped — that path clears the form for the next entry.
## Viewing a customer
After creating a customer, you'll see the customer page. At the top is a summary card showing their outstanding balance and lifetime value, their next scheduled visit, their phone number and email address, and how they pay.
See [Viewing customer information](/customers/customer-history) for a full tour of the page.
Below the top card are cards for **Properties**, **Notes**, **Services**, and **Visits**.
If the customer has a single property, that property's details appear directly under its row, and the Notes, Services, and Visits cards on the page all relate to it. For customers with several properties, those three cards live on each property's page instead — tap the property you're interested in.
From the customer page you can also start a new job for this customer: tap the **+** button in the **Services** section header. The job creation wizard opens with the customer already filled in, so you go straight to choosing a property and configuring the service. See [Creating jobs](/getting-started/creating-jobs) for the full flow.
## Edit customer information
Go to **Customers** and click on the customer's name.
Click the **Edit** button on the customer details page. The edit form opens as a modal.
Make your changes to:
* First name
* Last name
* Email address
* Phone number (automatically formatted as you type)
The edit page also includes a **Billing Address** section. Adding a billing address will display the customer's address on their invoices. Fill in Address Line 1, Address Line 2 (optional), City, State, ZIP Code, and Country. Start typing in the Address Line 1 field and suggestions will appear — selecting one auto-fills the city, state, ZIP code, and country automatically. See [Address suggestions as you type](/customers/properties-and-addresses#address-suggestions-as-you-type).
Click **Save** to update the customer information.
## Search, sort, and filter customers
### Search
Use the search bar at the top of the **Customers** page to find customers by name, address, or phone number. The search also matches on email and city/zip. Click on any customer in the results to view their profile.
**You can also search by the work itself.** Type a service name — *Leaf Removal*, *Gutter Cleaning* — and ProBase finds every customer who has ever had that service, whatever its status today. Those rows carry a **Matched:** line naming what the term hit, so you can see why each customer is on the list.
Customers who were quoted for that service but **turned it down** show up too, labelled *Matched: Leaf Removal — quote declined*. That makes the search bar a quick way to build a follow-up list: everyone who once said no to a service you'd like to sell again.
If your [role](/team/roles-and-permissions) doesn't let you see customer contact details, searching won't match on email or phone — name, address, and service searches still work as normal.
### Sort the list
The **Sort** dropdown beside the search bar reorders the list. There are four options:
| Sort | What you get | Use it to |
| -------------------------- | ---------------------------- | -------------------------- |
| **Next visit** *(default)* | Soonest upcoming visit first | See what's coming up |
| **Last visit** | Longest-quiet customer first | Spot customers going quiet |
| **A-Z** | Alphabetical by first name | Look someone up by name |
| **Z-A** | Reverse alphabetical | Work back up the list |
Switching to **Last visit** flips the list so the customer you haven't seen in the longest lands at the top — a quick way to find people worth a check-in call.
The alphabetical sorts are handy once your book gets long enough that scrolling by date isn't the fastest way to find one person.
Customers with no visit date — a brand-new lead with nothing booked, for instance — always sit at the bottom of the two visit sorts rather than jumping to the top.
### Filter by status
Use the **All Statuses** dropdown to narrow down your customer list. You can select more than one option at the same time — for example, select both **Lead** and **Archived** to see everyone you aren't currently working for. Clear all selections to return to the full list.
Available options:
* **Lead** — Customers you've never created a job for: enquiries, contacts you typed in, and people with a quote or assessment but no job yet
* **Active** — Customers with at least one job on record, whatever state that job is in
* **Archived** — Customers you've [archived](/customers/archiving-customers). They're hidden from the list until you tick this option
See [Understanding customer status](/customers/customer-status) for details on what each status means and how it's calculated.
# Adding customer notes
Source: https://docs.probaseapp.com/customers/adding-notes
Track important information with customer and property notes
## What are notes?
Notes let you record important information about your customers, their properties, or a specific visit. Notes are visible to everyone on your team and help ensure consistent service.
There are three levels of notes:
* **Customer notes** — information about the customer themselves (contact preferences, billing arrangements, general instructions)
* **Property notes** — details specific to a location (gate codes, parking, pets, equipment locations)
* **Visit notes** — what happened on one particular visit, typed into the notes pad on that visit
## The Notes card
Customer and property notes both live in the **Notes** card, which sits on the customer page and on each property page. The card has two tabs:
* **Customer** — notes about the customer, opens first
* **Property** — notes about the property, labelled with the street address so you always know which location you're looking at
Each note row shows the note text, who wrote it, and when.
**Where the Property tab appears.** If a customer has just one property, the Notes card on their customer page covers both the customer and that property. If they have several, the customer page shows only the property list — open the property you want and use the Notes card on that property's page.
If there are no notes yet, the tab reads **No notes yet.**
## Adding a note
Go to **Customers** in the sidebar and open the customer. Scroll down to the **Notes** card.
To add a note about a specific property instead, open that property's page and scroll to its **Notes** card.
Choose **Customer** for information about the person, or **Property** for information about the location.
The **Add note** row sits at the bottom of the list. Tapping it opens the **Add Note** window.
Use the editor to write your note. You can:
* Type plain text
* Format text (bold, italic, underline)
* Create bulleted and numbered lists
* Add block quotes
In the **Click or drag files to upload** area, tap to pick files or drag them in. You can attach several, and any file type is supported — images, PDFs and documents.
While you're still writing, each file you've picked is listed with a small thumbnail (or a document icon) and its filename, plus a **✕** to remove it. Once the note is saved, clicking an image opens it full size.
Tap **Save**. The note appears in the card straight away, without leaving the page.
## Editing or deleting a note
Tap any note in the card to open it. The **Edit Note** window lets you change the text, add or remove attachments, and delete the note outright.
* Tap **Save** to keep your changes.
* Tap **Delete** to remove the note. You'll be asked to confirm first.
Deleting a note is permanent and cannot be undone. Any files attached to it are deleted too.
**Delete** only appears if your role is allowed to delete notes, and the **Add note** row only appears if your role is allowed to create them. See [Roles and permissions](/team/roles-and-permissions).
## Notes on a visit
Anything about one particular visit is written on the visit itself, not here. Open the visit and tap the **Notes** tab — the box at the top, labelled **This visit**, saves as you type.
The same tab then lists, read-only, every other note that applies to that visit — the property's notes and the job's notes — so your crew sees the gate code and the standing instructions in the same place as today's write-up. There's no **Add note** row there on purpose: a note belongs to the record it's about.
What you type in the pad arrives already filled in as the **Visit notes** on the [completion form](/routes/completing-jobs), so you edit rather than retype at the end of the job.
See [Notes and photos on a visit](/routes/job-notes-and-photos) for the full walkthrough.
Notes about the visit are internal — only you and your crew read them. What the customer sees is the **Customer notes** you write on the completion form.
## File attachments
### What you can attach
* **Images** — property photos, equipment pictures, before/after shots
* **PDFs** — contracts, quotes, diagrams
* **Documents** — customer communications, instructions
### Viewing attachments
* **Images** appear as inline previews below the note text. Click one to open it full size, with a **Download** button.
* **Other files** appear as download links with the filename and file size.
### Managing attachments
* Add attachments when creating or editing a note
* Remove attachments while editing by tapping the **✕** on each file
* All attachments are deleted when you delete the note
## Best practices
### Write clear, actionable notes
* Be specific: "Prefers text communication, no calls" instead of "Has preferences"
* Include context: "Customer is a teacher, only available after 3 PM"
* Use formatting to highlight important information
### Put the note at the right level
* **Customer tab** — communication preferences, billing arrangements, how they like to be dealt with, how you got the account
* **Property tab** — gate codes, parking instructions, pet warnings, property layout, equipment locations
* **The visit's notes pad** — what was done on a specific visit, and anything you noticed while you were there
Keeping information at the right level means your crew finds what they need where they'd expect it.
### Keep notes updated
* Edit notes when information changes
* Delete outdated notes so the list stays relevant
* Add new notes as you learn more about the customer
**What a lead wrote on your contact form isn't a note.** When someone fills out your [contact form](/customers/contact-form) and writes something in the "Additional information" box, their words open an assessment and show at the top of their page in a tinted **From your contact form** block — not in the Notes card, so your own notes stay yours. See [Their words sit at the top of their page](/customers/contact-form#their-words-sit-at-the-top-of-their-page). Leads from before this change may still carry an old property note labelled **Lead Form** instead of a team member's name.
**On a customer from a connected marketplace, notes are read-only.** Both tabs of the Notes card show the notes that came from the marketplace, but there's no **Add note** row and tapping a note doesn't open it for editing. A marketplace visit has no **Notes** tab at all for the same reason — the marketplace's notes are summarised for you in the briefing above the tab. See [Marketplace customers](/marketplace/marketplace-customers#you-cant-add-your-own-notes-to-marketplace-records).
**On an [archived customer](/customers/archiving-customers), notes are read-only too.** The full history stays viewable, but nothing can be added, changed or deleted.
## Next steps
* [View customer information](/customers/customer-history) to see full details and history
* [Add properties](/customers/properties-and-addresses) to organise services by location
* [Notes and photos on a visit](/routes/job-notes-and-photos) for the notes pad and the visit's Notes tab
# Archiving customers
Source: https://docs.probaseapp.com/customers/archiving-customers
Hide customers you no longer work with while keeping their full history
## What archiving does
Archiving is the way to clean up your customer list when you stop working with someone — a customer who moved away, cancelled for good, or was added by mistake. Archiving is **not deleting**: nothing is permanently removed.
When you archive a customer, ProBase:
* **Removes them from your active customer list**, so your list only shows people you're currently working with
* **Unschedules their upcoming visits** and takes them off the calendar and route optimizer
* **Stops generating new recurring appointments** for their services
* **Keeps every record** — jobs, invoices, payments, quotes, and notes stay intact and viewable
Archiving keeps the full history on record, including any outstanding balance — nothing is permanently deleted. If a customer comes back, you can restore them yourself with **Unarchive** — see [Bring a customer back](#bring-a-customer-back).
The **Archive customer** action and the **Archived** status filter are rolling out gradually. If you don't see them on your account yet, they'll appear soon.
## Archive a customer
Open the customer's profile from **Customers** in the sidebar, then click the **Edit** button in the top-right corner.
Scroll to the bottom of the Edit panel. Below the **Save** and **Cancel** buttons you'll find the **Archive customer** action.
A confirmation dialog summarizes what archiving will do, including how many upcoming visits will be unscheduled. If the customer still owes you money, a warning shows their outstanding balance so you don't lose track of the receivable.
When a customer has upcoming visits and an outstanding balance, both are called out together:
Click **Archive customer** to confirm. You'll be returned to the customer list, where the archived customer no longer appears among your active customers.
Archiving a customer with an outstanding balance keeps that balance on record, but the customer drops off your active list — so be sure to collect or settle what's owed before (or after) archiving so it doesn't get forgotten.
If you (or a teammate) happen to have one of the customer's job pages open when they're archived, ProBase won't leave you stranded on a job that no longer exists. The next time that page updates, it shows a **"That job is no longer available"** notice and returns you to your schedule.
## Viewing archived customers
Archived customers are hidden from your customer list by default. To see them, open the **All Statuses** filter at the top of the **Customers** list and select the **Archived** option. Archived customers then appear in the list, marked with an **Archived** badge in place of their usual status.
Because the status filter lets you pick more than one option, you can select **Archived** on its own to see only archived customers, or combine it with active statuses (like **Active** or **Lead**) to show archived customers alongside your current ones.
You can open an archived customer's profile to review their history at any time. The profile is **read-only** — the **Edit** button and the **+** that books a new job beside the Services heading are removed, and you can't change their properties, services, or appointments.
Their **billing history is the exception**: it stays fully viewable *and* usable, so you can keep settling the account after archiving.
## Settling an archived customer's balance
Archiving doesn't close the books. An archived customer's billing history works just like an active customer's, so you can still chase and settle what they owe:
* **Record a payment** when the money finally comes in — cash, check, or a Venmo transfer that landed after you archived them
* **Add a charge** for something you missed, like a final visit or a late fee
* **Add a credit** to write off a balance you've decided not to pursue
To get there, open the archived customer from the **Archived** filter and click the balance amount in the top card. Their balance updates as you go, exactly like an active customer's — see [Customer balances](/billing/customer-balances) for the full walkthrough of each action.
Because the balance keeps recalculating after archiving, the figure you see is always current. If the customer ever comes back and you [bring them back](#bring-a-customer-back), their account picks up with the right number rather than a stale one from the day you archived.
## Bring a customer back
Archiving isn't permanent. If a customer you'd written off calls again, you can restore them yourself — nothing needs to go through support.
Open the **Customers** list, set the status filter to **Archived**, and tap the customer.
On an archived customer's page the usual **Edit** button is replaced by a single **Unarchive** button at the top. That's the only action an archived profile offers, so it's hard to miss.
ProBase confirms with *"Customer unarchived."* and reloads the page as a normal customer profile — the **Archived** badge gives way to their live status, **Edit** returns, and the **+** for booking new work is back beside the Services heading.
Unarchiving restores the properties, services, and appointments that were archived along with the customer, so their history comes back intact. Their **Lead** or **Active** status is worked out again from scratch — see [Understanding customer status](/customers/customer-status).
Unarchiving is available to the same people who can archive in the first place. If you don't see the **Unarchive** button, your [role](/team/roles-and-permissions) doesn't include it — ask an admin or the business owner.
[Marketplace customers](/marketplace/marketplace-customers) can't be archived or unarchived in ProBase — their lifecycle belongs to the marketplace.
## Next steps
* [Understanding customer status](/customers/customer-status) — how active customers are automatically categorized
* [Viewing customer information](/customers/customer-history) — review a customer's full profile and history
* [Customer balances](/billing/customer-balances) — collect or settle an outstanding balance
# Working assessments
Source: https://docs.probaseapp.com/customers/assessments
Track leads that need a look before you can price them — photo requests, on-site visits, and turning the answer into a quote
## What an assessment is for
An **assessment** is the work you do *before* you can put a number on a job. Use one to schedule a property visit or request photos so you can price the work accurately.
Two things land on your **Assessments** screen:
* **Leads from your booking form** arrive here automatically, carrying the customer's own words. See [Contact form](/customers/contact-form).
* **Assessments you create yourself**, from the Assessments screen, the **+** Quick Actions menu, or a customer's page.
Once you know what the work is worth, the assessment turns into a quote. See [Managing quotes](/customers/managing-quotes).
## The Assessments screen
Open **Assessments** from the navigation drawer. The header shows how many assessments are open, and an **Add** button starts a new one.
Open assessments are grouped by what stage they're at, newest activity first:
| Group | What it means |
| ----------------------- | ------------------------------------------------------------------------- |
| **New** | Nothing has happened yet — you haven't asked for photos or booked a visit |
| **Waiting on customer** | You sent a photo link and they haven't replied yet |
| **Visit scheduled** | An on-site visit is on the calendar |
| **Ready to quote** | You have what you need — the photos came back, or the visit is done |
Each row shows the customer's name, their words (or the property address), and a date line for that stage — when the lead arrived, when you asked, or when the visit is booked. Tap anywhere on a row to open the assessment.
When your list is empty, the screen explains what assessments are for and how leads reach it. Nothing is broken — you just haven't got any open work waiting on a look.
### Show closed
Finished assessments live behind the **Show closed** toggle at the bottom of the screen. They're one flat list, most recently resolved first, each row wearing its own outcome:
* **Quoted** — you built a quote from it
* **Closed** — you closed it without quoting (with the reason you typed, if you gave one)
Tap **Show more** if the list is longer than the first page.
## Creating an assessment
Tap **Add** on the Assessments screen — or **New Assessment** in the Quick Actions **+** menu. The flow opens in place over whatever page you were on, so backing out leaves you where you started.
Search your customers by name, email, phone, or address, or add a new one. Starting from a customer's page skips this step.
Pick the address the work is at, or add a new one. A customer with a single property still gets this step so you can confirm — or add another address.
Two ways forward, and the one you tap creates the assessment and carries you straight into it:
* **Ask for photos** — text the customer a link so they can send pictures and answers
* **Schedule on-site visit** — book a time to go and look yourself
## Asking for photos
Choosing **Ask for photos** opens the **What do you need from them?** screen. Type your question — or leave it blank to send the suggested one — and tap **Get the link**.
A send modal opens with the question and the link already written into a text message.
* **Send SMS** opens your phone's messaging app with the message ready to go (when a phone number is on file)
* **Copy Message** copies it to your clipboard so you can paste it anywhere
The assessment moves to **Waiting on customer**, and its page shows a **You asked** card with your original question and when you sent it.
### What the customer sees
The link opens a single page with your business name at the top, the property address, your question, and a line saying when you asked — **Asked today**, **Asked yesterday**, or **Asked 4 days ago**. There's no login and no app to install.
Below the question they get:
* A **Tap to add photo** tile — tapping it opens their camera roll, and they can pick several photos at once
* One text box, **Anything they should know**, for anything they want to type
* A **Submit** button
Each photo they pick becomes a thumbnail with a small remove button, so they can drop one before sending. A pick of two photos stages two tiles:
Picking again **adds** to what's already there rather than replacing it.
After they tap **Submit** the page confirms it — *"Sent to \[your business]. You can add more below if you forgot something."* — and the photos they already sent stay on screen as thumbnails they can't remove. The form stays open underneath, so a customer who forgot the side gate can send it a minute later without a new link.
You don't have to do anything to receive these — there's no accept step and nothing to download. What they send is on the assessment page the next time you open it.
Customers on an iPhone are usually sending **HEIC** photos without knowing it. ProBase saves those as ordinary JPEGs, so they open on your phone and your crew's whatever they're carrying — see [Photos from an iPhone](/checklists/completing-checklists#photos-from-an-iphone).
#### If a staged photo says "Error Loading"
Before a customer taps **Submit**, the tiles are their own phone or computer previewing the file it picked. Some browsers can't preview an iPhone HEIC picture, so that tile reads **Error Loading** instead of showing the photo:
Nothing is wrong. The photo is staged and will send. Once they tap **Submit**, ProBase has converted it and every sent tile shows the picture:
Full-size camera shots are fine too — a customer sending pictures straight off a recent phone doesn't need to shrink them first, as long as each one is under 12 MB. Their phone makes a smaller copy before sending, so a few shots go up quickly even on a phone signal.
### If something goes wrong on their end
The page explains problems in plain language and never loses what they've already added:
| What they did | What they see |
| ------------------------------------------ | ----------------------------------------------------------------------- |
| Tapped **Submit** with nothing added | *"Add a photo or a note first."* |
| Picked a file that isn't a photo | *"Photos must be images (JPEG, PNG, WebP, HEIC, or GIF)."* |
| Picked a photo larger than 12 MB | *"Each photo must be 12 MB or smaller."* |
| Picked more than 10 photos at once | *"You can add up to 10 photos per submission."* — the first 10 are kept |
| Typed a very long note | *"Notes can be 2000 characters or fewer."* |
| Already sent 40 photos for this assessment | *"This assessment can no longer accept more photos."* |
| Submitted over and over in a few minutes | *"Too many submissions. Please try again in \[N] seconds."* |
There's nothing for you to configure here — these limits are built in, and they're what keeps a public link from being abused. If a customer genuinely can't get a photo through, ask them to text it to you directly.
### Sending the link again
If they haven't replied, open the assessment and tap **Send the photo link again**. It's the same link and the same question — nothing they already sent is lost.
When their photos and answer arrive, the assessment moves to **Ready to quote** and the reply appears on the assessment page under **From \[their name]**. Tap any photo to open it full size.
### Once you're done with the assessment
The link stays open while the assessment is live, so the customer can keep adding. As soon as you quote the work or otherwise close the assessment out, the same link stops accepting photos and shows a thank-you instead — *"Thanks — \[your business] has what they need."* — with your phone number underneath in case they have anything else.
## Scheduling an on-site visit
Choosing **Schedule on-site visit** — or tapping **Schedule a visit** on an assessment page — opens the **When will you go?** sheet.
The sheet opens on **tomorrow at 9:00 AM for 30 minutes** — your business's tomorrow, not the calendar's somewhere else — so booking a quick look at a property is usually two taps. Change any of it:
* **Date** and **Start time** — the date can be today or later; a day that's already gone is refused
* **Duration** — 30, 45, or 60 minutes
* **Crew** (optional) — only appears when you have more than one crew; leave it **Unassigned** to decide later
Under the date, ProBase tells you what's already booked that day — or **Nothing else booked this day** — so you don't double-book yourself.
Tap **Book visit**. ProBase then offers to confirm the time with the customer: a pre-written text you can **Send SMS** or **Copy**, or skip with **Done**.
The assessment moves to **Visit scheduled** and a **Visit** card appears on its page showing the date, time, duration, and crew. Tapping that card opens the visit's own appointment page — that's where the visit's checklists, notes, and photos live, and where **Reschedule** and **Cancel visit** are.
### Cancelling a visit
Open the visit's page from the assessment's **Visit** card, tap the outlined **⋯ More** button beside the main action and choose **Cancel visit**. The assessment stays open — the visit card keeps showing so you can see what happened.
If you'd already started the visit, the clock stops when you cancel and the time you worked stays on the visit — see [If the visit is called off while the clock is running](/routes/timing-a-visit#if-the-visit-is-called-off-while-the-clock-is-running).
## Completing a visit
After you've been to the property, open the assessment and tap **Complete visit**.
If the visit has a [checklist](/checklists/overview), the checklist step opens first — answer the required questions and tap **Continue**.
Then write what you saw:
* **Notes (optional)** — *Only you see these notes — they carry into your quote.*
Finish with one of three choices:
| Button | What happens |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Complete and create quote** | The visit is marked complete and a draft quote opens, carrying your notes and the visit's photos |
| **Complete — quote later** | The visit is marked complete and the assessment moves to **Ready to quote** so you can price it another time |
| **Close assessment** | The visit is complete and there's no work to quote — the assessment closes out |
## The assessment page
Everything about one assessment lives on its own page, read top to bottom.
* **The lead's own words** — when the assessment came from your booking form, the customer's message sits above everything else
* **The header** — the current stage as a pill, the customer's name (tap to open them), the property address, and their phone and email so you can chase without detouring
* **You asked** — your photo question and when you sent it, while you're waiting on a reply
* **Visit** — the visit's date, time, duration, crew, and status; tap through to the appointment page
* **From \[their name]** — the customer's answer and photos
* **Outcome** — on a resolved assessment: what it became, and when
* **Notes** — your own notes on the assessment, plus any notes written during the visit. Tap **Add a note** to write one, or a note to edit it
* **History** — a plain dated list of everything that has happened
* **Actions** — the buttons that make sense for the stage you're at
The **From \[their name]** card is where the reply lands: their pictures as tiles, their message underneath, and when it arrived — *Sent today*.
Tap a tile to see the picture full size before you price anything.
### What you can do at each stage
| Stage | Actions offered |
| ----------------------- | ------------------------------------------------ |
| **New** | Ask for photos · Schedule a visit · Create quote |
| **Waiting on customer** | Send the photo link again · Schedule a visit |
| **Visit scheduled** | Complete visit · Ask for photos |
| **Ready to quote** | Create quote · Ask for photos |
**Create quote** skips straight to a draft quote — the assessment already knows the customer and the property, so there's nothing to re-pick. Your notes, the customer's words, their answer, and the photos all ride along on the quote page while you build it. See [Adding services to the quote](/customers/creating-quotes#adding-services-to-the-quote).
Creating a quote doesn't close the assessment. It flips to **Quoted** when the quote is sent.
The moment you tap **Create quote**, the empty draft is already a real quote — it appears on the [Quotes screen](/customers/managing-quotes) straight away as a **Draft** reading *No services yet*, with no amount against it until you price something. Nothing is lost if you get called away mid-quote.
Adding and saving services still leaves the assessment open — it's the **send** that resolves it. Once the quote goes out, the assessment's outcome card reads *"You sent the quote — assessment resolved as Quoted"*.
## Closing an assessment
Not every lead becomes work. Tap **Close assessment** in the header of an open assessment.
You can type a **Reason** (optional) — *e.g. Price shopper* — then confirm. The assessment moves out of your active list and stays readable under **Show closed**, with your reason on the row.
### Archiving the customer too
If the person has no active job and no other open assessment, ProBase asks whether to archive them as well. Closing a request isn't the same as burying a person, so it always asks — **Archive \[name]** or **No, keep them**.
If you later work an assessment belonging to an archived customer, ProBase asks before restoring them.
## Assessments on the customer and property pages
An assessment also opens from inside the customer's record, keeping the **Customers / customer / property** trail so you can carry on where you were.
## Assessments on HomeBase
HomeBase surfaces assessments that need you in its **Action needed** section:
* **New assessments** — leads waiting on you
* **Ready to quote** — assessments where it's your turn
* **Waiting on photos** — you asked three or more days ago and nothing has come back
Each row opens the Assessments screen. See [HomeBase](/getting-started/homebase).
## Next steps
* [Managing quotes](/customers/managing-quotes) — build, send, and close out the quote an assessment becomes
* [Creating quotes and assessments](/customers/creating-quotes) — where each flow starts
* [Contact form](/customers/contact-form) — the booking form that feeds leads in
* [Checklists](/checklists/overview) — standard questions to answer on an assessment visit
# Your contact form
Source: https://docs.probaseapp.com/customers/contact-form
Capture new leads with a shareable, branded contact form
## What is the contact form?
The contact form is a branded web page you can share anywhere — link it from your social media bio, print a QR code on your truck or a flyer, or drop the link into an email. When someone fills it out, their details land in ProBase automatically as a new **lead**, so you can follow up and turn them into a paying customer.
The form lives at its own web address (for example `yoursite.com/f/your-business`) and shows your business name and logo. Visitors don't need a ProBase account — anyone with the link can reach out to you.
The contact form is turned **off** by default. You enable it and pick its web address from your Business Profile settings, described below.
## Turning on your contact form
The contact form is managed from **Settings → Business Profile**, in the **Contact Form** section. Only the business owner and admins can change these settings.
Click **Settings** in the sidebar (under Business) and scroll to the **Contact Form** section.
Under **Form URL**, type the ending you want for your link — letters, numbers, and dashes only. This is the address customers will visit (for example, `van-pool` becomes `…/f/van-pool`). Pick something short and recognizable, like your business name.
Turn on the **Enable contact form** toggle. When enabled, potential customers can submit their information through your form.
Click **Save**. Your form is now live at its web address, and the shareable link and QR code appear so you can start sharing right away.
## Sharing your form
Once the form is enabled, two ways to share it appear in the settings:
### Shareable link
Your form's full web address shows in the **Shareable link** field. Click **Copy** to copy it to your clipboard, then paste it into your social media bio, a text message, an email signature, or anywhere else your customers will see it.
### QR code
A scannable QR code is generated automatically from your form's link. Customers can point their phone camera at it to open your form instantly — perfect for printed materials like yard signs, flyers, business cards, or a sticker on your truck. **Scan to preview** under the code is a reminder that you can test it with your own phone before you print anything.
You can:
* **Copy the QR code** — click the copy icon in the top-right of the QR code box to copy the image, then paste it into a design or document. The icon turns into a green checkmark for a couple of seconds to confirm the copy worked.
* **Download the QR code** — choose **JPG** or **SVG** from the **Download as** dropdown and click **Download**. Use JPG for most documents and printing; choose SVG if your designer needs a sharp, resizable version for large signage.
The QR code always points to your current form address. If you change your form's web address (see below), download and reprint your QR codes so they point to the new link.
## Changing your form's web address
You can update your form's web address at any time by editing the **Form URL** field and saving.
Changing your web address breaks printed QR codes and previously shared links **after 30 days**. Your old address keeps working for 30 days and automatically forwards visitors to the new one — giving you time to reprint signage and update your links. After 30 days, the old address stops working.
When a change would retire your current address, ProBase shows a reminder in the settings before you save so the 30-day window is never a surprise.
## What your customers see
When someone opens your form, they see a clean, branded page with your business name and logo at the top.
They can fill in:
* **First name** and **Last name** (required)
* **Email** (required)
* **Phone number** (optional)
* A checkbox to **agree to receive promotional/marketing text messages** from your business (optional — leaving it unchecked still lets them submit)
* **Address** — street address, city, state, and ZIP code (required, so every lead arrives with a serviceable location)
* **Additional information** — a free-text box for them to describe what they need (optional)
After they submit, they see a friendly confirmation that you've received their message and will be in touch soon. No further action is needed on their part.
If you've turned the form **off**, anyone who visits the link sees a short "form not available" message instead, so the page never looks broken.
## What happens to a submission
Every submission lands in ProBase on its own, ready for you to work:
* **The person.** ProBase checks the phone number they typed against the customers you already have — archived ones included — so someone who has used you before doesn't turn into a second record. No match, and a new customer is created with the **Lead** status.
* **The property.** An address that matches one of that customer's existing properties exactly attaches to it; anything else becomes a new property. If they gave no street address at all, you get the lead on its own with no property.
* **An assessment**, named **Contact form request**, opens on your [Assessments](/customers/assessments) screen in the **New** group, carrying their words, the time it arrived, and the address exactly as they typed it. That's where you ask for photos, book a look, or price the work.
* If they checked the text-message consent box, that agreement is recorded with the date for your records, and the lead's contact preference starts out as **Prefers text** — a starting point you can change or clear from the customer's page at any time. See [Contact preference](/customers/customer-history#contact-preference).
* You get an email letting you know the request came in through your form.
* An [update](/getting-started/updates) appears behind the bell for everyone on your team whose role lets them see customers and leads — **New contact** for somebody new, **New request** when the phone number matched a customer you already had. Tapping it opens their page and marks the update read for you at the same time. If push notifications are switched on for your phone, the same message arrives there too.
### Their words sit at the top of their page
Open the lead and the first thing on the page is a tinted **From your contact form** block: what they wrote, word for word, and when it landed — *Arrived today · 1:10 PM*. It's deliberately set apart from your own notes so you can tell at a glance which words are theirs.
The block stays there while the request is still open. Once you've dealt with it — quoted it, or closed it — the page stops leading with it and the request lives on its [assessment](/customers/assessments) instead.
The **Contact Form** settings section shows a running count — for example, "2 leads received via this form." Click it to jump to your customer list filtered to the leads that came in through the form, so you can work through your new inquiries.
New leads appear in your customer list with the **Lead** status. See [Understanding customer status](/customers/customer-status) for how leads move to Active once you start work, and [Adding new customers](/customers/adding-customers) for the other ways customers get into ProBase.
## Spam protection
ProBase quietly filters out automated spam submissions and limits how often the same visitor can submit, so your lead list stays clean. This happens behind the scenes — you don't need to configure anything.
## Next steps
* [Understanding customer status](/customers/customer-status) — how leads progress to active customers
* [Creating quotes](/customers/creating-quotes) — send a quote to a lead to win the work
* [Adding customer notes](/customers/adding-notes) — keep track of what each lead needs
* [Updates](/getting-started/updates) — how the **New contact** alert reaches your team
# Creating quotes
Source: https://docs.probaseapp.com/customers/creating-quotes
Start a quote for a customer and property, then add the services you are quoting
## What a quote is
A **quote** is the price you put in front of a customer before the work is agreed. You build it up service by service, send it as a link they can open on their phone, and when they say yes it becomes a job.
A quote is a real record from the moment you start it. It appears on your [Quotes screen](/customers/managing-quotes#the-quotes-screen) as a **Draft** straight away, it survives backing out, and picking the flow up again returns you to the same draft rather than making a second one.
**Not sure what the work is worth yet?** Start an [assessment](/customers/assessments) instead — ask for photos or book a visit, then turn the answer into a quote. If the work is already agreed and needs no quote at all, [create a job](/getting-started/creating-jobs) directly.
## Starting a quote
There are four ways in, and they all land in the same place:
| Where you start | What happens |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| **New Quote** on the **+** [Quick Actions](/getting-started/quick-actions) button | Asks who it's for, then which property |
| **Add** on the [Quotes screen](/customers/managing-quotes#the-quotes-screen) | Same two questions |
| A customer's page | The customer is already known — you only pick the property |
| **Create quote** on an [assessment](/customers/assessments) | Customer and property both known — straight to the quote |
The flow opens on top of whatever page you were already on. Close it without finishing and you stay exactly where you were.
Pick the customer. Search by name, email, phone, or any of their property addresses.
**Marketplace customers can't be quoted here.** If you've [connected a marketplace account](/marketplace/connecting-accounts), those customers still appear in the list so you can see your whole book — but they're dimmed, show the marketplace's logo in place of the usual person icon, carry a lock icon on the right, and read *Managed by LawnStarter — not schedulable here*. The marketplace owns their pricing, so there's nothing to quote. Tapping one shows *This customer is managed by LawnStarter and can't be quoted here.* and the step stays put — tap the **✕** on the notice to dismiss it. See [Marketplace customers](/marketplace/marketplace-customers).
Pick the address the work is for. The customer you chose is shown at the top with a **Change** link if you picked the wrong one.
When you start from a customer's page, this is the only question you're asked.
You land on the new quote's own page. It reads **No services yet** with a single **Add your first service** button — the quote exists, it just has nothing on it yet.
### Starting from an assessment
When the quote comes from an [assessment](/customers/assessments), you skip both questions — and the quote carries the assessment's context with it. A **Context from Assessment** section holds what the customer told you, the photos they sent, your visit notes, and any checklist answers, so you can price the work without flipping back and forth.
Any pictures the customer sent come across as tiles under **Their photos:**, so you're pricing against what they actually showed you rather than a count of files left behind on the assessment.
Tap a tile to open the picture full size, with its filename and a **Download** button.
The card also carries the **Assessment** row itself — the stage it's at and a chevron back to it — so you can check anything the card doesn't show without losing the draft.
## Adding services to the quote
A quote is a container of **services** — one row per thing you're charging for, each with its own price, cadence, and billing. Tap **Add your first service** (or **Add service** once there's one on there) to open the service editor.
### Start from one of your services
The editor opens with **Start from one of your services**, drawn from your [service catalog](/getting-started/service-catalog). The service you've used most leads with a **Most used** badge, so the common case is one tap. Under it, **Pick another service from your catalog** — *All 8 of your saved services.* — opens the rest of the catalog as cards.
Each card shows the service name plus how often the work happens and how it's billed — for example *Weekly · subscription billed monthly* or *One-time · per service*.
* Picking a card fills in the name, description, billing type, billing interval, frequency, price, and duration estimate — all still editable.
* Prefer to type this one out? Pick the **Custom service** card, which clears the pre-filled fields.
If your catalog is empty you simply type the details in yourself. Building a catalog first makes every future quote faster — see [Managing your service catalog](/getting-started/service-catalog).
### Fill in the details
* **Service name** (required) — what you're providing, e.g. "Weekly Pool Cleaning"
* **Description** (optional) — what's included. Line breaks you type are kept when the customer reads the quote.
* **Billing type** — **Per service** (billed each time work is completed) or **Subscription** (billed on a recurring schedule regardless of visits)
* **Billing interval** (subscription only) — Weekly, Monthly, Quarterly, Semi-annual, or Annual. The recurring billing day is set automatically from the day the quote is accepted, so there's no separate field to fill in.
* **Service frequency** — One-time, Weekly, Bi-weekly, Monthly, Every 2 months, Quarterly, Every 6 months, or **Custom** (pick Custom and type the number of days between visits, from 1 to 365)
* **Price** (required) — what the customer pays per service or per billing period
* **Tax rate** (optional) — entered as a number, e.g. `6.625` for 6.625% tax. Defaults to 0% — leave it if you don't charge tax. ProBase never sets, suggests, or verifies a rate for you, so confirm the correct rate for the service and the customer's location. Three decimal places are supported for precise local rates.
* **Start date and time** (optional) — when this service would first run. Setting it means accepting the quote books the first visit for you.
Tap **Save** and the service joins the quote.
### Line items
Inside a service you can add **line items** — small extras billed alongside it, like a dump fee or a bag of chemicals. Each is just a name and a price.
Line items ride the service's own cadence and tax: on a recurring service they're *billed on every visit, alongside the service*; on a one-time service they're *billed once*. If an extra runs on its own schedule, add it as a separate service instead.
Tap **Add a line item** to add a row, or the bin icon to remove one.
### Editing or removing a service
Tap any service row on the quote to reopen the editor with that service's details loaded. Change what you need and save.
## Discounts
Discounts can go on a single service or across the whole quote. Either way the customer sees the discount spelled out on their copy — it's never hidden inside a lowered price.
### Discount one service
In the service editor, type a value into the **Discount** field. As soon as you do, ProBase asks how often it should apply:
* **Every time** — comes off every invoice for this service
* **Just once** — comes off the first invoice only
Add a **label** so the customer knows what they're getting — "Veterans discount", "New customer", and so on. The label is what shows on their quote.
### Discount the whole quote
Below the services, tap **Add a discount on the whole quote**. Enter an amount and a label, and the sheet previews the exact money as you type — *Comes off the first invoice · \$15.00*.
Once saved, the totals line reads exactly as the customer will see it — *New customer -\$15.00 off your first invoice*.
## What the customer reads
Two written fields sit under the services, and they're saved as you type. Tap **Done** to collapse either one.
* **Customer message** — appears at the top of the quote the customer opens. Use it for the one thing you'd say out loud: why this option, what happens next.
* **Private notes** — for you and your team only. The customer never sees these.
## Terms and expiry
The **Terms** block holds the **Valid until** date — the day the quote stops being open for acceptance.
Your default terms live in [settings](/getting-started/settings#quote-terms), and every new quote starts from them. Editing the terms on a quote changes that quote only — and changing the default later never rewrites a quote you've already created.
## Preview it as the customer
Before you send, check what the customer will actually see. Open the **More** menu on the quote and choose **Preview as customer**.
The preview is the real customer page with the decision buttons switched off — it reads *Your customer approves or declines here.* so you can't accidentally accept your own quote. **Back to quote** returns you to editing.
## Next steps
* [Managing quotes](/customers/managing-quotes) — send the quote, track the answer, and turn a yes into a job
* [Working assessments](/customers/assessments) — when you need a look before you can price the work
* [Creating jobs](/getting-started/creating-jobs) — for work that's already agreed
* [Managing your service catalog](/getting-started/service-catalog) — make every quote faster to build
# Viewing customer information
Source: https://docs.probaseapp.com/customers/customer-history
View customer details, properties, work, visits, and billing
## Open a customer's page
1. Go to **Customers** in the sidebar
2. Search for the customer by name, phone, or email
3. Tap their name to open their page
**Edit** sits in the top-right corner of the page. It opens the customer's details for changes, and it's also where you [archive a customer](/customers/archiving-customers) you no longer work with.
## The top card
The card at the top of the page holds everything you need at a glance. The customer's [status](/customers/customer-status) — **Lead** or **Active**, or a grey **Archived** badge once you've [archived](/customers/archiving-customers) them — sits as a coloured badge beside their name.
Below that:
* **Outstanding balance** and **Lifetime value** — tap the row to open the full [billing history](/billing/customer-balances)
* **Next visit** — the customer's next scheduled visit, tappable to open it. If nothing is booked it reads **No visit scheduled** with a **Schedule** button beside it
* **Phone** and **email** — tap to call, text, or email
* **Pays by** — how this customer usually pays
* **Share customer portal access** — sends the customer a link to their own [portal](/customers/customer-portal)
If your role isn't allowed to see customer contact details or money, those rows are left out of the card — see [Roles and permissions](/team/roles-and-permissions).
**Which rows open something?** On a computer, resting your pointer on a row shades it and turns the cursor into a hand when that row goes somewhere — and a small **›** arrow on the right edge marks the rows that open a full page. Rows without either are just information.
### Contact preference
The phone row carries a small pill showing how the customer likes to be reached. If nobody has set one yet it reads **Set preference**. Tap it to choose **Prefers calls**, **Prefers text**, or **No preference**.
The choice saves immediately and the pill updates to match.
### Pays by
The **Pays by** row records how this customer normally pays, so whoever is on site knows what to expect. Tap it and pick **Cash**, **Check**, **Venmo / Zelle / Cash App**, **Card**, or **Other**.
Choosing **Other** gives you a free-text box to describe the arrangement in your own words.
If your team is [connected to Stripe](/billing/stripe-setup) and the customer has a saved card, the row shows **Card on file with Stripe** automatically — you don't set that one yourself, and ProBase never shows card details.
## Properties
The **Properties** card lists every location you work at for this customer. Tap a row to open that property's page. The **+** button beside the heading adds a new property.
When the customer has exactly one property, its details appear directly under the row so you don't have to click through.
**One property vs several.** For a customer with a single property, the Notes, Services, and Visits cards all appear on the customer page. For a customer with several, those cards live on each property's page instead — tap the property you're interested in.
See [Properties and addresses](/customers/properties-and-addresses) for more.
## Notes
The **Notes** card has a **Customer** tab and a **Property** tab, so you can keep general information about the person separate from access details for the location.
See [Adding notes](/customers/adding-notes) for how to create, edit, and delete them.
## Services
The **Services** card lists every piece of work on the account — jobs, quotes, and assessments — split across two tabs:
* **Active** — jobs currently running, plus draft and sent quotes and assessments
* **Inactive** — completed and cancelled jobs, quotes that were accepted, declined, or have expired, and assessments that were declined or cancelled
Tap any row to open that record.
Tap the **+** beside the **Services** heading to start new work for this customer — it opens the [New Job wizard](/getting-started/creating-jobs) with the customer already chosen. The **+** is hidden on archived customers and on [marketplace customers](/marketplace/marketplace-customers), whose work is scheduled by the marketplace instead.
Once a customer accepts the quote tied to an assessment, that assessment drops off both tabs — the resulting job already represents the same work, so showing both would double it up. Draft, sent, and declined assessments stay in the list.
## Visits
The **Visits** card shows individual appointments, with **Upcoming** (soonest first) and **Previous** (most recent first) tabs.
Tap a visit to open its own page, where you can see the notes, photos, and service record for that appointment.
Use the back arrow to return to where you were.
## Billing
Tap the **Outstanding balance** row in the top card to open the customer's full billing history.
See [Customer balances](/billing/customer-balances) for details on managing charges, credits, and payments.
If a customer has been [archived](/customers/archiving-customers), their page becomes read-only — the **Edit** button and the **+** buttons are removed, but you can still review their full history and billing.
# Customer payment portal
Source: https://docs.probaseapp.com/customers/customer-portal
Give customers access to view their invoices and pay online
## Overview
The customer portal is a simple, secure set of pages where customers can read their [service reports](/customers/service-reports), view their invoices, see all charges, add a tip, and pay online with a credit card. Each customer gets a unique link that you can share via text or email. No login is required — customers just open the link.
To accept online payments, you'll need to [connect your Stripe account](/billing/stripe-setup) first. Without Stripe, customers can still view their invoices but can't complete payments online.
## How it works
1. You send a link to a customer — a payment link from **Send Invoice**, or a [service report link](/routes/sending-service-reports) when you finish a visit
2. Customer opens the link (no login required)
3. From any page, the header's back chevron takes them to their portal home: their invoices, and **Your visits**
4. Customer taps an invoice to view the full breakdown
5. For eligible invoices, the customer is first shown a **service review page** where they rate the service and can optionally add a tip (you can [turn this step off](/billing/service-ratings) — the tip question then moves onto the invoice page)
6. Customer enters their card details and completes payment (when Stripe is connected)
7. Payment is processed and applied to the invoice automatically
## Share the portal link from the customer's page
You don't have to wait for an invoice to go out. Open a customer's page and, under **Pays by** on the top card, tap **Share customer portal access**.
The **Customer portal** sheet opens with:
* **The link itself**, with a **Copy link** button. Paste it into a text or an email — ProBase doesn't send anything on your behalf here.
* **What \[name] sees** — a preview of their portal: your business name, their name, and each invoice or service report with its status badge (**Paid**, **Partially paid**, **Unpaid**, or **Completed**). If there's nothing for them to see yet, the preview says so rather than showing an empty page.
* **Open customer portal**, which opens their page in a new tab so you can check it yourself.
Tapping **Copy link** confirms with a **Link copied!** message.
Anyone with the link can open it — there's no password. Treat it like the customer's own copy of their invoices and send it only to them.
The row only appears for team members whose role allows sharing payment links. See [Roles and permissions](/team/roles-and-permissions).
## Send a payment link
From the **Money** page, click on an invoice to open it. Or from a customer's profile, find the invoice in the **Invoices** section.
Tap **Send Invoice**. This sends the invoice and opens the SMS sharing modal.
A pre-filled message is ready with the customer's unique payment link. Either:
* Tap **Send SMS** to open your messaging app with the message ready to send (shown when a phone number is on file)
* Tap **Copy Message** to copy the message to your clipboard (shown when no phone number is on file)
* Tap **Copy** to copy the message — including the payment link — to your clipboard
The payment link shows real-time data. When you add charges or credits to the customer's account, the balance on the payment page updates automatically.
## What customers see
### Every page carries the same header
Your business name sits at the top of every portal page, with a back chevron to the customer's portal home (on every page but the home itself) and a **Contact us** button.
**Contact us** opens a sheet with **Call**, **Text message** and **Email** rows, built from the business phone and email you set in [Business Profile settings](/getting-started/settings). A detail you haven't filled in is left out, and with neither filled in the button doesn't appear.
The header is hidden when the customer prints — see [Printing invoices](/billing/printing-invoices).
### Invoice list
The portal home opens with a list of the customer's invoices and service reports. Each entry shows one of the following:
**Invoices** (with a dollar amount):
* **Unpaid** — balance is outstanding
* **Partially paid** — a payment has been made but the full balance is not yet covered (shows the remaining amount owed alongside the original total)
* **Paid** — fully settled
**Service reports** (no dollar amount):
* **Completed** — a \$0 service visit from a subscription service. No payment is required; tapping it shows the service details.
They can tap any item to view details and, for invoices, complete payment.
If a customer has no invoices or service reports, they see a "You're all set!" confirmation message.
### Your visits
Underneath the invoices sits a **Your visits** section — the customer's own record of the work, with no money in it. It has two groups:
* **Upcoming** — the next visit booked for each of their services, soonest first
* **Past** — the most recent completed visit of each service, newest first
Each group's **Show more** opens the whole of it: the full schedule ahead, and the full history behind. A group with nothing in it isn't shown at all.
Each row names the service and the date. A past visit whose [report you sent](/routes/sending-service-reports) also reads **Report sent** and, once the customer rated it, their stars as text — *Aug 28 · Report sent · 5 of 5* — and tapping it opens that report.
Rows that have no report to open aren't tappable: upcoming visits, and completed visits whose report you haven't sent. Nothing of a report is shown before you've chosen to send it.
Assessment visits and [marketplace visits](/marketplace/marketplace-jobs) are never listed here, and neither are cancelled or rescheduled ones.
### Service reports
A completed visit's [service report](/customers/service-reports) is the customer's copy of the work: what you did, anything your checklists recorded, the photos, a place to rate you, and the bill if it rode along. It has a page of its own, opened from the link you sent or from **Your visits**.
When you complete a subscription service appointment at no charge (for example, a visit included in a flat-rate monthly plan), customers also see a **"Service completed"** entry in the list above. Before viewing the service details, customers are shown a quick **"How was your service?"** page where they can rate the experience and optionally add a tip. Tips on service reports work the same way as on invoices — the tip selector only appears once the customer rates, showing the three percentages you set in [Tips and gratuity](/billing/tips) plus an **Other** option for a custom dollar amount.
After rating (or if the service isn't eligible for review), they see the visit's summary — the plain-language description of the work, **What we recorded**, and the photos.
The summary is the **Customer notes** you wrote when completing the visit, drafted for you by AI Assist if you used it. It gives customers a clear, readable account of the visit without exposing your internal notes — a record of every visit, even when no invoice is generated.
### What we recorded
If you use [checklists](/checklists/overview) and mark items to include in the customer summary, those filled-in items appear under a **What we recorded** heading, grouped under the checklist they came from — readings, completed tasks, and even a customer signature (shown as **Signed by customer**).
You control which items appear when you build the checklist — see [The customer Service Report](/checklists/completing-checklists#the-customer-service-report).
### Service review
For invoices tied to a completed service appointment, customers are first shown a **"How was your service?"** page before they can pay. This gives them a chance to rate their experience, optionally add a tip, and preview the full invoice they're about to pay.
This step is on by default but is yours to control — see [Service ratings](/billing/service-ratings). With it switched off, customers skip straight to the invoice page.
The page is laid out as a single, scrolling experience:
1. **Star rating at the top.** Customers tap 1–5 stars to rate their service. No tip selector is shown until a rating is chosen.
2. **Tip selector (appears after rating).** Once the customer rates, your three suggested percentages appear as buttons — each showing the dollar amount it works out to — alongside a full-width **Other** button for a custom dollar amount. Nothing is pre-selected, so customers who don't want to tip simply leave the section untouched. The percentages come from your [tipping settings](/billing/tips), and the whole section is hidden if you've turned tipping off.
3. **Balance Due card.** Directly below the tip selector, customers see the same **Balance Due** card they'd see on the payment page — their name and billing address, invoice number and dates, line items, totals, and the balance due. They can preview exactly what they're about to pay before continuing.
4. **One card per visit.** Below the Balance Due card, each visit the invoice covers gets its own bordered card — the service name, the property address and the date, the plain-language summary of the work, **What we recorded**, and the photos in their **Before** and **After** groups. A visit with nothing to report draws no card. These always render last, beneath the balance and payment area.
5. **Floating "Continue to payment" button.** The CTA sticks to the bottom of the screen on mobile and desktop so it's always within reach.
If a customer wants to enter a custom tip amount, they tap **Other** to reveal a dollar-amount input. (If you've set tipping to **Custom amount only**, that dollar box is shown from the start and there are no percentage buttons.)
Once the customer taps **Continue to payment**, their rating is saved, the tip (if any) is added as a line item to the invoice, and they're taken to the payment page.
The **Continue to payment** button won't move them along until they've picked a rating — tapping it without stars shows *A star rating is required — please select one above.* just beneath the button.
**The stars are only asked for once.** If any visit this invoice covers has already been rated — on its [service report](/customers/service-reports), or on this invoice before service reports existed — the rating step is dropped and the page shows the tip question alone. With nothing left to ask, they go straight to the invoice.
If an invoice is not eligible for review (for example, if the customer has already rated it or already paid), they go directly to the invoice payment page.
### Invoice detail and payment
When a customer opens an individual invoice, the page is laid out top-to-bottom as:
* Your business information (logo, name, address, phone, email, and website — whatever you've configured in Business Profile settings) shown above the cards
* A **Balance Due** card with their name and billing address, the invoice number, the **Issued** date (plus the **Due** date, if you've opted into [showing overdue status](/billing/payment-terms#showing-overdue-status-to-customers)), all line items with titles and quantity, any carried-forward charges from previous invoices, and the totals (subtotal, tax, any credits applied, total, and balance due)
* The **payment form** (when Stripe is connected and a balance is owed)
* **One card per visit** at the bottom (when there's anything to show) — the service name, the property address and the date, the description of what was done, **What we recorded** from your checklists, and the photos
An invoice covering a month of visits shows one card per visit, in the order they happened, so a customer can tell them apart. Photos render as a 3-column grid of thumbnails under their **Before** or **After** heading; customers can tap any thumbnail to open the full-size image in a new tab.
Line items show the quantity inline (e.g., `QTY: 2`). When a quantity is greater than 1, the unit price is shown below the item name and the total for that line is shown separately — giving customers a transparent breakdown.
The page is headed **Pay invoice**, and stays that way even when the due date has passed. By default the due date isn't printed on the customer's page at all, and nothing calls out that they're late. If you'd rather they see it, turn on **Show overdue status to customers** in [Payment terms and due dates](/billing/payment-terms): the **Due** date then appears next to **Issued**, past-due invoices read **Pay past due invoice**, and that date is highlighted in amber.
If you've turned the [rating step](/billing/service-ratings) off, customers land on this page the moment they tap an invoice — no **"How was your service?"** screen in between.
The tip question then moves here too: an **Add a tip** section renders just above the payment form, and the **Pay** button's total updates live as the customer chooses an amount. The tip is charged together with the invoice, so they can change it right up until they pay. (It's skipped when a tip is already on the invoice, when [tipping is off](/billing/tips), or when Stripe isn't connected — as in the example above.)
Customers paying down their **whole balance** rather than a single invoice get a slightly different page, with an **Add a tip (optional)** row that includes a **No tip** button alongside your percentages.
#### Customers can print their invoice
A **Print** button sits next to the **Pay invoice** heading. It opens the customer's own print dialog, so they can print a copy for their records or save it as a PDF — without asking you for one.
What prints is a clean invoice rather than a copy of the screen: your business letterhead, a **Bill to** block, the line items and totals, each visit's summary with its photos, and a **Pay online** QR code when a balance is still owed. The payment form, tip selector, Venmo block, and portal header are left off. See [Printing invoices](/billing/printing-invoices).
### Payment form
When Stripe is connected, customers see a secure payment form where they can enter their credit card details and complete payment.
The form asks for the card number, expiration date, security code, country, and ZIP code, with the **Pay \$\[amount]** button underneath and the line *Your payment is processed securely by Stripe.* below it.
The payment form is powered by Stripe and is fully PCI-compliant. Card details are never sent to ProBase — they go directly to Stripe's secure servers.
#### The Pay button waits for the card fields
The card fields load from Stripe a moment after the rest of the page, so the **Pay** button starts out greyed out and only becomes tappable once the card fields are ready. On a slow connection that can take a second or two — it means a customer tapping the moment the page appears can't submit a payment before the form is ready to take it.
Once tapped, the button shows a spinner while Stripe checks the card. If something goes wrong, the button comes back and a short red message appears just under the card fields — the reason from Stripe (for example a declined card), or *We could not process your payment. Please try again.* if the payment couldn't be attempted at all. Either way the customer can simply tap **Pay** again.
**Going back and forward works too.** If a customer taps their phone's Back button and then returns to the payment page, the card fields reload themselves so the form is live again. They don't need to reload the page or reopen the payment link.
### Communication consent (optional)
Customers may be asked to consent to receive text message communications about their account and services. This consent is optional and not required to complete payment.
### When Stripe isn't connected
If you haven't connected Stripe yet, customers will see a message that online payments aren't available.
They can still view their invoices and charges, but they'll need to contact you directly to arrange payment.
## Quote links
In addition to payment links, you can also share **quote links** with customers. A quote link lets customers view the full quote details and approve or decline it on their own — no login required.
When a quote is in **Sent** status, a customer quote link appears on the quote detail page in ProBase. Copy and share that link via text, email, or any other method. Customers can:
* Review the quote details and full pricing breakdown — base service, any additional line items, subtotal, tax, and total
* Tap **Approve** to accept the quote (the confirmation shows the full total including line items and tax)
* Tap **Decline** and select a reason (Too expensive, Found another provider, etc.)
Once they approve, the page confirms it on the spot — no login, no reply to wait on.
The line items travel with the yes: everything priced on the quote becomes a standing charge on the job it creates, so the work is billed for what was agreed without you re-entering any of it.
If the quote has a valid-until date that has passed, customers see an expiration notice and are prompted to contact you for an updated quote.
See [Managing quotes](/customers/managing-quotes) for full details including screenshots of the customer quote experience.
## Best practices
* **Send after completing work** — The [send report step](/routes/sending-service-reports) opens as soon as you complete a visit; turn the invoice switch on and the customer gets what you did and what they owe in one message
* **Follow up on overdue invoices** — Re-share the link when following up on outstanding balances
* **Let customers bookmark it** — The link never expires, so customers can return anytime to check their balance
# Understanding customer status
Source: https://docs.probaseapp.com/customers/customer-status
Track customer engagement with automatic status indicators
## What is customer status?
Every customer in ProBase carries an automatic status that tells you, at a glance, whether they're still a prospect or someone you've actually done work for. You never set it by hand — ProBase keeps it up to date as work is created.
## The two statuses
### Lead (amber)
Someone you haven't created any work for yet.
**What it means:**
* No job has ever been created for this customer
**Common examples:**
* A new enquiry that came in through your [contact form](/customers/contact-form)
* A contact you typed in so you wouldn't lose their number
* A customer with a quote or an assessment on the books, but no job yet — a quote is still the "thinking about it" stage
### Active (green)
Someone you've created work for.
**What it means:**
* At least one job exists for this customer
**Common examples:**
* A weekly lawn care customer on a recurring job
* A one-off clean-up you booked last spring — the job stays on record, so the customer stays Active
* A customer whose job you later cancelled — the work still happened (or was at least booked), so they don't drop back to Lead
A quote or assessment on its own never makes someone Active. The moment you accept the quote and it becomes a job, they flip to Active.
### Archived
**Archived** isn't really a third status — it's what happens when you [archive a customer](/customers/archiving-customers) you've stopped working with. Archived customers are hidden from your list by default and show a grey **Archived** badge in place of Lead or Active. [Unarchiving](/customers/archiving-customers#bring-a-customer-back) restores them and ProBase works out their Lead or Active status again from scratch.
## How status is calculated
The rule is deliberately simple:
* **Any job exists → Active**
* **No job exists → Lead**
The job's own state doesn't matter. An active job, a finished job, even a cancelled one all count — once you've booked work for someone, they're a customer, not a lead.
ProBase recalculates the status automatically whenever a customer is created and whenever a service is created, updated, or cancelled.
## Viewing customer status
### On the customer list
Open **Customers** in the sidebar. Every row shows:
* The status badge with its coloured dot (green **Active**, amber **Lead**)
* **Last Job** — the date of the most recent completed visit
* **Next Job** — the date of the next scheduled visit
Use the **All Statuses** dropdown to narrow the list. You can pick more than one option at a time, and the list updates instantly. Clear all selections to go back to the full list.
### On the customer page
The status badge sits right beside the customer's name at the top of their page.
## Status change examples
### Lead → Active
1. A prospect fills in your contact form — they arrive as a **Lead**
2. You send a quote; they're still a **Lead**
3. They accept, and ProBase creates the job — the badge flips to **Active**
### Active stays Active
1. A customer's recurring job is finished for the season and cancelled
2. They stay **Active**, because the work is on record. Archive them if you want them off your working list.
## Using status to manage your business
* **Filter by Lead** to see everyone you've quoted or captured but never booked — your follow-up list.
* **Filter by Active** to see the book of business you're actually servicing.
* **Sort by Last visit** (see [Sorting your customer list](/customers/adding-customers#sort-the-list)) to spot Active customers going quiet.
## Last and next visit dates
Alongside status, ProBase tracks two dates per customer:
* **Last Job** — the most recent completed visit
* **Next Job** — the next scheduled visit
They appear on each customer row in a short format like "Feb 4", and they're what the **Next visit** and **Last visit** sort options order by.
## Next steps
* [View customer information](/customers/customer-history) to see the full customer page
* [Add new customers](/customers/adding-customers) to your business
* [Archiving customers](/customers/archiving-customers) to tidy your list
* [Create jobs](/getting-started/creating-jobs) to turn a lead into an active customer
# Importing customers in bulk
Source: https://docs.probaseapp.com/customers/importing-customers
Use AI to import your existing customer list from any file format
## What is the customer import wizard?
If you're switching to ProBase from another app — or have an existing customer list in a spreadsheet, PDF, or other document — you can import all of it at once using the customer import wizard. ProBase uses AI to read your files and extract customer names, contact details, property addresses, services, and upcoming appointments automatically.
The import wizard can read almost any format: spreadsheets (CSV), text files, PDFs, word-processor exports, and even photos of handwritten lists or printed documents (JPG, PNG, GIF, WEBP).
## How to import customers
There are two ways to reach the import wizard:
* **From the Customers page** — tap the **Import customers** button in the page header, next to **Add customer**. On a narrow phone screen the two buttons shorten to **Import** and **Add** so they fit beside the page heading.
* **From Account Settings** — open the **Bulk data** card in your settings and tap **Import customers**.
Either one opens the **Imports** page, which shows all of your past and in-progress imports. Tap **New Import** to start a fresh one. While an import is running, you can also reach it from the **"Add your first customer — We're processing your file"** step in the [Get started checklist](/getting-started/homebase#get-started-checklist) on your HomeBase dashboard.
The **Import customers** button and the **Bulk data** card are rolling out gradually, and importing needs permission on your [role](/team/roles-and-permissions). If you don't see them yet, you can still open the imports page directly at **/customers/imports**.
Drag and drop your files onto the upload area, or click to browse and select them. You can add several files to one import — select or drop them one at a time and they'll stack up in the list before you process them (for example, a CSV with customer names plus a PDF with their addresses).
Supported formats:
* **Spreadsheets**: CSV
* **Documents**: TXT, PDF, XML
* **Images**: JPG, PNG, GIF, WEBP (useful for photos of printed lists)
Each file can be up to 20 MB.
To remove a file before processing, tap the **×** next to it.
A note on the upload screen sets expectations for big lists: large files are read by AI in batches of about 100 rows, taking roughly **3 minutes per batch**, so a large list can take several minutes. You can leave the page and come back — ProBase keeps working in the background.
Click **Process Files** to send your files to ProBase's AI. The wizard submits the job for processing and immediately shows a live progress screen — no need to do anything else.
Processing moves through four stages automatically:
1. **Extracting** — Reading the contents of your uploaded files
2. **Analyzing** — AI identifies customers, addresses, services, and appointments. For larger lists, this stage shows a running percentage (e.g. *"Analyzing content with AI (75%)"*) so you can see it working through your data rather than sitting on a single spinner
3. **Creating** — Organizing the extracted data into records
4. **Detecting duplicates** — Comparing against your existing customers to avoid creating duplicates
The progress screen updates every few seconds on its own. It also shows an **estimated time remaining** (for example, *"Estimated time remaining: about 6 minutes"*) so a large import doesn't read as stuck — this is based on roughly 3 minutes per batch of about 100 rows. You don't have to keep the page open: you can leave and come back, and ProBase keeps processing in the background.
**Large lists are handled automatically.** If you're importing a long customer list, ProBase splits it into smaller pieces and reads several of them at the same time. This keeps big imports both fast and reliable — even lists with hundreds of customers come through without the import failing. Very large lists simply take a little longer to finish. If one piece of a large list can't be read, the rest still comes through — you'll get everything that could be processed, ready to review.
If you close the page while processing is running, you can come back to it at any time. Open the **Imports** page and tap the import card to pick up where you left off. While processing is active, your HomeBase dashboard also shows a **"Add your first customer — We're processing your file"** reminder that links straight back to it.
Once processing is complete, the wizard shows you everything it found.
**Heads-up warnings.** If the AI noticed anything worth a second look while reading your files — a missing email address, two customers that seem to share a phone number, an address it wasn't sure about — it lists these at the top of the review screen in a yellow **"Heads up — review these before importing"** box. The number in the heading tells you how many notes there are, and you can collapse the box by tapping its heading once you've read through them. Nothing here blocks the import; it's just a checklist of things to confirm or fix before you create the records.
Records are organized in a tree:
* **Customer** (top level)
* **Property** (the customer's address)
* **Service** (a service at that property)
* **Appointment** (a scheduled visit for that service)
Each record has a checkbox, and the review screen opens with **nothing selected** — you decide what to bring in. Records that appear to be **duplicates** of existing customers or properties are never included by **Select All**, so review those carefully and check them individually only if you do want to import them.
**Actions you can take:**
* **Check or uncheck individual records** to include or exclude them
* **Select All** — selects all records except those flagged as potential duplicates. If any duplicates were skipped, a warning appears showing the count. To import a duplicate anyway, check it individually.
* **Deselect All** — unchecks every record, including duplicates
* **Edit a record's details** inline — click on any field to correct a name, address, or other detail before importing. Tapping a field's label (**Email**, **ZIP Code**, **Price**, and so on) puts your cursor in that field too, which makes the compact grid easier to work through on a phone
**Captured notes.** While reading your files, the AI often finds useful details that don't fit a standard field — gate codes, access instructions, a second phone number or email, or a secondary contact. Instead of dropping that information, it places it in a **Notes** field on the customer or property. You'll see it in an editable text box on the review screen, where you can adjust or clear it before importing. Anything left in the Notes field is saved as a note on that customer or property (attributed to you) once the import completes, so it's there when you open the record later.
Approving or skipping a parent record affects its children. If you uncheck a customer, all their properties, services, and appointments are also skipped. If you check a customer back in, their children are re-checked too.
**Long lists are split into pages.** If your import contains a lot of customers, the review screen shows 50 at a time with **Previous** and **Next** controls at the bottom. Use them to move through your list page by page.
The counter at the bottom — for example *"0 of 55 records selected"* — always reflects your **entire** import, not just the page you're viewing. **Select All** and **Deselect All** likewise apply to every record across all pages, so you don't have to visit each page to include or exclude everything, and your checkbox choices are remembered as you move between pages. Each record keeps its own checkbox state — checking a record on one page never carries that tick over to a different record when you flip to the next page.
When you're happy with the selections, click **Import Selected**. ProBase creates all the approved records in your account.
While the records are being created, the wizard shows a **"Creating records..."** progress screen that updates on its own — no need to do anything. For a large import this creation happens in the background, so even very long lists finish reliably without you having to keep the page open. When it's done, the wizard moves to the summary automatically.
**Interruptions heal themselves.** Records are created in small batches, and each batch is saved as it finishes. If the process is briefly interrupted while your records are being created — for example a temporary hiccup on our servers — ProBase automatically picks up right where it left off and finishes the job. Records that were already created are never duplicated, and the progress screen continues on its own through to the summary. You don't need to do anything.
The final screen shows a summary:
* **Created** — how many records were added
* **Skipped** — how many you chose not to import
* **Errors** — any records that couldn't be created (rare)
Click **View Customers** to see your newly imported customer list.
## Viewing past imports
The **Imports** page keeps a record of every import you've run. Each card shows:
* The file name (and how many files were uploaded if more than one)
* When the import was started
* The current status and a summary (e.g. "12 records imported" or "5 records awaiting review")
**Status badges:**
* **Completed** — the import finished successfully
* **Reviewing** — processing is done and records are waiting for your review; tap the card to continue
* **Processing** — files are still being analyzed by AI
* **Failed** — something went wrong; the card shows the error message
Tap any card to open that import and continue from where you left off.
## Tips for best results
**Clean up your file first.** The AI works well with messy data, but the cleaner your file, the more accurate the results. If your spreadsheet has a header row, keep it — it helps the AI understand what each column means.
**Include column headers in spreadsheets.** A CSV with headers like `First Name`, `Last Name`, `Email`, `Phone`, `Address` will extract more accurately than one with unnamed columns.
**Upload multiple files together.** If your customer data is spread across several files, upload them all in one batch. The AI reads them together and can match information across files.
**Review duplicates carefully.** The wizard automatically flags records that look like existing customers or properties in your account. Double-check these before importing to avoid creating duplicate records.
**You can always edit after importing.** If something is extracted incorrectly, you can edit the customer, property, or service after the import completes. No need to get everything perfect in the review step.
## What gets imported
The import wizard can extract and create the following:
| Record type | Fields imported |
| ----------- | ------------------------------------------------------------------------------- |
| Customer | First name, last name, email, phone, notes |
| Property | Address, unit/apt, city, state, ZIP code, notes |
| Service | Service name, price, billing type, service frequency, tax rate |
| Appointment | Start date & time, end date & time (calculated for you if the file doesn't say) |
Any extra details the AI captures for a customer or property — gate codes, access instructions, a secondary contact — are saved as a **note** on that record, which you can review and edit on the import review screen first.
Not every file will contain all record types. If your spreadsheet only has customer names and addresses, only customers and properties will be created — that's fine.
## If the import fails
Failures are rare. ProBase reports one only in two cases: when it can't read any customer data at all — for example, an empty file or one it can't open — or when the record-creation step was interrupted so many times it couldn't finish (in that case your reviewed records are safe and a retry resumes where it left off). When either happens, the wizard shows an **Import Failed** message with details about what went wrong.
When something goes wrong that a retry can't fix on its own, the import stops promptly and shows you the **Import Failed** message right away — you won't be left watching a spinner wondering whether it's still working. The message tells you what happened (for example, that no customer data could be read from the file), so you know whether to fix the file or simply try again.
You have two options from here:
* **Retry Import** — try the same import again without re-uploading anything. ProBase keeps the files you originally uploaded, so a single tap re-runs the import from your stored files. This is the quickest fix for a hiccup like a temporary interruption while your files were being read.
* **Back to Customers** — return to your customer list. From there you can start a fresh import from the **Imports** page (tap **New Import**) if you'd rather try a different file or format.
When you tap **Retry Import**, the wizard picks up in the right place automatically:
* If the import got as far as building your records before it stopped, your earlier review choices are kept — you'll see a message that your reviewed records were restored, and you can run the import again.
* If it stopped earlier than that, ProBase re-analyzes your uploaded files from scratch and returns you to the live progress screen.
If your file was only partly readable, the import doesn't fail at all — ProBase brings through everything it could read and takes you to the review screen with those records, so you never lose the customers it did find.
If you continue to have trouble, [contact support](/support/contact-support) and we can help you get your data imported.
# Managing quotes
Source: https://docs.probaseapp.com/customers/managing-quotes
Send quotes, track the answer, and turn a yes into a job
## The quote book
Every quote you start lives on the **Quotes** screen from the moment it's created — see [Creating quotes](/customers/creating-quotes) for building one. This page covers everything after that: getting it in front of the customer, recording the answer, and what happens when they say yes.
## The Quotes screen
Open **Quotes** from the navigation drawer, or tap the **Draft quotes** row on [HomeBase](/getting-started/homebase). The header shows how many quotes are open, and an **Add** button starts a new one.
Open quotes are grouped by where they've got to:
| Group | What it means |
| --------- | --------------------------------------------- |
| **Draft** | Written but not sent yet |
| **Sent** | The customer has the link and hasn't answered |
Each row shows the quote name (with **+ 1 more** when it holds several services), the customer, the amount due on the first invoice, **+ recurring** when anything repeats after that, and the **Valid until** date.
Tap anywhere on a row to open the quote. **Back** returns you to the list.
### Show closed
Finished quotes sit behind the **Show closed** toggle, each wearing its outcome:
* **Accepted** — with the date
* **Declined** — with the reason and any comment the customer gave
* **Expired** — the valid-until date passed without an answer
* **Archived** — you filed it away
### Search
The search box matches on **any** service on a quote, not just the quote's name — so searching "Hedge" finds a quote called "Lawn Mowing – Weekly" that has hedge trimming on it.
If nothing matches you get **No quotes match** and a nudge to try a different search or check **Show closed**.
## Sending a quote
A quote needs at least one service on it before it can go out. When it's ready, tap **Send Quote**.
A message composer opens with the customer's unique quote link already written into it:
* **Send SMS** — opens your phone's messaging app with the message ready to go (when a phone number is on file)
* **Copy** — copies the message and link to your clipboard, to paste wherever you like
The quote moves to **Sent**, and the main button becomes **Send again** — same link, same composer — so you can re-share it whenever the customer loses it.
The customer link only exists once the quote is sent. There's no link to share on a draft.
## What the customer sees
The link opens without any login. The customer sees:
* Your business name and contact details
* Their name and property address
* The message you wrote at the top
* Every service with its price, cadence, and any line items
* Discounts, spelled out with the label you gave them
* **Tax** and the total, when a tax rate is set
* The valid-until date
* Anything carried over from the assessment — your notes and the photos
### They approve
The customer taps **Approve** and confirms the total.
They see a "Quote Approved!" message, and in ProBase the quote flips to **Accepted** and the job is created.
### They decline
The customer taps **Decline** and picks a reason — too expensive, found another provider, no longer need the service, timing doesn't work, or other.
### The quote expires
Once the **Valid until** date passes, the approve and decline buttons are replaced with a notice asking them to get in touch for an updated quote.
## Recording the answer yourself
Customers say yes on the phone, at the door, or by text as often as they do through the link. Both outcomes are recorded from the **More** menu on the quote.
### Mark it accepted
Open **More** and choose **Mark accepted**.
A sheet spells out exactly what's about to happen before you commit — the job it creates, the amount, and the first visit it books if the service has a start date. It says plainly that **there is no undo**.
Confirm, and:
* The quote becomes **Accepted**, stamped *Marked accepted by you* with the date
* A **job** is created carrying the quote's pricing, billing, and cadence
* The first visit is booked automatically when the service had a start date on it
The record notes that *you* marked it accepted, rather than the customer doing it themselves — so the history stays honest about where the yes came from.
#### What the sheet tells you about visits
The line about booking changes to match what's actually on the quote, so you know before you confirm whether anything lands on the calendar:
| What's on the quote | What the sheet says |
| --------------------------------------- | --------------------------------------------------------------------------------------------- |
| One service with an upcoming start date | *Books the first visit for Jun 14, the date on this service* |
| Several services, all dated | *Books each service on the start date you set for it* |
| Some dated, some not | *2 of 3 services have an upcoming start date and book on it. The rest go to Needs scheduling* |
| No start dates at all | *No service on this quote has a start date, so the work goes to Needs scheduling* |
| Dates that have already passed | *No service on this quote has an upcoming start date, so the work goes to Needs scheduling* |
**A date that's already gone by books nothing.** Rather than quietly putting a visit in the past, ProBase sends that job to **Needs scheduling** and tells you so on the sheet.
#### Accepting a quote with no dates on it
You don't have to put a start date on a service before you can accept the quote — plenty of work gets a yes before you know when you can get to it.
The sheet tells you up front that nothing will be booked: *No service on this quote has a start date, so the work goes to Needs scheduling.*
Confirm and the job is still created with all its pricing and cadence — it just doesn't have a visit yet. A confirmation says *Jobs created — they're in Needs scheduling on HomeBase*, and the quote shows its **Accepted** stamp and pricing as usual.
Pick the work up from the **Needs scheduling** row on [HomeBase](/getting-started/homebase#needs-scheduling) whenever you're ready to put it on the calendar.
**Every service needs a price before you can accept.** A quote can never become a \$0.00 job, so **Mark accepted** stays out of the **More** menu until every service on the quote is priced.
### Mark it declined
Open **More** and choose **Mark declined — customer said no**.
Pick a reason and, if it's useful later, type what they actually said.
The quote becomes **Declined** and carries the reason and your comment on its face.
It moves off your open list and files under **Show closed** with its outcome line.
## Editing a quote
**To change a service** — its name, price, cadence, discount, or line items — tap the service row on the quote. See [Adding services to the quote](/customers/creating-quotes#adding-services-to-the-quote).
**To change the quote's terms** — the valid-until date — tap **Edit**. The sheet reminds you that *edits here touch only this quote; your default terms live in settings.*
### Editing after you've sent it
You can still edit a sent quote, but never silently. The sheet warns you up front: *This quote is already sent. Saving marks it Updated for the customer, and you'll get the link to re-share.*
After saving, ProBase offers the link straight away — *You changed a sent quote — re-share so nothing is silent.* The quote wears an **Updated** badge so you can see at a glance that the customer's copy has moved on.
### Accepted quotes can't be edited
Once a quote is accepted the **Edit** button disappears. The acceptance captured what the customer agreed to, so it stays exactly as it was — change the **job** it created instead.
## Reviving a declined or expired quote
A no isn't always final. On a **declined** or **expired** quote, tap **Revise quote**. The same quote returns to **Draft** with a fresh valid-until date and your current default terms, ready to re-price and send again.
The decline reason clears off the quote's face but stays in its activity history, so you keep the record of what happened without carrying it into the new conversation.
Revising works on declined and expired quotes only. Accepted quotes stay put — their changes belong to the job they created — and drafts and live sent quotes are simply edited in place.
## Archiving a quote
Archiving files a quote away without pretending the customer answered. Open **More** and choose **Archive**.
The sheet tells you exactly what leaves and what stays: the quote leaves your Quotes screen, its open assessment closes if it had one, and both remain on the customer's page under past work. You can add a reason.
It's still there under **Show closed**, with the date and your reason.
## Quote statuses
| Status | What it means |
| ------------ | ---------------------------------------------------------------------------------------------- |
| **Draft** | Being built. Not visible to the customer. Can be edited or sent. |
| **Sent** | The customer has the link. Can still be edited, which marks it **Updated**. |
| **Accepted** | Agreed. A job was created; the first visit is booked if a start date was set. Can't be edited. |
| **Declined** | Turned down, with a reason. Can be revised back to Draft. |
| **Expired** | The valid-until date passed with no answer. Can be revised back to Draft. |
| **Archived** | Filed away. A past record, kept on the customer's page. |
**Expired** isn't a status you set — ProBase works it out from the valid-until date. Extend the date (or revise the quote) and it's live again.
## Best practices
**Write the message.** The line at the top of the quote is the one thing the customer reads before the numbers. Use it to say why this option.
**Set a realistic valid-until date.** It creates a natural reason to follow up, and protects you when your own costs move.
**Record the answer, however it arrives.** Marking a quote accepted or declined keeps the Quotes screen honest and your history worth reading.
**Revise rather than rebuild.** A declined quote that comes back to life keeps its whole story attached.
## Next steps
* [Creating quotes](/customers/creating-quotes) — build the quote and price the work
* [Working assessments](/customers/assessments) — when you need a look first
* [Managing services](/customers/managing-services) — the job a quote becomes
* [Creating appointments](/scheduling/creating-appointments) — schedule the work
# Managing customer services
Source: https://docs.probaseapp.com/customers/managing-services
View, edit, and manage services for your customers
## What are services?
Services are the work you perform for customers at their properties. Each service includes pricing, billing details, schedule information, and a history of all related appointments.
## Viewing service details
To view a service:
1. Go to **Customers** in the sidebar
2. Click on a customer name
3. Click on a property address
4. Click on a service name
The service details page shows all information about the service in organized sections.
Services that came from a connected marketplace work differently — they're read-only, carry a **Managed in LawnStarter** (or Lawn Love / Home Gnome) tag, and can't be re-priced, rescheduled, or cancelled from ProBase. Their page has no **Service plan** section at all; instead, **Service details** shows a read-only **Frequency** row with the marketplace's own cadence, and the amount is labelled **Payout** — what the marketplace pays *you* per visit. See [Marketplace customers](/marketplace/marketplace-customers#the-service-page).
## Service information sections
The page opens with the job's **header card**, and the detail sections sit underneath it.
### The header card
The card is the job itself, in one place:
* **The job's name** as the page title
* A **state pill** — **Active**, **Completed** or **Cancelled**
* A single line underneath carrying how often the work repeats and when the next visit is — *Every Sunday · Sun, Sep 20*. With nothing on the calendar it carries the cadence on its own
* A **trade chip** beside the pill, when the job has an [industry](/getting-started/industries)
* Rows for **the customer** (tap for the contact sheet — **Call**, **Text message**, **Open customer profile**), **the property address** (tap for the address sheet — a satellite preview, **Copy address**, **Get directions**, **Open property profile**), and **the crew** on a business with more than one crew. The crew row is a fact here, not a button — the crew is set per visit
### Service details
Shows pricing and core service information:
* **Service name** — What you call this service
* **Description** — Details about what's included (if provided). When the job came from an accepted [quote](/customers/managing-quotes), the description is copied across with its formatting intact, so bullets and bold text you wrote on the quote read the same here
* **Price** — What the customer pays per service or per billing period
* **Tax** and **Total** — If a tax rate is configured, the tax amount and total are displayed
Tap the **→** button in the top-right of this section to open the **Change Pricing** modal and update the price or tax rate.
### Service plan
Two lines, and they're deliberately short — the cadence and the next date are already on the header card, so this section doesn't repeat them:
* **The schedule sentence** — the plain-language version of the plan: *Every Sunday · first visit Sep 20 at 12:15 PM.*, with the end date and the number of visits where the job has them. It's absent until a visit is on the books
* **How the customer is billed** — *Invoice: Per Job* on a per-service job, or the subscription interval (*Invoice: Monthly*, and so on)
Tap the **→** button in the top-right of this section to open the **Change Schedule** modal and update the service name, description, industry (trade), start date, end date, or frequency.
### Appointment History
Below the service plan, this service's appointments are organized into two tabs:
* **Recent Activity** — completed, rescheduled, and cancelled visits, with the next upcoming visit pinned at the top under an **Upcoming visit** label
* **Future Appointments** — every upcoming scheduled visit, soonest first
Each tab shows a few at a time with a **Show more** link to reveal the rest. For recurring services, the Future Appointments tab lists the whole pre-scheduled chain — see [How recurring visits are scheduled](/scheduling/future-visits).
Click any appointment to open its visit page.
## Viewing a visit
Tapping an appointment opens **the visit page** — the one screen your crew works a job from. It carries the service name and the visit's state, the customer, property, date-and-time and crew rows, the hand-offs (**Directions** and **Text on my way**), the action row, and the **Visit · Details · Notes** tabs.
See [The visit page](/routes/visit-page) for the full tour. The short version of what you can do from it:
* **Work the visit** — **Start visit**, pause and resume the clock, then **Complete visit**. See [Timing a visit](/routes/timing-a-visit) and [Completing a visit](/routes/completing-jobs)
* **Fill in the checklists** and add [charges](/routes/visit-charges) on the **Visit** tab
* **Assign or swap the crew** from the crew row on the header card (shown only when your business has more than one crew) — see [Assign or change the crew](/scheduling/creating-appointments#assign-or-change-the-crew)
* **Change time** (move the visit within its day) or **Reschedule** it to another day, from the date-and-time row or the **⋯ More** sheet
* **Cancel this visit** or **Cancel job**, at the bottom of the **⋯ More** sheet — see [Cancelling a visit](/routes/cancelling-visits)
* **Read the notes** — the visit's own pad, plus the property's and the job's notes, on the **Notes** tab
Actions your role isn't allowed to use simply aren't shown — see [Roles and permissions](/team/roles-and-permissions).
### A completed job visit
A completed job visit's action row holds **Send service report** — the customer's copy of the visit, with the invoice riding along if there's money due — and **Schedule another visit** underneath it. See [Sending the service report](/routes/sending-service-reports).
To send the invoice on its own, tap the **Charged** row under **What happened** and use **Send Invoice** on the invoice page.
### A completed assessment visit
A completed [assessment](/customers/assessments) visit offers **Create Quote** instead — or **View Quote** once a quote exists for it.
### A rescheduled visit
A rescheduled visit keeps a single **Send Reschedule Confirmation** button, which opens a pre-filled text naming the new visit's day, date and time (or simply noting that a new date will follow, if the replacement hasn't been booked yet). See [Rescheduling appointments](/scheduling/rescheduling-jobs#sending-a-reschedule-confirmation).
## Scheduling appointments
### Schedule a visit
An **active** job with nothing on the calendar shows a solid **Schedule a visit** button directly under the header card, with a **⋯** button beside it. Every other state — a job that already has a visit booked, a completed job, a cancelled one — shows no button row at all.
Tapping it opens a modal headed **Schedule Appointment** where you pick a **Date** and a **Start Time**, and optionally assign a **Crew**. The visit length is carried over from the service's previous appointment (defaulting to one hour). Tap **Schedule** to book it.
Once scheduled, the button row is gone and the appointment appears in the service's history.
The **⋯** button opens a short sheet:
* **Open next visit** — only when the job has one, with the line *Need to cancel just one visit? Open next visit* underneath
* **Cancel job**, in red and always last — see [Cancel job](#cancel-job)
Team members whose role can't create jobs don't see the button at all, and without permission to cancel jobs the **⋯** button isn't shown either.
## Service actions
### Change Pricing
Tap the **→** button in the top-right of the **Service details** section to update the service's price and tax rate. A full-screen modal opens where you can:
* Update the **Price** (what the customer pays per service or per billing period)
* Update the **Tax rate** — entered as a number (e.g., `8.25` for 8.25%). Leaving the field blank saves it as **0%**, so you can clear the rate to stop charging tax. ProBase never sets, suggests, or verifies a tax rate for you — confirm the correct rate for the service before saving.
Clearing the **Tax rate** field and saving stores the rate as **0%**, so the service stops charging tax going forward.
Changes take effect immediately and apply to all future appointments and billing. Past appointments and charges are not affected.
### Change Schedule
Tap the **→** button in the top-right of the **Service plan** section to update the service's schedule. A full-screen modal opens where you can modify:
* **Service Name** - What you call this service
* **Description** - What's included
* **Industry** - The trade this job belongs to (only shown if you've set up more than one trade). See [Industries (trades)](/getting-started/industries).
* **Start Date** - When the visit schedule begins
* **End Date** (optional) - When the recurring schedule stops (leave blank to run for one year from the start date)
* **Service Frequency** - How often work is performed (One-time, Weekly, Bi-weekly, Monthly, Every 2 months, Quarterly, Every 6 months, or **Custom** for any other cadence)
Choosing **Custom** reveals a **Days between visits** box. Enter the number of days between visits — anything from 1 to 365 — and the line underneath confirms it in plain language.
For recurring services, changing the **Start Date** or **Service Frequency** rebuilds the entire chain of future visits. A warning appears so you know it's about to happen — your completed, rescheduled and cancelled history is never touched.
Changes take effect immediately, and a green confirmation tells you how many visits were updated.
### If the schedule can't be saved
If ProBase can't apply the change, you get a **red message** saying so instead of the green confirmation — so a change that didn't stick is never reported as saved. The most common reason is that the service was **cancelled** in the meantime (for example, in another tab, or by a teammate while you had the window open); the message reads *"This service is inactive, so its schedule can't be changed."*
Reload the service page to see its current status. A cancelled service keeps its history and you can still work its remaining visits, but its schedule can't be edited — set up a new service if the customer wants the work to continue. See [Working with cancelled services](#working-with-cancelled-services).
See [How recurring visits are scheduled](/scheduling/future-visits) for the full picture of how the visit chain is rebuilt.
### Cancel job
Cancelling a job ends the work: every **upcoming** visit is cancelled, while past completed visits and the invoices for them stay exactly as they are.
**From a visit** — open any visit for the job, tap **⋯ More**, and take the last row, in red: **Cancel job**. A window headed **Cancel job** confirms what it covers; add an optional reason and tap **Cancel job**, or back out with **Keep the job**.
**From the job page** — a job that's active with nothing on the calendar shows **Schedule a visit** with a **⋯ More** button beside it, and **Cancel job** sits in that sheet. The window that opens from here is headed **Cancel Service**, and its buttons read **Keep Service** and **Cancel Service** — it ends the same job, in the same way.
### Choosing how much to cancel, from the job page
The window opened from the job page asks **What would you like to cancel?** whenever the job still has visits on the calendar and your role can cancel both the job and single visits:
* **Cancel all future appointments (5)** — the whole job, as above
* **Cancel only the next appointment (Fri, Sep 25, 2026)** — just the next visit; the job carries on
Underneath, the window lists the visits it's about to cancel, with their dates and times, so you can see exactly what you're ending before you confirm. Only the first three are shown — tap **Show 2 more** to see the rest, and **Show less** to fold them back up.
Pick **Cancel only the next appointment** and the list narrows to that one visit, and the red button re-words itself to **Cancel Appointment** — so the button always says what it's about to do.
You can add a reason either way. It's saved on the visit (or on the job) so anyone opening it later can see why the work was called off.
If someone else completed, rescheduled or cancelled that visit while your window was open, nothing is written and you get a warning instead — *That visit is no longer scheduled — nothing was cancelled.* The rest of the job is left exactly as it was.
After cancelling the job:
* The job's status changes to **Cancelled**
* Every upcoming scheduled visit is cancelled
* A visit someone was in the middle of working has its [clock stopped](/routes/timing-a-visit#if-the-visit-is-called-off-while-the-clock-is-running), and the time already worked is kept on it
* Your reason is saved, if you entered one
* The **Schedule a visit** button is gone
Only calling off **one** visit? Use **Cancel this visit**, one row above, and the job carries on. See [Cancelling a visit](/routes/cancelling-visits).
Cancelling a job can't be undone. If the customer wants the work to continue later, create a new job for them.
## Working with cancelled services
After cancelling a service, you can still:
* View appointment history and past service records
* Cancel individual remaining scheduled appointments (see below)
When you complete appointments on a cancelled service:
* The "Schedule next visit" step is automatically skipped (a cancelled service doesn't book new visits)
* Completion works the same as active services (you can add notes and service records)
* For per-service billing, charges are still created when appointments are completed
### Cancelling individual visits on a cancelled service
If any scheduled visits were not cancelled along with the job and you want them off the calendar:
1. Open the visit from the service page, the calendar or your schedule
2. Tap **⋯ More → Cancel this visit**
3. Confirm in the sheet — if the visit has charges or notes of its own, it asks whether to move them to the next visit first
This cancels just that one visit and leaves any others alone. See [Cancelling a visit](/routes/cancelling-visits).
## Service types: Jobs vs Assessments
Services can be either Jobs or Assessments, representing different stages in your workflow:
### Jobs
Jobs are confirmed work ready to schedule and perform.
**Characteristics:**
* Service status is "Active", "Completed", or "Cancelled"
* Work is confirmed and ready for scheduling
* Appointments can be completed and will generate charges (for per-service billing)
* Most of your services will be Jobs
* Created when you accept a quote or create a job directly from the Quick Actions menu
**Completion Process:**
When completing job appointments, anything still **required** on the visit's checklists opens first, then a single-screen form: your private **visit notes** (already filled in from the visit's notes pad), the **customer notes** that become the service report, any records AI Assist pulled out of your notes, and a preview of what the customer will see, with the visit's **After photos** in it. For recurring services whose next visit isn't already on the calendar, a follow-up screen appears to schedule it (or skip scheduling if needed). When the next visit is already part of the pre-scheduled chain, that step is skipped automatically. See [Completing a visit](/routes/completing-jobs) for the full walkthrough.
### Assessments
Assessments are on-site evaluations where you gather information to create quotes.
**Characteristics:**
* Assessment status is **New**, **Waiting on customer**, **Visit scheduled** or **Ready to quote** while it's open, and **Quoted** or **Closed** once it's resolved
* Used for on-site assessments before providing formal quotes
* Schedule an appointment to visit the property and assess the work needed
* After completing the assessment, you create a quote with pricing and details
**Completion Process:**
When you've been to the property, tap **Complete visit**. A light sheet opens where you:
1. Answer the visit's checklist questions, if it has a [checklist](/checklists/overview)
2. Write your **Notes** about what you found on site — these are private to you and carry into the quote
3. Finish with **Complete and create quote** (a draft quote opens right away), **Complete — quote later** (the assessment moves to **Ready to quote**), or **Close assessment** (there's nothing to quote)
Choosing **Complete and create quote** opens an empty draft quote with your notes, the customer's words, and the visit's photos gathered under **Context from Assessment**, ready for you to add services and pricing.
See [Working assessments](/customers/assessments) for the full workflow.
**Quick access to the quote from the service page:**
The assessment service page header always shows a quick-access button for the quote:
* **View Quote** — Appears when a quote has been created for this assessment. Tap it to open the quote directly.
* **Create Quote** — Appears when no quote exists yet. Tap it to start the quote creation process.
**The assessment workflow:**
1. Create an Assessment service for a customer (see [Creating quotes and assessments](/customers/creating-quotes))
2. Schedule and complete an assessment appointment to visit the property
3. During completion, create a Quote with your recommended service and pricing based on what you observed
4. Review and send the quote to the customer for approval (see [Managing quotes](/customers/managing-quotes))
5. When the customer accepts the quote, it automatically creates a Job service with the first appointment scheduled
6. The job is ready to complete and will generate charges (for per-service billing)
The full workflow is: Assessment → Quote → Job. However, if you can quote without a site visit, create a Quote directly. If work is already confirmed, skip straight to creating a Job.
Once a customer accepts a quote, the original Assessment service is hidden from the customer's services list — only the resulting active Job appears, so the page doesn't show duplicate work. Draft, sent, and declined assessments still appear so you can re-engage them.
## The visit briefing
A visit that's still ahead of you carries a **What you need for this visit** card — a few plain lines the AI writes from the notes already on the customer, the property and the job, so your crew has the gate code, the dog and last visit's request before they get out of the truck. It's for you and your crew, never the customer, and it disappears once the visit is completed or cancelled.
To add notes that feed the briefing:
* **Customer notes** — the **Notes** card on the customer's page (see [Adding notes](/customers/adding-notes))
* **Property notes** — the **Notes** card on the property's page
* **Visit notes** — the notes pad on the visit's **Notes** tab
See [The AI briefing](/routes/visit-page#the-ai-briefing) for how the card behaves, and [Notes and photos on a visit](/routes/job-notes-and-photos) for where each kind of note lives.
## Understanding service billing
### Per-Service Billing
* Customer is billed each time an appointment is completed
* A billing line item (charge) is created automatically when the crew marks the appointment complete
* Best for one-time jobs or pay-per-visit arrangements
* The price shown is the amount charged per visit
### Subscription Billing
* Customer is billed on a recurring schedule (weekly, monthly, quarterly, semi-annual, or annual)
* Billing line items are created **automatically** by ProBase on each configured billing date
* Completing appointments does NOT create charges
* The price shown is the amount charged per billing period
* **Charge Dates** — open the job and tap the **→** beside **Service details** to see when charges are automatically created: the last charge date and the next 3 upcoming billing dates
See [Per-Service vs Subscription Billing](/billing/one-time-vs-subscription) for a detailed comparison.
## Service frequency
Service frequency determines how often work is performed:
* **One-time** - Work happens once (spring cleanup, installations)
* **Weekly (every 7 days)** - Work every week
* **Bi-weekly (every 14 days)** - Work every two weeks
* **Monthly (every 28 days)** - Work approximately once per month
* **Every 2 months (every 56 days)** - Work approximately once every two months
* **Quarterly (every 90 days)** - Work approximately once every three months
* **Every 6 months (every 182 days)** - Work approximately twice a year
* **Custom** - Any other cadence, from 1 to 365 days between visits
**Important:** Service frequency is different from billing interval. For example, a customer might receive weekly service but pay monthly (subscription with monthly billing interval).
For recurring services, ProBase pre-schedules the full chain of visits based on the service frequency when the job is created, so the next visit is usually already on the calendar. If a service ever has no upcoming visit, completing an appointment lets you schedule the next one (or check **Skip scheduling** to leave it unscheduled for now). See [How recurring visits are scheduled](/scheduling/future-visits).
### Custom frequencies
If none of the presets match how you work, pick **Custom** in the frequency picker and type the number of days between visits in the **Days between visits** box. The box starts out holding the cadence the service is on now, so you're always editing a real number rather than an empty field, and a line underneath confirms the result — *Every 10 days* — before you save.
Custom cadences are available in every place you set a frequency: the New Job wizard, the **Change Schedule** modal, a quote's service editor, and your service catalog templates.
A year (365 days) is the longest gap you can set. Type more than that and the form won't save until you bring the number back down.
Once saved, the service reads its cadence back the same way a preset does — the summary line under the service name and the **Service plan** section both show **Every 10 days**, and visits are pre-scheduled ten days apart.
Re-open **Change Schedule** on that service and the picker comes back as **Custom** with your day count still in the box — it's never rounded to the nearest preset.
## Next steps
* [Create appointments](/scheduling/creating-appointments) for your services
* [Complete appointments](/routes/completing-jobs) and document service records
* [Manage your service catalog](/getting-started/service-catalog) to create reusable templates
* [Understand billing types](/billing/one-time-vs-subscription) to choose the right billing method
# Customer properties & addresses
Source: https://docs.probaseapp.com/customers/properties-and-addresses
Manage property locations
## Add a property
Go to **Customers** and click on the customer's name.
Find the **Properties** section and click the **+** button in the section header.
No **+** in the header? Either your [role](/team/roles-and-permissions) isn't allowed to add properties, the customer is archived, or the customer came from a connected marketplace — marketplace customers get their properties from the sync, so they can't be added by hand. See [Marketplace customers](/marketplace/marketplace-customers).
Fill in the property address:
* **Address line 1** — Start typing the street address and suggestions will appear. Select one to fill in the rest of the address for you — see [Address suggestions as you type](#address-suggestions-as-you-type).
* **Address line 2** (optional — apartment, suite, etc.)
* **City**, **State**, **Postcode**, **Country** — Filled in automatically when you select an address suggestion, or enter manually
Check the **Set as billing address** box if you want this property address to appear as the billing address on the customer's invoices. This is useful when the service address and billing address are the same.
The billing address can also be added or changed any time by editing the customer directly. See [Adding new customers](/customers/adding-customers) for how to update billing address through the customer edit form.
Click **Save Property**. ProBase looks the address up on the map so it's ready for routing, then takes you to the new property's page.
**One tap is enough.** On a slow connection the form can stay on screen for a moment while that page loads — extra taps in that gap are ignored, so a double tap never adds the property twice. See [Saving and form issues](/support/troubleshooting#saving-and-form-issues).
## The property page
Each property has a page of its own. It opens with the address card, and the map, [property details](#property-details), [notes](#add-property-notes) and [visits](#the-propertys-visits) sit underneath it.
The card at the top is the property itself:
* **The street address** as the page title, with the city, state and postcode on the line beneath
* **One row for the customer** this property belongs to. Tap it to open their contact sheet — **Call**, **Text message**, **Copy phone number**, **Email** and **Copy email**, with **Open customer profile** at the bottom to leave for their page
**Edit** sits in the bar above the card, next to the back arrow. It opens the same form you used to add the property, so the address and the property details are changed in one place.
A property that came from a connected marketplace carries the marketplace's badge on the card and a **Last synced … Refresh** row, and its address is theirs to change — see [Marketplace customers](/marketplace/marketplace-customers).
## Address suggestions as you type
Every address field in ProBase suggests real addresses while you type, so you can fill a full address in a couple of taps instead of typing it all out. You'll find it on the property form, the customer's billing address, a crew's starting and ending address, the address on an [Add stop](/routes/daily-crew-schedules#add-a-stop) form, your home address, and your business address in Settings.
Type at least two characters. A small spinner appears at the right-hand end of the field while ProBase looks up matches, then a list of up to five matching addresses drops down under the field. Keep typing to narrow the list — it refreshes as you go.
Tap the address you want. On a computer you can also use the **↑** / **↓** arrow keys to move through the list and press **Enter** to choose. Press **Esc**, or tap anywhere outside the list, to close it and carry on typing by hand.
On a form with separate address fields, **Address Line 1** keeps just the street part — "123 Main St" — and the **City**, **State**, **Postcode**, and **Country** fields below it are filled in for you.
On a form with a single address field — a crew's starting or ending address, your home address — the whole one-line address goes into that one field instead.
Every so often the street lands in **Address Line 1** but the **City**, **State**, and **Postcode** below it stay blank. That means the lookup for the address details didn't come back. Nothing is broken and nothing is lost — type those few fields in yourself and save as normal.
Save the form as usual. The address lands on the record exactly as it was filled in, ready for mapping and routing.
### Inside a pop-up window
Some address fields sit inside a pop-up window rather than a full page — the **Add stop** form on the schedule, for example. There the list of suggestions floats **on top of** the window instead of pushing it around, so the form doesn't jump or start scrolling while you pick an address, and the buttons at the bottom stay where you left them.
Suggestions are ranked around your **business address** from [Business Profile settings](/getting-started/settings), so addresses in your own service area come up first. Only US addresses are suggested.
Suggestions are a shortcut, never a requirement. If nothing matching comes up — a brand-new build, a rural address, a patchy connection — keep typing the address by hand and fill in the city, state, postcode, and country yourself. What you type is saved exactly as entered.
A momentary hiccup in the address lookup is retried for you automatically, so most blips sort themselves out before you notice. When one doesn't, the list simply doesn't drop down — the field never blocks you or clears what you've typed. See [Address issues](/support/troubleshooting#address-issues) if it keeps happening.
## Property details
Under the address fields, every property form carries three optional questions — the things a crew needs to know before they get out of the truck. All three are off until you answer them, and you can fill them in when you add the property or any time afterwards.
| Question | What it's for |
| ------------------- | ------------------------------------------------------------------------------------------------- |
| **Locked gate** | Switch it on and a box appears for the gate code, where the key is, or how to get in |
| **Dog on property** | Switch it on and a box appears for the dog's name, temperament, and anything the crew should know |
| **Lawn size** | Switch it on and pick **Small**, **Medium**, or **Large** |
**Lawn size** only appears if your business does lawn work. Pool-only businesses never see the question.
### Where the details show up
Only the questions you actually answered get a row — an unanswered question is left off rather than shown as a blank or a "No".
* On the **property page**, in its own card
* On the **customer page**, inside the Property card, when the customer has a single property
* On the **Details** tab of every [visit](/routes/visit-page#details) at that property, so the crew has the gate code on the screen they're already working from
### Editing them in place
On the property page and the customer page, the way to change the details sits with them:
* **Edit property details** under the rows, when something's already set
* **Add property details** when nothing is
Either one opens the property editor **over the page you're on**. Save, and the window closes, the rows refresh, and you're back where you were — you never get moved to another screen to type a gate code. (On a visit's **Details** tab there's an **Add property details** row when nothing is set, and it works the same way: the editor opens over the visit.)
No **Add property details** or **Edit property details** row? Either your [role](/team/roles-and-permissions) can't edit properties, the customer is archived, or the property came from a connected marketplace — those details belong to the marketplace. Any details already set still show; only the way to change them is hidden.
## View property location on map
Properties are automatically geocoded when created or updated. The property page shows a map with the property location marked by a single pin.
The map opens zoomed all the way in on the property, in **satellite** view so you can see the rooftop and lot.
Use the button in the top-right corner of the map to switch between **Satellite** imagery and the full-color street **Map**. The map view shows streets, labels, and surroundings in full color, which makes it easy to confirm the pin sits on the right street and block. As you zoom the map in and out, it also switches between street and satellite views automatically until you press the toggle yourself.
To verify the location is correct:
1. Click on the property from the customer's page
2. View the map on the property details page
3. If the location is wrong, edit the address and save again
## View property service records
Tap the **Service Records** button in the map section of the property page to open that property's full service history across all services:
* Observations, measurements, materials, and service records
* Searchable by content, service name, or entry details
* Ordered by most recent first
* Click any entry to view the associated service
This provides a complete service history for the property in one place.
See [Service records](/routes/service-records) for details.
## Add property notes
Notes are for anything about the property that doesn't fit the [property details](#property-details) questions — access instructions, hazards, where to park, what the customer asked for last time. A locked gate, its code, and a dog on the property each have their own field, so those are better set there than buried in a note.
To add a note about a property:
1. Go to the property page
2. Scroll to the **Notes** card and choose the **Property** tab — it's labelled with the property's street address
3. Tap **Add note** at the bottom of the list
4. Enter your notes in the editor
5. Optionally attach photos or documents
6. Tap **Save**
If the customer has only one property, the same Notes card appears on their customer page too, so you don't have to click through.
See [Adding notes](/customers/adding-notes) for more details on the notes system.
On a property that came from a connected marketplace, the Notes panel is read-only: it shows a **Read-only** badge where the **+** normally sits, and there's no **Edit** on the property either. Those access details belong to the marketplace. See [Marketplace customers](/marketplace/marketplace-customers#you-cant-add-your-own-notes-to-marketplace-records).
## The property's visits
At the bottom of the property page sits a **Visits** card listing the appointments booked at *this* address — a customer's other properties never bleed into it.
It has two tabs:
* **Upcoming** — scheduled visits, soonest first. This is the tab you land on
* **Previous** — completed visits, most recent first, each carrying the completion notes you wrote and any photos from the visit
Each row is the same job card you see everywhere else: the status, the service name, the day, the time window, how long it's booked for, and the crew it's assigned to. Tap a row to open [the visit](/routes/visit-page).
Each tab shows three visits at a time, with **Show more** underneath to reveal the next three. A tab with nothing in it says so rather than sitting empty — *No upcoming visits* or *No previous visits*.
For a customer with only one property, this same card appears on their customer page instead — see [Customer history](/customers/customer-history#visits). Rows on an [archived customer](/customers/archiving-customers) are shown but aren't tappable.
## Add multiple properties
1. On the customer's page, click **Add property** again
2. Enter the second property address
3. Repeat for each additional property
## Edit property information
Navigate to **Customers** > click the customer name > click the property address.
Tap **Edit** at the top of the property page. The editor opens over the page rather than taking you somewhere else.
Make your changes to the address fields, and to the [property details](#property-details) questions underneath them. You can also check **Set as billing address** to use this property address as the billing address on the customer's invoices.
Tap **Save**. The property is re-geocoded with the updated address.
# The customer's service report
Source: https://docs.probaseapp.com/customers/service-reports
The page your customer opens after a visit — what you did, the photos, and a rating
## Overview
Every completed job visit has a page of its own that the customer can open — no login, no account, just the link you [sent them](/routes/sending-service-reports). It's headed **Your service today** and it's deliberately short: what you did, the photos, anything your checklists recorded, a place to rate you, and the bill if one rode along.
The link never expires, so a customer can go back to it whenever they like — and from the page they can reach the rest of their [portal](/customers/customer-portal).
## What's on the page
Top to bottom:
1. **Your business name**, then **Your service today**, then the property address and the date of the visit
2. **A summary** of the work, in plain language — this is the **Customer notes** you wrote when completing the visit. A visit you finished without writing any simply has no summary block
3. **What we recorded** — the checklist answers you marked for the customer summary, grouped under the checklist they came from (chemical readings, completed tasks, a signature shown as *Signed by customer*)
4. **Photos** — the **After** photos, and the **Before** photos above them if you [included them when sending](/routes/sending-service-reports#whats-on-the-send-step). Each group has its own heading and its own grid; every photo appears once
5. **How did we do?** — the rating
6. **This month's invoice** or **Outstanding balance** — only when you sent the bill with the report
Tapping any photo opens the full-size original in a new tab.
## Rating the visit
The **How did we do?** card sits near the bottom: five stars, an optional comment box (*Anything you'd like to tell \[your business]? (optional)*), and a **Submit** button. The sub-line names the visit — *For your visit on Fri, Aug 28* — so a customer with several reports open always knows which one they're rating.
Nothing is saved until the customer taps **Submit**. Stars are required; the comment isn't.
### A rating is submitted once, then locked
Once submitted, the card changes for good: filled stars, the comment as plain text, and *Thanks for your rating!* underneath. There's no form any more — reloading the page, or opening the link again next week, shows the same locked card.
This is true however the rating was left. A customer who rated the service on an [invoice review screen](/billing/service-ratings) finds the report's card already filled in and locked.
What you see on your side: a **rating card** on the visit, and an [update](/getting-started/updates#customer-ratings) in your feed carrying the stars and the customer's words.
## Paying from the report
If you turned the invoice switch on when sending, the report ends with a bill card:
* **This month's invoice** — *4 visits · August*, the amount, and a solid **Pay \$\[amount]** button opening their invoice page
* **Outstanding balance** — *July invoice · unpaid*, the amount, and the same button. The line names the month and where that invoice stands — *unpaid*, or *partially paid* once something has been put against it
That's the whole card — a title, one line with the amount, and the button. It says nothing about when you sent it or how; the sent date and the channel are your own bookkeeping and live on [the visit](/routes/visit-page#after-the-visit), not on the customer's page.
Once there's nothing left to pay, the button steps back to an outline **View invoice** — a customer who already paid is never asked again.
Paying from a report they've already rated skips the **"How was your service?"** screen: they've rated once, so they go straight to the tip question (or straight to paying). See [Service ratings](/billing/service-ratings).
## Finding old reports
The customer doesn't have to keep the text. Their [portal home](/customers/customer-portal#your-visits) carries a **Your visits** section listing their visits by service — **Upcoming** above **Past** — and every past visit whose report you sent opens straight back to this page.
A row only opens when there's a report to open. Upcoming visits, and completed visits whose report you haven't sent, are listed but aren't tappable — nothing of a report shows before you've chosen to send it.
## Getting back and getting in touch
Every page under the customer's portal link carries the same header: your business name, a back chevron to their portal home (on every page but the home itself), and a **Contact us** button.
**Contact us** opens a sheet with **Call**, **Text message** and **Email** rows built from your business phone and email in [Business Profile settings](/getting-started/settings). A row you haven't filled in is left out, and with neither filled in the button doesn't appear at all.
The header is hidden when the customer prints — see [Printing invoices](/billing/printing-invoices).
## What the report never shows
The report is the customer's view, not yours. It never carries:
* Your private **visit notes** — only the **Customer notes** you wrote for them
* Your timer, the working windows, or how long the visit took
* Costs, margins, or your crew's names
* Checklist answers you didn't mark for the customer summary
## Next steps
* [Sending the service report](/routes/sending-service-reports) — your side of the same flow
* [Customer payment portal](/customers/customer-portal) — invoices, payment and the rest of the portal
* [Completing a visit](/routes/completing-jobs) — where the summary and photos come from
* [Building checklists](/checklists/building-checklists#showing-answers-on-the-customer-invoice) — choosing what lands under *What we recorded*
# Adding your crews
Source: https://docs.probaseapp.com/getting-started/adding-crews
Set up your work crews for scheduling and routing
## Why this matters
Crews are the teams that perform your services. Setting them up in ProBase allows you to schedule work efficiently, optimize daily routes, and track which crew completed each job. Even if you're a one-person operation, you'll have a crew for yourself.
## Where crews live
Your crews sit under **Team Roster** in the sidebar. Open it and choose the **Crews** tab — you'll see a card for each crew showing its color, its members, its starting location, and how many upcoming appointments it has.
## Your default crew
When you create your ProBase account, a default crew named "My Crew" is automatically created for you. This crew is ready to use immediately for scheduling appointments. You can:
* Edit it to add a more descriptive name
* Add the people who work on it
* Add start and end locations for route optimization
* Set its working hours — new accounts start at 8:00 AM to 5:00 PM, Monday to Friday
* Keep using it as-is if you're a solo operation
If you only have one crew, appointments are automatically assigned to that crew when you schedule work — no need to select a crew each time.
## Create a crew
Go to **Team Roster** in the sidebar and click the **Crews** tab.
Tap **New crew**. The crew form opens as a full-screen flow headed **New crew**, with a back arrow in the bar at the top.
Enter the crew information:
* **Crew name** — A descriptive label for the crew (e.g., "Team 1", "South Crew")
* **Crew color** — Pick a color from the palette. This color is used on the calendar, the map pins, and crew labels to make it easy to tell crews apart. ProBase auto-picks the first color that isn't already in use, so you only need to change it if you want a different one.
* **Working hours** — **Start time**, **End time**, and the days the crew works. See [Working hours](#working-hours) below.
* **Start & end locations** — where the crew begins and finishes the day. See [Start and end locations](#start-and-end-locations) below.
* **Members** — Tap the people who work on this crew to add them (see [Add members to a crew](#add-members-to-a-crew) below).
If you've already added more crews than there are palette colors, you'll see a notice that some crews may share the same color. You can still pick any color from the palette.
**Cancel** and **Save** sit side by side at the foot of the form. Tap **Save** and the new crew appears in the list, ready to be assigned to appointments.
## Working hours
Working hours tell ProBase when the crew can actually be out on the road. They're used to anchor the day, to warn you when a day won't fit, and to keep work off days the crew doesn't run.
* **Start time** — when the crew begins each day. Routes start here, and it's the anchor used when stop times are recalculated after reordering or optimizing.
* **End time** — when the day is supposed to be over. Leave it blank and ProBase simply won't warn you; a helper appears the moment you clear the field — *"No set end — ProBase won't warn you when a day runs long."*
* **Work days** — tap the S M T W T F S row to switch each day on or off.
Under the two time fields sits the line that explains what they're for: *"Routes start at this time. You'll be alerted if total job and drive times exceed the end time."*
**End time has to be after Start time.** If you type one that isn't, the form refuses to save and tells you.
### Scheduling on a day the crew doesn't work
ProBase never *proposes* a day the crew doesn't work — when a form suggests "tomorrow", it rolls forward to the crew's next working day.
If you deliberately pick an off day, it asks once before booking:
> **Schedule on an off day?**
> Tuesday isn't a working day for this crew. Schedule it anyway?
**Schedule it** books it; **Pick another day** leaves you on the form. You're asked once per booking, not once per field.
Crews created before working hours existed haven't been asked about their days, so ProBase treats them as working every day with no set end, and never warns about their hours. Open the crew, set its hours, and save — nothing else about the crew changes.
## Start and end locations
* **Start location** — where the crew begins their day (shop, home, equipment storage). *"Starting location for route optimization and drive time calculations."* Address suggestions appear as you type — see [Address suggestions as you type](/customers/properties-and-addresses#address-suggestions-as-you-type).
* **End location** — optional. *"Leave blank to end route at the final job site."*
A crew with no end location reads **Last job on the route** on its page.
Only the **start location** is needed for [route optimization](/routes/optimizing-routes) — it's where the drive is measured from. The end location just decides whether the day finishes back at a depot or at the last job.
## Add members to a crew
Assigning people to a crew tells ProBase who's doing the work and lets those crew members see the jobs scheduled for them.
You can manage a crew's members in two places:
* **From the crew** — on the crew's create or edit form, the **Members** section lists everyone on your team. Tap a person to add or remove them; a checkmark shows who's on the crew. People you've invited but who haven't joined yet show a **Pending** badge and can still be added.
* **From the person** — on the [Team Roster](/team/team-roster), open a member's **Edit member** form and use the **Crews** field to pick which crews they run with.
Click **Save** to apply your changes. A crew's members are listed right on its card and on its detail page.
Deactivated members are automatically dropped from every crew. When you reactivate someone, add them back to their crews — reactivation doesn't restore crew assignments.
## View crew details
Go to **Team Roster → Crews** and tap a crew to open its page. The crew's colour dot and name sit at the top with the member count underneath, and **Edit** is the pencil in the bar above. Below that, three labelled sections:
* **Working hours** — Start time, End time, Work days. A crew that's never been given hours shows the Start time alone.
* **Start & end locations** — the two addresses, with **Last job on the route** where there's no end location, and a map of the crew's start and finish.
* **Members** — everyone on the crew, with their role.
The map draws the crew's endpoints as themselves: a **home** pin where the day starts, a **flag** pin where it ends, and a single home pin when the crew ends where it starts.
## Edit a crew
1. Go to **Team Roster → Crews**
2. Tap the crew
3. Tap **Edit** in the bar at the top
4. Change the name, colour, [working hours](#working-hours), [locations](#start-and-end-locations), or members
5. Tap **Save** — or **Cancel** to back out
Clearing the **End time** is a real choice, not a blank field — the form tells you what it means as soon as you clear it.
**Delete crew** sits in red at the foot of the same form. See [Delete a crew](#delete-a-crew).
### If a crew has no start address
A crew with no start address can't be routed at all, and ProBase says so in three places.
Its card in the Crews list carries an amber line — *"No start address — ProBase can't build routes for this crew."*
Its page replaces the locations with a short empty state — *"No start address set for this crew. ProBase can't build routes for this crew without one."* — and an **Add start address** button that opens the edit form right there.
And HomeBase raises a **Set starting address** row for it in [Action needed](/getting-started/homebase#set-your-starting-address).
All three clear themselves the moment the address is saved and recognized.
## Delete a crew
If you no longer need a crew:
1. Go to **Team Roster → Crews**
2. Click on the crew name
3. Tap **Edit**
4. Scroll to the foot of the form and tap **Delete crew**
5. Choose another crew to reassign existing appointments to
6. Confirm the deletion
When the crew has scheduled appointments, a warning shows how many will be reassigned. The **Reassign appointments to** dropdown lists your other crews — pick one to take over those jobs before deleting. Appointments are never left without a crew.
You can't delete your only crew. When this is your last crew, **Delete crew** is disabled and the reason is shown next to it.
## Managing multiple crews
When you run more than one crew:
* Each crew gets its own color on the calendar — ProBase auto-picks an unused color when you create a crew, and you can change it anytime from the create or edit form
* Use distinct names for easy identification
* Set realistic start locations and working hours so route planning and the day-fit warnings mean something
* Assign specific service types to specific crews if they specialize
* Use [Rebalance this day](/routes/rebalancing-the-day) when one crew's day is overloaded and another is light
## Next steps
* [Add your first customer](/getting-started/your-first-customer) and schedule work for your crews
* [Learn about route optimization](/routes/optimizing-routes) to save time and fuel
* [Plan your day](/scheduling/plan-your-day) — what HomeBase tells you about your crews each morning
# Creating jobs
Source: https://docs.probaseapp.com/getting-started/creating-jobs
Create confirmed work with a multi-step wizard for customers, properties, and services
## What is a job?
A "job" in ProBase is confirmed work that's ready to schedule and perform. Jobs are created through a guided multi-step wizard that asks one question per screen:
* Who is it for? (customer)
* Where is it? (property)
* What are you doing? (service)
* What does it cost? (price, extra charges, discount)
* When should it be scheduled? (frequency, start date, crew, time of day)
* When should it be billed? (per visit or subscription)
The last screen shows everything back to you as a receipt so you can check it — and fix any line — before the job is created.
**Jobs vs Quotes and Assessments:** Jobs are for confirmed work where you're ready to start immediately. If you need customer approval first, create a Quote. If you need to visit the property to evaluate needs first, create an Assessment. See [Creating quotes and assessments](/customers/creating-quotes).
## When to use job creation
Use the job creation wizard when:
* **Confirmed work** - Customer has already agreed to the service and pricing
* **Quick setup** - You want to go from "new customer" to "scheduled appointment" in one flow
* **No approval needed** - Work doesn't require a formal quote or on-site assessment first
* **Standard services** - You know the pricing and scope upfront without needing a site visit
## How to create a job
Tap **New Job** from the Quick Actions menu (the floating **+** button), or start from the customer you're scheduling for: open their page and tap the **+** button in the **Services** section header.
Starting from a customer or property pre-fills what ProBase already knows and skips those questions, making the process even faster.
The wizard opens over whatever page you were on, as a full-screen window titled **New Job**. Closing it with the **✕** leaves you exactly where you were and throws the answers away — nothing is saved until the last screen.
The first screen asks **What would you like to do?** — *Schedule work you've priced, visit the property first, or send a quote.*
* **Schedule a Job** — *I have a price and just need to schedule the work.* Continues in this wizard.
* **Visit the Property First** — *I need to see the property — or get photos from the customer — before pricing.* Opens the assessment flow instead.
* **Send a Quote** — *I'm ready to send the customer a quote for them to approve the work.* Opens the quote flow instead.
The two cards that leave this wizard carry a small "opens elsewhere" arrow, so you can tell at a glance which choice keeps you here. Tap **Schedule a Job** to carry on.
The last two cards only appear if your role can create assessments and quotes. See [Roles and permissions](/team/roles-and-permissions).
From here on, every screen shows a **Step N of M** label and a progress bar under the title, counting only the questions this run actually asks — so a job started from a property page reads *Step 1 of 5* rather than *Step 3 of 7*.
Every move between steps — tapping a row, **Next**, or **Back** — lands you at the top of the new screen, so you never arrive part-way down a long list after scrolling on the previous step.
Choose an existing customer or create a new one (skipped if you came from a customer page).
The customer step shows your full customer list in alphabetical order. The header is sticky as you scroll, so the **Back** button, **New customer** button, and search bar stay reachable.
**To select an existing customer:**
1. Scroll through the **All Customers** list — more customers load automatically as you reach the bottom
2. Or type into the search box to filter by name, email, phone, or address
3. Tap the customer to select them
**Marketplace customers can't be picked here.** If you've [connected a marketplace account](/marketplace/connecting-accounts), those customers still appear in the list so you can see your whole book — but they're dimmed, show the marketplace's logo in place of the usual person icon, carry a lock icon on the right, and read *Managed by LawnStarter — not schedulable here* instead of their address. Tapping one shows *This customer is managed by LawnStarter and can't be scheduled here.* and the wizard stays put. Marketplace work reaches your schedule by claiming it in the marketplace app instead — see [Marketplace customers](/marketplace/marketplace-customers).
**To create a new customer:**
1. Tap **+ New customer** in the top-right of the header
2. Fill in their information:
* First Name (required)
* Last Name (required)
* Email (optional, but helpful for payment links)
* Phone (optional, but helpful for notifications)
3. Tap **Add Customer**
The wizard automatically moves to the next question after you select or create a customer.
Choose which property address the work is for, or create a new one (skipped if you came from a property page).
**To select an existing property:**
* Tap any of the customer's properties shown in the list
**To create a new property:**
1. Tap **New Property**
2. Fill in the address:
* **Address Line 1** (required) — Start typing and address suggestions will appear. Pick one and the rest of the address fills itself in — see [Address suggestions as you type](/customers/properties-and-addresses#address-suggestions-as-you-type).
* **Address Line 2** (optional) — Apartment, suite, or unit number
* **City**, **State**, **Postcode**, **Country** — Filled in automatically when you select an address suggestion, or enter manually
3. Tap **Add Property**
The property address is automatically geocoded for accurate mapping and route optimization.
The wizard asks **What are you doing?** — *Pick one of your saved services or create a custom one.* Choosing here fills in the whole job for you, so the next screens are mostly confirmation.
Each row from your [service catalog](/getting-started/service-catalog) shows:
* The service name
* How often the work happens and how it's billed — for example *Weekly · subscription billed monthly* or *One-time · per service*
* Pricing guidance where ProBase has a reference range for that kind of work — for example *Most pros charge $45–$55 per visit for a small lot.*
The service you've used most in the last 30 days sits at the top with a **Most used** badge, so the common case is one tap. Use **Search services...** at the top to find one by name or description.
Prefer to type this one out? Tap the **Custom service** row at the bottom — *Type the details yourself — nothing saved to your catalog.* Nothing is committed until you tap a row, so you can go **Back** without changing anything.
If your catalog is empty, the step shows **No service templates yet** — *You'll type this job's details yourself. Add services to your catalog to schedule faster next time.* — with an **Add services** link, and **Custom service** is the only way forward. Building a catalog first makes every future job faster — see [Managing your service catalog](/getting-started/service-catalog).
The next screen asks **What does it cost?** When you picked a saved service it adds *Prefilled from your saved service — confirm the price for this job.*
* **Service Name** (required) — What you're doing (e.g. "Weekly Pool Cleaning"), filled in from the service you picked
* **Description** (optional) — Details about what's included, also carried over
* **Price** (required) — What the customer pays per visit or per billing period. Pre-filled from the template's starting price as an editable starting point (blank on a custom service), with the *Most pros charge …* guidance underneath where ProBase has a reference range
* **Tax rate** (optional) — The tax percentage for this job, entered as a number (e.g. `8.25` for 8.25%). It **defaults to 0%** — leave it alone if you don't charge tax. *ProBase doesn't set or verify tax rates for you*, so confirm the correct rate for the service and the customer's location. Three decimal places are supported for precise local rates.
* **Industry** — Only asked for a custom service, and only if you've set up more than one trade. If you only do one trade, ProBase fills it in for you. See [Industries (trades)](/getting-started/industries).
If the name matches a job that already exists at this property, ProBase warns you — **Same name as a job already here** — *You already have a … here — give this one its own name.* It's a nudge, not a block: you can carry on with the same name if you mean to.
**Charges.** Under the price, **Add a charge** lets you add named extras that ride along with this job — a dump fee, a fuel surcharge, materials. Each charge is a name and a price; the trash button removes one.
**Discount.** **Add discount** opens an amount field with a \**$/ %** toggle beside it, and shows what it works out to underneath — *Comes off this job:$10.00.* On a recurring job ProBase then asks *Apply this discount every time … is billed, or just once?* — choose **Every time** or **Just once**. The trash button removes the discount again.
Tap **Next** to carry on, or **Back** to change the service.
Every charge needs both a name and a price. Leave one half-filled and **Next** stops on the charge with *Give this charge a price* — fill it in, or remove the row with the trash button.
**When should this job be scheduled?** — *Set the service frequency, start date, and crew assignment.*
* **Service Frequency** — One-time, Weekly (every 7 days), Bi-weekly (every 14 days), Monthly (every 28 days), Every 2 months (every 56 days), Quarterly (every 90 days), Every 6 months (every 182 days), or **Custom**. Choosing **Custom** reveals a **Days between visits** box — type any number from 1 to 365 and a line underneath confirms the cadence, for example *Every 10 days*
* **Start Date** — When the first visit happens
* **End Date** (recurring only) — When the recurring schedule should stop. *Leave blank for ongoing recurring service.*
* **Crew** — Only asked if you have more than one crew. Tap the crew row and a sheet opens listing every crew with what its day would look like with this job on it; **Decide later** is the first choice. With a single crew, ProBase assigns it for you. See [Picking the crew](#picking-the-crew) below.
Under a dividing line, the same day timeline the rest of the app uses shows the chosen crew's other stops for that day, with a pulsing block for this job at the **Start Time** and **Duration (min)** you set. ProBase also suggests a start time under the fields — for example **Recommended: 8:50 AM**, *Fits around your other stops that day, drive time included.* Tap the suggestion to use it. See [Seeing the rest of the day while you pick a time](/scheduling/creating-appointments#seeing-the-rest-of-the-day-while-you-pick-a-time) for the full explanation.
If you choose **Decide later** instead of a crew, the timeline shows every crew's day side by side under the heading **Crew schedules for this day**, so you can still see where the work would fit. There's no recommendation without a crew — the line reads *Assign a crew to get a recommended start time.* and you pick the time yourself.
A crew with no recommendation shows *Not enough location data to recommend a time.* — usually because the property's address hasn't been placed on the map yet, or the crew has no starting or ending address saved. Set the time yourself; nothing else changes.
Every visit needs a start time. **Next** is always tappable, so if you haven't set one yet, tap it and ProBase tells you where the gap is: *The start time field is required.* appears under the **Start Time** field and the screen scrolls that field into view. Pick a time — or tap the recommendation — and the message clears; **Next** carries on.
**When should this job be billed?** — *Decide if charges are tied to individual visits or a set recurring schedule.*
* **Per visit** — *Invoice after each visit is completed.*
* **Subscription** — *Bill a flat rate on a regular schedule (e.g., monthly), regardless of visit count.* Choosing it reveals a **Billing interval**: Weekly, Monthly, Quarterly, Semi-annual, or Annual.
There's no billing day to fill in. ProBase uses the day you create the job: a monthly subscription created on the 7th charges on the 7th of each month, a weekly one repeats on that weekday, an annual one on the same day each year. Quarterly charges land on fixed calendar quarters (January, April, July, October) and semi-annual charges on fixed halves (January, July), on that same day of the month.
See [Understanding billing types](/billing/one-time-vs-subscription) for the full comparison.
The last screen is **Confirm and create job** — everything you answered, on five rows:
* **For** — the customer and the property address
* **Service** — the name and description
* **Pricing** — the price, tax rate, any charges and any discount
* **Schedule** — the cadence and first visit, plus the crew (or *No crew assigned yet*)
* **Billing** — per visit or subscription, and what the customer is billed
A recurring job's **Schedule** row spells the whole cadence out — *Every Thursday · first visit Sep 10 at 9:15 AM.*
Each row has a pencil button. Tap it and the wizard reopens that question with your answers intact — its **Next** button reads **Done** and brings you straight back to the receipt, so a correction never means walking the whole wizard again.
Tap **Confirm and create job** to save everything. If an answer is still missing, ProBase lists what needs another look at the top of the screen instead of creating the job.
**One tap is enough.** While the job is being written the button shows a spinner and stops accepting taps, so a double tap on a slow connection can't create the same job twice. Tapping **Done** on the next screen behaves the same way while the job's page loads.
The **Job created** screen confirms what was written — the service name, the customer and address, the schedule sentence for the first booked visit, and what the customer is billed.
If the customer has a phone number, ProBase offers to tell them: **Tell \[name] it's booked?** — *We drafted this. Send when you're ready.* The message is written for you (*"Hi David, you're booked for Thu, Sep 10. See you then."*) and you choose **Send SMS**, **Copy**, or **Not now**. Nothing is sent unless you tap send. See [Text message notifications](/getting-started/text-message-notifications).
From here:
* **Add another service for this visit** — see below
* **Done** — takes you to the job's page, where you can see its visits, notes and billing
Occasionally ProBase creates the job but can't book a visit for it yet. You'll see **Job created without a visit** — *The job was created, but no visit could be scheduled yet — you can schedule one from the job's page.* The job is safe; open it and schedule a visit by hand.
## Picking the crew
The **Crew** question only appears when you have more than one crew — with a single crew ProBase assigns it for you and doesn't ask.
It's a row you tap rather than a dropdown, because each crew comes with a line about its day.
Tapping it opens a sheet listing **Decide later** and then every crew you're allowed to schedule for. Each crew row shows its colour dot, its name, and what its day looks like **with this job added** — for example *"6 jobs · finishes 4:40 PM"*, or *"9 jobs · finishes 5:20 PM — 20 min over working hours"* when it would push the crew past its [end time](/getting-started/adding-crews#working-hours). The lines take a moment to work out; a small spinner sits at the top of the sheet until they land, and you can tap a crew before they do.
Tap a crew and the sheet closes — the row now names that crew and keeps its load line, so you can see what you just committed the day to.
Choose **Decide later** if you'd rather staff the job afterwards. The visits are created without a crew and show up in [Jobs that need a crew](/scheduling/jobs-without-assigned-crew).
If the crew you picked doesn't work the day you picked, ProBase asks once before booking — *"Tuesday isn't a working day for this crew. Schedule it anyway?"* See [Scheduling on a day the crew doesn't work](/getting-started/adding-crews#scheduling-on-a-day-the-crew-doesnt-work).
## Adding a second service to the same visit
Doing two things at one stop — a mow and a hedge trim — is one visit with two services. On the **Job created** screen, tap **Add another service for this visit** and the wizard reopens at **What are you doing?** with a banner: *Adding another service to **David's visit on Sep 19** — the date and crew carry over.*
The customer, property, date and crew stay as they are. Everything that describes the *service* starts fresh — the template, name, price, tax, charges, discount, billing, frequency, visit length and start time — so the second service gets its own answers instead of inheriting the first one's money.
## Moving between questions
* **Next** saves the current screen's answers and moves on; **Back** returns to the previous question with everything intact.
* **Next** is never greyed out. If something on the screen is missing or doesn't add up, tapping **Next** tells you which field needs attention — a short message appears under it and the screen scrolls to it — and **Next** stays ready for another try once you've fixed it.
* Each screen opens **at the top**, whether you came forward, tapped **Back**, or jumped in from the receipt's pencil button — so you never land part-way down a long list left over from the previous screen.
* The **✕** in the top corner closes the wizard and discards the answers, until the job is created. On the **Job created** screen the job already exists, so **✕** goes where **Done** goes: the job's page.
Say you scroll a long service list to reach the one you want:
Tapping it opens **What does it cost?** at the top of the screen, with the service name in view — not part-way down where you left the list:
**Back** works the same way. Scroll the pricing screen down to reach **Back**:
…and the service list comes back at its top, rather than at the depth the pricing screen was left at:
## Quick job creation shortcuts
The wizard skips questions automatically when you already have context:
**From a customer page:**
Tap the **+** button in the **Services** section header on a customer's page and the wizard opens with that customer already filled in — the customer question is skipped and you go straight to picking the property.
Starting **New Job** from the Quick Actions **+** button instead opens the wizard with nothing pre-filled, so you pick the customer and property yourself.
The **+** doesn't appear on [marketplace](/marketplace/marketplace-customers) or [archived](/customers/archiving-customers) customers — their work isn't scheduled in ProBase.
## Billing type options
When creating a job, you'll choose how the customer is billed:
### Per visit billing
* Customer is charged each time a visit is completed
* Best for one-time jobs or pay-per-visit arrangements
* Billing line items are created automatically after a visit is completed
### Subscription billing
* Customer pays a flat rate on a schedule (weekly, monthly, quarterly, semi-annual, or annual)
* Best for recurring flat-rate plans
* Choose the billing interval — the billing day is set automatically from the date you create the job
* Billing charges are created **automatically** on each upcoming billing date — ProBase shows you the upcoming billing dates on the job's page
See [Per-Service vs Subscription billing](/billing/one-time-vs-subscription) for a detailed comparison.
## What happens after creating a job
After you tap **Confirm and create job**, ProBase automatically:
1. **Creates the customer** (if new) - Adds them to your customer list with all contact information
2. **Creates the property** (if new) - Links it to the customer with the full address
3. **Geocodes the property** - Places it on the map for accurate route planning and directions
4. **Creates the job** - Sets it up as active work with all pricing and billing details
5. **Syncs with Stripe** (if connected) - Creates the customer in Stripe for payment processing
6. **Schedules the visits** - Creates the visit on your start date and, for recurring services, pre-schedules the whole future chain through the end date (or one year out if you left it blank)
7. **Optimizes routes** (if enabled and a crew is assigned) - Automatically reorders the crew's visits for efficiency
Visits take their time of day, length and crew from the job, so the whole chain matches what you set on the schedule question. See [How recurring visits are scheduled](/scheduling/future-visits) to learn how the visit chain works.
If you chose **Decide later** for the crew, the new visits have no crew yet. Assign crews from the visit's page, the [Jobs that need a crew](/scheduling/jobs-without-assigned-crew) list, or the calendar — and you can apply a crew to every future visit at once.
Tapping **Done** takes you to the job's page, where you can:
* View all job details and visits
* Assign crews and adjust the schedule
* Add notes or photos
* Complete visits and add service records
* Share payment links with the customer for billing
## Choosing between Jobs, Quotes, and Assessments
**Create a Job when:**
* Work is confirmed and doesn't need approval
* You know the pricing and scope
* Customer has already agreed to the service
* You're ready to schedule and start immediately
**Create a Quote when:**
* You can quote without visiting the property first
* Work needs customer approval before starting
* You want a formal acceptance workflow
* See [Creating quotes and assessments](/customers/creating-quotes)
**Create an Assessment when:**
* You need to visit the property before providing accurate pricing
* The scope is uncertain and needs evaluation
* You'll create a quote after the site visit
* See [Creating quotes and assessments](/customers/creating-quotes)
The workflow: Assessment → Quote → Job. But if work is already confirmed, skip straight to Job creation.
## Next steps
After creating jobs:
* [View your schedule](/scheduling/weekly-schedule) to see all appointments
* [Optimize routes](/routes/optimizing-routes) for efficient daily schedules
* [Complete appointments](/routes/completing-jobs) and track service records
* [Send payment links](/billing/sending-payment-links) to collect payment
# Creating your account
Source: https://docs.probaseapp.com/getting-started/creating-your-account
Get started with ProBase by setting up your business account
## Why this matters
Your account is the foundation of your business operations in ProBase. Setting it up correctly ensures you can manage customers, schedule work, and track billing from day one.
## Create your account
### Step 1: Sign up
The signup form is intentionally minimal — just your email and a password. You'll fill in your name, business name, and other details on the onboarding screens that follow. The top of the page reads **Run your field service business without the monthly bill** with the tagline **Create your free account. No credit card, ever.**
1. Go to the ProBase signup page
2. Enter your **Email**
3. Create a **Password** (at least 8 characters)
4. Click **Create my free account**
A short line under the form reads **By creating an account, you agree to our Privacy Policy & Terms of Service** with links to each — tapping the button counts as agreeing.
Below that, a short quote from ProBase founder Steve Corcoran ("The whole time I kept hearing the same thing from pros…") sets context — no action required.
**Sign up with Google:** If available, you'll see a "Sign up with Google" button at the top of the registration form for faster account creation. This lets you create your account using your Google credentials without entering a password.
**No credit card required.** ProBase is free to start — you won't be asked for a credit card at signup or during onboarding.
**Already have an account with that email?** The form comes straight back with **"The email has already been taken."** under the email field. Log in with that email instead — or use **Forgot your password?** if you can't remember the password. This is also what you'll see if the signup button gets double-tapped and the account was created on the first tap; in that case just log in.
**Signing up from a ProBase pro link?** Some ProBase campaigns point at a pro signup page (**/register-pro**) instead. It looks and behaves exactly like the standard signup screen — same heading, same email and password fields, same **Create my free account** button (and the same **Sign up with Google** option when it's available) — but the onboarding step that follows asks you to opt in to text messages explicitly, and your phone number is optional there. See [Text message notifications](/getting-started/text-message-notifications#pro-signup-link).
### Step 2: Complete onboarding
After registering, you'll be guided through a short onboarding wizard with two information-gathering steps, followed by a "You're all set" confirmation and an optional step to install the app. A progress bar at the top shows your completion status on the first two steps (Step 1 of 2, Step 2 of 2).
#### Set up your account (Step 1 of 2)
First, you'll provide your contact information:
* **Your name** *(required)* - Your full name as the account owner
* **Business name** *(required)* - Your company or business name
* **Business address** *(optional)* - Your business or home address. Pick it from the autocomplete suggestions — it sets your timezone and your starting point for route optimization. You can skip it for now and add it later.
* **Phone number** *(required, formatted as (555) 555-5555)* - Used for appointment reminders and customer communication
Under the form is a disclosure that, by submitting your contact information, you agree to be contacted by ProBase via email, phone, or SMS (including marketing messages and automatic dialing). It also notes that **consent is not a condition of service**. When you tap **Continue**, you're opted in to SMS notifications automatically — you can turn this off at any time from your Profile page. See [Notification preferences](/getting-started/settings#notification-preferences).
Tap **Continue** to move to the next step.
**If you signed up from a pro link**, this step looks slightly different: your phone number is **optional**, and in place of the disclosure you'll see two tick-box choices — one for marketing texts and one for transactional texts — that are both off until you tick them. See [Text message notifications](/getting-started/text-message-notifications#pro-signup-link).
**Your progress is saved automatically.** If you close the browser during onboarding, you'll resume where you left off when you log back in.
**Phone number format:** The phone field automatically formats your number as you type. Enter your 10-digit phone number and it will be formatted as (555) 555-5555.
#### A few quick questions (Step 2 of 2)
ProBase asks a short series of questions **one at a time** to customize your account. A counter shows your place — *Step 2 · Question X of 6*. Tapping an answer advances you to the next question automatically. The first four questions are required; the last two are optional. Each question has a **Back** button.
* **What type of work do you do?** *(required)* — Pool and Spa, Lawn Care and Lawn Maintenance, or Other. Choosing Other reveals a text box to describe your work.
* **How big is your team?** *(required)* — Just me, 2-5 crews, 6-10 crews, or 10+ crews.
* **What's your current customer count?** *(required)* — Under 25, 25–75, 75–150, or 150+. A quick estimate so ProBase can tailor your experience.
* **How do you manage your work right now?** *(required)* — the common options (Pen and Paper, Spreadsheets, Jobber, Housecall Pro, Other) plus any software specific to your trade — Pool businesses also see Skimmer and PoolBrain, Lawn businesses also see Yardbook and LawnPro.
* **What should we help you with first?** *(optional)* — a list of common goals, or "Something else". Tap **Skip**, or tap an answer to continue.
* **How quickly do you want to be up and running?** *(optional)* — your timeline. Again, tap **Skip** or tap an answer to continue.
Your industry answer determines which service templates ProBase creates for you (see below).
#### You're all set
You'll see a personalized confirmation — **"You're all set, \[First name]."** — letting you know your business is ready to create estimates and jobs. Whenever ProBase pre-configured services for you, this screen also counts them up, previews them, and shows a *"\~30 minutes of setup, done for you"* badge. (This celebration screen doesn't count as a numbered step, so the progress bar is hidden here.)
Tap **Open Dashboard →** to continue to the install step.
#### Add the app to your home screen (optional)
ProBase works best when installed as an app on your phone. This step, headed **Add ProBase to your home screen**, walks you through it. ProBase detects your phone and browser, shows a **Detected:** badge, and gives you the matching steps:
* **On Android** — tap the single **Install the app** button and confirm the browser's prompt.
* **On iPhone (Safari)** — follow the five numbered steps: tap the **•••** button at the bottom right, tap **Share**, scroll down and tap **Add to Home Screen**, turn **Open as Web App** on, then tap **Add**.
* **On iPhone (Chrome)** — follow the four numbered steps: tap the **Share** icon at the top right, select **View More**, tap **Add to Home Screen**, then tap **Add**.
Once installed, ProBase shows a **Turn on notifications** screen. Tap **Enable notifications** and then **Allow** when your phone asks, so you're alerted when customers pay, accept quotes, or need follow-up — or skip it and turn them on later from your dashboard. See [Push notifications](/getting-started/push-notifications) for the details.
This step only appears on mobile devices. On a desktop or laptop — or if ProBase is already installed and you're opening it from your home screen — it is automatically skipped and you go straight to your dashboard.
Installing is optional. Tap the **skip for now** link to continue — it reveals a quick troubleshooting tip plus a **Continue without installing** link, so you're never stuck on this screen.
You can install the app at any time from the **Action needed** section on your dashboard.
When you finish or skip this step, you're taken to your dashboard.
At this point:
* Your account is fully set up
* Industry-specific service templates have been created in your catalog
* A default crew called "My Crew" has been created automatically
* You're ready to start adding customers and scheduling work
## Logging back in
To log in to your account:
1. Go to the ProBase login page
2. Enter your email address in the **Username** field
3. Enter your **Password**
4. Optionally tick **Remember me** to stay signed in on this device
5. Click **Log in**
**Log in with Google:** If your business has Google sign-in enabled, a **Log in with Google** button appears at the top of the form. Use it if you originally signed up with Google — otherwise log in with your email and password.
**Forgot your password?** Tap **Forgot your password?** below the login form to send yourself a password-reset email. The link in that email lets you set a new password and sign back in.
**"Your session expired — please try again."** If the login page had been sitting open for a long time — a tab left open overnight, or one your phone put to sleep and woke back up — tapping **Log in** brings you back to the same page with this amber notice at the top. Nothing is wrong: your email is still in the field, so just enter your password again and tap **Log in**. The same applies to the sign-up and password-reset pages. See [Troubleshooting](/support/troubleshooting).
## What gets set up automatically
When you complete the onboarding wizard, ProBase automatically sets up your account with:
### Default crew
A crew named "My Crew" is automatically created for you. This crew is ready to be assigned to appointments right away. You can:
* Rename it to match your actual crew name (e.g., "Team 1", your name if solo, etc.)
* Add start and end locations for route optimization
* Create additional crews if you have multiple field teams
See [Adding crews](/getting-started/adding-crews) for details on managing your crews.
### Service templates
Based on your industry selection during onboarding, ProBase automatically creates service templates in your service catalog.
**Lawn Care and Lawn Maintenance** creates 13 starter service templates:
* Lawn Mowing - Weekly (subscription, every 7 days)
* Lawn Mowing - Biweekly (subscription, every 14 days)
* Aeration & Overseeding
* Bush Trimming
* Gutter Cleaning
* Junk Removal
* Lawn Fertilization
* Leaf Removal
* Mulching
* Pressure Washing
* Weed Pulling
* Yard Cleanup
* Full Service Yard Care (subscription, every 7 days)
**More lawn services are available without being added for you.** Fifteen further templates — Aeration, Flower Bed Weeding, Flower Planting, Garden Maintenance, Landscape Design, Landscaping, Lawn Seeding, Mosquito Control, Rock Installation, Shrub or Tree Planting, Sodding, Stump Grinding or Removal, Tree Care, Tree Trimming, and Tree Removal — are kept out of your catalog so it stays short, and you can add any of them from **Browse services**. See [Managing your service catalog](/getting-started/service-catalog).
**Pool and Spa** creates 8 service templates:
* Pool Cleaning (weekly, subscription)
* Deep Pool Cleaning
* Pool Open/Close
* Filter Cleaning
* Filter Replacement
* Pump Repair
* Leak Detection
* Pressure Washing
**Other** creates 2 generic starter templates you can rename or replace:
* Standard Service (a one-off visit)
* Monthly Subscription (a recurring plan)
You can customize these templates, create your own, or archive ones you don't need from the Service Catalog page. See [Managing your service catalog](/getting-started/service-catalog) for details.
## Joining a team as a crew member
If a business owner invites you to join their team, you'll follow a simplified onboarding flow — no full account setup required.
Click the invitation link you received. You'll land on the login page. If you already have an account, sign in. If not, click **Sign up** to create one.
Fill in your name, email, and password on the registration page.
After signing in or registering, you'll see a simple page asking for your phone number. Enter it to receive appointment notifications and updates from the team.
A short disclosure below the field notes that submitting your contact information opts you in to email, phone, and SMS messages from ProBase (including marketing messages and automatic dialing) and that **consent is not a condition of service**. Submitting the form opts you in to SMS automatically — you can turn it off later from your Profile page. See [Notification preferences](/getting-started/settings#notification-preferences).
That's it — you're immediately added to the team and taken to the dashboard. No full business setup is needed since you're joining an existing account.
The simplified join flow is for crew members only. Business owners who are creating a new account go through the full onboarding wizard described above.
## Next steps
Now that your account is set up, you can:
* [Choose your text message preferences](/getting-started/text-message-notifications) to control which texts ProBase sends you
* [Turn on push notifications](/getting-started/push-notifications) to get alerts on your phone
* [Use Quick Actions](/getting-started/quick-actions) to quickly add customers and jobs
* [Manage your service catalog](/getting-started/service-catalog) to customize your service templates
* [Create jobs](/getting-started/creating-jobs) to set up customers with services
* [Add crews](/getting-started/adding-crews) to organize your field teams
* [Add your first customer](/getting-started/your-first-customer) manually
# Exploring a demo account
Source: https://docs.probaseapp.com/getting-started/exploring-a-demo
Try a fully-loaded sample ProBase account before you add your own work
## Overview
A brand-new ProBase account starts empty — no customers, no jobs, nothing on the calendar — which makes it hard to picture how the app looks once your business is running in it.
The **demo account** solves that. It's a complete, ready-made ProBase business you can click around in: real-looking customers, jobs on the calendar, invoices, quotes, and completed checklists, all seeded for your line of work. Nothing you tap in the demo touches your own account.
The demo is being rolled out gradually. If you don't see the banner or the menu item described below, it isn't switched on for your account yet. The demo is also offered to business owners and admins only — crew members and other [roles](/team/roles-and-permissions) don't see these prompts.
## Ways in
ProBase offers the demo in several places — use whichever is closest to hand:
* **The Explore a demo account banner on HomeBase** — sits near the top of your dashboard, reading *See how ProBase works when it's fully set up* with an **Explore Demo** button.
* **The Explore a demo account step in the Get started checklist** — on HomeBase, in the [setup checklist](/getting-started/homebase#get-started-checklist). Opening a demo checks this step off, and it stays tappable afterwards so you can go back in.
* **The Tour a demo item in the navigation menu** — at the very bottom, in the **Help** group below **Support**, marked with a small flask icon.
* **The Explore a demo account row in Activate your Beta Partnership** — at the bottom of HomeBase. This row is permanent; it never ticks off or disappears.
* **A Tour demo card on an empty screen** — when your Customers list, Schedule, or Money page has nothing in it yet, a card appears there too. See [Tour demo from an empty screen](#tour-demo-from-an-empty-screen).
All four of the HomeBase and menu entries let you [pick which trade](#picking-your-trade) to explore when you do more than one kind of work. Only the empty-screen cards skip the question and open a demo straight away.
Whichever you use, you land in the demo already signed in — there's nothing to set up first.
The wording differs a little between these spots — the HomeBase banner, checklist step, and Beta Partnership row all say **Explore a demo account**, while the navigation menu says **Tour a demo** and the empty-screen cards say **Tour demo**. They all open the same demo.
The **Tour a demo** menu item, the checklist step, and the Beta Partnership row all stay available no matter how big your customer book gets, so you can always drop into the demo to try something out.
### Dismissing the HomeBase banner
The banner has a **Dismiss** link next to **Explore Demo**. Tapping it clears the banner off your dashboard **permanently** — it won't come back on the next page load.
Dismissing only hides that one banner. **Explore a demo account** in the Get started checklist, **Explore a demo account** in Activate your Beta Partnership, and **Tour a demo** in the navigation menu are all still there, so the demo is never more than a tap away.
## Picking your trade
If more than one of the trades you told ProBase about during [onboarding](/getting-started/onboarding) has its own sample account, ProBase first asks **Which industry?** — *Pick the trade you want to explore. We'll launch a demo seeded for it.* Tap the trade you want and ProBase opens a demo built for it, or tap **Cancel** to stay where you are.
Today **Pool & Spa Service**, **Lawn Care**, and **Handyman** have their own sample accounts. If you only do one kind of work — or your trade doesn't have its own sample account yet — ProBase skips the question and opens a general home-services demo instead.
Because **Handyman** work spans so many kinds of small jobs, its sample account doubles as the general home-services demo — so a handyman business and a business whose trade has no sample account of its own end up looking around the same sample company. The only difference is the label: a declared handyman trade shows up as **Handyman** in the picker, while everything else is offered as **Home services**.
Four of the ways in ask before they launch:
* **Explore Demo** on the HomeBase banner
* **Explore a demo account** in the Get started checklist
* **Tour a demo** in the navigation menu
* **Explore a demo account** in Activate your Beta Partnership
### From the Get started checklist
Tapping **Explore a demo account** on HomeBase brings the same **Which industry?** sheet up from the bottom of the screen, over the checklist.
### From the navigation menu
**Tour a demo** in the **Help** group works the same way — tap it and the trade picker opens over the menu.
### From Activate your Beta Partnership
The permanent **Explore a demo account** row at the bottom of HomeBase behaves the same way — if you do more than one trade it opens the trade picker rather than choosing for you.
The empty-screen **Tour demo** cards are the one exception: they never ask, because they're built to be a single tap onto the screen you were already looking at. If you do one trade they open that trade's demo; if you do more than one, ProBase picks one for you.
### Trying a different trade
You aren't locked into the first demo you open. Tap **Return to my account** in the demo's banner, then open the demo again from the banner, the checklist step, the menu item, or the Beta Partnership row and pick the other trade. You can hop between trades as often as you like.
Tap **Explore Demo** on the HomeBase banner, **Explore a demo account** in the Get started checklist, **Tour a demo** in the **Help** group of the navigation menu, or **Explore a demo account** in Activate your Beta Partnership.
Tap the trade you want to look at, or **Cancel** to stay where you are.
Whatever you tapped last — the **Explore Demo** button or the trade you picked — swaps to a spinner reading **Opening demo…** while ProBase hands you over to the sandbox. It's a full page change, so give it a couple of seconds — there's no need to tap again.
The demo opens as a full ProBase account. Browse the schedule, open a customer, look at an invoice — nothing is off limits.
An orange bar sits at the top of every demo screen. Tap **Return to my account** to go back to your real ProBase.
## Tour demo from an empty screen
Before you've added your own work, the screens that would normally be full of it offer the demo right where you are — on **Customers** and **Schedule** it sits under the button that adds the real thing, separated by a small **or**:
The card reads **Not ready to add your own?** — *See this demo in a fully-running business — customers, live schedule, real-looking invoices* — with a **Tour demo** button. On the **Money** page the same card is headed **Tour demo** instead.
| Where | When it appears | Where the demo opens |
| ----------------------- | ----------------------------------- | ------------------------- |
| **Customers** | You haven't added any customers yet | The demo's Customers list |
| **Schedule** (Day view) | You've never scheduled a job | The demo's Schedule |
| **Money** | You have no invoices yet | The demo's Money page |
Tapping **Tour demo** drops you straight onto that part of the demo, so you land looking at exactly the screen you were curious about.
These cards only show on a genuinely empty screen. Searching or filtering your way to "no results" doesn't count — the card stays away once you have real work of your own. Crew members don't see it on the Schedule either; their empty schedule points them at their crew's work instead.
## What's inside the demo
Each demo account is a busy business already in full swing, so you can see what every part of ProBase looks like with real work flowing through it:
* **A staffed team** — an owner, a manager, and crew members, split across two [crews](/getting-started/adding-crews) with their own start and end locations
* **About 30 customers** — spanning every [status](/customers/customer-status): active, recently added, inactive, leads, and archived, each with properties, service history, and notes
* **Inbound leads** — the [contact form](/customers/contact-form) is switched on with its public link live, and a couple of leads have already come in through it
* **A priced service catalog** — [service offerings](/getting-started/service-catalog) for that trade, each with the *Most pros charge …* pricing guidance under its price so you can see how the pricing hints read, plus add-on [charges](/routes/visit-charges) on visits, and [checklists](/checklists/overview) attached and filled in on completed visits — including before-and-after [photos](/routes/job-notes-and-photos) on a few of them
* **A filled-in field log** — each customer's most recent completed visit carries its own [service records](/routes/service-records), so a finished job's detail page and the property's **Service Records** page show real work instead of an empty section. What's recorded matches the trade: a pool visit logs what the tech observed plus pH, chlorine, and alkalinity readings and the chlorine and acid applied; a lawn visit logs the mow-and-edge notes plus the fertilizer put down; a handyman visit logs the work done plus the material used
* **A live calendar** — a month of completed history behind you, [overdue](/scheduling/overdue-jobs) visits, [jobs with no crew](/scheduling/jobs-without-assigned-crew) yet, work booked for today, and a year of [recurring visits](/scheduling/future-visits) projected forward
* **The full sales pipeline** — assessments booked, [quotes](/customers/creating-quotes) sent and waiting on an answer, and quotes that turned into scheduled jobs, including a quote still sitting in draft
* **One customer who has been through everything** — a sample customer deliberately built to carry every state a record can be in: an assessment in each stage (draft, sent, accepted, declined, and one that was cancelled), a job that's running, one that's finished, and one that was cancelled, and visits that were completed, rescheduled, skipped, and cancelled alongside one still booked. It's the fastest way to see what each [status](/customers/customer-status) badge looks like without having to work a job through its whole life first
* **Real money movement** — [invoices](/billing/invoices) in every state, payments taken by card, [Venmo](/billing/venmo-payments), and cash, tips, and customers carrying a past-due [balance](/billing/customer-balances)
* **A customer whose jobs have actually been worked** — one sample customer carries two jobs taken all the way through the [visit page](/routes/visit-page): a visit running on the clock right now, another paused, and a run of finished visits behind them showing what each state looks like afterwards. Among the finished ones: a visit that was paused partway through (so **What happened** reads two working windows), one with [before-and-after photos](/checklists/system-checklists#before-photos-and-after-photos) on both photo checklists, one whose [service report](/routes/sending-service-reports) went out by text *with the invoice riding along* and came back rated five stars with a comment, one shared by **Copy link** and rated four stars with no comment, one whose report hasn't been sent (so its checklists can still be reopened and edited), one that was [reopened and edited](/routes/completing-jobs#going-back-in-to-fix-a-checklist) after completion, a [cancelled visit whose charges were moved](/routes/cancelling-visits#moving-charges-and-notes-forward) to the next one, and a [rescheduled](/scheduling/rescheduling-jobs) visit with its **Moved to** marker. Her property also has a saved **On my way** message, so you can see one beside the default other properties use
* **Customer reviews** on completed work — stars in your [updates feed](/getting-started/updates#customer-ratings), on the visit's rating card, and on the customer's [portal home](/customers/customer-portal#your-visits)
* **A working route map** — the demo's [day view map](/routes/daily-crew-schedules#map-view) plots the sample crews' stops and draws the real driving path between them, so you can see what a full day of work looks like on the map, and [route optimization](/routes/optimizing-routes) runs there too
Everything is set in the Phoenix, Arizona area and dated relative to today, so "this week" always looks like this week.
Because it's a working account rather than a guided tour, you can also *do* things: add a customer, book a job, build a checklist, send an invoice. It's the fastest way to practice a workflow before you run it on real work.
## Finding your way back
The demo looks and behaves exactly like your own ProBase, so an orange bar with a small flask icon stays pinned to the top of every screen while you're in it:
> 🧪 You are currently viewing a demo — experiment here without making changes to your own account. **Return to my account →**
On a phone the same bar shortens to **Viewing a demo**, to fit the narrower screen — the **Return to my account** link is still on the right.
That bar can't be dismissed, so you always know which account you're looking at. Tap **Return to my account** to go back to your real ProBase whenever you're done — the link shows a spinner reading **Leaving demo…** while the switch happens, so one tap is enough.
There's no separate login for the demo — you always enter it from your own account. If your demo session ends (or you open a demo link without going through ProBase first), you're sent straight back to your real ProBase rather than to a demo sign-in screen.
If the ProBase team sends you a link to the demo by email, opening it works the same way: it drops you into the sandbox, asking you to sign in to your own ProBase first if you aren't already.
Don't bookmark the demo's web address itself. Each trip into the demo uses a fresh, short-lived handoff, so a saved demo address goes stale within a few minutes and shows the "temporarily unavailable" page below. Bookmark your own ProBase instead and enter the demo from the banner, the checklist step, or the menu each time.
## If the demo doesn't open
Occasionally the demo can't let you in — most often because the [nightly rebuild](#whats-different-in-the-demo) is still finishing, or because you opened an old demo address instead of entering from your own ProBase. Rather than an error page, you get a plain message:
> **The demo is temporarily unavailable**
> We couldn't open the demo right now. Please try again in a few minutes.
A **Back to ProBase** button takes you straight back to your own account.
Nothing is wrong with your account when this happens, and there's nothing to fix on your end — wait a couple of minutes and open the demo again from HomeBase, the Get started checklist, the navigation menu, or the Beta Partnership row. If it still won't open after a few tries, [contact support](/support/contact-support).
## What's different in the demo
The demo is deliberately sealed off so nothing you do there reaches the real world:
* **Nobody gets contacted.** ProBase doesn't send any email from the demo, and the automated [text-message notifications](/getting-started/text-message-notifications) are switched off there, so a sample customer never receives an invoice, a quote, or a reminder.
* **No real money moves.** Live card payments are turned off, so the customer payment screens in the demo show the [Venmo](/billing/venmo-payments) option instead of card entry — and because the tip prompt rides along with card payment, those screens don't ask for a tip either. No charge, refund, or payout can happen from the demo. (The *history* still shows card payments and tips already taken — those are sample records, not live transactions.)
* **Marketplace accounts can't be linked.** Tapping **Connect** on an [Integrations](/marketplace/connecting-accounts) card in the demo leads to a "page not found" instead of the marketplace sign-in, so no real LawnStarter, Lawn Love, or Home Gnome account can be linked or unlinked from the sandbox.
* **The account itself can't be deleted.** The options to delete the business or the user account are hidden inside the demo, so the sample world stays available for the next visit.
* **Your email address is locked.** On **My Profile** inside the demo, the **Email** field is read-only and a line below it reads *Your email address can't be changed in the demo environment.* That address is what ties the sample account back to your real ProBase, so changing it would break the link between the two. Everything else on the profile — your name, your photo, your password, your [maps app preference](/getting-started/maps-preference) — is still yours to edit, though like everything else in the demo those edits are wiped overnight.
* **The prompts about *your* account step aside.** Anything that belongs to your real ProBase is hidden while you're inside the demo, so nothing points you back out of the sample world by accident. That means none of the demo invitations (you're already in it) — no **Explore a demo account** banner, **Tour a demo** menu item, **Explore a demo account** checklist step, or empty-screen card — no **Schedule a call** in the **Help** group, and no **Activate your Beta Partnership** section on HomeBase, since those book or change something on your real account. They're all waiting for you the moment you tap **Return to my account**.
* **Everything resets overnight.** The demo world is wiped and rebuilt from scratch every night (around 3am Central), so any mess you make disappears — and the next time you visit, it's a fresh, tidy business again.
Don't keep anything you care about in the demo. It's shared sample data and it's wiped and rebuilt nightly — a customer, job, or note you create there won't be there tomorrow, and it never appears in your real account.
## Next steps
* [HomeBase](/getting-started/homebase) — your own daily dashboard
* [Your first customer](/getting-started/your-first-customer) — start building your real book
* [Getting around ProBase](/getting-started/navigation) — a full tour of the navigation
# HomeBase
Source: https://docs.probaseapp.com/getting-started/homebase
Your daily command center for field work
## Overview
HomeBase is the main dashboard you see after logging in. It gives you a quick snapshot of the day's work so you can jump right in.
On your phone, the **ProBase** wordmark sits in the middle of the top app bar on every page — tap it to jump back to HomeBase from anywhere in the app. Open the side navigation drawer (tap the menu icon on the left of the app bar) and the same wordmark appears pinned at the bottom, so you always know which app you're in.
## Reconnect your marketplace account
If you've linked a marketplace account (LawnStarter, Lawn Love, or Home Gnome) and that connection has expired, an **amber banner** leads the page — above everything else — naming the marketplace and explaining that it's no longer syncing. Tap **Reconnect LawnStarter** (or the button for whichever marketplace it names) to sign in again and get your customers and jobs flowing.
The banner disappears on its own once the connection is active again. A matching item also appears in [Action needed](#action-needed) below. See [Reconnecting an expired account](/marketplace/connecting-accounts#reconnecting-an-expired-account).
This banner is for business owners and admins — the same people who manage your [Integrations](/marketplace/connecting-accounts). It only appears if you've connected a marketplace account.
## Explore a demo account
When it's switched on for your account, an **Explore a demo account** banner sits near the top of HomeBase — above Today's Stops — reading *See how ProBase works when it's fully set up.* Tap **Explore Demo** to drop into a fully-loaded sample ProBase business — customers, jobs, invoices, and checklists seeded for your line of work — so you can see what the app looks like in full swing before you've added your own work.
Nothing you do in the demo touches your real account.
Tapping **Dismiss** hides this banner **for good** — it doesn't come back on the next page load. You can still reach the demo any time from the **Explore a demo account** row in the [Get started checklist](#get-started-checklist), the **Explore a demo account** row in [Activate your Beta Partnership](#activate-your-beta-partnership), or **Tour a demo** in the navigation menu.
See [Exploring a demo account](/getting-started/exploring-a-demo) for the full tour.
## Today's Stops
Below the demo banner, the **Today's Stops** card shows your progress for the current day:
* **Count** — How many stops are completed versus the total scheduled (e.g., "1 of 3 stops completed")
* **Progress bar** — A visual bar that fills as you complete stops
* **Next Stop** — A link to the next scheduled appointment so you can navigate there in one tap
* **A finish line per crew** — under the bar, where each crew's day is heading: **Planned finish 3:10 PM** before anything is done, **Next Maria Lopez, 11:20 AM · finish about 3:10 PM** once work starts, and **All 9 done — finished 2:47 PM.** at the end. On a business with more than one crew, each line carries that crew's colour dot and name
The card updates automatically as you complete, reschedule, or cancel appointments throughout the day.
### No stops scheduled
If there are no appointments scheduled for today, the card shows a simple message:
> No stops scheduled for today.
### All done for the day
Once all of today's stops are completed, the **Next Stop** section shows "All done for today!" so you can see at a glance that the day's work is finished.
## Get started checklist
HomeBase shows a **Get started** checklist to help you finish setting up your account. It's a short list of setup steps with a progress bar at the top showing how far you've come (e.g., "2 of 6 complete"). Each step gets a checkmark as you finish it, so you can track your progress at a glance.
The steps, in the order they appear, are:
1. **Create your ProBase account** — Already done by the time you log in, so it starts checked off
2. **Price your services** — Add what you charge for each job. Tap it to open your service catalog
3. **Explore a demo account** — *See how ProBase works when it's fully set up.* Tap it to open the [demo account](/getting-started/exploring-a-demo). If you do more than one kind of work, it first asks [which trade](/getting-started/exploring-a-demo#picking-your-trade) you want to explore. It ticks itself off the first time you open a demo
4. **Add your first customer** — Opens the Add Customer form right away so you can enter a customer in about 30 seconds
5. **Schedule your first job** — Put a customer on the calendar. Tap it to start a new job
6. **Get paid faster** — *Let customers pay invoices from their phone.* Tap it to open your billing settings. It ticks itself off as soon as you have an online payment method switched on — either [Stripe](/billing/stripe-setup) or [Venmo](/billing/venmo-payments) is enough, you don't need both
7. **Set your home address** — Used for route planning. Tap it to enter your business address in place
Not everyone sees all seven steps. **Price your services** is hidden for some lines of work, and **Explore a demo account** only appears when the demo is switched on for your account. The progress count — "of 5" through "of 7" — always matches the steps actually shown.
Bulk-importing your existing customer list isn't part of this checklist — reach the [import wizard](/customers/importing-customers) from the **Import customers** button on the Customers page or from the **Bulk data** card in Account Settings instead.
Unlike a to-do list that empties out, every step stays visible with a checkmark once it's done, so the list doubles as a record of what you've set up. Once every step is complete, the whole **Get started** section disappears from HomeBase.
**Explore a demo account** is the one completed step you can still tap. Even with its checkmark it stays live, so you can drop back into the demo whenever you want to try something out.
If you're importing customers from another system, the **Add your first customer** step shows "We're processing your file" and links to your import status instead of opening the Add Customer form.
App-setup reminders (installing the app, turning on notifications) live in the [Action needed](#action-needed) section below rather than in this checklist.
## Action needed
HomeBase displays an **Action needed** section that gathers the things that need your attention into one place. Each item shows a count of what's waiting, so nothing slips through the cracks, with the most urgent items sitting at the top. The whole section hides itself automatically when nothing needs your attention.
The **Install the app** and **Enable notifications** reminders are phone-only, so on a computer they never count toward showing this section. If those two are the only things waiting, you won't see an empty **Action needed** card on the desktop — the section stays hidden until something that applies to a computer needs you. Resizing your browser window between phone and desktop widths updates it right away.
### Set up payments
If you haven't connected Stripe after your first two weeks, a reminder appears here so customers can pay invoices automatically and tip from their phone. Tap it to go to your billing settings and complete the Stripe connection.
This reminder is specifically about **Stripe**, so it can still appear after you've switched Venmo on — Venmo covers the **Get paid faster** checklist step above, but only Stripe handles card payments and tips automatically. It's also only shown to people whose role lets them change payment settings.
### Marketplace connection expired
If you've linked a marketplace account (LawnStarter, Lawn Love, or Home Gnome) and that connection has expired, a reminder naming that marketplace appears here — for example, **Reconnect your LawnStarter account**. Tap it to go to your [Integrations](/marketplace/connecting-accounts) page and re-link the account so your customers and jobs keep syncing. This item disappears once the connection is active again, and it appears alongside the [banner at the top of HomeBase](#reconnect-your-marketplace-account).
### Install the app
On your phone, if you haven't added ProBase to your home screen yet, an **Install the app** reminder appears here. Tap it to open the install flow, which walks you through adding ProBase to your home screen and turning on push notifications.
This item only shows on mobile, and it disappears automatically once ProBase detects you're already running it as an installed app from your home screen — or on a device that can't install it.
### Enable notifications
Once you've installed ProBase on your phone, an **Enable notifications** reminder appears here until you grant permission — *"Get alerts when customers pay, accept quotes, or need follow-up."* Tap it and your phone asks whether ProBase may send you notifications; tap **Allow** and ProBase registers the phone for you in the background. This item disappears automatically once notifications are enabled.
If you'd previously blocked notifications for ProBase, your phone won't ask again — tapping the reminder shows *"Notifications are blocked. Enable them in your browser settings."* instead. Turn them back on for ProBase in your phone's **Settings** app, then reopen ProBase. See [Push notifications](/getting-started/push-notifications) for the full walkthrough.
### Overdue jobs
If you have visits that are still scheduled after their day is over — never completed, cancelled, or rescheduled — an action item appears showing the count of overdue jobs. A visit counts as overdue from 9:00 PM on its own date, or from whatever time you've picked under [Mark visits Overdue at](/getting-started/settings#mark-visits-overdue-at).
Tap **Overdue Jobs** to open the full list, where you can see every appointment that needs attention. From there you can:
* **Search** by service name, customer name, or address
* **Tap any appointment** to open the appointment detail page and complete, reschedule, or cancel it
See [Overdue jobs](/scheduling/overdue-jobs) for full details on resolving overdue appointments.
### Plan your day
Before your crews roll out, HomeBase gathers what's worth fixing on the day you're about to drive — today until 6:00 PM, tomorrow after that. Three kinds of row, always in the same order:
* **Jobs with no crew** — *"Assign a crew"*, with the count. Tap it to open [Jobs that need a crew](/scheduling/jobs-without-assigned-crew) for that day. (Multi-crew teams only.)
* **"Tuesday runs 47 min past 5:00 PM"** — the crew's work and driving won't fit its hours, with the fix underneath: **Reorder the stops**, or **Move work to another crew** when reordering can't help.
* **"Save about 40 min of driving"** — what optimizing that crew's route would save. Tap it and the [Optimize route](/routes/optimizing-routes) preview opens for that crew.
Beyond three rows, the rest collapse behind **Show N more**. On a multi-crew team each crew row carries the crew's colour dot and names the crew — *"Alex · reorder the stops"*.
When nothing needs fixing, a single line sums the day up instead — *"Today's set — 9 stops, 6:30 AM to 3:10 PM."*
See [Plan your day](/scheduling/plan-your-day) for the full walkthrough.
### Set your starting address
If a crew has no **starting address** saved, a reminder appears here — *"Unlocks recommended start times and route optimization"*. On a team with more than one crew the row names the crew it's about, for example **Set starting address for Bravo Crew**; if you run a single crew it simply reads **Set your starting address**. You'll get one row per crew that's missing one.
Tap the row to open that crew's page, then tap **Add start address** and enter the address the crew begins its day from. The reminder clears itself as soon as the address is saved and recognized.
A crew's starting address is where ProBase measures the day's drive from, so it's what [suggested start times](/scheduling/creating-appointments#the-recommended-start-time) and [route optimization](/routes/optimizing-routes) are built around — background auto-optimization skips a crew without one entirely. An **ending** address is optional, so a missing one never raises a reminder.
This reminder is only shown to people whose role lets them edit crews. See [Adding crews](/getting-started/adding-crews).
### Overdue payments
If you have customers with overdue invoices, an action item appears showing the count of overdue payments. Tap **View billing** to go directly to your billing page filtered to show only overdue items, so you can quickly follow up and collect outstanding balances.
### New assessments
If new work has come in that you haven't looked at yet, a **New assessments** item appears — *"Leads waiting on you"* — with the count. Tap it to open the [Assessments](/customers/assessments) screen, where you decide how to assess each one.
### Ready to quote
Once a customer has sent their photos, or you've finished an on-site visit, the assessment is **Ready to quote** — *"Assessments where it's your turn"*. Tap the row to open the Assessments screen and write the quote.
### Waiting on photos
If you asked a customer for photos **three or more days ago** and they still haven't sent anything, a **Waiting on photos** item appears — *"Asked 3 or more days ago"*. Tap it to open the Assessments screen, where you can [send the photo link again](/customers/assessments#sending-the-link-again).
Fresher asks don't show here: the row is a nudge for the ones that have gone quiet, not a list of everything you're waiting on.
### Draft quotes
If you've written quotes but not sent them, a **Draft quotes** item appears — *"Written but not sent yet"* — with the count. Tap it to open the [Quotes](/customers/managing-quotes) screen and finish sending them.
These rows look after themselves. Each one stays exactly as long as its condition is true and clears the moment you deal with it — there's nothing to dismiss, and nothing to tick off.
### Needs scheduling
If you have active jobs that haven't been scheduled yet, a **Needs scheduling** item appears with the count. Instead of a generic subtitle, the row names the customers waiting — *"David Chen, Sarah Miller"* — on one line, so you can often tell who it's about without opening anything. When there are more names than fit, the line trails off and the count on the badge is the true total.
Tap it to open the full **Unscheduled jobs** list, where you can see every active job that needs an appointment.
From this list you can:
* **Search** by customer name, service name, or address using the search bar at the top
* **Tap any job** to open a scheduling modal and book an appointment right away
Once scheduled, the job disappears from the unscheduled list and the counter on HomeBase updates automatically.
## Updates
Below Action needed, an **Updates** section shows the [updates](/getting-started/updates) you haven't read yet — a new contact came in through your form, a customer's card payment went through, or Stripe needs something from you, for example. It's the same feed that lives behind the bell, pulled onto HomeBase so the newest things needing you are visible without opening anything.
* A gold **N new** chip next to the heading counts everything you haven't read.
* Below it, up to **three** unread updates are listed, newest first. Each row shows an icon, a title, a one-line summary, and how long ago it happened.
* Tap a row to go straight to the screen it points to — the new lead's customer page, for instance. Arriving there marks that update read, so the row drops off HomeBase the next time you're back.
* **View all** opens the full Updates drawer, where read updates are kept too.
This section is **unread only**, and it hides itself completely when you have nothing unread — HomeBase never shows an empty Updates card. Everything you've already read stays available behind the bell.
The section appears once updates are switched on for your account. See [Updates](/getting-started/updates) for the full picture — the bell, the drawer, and how updates get marked read.
## Available to claim
If you've connected a marketplace account and it has work near you waiting to be claimed, an **Available to claim** section appears below Action needed. Each connected marketplace gets its own row showing how many jobs are waiting — for example **3 jobs available to claim** — with **New LawnStarter work near you — claim it in the app before it's gone** underneath.
Tap **View jobs in LawnStarter** to open the available-jobs list in the marketplace app, where you actually claim the work. Anything you claim lands on your ProBase schedule at the next sync. The section hides itself when nothing is waiting.
The number is a count of the offers the marketplace currently has open for you — the same list the button opens. It's checked every few minutes rather than second by second, so it can trail the app slightly.
See [Available to claim](/marketplace/claiming-jobs) for the full flow.
## Activate your Beta Partnership
At the bottom of HomeBase, an **Activate your Beta Partnership** section gathers the things the ProBase team offers you while you're getting going:
* **Book your 1-on-1 strategy call** — opens a calendar (in a new tab) so you can book a short strategy call with the ProBase team. They'll help you optimize your setup and routes and answer any questions. The booking form is pre-filled with your name and email from your ProBase account, so you can pick a time without retyping anything.
* **Explore a demo account** — *See how ProBase works when it's fully set up.* Drops you into the [demo account](/getting-started/exploring-a-demo). If you do more than one kind of work, it first asks [which trade](/getting-started/exploring-a-demo#picking-your-trade) you want to explore. This row is always here — it never ticks off or disappears — so the demo stays close at hand no matter how far along you are.
The **Explore a demo account** row only appears when the demo is switched on for your account. Booking a call is also available anytime from the **Schedule a call** link in the **Help** group in the sidebar — see [Getting help](#getting-help) below.
These belong to your real account, so they step aside while you're looking around the [demo account](/getting-started/exploring-a-demo) — the whole **Activate your Beta Partnership** section and the **Schedule a call** link are hidden there.
## Getting help
A **Help** group sits at the bottom of the sidebar (and inside the side navigation drawer on mobile) so you can reach support from anywhere in the app:
* **Schedule a call** — book a 1:1 with the ProBase team (opens in a new tab, pre-filled with your name and email)
* **Docs** — open these docs in a new tab
* **Support** — start a live chat with the ProBase team
* **Tour a demo** — drop into a fully-loaded sample business ([learn more](/getting-started/exploring-a-demo)). Appears below **Support** when the demo is switched on for your account. If you do more than one kind of work it asks [which trade](/getting-started/exploring-a-demo#picking-your-trade) to open first
See [Getting around ProBase](/getting-started/navigation) for a full tour of the sidebar.
## Quick Actions (FAB)
The floating **+** button in the bottom-right corner gives you fast access to the most common creation tasks:
* **New Customer** — Add a new customer
* **New Job** — Create confirmed work (customer + property + service + appointment)
* **New Quote** — Start the quote wizard for formal quotes or on-site assessments
See [Quick Actions](/getting-started/quick-actions) for full details on each option.
## Date heading
The top of the page shows today's date (e.g., "Tuesday, March 3") so you always know what day the data is for.
## Next steps
* [View today's full schedule](/routes/daily-crew-schedules) to see all appointments in detail
* [Complete appointments](/routes/completing-jobs) as you finish each stop
* [Quick Actions](/getting-started/quick-actions) for shortcuts to common tasks
# Industries (trades)
Source: https://docs.probaseapp.com/getting-started/industries
Tag your services by trade so ProBase tailors your catalog and job-completion fields
## What are industries?
An **industry** is the trade a service belongs to. ProBase ships with a large, ready-made list of trades — **Pool & Spa Service**, **Lawn Care**, **Landscaping**, **Pest Control**, **House Cleaning**, **Pressure Washing**, **HVAC**, **Plumbing**, **Electrical**, **Roofing**, and many more. You pick from this list (you can't invent your own), and you don't have to use all of them — most businesses only ever touch the one or two trades they actually work in. Tagging your services by trade lets ProBase tailor the experience to the work you do:
* **Trade-specific fields at job completion** — a **Pool** job asks for chemical readings and adjustments, while every other trade keeps a simpler, observations-only completion. ProBase shows the right fields for the right work instead of one generic form for everyone. (Pool is the only trade with its own completion fields today; the rest use the standard completion.)
* **An organized catalog** — your service list shows a small colored chip for each service's trade, and you can filter the list down to a single trade with one tap.
* **At-a-glance context on jobs** — overdue jobs, job cards, and the job detail page show the trade so you know what kind of work each visit is before you arrive.
Tagging is always **optional**. A service with no industry works exactly as it always has, and you can add or change a service's trade at any time.
Industries are a newer capability that may need to be turned on for your account. If you don't see trade options during onboarding, an **Industry** field on your services, or the **Manage Industries** card in your Business Profile, your account isn't set up for trades yet — everything else in ProBase works the same with or without them.
## Choosing your trades during onboarding
When trades are enabled, the first work question in the [onboarding wizard](/getting-started/onboarding) asks **"What services do you offer?"** under a **YOUR SERVICES** heading, with the note *"Choose all that apply. We'll use this to set up your standard line items and schedule formats."* Pick **all that apply** — this is a multi-select, so you can choose more than one. To keep onboarding quick, this step only offers the two most common trades — **Pool** and **Lawn** — and the ones you pick set up your starter catalog. The rest of the trades are available later from your Business Profile (see [Managing your trades later](#managing-your-trades-later)).
The trades you pick are saved to your business and used to pre-fill a starter catalog of services for those trades, so you finish onboarding ready to book work.
### If you don't do Pool or Lawn
Below the Pool and Lawn cards there's an **Other** card for businesses that don't fit either trade. Tapping **Other** is a deliberate "none of these" choice — it lets you move on with **Continue** (no need to Skip), declares no trade, and seeds no starter catalog. You'll finish onboarding on a simpler "You're all set" screen with no service summary, ready to build your own catalog from scratch.
This whole step is optional. Tap **Skip** to move on without declaring anything — slightly different from **Other**, which records that none of the offered trades apply. Either way, you can always add trades later from your Business Profile.
## Managing your trades later
You don't have to decide everything during onboarding. Go to **Settings** in the sidebar (under Business) and find the **Manage Industries** card to add or remove trades at any time. Unlike onboarding's short Pool/Lawn list, the **Add a trade** picker here offers the **full catalog** of trades ProBase supports, so this is where you'd declare something like Pest Control, Pressure Washing, or HVAC.
### Adding a trade
1. Open the **Add a trade** picker and choose a trade.
2. Confirm in the card that appears. Adding a trade simply unlocks it — you'll be able to tag services with it and get trade-specific fields at job completion. **Nothing changes until you tag a service**, and no existing services or jobs are affected.
3. The trade now appears under **Your industries**, with a count of how many of your services use it.
### Removing a trade
Removing a trade is handled from the same **Your industries** list — tap the trash icon next to a trade. ProBase always confirms first and tells you exactly what will happen.
Removing a trade **archives every service tagged with it**. The confirmation lists exactly which services will be archived. Archived services are kept — not deleted — and are automatically restored if you add the trade back later. If no services use the trade, nothing is archived, but ProBase still asks you to confirm so a removal is never silent.
## Tagging a service with a trade
Each service in your [service catalog](/getting-started/service-catalog) can carry one industry. The **Industry** field sits just below the service name on both the create and edit forms. It's optional and single-select — you choose from the trades your business has set up (the ones you declared during onboarding or added from your Business Profile), and each option shows how many of your services already use that trade.
The **Industry** field only appears once your business has declared at least one trade. If you haven't set up any trades yet — neither during onboarding nor from the **Manage Industries** card in your Business Profile — the create and edit forms hide the field entirely and new services save with no trade. Declare a trade first (see [Managing your trades later](#managing-your-trades-later)) and the field appears so you can start tagging.
### Suggested trades while you type
When you name a new service, ProBase watches for trade keywords and suggests a matching industry. Type "Weekly **Pool** Cleaning" and a prompt appears: **"Assign the Pool & Spa Service industry?"** Tap **Assign Pool & Spa Service** to fill in the field for you, or **Not now** to dismiss it. The prompt names whichever trade it matched, so a lawn service name suggests **Lawn Care** instead.
The suggestion is just a shortcut — you're always free to pick a different trade, leave the field blank, or ignore the prompt entirely.
## Choosing a trade when creating a job
You can also set a job's trade right when you book the work. An **Industry** field appears alongside the service name in the [job creation wizard](/getting-started/creating-jobs), in the quick "new service" form on a property, and in the **Change Schedule** editor — so the trade is captured up front instead of only on the catalog.
* **Pick a service from your catalog and the trade fills in for you.** If the catalog service is already tagged, that trade carries over to the job automatically. Choose **Custom** instead and the field clears so you can set the trade yourself.
* **The field only shows when you have more than one trade.** If you do a single trade, ProBase tags every new job with it automatically and keeps the field hidden — there's nothing to choose. Teams with two or more trades see the picker.
* **It's still optional.** Leave it blank if a job doesn't fit a trade, and change it later from **Change Schedule** on the job's detail page.
Setting the trade here means the job carries its trade chip from the very first visit — on the job's page and at the top of the [completion form](/routes/completing-jobs) — even for a custom-named job that ProBase couldn't have guessed the trade from. See [What a trade changes on the work itself](#what-a-trade-changes-on-the-work-itself).
## Seeing trades across ProBase
Once your services are tagged, the trade shows up wherever it's useful.
### On your service catalog
Your **My services** list shows a colored chip for each service's trade. Above the list, **filter pills** let you narrow the catalog to a single trade — each pill shows how many services it covers.
Tap a pill to show only that trade's services. To return to the full catalog, tap the highlighted pill again or tap the **All** pill.
A service's detail page also shows its trade.
### On your jobs
The trade for a job is shown as a chip on the **overdue jobs** list and on the **job detail** page, so you can tell at a glance what kind of work each visit is.
ProBase figures out a job's trade from the services on it. When every service on a job belongs to the same trade, that trade is shown. If a job mixes trades, or has services with no trade, no chip appears.
## What a trade changes on the work itself
Tagging your services pays off where the work gets captured:
* **Ready-made checklists.** A trade's ProBase checklists are attached to every new service offering in that trade — a pool business gets **Chemical Readings** and **Chemical Adjustments** without building them. See [ProBase system checklists](/checklists/system-checklists).
* **Structured records.** Answers on those checklists commit to the visit's [service records](/routes/service-records), so a property builds a chemistry history on its own.
* **A trade chip at completion.** The [completion form](/routes/completing-jobs) shows the job's trade at the top, so you can see at a glance which kind of work you're signing off.
The completion form itself is the same for every trade — you write what you did in plain language and **AI Assist** pulls the readings, materials and observations out of it. There are no trade-specific fields to fill in by hand.
### A nudge to set a trade at completion
If you're completing a job whose service doesn't have a trade yet, ProBase shows a gentle prompt — **"Set an industry for this service"** — so you can tag it on the spot.
Tap **Set industry**, choose the trade from the picker, and tap **Apply**.
The trade is applied to the matching services in your catalog, so future jobs like this one are tagged from the start.
You can dismiss the prompt with **Not now** if you'd rather not tag the service — it won't get in your way, and it won't keep reappearing on every visit.
## Next steps
* [Manage your service catalog](/getting-started/service-catalog) and tag your services by trade
* [Complete a job](/routes/completing-jobs) and capture service records from your notes
* [Business Profile settings](/getting-started/settings) — add or remove trades from the Manage Industries card
# Choosing your maps app
Source: https://docs.probaseapp.com/getting-started/maps-preference
Pick whether directions and address links open in Google Maps or Apple Maps
## Google Maps or Apple Maps
Throughout ProBase, **Directions** buttons and address links open a maps app with turn-by-turn directions to the property — for example, the **Directions** button on a job that's due today. You can choose whether those links open in **Google Maps** or **Apple Maps**.
This is a personal preference tied to your own login, so each person on your team can pick the app they prefer.
## Changing your maps app
Open the navigation drawer and tap **My Profile** in the footer at the bottom.
Scroll to the **Maps** section. It asks which app should open when you tap an address or directions link.
Choose **Google Maps** or **Apple Maps**. Your choice saves immediately — you'll see a confirmation, and there's no separate Save button to press.
New accounts default to **Google Maps**. Switching to **Apple Maps** is handy on iPhones and iPads, where directions then open straight into the built-in Maps app.
Your choice applies everywhere ProBase shows a directions or address link, including the **Directions** button on the [appointment detail page](/customers/managing-services) and across your [daily crew schedules](/routes/daily-crew-schedules).
# Getting around ProBase
Source: https://docs.probaseapp.com/getting-started/navigation
Find your way around the navigation drawer, the mobile app bar, and the bottom bar
## Overview
Everything in ProBase is reachable from the **navigation drawer**. On a computer it sits down the left side of every screen. On your phone it tucks away behind the menu (hamburger) icon in the app bar at the top and slides out over the page when you tap it — and it carries the exact same items, so the app works the same whether you're at a desk or in the field.
## Your account
At the very top of the drawer is your identity: your avatar, your name in large text, and your **business name** on the line underneath. It's a label, not a menu — the account actions live in the [footer at the bottom](#at-the-bottom) of the drawer.
## Main navigation
The first group of items is the screens you'll use every day:
* **HomeBase** — your daily dashboard ([learn more](/getting-started/homebase))
* **Schedule** — the calendar and weekly schedule ([learn more](/scheduling/weekly-schedule))
* **Customers** — your customer list ([learn more](/customers/adding-customers))
* **Assessments** — the visits you're booked to go and look at before you can price the work ([learn more](/customers/assessments))
* **Quotes** — the quotes you've drafted, sent, and had answered ([learn more](/customers/managing-quotes))
* **Money** — invoices, payments, and balances ([learn more](/billing/money-overview))
Whichever screen you're on is filled in with a light pill so you always know where you are. The pill stays on the section you're working in as you drill down — open an invoice or a customer's balance and **Money** stays lit; open a day or a crew's schedule and **Schedule** stays lit.
**Assessments** and **Quotes** currently wear a small gold **NEW** label on the right. It's a launch marker for the two newest screens, not a count of anything waiting — it disappears for everyone on its own once the screens have been out for a while. Each item only appears if your [role](/team/roles-and-permissions) lets you see that screen.
## Business
If you own or help manage the business, a **Business** group holds the setup screens. Tap the group to open it — the caret on the right flips over — and tap it again to fold it away:
* **Services** — your reusable service templates and pricing ([learn more](/getting-started/service-catalog))
* **Checklists** — reusable in-job forms your crew fills out on every visit ([learn more](/checklists/overview)). This item appears when checklists are enabled for your account.
* **Team Roster** — your people, crews, and roles, all under one page ([learn more](/team/team-roster))
* **Payments** — connect Stripe and manage payment settings ([learn more](/billing/stripe-setup))
* **Integrations** — link the outside tools you already use. Today that's your marketplace accounts, which sync customers and jobs into ProBase ([learn more](/marketplace/connecting-accounts)). This item appears when marketplace connections are enabled for your account.
* **Settings** — your business profile and account settings ([learn more](/getting-started/settings))
**The group opens itself when you're inside it.** Land on Services, Settings, Integrations, or any other Business screen and the group is already open when you pull the drawer out, with the screen you're on highlighted — you never have to hunt for where you are.
The **Business** group only appears for business owners, admins, and managers. Crew members who log in see the everyday navigation but not these setup screens — and even within the group, each item only shows for people whose [role](/team/roles-and-permissions) allows it.
## Help
Below Business, a **Help** group keeps support one tap away from anywhere in the app. It starts folded up — tap **Help** to open it:
* **Schedule a call** — book a 1:1 with the ProBase team (opens in a new tab, pre-filled with your name and email)
* **Docs** — open these docs in a new tab
* **Support** — start a live chat with the ProBase team
* **Tour a demo** — opens a fully-loaded sample business you can look around in ([learn more](/getting-started/exploring-a-demo)) without touching your own work. It appears below **Support** when the demo is switched on for your account, and only for owners and admins. If you do more than one kind of work, tapping it first asks [which trade](/getting-started/exploring-a-demo#picking-your-trade) you want to explore.
Inside the [demo account](/getting-started/exploring-a-demo) the Help group is trimmed to **Docs** and **Support** — **Schedule a call** and **Tour a demo** are about your real account, so they step aside while you're in the sample world.
## At the bottom
A footer is pinned to the bottom of the drawer, below a divider. It stays put while the list of screens above it scrolls, so these are always in reach:
* **Updates** — opens the Updates drawer, with a gold pill on the right carrying your unread count ([learn more](/getting-started/updates)). This is the computer version of the bell that sits in the phone app bar, and it appears once updates are switched on for your account.
* **My Profile** — update your name, email, password, and personal settings such as your [maps app preference](/getting-started/maps-preference)
* **Log Out** — sign out of ProBase
The **ProBase** wordmark sits below them so you always know which app you're in.
### When the list is longer than your screen
Opening the **Business** group adds half a dozen items to the list, and on a short screen — a small phone, a laptop with a browser toolbar, or a window you've made shorter — that's more than fits.
Only the middle of the drawer scrolls. Your name and business stay pinned at the top, **My Profile**, **Log Out**, and the wordmark stay pinned at the bottom, and the list of screens between them slides under your finger until you reach whatever you were after. **Help**, right at the end of the list, is always reachable without folding **Business** away first.
## Making room for the page
On a computer, the **✕** button at the top of the drawer shrinks it down to a narrow strip of icons, giving the page more width. The group labels and item names disappear, leaving just the icons; tap the **›** arrow that takes its place to bring the full drawer back.
## Creating things
The things you create most often live on the floating **+** button rather than in the drawer, so they're one tap away from any screen without opening the menu:
* **New Customer** — opens the new-customer form right away
* **New Job** — starts the guided job wizard for confirmed work
* **New Quote** — starts a quote for a customer and property
* **New Assessment** — starts an assessment when you need a look at the property before you can price the work
Each item only appears if your [role](/team/roles-and-permissions) can create that kind of record.
See [Quick Actions](/getting-started/quick-actions) for what each one does.
## Going back
Pages you drill into — a job, a customer, a property, a service, a quote, or one of HomeBase's follow-up lists — always tell you where you are and give you a one-tap way out. What that looks like depends on your screen size.
### On a computer: the breadcrumb trail
A trail sits across the top of the page, starting with a small **house** icon (HomeBase) and then naming each level down to the page you're on. Every step except the last one is a link, so you can jump back up as many levels as you like:
> 🏠 › Customers › Elena Rivera › 750 Oakwood Dr › Weekly Mowing
**The trail starts where you came from.** Open a job from the [Schedule](/scheduling/weekly-schedule) and the trail is rooted at **Schedule**; open one from your next stop on HomeBase and it's rooted at **Dashboard**; open one from HomeBase's [Overdue jobs](/scheduling/overdue-jobs) list and **Overdue Jobs** sits in between. Reach the same job through a customer's service page and you get the full customer trail instead.
**A job is named in one step.** On a trail that comes from the Schedule or HomeBase, the last step is the visit itself, written out in one line — the service, the customer, and the date together — so you can tell at a glance which visit you have open:
> 🏠 › Schedule › Lawn Mowing for Elena Rivera on Aug 13, 2026
The visit is where the trail ends. Everything about it — what's being charged, the property's details, the notes — sits on the **Visit**, **Details**, and **Notes** tabs of that one page, so there's no deeper level to climb back out of. See [The visit page](/routes/visit-page).
HomeBase is spelled **Dashboard** in the trail, and the **house** icon at the start of every trail goes to the same place.
### On a phone: the back arrow
A row pinned just under the app bar carries a **‹** back arrow on the left. Tapping it takes you up one level. Any actions for that page — **Edit** on a customer, property, or job, for example — ride on the right-hand side of the same row, so they stay reachable as you scroll. On a visit, the actions are buttons on the page itself instead: the main action, the outlined **⋯ More** beside it, and whatever quiet action applies — see [The visit page](/routes/visit-page).
Tapping back from your next stop on HomeBase puts you right back on HomeBase:
### Back knows where you came from
Both the trail and the arrow are context-aware — they take you where you came from rather than always to the same place:
| Where you are | Back returns you to |
| ----------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| A job you opened from your next stop on HomeBase | HomeBase |
| A job you opened from the [Overdue jobs](/scheduling/overdue-jobs) list | The overdue jobs list |
| A job you opened from the [Schedule](/scheduling/weekly-schedule) | The same schedule view — same date, view mode, crew filter, and search |
| A job you opened from anywhere else | The service's page under its customer and property |
| A property or service page | The customer it belongs to |
| A customer's page | The [customer list](/customers/adding-customers) |
| A quote you opened from the [Quotes](/customers/managing-quotes) screen | The Quotes screen |
| A quote or assessment you opened from inside a customer's record | The customer's record, with the **Customers / customer / property** trail intact |
Your browser's back button (or the back-swipe gesture on a phone) works normally too. The in-app back is there because it knows which list a record belongs to even when you arrived from a bookmark or a link someone sent you.
## On your phone
### The app bar
A slim bar is fixed to the top of every screen with these things on it:
* **The menu (hamburger) icon** on the left — slides the navigation drawer out over the page. Tap the **✕** at the top of the drawer, or anywhere on the dimmed page behind it, to close it again. Tapping any screen in the drawer closes it straight away and then loads the page, so the tap always feels like it landed. Items that open somewhere else in a new tab — **Docs**, **Schedule a call** — leave the drawer where it is, and opening a group (**Business**, **Help**) just unfolds it.
* **The ProBase wordmark** in the middle — tap it to jump back to HomeBase from anywhere in the app.
* **The chat icon** on the right — opens a live chat with the ProBase team, so support is reachable without opening the menu.
* **The bell** at the far right edge — opens your [Updates](/getting-started/updates), with a gold badge showing how many you haven't read. It sits outermost so it's the easiest thing to reach with your thumb, and it appears once updates are switched on for your account.
### The bottom bar
You also get a bar floating along the bottom of every screen with the four places you go most: **HomeBase**, **Schedule**, **Customers**, and **Money**. Tap one to jump straight there without opening the menu — the tab you're on wears a frosted pill, and it moves the instant you tap so the switch feels immediate.
The floating **+** button sits at the end of the bar, at the same height, so creating something and switching screens live side by side. Tapping it fans the create options out above the bar and turns the **+** into an **✕**; tap the **✕**, or the dimmed page behind it, to close the menu.
The bar follows your [role](/team/roles-and-permissions) the same way the drawer does, so a tab you're not allowed to open simply isn't there — a crew member without money access, for example, sees no **Money** tab. On a computer the bar isn't shown at all; the drawer covers it.
### The buttons at the bottom of a form
Anything that takes over the screen — the [New Job wizard](/getting-started/creating-jobs), adding or editing a customer, editing a property, editing a job's [schedule](/scheduling/rescheduling-jobs) or [pricing](/customers/managing-services), scheduling a visit, [reordering a route](/routes/reordering-routes), [adding a stop](/routes/daily-crew-schedules#add-a-stop), [completing a visit](/routes/completing-jobs), the [onboarding](/getting-started/onboarding) steps, and joining a team — keeps the buttons that close it (**Back** / **Next**, **Cancel** / **Save**, **Continue**, **Done**) in a bar pinned along the bottom of the screen. You never scroll to find them; the content scrolls behind the bar instead.
The bar leaves room for the thin line or bar your phone draws along the very bottom edge — an iPhone's home indicator, or an Android gesture bar — so the buttons stay fully tappable rather than sitting underneath it. That's true in a browser tab and in ProBase [installed to your home screen](/getting-started/onboarding#add-the-app-to-your-home-screen-final-step).
Sheets that slide up from the bottom — the **⋯ More** sheet on a visit, the **Add a checklist** and **Attach to services** pickers — leave the same room under their last row.
## Next steps
* [HomeBase](/getting-started/homebase) — your daily command center
* [Quick Actions](/getting-started/quick-actions) — the floating **+** button
* [Settings](/getting-started/settings) — set up your business profile
# Getting started with onboarding
Source: https://docs.probaseapp.com/getting-started/onboarding
Complete your account setup with the onboarding wizard
## What is onboarding?
When you first create your ProBase account, you'll go through a quick onboarding process to set up your business. This guided wizard helps you get started faster by collecting essential information and setting up your account properly.
## The onboarding wizard
The wizard has two short information-gathering steps — Set up your account and a few quick questions about your work — followed by a personalized "You're all set" confirmation and an optional step to install the app on your phone. A progress bar at the top shows where you are on the first two steps (Step 1 of 2, Step 2 of 2). The progress bar is hidden on the "You're all set" and install screens, since those aren't data-collection steps.
### Step 1: Set up your account (Step 1 of 2)
The first screen reads **Set up your account** with the subheading *"Tell us about your business so we can get you started."* Enter your essential business information:
* **Your name** *(required)* — Your full name as the account owner. This is captured here (not on the signup form) so the signup screen can stay short.
* **Business name** *(required)* — Your company or business name.
* **Business address** *(optional)* — Your business or home address. Start typing and pick your address from the autocomplete suggestions. Adding it sets your timezone and your starting point for route optimization, but you can skip it for now and add it later.
* **Phone number** *(required — optional if you signed up from a pro link, see below)* — Business phone number, automatically formatted as you type: (555) 555-5555.
The address field offers autocomplete suggestions as you type — choose your address from the list so ProBase can detect your timezone and use it as the starting point for crew routing.
#### Text message consent
Below the form you'll see a short disclosure explaining that, by submitting your contact information, you agree that ProBase or its representatives may contact you by email, phone, or SMS — including for marketing purposes and by automatic dialing systems. The disclosure also notes that **consent is not a condition of service**.
When you tap **Continue**, your account is opted in to SMS notifications automatically. You can turn SMS off at any time from your Profile page — see [Notification preferences](/getting-started/settings#notification-preferences).
#### If you signed up from a pro link
Accounts created through a ProBase pro signup link (the signup page at **/register-pro**) see a different version of this step:
* Your **Phone number** is **optional** — no red asterisk.
* Instead of the disclosure paragraph, there are two independent tick boxes, both **off** by default: one for **marketing** text messages (promotional offers and product news) and one for **transactional** text messages (account updates, customer care messages, and service notifications). The full disclaimer, with links to the Privacy Policy and Terms of Service, sits below them.
* Nothing is recorded unless you tick a box, so leaving both unticked simply means no texts.
If you tick a box while the phone field is blank or incomplete, **Continue** won't submit — an inline message appears: *"Enter a phone number to receive text messages, or uncheck the box above."* Add your number or untick the box to carry on.
For the full walkthrough of both versions, see [Text message notifications](/getting-started/text-message-notifications).
After filling in these details, tap **Continue** to proceed.
### Step 2: A few quick questions (Step 2 of 2)
The second step asks you a short series of questions, **one at a time**. A counter beneath the progress bar shows where you are — *Step 2 · Question X of 6*. Each question has a **Back** button so you can return to an earlier question (or back to Step 1) at any time.
For every question, simply tapping your answer moves you straight to the next question — there's no extra Continue button to press. Your choice is checked off instantly the moment you tap it, so the step feels responsive even before your answer finishes saving. The first four questions are required; the last two are optional and can be skipped.
If your answer can't be saved — for example, if your connection drops mid-tap — the checkmark clears itself and a short **"Something went wrong. Please try again."** message appears below the options. Just tap your answer again to retry; you stay on the same question until it saves.
**Question 1 — What type of work do you do?**
*"We'll use this to customize your ProBase experience."*
* Pool and Spa
* Lawn Care and Lawn Maintenance
* Other
If trades (industries) are enabled for your account, this first question changes to **"What services do you offer?"** (under a **YOUR SERVICES** heading, with the note *"Choose all that apply. We'll use this to set up your standard line items and schedule formats."*) — a multi-select where you pick **all** the trades that apply instead of a single option. To keep onboarding quick, this step only offers the two most common trades — **Pool** and **Lawn** — plus an **Other** card for businesses that don't do either; you can add any of ProBase's other trades later from your Business Profile. Your Pool/Lawn selections seed a starter catalog for those trades, while picking **Other** declares no trade and seeds nothing (you'll build your own catalog). This question is optional; tap **Skip** to move on without declaring any. See [Industries (trades)](/getting-started/industries) for the full walkthrough.
If you pick **Other**, a text box appears so you can describe your line of work, with a **Continue** button to confirm.
**Question 2 — How big is your team?**
*"This helps us set up your scheduling and dispatching features."*
* Just me
* 2-5 crews
* 6-10 crews
* 10+ crews
**Question 3 — What's your current customer count?**
*"Just a rough estimate so we can tailor your experience."*
* Under 25
* 25–75
* 75–150
* 150+
This is a quick estimate of how many customers you serve today — there's no Skip and no "Other" option, and tapping an answer moves you straight to the next question.
**Question 4 — How do you manage your work right now?**
*"We'll optimize your account setup based on your current workflow."*
Everyone sees the common options — **Pen and Paper**, **Spreadsheets**, **Jobber**, **Housecall Pro**, and **Other** (with a text box to name your tool). The rest of the list is tailored to the trade you picked in Question 1, so you only see the software that's relevant to your line of work:
* **Pool** businesses also see **Skimmer** and **PoolBrain**.
* **Lawn** businesses also see **Yardbook** and **LawnPro**.
* Businesses that picked more than one trade, chose **Other**, or skipped the trade question see just the common options.
**Other** always appears last in the list.
If you go **Back** and change your trade after answering this question, and the tool you'd picked isn't offered for your new trade (for example, you'd chosen Skimmer as a Pool business and then switched to Lawn), your answer clears itself so you can pick again from the updated list.
**Question 5 — What should we help you with first?** *(optional)*
* Save time on admin and paperwork
* Stop jobs from falling through the cracks
* Look more professional to clients
* Get paid faster and on time
* Get organized so I can grow
* Something else (with a text box)
This question is optional. Tap **Skip** to move on, or tap an answer to continue automatically.
If you pick **Something else**, a text box appears so you can describe what you need help with, with a **Continue** button to confirm.
**Question 6 — How quickly do you want to be up and running?** *(optional)*
* I need this working this week
* I need this working this month
* I'm planning ahead — next few months
* Just exploring for now
Like Question 5, this one is optional — tap **Skip** to move on, or tap an answer to continue automatically.
Your industry answer determines which service templates ProBase automatically adds to your catalog (see [What gets set up automatically](#what-gets-set-up-automatically) below).
### You're all set
Once your questions are answered, you'll land on a personalized confirmation screen: **"You're all set, \[First name]."** with a note that your business *"is ready to create estimates and jobs."* This is a celebration screen rather than a numbered step, so the progress bar is hidden here.
Whenever ProBase pre-configured services for you, this screen also counts them up (*"13 services pre-configured"*), previews them, and shows a *"\~30 minutes of setup, done for you"* badge. The count reflects however many templates were added for the trades you picked.
If nothing was pre-configured for your account — which is what happens when you tick the **Other** card on the trades version of the first question — the screen shows a simpler confirmation with no service summary and no setup-time badge. You'll build your own catalog from the Service Catalog page.
Tap **Open Dashboard →** to continue.
### Add the app to your home screen (final step)
ProBase works best when installed as an app on your phone. After the "You're all set" screen, this step walks you through adding it to your home screen so you can access it quickly without opening a browser.
The screen is headed **Add ProBase to your home screen** with the reassurance *"No app store needed. Works just like a native app."* ProBase automatically detects which phone and browser you're using and shows a small **Detected:** badge along with the exact steps for your device.
**On Android**, you'll see a single **Install the app** button. Tap it and your browser prompts you to add ProBase to your home screen — confirm and you're done.
**On iPhone (iOS)**, iOS doesn't offer a one-tap install, so ProBase shows a numbered checklist tailored to your browser:
* **Safari** — five steps: tap the **•••** button at the bottom right of Safari, tap **Share**, scroll down and tap **Add to Home Screen**, turn **Open as Web App** on, then tap **Add** in the top right.
* **Chrome on iOS** — four steps: tap the **Share** icon at the top right of Chrome, select **View More** at the bottom right, tap **Add to Home Screen**, then tap **Add**.
#### Turn on notifications
Once ProBase is added to your home screen, you'll see a **Turn on notifications** screen marked with an **App installed** badge — *"Know when customers pay, accept quotes, or need follow-up."* Tap **Enable notifications**, then tap **Allow** when your phone asks. ProBase registers the phone in the background, so there's nothing else to confirm. Or tap **I'll do this later — not now** to skip.
This screen only appears once the app is installed — on an iPhone, notifications aren't available at all in a plain browser tab. If you skip it, the same prompt waits for you as **Enable notifications** in the **Action needed** section of your dashboard. See [Push notifications](/getting-started/push-notifications) for the full picture.
If notifications are turned off for ProBase — either because you tapped **Don't Allow** when your phone asked, or because you'd blocked them before — a message appears letting you know: *"Notifications are blocked. Enable them for ProBase in your device's Settings app, then come back here."* Open your phone's **Settings** app, find ProBase, and switch notifications on, then return to this screen. You can also tap **I'll do this later — not now** to move on and turn them on later.
These steps only appear on mobile devices. On a desktop or laptop — or if ProBase is already installed and you're opening it from your home screen — they're automatically skipped and you go straight to the dashboard.
Installing is optional. Tap the **skip for now** link to continue without installing. Tapping it once reveals a short troubleshooting tip plus a **Continue without installing** link, so you're never stuck — you can always install the app later from the **Action needed** section on your dashboard.
When you finish (or skip) this step, you're taken to your dashboard.
## What happens after onboarding?
Once you complete the onboarding wizard:
1. Your account is fully activated
2. You're taken to the dashboard
3. Industry-specific service templates are automatically created in your service catalog — lawn care pros get mowing, trimming, cleanup, and fertilization starters; pool cleaning pros get pool cleaning, filter service, repairs, and related work
4. The business address you entered is saved as your starting point for route optimization
5. You can start adding customers, creating jobs, and scheduling work
## What gets set up automatically
Based on your industry selection, ProBase creates a starter service catalog so you can begin booking jobs immediately:
* **Lawn Care and Lawn Maintenance** — 13 starter templates (Lawn Mowing - Weekly, Lawn Mowing - Biweekly, Aeration & Overseeding, Bush Trimming, Gutter Cleaning, Junk Removal, Lawn Fertilization, Leaf Removal, Mulching, Pressure Washing, Weed Pulling, Yard Cleanup, and Full Service Yard Care). A further 15 lawn services are held back so your catalog stays short — add any of them later from **Browse services**.
* **Pool and Spa** — 8 service templates (Pool Cleaning, Deep Pool Cleaning, Pool Open/Close, Filter Cleaning, Filter Replacement, Pump Repair, Leak Detection, Pressure Washing).
* **Other** — 2 generic starter templates (Standard Service and Monthly Subscription) that you can rename, re-price, or archive as you build out your own catalog.
You can customize these templates, add your own, or archive ones you don't need. See [Managing your service catalog](/getting-started/service-catalog) for details.
## If you're invited to join a team
If another business invited you to join their team, you'll see a simplified onboarding flow where you provide your phone number and are immediately added to the team. The same SMS disclosure appears below the phone field — submitting the form opts you in to text messages so you can receive appointment updates from the team. You can turn SMS off later from your [Profile page](/getting-started/settings#notification-preferences). Team members don't need to complete the full business setup since they're joining an existing account.
## Resuming onboarding
If you close the browser before finishing, your progress is saved automatically. When you return, the wizard resumes at the step where you left off.
## Accessing onboarding again
You can only complete onboarding once. After finishing, you won't see the wizard again. If you need to update your business information later, go to your account settings.
## Navigating between steps
Every question on the **quick questions** step has a **Back** button. Tapping Back on the first question returns you to **Set up your account** with your earlier answers still filled in.
Your browser's back button (or back-swipe gesture on mobile) also moves you back through the steps, so your answers are preserved as you review them.
## Getting help during onboarding
If you have questions or run into issues while completing onboarding:
* Required fields are marked and will show errors if left blank
* If **Continue** doesn't move you forward, something needs fixing — ProBase scrolls that field into view and puts your cursor in it, with the reason shown underneath in red
* Use the **Back** button on any question to review or change an earlier answer
* Contact our support team if you need assistance
## Next steps
After completing onboarding:
* [Text message notifications](/getting-started/text-message-notifications) - Review or change the SMS choices you made during setup
* [Set up your service catalog](/getting-started/service-catalog) - Review and customize your service templates
* [Add crews](/getting-started/adding-crews) - Create teams for field work
* [Add your first customer](/getting-started/your-first-customer) - Start building your customer base
* [Create jobs](/getting-started/creating-jobs) - Schedule your first appointments
# Push notifications
Source: https://docs.probaseapp.com/getting-started/push-notifications
Turn on phone alerts from ProBase, and what to do when they stop arriving
## What push notifications are
Push notifications are the alerts that appear on your phone's lock screen and notification shade — the same way a text or a messaging app announces itself, but sent by ProBase rather than by your phone carrier. The **Turn on notifications** screen sums up what they're for: *"Know when customers pay, accept quotes, or need follow-up."*
They're separate from [text message notifications](/getting-started/text-message-notifications). Texts go to your phone number and are controlled by the **SMS notifications** toggle on your profile. Push notifications go to a specific phone and are controlled by that phone's own permission prompt. Turning one on or off has no effect on the other.
Push notifications are per device. If you use ProBase on a phone and a tablet, you turn them on separately on each one.
**The alerts themselves are being switched on gradually.** Allowing notifications registers your phone so it's ready to receive them, but the alerts ProBase sends are still being rolled out — so you may not see any straight away. Turning the permission on now means nothing more is needed from you once they start arriving.
## What arrives as a push
Push notifications carry your [updates](/getting-started/updates) — the same short messages that collect behind the bell in the app. A push shows the update's title and its one-line summary, and tapping it opens ProBase straight at the screen the update points to.
Anything sent as a push is also waiting in the Updates drawer, so a notification you swiped away or missed overnight is never lost.
That's how you hear about the things that happen while you're not looking at ProBase — a new contact through your form, a card payment that went through or was declined, or Stripe pausing your payouts. See [What sends an update today](/getting-started/updates#what-sends-an-update-today) for the full list.
## You need the app installed first
ProBase has to be added to your home screen before it can send you push notifications. On an iPhone this is a hard rule set by Apple — notifications simply aren't available in a normal Safari or Chrome tab. That's why ProBase only offers to turn notifications on once it can see you're running the installed app.
If you haven't installed it yet, start there:
* During signup, the last onboarding step walks you through it — see [Add the app to your home screen](/getting-started/onboarding#add-the-app-to-your-home-screen-final-step).
* Afterwards, tap **Install the app** in the **Action needed** section of [HomeBase](/getting-started/homebase#install-the-app).
## Turning notifications on
Open ProBase from the icon on your home screen — not from a browser tab.
Straight after you install during onboarding, ProBase shows a **Turn on notifications** screen with an **App installed** badge.
If you skipped it — or you installed the app some other way — the same prompt is waiting on your dashboard as an **Enable notifications** item in the **Action needed** section, described as *"Get alerts when customers pay, accept quotes, or need follow-up."*
Your phone asks whether ProBase may send you notifications. Tap **Allow**.
ProBase registers this phone in the background — there's nothing else to confirm. The **Enable notifications** reminder disappears from **Action needed**, and the onboarding screen moves you along to your dashboard.
Not ready yet? On the onboarding screen, tap **I'll do this later — not now**. The reminder stays on your dashboard so you can come back to it whenever you like.
## Other places to turn them on
Once [updates](/getting-started/updates) are switched on for your account, two more places offer the same thing:
* **In the Updates drawer.** Open the bell on a device that hasn't been asked yet and a **Never miss an update** panel sits at the top — *"Get these as push notifications on this device."* Tap **Enable**.
* **On your profile.** Open the navigation drawer, select **My Profile**, and scroll to **Notification Preferences**. Below **SMS notifications** is a **Push notifications** toggle for the device you're on.
## Turning them off
The **Push notifications** toggle on your profile is also how you turn them off again. Switching it off stops alerts reaching **that device only** — the phone or tablet you're holding. Your other devices keep theirs, and your updates keep collecting behind the bell in the app either way.
Switching it back on asks nothing further if you've already granted permission on that device.
Turning push notifications off doesn't affect text messages. Those have their own switch in the same section — see [Text message notifications](/getting-started/text-message-notifications).
## If notifications are blocked
Your phone only asks once. If you tapped **Don't Allow** the first time — or you'd blocked notifications for ProBase previously — tapping **Enable notifications** again can't re-open the prompt, so ProBase tells you instead:
* On the dashboard, a red message appears: *"Notifications are blocked. Enable them in your browser settings."*
* On the onboarding screen, you'll see: *"Notifications are blocked. Enable them for ProBase in your device's Settings app, then come back here."*
* On your profile, the **Push notifications** toggle is greyed out with a line beneath it: *"Notifications are blocked for ProBase in your browser settings — allow them there first."*
To fix it, open your phone's **Settings** app, find ProBase in the list of apps, switch notifications back on, then reopen ProBase. The reminder clears itself once your phone reports the permission as granted.
Removing ProBase from your home screen usually clears the permission along with it. If you install it again later, you'll be asked afresh.
## Keeping delivery working
Once you've allowed notifications, ProBase re-registers your phone quietly each time you open the app. You don't have to do anything for this — it just means that if your phone or browser ever drops the registration (which they do occasionally, and always after a reinstall), delivery repairs itself the next time you open ProBase.
If you've allowed notifications and nothing has ever arrived, there's most likely nothing wrong with your phone — the alerts are still being switched on (see the note at the top of this page). The steps below are for the case where notifications *were* arriving and then stopped.
Work through this in order:
1. **Open ProBase from the home screen icon** rather than a browser tab, and leave it open for a moment.
2. **Check your phone's Settings** — confirm notifications are still allowed for ProBase, and that the alert style isn't set to silent.
3. **Check Focus / Do Not Disturb.** Both hold notifications back without turning them off.
4. **Check you're on the right phone.** Permission is granted per device, so a second phone or tablet needs its own **Enable notifications** tap.
5. **Check the toggle on your profile.** If **Push notifications** in **Notification Preferences** is off for this device, switch it back on.
Missed alerts aren't lost. Everything ProBase would have pushed to you is still waiting in your [Updates](/getting-started/updates) drawer behind the bell.
Push notifications are one of several ways ProBase reaches you. Text messages have their own on/off switch on your profile — see [Text message notifications](/getting-started/text-message-notifications).
## Related pages
* [Updates](/getting-started/updates) — the in-app feed behind the bell that pushes come from
* [Getting started with onboarding](/getting-started/onboarding) — including the install and notifications steps
* [HomeBase](/getting-started/homebase#action-needed) — where the **Enable notifications** reminder lives
* [Text message notifications](/getting-started/text-message-notifications) — the separate SMS preference
* [Troubleshooting](/support/troubleshooting) — other common issues
# Quick Actions
Source: https://docs.probaseapp.com/getting-started/quick-actions
Use the floating action button for fast access to common tasks
## What are Quick Actions?
The Quick Actions button (also called the FAB - Floating Action Button) is a circular button with a plus icon that appears in the bottom-right corner of most pages. It gives you instant access to the most common tasks you perform every day.
On a phone it sits at the end of the [bottom bar](/getting-started/navigation#the-bottom-bar), level with the tabs, so creating something and switching screens live side by side. On a computer it floats in the bottom-right corner of the page.
## Using Quick Actions
Look for the floating button with a plus icon in the bottom-right corner of your screen.
When you click the button, a menu expands showing the available actions:
* **New Customer** - Add a new customer with optional property details
* **New Job** - Create confirmed work (customer + property + service + appointment)
* **New Quote** - Start a quote for a customer and property
* **New Assessment** - Start an assessment when you need a look before you can price the work
Each menu item shows an icon and label. Click any item to perform that action.
After selecting an action, a form opens right on top of the page you were already on. Fill in the required information and follow the steps — if you close it without finishing, you stay exactly where you were.
When the menu is open the **+** turns into an **✕** and the page behind it dims.
Click the dimmed page behind the menu, or press the **✕**, to close the menu without selecting an action.
You only see the actions your [role](/team/roles-and-permissions) allows. If your role can't create quotes, for example, **New Quote** simply isn't in the menu.
## Available actions
### New Customer
Opens the customer creation form where you can:
* Enter customer contact information
* Optionally add their first property
* Save and continue to set up services
See [Adding customers](/customers/adding-customers) for detailed instructions.
### New Quote
The **New Quote** action starts a quote for a customer and property. It asks two questions — **Who's this for?** and **Which property?** — and then drops you on the new quote's own page, where you add the services you're quoting.
See [Creating quotes](/customers/creating-quotes) for detailed instructions.
### New Assessment
The **New Assessment** action starts an assessment — use it when you need photos or an on-site visit before you can put a number on the work. It asks who it's for and which property, then how you want to assess the work.
See [Working assessments](/customers/assessments) for detailed instructions.
### New Job
The **New Job** action creates confirmed work using a multi-step wizard, one question per screen:
1. **What would you like to do?** — schedule the job, or switch to an assessment or a quote instead
2. **Who's this for?** — pick an existing customer or add a new one
3. **Which property?** — choose one of their properties or add a new address
4. **What are you doing?** — pick a service from your catalog, or type a custom one
5. **What does it cost?** — price, tax rate, extra charges, and any discount
6. **When should this job be scheduled?** — frequency, start date, crew, start time and length
7. **When should this job be billed?** — per visit or subscription
8. **Confirm and create job** — the whole job read back as a receipt, with a pencil on every row
This is perfect when:
* Work is confirmed and doesn't need a quote or assessment
* You know the pricing and scope upfront
* You're ready to schedule and start immediately
See [Creating jobs](/getting-started/creating-jobs) for detailed instructions.
## Other common actions
These actions aren't in the Quick Actions FAB but are easily accessible from the relevant pages:
* **Record Payment** — Available as a button at the top of the Money page and on any customer's billing history page. See [Recording payments](/billing/tracking-payments).
* **Send Invoice** — Available on the invoice detail page. From a completed visit, reach it through the **Charged** row — or send it with the service report. See [Sharing payment links](/billing/sending-payment-links).
* **Add Charge / Add Credit** — Available as dedicated buttons at the top of any customer's billing history page. See [Customer balances](/billing/customer-balances).
## Where the Quick Actions button appears
The Quick Actions button is on every page once you're logged in — bottom-right on a computer, at the end of the [bottom bar](/getting-started/navigation#the-bottom-bar) on a phone — so it's always in reach no matter where you are in the app.
The creation flows open as a full-screen window over the page you were on, so the button sits behind them while you're filling one in. Close the window and it's back where it was.
## Next steps
* [Add your first customer](/getting-started/your-first-customer) - Use the New Customer action to get started
* [Create a job](/getting-started/creating-jobs) - Use the New Job action for confirmed work
* [Create quotes and assessments](/customers/creating-quotes) - Use the New Quote action for quotes and assessments
* [Send payment links](/billing/sending-payment-links) - Share invoices from the Money page or invoice detail page
# Managing your service catalog
Source: https://docs.probaseapp.com/getting-started/service-catalog
Create and manage reusable service templates
## What is the service catalog?
Your service catalog is a collection of reusable service templates that you offer to customers. Instead of entering service details from scratch every time you create a new customer service, you can select a template from your catalog that pre-fills the name, description, pricing, billing type, and service frequency.
Think of your service catalog as your menu of services. When you set up a new customer, you simply choose from this menu rather than typing everything out each time.
## Why use service templates?
Service templates save time and ensure consistency:
* **Faster customer setup** - Select a template instead of typing service details each time
* **Consistent pricing** - Ensure the same service has the same starting price for all customers
* **Professional descriptions** - Write your service descriptions once, use them everywhere
* **Easy price updates** - Change your prices in one place for future customers
When you create your account, ProBase automatically creates industry-specific service templates based on your industry selection (lawn care, pool cleaning, etc.). You can use these as-is, customize them, or create your own.
## Viewing your service catalog
To see all your service templates, click **Services** in the sidebar (under Business). This opens your **My services** page — a list of every service you offer, under a reminder of what a template does for you: *Set it up once, use it on every job. Each service template drops your price, schedule, and billing straight into a quote. Add more whenever you need them.*
Each row shows:
* The service name
* A short description and how often the work happens, on one line — for example *Skim, vacuum, brush walls, test & balance chemicals · Weekly*
* A **price badge** on the right with your starting price. Recurring services read **\$50 / visit**; one-time services show just the amount
* For a service you haven't priced yet, the price badge is replaced by a line of guidance — for example *Most pros charge $45–$55 per visit for a small lot.* — on the services ProBase has a reference range for
Tap any row to open it. Services that already have a price open to their details page; services that still need a price take you straight to the edit form with the price field ready for you to type (see [Pricing your services](#pricing-your-services) below).
If you haven't created any services yet, you'll see an empty state with a button to add your first service.
## Pricing your services
A starting price makes a template ready to drop straight into a quote or job. The My services page makes it easy to spot and fix any that are still missing one.
* Services with a price show a dark badge with the amount — **\$50 / visit** on recurring work, or just the amount on a one-time service.
* Services without a price show no badge. Where ProBase has a reference range for that kind of work, the row shows it instead — *Most pros charge $45–$55 per visit for a small lot.* — so you have a starting point rather than a blank.
When one or more services still need a price, a reminder banner appears at the top of the list — for example, *"2 of 3 services need a price. Tap any service to set yours."*
Tap any unpriced service and ProBase takes you straight to its edit form with the price field already selected, so you can type the amount and save without hunting for the field.
As you price your services, the banner counts down — *"1 of 3 services still needs a price"* — and disappears once every service has a price.
You can dismiss the reminder banner with the **×** button if you'd rather price your services later — it won't get in your way. You can still price any service at any time by tapping it.
## Searching your catalog
If you have many services, use the search bar at the top to filter by name or description. Before you type, the list shows every service in your catalog.
As you type, the list updates automatically to show only matching services. For example, searching for **Pool** narrows the list to your pool-related services and hides everything else.
Clear the search box to bring back the full list, or type a different term to filter again — searching for **Hedge** shows just your hedge service.
## Filtering by trade
If trades (industries) are enabled for your account, each service shows a small colored **trade chip**, and a row of **filter chips** above the list lets you narrow the catalog to a single trade with one tap. Each chip shows how many services it covers.
Tap a chip to show only that trade's services. To go back to the full catalog, tap the **All** chip — it highlights and the catalog shows every service again. See [Industries (trades)](/getting-started/industries) for the full feature.
## Browse services to add
Rather than typing every service from scratch, you can pick from a ready-made gallery of common services for your trade. Scroll to the bottom of **My services** and you'll see a **Browse services** button with a count of what's left — for example *15 more lawn services ready to add*.
The gallery is available for **lawn** work today. If your business doesn't do lawn work, the **Browse services** button doesn't appear and you add services with **Add service** instead.
Tap **Browse services**. The gallery lists every service for your trade that isn't already in your catalog, each with a plain-language description, how often the work usually happens, and a price range to guide you — for example, *Aeration — Perforate soil to improve air, water, and nutrient flow · One-time. Most pros charge $230–$300.*
Use the search box at the top to find a service by name, or tap **Back** (or **Done**) to return to My services.
Tap a service to open the **Add your service** form with the name, description, frequency, billing, and time on site already filled in from the gallery. Everything is editable — change any of it to match how you actually work.
The price is deliberately left for you, with the reference range shown under the field so you have a starting point.
Tap **Save**. ProBase confirms *Service created successfully* and opens the new template's page. It's now part of your catalog, it drops out of the gallery, and the remaining count on My services goes down by one.
Once you've added everything the gallery offers, the button is replaced by a confirmation — *You've added every lawn service — there's nothing new to browse* — and opening the gallery shows a **You've added everything** message with a link back to My services. Archiving a service doesn't put it back in the gallery, so a service you removed on purpose won't keep resurfacing.
## Creating a new service template
Go to **Services** in the sidebar (under Business), then click **Add service** in the page header (or in the empty-state card if your catalog is empty).
The form is headed **Add your service**, with a reminder of what you're building: *This is a template — set it up once and it fills in every quote, job, and invoice for this service.*
Fill in the service details:
* **Service name** (required) - What you call this service (e.g., "Weekly Pool Cleaning")
* **Description** (optional) - What's included in this service
Once your business has declared at least one trade, an **Industry** field appears just below the service name. Tagging a service with a trade — chosen from the trades your business has set up — organizes your catalog, and a **Pool** tag also unlocks chemical-reading fields at job completion. ProBase even suggests a matching trade as you type the service name. It's optional, and the field stays hidden until you've set up a trade. See [Industries (trades)](/getting-started/industries) for details.
Below the description, the **Type** field sets what kind of template you're creating:
* **Job** - Confirmed service work ready to schedule and perform
* **Assessment** - On-site evaluation visit that leads to a quote
Jobs are for confirmed work that's ready to schedule immediately. Assessments are for situations where you need to visit the property before providing firm pricing.
**Jobs vs Assessments:** Create "Job" templates for standard services you'll book directly. Create "Assessment" templates for initial visits where you need to see the property before providing firm pricing (like large projects, custom work, or new customer evaluations).
**Job frequency** is how often the work happens. Pick from:
* **One-time Appointment** - Service happens once (spring cleanup, installation projects)
* **Weekly Service Appointments** - every 7 days
* **Bi-weekly Service Appointments** - every 14 days
* **Monthly Service Appointments** - every 28 days
* **Every 2 months Service Appointments** - every 56 days
* **Quarterly Service Appointments** - every 90 days
* **Every 6 months Service Appointments** - every 182 days
* **Custom** - any other cadence you work on
Picking **Custom** reveals a **Days between visits** box, starting out on the cadence the template is currently set to. Type the number of days between visits — anything from 1 to 365 — and a line underneath confirms the cadence in plain language, for example *Every 10 days*.
A custom cadence behaves exactly like a preset everywhere else. The template's **How often** row reads **Every 10 days**, and *Where this template shows up* says *Jobs — schedules a visit every 10 days*.
Re-open a template that's on a custom cadence and the frequency picker comes back as **Custom** with your day count already in the box — it never rounds to the nearest preset.
**Billing type** sets how the customer pays:
* **Per service** - the customer is billed each time an appointment is completed. Best for one-time jobs and pay-per-visit work (spring cleanup, mulch installation, individual mowings).
* **Subscription** - the customer pays a flat rate on a recurring schedule. Choosing this reveals a **Billing interval** field — **Weekly Charges**, **Monthly Charges**, **Quarterly Charges**, **Semi-annual Charges**, or **Annual Charges**. Best for flat-rate plans (a monthly lawn care plan, an annual pool maintenance contract).
Job frequency and billing interval are separate. A customer might get weekly service but pay monthly — that's **Weekly Service Appointments** with a **Subscription** billing type on a **Monthly Charges** interval.
This is your default billing setup. You can customize pricing and billing details for each individual customer when you create their service.
* **Time on site** - your estimate in minutes, used to block out time on the schedule
* **Starting price** - optional. Leave it blank if you price this work on each quote; where ProBase has a reference range for that kind of service, a line of guidance sits under the field — for example *Most pros charge $45–$55 per visit for a small lot.*
Click **Save** to add it to your catalog. You'll be taken to the details page where you can view the service or make further edits.
## Viewing service template details
Tap any service in your catalog to open its details page. Under the service name is a reminder of what you're looking at — *This is a template. Use it in a quote or job, and it fills in the name, schedule, and billing for you.* — and an **Edit** button sits in the header.
The page is laid out in four parts:
* **Schedule & billing** — the settings you actually tweak, as rows: **How often**, **Time on site**, **Billing**, and **Type** (Job or Assessment, with a one-line explanation). Tap any row except Type to jump straight to the edit form — the header notes *Tap a row to change it*
* **Price** — marked **Optional**. See [The Price section](#the-price-section) below
* **Where this template shows up** — three lines spelling out what the template does for you: *Quotes & proposals — one tap to add this line*, *Jobs — schedules the weekly visit* (worded to match this template's frequency), and *Billing — charged per visit* (or *recurring monthly charge* on a subscription)
* **Description** — your own description, when you've written one
A template that your business has used more than any other in the last 30 days also wears a **Most used** badge next to the name.
For subscription templates, the **Billing** row reads **Subscription** with the interval alongside it — for example *Subscription · monthly*:
### The Price section
A starting price is optional, and the **Price** section says so:
* **With a price** — the amount is shown with *Used as the starting price on quotes and jobs*, and a **Change default** button opens the edit form.
* **Without a price** — the section reads **You price this on each quote** with an **Add default** button.
Either way, where ProBase has a reference range for that kind of work, the *Most pros charge …* guidance sits underneath — so you can sanity-check the price you've set, or use it as a starting point if you haven't set one.
Tapping **Add default** (or **Change default**) opens the edit form scrolled to the **Starting price** field with your cursor already in it, so you can type the amount and save.
Job and Assessment templates display their type clearly:
## Editing a service template
To update a service template:
1. Go to **Services** in the sidebar (under Business)
2. Click on the service to view its details
3. Click **Edit** to open the edit form
4. Make your changes
5. Click **Save** to update the template
You can also open the edit form straight from a row on the details page — tap **How often**, **Time on site**, or **Billing** under **Schedule & billing**, or **Add default** / **Change default** under **Price**.
Common edits include:
* **Updating prices** - Adjust your pricing based on market conditions
* **Improving descriptions** - Add more details about what's included
* **Changing billing types** - Switch between per-service and subscription billing
* **Updating duration estimates** - Fine-tune scheduling times
Where ProBase has a reference range for that kind of work, the *Most pros charge …* guidance sits under the **Starting price** field on the edit form, so you have a benchmark in front of you while you set the amount.
Changes to service templates only affect new customer services created after the change. Existing customer services keep their original settings. To update existing customers, you need to edit their services individually.
## Archiving a service template
If you no longer offer a service, you can archive it to remove it from the catalog. Archiving lives on the Edit screen so destructive actions stay alongside other modifications to the template.
1. Go to **Services** in the sidebar (under Business)
2. Click on the service to view its details
3. Click **Edit** to open the edit form
4. Scroll down past the form and click **Archive Service**
5. Confirm the action in the modal — a subheading reminds you that archived services will no longer appear in your services
After archiving:
* The service is removed from your catalog list
* It no longer appears when creating new customer services
* Existing customer services using this template are not affected
## Using templates when creating customer services
When you create a new job — or a new [quote](/customers/creating-quotes) — for a customer through the Quick Actions menu or directly on a property, the wizard asks you to start from one of your saved services:
1. In the [job wizard](/getting-started/creating-jobs#how-to-create-a-job), the **What are you doing?** step lists your catalog one service per row, with a **Search services...** box at the top. In the [quote builder](/customers/creating-quotes#start-from-one-of-your-services), the same choice appears as **Start from one of your services** — your most-used service as a card, with a **Pick another service from your catalog** row underneath (*All 8 of your saved services.*) to reveal the rest.
2. Either way, the service you've picked most in the last 30 days sits at the top badged **Most used** — in the quote builder it's already selected when the step opens.
3. Picking a service fills in:
* Service name and description
* Price (if you set a starting price on the template)
* Billing type and interval
* Service frequency
* Industry (the trade the template belongs to)
4. You can still change any of those fields before you save — the wizard groups the ones worth double-checking in a **Confirm for this job** section, with the price front and center.
5. Or pick **Custom service** — *Type the details yourself — nothing saved to your catalog* — to start from scratch. Nothing you type there is added to your catalog.
The wizard you use decides what gets created, not the template you pick: the job wizard always creates a Job, and the quote wizard creates a Quote or an Assessment depending on the intent you chose on its first step. See [Creating jobs](/getting-started/creating-jobs) and [Creating quotes and assessments](/customers/creating-quotes).
This makes customer setup much faster while maintaining consistency across your business.
## Working with assessments
When a customer needs an on-site look before you can price the work:
1. Start an assessment — tap **Add** on the **Assessments** screen, or **New Assessment** in the Quick Actions **+** menu
2. Pick the customer and property, then either ask the customer for photos or book an on-site visit
3. After the visit, tap **Complete visit**, write your private notes, and choose **Complete and create quote** to open a draft quote right away (or **Complete — quote later** to price it another time)
4. Build the quote — your notes, the customer's words, and any photos ride along under **Context from Assessment** — then send it to the customer
5. When the customer accepts, the quote automatically creates an active job and schedules the first appointment
This workflow helps you assess work before providing firm pricing. See [Working assessments](/customers/assessments) for the full lead-to-quote workflow, and [Managing quotes](/customers/managing-quotes) for the quote side.
Assessments are for on-site evaluation visits that lead to quotes. For confirmed work that doesn't need assessment, create a Job directly using the Quick Actions menu.
## Adding checklists to a service
You can attach a **checklist** to a service so your crew captures the same details — chemistry readings, completed tasks, photos, a customer sign-off — on every job for that service. Open a service and scroll to the **Checklists** section, then tap the add button to pick a checklist from your library.
See [Attaching checklists to services](/checklists/building-checklists#attaching-checklists-to-services) for the full flow, and [Checklists overview](/checklists/overview) to learn what checklists can do.
## Common service catalog examples
### Lawn Care
* Weekly Lawn Mowing (Per Service, Weekly)
* Bi-weekly Maintenance (Per Service, Bi-weekly)
* Monthly Lawn Care Plan (Subscription Monthly, Weekly service)
* Spring Cleanup (Per Service, One-time)
* Fall Cleanup (Per Service, One-time)
* Mulch Installation (Per Service, One-time)
### Pool Cleaning
* Weekly Pool Cleaning (Per Service, Weekly)
* Monthly Pool Care Plan (Subscription Monthly, Weekly service)
* Filter Cleaning (Per Service, One-time)
* Green Pool Recovery (Per Service, One-time)
* Pool Opening/Closing (Per Service, One-time)
## Tips for organizing your catalog
* **Use clear, descriptive names** - "Weekly Lawn Mowing" is better than "Mowing"
* **Write detailed descriptions** - Include what's included and what's not
* **Set realistic duration estimates** - Helps with route planning and scheduling
* **Archive unused services** - Keep your catalog clean and focused on current offerings
* **Search frequently** - Use the search bar to quickly find the right template
## Next steps
* [Create a job](/getting-started/creating-jobs) using your service templates
* [Understand billing types](/billing/one-time-vs-subscription) to choose the right option
* [Add your first customer](/getting-started/your-first-customer) and assign services
# Business Profile
Source: https://docs.probaseapp.com/getting-started/settings
Configure your business profile, timezone, and scheduling preferences
## Overview
The **Business Profile** page lets you update your business information and control how scheduling works for your team. Go to **Settings** in the sidebar under Business to access it.
## Bulk data
At the very top of the page, a **Bulk data** card offers to bring your existing customer list into ProBase — *upload a spreadsheet, CSV, or a photo of a list and we'll turn it into customer records.* Tap **Import customers** to open the import wizard. See [Importing customers in bulk](/customers/importing-customers).
This card only appears if bulk import is switched on for your account and your [role](/team/roles-and-permissions) allows importing.
## Business Profile
The Business Profile section lets you set up the contact details and logo that appear on your invoices and customer-facing communications.
### Business logo
Upload your business logo to have it displayed on every invoice you send. Customers will see it in the header of their invoice alongside your business name and contact details.
Click the file picker under **Business logo** and select an image. Accepted formats: PNG, JPG, or SVG.
A preview of your selected image will appear immediately.
Click **Save** to upload and apply your logo.
Your logo will now appear on all invoices in the business header.
**If the upload fails:** If the file you picked can't be read as an image — for example, a corrupted file or a non-image file with a renamed extension — you'll see an inline error under the file picker asking you to upload a PNG, JPEG, or SVG. Pick a different file and click **Save** again.
#### Removing your logo
If you want to remove your logo:
1. Click the **Remove** button next to the current logo preview
2. Confirm when prompted — the logo is removed immediately
### Other fields
* **Business name** — Your company name as it appears on invoices
* **Business address** — Your primary business address. Start typing and address suggestions will appear — select one to fill in the full address. This address also decides which addresses come up first everywhere else you type one, so suggestions favor your own service area. See [Address suggestions as you type](/customers/properties-and-addresses#address-suggestions-as-you-type).
* **Phone** — Your business phone number, shown on invoices and customer-facing pages.
* **Email** — Your business email address, shown on invoices
* **Website** — Your website URL, shown on invoices
After making changes, click **Save** to apply them.
#### Entering your website
You can type your website with or without the `https://` prefix — both work. If you enter a bare domain like `mycompany.com`, ProBase saves it as `https://mycompany.com` automatically.
After saving, the value is normalized and ready to use on invoices and customer-facing pages.
## Manage Industries
If trades (industries) are enabled for your account, the Business Profile section also includes a **Manage Industries** card where you can add or remove the trades you do. The **Add a trade** picker offers ProBase's full catalog of trades — Pool, Lawn, Pest Control, Pressure Washing, HVAC, and many more.
* **Add a trade** to tag services with it and get trade-specific fields at job completion. Adding a trade changes nothing on its own — no existing services or jobs are affected until you tag a service.
* **Remove a trade** (trash icon) to stop offering it. ProBase confirms first and lists exactly which services will be archived.
Removing a trade **archives every service tagged with it**. Archived services are kept — not deleted — and are restored automatically if you add the trade back later.
For the complete walkthrough, see [Industries (trades)](/getting-started/industries).
## Contact Form
The **Contact Form** section lets you turn on a branded web form that captures new leads. Share its link or QR code anywhere, and every submission lands in ProBase as a new lead.
From here you can enable the form, choose its web address, and copy or download its shareable link and QR code. For the full walkthrough — including what your customers see and how submissions become leads — see [Your contact form](/customers/contact-form).
## Invoice Settings
An **Invoice Settings** section controls what an invoice looks like to your customer. It sets when an unpaid invoice starts counting as overdue — **Upon receipt**, **Net 7**, **Net 15**, **Net 30**, or **Custom** for your own number of days (1–180) — and holds three more switches: whether customers see the due date and past-due wording, whether they must rate your service before paying, and how they're asked for a tip. Everything saves together with one **Save** button. The same section appears on the **Payments** page.
See [Payment terms and due dates](/billing/payment-terms), [Service ratings](/billing/service-ratings), and [Tips and gratuity](/billing/tips).
## Quote terms
A **Quote terms** section holds the terms and conditions attached to every new quote you write, so you only type them once. Edit the **Terms** box and tap **Save** — a **Quote terms saved.** message confirms it.
Saving affects **future quotes only**. Quotes you've already created keep the terms they were made with, so changing your wording never rewrites a quote a customer has already seen.
ProBase starts you off with sample wording as a convenience. It's a starting point, not legal advice — have a professional review your terms before you rely on them.
This section is only shown to team members whose role lets them change billing defaults. See [Creating quotes](/customers/creating-quotes) for how terms appear on an individual quote.
## Scheduling
The **Scheduling** section controls your timezone, when visits show as overdue, and route optimization behavior for your team.
### Timezone
Set your team's timezone so that appointment times, calendar views, and scheduling all display correctly for your location.
1. Click the **Timezone** dropdown
2. Select your timezone from the list (grouped by common and regional options)
3. Your selection is saved automatically
Setting the correct timezone is important — appointment times are stored in UTC and displayed based on your team's timezone. An incorrect timezone will cause appointment times to appear shifted on your calendar.
### Mark visits Overdue at
Choose the time of day when a visit that's still **scheduled** on its date starts showing as **Overdue**. The default is **9:00 PM**. You can pick any hour from **12:00 PM** (noon) to **11:00 PM**, or **Midnight** — the end of the visit's day, for crews that regularly work late. The line under the dropdown sums it up: *"A visit still scheduled at this time on its date shows as Overdue everywhere. Midnight means the end of the visit's day."*
Anyone on your team who can change the **Timezone** can change this setting too.
1. Click the **Mark visits Overdue at** dropdown, just below **Timezone**
2. Pick a time
3. Your selection saves right away, and a message confirms it — for example, *"Visits now show as Overdue at Midnight."*
The time you pick applies everywhere at once — the badge on a card, the pill on the visit page, and the **Overdue Jobs** count on HomeBase. See [Overdue jobs](/scheduling/overdue-jobs).
The time uses your business's timezone. With **Midnight**, a visit booked for today reads **Today** all day and only turns overdue once the day is over.
### Drive time buffer
Real driving takes longer than the map says — traffic, parking, a gate to get through. The buffer pads every drive time ProBase plans with, so the schedule it builds is the one your crews can actually keep.
Three choices: **None**, **Add 25%**, **Add 50%**. *"Pads estimated drive times to account for traffic or delays. (e.g., a 20-min drive is scheduled as 25 mins)."*
Changing it asks you to confirm, because it changes every time ProBase suggests from here on:
> **Change the drive time buffer to Add 25%?**
> This changes the times ProBase suggests from now on. It won't move anything already booked.
**Change buffer** saves it; **Cancel** puts the pills back on the value you had.
The padded figure is the one you see everywhere — the drive badges in [Reorder stops](/routes/reordering-routes), the savings in an [optimize preview](/routes/optimizing-routes), the "+10m drive time" beside each crew when you assign one. Nothing pads it twice.
Nothing already on the calendar moves when you change the buffer. Only times ProBase works out from that point on use the new value.
### Optimize my routes automatically
When this is on, ProBase reorders a crew's day in the background as jobs are added or updated — *"Automatically reorders stops when jobs are added or updated to minimize drive time. Pinned stops will not be moved."*
On a team with more than one crew there's a second line: *"Multi-crew schedules may reassign jobs between crews to build the most efficient routes."* If you'd rather decide who does what yourself, leave this off and use [Rebalance this day](/routes/rebalancing-the-day) when you want it.
You're always told afterwards. The next time you open a day ProBase reordered, a message says what it did — *"ProBase reordered this day — 22 min saved."* — with **Undo** beside it. See [Background auto-optimization](/routes/optimizing-routes#background-auto-optimization).
Automatic optimization needs the crew to have a start address saved and properties with addresses ProBase can find. See [Adding crews](/getting-started/adding-crews).
### Show upcoming visits on customer pages
Controls whether your customers can see their scheduled visit dates in the [customer portal](/customers/customer-portal) — *"Displays scheduled visit dates to customers in their portal. Arrival times remain hidden."* On by default. Arrival times are never shown either way.
The **Drive time buffer**, **Optimize my routes automatically** and **Show upcoming visits** rows only appear to roles allowed to manage route settings. If your role can only edit the business profile, you'll see the **Timezone** and **Mark visits Overdue at** rows alone.
For more on the optimization options themselves, see [Route optimization](/routes/optimizing-routes).
## My Profile
Your **Business Profile** settings cover the whole company. Your own personal details live on a separate page: open the navigation drawer and tap **My Profile** in the footer at the bottom.
Everything on My Profile is yours alone. Changing your name or photo here doesn't change your business name or logo, and it doesn't affect anyone else on your [team](/team/team-roster).
### Profile Information
The **Profile Information** section holds your photo, your name, and your email address.
The round avatar at the top of the section is the picker — tap it (or drag an image onto it) and choose a photo from your phone or computer. Accepted formats: JPG, PNG, WEBP, and AVIF, up to 1 MB.
Your photo replaces the placeholder icon straight away so you can see how it will look before you commit to it.
Tap **Save**. A **Saved.** confirmation appears next to the button and your photo starts showing next to your name at the top of the navigation drawer.
**A picture straight off your phone usually won't do here.** Unlike the photos you add to a visit or a note, the profile picture is deliberately small and takes only JPG, PNG, WEBP, and AVIF files up to 1 MB. Two things get refused when you tap **Save**:
* **An iPhone photo in HEIC format** — the circle shows no preview at all after you pick it, and saving reports that the file must be one of the accepted types
* **A full-size camera shot** — it previews in the circle, so it looks like it worked, but saving reports that the photo must not be greater than 1024 kilobytes
Either way nothing is saved and your old picture stays. Send yourself a screenshot of the photo instead (a screenshot is a small JPG or PNG), or use your phone's editing tools to shrink it before picking it.
The same section holds your **Name** and **Email** — both required. Your name is what teammates see on the [team roster](/team/team-roster), and your email is what you log in with.
Inside the [demo account](/getting-started/exploring-a-demo) the **Email** field is read-only, with a line below it explaining that it can't be changed there. Your photo, name, and password are still editable in the demo — though like everything else there, those edits are wiped overnight.
### Password and security
Below Profile Information are the security sections:
* **Update Password** — enter your current password, then your new one twice. ProBase asks for a reasonably strong password and confirms when it's changed.
* **Two Factor Authentication** — add a second step at login using an authenticator app on your phone. Tap **Enable**, confirm your password, scan the QR code with your authenticator app, then type the six-digit code it shows to finish switching it on. ProBase also gives you **recovery codes** — store them somewhere safe, as they're the way back in if you lose your phone. Once it's on, you can **Show Recovery Codes**, **Regenerate Recovery Codes**, or **Disable** it (each asks for your password first).
* **Browser Sessions** — shows where you're currently signed in. Tap **Log Out Other Browser Sessions** and enter your password to sign out everywhere except the device you're on. Useful if you've logged in on a shared or lost device.
* **Delete Account** — permanently deletes your user account and its data. This can't be undone.
Deleting your account is permanent — there's no way to recover the data afterwards. If you only want to step away from a business, ask an owner to remove you from the [team roster](/team/team-roster) instead.
The delete-account option is hidden inside the demo account, so the sample world stays available for your next visit.
### Maps app preference
My Profile is also where you choose whether **Get directions** links open Google Maps or Apple Maps. See [Choosing your maps app](/getting-started/maps-preference).
## Notification Preferences
Your personal notification preferences also live on the **My Profile** page described above.
### SMS notifications
The **Notification Preferences** section lets you turn SMS notifications on or off. When enabled, you'll receive transactional and marketing text messages from ProBase, including account updates, service notifications, and promotional offers.
Toggle **SMS notifications** to enable or disable text messages at any time. Your preference is saved automatically and a **Notification preferences updated** confirmation appears — there's no separate Save button.
Most new accounts are opted in to SMS notifications when they finish the business step of onboarding. If you signed up through a ProBase pro link, this toggle starts **on** only if you ticked the **marketing** text messages box during onboarding — ticking only the transactional box leaves it off. Either way, this toggle is where you change it. See [Text message notifications](/getting-started/text-message-notifications) for the full picture.
### Push notifications
Once [updates](/getting-started/updates) are switched on for your account, a second toggle appears in the same section: **Push notifications** — *"Get updates as push notifications on this device."*
This one is **per device**. Turning it on for your phone doesn't turn it on for your tablet, and the toggle always shows the state of whichever device you're looking at.
* **Switching it on** asks your phone for permission, the same as tapping **Enable notifications** elsewhere in the app. Once you tap **Allow**, the toggle settles into the on position.
* **Switching it off** stops alerts reaching this device. Your other devices keep theirs.
* If you've previously blocked notifications for ProBase, the toggle can't turn itself on — a line appears underneath: *"Notifications are blocked for ProBase in your browser settings — allow them there first."* Change it in your phone's Settings app, then come back.
* On a device that can't receive push notifications at all — a plain browser tab rather than the installed app — the toggle is greyed out.
See [Push notifications](/getting-started/push-notifications) for the full walkthrough, including installing the app first.
## Next steps
* [Add your crews](/getting-started/adding-crews) and set their start locations for route optimization
* [Route optimization](/routes/optimizing-routes) — learn about on-demand and automatic route optimization
# Text message notifications
Source: https://docs.probaseapp.com/getting-started/text-message-notifications
Choose which text messages ProBase sends you and change your preference at any time
## Why this matters
ProBase can text you about your business — a customer paid an invoice, a quote was accepted, something needs your attention — as well as send occasional product news. This page explains how you opt in, what each kind of message covers, and how to change your mind later.
Text messages are separate from the alerts that pop up on your phone's lock screen. Those are [push notifications](/getting-started/push-notifications), and they have their own switch on each phone. Changing one doesn't change the other.
## The two kinds of text messages
* **Transactional messages** — account updates, customer care messages, and service notifications. These are the day-to-day texts about your business.
* **Marketing messages** — promotional offers and product news from ProBase.
**Consent is never a condition of service.** You can use every part of ProBase without agreeing to receive text messages, and you can turn texts off at any time.
Standard message and data rates may apply, and message frequency varies. Reply **HELP** for help or **STOP** to unsubscribe from any ProBase text.
## Opting in during signup
How you're asked depends on which signup page you used.
### Standard signup
If you created your account from the normal signup page, **Step 1 of 2 — Set up your account** shows a short disclosure below the form. It explains that by submitting your contact information you agree that ProBase or its representatives may contact you by email, phone, or SMS, including for marketing purposes and by automatic dialing systems, and that consent is not a condition of service.
Your **Phone number** is required on this version of the form, and tapping **Continue** opts you in to text messages automatically.
You can turn texts off straight away from your Profile page — see [Changing your preference later](#changing-your-preference-later).
### Pro signup link
If you created your account through a ProBase pro signup link (the signup page at **/register-pro**), the signup screen itself looks the same — email, password, and **Create my free account**, plus **Sign up with Google** when it's available — but the onboarding step that follows asks for your consent **explicitly** instead of assuming it.
This applies however you signed up from that page — with an email and password, or with **Sign up with Google**. Both routes lead to the same explicit-consent version of the onboarding step.
On **Step 1 of 2 — Set up your account** you'll see two separate checkboxes, both **unchecked** by default:
* *"Yes, I want to receive marketing text messages from ProBase at the number provided, including promotional offers and product news."*
* *"Yes, I want to receive transactional text messages from ProBase at the number provided, including account updates, customer care messages, and service notifications."*
Below them is the full disclaimer, with links to the **Privacy Policy** and **Terms of Service**.
On this version of the form your **Phone number** is **optional** — there's no red asterisk next to it. If you don't want texts, leave the phone blank, leave both boxes unchecked, and tap **Continue**.
To opt in, enter your phone number and tick whichever boxes you want. You can tick one, the other, or both — they're independent.
Nothing is recorded if you leave both boxes unchecked — you simply won't receive text messages, and you can opt in later from your Profile page.
**A checked box needs a phone number.** If you tick either box while the phone field is empty (or the number is incomplete), tapping **Continue** won't submit. An inline message appears under the checkboxes: *"Enter a phone number to receive text messages, or uncheck the box above."* Either fill in your number or untick the box — the message disappears as soon as no box is checked.
If you leave onboarding and come back later, your consent choices are remembered and the boxes come back pre-ticked exactly as you left them.
## Changing your preference later
Whichever way you signed up, you can change your mind at any time.
Open the navigation drawer and select **My Profile** in the footer at the bottom.
Scroll to the **Notification Preferences** card. It's headed *"Manage how you receive notifications from ProBase."*
Tick or untick **SMS notifications**, described as *"Receive transactional and marketing text messages, including account updates, service notifications, and promotional offers."* Your preference saves automatically and a **Notification preferences updated** toast appears — there's no separate Save button.
**Where the toggle starts.** If you went through the standard signup, it's already on. If you used a pro signup link, it starts on only when you ticked the **marketing** box during onboarding — ticking just the transactional box records your choice but leaves this toggle off. Turn it on here whenever you want.
## Related pages
* [Push notifications](/getting-started/push-notifications) — the separate phone alerts
* [Updates](/getting-started/updates) — the in-app feed behind the bell
* [Creating your account](/getting-started/creating-your-account) — the full signup walkthrough
* [Getting started with onboarding](/getting-started/onboarding) — every onboarding step in detail
* [Business Profile](/getting-started/settings#notification-preferences) — the rest of your profile and business settings
# Updates
Source: https://docs.probaseapp.com/getting-started/updates
The bell, the Updates drawer, and how ProBase tells you something needs your attention
## What updates are
An **update** is a short, in-app message telling you something happened in your business that may need you — a new contact came in through your form, a customer's card payment went through, or Stripe paused your payouts, for example. Updates collect in one place behind the **bell**, so you can see what's new without hunting through screens or scrolling back through your email.
Each update is one line you can tap. Tapping it takes you straight to the screen where you'd act on it — the new lead's customer page, for instance — rather than making you go and find it.
**Updates are being switched on gradually.** The bell only appears once the feature is enabled for your account, and more kinds of updates are being added over time. If you don't see a bell yet, nothing is wrong — it hasn't reached your account.
## Where the bell lives
**On your phone**, the bell sits in the app bar at the top of every screen, at the far right edge with the chat (support) icon just inside it. When you have unread updates, a small gold badge sits on the corner of the bell with the count in it. More than nine and it reads **9+**. With nothing unread, there's no badge at all.
**On a computer**, there's no top bar, so the bell is an **Updates** item in the [navigation drawer](/getting-started/navigation), pinned in the footer just above **My Profile**. The unread count rides on the right-hand side of the row as the same gold pill.
Either way, tapping it opens the same Updates drawer.
The count refreshes on its own while you're using ProBase, so you don't have to reload the page to see something new land. It keeps checking even when ProBase is sitting in a background tab — so if you read something on your phone, the badge on your laptop clears itself without you touching it.
## The Updates drawer
Tapping the bell slides the **Updates** panel out from the right-hand side of the screen. It opens the moment you tap — grey placeholder lines fill it for the instant it takes your updates to load, then the real rows replace them. Tap the **✕** in its top corner, or the dimmed page behind it, to close it again.
Inside, updates are grouped into two sections, newest first:
* **New** — updates you haven't read yet. These rows are tinted, their titles are bold, and each carries a small gold dot on the right.
* **Earlier** — updates you've already read. Plain rows, no dot.
Every row shows an icon for the kind of event, a title, a one-line summary, and how long ago it happened ("just now", "2 hours ago").
If a section has more than twenty updates, a **Show more** button appears at the bottom of it — tap it to load the next batch.
The list shows updates for the business you're currently working in. If you belong to more than one business in ProBase, switch companies to see that business's updates — the badge on the bell counts everything unread across all of them, so it can read higher than the list you're looking at.
### Mark all as read
Come back from a week away and **New** can be long. Rather than opening every row to clear it, tap **Mark all as read** — the small link beside the **New** heading.
One tap and every unread update moves down into **Earlier**, the gold dots go, and the badge on the bell clears. Nothing is deleted — the updates are all still there to read, and every link still works.
There's no confirmation step and no undo, so use it when you've genuinely decided the list doesn't need you. The link only appears while there's something unread to clear — an empty drawer, or one with nothing but **Earlier** in it, doesn't show it.
It clears the business you're currently working in. If you belong to more than one business, the others keep their unread updates — and their share of the bell's count.
### When there's nothing to show
If you have no updates at all, the drawer says **You're all caught up**, with a line explaining what will land there in future: *"When something needs you — an accepted quote, new photos, a new contact — it lands here."*
## Updates on HomeBase
You don't have to open the bell to see what's waiting. [HomeBase](/getting-started/homebase#updates) carries an **Updates** section of its own, below **Action needed**, showing your unread updates on the page you land on after logging in.
* The gold **N new** chip beside the heading counts everything unread.
* Up to **three** rows are shown, newest first — the glance version, not the whole feed.
* **View all** opens the drawer described above, where the rest of them (and everything you've already read) live.
* Tapping a row works exactly like tapping it in the drawer: you land on the screen it points to, and the update is marked read.
The HomeBase section is **unread only**, so it empties out as you work and disappears entirely once nothing is unread — there's no empty state there. The drawer is the place to look back at things you've already read.
## How updates get marked read
**Opening the drawer doesn't mark anything read.** You can look at the list, decide none of it is urgent, and close it again — the badge keeps its count.
An update is marked read when you actually **arrive at the screen it points to**. Tap a **New contact** row, land on that customer's page, and that update quietly moves to **Earlier**, the badge ticks down, and the row drops out of the HomeBase section. Getting to the same screen another way counts too — if you happened to open that customer from your customer list, the update is marked read just the same.
This is deliberate. The badge tracks work you haven't looked at yet, not notifications you haven't glanced at — so it clears itself as you actually work through things.
The one exception is [**Mark all as read**](#mark-all-as-read) in the drawer, which clears the whole **New** section in a tap without going anywhere.
## Push notifications for updates
Updates can also arrive as alerts on your phone's lock screen. That's a separate switch, granted per device:
* Open the drawer with notifications not yet decided on this device and a small **Never miss an update** panel appears at the top with an **Enable** button. Tapping it asks your phone for permission.
* You can also turn it on — or back off — from **Notification Preferences** on your profile. See [Push notifications](/getting-started/push-notifications).
Tapping a push notification opens ProBase straight at the update's destination, the same as tapping the row in the drawer.
Push notifications need ProBase installed on your home screen. See [Push notifications](/getting-started/push-notifications) for the full setup.
## What sends an update today
### Leads
* **New contact** — someone new submitted your [contact form](/customers/contact-form). Links to the new lead's customer page. You still get the email as well.
* **New request** — the same thing from a phone number you already had on file. ProBase attaches the request to that customer rather than making a second record of them, so the update says *request* instead of *contact* and links to their existing page.
Either one goes to everyone whose [role](/team/roles-and-permissions) lets them see customers and leads.
### Marketplace work
* **New LawnStarter Customer!** — a customer arrived from a connected [marketplace account](/marketplace/connecting-accounts), usually because you claimed one of their jobs in the marketplace app. The line underneath names them — *Dana Whitfield was added to your customers from LawnStarter* — and tapping it opens their customer page, where their property, service, and visits are already waiting.
The update names whichever marketplace it came from (LawnStarter, Lawn Love, or Home Gnome), and goes to everyone whose role lets them see customers.
**Connecting a marketplace account for the first time doesn't fill your feed.** That first import brings your whole existing book across at once, and ProBase stays quiet through it. Updates start with the next genuinely new customer. See [New customers arrive on their own](/marketplace/how-syncing-works#new-customers-arrive-on-their-own).
### Customer ratings
* **\[First name] rated your service N stars.** — a customer submitted a rating, either on the visit's [service report](/customers/service-reports) or on the **"How was your service?"** screen before paying an invoice. Their comment, if they left one, is the line underneath, and tapping the update opens the visit they rated.
This one goes to everyone whose [role](/team/roles-and-permissions) lets them see reviews. A visit is only rated once, so you'll only ever get one of these per visit — and it arrives complete, stars and words together, the moment the customer taps **Submit**.
### Money
These land when something happens to a payment while you're out working. They go to everyone whose role includes the **Money** permissions, and tapping one opens the customer it concerns — or the Money page, if ProBase can't tie it to a single customer.
| Update | When it happens | What to do |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Payment received** | A customer's card payment went through — whether they paid from a [payment link](/billing/sending-payment-links), it was charged automatically, or you took the payment yourself | Nothing. It's your confirmation the money is on its way |
| **Payment failed** | A card payment was declined | Open the customer and ask them to pay again, or with a different card — see [Tracking payments](/billing/tracking-payments) |
| **Card on file removed** | The saved card ProBase would have charged automatically is gone | Ask the customer to enter a card the next time they pay |
| **Payment disputed** | A customer disputed a charge with their bank | Respond in your Stripe Dashboard before the deadline it shows |
| **Dispute won** / **Dispute lost** | Stripe closed a dispute one way or the other | Nothing — it's the outcome, for your records |
A dispute has a deadline set by the customer's bank, and ProBase can't respond to it for you. Open your [Stripe Dashboard](https://dashboard.stripe.com) as soon as a **Payment disputed** update lands.
### Payment processing
These are about the health of your [Stripe connection](/billing/stripe-setup) — the kind of thing you'd otherwise only notice the next time you opened the Payments page. They go to everyone whose role lets them see payment settings, and each one links straight to **Payments**.
| Update | When it happens | What to do |
| ------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Stripe payments are live** | Your Stripe setup finished, and both card payments and payouts are switched on | Nothing — you're ready to get paid |
| **Stripe needs your attention** | Stripe paused payments and is asking for more information | Open **Payments** and work through the **Stripe still needs:** list — see [Restricted](/billing/stripe-setup#restricted) |
| **Payouts paused** | You can still take card payments, but Stripe has stopped sending money to your bank | Finish the verification Stripe is asking for — see [Limited](/billing/stripe-setup#limited) |
| **Stripe disconnected** | The link between ProBase and your Stripe account was cut, so customers can't pay online | Reconnect from **Payments** — see [Disconnected](/billing/stripe-setup#disconnected) |
Stripe updates only arrive when something actually **changes**. Stripe re-checks your account constantly behind the scenes, and you'll only hear about it when the account moves from one state to another — so a healthy connection stays quiet.
More events are being added over time. Anything already in your drawer stays there.
Updates go to the people on your team who can act on them, based on their role. Someone who joins your team after an update was sent doesn't get that older update.
## How long updates stick around
* **Unread updates never expire.** They stay in **New** until you've been to the screen they point to, or you tap [**Mark all as read**](#mark-all-as-read).
* **Read updates are kept for 30 days**, then clear themselves out of **Earlier** automatically.
There's nothing to tidy up manually, and no way to delete an individual update — reading them is how the list empties.
## Related pages
* [Getting around ProBase](/getting-started/navigation) — where the bell sits in the app bar and the drawer
* [Push notifications](/getting-started/push-notifications) — getting updates as phone alerts
* [Text message notifications](/getting-started/text-message-notifications) — the separate SMS preference
* [Your contact form](/customers/contact-form) — the source of the **New contact** update
* [Setting up payment processing](/billing/stripe-setup) — the Stripe connection the payment-processing updates report on
* [Tracking payments](/billing/tracking-payments) — where a **Payment received** or **Payment failed** update lands you
* [HomeBase](/getting-started/homebase#updates) — the unread Updates section on your dashboard
* [How marketplace syncing works](/marketplace/how-syncing-works#new-customers-arrive-on-their-own) — the source of the **New Customer** update
# Adding your first customer
Source: https://docs.probaseapp.com/getting-started/your-first-customer
Add a customer and set up their first property
## Two ways to add your first customer
You can add a customer using:
1. **Quick Actions (Job creation)** - Fastest way to create customer + property + service + appointment all at once. See [Creating jobs](/getting-started/creating-jobs).
2. **Step-by-step approach** (described below) - Create customer first, then add property and services separately.
If you want to get a customer scheduled quickly, use the [Job creation feature](/getting-started/creating-jobs) from the Quick Actions button. If you prefer more control over each step, follow the instructions below.
## Create a customer step-by-step
Click **Customers** in the sidebar. With no customers yet, you'll see a friendly empty state ("No customers added yet") with an **Add customer** button right in the middle of the page.
Click **Add customer** to open the customer creation modal.
Fill in the customer information:
* **First name** and **Last name** — enter at least one of the two (just a first name, just a last name, or both)
* **Phone number** (optional) — automatically formatted as you type
* **Email address** (optional, but recommended for sending payment links)
Check **Also create a property for this customer** to expand the property fields. This lets you add the customer and their first property at the same time.
Enter the property address:
* **Address line 1**
* **Address line 2** (optional)
* **City**
* **State**
* **Postcode**
Click **Save Customer**. You'll be taken to the customer page — if you added a property, it appears in the Properties section there.
As soon as the customer is saved, ProBase asks **"Customer added — what's next?"** with shortcuts to keep the momentum going:
* **Schedule a job** — starts a job for this customer, already selected for you
* **Create a quote** — starts a quote for them
* **Book an assessment** — books a visit to look at the work first
* **Done for now** — closes the prompt and leaves you on the customer's page
You'll see this prompt every time you save a customer, not just the first one.
You can skip the property step during customer creation and add properties later from the customer's page.
Have several customers to enter? Use **Save and Create Another** instead of **Save Customer** — it saves the current customer and instantly clears the form for the next one without closing the window. See [Adding new customers](/customers/adding-customers).
## Add a service for the customer
In ProBase you add a service by creating a **job** (confirmed work) or a **quote/assessment** (work that needs approval or a site visit first). The guided wizard handles the customer, property, and service in one flow:
1. Tap the **+** Quick Actions button and choose **New Job** — or, from the customer's page, tap the **+** beside the **Services** heading to start the same wizard with that customer already filled in
2. Choose **Schedule a Job** for confirmed work
3. Confirm the customer and property
4. Configure the service details — pick a service template or build a custom one, then set the price, billing, and frequency
5. Set the start date and create the job
When you create a job, ProBase sets up the service and its first appointment automatically.
See [Creating jobs](/getting-started/creating-jobs) for the full wizard, and [Managing your service catalog](/getting-started/service-catalog) for details on service templates.
## Schedule more appointments
A job's first appointment is scheduled as part of the wizard. To add another appointment to an existing service:
1. Open the service to view its details
2. Click **Schedule Appointment** (appears near the top of the page when no upcoming appointment exists)
3. Select the date and time
4. Optionally assign a crew (when your team has more than one crew)
5. Click **Schedule**
See [Creating appointments](/scheduling/creating-appointments) for the full appointment workflow.
## Share the payment link
Once you've completed work and the customer has a balance, send them a payment link:
1. Go to **Money** in the sidebar and tap the invoice you want to send
2. Tap **Send Invoice** to open the SMS sharing flow
3. Tap **Send SMS** to open your messaging app with a pre-filled message, or **Copy** to copy the link
You can also reach the invoice from the completed visit: tap the **Charged** row under **What happened**, check it, then tap **Send Invoice**. Or send it with the [service report](/routes/sending-service-reports) in one message.
See [Customer payment portal](/customers/customer-portal) for details on the payment page.
# Available to claim
Source: https://docs.probaseapp.com/marketplace/claiming-jobs
See marketplace jobs waiting to be claimed right from HomeBase
## Overview
When a connected marketplace has work near you waiting to be claimed, an **Available to claim** card appears on [HomeBase](/getting-started/homebase) so you don't miss it while you're working in ProBase.
The card shows how many jobs are waiting — for example **3 jobs available to claim** — with a line reading *New LawnStarter work near you — claim it in the app before it's gone*.
## What the number counts
The count is the jobs the marketplace is currently offering you to claim — the same list the button opens in the marketplace app. It's a straight count of what's still up for grabs:
* Offers you've already claimed drop out of the count, because they're yours now — they arrive on your ProBase schedule instead
* Offers another pro claimed first, or that the marketplace has withdrawn or expired, drop out too
* Work that's already on your schedule is never counted here, and neither is recurring work the marketplace has lined up for you but hasn't offered around
If the number here and the number in the marketplace app disagree, the app is the truth — see [the count doesn't match the app](#the-count-doesnt-match-the-app) below.
## Claiming a job
Tap **View jobs in LawnStarter** (or Lawn Love / Home Gnome) to open the available-jobs list in the marketplace app, where you pick the jobs you want.
Claiming happens in the marketplace app, never in ProBase. Once you claim a job, it syncs onto your ProBase schedule on its own — usually within a few minutes, because ProBase checks every few minutes whether your marketplace book has gained a customer. If the customer is new to you, a **New LawnStarter Customer!** update lands in your [Updates](/getting-started/updates) feed when they arrive. See [How marketplace syncing works](/marketplace/how-syncing-works#new-customers-arrive-on-their-own).
The button is an ordinary link to the marketplace's pro site, opened in a new tab. If the marketplace app is installed on your phone, your device hands the link to the app and opens the available-jobs list there. Without the app — or at a computer — the same link opens the marketplace's pro website in your browser, and takes you to the same list once you've signed in.
## When the card appears
* You have a **Connected** marketplace account (see [Connecting a marketplace account](/marketplace/connecting-accounts))
* That account currently has at least one job waiting to be claimed
* You're a business **owner or admin** — the same people who can reach your business settings
The card hides itself when there's nothing waiting, and one row appears per connected marketplace if you're linked to more than one.
## The count doesn't match the app
The count is a snapshot rather than a live ticker. ProBase checks with the marketplace every few minutes and reuses that answer in between, so the number can trail what you see in the marketplace app — offers come and go quickly, and one can be claimed by someone else moments after ProBase counted it.
That's normal and nothing to fix. Tap **View jobs in LawnStarter** and work from the list in the app, which is always the truth. If ProBase can't reach the marketplace at all when it goes to check, the card simply stays hidden rather than showing a stale or wrong number.
## Next steps
* [Marketplace jobs](/marketplace/marketplace-jobs) — what a claimed job looks like in ProBase
* [HomeBase](/getting-started/homebase) — the rest of your daily dashboard
* [Marketplace payouts](/marketplace/payouts) — what the work pays
# Connecting a marketplace account
Source: https://docs.probaseapp.com/marketplace/connecting-accounts
Connect your marketplace accounts to sync customers and jobs into ProBase
## Overview
If you get work through a marketplace like **LawnStarter**, **Lawn Love**, or **Home Gnome**, you can link that account to ProBase. Once connected, the customers and jobs you get through the marketplace flow into ProBase automatically, so you manage everything in one place instead of jumping between apps.
Open **Integrations** from the **Business** group in the sidebar.
The page opens with a short line — *Connect the tools you already use to run your business. Link an account once and ProBase keeps its customers and jobs in sync for you* — followed by a **MARKETPLACES** section with one card per marketplace. Each card carries the marketplace's logo, its name, a one-line summary of what connecting it does, and its current status.
At the bottom of the page you'll see **More integrations on the way** — a placeholder for the other tools ProBase will connect to in future. There's nothing to do with it today.
Integrations is available to business owners and admins — the same people who can reach your other business settings. If you don't see it in the sidebar, your account either doesn't have the connection feature turned on yet or your role doesn't include business settings access.
Linking a marketplace account only works in your real ProBase. If you're looking around the [demo account](/getting-started/exploring-a-demo), **Connect** leads to a "page not found" — the demo is deliberately sealed off from real marketplace accounts.
## Connecting an account
Each marketplace gets its own card under **MARKETPLACES**. A card that hasn't been linked yet shows a button naming that marketplace — **Connect LawnStarter**, **Connect Lawn Love**, or **Connect Home Gnome**.
Find the card for your marketplace and tap **Connect LawnStarter** (or the button for whichever marketplace you use). ProBase takes you to that marketplace's sign-in page.
Sign in to your marketplace account and approve the connection when prompted. This tells the marketplace it's okay to share your customers and jobs with ProBase.
ProBase brings you back to the Integrations page and shows a confirmation. The card now displays a green **Connected** badge along with the name and email on the linked account.
If you change your mind on the marketplace's sign-in screen and cancel, nothing is linked — ProBase simply returns you to the Integrations page and you can try again whenever you're ready.
## Testing a connection
Once an account is linked, its card shows a **Test** button next to **Disconnect**. Use it any time you want to confirm ProBase can still reach the marketplace and see what's on your account — handy if you suspect syncing has stopped.
Tap **Test** to open the **Test LawnStarter connection** window (headed with whichever marketplace you're checking). It looks at two things and fills each in as soon as it finishes:
* **Account** — the business name, contact name, email, and location on your linked marketplace account. Seeing your own details here confirms ProBase is talking to the right account.
* **Platform activity** — a quick snapshot from the marketplace: your number of completed jobs, your average rating, and how many of your marketplace customers are **available to sync** into ProBase. That customer count is your real number on the marketplace — an easy way to confirm the connection can see your whole book of business before you import it.
Each section loads on its own, so one may show its results a moment before the other. That's normal.
If ProBase can't reach the marketplace, the section that failed shows a short message with a **Retry** button — "We couldn't reach LawnStarter right now" under **Account**, or "We couldn't load your LawnStarter activity right now" under **Platform activity**. Tap **Retry** to try that section again. Because each section loads separately, one can fail while the other still fills in normally.
If the connection has expired, each section shows "This connection has expired and needs to be reconnected." with a **Reconnect** button instead of a Retry button — tap it to sign in to the marketplace again (see [Reconnecting an expired account](#reconnecting-an-expired-account) below).
## Connection statuses
Each card shows the current status of that marketplace connection:
* **Connected** (green) — ProBase is actively syncing data from that account. The card shows the linked account's name and email, and offers **Test** and **Disconnect**.
* **Expired** (amber) — the connection stopped working and needs to be re-established. The card reads *Reconnect to keep your data in sync* and offers **Reconnect** and **Disconnect**. See [Reconnecting an expired account](#reconnecting-an-expired-account) below.
* **Disconnected** (grey) — you unlinked the account. The card reads *Disconnected — reconnect anytime to pick up where you left off* and offers **Reconnect**.
A card with no badge has never been linked. It shows the marketplace's one-line description and the **Connect** button naming that marketplace.
## What lands in ProBase after you connect
Once a card says **Connected**, ProBase starts pulling your marketplace work in on its own — you don't have to import anything:
* **Customers** you've been matched with, with their name and service address
* **Properties** for those customers, with the map and any access notes the marketplace has on file
* **Services** with the payout the marketplace pays you per visit, and how often each one repeats
* **Jobs** (visits) on your schedule, alongside your own ProBase jobs
* **Earnings and payout deposits**, on a customer record named after the marketplace — see [Marketplace earnings & payouts](/marketplace/payouts)
Marketplace records stay owned by the marketplace: you can see them everywhere in ProBase, but you complete, reschedule, and cancel that work in the marketplace app. See [Marketplace jobs](/marketplace/marketplace-jobs) and [Marketplace customers](/marketplace/marketplace-customers) for what's editable and what isn't.
## Sync status and a full re-sync
A connected card also shows how much has come across and when it last happened:
* **Counts** — how many customers and jobs have synced from that account so far — for example *18 customers · 42 jobs synced*
* **Last synced** — how long ago ProBase last pulled from the marketplace
* **Full re-sync** — pulls your whole marketplace book again from scratch
Tap **Full re-sync** if something looks missing or out of date across the board. It pulls everything again — your customers, properties, services, and jobs, **plus your earnings and payout deposits** — so it's the one control that catches the money side as well as the schedule. It's safe to run any time: nothing is duplicated, existing records are just brought up to date.
The re-sync runs in the background, so you don't have to wait on the page. As soon as you tap it, a confirmation appears — *Re-syncing your LawnStarter data — updated records will appear shortly* — and you can carry on working.
While it's running, the **Full re-sync** control stays exactly where it is and simply changes what it says: its circular arrow spins and the label reads **Syncing…**, greyed out so you can't accidentally start a second run on top of the first. Your synced counts stay on screen the whole time.
You rarely need to do this by hand. ProBase already syncs in the background and refreshes overnight — see [How marketplace syncing works](/marketplace/how-syncing-works).
If the connection stopped being active while the page was open (it expired, or you disconnected it in another tab), the control shows *This connection is no longer active. Reconnect to re-sync.* instead. Reconnect the account and try again.
### Watching the progress
Once ProBase has worked out how big your book is, a **progress bar** appears under the counts so you can see how far along the run is rather than just that it's busy. It's headed **Syncing customers** with the percentage on the right, and the running tally sits underneath — for example *12 of 27 customers synced* at *44%*. It fills in as each customer's properties, services, and visits come across.
The bar updates itself about once a second while you watch — no reloading. There's a short wait before it appears while ProBase counts up your book; until then the spinning **Syncing…** label is all you'll see.
Depending on how big your book is, the run takes a few minutes. You don't have to reload the page — the bar disappears and the card switches itself back to **Last synced just now** with the **Full re-sync** control the moment the pull finishes.
The progress bar counts **customers**, because that's how ProBase works through your book — each customer brings their properties, services, and visits with them. Your earnings and payout deposits come across as part of the same run.
You may also see the bar without having tapped anything. ProBase starts the same run for you in two situations, and **Integrations** shows its progress either way:
* The **overnight refresh** is still working through your account when you open the page.
* ProBase's few-minute head-count check found your marketplace book and your ProBase book out of step — most often because you just claimed a job and its customer is new to you — so it pulled the book to bring them across. See [New customers arrive on their own](/marketplace/how-syncing-works#new-customers-arrive-on-their-own).
Neither needs anything from you. Let it finish rather than starting another run on top of it.
### If a re-sync doesn't finish
If a run stops before it completes, the card replaces **Last synced** with *The last full re-sync didn't finish.* and the control becomes **Try again**. Tap it to start a fresh run.
A re-sync that didn't finish hasn't broken anything — the customers it already brought across are saved, and the next run picks up your whole book again from scratch. If **Try again** keeps failing, use **Test** on the card to check the connection is still good.
### If the card seems stuck on Syncing
Occasionally a re-sync you asked for never actually gets going — ProBase is unusually busy, or the run was turned away because the connection had just changed. The card can't get stuck on **Syncing…** because of it: if nothing has started within about half an hour, ProBase stops waiting on that run and puts the **Full re-sync** control back so you can try again.
You don't have to do anything to unstick it — leave the page and come back, and the card will be back to normal.
## Disconnecting an account
To stop syncing from a marketplace:
On a connected card, tap **Disconnect**.
ProBase asks you to confirm. Tap **Disconnect** again in the dialog to unlink the account.
The card flips to a grey **Disconnected** badge and shows a **Reconnect** button. Disconnecting fully unlinks the account and stops the sync right away — you can reconnect at any time and pick up where you left off.
## Reconnecting an expired account
Marketplace connections can expire on their own after a while — this is normal and doesn't mean anything is wrong with your account. When a connection expires, it can't renew itself, so you'll need to reconnect to keep your data flowing.
When a connection expires, ProBase makes it easy to fix — you'll see the prompt without having to go looking for it:
* An **amber banner** appears at the top of the Integrations page — *Your LawnStarter connection has expired. Reconnect to keep your platform data in sync* — with a **Reconnect** button.
* A matching **Reconnect your marketplace account** banner appears at the very top of [HomeBase](/getting-started/homebase#reconnect-your-marketplace-account), naming the marketplace and carrying its own **Reconnect LawnStarter** (or Lawn Love / Home Gnome) button.
* A matching item naming the marketplace — for example **Reconnect your LawnStarter account** — appears in the [Action needed](/getting-started/homebase#action-needed) section on HomeBase.
Tap **Reconnect** from any of those spots and sign in to the marketplace again. Once approved, the card returns to **Connected** and syncing resumes.
Once the card reads **Connected** again you can tap **Full re-sync** straight away to catch up on everything that changed while the connection was down — you don't have to wait for the next background sync.
While a connection sits expired, nothing new comes across — new jobs, reschedules, and completions from the marketplace stop appearing in ProBase until you reconnect. Marketplace records already in ProBase stay put.
## Next steps
* [How marketplace syncing works](/marketplace/how-syncing-works) — how often data comes across and how to refresh it
* [Marketplace jobs](/marketplace/marketplace-jobs) — working a marketplace visit
* [Marketplace earnings & payouts](/marketplace/payouts) — what the marketplace owes you and what it has deposited
* [HomeBase](/getting-started/homebase) — where expired-connection reminders show up
# How marketplace syncing works
Source: https://docs.probaseapp.com/marketplace/how-syncing-works
When marketplace customers, jobs, and payouts refresh in ProBase — and how to pull the latest right now
## Overview
Once a [marketplace account is connected](/marketplace/connecting-accounts), ProBase keeps a copy of that work so it sits on your schedule next to your own jobs. Syncing is **one-way**: the marketplace is the source of truth, and ProBase reads from it. Nothing you do in ProBase is pushed back out to the marketplace.
That's why marketplace records are read-only in ProBase — the real actions (starting, completing, rescheduling, cancelling, contacting the customer) happen in the marketplace app, and the result comes back to ProBase on the next sync.
## What comes across
| What | What you get in ProBase |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Customer | First and last name, plus the service address. **No phone number or email** — you contact the customer in the marketplace app |
| Property | Address, map, and any access notes the marketplace has on file |
| Service | The service name, the **frequency** — how often the marketplace has it repeating — and the **payout**, what one visit of it pays you |
| Jobs (visits) | The day the visit is due and its status, on your calendar and daily route. The marketplace sets the **day**; ProBase fills in the start time and expected length — see [Where the start time comes from](/marketplace/marketplace-jobs#where-the-start-time-comes-from) |
| Job notes | The property's access notes and the customer's instructions for the job (*Please do not come before 10 am*), shown read-only in the visit's [**Job notes** briefing](/marketplace/marketplace-jobs#the-briefing) |
| Money | Your full marketplace billing history — job earnings, tips, bonuses, fees, adjustments, and payout deposits — as locked entries on a customer record named after the marketplace, each dated the day the money moved on the marketplace |
## How often it refreshes on its own
You don't have to do anything to keep marketplace work current:
* **Every few minutes** — ProBase does a quick head-count check on each connected account: how many customers the marketplace has for you, against how many it has synced. If the two disagree, it pulls that account's whole book straight away. This is what catches a **brand-new customer** — the one that arrives with a job you just claimed — so they land in ProBase within a few minutes rather than waiting for the next full check. See [New customers arrive on their own](#new-customers-arrive-on-their-own).
* **Every 15 minutes** — ProBase re-reads each connected account's **customers, properties, services, and jobs**, so changes to work already on your books — a completion recorded in the marketplace app, a status change, a rescheduled visit, a changed access note — come across on their own.
* **Every night** — a full refresh runs in the early morning, local to your business, so your book is clean by the time you start the day. The nightly run also brings across your **earnings and payout deposits**.
* **Right after you leave for the app** — when you tap a button like **Open in LawnStarter** or **Complete in LawnStarter**, ProBase starts checking that one job much more often, so whatever you do in the app shows up in ProBase quickly without you asking. It watches closely for the first twenty minutes or so — long enough to cover the visit you just went off to handle — then keeps a slower watch on that job for several hours afterwards, in case the marketplace records your completion later in the day. After that it goes back to the normal 15-minute rhythm.
**The money side refreshes on a slower rhythm than your schedule.** The 15-minute check keeps your customers and jobs current; earnings and payout deposits come across with the nightly refresh, with a [**Full re-sync**](/marketplace/connecting-accounts#sync-status-and-a-full-re-sync), or when you tap **Refresh** on the marketplace record's [Billing History](/marketplace/payouts). So a deposit that lands mid-morning may not appear until you refresh or until that night.
The marketplace can't notify ProBase the instant something changes, so there's always a short lag. If you need the very latest, use **Refresh** below.
## New customers arrive on their own
When you claim a job in the marketplace app, that job's homeowner becomes a new customer on your marketplace account — and ProBase has to notice them before their visit can appear on your schedule. That's what the few-minute head-count check is for.
Here's what happens, without you doing anything:
The next head-count check sees the marketplace has one more customer than ProBase has synced.
ProBase refreshes that whole account in the background — the same pull as a **Full re-sync**, just started for you. If you happen to have **Integrations** open you'll see the card switch to **Syncing…** and run its progress bar through, without anyone tapping anything.
The new customer appears in your customer list with their property, service, and visits, and the visits take their place on your calendar and daily route.
A **New LawnStarter Customer!** update (naming whichever marketplace it came from) lands in your [Updates](/getting-started/updates) feed, with the customer’s name underneath — *Dana Whitfield was added to your customers from LawnStarter.* Tap it to open their page.
**Connecting an account for the first time is silent.** That first import brings your entire existing book across at once, so ProBase deliberately doesn't announce every customer in it. Updates start once the account is set up and a genuinely new customer arrives.
The update goes to everyone on your team whose [role](/team/roles-and-permissions) lets them see customers, and arrives as a phone alert too if you've turned on [push notifications](/getting-started/push-notifications).
A check that finds no difference costs nothing and does nothing — the pull only happens when the counts actually disagree. It works the same in reverse: if the marketplace has **fewer** customers than ProBase has, the same refresh runs and clears out whatever is no longer yours — see [Work that disappears from the marketplace](#work-that-disappears-from-the-marketplace).
## Refresh one record now
Every marketplace-synced screen — customer, property, service, job, and the marketplace record's [Billing History](/marketplace/payouts) — shows a small **Last synced …** line with a **Refresh** link next to it.
Tap **Refresh** to pull that record's latest details straight from the marketplace. Nothing jumps around while it works: the **Last synced** time stays where it is, the small circular arrow beside it starts spinning, and the link itself reads **Syncing…** until the pull finishes and the timestamp updates.
* While it reads **Syncing…** the link can't be tapped again, so you can't set a second pull going on top of the first.
* Hover (or long-press) the timestamp to see the exact date and time of the last sync.
* If the refresh can't complete, the line turns into a short message with a **Try again** link.
* On a job, refreshing over and over is throttled — tap too fast and you'll see "Just refreshed — give it a moment before trying again." Wait a minute and try again.
On a **customer**, **property**, or **service** page the refresh pulls that customer's whole record — their properties, services, and visits — so one tap catches everything about them. On the marketplace record's **Billing History**, it pulls the latest earnings and payout deposits instead. See [Marketplace earnings & payouts](/marketplace/payouts).
### How old is "Last synced"?
The timestamp counts up on its own while you're looking at the page — *Last synced 12 seconds ago* becomes *13 seconds ago*, then rolls over to *1 minute ago*, *2 minutes ago*, and so on, without you reloading anything. So the age you see is always the real age, even if you've left the job open on your phone for a while.
Hover or long-press the timestamp if you want the exact date and time instead of the "X ago" wording.
## Refresh everything for an account
To pull your entire marketplace book again rather than one record, use **Full re-sync** on the connected card under **Integrations**. See [Sync status and a full re-sync](/marketplace/connecting-accounts#sync-status-and-a-full-re-sync).
A full re-sync runs in the background rather than making you wait: you get a confirmation right away and the records update over the next few minutes. While it runs, the **Full re-sync** control reads **Syncing…** with a spinning arrow and can't be tapped again, and it flips itself back to **Full re-sync** with **Last synced just now** when the pull finishes — no reloading needed.
Once ProBase has sized up your book, a progress bar shows how far the run has got — a percentage plus a tally like *12 of 27 customers synced* — and ticks up on its own about once a second while you watch.
If a run stops before it finishes, the card reads *The last full re-sync didn't finish.* with a **Try again** link. And if a run you asked for never gets going at all, the card doesn't sit on **Syncing…** indefinitely — it gives up after about half an hour and offers **Full re-sync** again. See [Sync status and a full re-sync](/marketplace/connecting-accounts#sync-status-and-a-full-re-sync).
**A card can start syncing on its own.** ProBase runs the same pull for you whenever its few-minute head-count check finds your marketplace book and your ProBase book out of step — usually because you just claimed a job. Seeing **Syncing…** on a card you didn't touch is normal; nothing is wrong, and there's no need to start another one on top of it.
## When something looks wrong
Open **Integrations** in the **Business** group. An expired connection stops syncing entirely until you reconnect — you'll also see an amber banner on HomeBase. See [Reconnecting an expired account](/marketplace/connecting-accounts#reconnecting-an-expired-account).
On the customer, job, or service that looks stale, tap **Refresh** next to **Last synced**.
Still off? Tap **Full re-sync** on the account's card to pull the whole book again. It works in the background — the card reads **Syncing…**, then shows a progress bar counting your customers through, and updates itself when it's done. If it reads *The last full re-sync didn't finish*, tap **Try again**. If you've just reconnected the account, running it right away is fine — it will pick up everything that changed while the connection was down.
Use **Test** on the card to confirm ProBase can still reach the marketplace and is looking at the right account. See [Testing a connection](/marketplace/connecting-accounts#testing-a-connection).
A job that was cancelled on the marketplace side changes status in ProBase on the next sync; one that's no longer assigned to you disappears from it. Either way you don't need to clean it up by hand — see [Work that disappears from the marketplace](#work-that-disappears-from-the-marketplace).
## Why a marketplace job might not appear at all
A visit that's on your marketplace account but has *never* shown up in ProBase is a different situation from [one that vanished](#work-that-disappears-from-the-marketplace). ProBase only takes on work it can confidently put on your schedule, so a visit crosses over when **all** of these are true:
* **The job is yours.** ProBase takes on a job when the marketplace has **you** as the pro on it — or when one of its recent visits was assigned to you, which is how a job the marketplace has since cancelled keeps its history in your book even after it takes your name off it. Another pro's work never crosses over, and neither does an **offer still waiting for you to accept it**: work sitting in the marketplace's pool becomes yours once you claim it in the app, and syncs in from there. See [Available to claim](/marketplace/claiming-jobs).
* **The visit is assigned to you.** A visit the marketplace hasn't put a pro on yet, or has handed to a different pro, stays out of ProBase rather than sitting on your schedule as work you might not end up doing. If one you'd already seen becomes unassigned or moves to another pro, it's removed on the next sync.
* **The visit has a day.** The marketplace owns the date, so a visit with no day on it yet can't be placed on a calendar. It waits until the marketplace gives it one, then arrives on the next sync with your start time and length filled in — see [Where the start time comes from](/marketplace/marketplace-jobs#where-the-start-time-comes-from).
The job itself can be in ProBase while one of its visits isn't. If the service shows on the customer's page and most of its visits are on your calendar but one is missing, it's usually that single visit that isn't assigned or isn't dated yet — not the whole job.
If you believe a job meets all three and still isn't in ProBase, work through it in this order:
Open the job in the marketplace app and check the marketplace shows **you** as the pro on it, that the visit is assigned to you, and that it has a date. That screen is the source of truth — ProBase can only show what the marketplace hands it.
On the account's card under **Integrations**, tap **Full re-sync** to pull your whole book again. See [Refresh everything for an account](#refresh-everything-for-an-account).
The card shows how many customers the marketplace has for you against how many ProBase has synced. If the two agree but the job still isn't there, the marketplace isn't handing that visit over yet.
If all three hold and a re-sync doesn't bring it in, [contact support](/support/contact-support) with the customer's name, the address, and the date the visit should be on. Support can check what the marketplace is actually sending for that customer and tell you which of the three conditions isn't met.
## Work that disappears from the marketplace
Syncing keeps ProBase matching the marketplace in both directions: it adds what's new **and** removes what's gone. If a customer, property, service, or visit is no longer on your marketplace account — the customer was reassigned, a duplicate visit was cleaned up, the job was pulled — the matching record disappears from ProBase on the next sync.
### Jobs that are no longer assigned to you
A visit only appears in ProBase while the marketplace has it assigned to **you**. If it stops being yours — taken off you, handed straight to another pro, or returned to the pool while it waits to be picked up — it's removed from ProBase on the next sync rather than being left on your schedule as something you still owe. Work that was never assigned to you doesn't sync in at all.
* A **cancelled** visit is different: it stays on your schedule marked **Cancelled**, so you keep the record.
* The removal happens even if the visit was already hidden in ProBase — for example because you'd [archived that customer](/customers/archiving-customers).
* If the same work is assigned back to you later, it syncs in again as a new job.
See [If a job goes back to the marketplace](/marketplace/marketplace-jobs#if-a-job-goes-back-to-the-marketplace).
### What's never removed
* Only **marketplace-synced** records are removed this way. Customers, properties, services, and jobs you created yourself in ProBase are never touched, and neither are records from a different marketplace account.
* **Your history is safe.** Past visits that have already aged out of the marketplace's recent window stay in ProBase, so your completed-work record and earnings history don't thin out over time.
* **Your earnings record is never removed.** The customer record named after the marketplace — the one that holds your [earnings and payout ledger](/marketplace/payouts) — isn't one of the marketplace's own customers, so this cleanup always skips it. Your money history stays put no matter how your customer book changes.
* If the marketplace can only be reached partway during a sync, ProBase skips the removal step entirely for that run rather than risk deleting work that's simply missing from a half-finished response.
Removals are permanent — a record that comes off the marketplace is deleted from ProBase, not archived. If the same work is later restored on the marketplace, it syncs back in as a new record.
## Next steps
* [Marketplace jobs](/marketplace/marketplace-jobs) — what you can and can't do on a synced visit
* [Marketplace customers](/marketplace/marketplace-customers) — the read-only customer, property, and service pages
* [Marketplace earnings & payouts](/marketplace/payouts) — earnings and deposit history
# Marketplace customers
Source: https://docs.probaseapp.com/marketplace/marketplace-customers
How marketplace customers, properties, and services look in ProBase
## Overview
Customers you're matched with through a connected marketplace appear in your ProBase customer list alongside your own customers, so your whole book is in one place. They're **read-only**: the marketplace owns the relationship, sets what the job pays, and bills the customer, so ProBase shows the record and points you to the marketplace app for anything that changes it.
You never add them yourself: claim a job in the marketplace app and its customer is usually in ProBase within a few minutes, announced by a **New LawnStarter Customer!** [update](/getting-started/updates). See [New customers arrive on their own](/marketplace/how-syncing-works#new-customers-arrive-on-their-own).
## The customer page
A marketplace customer's page is laid out like any other customer's. Under their name sits a **LawnStarter** pill (naming whichever marketplace they came from) alongside their status, and below that the **Last synced** line with a **Refresh** link.
What you'll see:
* **Name** and a **Property** card with the service address — tap it to open the property
* **Open Customer Profile on LawnStarter** — a full-width button that opens that customer's profile in the marketplace app, where their contact details and message thread live. Underneath is a line reminding you that the marketplace doesn't share contact details: *LawnStarter doesn't share customer contact details — contact the customer in the LawnStarter app.*
* **Services** showing what each visit pays you and how often it repeats — *Weekly*, *Bi-weekly*, *Monthly*, and so on — each with a **Managed in LawnStarter** tag next to it
* **Visits** — that customer's appointments, with **Upcoming** and **Previous** tabs
What's deliberately not there:
* **Phone number and email** — contact details never cross over from the marketplace; you reach the customer in the marketplace app instead
* **Account balance, card on file, and Billing History** — the marketplace bills the customer and pays you, so there's no balance to collect here. Your marketplace earnings live on [the marketplace's own record](#the-marketplaces-own-record) instead
* **Edit**, and the **+** beside **Services** that books a new job on your own customers — new marketplace work arrives by claiming it in the marketplace app, not by scheduling it in ProBase
**Open Customer Profile on LawnStarter** only needs the customer, so it's there from the moment they sync in — you don't need a job on the books first. From their marketplace profile you can message them and see everything the marketplace holds for that customer.
## The property page
A marketplace property shows the address, map, and services, with the **LawnStarter** pill and the **Last synced** line under the address at the top. The **Edit** action and the option to add a new service to that property are not available — properties and services come from the marketplace.
**Directions** and **Service Records** work exactly as they do on your own properties, and the **Property details** the marketplace holds for the address — a locked gate, a gate code, and so on — are listed underneath the map.
Its **Property Notes** panel is read-only too, and carries a **Read-only** badge where the **+** normally sits — the access details on a marketplace property are the marketplace's, so there's nothing to add, edit, or delete. See [Notes](#notes) below.
## The service page
A marketplace service is a short page: the service name, how often it repeats, what the visit pays you, and the appointment history — with a **LawnStarter** pill beside the service's status at the top and the **Last synced** line, and its **Refresh** link, below.
Under **Service details** you'll see:
* **The service name** — and its description, if the marketplace sent one
* **Frequency** — how often the marketplace has this service repeating, in plain words: *Weekly*, *Bi-weekly*, *Monthly*, *Every 2 months*, and so on. It's there to read, not to change — see [How often a marketplace service repeats](#how-often-a-marketplace-service-repeats) below
* **Payout** — what the marketplace pays you for one visit of this service. It's shown for reference only and can't be edited, and there are no charges to add
That's the whole section. There's no itemized breakdown and no **Total** line the way there is on your own services, because the marketplace sets what the visit pays and handles the customer's bill itself. It's the same short summary wherever that service turns up — the [job detail page](/marketplace/marketplace-jobs), your day's stops, and overdue jobs all show the identical name, **Frequency**, and **Payout**, so it reads the same everywhere.
The amount on a marketplace service is **your** money, not the customer's bill — it's the per-visit payout the marketplace sends you, which is why the row reads **Payout** instead of **Price**. What the marketplace charges the homeowner never comes across to ProBase. See [Marketplace earnings & payouts](/marketplace/payouts).
What isn't on the page, because the marketplace owns it:
* **No Service plan section** — that's the block on your own services where you'd change the frequency, the invoice type, and the schedule. The marketplace owns all of it, so it isn't shown; the frequency you can *read* sits in **Service details** instead
* **No + Schedule Appointment button** — new visits arrive from the marketplace; you can't add one in ProBase
* **No pricing edit** — the payout comes from the marketplace
* **No Cancel** — a customer or marketplace cancellation syncs back to ProBase on its own
**Appointment History** works the same as on your own services, with **Recent Activity** and **Future Appointments** tabs. Tap any visit to open it — see [Marketplace jobs](/marketplace/marketplace-jobs) for what you can do there.
### How often a marketplace service repeats
The marketplace decides the cadence — every week, every other week, once a month — and ProBase copies it across so you can see it without opening the marketplace app. It shows up in three places:
* On the **service page**, as the **Frequency** row under **Service details**
* On the **service cards** on the customer and property pages, next to the payout, alongside a **Managed in LawnStarter** tag
* On the **[job detail page](/marketplace/marketplace-jobs)**, in that job's **Service details** — and, on visits that aren't due today, in the line under the job title next to the date
It's a read-only copy of what the marketplace has set. Changing how often a marketplace service repeats is done in the marketplace app — there's no frequency to edit in ProBase, and ProBase never books the repeat visits itself. Each visit arrives from the marketplace on its own as it's scheduled there, so the **Future Appointments** tab shows what the marketplace has already booked rather than a chain ProBase built. See [How marketplace syncing works](/marketplace/how-syncing-works).
**If a service doesn't show a frequency**, the marketplace didn't send one for it. The service then simply reads **Managed in LawnStarter** where the cadence would be, rather than guessing.
A finished or cancelled marketplace service can read **One-time** even though it used to repeat — once the marketplace stops running a service, it stops reporting a repeat cadence for it. The visit history on the page is the reliable record of what actually happened.
### What the status on a marketplace service means
The status beside the **LawnStarter** pill at the top of the service page is the marketplace's, not something you set — ProBase reads across whatever state the marketplace has the job in:
* **Active** — the marketplace is still running the job and more visits are expected. A job the marketplace has **paused** reads Active too, because a pause can be lifted and the visits pick up again where they left off.
* **Completed** — a **one-time** job whose visit has been done. That's finished work, so it's kept as a record rather than reading as a cancellation.
* **Cancelled** — the customer or the marketplace ended the job. A **repeating** job the marketplace has stopped reads Cancelled as well, since no more visits are coming for it.
A Completed or Cancelled marketplace service isn't cleared out of ProBase: it stays on the customer's page with its visit history, so your record of the work you did survives the job ending. The status updates itself on the next sync if the marketplace changes it — there's no **Cancel** action on a marketplace service for you to use.
## In your customer list
Marketplace customers appear in your normal customer list and search results, so you can look someone up whether they came from the marketplace or from your own book.
You can tell them apart at a glance by the round icon at the start of the row: your own customers show the plain grey person icon, while a marketplace customer shows the **marketplace's logo** in its place. Same size, same spot, so the list still lines up neatly — the logo simply replaces the person icon rather than being added alongside the name.
### In the New Job and New Quote wizards
Marketplace customers also show up in the customer picker of the [New Job](/getting-started/creating-jobs) and [New Quote](/customers/creating-quotes) wizards — but they can't be selected. Each one is dimmed, shows the marketplace's logo in place of the person icon, carries a lock icon on the right, and reads *Managed by LawnStarter — not schedulable here* where the address would normally be. Tapping one shows *This customer is managed by LawnStarter and can't be scheduled here.* and the wizard stays on the customer step.
This is on purpose: the marketplace sets the price and the schedule for its own customers, so adding a ProBase job or quote on top of one would create work the marketplace doesn't know about. New marketplace work reaches your schedule by claiming it in the marketplace app — see [Available to claim](/marketplace/claiming-jobs).
## The marketplace's own record
Alongside the people you serve, you'll also see a record named after the marketplace itself — a customer called **LawnStarter** (or **Lawn Love** / **Home Gnome**). That's not a homeowner: it's where ProBase keeps the money side of the relationship. Its **Billing History** holds what the marketplace has earned you and what it has deposited, so it's the one marketplace record that *does* have a balance and a billing page.
Because it stands for the marketplace rather than a person, it has no **Open Customer Profile on LawnStarter** button — there's no customer profile to open on the marketplace side.
See [Marketplace earnings & payouts](/marketplace/payouts) for how to read it.
## Notes
Notes that came from the marketplace are read-only wherever they appear — the property's access details, and anything the customer told the marketplace about how the job should be done. Those instructions belong to the service, so they show up on every visit of it, in the visit's [**Job notes** briefing](/marketplace/marketplace-jobs#the-briefing).
The access note on a marketplace property is put together from whatever access details the marketplace holds for that address — a **Gate code**, the **Community** name and its **Community code**, **Community instructions**, and free-text **Access instructions** such as where to park or a dog in the yard. Only the details the marketplace actually has are listed: one it doesn't hold, or one that's been cleared, is left out rather than showing an empty line — you'll never see a bare label with nothing after it — and the note disappears altogether once all of them are gone.
### You can't add your own notes to marketplace records
Notes on a marketplace customer's records are the marketplace's, so ProBase keeps the whole set read-only:
* **The Property Notes panel** — on both the customer page and the property page — shows a **Read-only** badge where the **+** normally sits. There's no way to add, edit, or delete a note there
* **The visit's [Job notes briefing](/marketplace/marketplace-jobs#the-briefing)** carries the same **Read-only** badge
* **Customer-level notes** live inside the customer **Edit** view, and marketplace customers have no **Edit** — so there's no customer notes panel on them either
Any notes you or your team added to a marketplace property before it became read-only are still there to read, and they're still folded into the job's briefing — they just can't be edited or deleted any more.
If you need a reminder of your own about a marketplace customer, keep it somewhere that *is* yours — a note on one of your own records, or your crew's usual channel.
Because they're synced, marketplace notes always match what the marketplace has: an instruction the customer changes updates on the next sync, and one they remove disappears from ProBase.
See [Notes](/customers/adding-notes) for how notes work generally.
## Next steps
* [Marketplace jobs](/marketplace/marketplace-jobs) — working the visit
* [Marketplace payouts](/marketplace/payouts) — what the marketplace is paying you
* [How marketplace syncing works](/marketplace/how-syncing-works) — refreshing a record
# Marketplace jobs
Source: https://docs.probaseapp.com/marketplace/marketplace-jobs
Working a LawnStarter, Lawn Love, or Home Gnome job from your ProBase schedule
## Overview
Jobs you get through a connected marketplace sit on your ProBase schedule right next to your own work, so you plan your day in one place. The difference is where the work gets *finished*: a marketplace job is completed, rescheduled, or cancelled in the marketplace app, and the result syncs back to ProBase.
ProBase makes those jobs easy to spot, lets you time them and arrange your own day around them, and gives you a one-tap way into the marketplace app when it's time to finish the visit.
## Spotting a marketplace job on your schedule
Anywhere a job appears — the day, week, and month calendar, the day overview panel, your daily route stops, and the [Overdue jobs](/scheduling/overdue-jobs) and [Jobs that need a crew](/scheduling/jobs-without-assigned-crew) lists on HomeBase — a marketplace job carries a small **brand mark** (the marketplace's logo) next to the customer's name.
Everything else about the stop works the way you're used to: it counts toward your stops for the day, appears in the route order, and can be reordered.
## The visit page
Tap a marketplace job and you land on **[the visit page](/routes/visit-page)** — the same screen you work your own jobs from, with the same header card, the same buttons in the same places, and the same clock. There's nothing new to learn.
What's different is only what the marketplace owns. It owns **the day, the status, completing the visit, and the money**. You own **the time of day, how long you expect it to take, which crew goes, and your own clock**. ProBase shows you the second set and hands you off to the marketplace app for the first.
### The header card
At the top sits the job's name, the visit's state pill (**Scheduled**, **Completed**, and so on) and, beside it, a **LawnStarter** pill naming the marketplace the job came from. Underneath, the same rows as on your own visits:
* **The customer** — opens the contact sheet. On a marketplace job it has **no phone or email rows**: those details never cross over. In their place is a short line, *LawnStarter doesn't share customer contact details — contact the customer in the LawnStarter app.*, above an **Open Customer Profile on LawnStarter** button and a link to the customer's ProBase profile. This row works whatever the visit's status — the marketplace app is your only way to reach the customer, so it stays reachable on a job you already finished
* **The property address** — opens the address sheet: a satellite preview, **Copy address**, **Get directions** in your [maps app](/getting-started/maps-preference), and **Open property profile**
* **The date and time** — tap it and the **Edit Time** window opens straight away. The marketplace owns the *day*, so there's no **Reschedule** here — see [Adjusting the time for the day](#adjusting-the-time-for-the-day)
* **The crew** — on a business with more than one crew, opens the **Assign a crew** sheet. Marketplace jobs are yours to staff
* **Last synced … Refresh** — the final row, showing how fresh the record is with a **Refresh** to pull an update on the spot. The age counts up on its own while the page is open — see [How old is "Last synced"?](/marketplace/how-syncing-works#how-old-is-last-synced)
### Directions and On my way in the app
While the visit is scheduled and you haven't started it, two wide buttons sit under the header card:
* **Directions** — the property in your chosen [maps app](/getting-started/maps-preference)
* **On my way in the app** — the marketplace's own "on my way" screen for that job. ProBase's own **Text on my way** isn't offered, because ProBase doesn't have the customer's phone number
Once you start the visit, both move into the **⋯ More** sheet.
### The buttons
| Where the visit is | Solid button | ⋯ More | Quiet action underneath |
| --------------------------------- | -------------------------------------------------------------------------------- | ------ | ----------------------- |
| Scheduled, not started | **Start visit** | yes | **Open in App** |
| Working | **Open in App** (**Complete in App** once the marketplace shows the job started) | yes | **Pause** |
| Paused | **Open in App** / **Complete in App** | yes | **Resume** |
| Completed, cancelled, rescheduled | **Open in App** (the customer's profile), under a short status notice | — | — |
**Open in App** and **Complete in App** both land on that job's screen in the marketplace app. The button flips to **Complete in App** once the *marketplace* shows the job as started — that's the marketplace's own record of it, not your ProBase clock.
There's no ProBase **Complete visit** on a marketplace job, at any point. Completion is the marketplace's, so the deep link stands where **Complete visit** would be on one of your own visits.
### Your clock still runs
**Start visit**, **Pause** and **Resume** work on a marketplace job exactly as they do on your own, and the timer panel counts up the same way. It's your record of how long the visit actually took — useful for your own costing, and it stays yours; nothing about it goes to the marketplace.
If the marketplace moves the visit out of *scheduled* — you completed it in the app, or it was cancelled — the next sync stops your clock for you, so a running timer never gets left on.
See [Timing a visit](/routes/timing-a-visit) for how the clock works.
### The More sheet
Tap **⋯ More** and the sheet holds only what applies here:
1. **Directions**
2. **On my way in the app** — once the visit is started
3. **Move to another crew** — on a business with more than one crew
4. **Pin this time** / **Unpin** — lock the visit's time so route planning leaves it alone
5. **Open in App** / **Complete in App**
6. Underneath, a reminder: *Taking actions on this job is only possible in the LawnStarter app.*
Rows 3 and 4 are there because the crew and the time of day are **yours**, even on marketplace work — see [Pinning a visit's time](/routes/pinning-visit-times).
There's no **Complete visit**, **Change time**, **Reschedule**, **Send Confirmation**, **Cancel this visit** or **Cancel job** — those are all the marketplace's, or don't apply. (Changing the time of day is still yours; it's on the date-and-time row of the header card instead.)
### One tab: Details
Your own visits have **Visit · Details · Notes**. A marketplace visit has **Details** only, because the other two have nothing to hold:
* **No Visit tab** — checklists and charges are things ProBase captures when *ProBase* completes a visit, which never happens on a marketplace job
* **No Notes tab** — a marketplace job's notes belong to the marketplace and are read-only. They're already summarised for you in the briefing above the tab (see [The briefing](#the-briefing))
The **Details** tab holds:
* **Service** — the service name and description, a **Frequency** row with how often the marketplace has it repeating, a **Duration** row with how long you expect the visit to take, and a **Payout** row with what the visit pays you. There's no price, tax, or itemised breakdown — the marketplace sets the payout and bills the customer
* **Property** — the property's details, with a row for adding anything that's missing
* **Photos** — on a completed marketplace visit, the after photos that came across with it. Tap a tile to open it full size
* **History** — the moments logged on your clock, newest first
## The briefing
Above the tab sits the same **What you need for this visit** card your own jobs get — a few plain lines drawn from what's on file for the visit, so your crew gets the important bits without digging.
On a marketplace job that's built from what the marketplace sent: **property access notes** (gate codes, pet warnings, where to park) and **the customer's instructions for the job** (*Please do not come before 10 am local time*). It's yours and your crew's only — never the customer's.
Marketplace notes are kept current by syncing, so they always match what the marketplace has: if the customer changes an instruction it updates on the next sync, and if they remove it, it disappears from ProBase too. You can't add, edit, or delete notes on a marketplace record — see [You can't add your own notes to marketplace records](/marketplace/marketplace-customers#you-cant-add-your-own-notes-to-marketplace-records).
## Once the visit is finished
Once a marketplace visit is no longer scheduled — **completed**, **rescheduled**, or **cancelled** — the marketplace app has no job screen left to open for it. Rather than hand you a button that lands nowhere, ProBase swaps in the two things that still work:
* **Open in App** — that customer in the marketplace app, where any follow-up on a finished visit belongs
* A short line underneath saying why the job itself can't be opened, naming the status — for example *Viewing a completed job is not currently possible in the LawnStarter app.*
The **⋯ More** sheet, the hand-offs and the clock buttons drop away too, since they only apply to a visit that's still ahead of you. The visit itself stays on your schedule as the record of what was booked, and the **Details** tab keeps its Service card, any after photos, and the history of your clock.
## If you don't have the app installed
Every **… in App** button is an ordinary link to the marketplace's pro site, opened in a new tab. On a phone with the marketplace app installed, your device hands the link to the app and you land on that exact job screen. Without the app — or when you're working at a computer — the same link opens the marketplace's **pro website** in your browser instead, and takes you to the same screen once you've signed in.
Either way you end up in the right place, so there's nothing to install first and nothing to dismiss.
## Where the start time comes from
The marketplace tells ProBase **which day** a visit is due, but it doesn't set a clock time for it. ProBase fills in a sensible start time and length when the visit first syncs in, so it has a real place in your route:
* **A repeat visit copies the last one.** If you've already completed a visit for that same customer and service, the new one lands at the same time of day, with the same expected length, assigned to the same crew. Keep finishing them at 7:30 AM and the next one shows up at 7:30 AM.
* **A brand-new job starts at 9:00 AM.** With no history to copy, ProBase puts the visit in a 9:00 AM slot in your business's time zone — unless the marketplace sent an arrival window with an actual time on it, in which case that window's start time is used instead. Most marketplace jobs come across with a due *day* only, so 9:00 AM is what you'll usually see.
* **The expected length is a best guess.** ProBase uses the estimate on a matching service in your [service catalog](/getting-started/service-catalog) if it finds one, otherwise how long that kind of visit usually takes you, and falls back to 60 minutes if it has nothing to go on. No crew is assigned to a brand-new job.
Visits are always dated in your business's time zone, so a job due tomorrow on the marketplace lands on tomorrow in ProBase. Check your [Timezone setting](/getting-started/settings#timezone) if dates look off by a day.
Every one of these is just a starting point — move it from the header card's date-and-time row.
## Adjusting the time for the day
The marketplace owns the *day* a job happens on, but you own how your day is arranged.
On the visit page, tap the **date and time** row in the header card. On your own jobs that row offers a choice of **Change time** or **Reschedule**; on a marketplace job it goes straight to **Edit Time**, because the day isn't yours to move.
The **Edit Time** window's title names the day it's changing — for example **Edit Time on Tue, Aug 18**. Set the **Start Time** and the **Duration**, in minutes, to what you actually plan.
Tap **Save**. ProBase confirms with "Appointment time updated." and the stop moves in your day.
This change is local to ProBase — it tidies up your own schedule. To move the job to a different day, tap **Open in App** and reschedule it in the marketplace app.
The **Edit Time** window is the same one your own jobs use, so if your account has the day timeline and the recommended start time, you get them here too — the crew's other stops for that day drawn on a timeline, a pulsing block showing where this visit lands, and a suggested start time from the crew's most efficient driving order. See [Seeing the rest of the day while you pick a time](/scheduling/creating-appointments#seeing-the-rest-of-the-day-while-you-pick-a-time).
**The time you set applies to that one visit only, and it sticks.** Nothing ProBase does elsewhere — reordering or optimizing the day's route, or a later visit of the same service moving — pushes a new time onto other marketplace visits. Each one arrives from the marketplace on its own, so set the time on each as it lands and it stays where you put it.
## Cancelling
There's no **Cancel this visit** on a marketplace job, and that's deliberate: it isn't your customer's booking to cancel on their behalf.
If the visit can't happen, tap **Open in App** and reschedule or cancel it there. Cancellations made by the customer or by the marketplace come back to ProBase on the next sync, and the visit shows as **Cancelled** on your schedule.
## After a visit is rescheduled in the marketplace app
When a marketplace visit moves to another day — you moved it in the marketplace app, or the customer or the marketplace moved it — the marketplace keeps the old booking and adds a new one. ProBase copies that on the next sync, so you end up with two records:
* **The original visit stays on its old day, marked Rescheduled.** It's the record of what was originally booked, so your history stays honest. It's finished as far as your work is concerned: it drops off your daily route and your crew's day, and never turns up in [Overdue jobs](/scheduling/overdue-jobs) even though its date has passed. It keeps whichever crew was on it as part of that record — a **cancelled** visit is the one that hands the crew back.
* **The new day arrives as its own visit**, scheduled the normal way — with its own start time, expected length, and crew. See [Where the start time comes from](#where-the-start-time-comes-from).
There's nothing to tidy up on your side. The **Rescheduled** visit shows the [status notice and the customer link](#once-the-visit-is-finished), which is your way back to that customer in the app.
This is the same two-record trail you get when you [reschedule one of your own jobs](/scheduling/rescheduling-jobs) in ProBase. The only difference is where the move happens: marketplace visits move in the marketplace app, and the change comes back on the next sync.
## If a job goes back to the marketplace
Sometimes a visit stops being yours — the marketplace takes it back so another pro can pick it up, hands it straight to a different pro, or returns it to the available-to-claim pool while it waits to be reassigned. When that happens, **the job disappears from ProBase entirely** on the next sync: it drops off your calendar, your day view, and your daily route, and its visit page is gone.
That's different from a **cancelled** visit, which stays on your schedule marked **Cancelled** so you have a record of it. A job that's no longer assigned to you isn't your work any more, so ProBase doesn't keep it around at all.
* You don't have to clean anything up — it removes itself, and the crew you'd put on it gets that slot back.
* It's removed even if the visit was already hidden in ProBase — for example because you'd [archived that customer](/customers/archiving-customers).
* If the marketplace assigns the same work back to you later, it syncs in again as a fresh job.
* A job the marketplace **cancels** is different again: it stays on the customer's page marked **Cancelled**, with the visits you worked on it, even once the marketplace takes your name off it — so the record of what you did doesn't vanish with the booking. See [What the status on a marketplace service means](/marketplace/marketplace-customers#what-the-status-on-a-marketplace-service-means).
A job you never got assigned in the first place — work sitting in the marketplace's pool — never lands in ProBase at all. You'll see those in the marketplace app, or as a count on the [Available to claim](/marketplace/claiming-jobs) card on HomeBase. The same goes for a visit the marketplace hasn't dated or assigned to a pro yet — see [Why a marketplace job might not appear at all](/marketplace/how-syncing-works#why-a-marketplace-job-might-not-appear-at-all).
## Billing
A completed marketplace job doesn't create a ProBase charge or invoice — the marketplace bills the customer and pays you. Your earnings from those visits, and the deposits the marketplace sends, show up as locked entries on the **Billing History** of the customer record named after the marketplace. Nothing from marketplace work is mixed into your own invoices or the [Money](/billing/money-overview) page. See [Marketplace earnings & payouts](/marketplace/payouts).
Because there's nothing for you to bill, a marketplace visit has no invoice, no service report and no charges of its own. The **Service** card on the **Details** tab is a short summary instead: the service name, a **Frequency** row, a **Duration** row, and a **Payout** row with what the visit pays you. There's no itemised breakdown and no **Total** line. See [the service page](/marketplace/marketplace-customers#the-service-page) for more on that amount.
It's the identical summary everywhere a marketplace job shows up — the visit page, the [service page](/marketplace/marketplace-customers#the-service-page), your day's stops, and overdue jobs all read the same.
On a visit that isn't due today, the same cadence also shows in the line just under the job title, next to the visit's date — so you can tell a weekly customer from a one-off at a glance without scrolling. See [How often a marketplace service repeats](/marketplace/marketplace-customers#how-often-a-marketplace-service-repeats).
## Next steps
* [The visit page](/routes/visit-page) — the screen a marketplace job shares with your own work
* [Marketplace customers](/marketplace/marketplace-customers) — the customer, property, and service pages behind the job
* [Available to claim](/marketplace/claiming-jobs) — new marketplace work waiting for you
* [How marketplace syncing works](/marketplace/how-syncing-works) — when changes appear
# Marketplace earnings & payouts
Source: https://docs.probaseapp.com/marketplace/payouts
See what a connected marketplace owes you and what it has already deposited
## Overview
The marketplace bills the customer and pays *you*, so marketplace money is tracked separately from the invoices you send. ProBase keeps it all on **one customer record named after the marketplace** — a customer called **LawnStarter** (or **Lawn Love** / **Home Gnome**) that appears in your customer list once money starts syncing.
That record's **Billing History** is your marketplace money ledger: every job you've earned on, every tip and fee, and every deposit the marketplace has sent you.
**Two places show marketplace money, and they answer different questions.** A [marketplace service page](/marketplace/marketplace-customers#the-service-page) shows a **Payout** row — what one visit of that service pays you, so you can see what a stop on your route is worth. This ledger shows the running total: everything you've earned and everything that's been deposited.
Marketplace money is visible to business **owners and admins**, and only when a marketplace account is **Connected**. If you're connected to more than one marketplace, each one gets its own customer record and its own ledger.
## Opening the ledger
Tap **Customers** and find the record named after your marketplace — for example **LawnStarter**.
Tap **Billing History** on that record (or tap the balance at the top of the page) to open the ledger.
## Reading the balance
The line under the **Billing History** heading names the marketplace and shows the running balance. It answers one question: **what have you earned since your last deposit?**
* **A red negative amount** — for example *LawnStarter — -\$65.00* — is money you've earned since your last deposit that hasn't been sent yet
* **\$0.00** means everything you've earned so far has been covered by a deposit
* **A "credit" amount** — for example *LawnStarter — \$34.50 credit* — means a fee, a chargeback, or a correction has landed since your last deposit with no earnings yet to offset it, so the marketplace is currently owed that much back
**A deposit closes the books on everything before it.** It isn't subtracted from your running total like a customer payment — when a deposit lands, everything above it is considered settled and the balance starts counting again from the earnings that come after it. That's the same way the balance is worked out in the marketplace's own pro app, so the two numbers match.
If you've never had a deposit yet, the balance is simply your whole synced history.
**While a refresh is still running, the balance is a work in progress.** Your marketplace history comes across in chunks, and the balance is added up properly once the last chunk has landed. If the number looks off in the middle of a **Refresh** or a [**Full re-sync**](/marketplace/connecting-accounts#sync-status-and-a-full-re-sync), give it a moment and reload the page — the total corrects itself as soon as the run finishes.
## What's in the ledger
The ledger holds two kinds of entry — the amounts that build up what you're owed, and the deposits that settle them:
| Entry | What it is |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Job earnings** (red) | What a completed marketplace visit earned you. The title comes from the marketplace — for example *LawnStarter Job — Lawn Mowing at 10315 Taraby Ct* |
| **Tips and bonuses** (red) | Extra amounts the marketplace added on top of the work, added to what you're owed |
| **Fees, deductions, and adjustments** (usually green) | Amounts the marketplace held back or took back — a fee, a chargeback, a correction — which reduce what you're owed. A correction that goes your way instead adds to it and shows in red |
| **Deposits** (green) | Money the marketplace actually sent, titled the way the marketplace words it — for example *Direct Deposit Initiated* or *Payout Confirmation*. A deposit is a settlement marker rather than a running total, so it clears everything above it instead of being counted into the balance |
Entries are grouped under the date the money moved on the marketplace, newest first.
**Deposits reach ProBase two ways, and both count the same.** The marketplace announces a payout on its deposit feed (*Direct Deposit Initiated*) and also records the payout itself on your billing history (*Payout Confirmation …*). Whichever one it is, ProBase treats it as money sent: it shows in green, sits under the **Payments** filter, and settles everything above it.
A deposit that doesn't go through arrives as **Direct Deposit Failed**, backing out the full amount of the deposit it voids so your ledger reflects what actually reached your bank. You don't need to correct anything by hand.
### Entry details
Tap any entry to open a read-only panel with the amount breakdown (subtotal, tax, total) plus whatever the marketplace sent along — the property, the service, and the appointment date for job earnings, or the confirmation number for a deposit.
Some entries have no job attached — a bonus, a general adjustment, or earnings from a visit that happened before you connected and so was never on your ProBase schedule. Those are full ledger entries all the same (and count toward the balance when they fall after your last deposit); their detail panel simply has no property, service, or visit to show.
### Finding an entry
The ledger uses the same controls as any other customer's billing history:
* **Search billing history** by title
* **All Types** to narrow the list to **Charges**, **Credits**, or **Payments**
* **Select a date range** to limit the entries to a period
On this record, **Payments** means the money the marketplace sent you — every deposit, including the reversal of a failed one. **Charges** lists everything that adds to what you're owed (job earnings, tips, bonuses) and **Credits** lists what comes back off it (fees, deductions, adjustments). Neither of those two mixes deposits in, so **Payments** is the filter to use when you want to see just the deposit history.
## Keeping it current
The **Last synced … Refresh** line at the top of the page is the update-now path for marketplace money — tap **Refresh** to pull the latest earnings and deposits straight from the marketplace. The link reads **Syncing…** with a spinning arrow while it works (the timestamp stays put), and the page reloads with whatever came across.
Your full money history is long, so this one takes longer than refreshing a customer or a job — it keeps saying **Syncing…** while the earnings and deposits come across in the background, then reloads on its own. If it can't finish, the line turns into a short message with a **Try again** link.
Marketplace money also refreshes on its own with the **nightly full refresh**, and any time you run **[Full re-sync](/marketplace/connecting-accounts#sync-status-and-a-full-re-sync)** on the account's card under **Integrations**.
The 15-minute background check that keeps your jobs current doesn't pull the money side, so **Refresh** here is the fastest way to see a deposit that just landed. See [How marketplace syncing works](/marketplace/how-syncing-works).
Marketplace ledger entries are locked. **Record payment**, **Add Charge**, and **Add Credit** don't appear on this record, and you can't edit or delete an entry — it's the marketplace's record of what it owes and what it paid. If the marketplace adjusts or reverses something (a refund or a chargeback), it arrives as a new entry rather than changing the original. The only thing a sync ever changes on an entry already in your ledger is *which kind* it is — see [If the balance doesn't look right](#if-the-balance-doesnt-look-right) — never an amount or a date.
## If the balance doesn't look right
Because a deposit settles everything above it, an entry filed as the wrong kind can throw the running total off — a payout that wasn't recognized as a deposit, for example, wouldn't close the books the way it should.
Tap **Refresh** at the top of the Billing History (or run a [**Full re-sync**](/marketplace/connecting-accounts#sync-status-and-a-full-re-sync) on the account's card under **Integrations**). ProBase re-reads your marketplace history and, as well as picking up anything new, re-checks how every entry it already has is filed — correcting any that were sorted wrongly and working the balance out again.
A refresh only ever corrects **which kind** an entry is; the amounts and dates the marketplace sent are never changed, and nothing is added or removed from your history. So it's always safe to run when a number looks off — and if the total still doesn't match the marketplace's own pro app afterwards, [get in touch](/support/contact-support).
## What marketplace money does *not* affect
* The **Overdue**, **Unpaid**, and **Paid (MTD)** cards and the invoice list on the [Money](/billing/money-overview) page count only your own ProBase invoices — marketplace money is never blended in
* Marketplace jobs don't create invoices, so nothing to send or collect appears when one is completed
* Marketplace entries carry no **Paid** / **Unpaid** status, because there's nothing for you to collect — the marketplace already handled the customer's payment
* The marketplace customers you serve have no balance or billing history of their own in ProBase; the money sits on the marketplace's record instead
See [Money overview](/billing/money-overview) for the rest of the Money page and [How billing works](/billing/how-billing-works) for your own charges and invoices.
**This record sticks around.** Syncing removes marketplace customers who leave your book, but the record named after the marketplace is never one of them — your earnings and deposit history stays intact even when your customer list changes a lot. See [Work that disappears from the marketplace](/marketplace/how-syncing-works#work-that-disappears-from-the-marketplace).
The ledger holds your **complete** marketplace billing history, not just the visits sitting on your ProBase schedule — it goes all the way back through your marketplace record, however many years that is. Earnings from a job that was never synced — older history, or work finished before you connected — appear here too; they just aren't linked to a visit you can tap through to.
Because it pulls everything, the very first time your money history syncs it can take a few minutes to land, and it arrives in chunks rather than all at once. See the note on [reading the balance mid-sync](#reading-the-balance).
## Next steps
* [Marketplace jobs](/marketplace/marketplace-jobs) — the work behind the earnings
* [Marketplace customers](/marketplace/marketplace-customers) — why the customers themselves have no balance
* [How marketplace syncing works](/marketplace/how-syncing-works) — refresh timing
# Cancelling a visit
Source: https://docs.probaseapp.com/routes/cancelling-visits
Call off one visit — or the whole job — and decide what happens to the work already on it
## Overview
Sometimes a visit doesn't happen. The customer is away, the weather turns, the gate is locked, the holiday lands on the service day. Cancelling takes that one visit off the books and leaves the rest of the job's schedule exactly where it is.
Cancelling is the only way to call off a visit. There's no separate "skip" — one action covers it, and it asks you the one question that actually matters: *what should happen to the work already sitting on this visit?*
If you just need the work on a different day, [reschedule](/scheduling/rescheduling-jobs) it instead. Rescheduling keeps the visit and moves it; cancelling ends it.
## Cancelling one visit
Open the visit from your schedule, the calendar, HomeBase, or the job page, and tap the outlined **⋯ More** button beside the main action.
It's second from the bottom of the sheet, with a line underneath naming the dates involved — *Just this one — Fri, Aug 28. Your next visit is scheduled for Fri, Sep 4.* — so you know what you're ending and what's still standing before you tap.
If this is the last visit on the books, the line reads *Just this one — Fri, Aug 28. There are no other visits scheduled.*
A sheet slides up headed **Cancel this visit?**. Tap the solid **Cancel this visit** to go ahead, or **Keep the visit** to back out — nothing is written until you confirm.
The visit is now marked **Cancelled** and the page re-renders into the cancelled state.
Cancelled a visit you'd already started? The clock stops on its own and the time you worked is kept on the visit — see [If the visit is called off while the clock is running](/routes/timing-a-visit#if-the-visit-is-called-off-while-the-clock-is-running).
## If someone else got there first
Two people on the same job at the same time is normal — you open the cancel sheet in the truck while the office completes, reschedules or cancels that very visit from the desk.
When you confirm, ProBase checks the visit is still scheduled before writing anything. If it isn't, the sheet closes and you get a warning instead of a confirmation:
> This visit is no longer scheduled — nothing was cancelled.
Nothing is written, and in particular **the rest of the job is left alone** — a cancel aimed at one visit never widens into the whole job because that visit had already gone. Reload the page to see where the visit actually ended up.
## Moving charges and notes forward
If the visit has **its own** [charges](/routes/visit-charges) or notes on it, **and** another visit is already scheduled, the sheet asks what to do with them rather than quietly throwing them away:
> This visit has Hedge trim · \$35.00 and notes on it. Move them to the next visit — Fri, Sep 4?
You get two answers:
* **Move to next visit** — the charges and your notes are re-parented onto the next scheduled visit. They'll be billed when *that* visit is completed. The cancelled visit records why: *Items moved to Fri, Sep 4.*
* **Don't charge for them** — the visit is cancelled and the charges go with it.
The question is only ever asked about the visit's **own** charges. A standing charge on the job rides every visit anyway, so it isn't something to move — which is why most cancels ask nothing at all and go straight to the confirm.
## Nothing is billed for a cancelled visit
ProBase bills a visit when it's **completed**, so a cancelled visit never creates a charge. That's true whether or not you moved the charges forward — if you moved them, they're billed once, when the next visit completes.
## Offering a credit on a subscription job
Customers on a **subscription** job are billed on their own schedule, whether or not a particular visit happened. So after cancelling a visit on a subscription job, ProBase offers you the chance to put that right:
> **Add a credit?**
> Sarah is billed monthly, so this still bills.
Tap **Add a credit** and the credit form opens against that customer, with the title already filled in — *Cancelled visit · Fri, Aug 28* — so the ledger row says what it's for. Set the amount and save.
Tap **Not now** if you'd rather leave the billing alone. Nothing is credited automatically — the offer is a prompt, never an action taken on your behalf.
See [Customer balances](/billing/customer-balances) for how credits show up on the account.
## Cancelling the whole job
**Cancel job** is the last row of the **⋯ More** sheet, in red. It ends the job, not just this visit.
* Every **upcoming** visit for the job is cancelled
* Past completed visits and the invoices for them are untouched
* A visit someone was in the middle of working has its [clock stopped](/routes/timing-a-visit#if-the-visit-is-called-off-while-the-clock-is-running), and the time already worked is kept on it
* You can add an optional reason
Tap **Cancel job** to confirm, or **Keep the job** to back out.
Cancelling a job can't be undone. To start the work up again you'd create a new job for the customer.
## What a cancelled visit looks like
A cancelled visit keeps the same page, but everything that captures work drops away — no timer, no briefing, no checklists, no charge row. There's nothing to do on it any more.
The **Visit** tab leads with **Why it was cancelled**:
* The note ProBase recorded — for example *Items moved to Fri, Sep 4* — or the reason entered when the job was cancelled
* *No reason was recorded.* when there's nothing to say
* The history line underneath: *Cancelled by Callie Gates · Wed, Aug 26*
The header still shows the customer and property rows, so you can still reach the customer about a visit you called off this morning. The [History card](/routes/timing-a-visit#the-history-card) at the bottom of the tab holds the full log.
Visits marked **Skipped** on older jobs still show correctly wherever they appear — that status is part of your history. New visits are cancelled rather than skipped.
## Cancelling from the day's list
You don't have to be on the visit page. Overdue visits can be cleared the same way — open the visit from [Overdue Jobs](/scheduling/overdue-jobs), tap **⋯ More → Cancel this visit**, and the list drops it.
## Who can cancel
Cancelling a visit needs the cancel permission, and only on a visit assigned to a crew you work. Roles that can't cancel don't see the row in the sheet at all. **Cancel job** needs permission over the job itself. See [Roles and permissions](/team/roles-and-permissions).
Marketplace visits can't be cancelled from ProBase — that happens in the marketplace app. See [Marketplace jobs](/marketplace/marketplace-jobs).
## Next steps
* [Rescheduling jobs](/scheduling/rescheduling-jobs) — move a visit instead of ending it
* [Charges on a visit](/routes/visit-charges) — what gets moved forward
* [Managing services](/customers/managing-services#cancel-job) — cancelling a job from the job page
# Completing a visit
Source: https://docs.probaseapp.com/routes/completing-jobs
Finish the work, review what the customer will see, and mark the visit done
## Overview
When the work is finished, you complete the visit. The completion flow is short by design: answer anything still required on your checklists, check the notes you've been writing all along, look at the report the way the customer will read it, and tap **Complete visit**. The last step offers to send that report to the customer.
Most of the work is already done by the time you get here — your notes came from the [notes pad](/routes/job-notes-and-photos#the-visit-notes-pad) on the visit, your photos came from the **After photos** [checklist](/checklists/completing-checklists), and anything extra you charged for is already on the visit.
**For jobs:** completing the visit stamps the finish, saves your notes, and (for per-visit billing) creates the charge on the customer's account.
**For assessments:** completing the visit records what you found and lets you turn it into a quote.
## Starting the completion
Where **Complete visit** sits depends on where the visit is:
| Where the visit is | Where to find Complete visit |
| ------------------------------------- | --------------------------------------- |
| Due today or overdue, not yet started | The quiet action under the main buttons |
| Working or paused | The solid button |
| Scheduled for a future day | In the **⋯ More** sheet |
You can also start it straight from the day's schedule without opening the visit — every stop card carries a **Complete** button.
If the visit is still running, completing it stops the clock. See [Timing a visit](/routes/timing-a-visit).
## The checklist step
If any [checklist](/checklists/overview) on the visit still has **required** questions unanswered, those checklists open first — one screen at a time, headed **Checklist 1 of 2**.
* **Continue** stays blocked while a required item on that page is still blank, with a line telling you so: *Answer the required items before you can complete the visit.*
* A counter under the title tracks where you are — *3 of 8 answered · 1 required remaining*
* The back chevron never blocks. Back out at any point and your answers are still saved; backing out of the first page just closes the flow
Checklists with nothing required left — or nothing required at all — don't open a page. If every checklist is already satisfied, you land straight on the form.
## The completion form
One screen, headed **Complete visit for \[First name]** with the property address underneath.
### Visit notes — private
Your own record of the visit. It arrives **already filled in** with whatever you typed into the visit's notes pad while you were working — edit it, don't retype it. Only you and your crew ever see this.
### Customer notes — the service report
A short, friendly description of what you did. This is what appears on the customer's service report and invoice.
Tap **AI Assist** (✦) and ProBase drafts it for you from your private visit notes, and at the same time pulls any structured records out of them. See [Letting AI write it up](#letting-ai-write-it-up) below.
### Records from your notes
If AI Assist found measurements, materials or observations in your notes, they're listed underneath as rows you can check before they're saved:
Each row leads with what kind of record it is — **Reading**, **Adjustment**, **Material** or **Observation** — followed by the fact itself (*pH → 7.4 pH*, or the text of the observation). Records the assistant drafted are marked as such until you've looked at them.
Two buttons on every row:
* **Edit** (pencil) opens that one record on its own screen so you can correct a value. Tap **Done** to come back.
* **Remove** (✕) drops it.
There's no **Add** button here. Records are pulled out of your notes — write what you did in plain language in the visit notes and let AI Assist structure it. Pool chemistry you captured on a checklist arrives as records automatically. See [Service records](/routes/service-records).
### What \[first name] will see
The last block on the form is the service report exactly as the customer will read it: your customer notes, and the **After photos** from the visit as a grid of tiles.
Tap the small ✕ on a photo to leave it **out of the report**. The photo stays on the visit — you just aren't sending it. The count under the grid updates as you go.
Photos get onto the report by being added to the **After photos** checklist on the visit. There's no photo upload on the completion form itself. See [Before and after photos](/checklists/system-checklists#before-photos-and-after-photos).
### Setting a trade
If the job has no [trade](/getting-started/industries) yet, a short prompt offers to set one so future jobs of the same kind capture the right details.
### Finishing
Tap **Complete visit** at the bottom of the form.
For most recurring jobs, the next visit is already on the calendar as part of the [pre-scheduled chain](/scheduling/future-visits), so there's nothing more to do — the form shows a **Next visit** line confirming the date and finishes there.
## Scheduling the next visit (only when none is booked)
If a recurring job has **no** upcoming visit on the calendar, one more step appears so you can book it. The date and time are pre-filled from the job's frequency.
Tick **Skip scheduling** if you'd rather not book it now — the date fields disappear and the job is left without a future visit. Tap **Schedule** to create it, or **Done** if you ticked the box.
For cancelled jobs this step never appears, since no future visits should be created.
## What a completed visit looks like
The visit keeps the same page. What changes:
* A **rating card** slides in under the header — *No customer rating yet* until the customer rates the visit
* **What happened** appears next — who completed it, when you were on site, how long it took, whether the **Report** has gone out, and what the visit **Charged**. See [Timing a visit](/routes/timing-a-visit#what-happened-after-the-visit).
* The **Checklists** card carries a **Read-only** badge, and the rows show exactly what was captured, including the photos
* A **History** card at the bottom of the **Visit** tab lists every moment on the visit
* **Send service report** becomes the main button, with **Schedule another visit** underneath it
### Going back in to fix a checklist
Spotted a mistake? While the report **hasn't been sent yet**, a pencil sits beside the **Checklists** heading. Tap it and the card flips to **Editing** — the rows become answerable again, against the questions exactly as they were when you completed.
Tap **Done** when you're finished and the record is re-stamped.
Once the report has gone to the customer, the pencil disappears and the card says so: *The report has been sent, so this visit's record is fixed.* Every reopen and every edit is logged on the **History** card.
## Sending the report
As soon as the visit is stamped complete, the **send report** step opens in place of the form: the report as the customer will read it, a switch to send the invoice with it if money is due, and the message ready to text.
Tap **Send SMS** or **Copy link** to share it, or **Not now** to close the step — the visit is already complete either way, and the report stays on the visit to send later.
See [Sending the service report](/routes/sending-service-reports) for the whole step, including the invoice switch and what the customer opens.
The step is skipped for [assessments](#completing-an-assessment-visit) and [marketplace visits](/marketplace/marketplace-jobs) — neither has a service report — and for team members whose role can't send one.
## Getting the invoice to the customer
Sending the invoice **with** the report is one switch on the send step. If you'd rather send it on its own, the **Charged** row under **What happened** on the completed visit shows what the visit billed — *\$85.00 · Draft invoice* — and its chevron opens that invoice.
From the invoice page, **Send Invoice** marks it sent and opens the SMS step with the payment link ready to share.
See [Sending payment links](/billing/sending-payment-links) for the full flow.
A visit that created no charge — a subscription visit, or a $0 job — has no **Charged** row at all, rather than a row reading $0.00.
## Scheduling another visit for the same job
A completed job visit also offers **Schedule another visit**. It opens the same scheduling window you'd use anywhere else, on the same job.
If the job was a one-time job that finished when you completed this visit, booking a new visit puts it back to **Active** automatically — you don't have to reopen anything first. Backing out of the window without saving leaves the job completed.
## Completing an assessment visit
[Assessments](/customers/assessments) are on-site evaluation visits: you go out, see the property, and decide what to quote. Completing one is deliberately light.
Open the assessment from the **Assessments** screen, the calendar, the day's schedule, or the customer's page. Once you've started the visit, **Mark assessment complete** is the solid button.
If the assessment has a checklist with required questions left blank, it opens the same one-page-at-a-time step a job does.
Type what you found in the **Notes** field. These are private — *only you see these notes* — and they carry into the quote so you don't have to remember the details later.
| Button | What happens |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Complete and create quote** | The visit is marked complete and a draft quote opens right away, carrying your notes and the visit's photos |
| **Complete — quote later** | The visit is marked complete and the assessment moves to **Ready to quote** |
| **Close assessment** | There's no work to quote — the close sheet opens so you can record a reason |
If you chose **Complete and create quote**, an empty draft quote opens with a **Context from Assessment** card at the top — your notes, the customer's own words, their answers, and any photos, all in one place while you add services and pricing.
See [Adding services to the quote](/customers/creating-quotes#adding-services-to-the-quote) for the full workflow.
Backing out of the draft quote doesn't lose anything — the assessment stays at **Ready to quote** until you save the quote's first service.
## Your work is saved as you go
Step away mid-completion and nothing is lost:
* **Visit notes** and **Customer notes** save when you tap out of the field
* **Checklist answers** save as you enter them
* **Photos** are attached to the visit the moment they upload
Reopen the flow later — even on a different phone — and everything is where you left it.
## Letting AI write it up
On accounts with AI assistance, you don't have to structure anything by hand:
1. Write your notes naturally in the visit's notes pad while you work, or in **Visit notes** on the form
2. Tap **AI Assist** (✦)
3. ProBase drafts a **Customer notes** summary and pulls any records out of your text
4. Check the **Records from your notes** rows — edit or remove anything that isn't right
5. Tap **Complete visit**
A note that parses well:
> "pH was 7.2, chlorine at 3 ppm. Added 2 lbs shock. Pool looked clear, no algae."
becomes:
* Reading: pH → 7.2 pH
* Reading: Chlorine → 3 ppm
* Adjustment: Shock → 2 lbs
* Observation: "Pool looked clear, no algae"
If the job has checklists with **written** answers on them, ProBase can run this analysis **automatically** the moment you finish the checklist step — you'll see a full-screen **"Analyzing your visit…"** indicator while it drafts. Checklist answers marked **Include in service record** are reconciled against those drafts, so a reading you captured on the checklist is saved once, with the value as you left it on this form. See [One record per reading, even with AI Assist](/checklists/completing-checklists#one-record-per-reading-even-with-ai-assist).
Photos aren't part of that draft. A visit whose checklists hold nothing but pictures — the usual **Before photos** and **After photos** on a job with no other checklist — has nothing to analyse, so no waiting screen appears and you go straight to the form. Tap **AI Assist** yourself once you've written your notes. See [It only drafts from what you wrote](/checklists/completing-checklists#it-only-drafts-from-what-you-wrote).
**If AI Assist can't run right now.** It's a convenience, never a requirement. If the assistant is busy or slow you'll see *"AI assist is unavailable right now. You can still add records and notes manually."* — nothing you've entered is lost, and you can complete the visit as usual or tap **AI Assist** again to retry.
## What happens when you complete
1. The visit's status changes to **Completed** and the clock stops
2. Your notes and any records are saved
3. **Per-visit billing**: a charge is added to the customer's account for the service price, plus a separate charge for every [visit charge](/routes/visit-charges) you added
4. **Subscription billing**: the subscription is billed on its own schedule — only your visit charges are billed on completion
5. **Recurring jobs**: the next visit is already on the calendar (or you book it from the last step)
6. The **send report** step opens so you can tell the customer what you did
See [How billing works](/billing/how-billing-works) for the money side.
## Completing a visit on a cancelled job
If a cancelled job still has a scheduled visit that needs finishing, you can still complete it. The flow is identical, except that the "schedule next visit" step never appears and no future visits are created. Charges are still created for per-visit billing.
## Next steps
* [Sending the service report](/routes/sending-service-reports) — the step that opens next
* [The visit page](/routes/visit-page) — everything else on the screen
* [Timing a visit](/routes/timing-a-visit) — the clock and What happened
* [Completing checklists on a job](/checklists/completing-checklists) — filling them in as you work
* [Service records](/routes/service-records) — where the structured details end up
# Daily crew schedules
Source: https://docs.probaseapp.com/routes/daily-crew-schedules
View and manage today's appointments
## Overview
The daily schedule view shows you the day's work at a glance. It displays all appointments for the selected date with progress tracking, customer information, and easy access to appointment details. This view is optimized for mobile use in the field.
## Access the daily schedule
Click **Schedule** in the sidebar to view today's appointments. The **Day** view is the default — if you've switched to the Week or Month view, tap **Day** in the view picker at the top of the page to return to it.
The page shows:
* Progress counter (e.g., "1 of 3 stops completed")
* All appointments for the selected date
* Customer names and service information
* Appointment times and statuses
* Crew assignments with color coding
## View modes
On a phone or other narrow screen, the daily schedule shows one panel at a time and gives you a toggle to switch between two view modes. On a wider desktop screen, both panels appear side by side at once — see [Desktop layout](#desktop-layout) below.
The two view modes are:
### Card view (default)
Shows appointments as cards with customer names, service details, addresses, and times.
**Scheduled appointments** show as full cards you can tap anywhere to go to the appointment detail page. Each card displays:
* The job name, with any [charges added to this visit](/routes/visit-charges) listed below it — each one a type icon, its name, and its price
* Total appointment duration
* Scheduled start time
* Property address
**Completed appointments** collapse to a compact row showing the customer name, the service name and a chevron button. The stop's circle turns dark with a white check where its number used to be, and the row keeps a **Completed 3:42 PM** line, so you can read the day's finish times without opening anything.
**Cancelled, rescheduled, and skipped visits** aren't part of the day's route at all, so they're tucked away at the end of the list behind **Show inactive visits (N)**. See [Inactive visits](#inactive-visits).
* Tap the **chevron** to expand the card and see full details — the time, the duration, the address, any charges — without navigating away from the schedule
* Tap the **customer name or service name** to open the visit page. That link works whether the card is collapsed or expanded
This is the default view and works well for quickly scanning your day's schedule.
#### Stop numbers
Every appointment card carries a number showing where that visit falls in its crew's day. The number sits in a single circle filled with the crew's colour — where the stop sits in the day and whether it's done are the same circle, so a completed stop shows the check instead of the number, and a cancelled or rescheduled visit shows no circle at all because it isn't a stop.
**Numbering starts over at 1 for each crew**, so on a day with two crews out, each crew's stops read 1, 2, 3… of their own route — the numbers on the cards are the same numbers you see on that crew's pins in the map view. Jobs that don't have a crew assigned yet are numbered as their own sequence.
Non-service stops you've added (a lunch break, a supply run) are numbered the same way. They take their own slot in the crew's order and their card shows that number in the crew's color, exactly like the crew's pin on the map — so a break between the first and second job of the day reads 2, and the job after it reads 3. Card numbers and map pins always line up.
Stop numbers are a **Day view** feature — they follow one day's running order, so the [Week view](/scheduling/weekly-schedule) doesn't show them.
If you want a single running list of stops from first to last, filter to one crew using the crew filter. With **All crews** selected you're looking at several routes interleaved by time, so the numbers repeat.
### Map view
Shows all appointments plotted on a full-color, interactive map. The map displays:
* Appointment locations as numbered pins in the crew's color, numbered from 1 in the order that crew works the day — the same numbers shown on the cards in the card view. Each crew's pins are numbered independently, so with several crews out you'll see more than one pin 1 on the map.
* Any non-service stops (a lunch break, a supply run) as numbered pins too, in the same crew sequence as the jobs around them
* A small status badge on the corner of a pin when a stop is completed (green checkmark), cancelled (red X), or not yet assigned to a crew (amber)
* Where each crew starts and finishes, drawn as a **home** pin and a **flag** pin (one home pin alone when the crew ends where it starts, and nothing at the end when there's no end address). When no crew filter is applied, every crew with a start location is drawn; when a crew is filtered, only that crew's pins show
* The **next stop** — the first one on each crew's route that isn't done yet — drawn larger than the rest, so you can pick it out at a glance
* The driving path between the day's stops, drawn as a line in the crew's color
* Visual overview of the day's route geography
#### Street map or satellite
A small button in the corner of the map switches the background between the full-color **street map** and **Satellite** imagery. The button always names the view you'd switch *to*, so it reads **Satellite** while you're looking at the street map, and **Map** once you've switched over.
Until you press it, the map picks for you as you zoom: zoomed out to see the whole day it stays on the street map, where road names and neighbourhoods are easiest to read, and it flips to satellite once you zoom right in on a single stop. Pressing the button hands the choice to you and stops the automatic switching for that map.
#### When the drive path can't be shown
Sometimes the routing service can't work out a driving path between the day's stops. This happens when a stop's address landed somewhere the road network can't reach, and it comes in three flavours:
* **The stops can't be connected to each other** — for example one pin sits on an island, across a body of water, or somewhere only a ferry serves.
* **A stop has no road anywhere near it** — a mis-typed address, a pin dropped in the middle of a lake or an open field, or a very large rural parcel whose centre point sits far from the nearest street.
* **The drive between two stops is impossibly long** — an address that geocoded to the wrong country or continent (usually a typo in the street or city, or a missing state) puts thousands of miles between two of the day's stops, which is further than the routing service will plan.
Whichever it is, the map still plots all of your pins and a notice appears along the bottom:
> **Route could not be computed between some of these stops, so the drive path isn't shown.**
Your stops, times, and crew assignments are unaffected — only the drive line is missing. To get the line back, check the pin positions on the map, then open the customer's property and correct any address that landed in the wrong place. See [Properties and addresses](/customers/properties-and-addresses).
If the map zooms way out to fit all of the pins, or one pin sits far away from the rest of your day, that stop's address is the one to fix first — it's almost always a typo in the street or city, or a missing state.
On a narrow screen, tap either view mode button at the top of the page to switch between views. Your preference is remembered across sessions. The toggle stays responsive even while the map is still drawing its route, so you can switch straight back to the card view (or change tabs) without waiting.
## Desktop layout
On a wider desktop screen, the day view splits into two columns instead of one. The stop list stays on the left, and the route map fills the remaining space on the right. Because both panels are visible at the same time, the card/map toggle is hidden — there's nothing to switch between.
The map stays pinned in place as you scroll the stop list, so you can work down your day's stops while keeping the full route geography in view.
Everything else — the progress counter, crew filter, search, Reorder stops, Add stop, the Home card, and depot markers — works the same way in both layouts.
## Filter appointments
### Filter by crew
Tap the crew filter (the funnel icon with colored circles) to choose which crews appear. It's a multi-select list, so you can show one crew, a few, or all of them — see [Filter by crew](/scheduling/weekly-schedule#filter-by-crew) for the full rundown. When you narrow it to a single crew that has a configured start location, a **Home** card appears at the top of the day's stops in the card view, and start/end markers appear on the map view. If your account only has one crew, the filter is applied automatically — the Home card shows up without you having to choose a crew first.
### Search
Type in the search box to filter appointments by:
* Customer name
* Service name
Results update as you type, making it easy to find specific appointments.
## View appointment details
Tap any **scheduled** appointment card to open the appointment detail page. For **completed, cancelled, or rescheduled** appointments, tap the chevron to expand the card first, then tap the customer name or service name to navigate to the detail page.
From the appointment detail page you can:
* See full customer and property information
* View service details and frequency
* Check scheduled times and assigned crew
* See appointment status and history
* Complete, reschedule, or cancel the appointment
* Add notes or view completion records
Tapping the back arrow on the appointment detail page returns you to the exact schedule view you came from — the same date, view mode, crew filter, and search. You can dip into a job and come straight back to where you left off without re-applying anything.
## Texting the customer you're on your way
Every stop card carries a **Text on my way** button, and so does the top of a visit that hasn't been started yet. It never sends anything by itself — it opens a sheet with the message already drafted so you can read it before it goes.
The sheet is headed **On my way** — *We drafted this. Send when you're ready.* — and holds:
* The customer's name, so you can see who it's going to
* The message itself, in a box you can edit before sending. ProBase drafts *"Hi \[first name], on my way."* unless you've saved your own wording for this property
* **Save this message for \[address]** — a switch that remembers what's in the box for this property
* **Send SMS**, which hands the text to your phone's messaging app with the number and message filled in. **Copy** puts the message on your clipboard instead — handy on a computer, and it's what you get if the customer has no phone number on file. **Not now** closes the sheet
### Saving your own wording
Most crews say the same thing every time, so you can write it once. Edit the message, turn **Save this message for \[address]** on, then tap **Send SMS** or **Copy** — the wording is saved against that property as you send.
The next time anyone on your team taps **Text on my way** for that property, the box opens with your wording instead of the default.
The switch is off every time the sheet opens — a one-off tweak for today's visit ("running 20 minutes late") doesn't overwrite what you saved. To go back to the default wording, clear the box, turn the switch on, and send.
The message is saved **per property**, not per customer, so a customer with two addresses can have different wording on each.
## Quick actions
### Floating Action Button (FAB)
The FAB in the bottom-right corner provides quick access to common creation tasks:
* **New Customer** - Add a new customer to your account
* **New Job** - Create a new job and optionally schedule the first appointment
* **New Quote** - Start a quote for a customer and property
* **New Assessment** - Start an assessment when you need a look at the property before you can price the work
Tap the FAB to expand the menu and select an action. Each item only appears if your [role](/team/roles-and-permissions) can create that kind of record — see [Quick Actions](/getting-started/quick-actions).
## Change the date
By default, the daily schedule shows today's appointments. To view a different date, use the date picker at the top of the page to select another day.
The view will update to show appointments for the selected date. If there are no appointments scheduled, you'll see an empty state message.
When you return to the page, your view preference (card or map) is remembered.
The Schedule page also remembers where you left off **for the rest of the day**. If you set a date, switch tabs, pick a crew, or run a search and then navigate away, returning to **Schedule** from the sidebar brings you right back to that same view. The next day, the page automatically resets to today with filters cleared, so you always start fresh on the current day's work. Even if you leave the Schedule page open overnight, refreshing it the next morning snaps it back to today's work automatically.
## Progress tracking
At the top of the page, a progress counter shows how many stops have been completed out of the total scheduled for the day. This helps you track progress throughout the day and see at a glance how much work remains.
The counter updates automatically as you complete appointments.
## What the day tells you before you start
Above the stops, the Day view puts up to three things in front of you — only when they apply.
### Needs you
A card headed **Needs you** lists what's blocking the day. Today that's one row: *"2 jobs on this day need a crew"*, with the customers named underneath and a count. Tap it to open [Jobs that need a crew](/scheduling/jobs-without-assigned-crew) for this day; the back arrow returns you to the day and crew filter you left.
The card only appears on teams with more than one crew, and only to roles allowed to assign crews.
### How the day is going to go
Beneath that sits a single note about whether the crew's day fits its hours:
* **Before any work starts** — *"This day runs 47 min past 5:00 PM."* with a verb beside it: **Reorder** (opens [Reorder stops](/routes/reordering-routes)) or **Rebalance** (opens [Rebalance this day](/routes/rebalancing-the-day)) when no reordering would make the day fit.
* **Once work has started** — *"Running about 35 min behind — last job would finish about 5:20 PM."*
The running-behind note is shown once a day, and again only if the delay doubles — it's a heads-up, not a nag. A crew with no **End time** saved is never warned, because ProBase has nothing to measure the day against. See [Working hours](/getting-started/adding-crews#working-hours).
Both the note and the finish line below it are about **one** crew — the only crew on the team, or the crew you've filtered to. Looking at several crews at once, you get one finish line per crew instead, each with its colour dot and name.
### The day's finish line
Under the stop counter sits a plain line about where the day is heading: **Planned finish 3:10 PM** before anything is done, **Next Maria Lopez, 11:20 AM · finish about 3:10 PM** once work has started, and **All 9 done — finished 2:47 PM.** at the end. Only the header line moves — the stop cards keep their planned times.
## The day's ⋯ More menu
Beside **Reorder stops** and **Add stop** sits a **⋯** button. It only appears when there's something in it.
* **Undo the reorder — 34 min saved** — puts the day back after an optimization, for as long as the undo is good (until the first stop on the day is completed, or the day passes).
* **Rebalance this day** — opens [Rebalance this day](/routes/rebalancing-the-day). Multi-crew teams only.
* **Show inactive visits (N)** / **Hide inactive visits** — the same switch as the toggle at the end of the list, so it's reachable from the map view too.
### When ProBase reorders a day for you
With [automatic optimization](/getting-started/settings#optimize-my-routes-automatically) switched on, ProBase reorders days in the background — and tells you the next time you open one: *"ProBase reordered this day — 22 min saved."*, or *"ProBase reordered this day and moved 2 jobs to Alex — 41 min saved."* **Undo** sits beside the message, and stays in **⋯ More** for as long as it's good. A day is only reordered when the new order saves driving, and a time figure only appears when time was actually saved — see [Background auto-optimization](/routes/optimizing-routes#background-auto-optimization).
## Inactive visits
A visit that was **cancelled**, **rescheduled**, or (historically) **skipped** isn't driven to, so it takes no stop number, doesn't count toward the day's total, and isn't drawn on the route. The active stop after it is numbered as if it weren't there.
They aren't hidden, just folded away: **Show inactive visits (N)** sits at the end of the stop list.
Tap it to see them — each card says what happened and, for a rescheduled visit, where it went. The customer and service names are struck through, and the card carries no stop number.
Your choice sticks as you move between days, and it drives the map too: with the group open, inactive stops get pins as well.
## Assigning a crew without leaving the day
A stop with no crew carries an amber **Not assigned to a crew yet** line on its card, and its circle is grey rather than a crew colour. The line is the control: tap it and the **Assign a crew** sheet opens right there — each crew row showing what its day would look like with this visit on it, for example *"6 jobs · finishes 4:40 PM"*. Tap a crew and the card takes that crew's colour immediately.
## Crew depot locations
When you filter to a single crew that has a configured start location, ProBase shows where that crew begins their day so you can see the full route at a glance.
### Home card on the card view
In the card view, a **Home** card appears at the very top of the day's stops with the crew's start address. Tap the chevron to collapse or expand the card — the address is hidden by default to keep the day's stops front and center.
If your account has only one crew, the Home card appears automatically once that crew has a start location set — no need to pick a crew from the filter.
### Start and end markers on the map view
In the map view, the crew's endpoints appear for every crew currently in scope, drawn as themselves: a **home** pin where the day starts and a **flag** pin where it ends. If the crew ends where it starts, there's a single home pin and the route line closes back on it; if the crew has no end address, the day simply finishes at the last job and no end pin is drawn.
With no crew filter applied you'll see the pins for each crew that has a start location — even on days when that crew has no appointments yet — so you always know where each crew begins and ends the day. When you filter to a specific crew, only that crew's pins are shown. The crew's colour is used for the route line so it's easy to follow.
A crew whose start and end addresses are different gets both pins:
A crew that returns to where it started gets one home pin, with the route line closing back on it:
And a crew with no end address saved simply finishes at the last job — there's no end pin at all:
The next stop on each crew's route is drawn larger than the others, so you can see where the crew is headed without counting numbers:
To set or update a crew's start and end locations, see [Adding crews](/getting-started/adding-crews).
## Appointment statuses
A visit's state is always written out in words on a small pill with a coloured dot beside it — never a colour on its own:
* **Scheduled** — booked for a future day, ready to work on
* **Today** — scheduled for today and still open
* **Overdue** — still scheduled after your overdue time (9:00 PM unless you've changed it in [Scheduling settings](/getting-started/settings#mark-visits-overdue-at)) on its own date; this is the one pill filled red rather than outlined. See [Overdue jobs](/scheduling/overdue-jobs)
* **Working** / **Paused** — the crew has started the clock. See [Timing a visit](/routes/timing-a-visit)
* **Completed** — the work is done; on the day list the stop's circle carries the check
* **Cancelled** — the visit isn't happening; folded into [Inactive visits](#inactive-visits)
* **Rescheduled** — shows on the new scheduled date; the old day keeps a row under [Inactive visits](#inactive-visits)
* **Skipped** — an older status kept for history. Visits are no longer skipped — [cancel the visit](/routes/cancelling-visits) instead, where you're offered the choice to move its charges and notes onto the next visit
## Marketplace jobs on the schedule
If you get work through a connected marketplace, those jobs sit on the Day view alongside your own. They carry a small **brand mark** (the marketplace's logo) next to the customer name so you can tell them apart at a glance.
They count toward your stops for the day, can be assigned to a crew, and can be reordered like any other stop — but they're completed, rescheduled, and skipped in the marketplace app. See [Marketplace jobs](/marketplace/marketplace-jobs).
## Reorder stops
The **Reorder stops** button sits at the top of the Day view and is always available — you no longer have to filter to a single crew before it shows up. Tap it to open a drag-and-drop panel where you can rearrange a crew's stops for the day into any order you prefer. The panel includes both appointments and any non-service stops you've added.
Because a route belongs to one crew, ProBase needs to know whose day you're rearranging:
* **Looking at one crew** — filtered to a single crew, or working on an account with only one crew you can act on — the reorder panel opens straight away for that crew.
* **Looking at several crews at once** — a short **Pick a crew** window opens first, listing the crews you can plan for with their color dots. Tap one and the reorder panel opens for that crew immediately — no confirm step. **Cancel** backs out without changing anything.
Drive time and distance between each stop is shown and recalculates automatically after you reorder. When you save, all stop times update to reflect the new sequence.
**Reorder stops** only appears for roles allowed to plan routes, and only once your business has at least one crew you can plan for. Field roles that work their own crews see only their own crews in the **Pick a crew** list, and the button is hidden entirely if you've filtered to a crew that isn't yours. See [Roles and permissions](/team/roles-and-permissions).
See [Reordering stops](/routes/reordering-routes) for full instructions.
## Add a stop
The **Add stop** button (next to **Reorder stops**) lets you insert a non-service stop into a crew's route — for example, a lunch break, a supply pickup, or a quick detour. These stops appear in the calendar alongside regular appointments and are included in drive time calculations.
Like **Reorder stops**, the **Add stop** button is always there — you don't have to filter to a single crew first. It shows as soon as your business has at least one crew you're allowed to plan routes for.
To add a stop:
1. Tap **Add stop**.
2. Tell ProBase whose route the stop belongs to. Every stop takes a slot in one crew's day, so:
* **Looking at one crew** — filtered to a single crew, or working on an account with only one crew you can act on — the stop form opens straight away for that crew.
* **Looking at several crews at once** — a short **Pick a crew** window opens first, listing the crews you can plan for with their color dots. Tap one and the stop form opens for that crew immediately — there's no confirm step. **Cancel** backs out without adding anything.
3. Fill in the details:
* **Name** — A short label (e.g., "Lunch Break", "Pick up supplies")
* **Address** — The stop's location. Start typing and pick from the suggested addresses that drop down over the window — see [Address suggestions as you type](/customers/properties-and-addresses#address-suggestions-as-you-type).
* **Duration** — How long the stop will take (in minutes)
4. Tap **Save**. The stop is added after the last scheduled appointment or stop for that crew on that day.
**Add stop** follows the same rules as **Reorder stops**: it only appears for roles allowed to plan routes, and only once your business has at least one crew you can plan for. Field roles that work their own crews see only their own crews in the **Pick a crew** list, and the button is hidden entirely if you've filtered to a crew that isn't yours. See [Roles and permissions](/team/roles-and-permissions).
Non-service stops appear in the calendar with a dashed border so you can tell them apart from regular appointments, and they carry their own [stop number](#stop-numbers) in the crew's color so the card matches the crew's pin on the map. Each non-service stop card has an **✕** button — tap it to delete the stop directly from the schedule. They can also be reordered or deleted using the **Reorder stops** panel.
## Pull to refresh
On mobile, you can pull down from the top of the schedule to refresh the page and load the latest appointments. This is useful when multiple crew members are working simultaneously and you want to see updates without navigating away.
A visual indicator appears at the top while the page is refreshing.
Pull to refresh only activates when you're already scrolled to the very top of the page. It does not trigger while scrolling through the list of appointments, over a map, inside an open window, or in the slide-out menu — so scrolling those never reloads the page by accident.
## Next steps
* [Complete appointments](/routes/completing-jobs) when work is finished
* [Reorder stops](/routes/reordering-routes) to manually adjust a crew's route order
* [Optimize routes](/routes/optimizing-routes) to plan efficient driving routes
* [Rebalance the day](/routes/rebalancing-the-day) to move work between crews
* [Pin a visit's time](/routes/pinning-visit-times) so routing leaves it alone
* [View the weekly calendar](/scheduling/weekly-schedule) for a broader view across multiple days
* [Marketplace jobs](/marketplace/marketplace-jobs) to work a visit that came from a connected marketplace
# Notes and photos on a visit
Source: https://docs.probaseapp.com/routes/job-notes-and-photos
The notes pad, the Notes tab, and where a visit’s photos live
## Overview
Everything you write or photograph on a job has one home. Notes about the **customer** and the **property** live on their own records; notes about **this visit** are typed into the pad on the visit's **Notes** tab; photos are taken on the visit's **Before photos** and **After photos** checklists.
Notes are different from [service records](/routes/service-records), which capture structured facts — a pH reading, a material used. Write in plain language and let AI Assist pull the records out of it.
## The visit notes pad
Open a visit and tap the **Notes** tab. The first thing on it is **This visit** — a plain box you type into while you work.
* It saves **as you stop typing** — no Save button. A **✓ Saved 4:47 PM** line sits under the box so you can see it landed.
* It's internal: *Only you and your crew see this.* The customer never reads it.
* Use your keyboard's microphone to dictate if that's quicker — it's an ordinary text box.
* What you type here arrives **already filled in** as the **Visit notes** on the [completion form](/routes/completing-jobs#the-completion-form), so you edit rather than retype at the end of the job.
* The [briefing](/routes/visit-page#the-ai-briefing) reads it too.
Leave the page and come back — even on another phone — and the text is still there.
Once a visit is completed or cancelled the pad stops being editable and shows what you wrote as a plain panel. If your [role](/team/roles-and-permissions) can't save visit notes, you see the same read-only panel.
## The Notes tab
Under the pad, the same tab gathers every other note that applies to this visit — **read-only**, grouped by where it was written, each note showing when it was added:
* **This visit** — notes already saved on this visit, including the visit notes from a completed job
* **Property** — gate codes, parking, pets, where the spigot is
* **Job** — anything written on the job itself. A note that came across when you accepted a quote is labelled *Carried over from the quote — Aug 17*
A group with nothing in it isn't shown, and a visit with no notes at all reads **No notes yet.**
There's no **Add note** row here on purpose — a note belongs to the record it's about. Add property and customer notes on their own pages ([Adding customer notes](/customers/adding-notes)), and everything you want to say about *this* visit goes in the pad.
## Photos on a visit
Photos are taken on checklists, not on a notes form. Every job carries two ProBase checklists for them, pinned to the top of the **Checklists** card on the **Visit** tab:
* **Before photos** — how you found it. Kept to your crew unless you tick **Include before photos** when you [send the report](/routes/sending-service-reports#whats-on-the-send-step)
* **After photos** — how you left it, *Shared with the customer.*
Tap the row, then the upload area, and pick or take your pictures. They upload one at a time and appear as tiles — tap a tile to see it full size, or its **✕** to remove it.
While they go up, the upload area says where it stands — **Uploading 1 of 2 · 45%** — and a photo the signal drops on is retried for you. If one still doesn't make it, a line names it so you know what to pick again.
Your **After photos** are the ones the customer sees. On the [completion form](/routes/completing-jobs#what-first-name-will-see) they appear in the *What \[first name] will see* preview, where you can drop any single photo out of the report without deleting it from the visit.
On a completed visit the same **After photos** row shows what was captured, read-only.
See [Before photos and After photos](/checklists/system-checklists#before-photos-and-after-photos) and [Taking photos](/checklists/completing-checklists#taking-photos) for the full detail.
## Customer and property notes
Both live in the **Notes** card on the customer page and on each property page, with a **Customer** tab and a **Property** tab.
1. Go to **Customers** and open the customer (or open a specific property's page)
2. Scroll to the **Notes** card
3. Choose the **Customer** or **Property** tab
4. Tap **Add note**
5. Write your note and optionally attach photos or files
6. Tap **Save**
Tap a note to reopen it — the **Edit Note** window lets you change the text, add or remove attachments, or delete the note.
See [Adding customer notes](/customers/adding-notes) for the full walkthrough.
Deleting a note also deletes its attached files. This can't be undone.
## Note attachments
Customer and property notes take files as well as text — you can save a note with just files, just text, or both. They're useful for:
* Gate codes or access instructions written on paper
* Property diagrams or maps
* Signed service agreements
* Photos of damage or an issue to follow up on
* Reference documents
### Image previews
Each attached image shows a small thumbnail — a scaled-down copy, not the whole file, so a note or a photo row full of pictures opens quickly on a phone. The full-size original is only fetched when you open it. How it opens depends on where the thumbnail is:
* **On a saved note** — click it to open a preview window with the full picture, the filename, and a **Download** button
* **On a checklist photo question** — tap it to open the full-size photo in a new tab. That works while you're still working the visit and on a completed visit's read-only rows
* **In the *What \[first name] will see* preview on the [completion form](/routes/completing-jobs#what-first-name-will-see)** — the tiles are there to show you the report, so they don't open full size. The **✕** on a tile drops that photo from the report without removing it from the visit
Where a photo can still be removed, a **✕** sits beside (or on) its thumbnail. On a note or a checklist row, tapping ✕ only removes that photo — it won't open the full-size view.
### iPhone photos
Photos an iPhone takes are in Apple's **HEIC** format, which Android phones, browsers and printers often can't open. ProBase saves them as an ordinary **JPEG** instead — on visit checklists, on note attachments, and on photos a customer sends you from an [assessment link](/customers/assessments#asking-for-photos) — so the picture shows wherever it's opened, including in the customer's service report. There's nothing to set up, and iPhone photos already on a visit's photo rows are converted the first time the row is opened. See [Photos from an iPhone](/checklists/completing-checklists#photos-from-an-iphone).
See [Why photos open quickly](/checklists/completing-checklists#why-photos-open-quickly) for what loads when on a visit's photo rows, and [If a photo doesn't make it](/checklists/completing-checklists#if-a-photo-doesnt-make-it) for what happens on a weak signal.
## The briefing
Above the tabs, a card headed **What you need for this visit** turns all of those notes into a few plain lines for whoever is working the job — the gate code, the dog, the thing the customer asked for last time. It's written for you and your crew, never the customer, and it's there only while the visit is still ahead of you. See [The AI briefing](/routes/visit-page#the-ai-briefing).
Marketplace jobs get the same card, built from the access notes and customer instructions the marketplace sent. Those notes are read-only — see [The briefing on a marketplace job](/marketplace/marketplace-jobs#the-briefing).
## Notes vs. service records
When you finish a visit you're documenting two different things:
**Notes** — free-form text about the visit, the property, or the customer. Write them in plain language.
**[Service records](/routes/service-records)** — structured facts: chemical readings, materials used, observations. You don't type these into a form; AI Assist pulls them out of your notes, and checklist answers marked for the service record become records automatically.
## Best practices
* **Gate codes, parking, pets** — property notes, so they're in the briefing on every visit
* **Billing arrangements and contact preferences** — customer notes
* **What happened today** — the visit's notes pad, while it's fresh
* **Before and after photos** — the two photo checklists; the after set is what the customer sees
* **Problems found** — write them in the pad and photograph them on **After photos**, so both land on the record of the visit
## Next steps
* [The visit page](/routes/visit-page) — everything else on the screen
* [Completing a visit](/routes/completing-jobs) — the notes and photos at the end of the job
* [Completing checklists on a job](/checklists/completing-checklists) — photos and answers as you work
* [Adding customer notes](/customers/adding-notes) — the Notes card in full
# Route optimization
Source: https://docs.probaseapp.com/routes/optimizing-routes
Let ProBase work out the most efficient driving order, then review it before it's applied
## Overview
ProBase can work out the most efficient order to visit your stops, saving you time and fuel. It shows up in a few places:
* **Optimize route** — a full preview of a better order for one crew's day. You see exactly what would move and what it saves, then apply it or leave it. This page.
* **Rebalance this day** — the same idea across several crews, moving jobs between them. See [Rebalancing the day](/routes/rebalancing-the-day).
* **Assign & optimize routes** — hands out the day's unassigned jobs and routes them in one pass. See [Jobs that need a crew](/scheduling/jobs-without-assigned-crew#assign-and-optimize-in-one-pass).
* **Background auto-optimization** — ProBase quietly reorders days as work is added, and tells you afterwards. See [Background auto-optimization](#background-auto-optimization).
* **Crew and start-time suggestions** — the same engine works out what each crew would cost you in driving when you assign one, and what start time fits the day. See [The Recommended crew](/scheduling/creating-appointments#the-recommended-crew-and-what-each-crew-costs-you-in-driving) and [The recommended start time](/scheduling/creating-appointments#the-recommended-start-time).
## Opening the Optimize route preview
Two doors lead to the same screen:
* **HomeBase** — the *"Save about 40 min of driving"* row in [Plan your day](/scheduling/plan-your-day), whose verb reads **Optimize the route**
* **Schedule → Day view → Reorder stops → Optimize drive**
Either way, the screen opens headed **Optimize route** and starts working.
The **day note** on the Day view — *"This day runs 47 min past 5:00 PM."* with **Reorder** beside it — opens the [Reorder stops](/routes/reordering-routes) panel rather than this screen. **Optimize drive** at the top of that panel brings you here.
> **Working out a better order…**
> Checking the drive between your stops.
You can tap **Cancel** while it's thinking; nothing is written either way.
## Reading the proposal
When ProBase finds a better order, the screen answers the only question that matters with a number: **Save 34 min of driving**, and underneath, what that costs you in movement — *"6 stops will move. New schedule: 6:30 AM – 2:41 PM."*
Below that is the day, stop by stop, with both sides of every time — what it is now and what it would become. A stop that doesn't move shows one time.
On a computer the same proposal reads the same way, with more room for each row.
If the proposed route would still run past the crew's **End time**, the screen says so before you commit: *"New route runs 40 min past 5:00 PM."* A better order isn't always a short enough day.
### Pinned stops
Pinned stops keep their times — the preview lists them by name (*"2 stops pinned: David Chen, Ana Ruiz"*) and marks their rows **Pinned** instead of showing a new time.
**Calculate cost of pins** asks ProBase to work the day out a second time as if nothing were pinned, then tells you the difference: *"Unpinning them could save another 18 min."*, or *"Unpinning them wouldn't save you anything — they're already on the best route."* It's information only — no pin is touched. See [Pinning a visit's time](/routes/pinning-visit-times).
## Applying it
Two buttons sit at the bottom:
* **Apply optimized route** — writes the new order and re-times every stop that moved.
* **Keep current route** — closes the screen, changes nothing, and marks the day as reviewed so it isn't offered to you again until the stops on it change.
After applying you get a confirmation: *"Route updated — 34 min saved. Undo before you start your first stop."* with **Undo** beside it.
### Undoing
**Undo** puts every moved stop back where it was. It stays available until your crew starts the day — once a stop on the day is completed (or the day has passed) it expires. The undo also lives in **⋯ More → Undo the reorder — 34 min saved** on the Day view while it's good, so you don't have to catch the message.
If a stop on the day is **already done**, the preview warns you before you apply: **A stop on this day is already done — This can't be undone.** The route can still be applied; there's just no going back, so the confirmation afterwards carries no Undo.
Undo tells you what it did in every case:
| What it says | What happened |
| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| **Route put back.** | Every stop went back where it was. |
| **Route put back. 1 stop you moved yourself stayed where you put it.** | You'd moved a stop by hand after applying — Undo leaves your own change alone and restores only the rest. |
| **Nothing to put back — every stop has moved since.** | Every stop has changed since the optimization, so there's nothing left to restore. |
| **Too late to undo — this day's first stop is done, or the day has passed.** | The undo window has closed. |
If you leave the preview open for a while, the worked-out order can go stale — tapping **Apply optimized route** then works the day out again first (*"That preview had gone stale — working out the order again."*) so you never apply yesterday's arithmetic.
## The other answers
Not every day has a better order in it, and ProBase says which case you're in rather than showing a blank screen.
| What the screen says | What it means |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **This is already the best order — nothing to change.** | The stops are as efficient as they get. **Close** marks the day reviewed. |
| **Couldn't work out a better order right now.** *Your day is unchanged.* | The routing service couldn't answer — a bad address, or a temporary problem. **Try again** re-asks. |
| **David Chen at 8:00 AM and Maria Lopez at 8:15 AM can't both happen — they're 22 minutes apart.** | Two pinned times are closer together than the drive between them. Nothing is written; move one pin and re-run. |
| **Can't reorder this day around the stop being worked.** | The day is too tightly booked to rearrange around the job a crew is standing on. |
### When the crew has no start address
If the crew you're optimizing has no start address saved, the preview doesn't leave you guessing. Beneath *"Couldn't work out a better order right now."* a yellow notice names the crew — *"Yardless Crew has no start address"* — and explains: *"ProBase can't build a route for a crew without one. Add a start address on the Crews page, then try again."*
Tap **Open Crews** to go straight to the Crews page, add the address, then come back and tap **Try again**. You can dismiss the notice with the **X** if you'd rather not see it; nothing on your day was changed.
## A day that's already underway
Optimizing today is different from planning tomorrow, and ProBase treats it that way. When a day is underway it works the route out from **where the crew actually is** and **no earlier than right now** — the stop being worked, or the last one completed, is the starting point. No stop is ever proposed at a time that's already gone, and the job your crew is standing on is never moved.
## Background auto-optimization
With **Optimize my routes automatically** switched on in [Settings](/getting-started/settings#scheduling), ProBase reorders a crew's day in the background as work is added or changed — no action from you.
It doesn't do it silently. The next time you open that day, a message tells you what happened: *"ProBase reordered this day — 22 min saved."* — or, on a multi-crew team where work moved, *"ProBase reordered this day and moved 2 jobs to Alex — 41 min saved."* — with **Undo** beside it.
The background pass only reorders a crew's day when the new order actually **saves** driving. If ProBase can't find an order that drives less than the one you already have, it leaves the day exactly as it is — no reorder, no message.
When the background pass places a job that had no crew onto someone's route, adding that stop can mean a little more driving, not less. In that case the message leaves out the time figure and simply reads *"ProBase reordered this day and moved 1 job to Alex."* — a minutes-saved figure only appears when time was really saved.
On a team with more than one crew, automatic optimization can move jobs **between** crews to build the most efficient routes. The setting says so when you turn it on.
Pinned stops are never moved by the background pass either.
## What optimization never moves
* A **pinned** stop keeps its time. See [Pinning a visit's time](/routes/pinning-visit-times).
* A stop a crew is **already working** stays exactly where it is — the preview marks it held rather than proposing a new time for the job someone is standing on.
* A stop is never proposed **before the crew's start time**, and on a day already underway, never before now.
* Nothing is written to **other days**.
## Requirements
Route optimization needs:
* The crew to have a **starting address** saved — it's where the drive is measured from. See [Start and end locations](/getting-started/adding-crews#start-and-end-locations).
* Property addresses that ProBase can find on the map.
* At least two stops for that crew on the date.
An **ending address** is optional: leave it blank and the day simply finishes at the last job.
A crew with no starting address can't be routed at all. Its card in the Crews list carries an amber line — *"No start address — ProBase can't build routes for this crew."* — its page offers **Add start address**, and HomeBase raises a **Set starting address** row for it. The Optimize route, Rebalance and Assign & optimize previews also name any crew they couldn't route for this reason, with an **Open Crews** link.
## Drive time is padded
Every drive time ProBase plans with — in the preview, in the Reorder stops panel, in the crew suggestions — already includes your **drive time buffer**, so the numbers you see are the numbers it schedules with. Set it in [Settings → Scheduling](/getting-started/settings#drive-time-buffer).
## Next steps
* [Reorder stops](/routes/reordering-routes) — hand-pick the order yourself
* [Rebalance the day](/routes/rebalancing-the-day) — move work between crews
* [Plan your day](/scheduling/plan-your-day) — where HomeBase surfaces all of this
* [Daily crew schedules](/routes/daily-crew-schedules) — track progress once the day starts
# Pinning a visit's time
Source: https://docs.probaseapp.com/routes/pinning-visit-times
Lock a visit to the time the customer needs so routing never moves it
## Why pin a visit
Most stops can happen any time in the day — ProBase is free to shuffle them into the shortest drive. Some can't. The office that has to be done before it opens, the customer who's only home at four, the gate that's unlocked between nine and ten: those need a time that stays put.
**Pinning** a visit locks it to its current time. Nothing ProBase does — optimizing, rebalancing, assigning, or the background auto-optimize — will move a pinned stop. You can still move it yourself whenever you like.
## Pin a visit
Open the visit from the day list, the calendar, or anywhere else. See [The visit page](/routes/visit-page).
**Pin this time** sits in the More sheet, just below **Move to another crew**.
On a **recurring** job, ProBase asks which visits should keep this time:
* **Pin every Tuesday** (preselected) — *"Every visit on this job starts at 8:00 AM."* Every future visit on the job is pinned, and new visits generated later are pinned as they're created.
* **Just this one** — *"Only Sep 9. Every other visit stays flexible."*
On a **one-time** job there's nothing to ask, so the visit is pinned straight away.
ProBase tells you exactly how far the pin reached — *"Pinned every Tuesday at 8:00 AM — 52 visits."* or *"Pinned Sep 9 at 8:00 AM."*
## What a pinned visit looks like
A pinned visit carries a small pin mark everywhere it appears — on its stop card, in the Reorder stops list, in the optimize preview, and on the visit page itself.
On the visit page, the pin sits under the date and time row with its full label — **Pinned to 8:00 AM** — and a line explaining what it means: *"Someone set this time because the customer needs it. Routing will not move it."*
The pin remembers the **time**, not a date. Reschedule a pinned visit to another day and it arrives there still pinned, at its new time.
## Unpin a visit
Tap the pin mark anywhere you see it — or use **⋯ More → Unpin** on the visit page — and a sheet explains the pin before you undo it.
* **Unpin this stop** frees the visit so routing can move it again
* **Keep it pinned** closes the sheet and changes nothing
On a recurring job you're then asked the same two-way question: **Unpin every Tuesday** or **Just this one**.
## Pins and route planning
* **Reorder stops** — you can't drag another stop into a pinned stop's slot. ProBase refuses with *"David Chen is pinned to 8:00 AM. Move the pin first."* and puts the card back.
* **Optimize route** — pinned stops keep their times and the preview names them: *"2 stops pinned: David Chen, Ana Ruiz"*. Tap **Calculate cost of pins** and ProBase works the day out a second time with the pins released, then tells you what they cost: *"Unpinning them could save another 18 min."* — or *"Unpinning them wouldn't save you anything — they're already on the best route."* Nothing is changed either way; it's just a number to help you decide.
* **Two pins that can't both happen** — if two pinned times are closer together than the drive between them, ProBase says so plainly instead of quietly breaking one: *"David Chen at 8:00 AM and Maria Lopez at 8:15 AM can't both happen — they're 22 minutes apart."* Your day is left untouched; move one of the pins and try again.
* **A stop your crew is already working** is held in place too, pin or no pin. ProBase never proposes moving the job someone is standing on.
## Who can pin
Pinning needs the same permission as rescheduling a visit, and only for crews you're allowed to work with. Without it, **Pin this time** simply isn't in the More sheet. See [Roles and permissions](/team/roles-and-permissions).
Marketplace visits **can** be pinned: the date and status belong to the marketplace, but the time of day and the crew are yours. See [Marketplace jobs](/marketplace/marketplace-jobs).
## Next steps
* [Optimize a route](/routes/optimizing-routes) — see what the pins cost before you commit
* [Reorder stops](/routes/reordering-routes) — hand-pick the order around your pins
* [The visit page](/routes/visit-page) — where pinning lives
# Rebalancing the day
Source: https://docs.probaseapp.com/routes/rebalancing-the-day
Move work between crews so one day isn't overloaded while another is light
## What this is
Reordering fixes the order of one crew's stops. Sometimes that isn't the problem — one crew has eleven jobs and finishes at seven, the other has four and is done by one. **Rebalance this day** looks at every crew at once and proposes moving jobs between them so the day is shared out and the total driving comes down.
Nothing changes until you say so. You get a full preview first.
Rebalancing is only offered on teams with **more than one crew**, and only to people whose role lets them plan routes for all of them. See [Roles and permissions](/team/roles-and-permissions).
## Open it
Two places open the screen directly:
* **Schedule → Day view → ⋯ More → Rebalance this day**
* **The day note** on the Day view, when a crew's day won't fit its hours and no reordering would help — the note's verb reads **Rebalance**
The *"Move work to another crew"* row in [Plan your day](/scheduling/plan-your-day) on HomeBase takes you to that day on the Schedule, but doesn't open the rebalance screen by itself yet. From there, tap **⋯ More → Rebalance this day**.
## Reading the proposal
The screen is headed **Balance workload across crews**, with one sentence saying what the change is worth — *"Saves 52 min total drive time by rebalancing jobs evenly across crews."* If the shuffle costs driving rather than saving it (which happens when you're evening out the workload rather than shortening the day), the sentence says that honestly instead: *"Adds 12 min total drive time…"*.
Underneath, one row per crew shows both sides of the change: how many jobs each crew has now and would have after, and what time each would finish. If the proposed route would push a crew past its **End time**, its row says so — *"New route runs 40 min past 5:00 PM."*
### List and Map
A toggle switches between two ways of reading the same proposal, with the count beside it — *"4 jobs move"*.
* **List** — one card per job that would move, with the handover line on it: *"Alex → Sam"*.
* **Map** — both crews' routes after the change, each job drawn in the colour of the crew taking it.
## Leaving a job out
Some jobs shouldn't move — the customer knows your driver, the crew has the equipment, whatever the reason. Tap the **✕** on a job card and ProBase keeps it where it is and works the rest of the day out again. The card then reads *"Stays with Sam"* instead of showing a handover, and every total above it restates itself.
Tap the **✕** again to put a job back. If you leave every moving job out there's nothing to apply, and the summary says so: *"Nothing moves. Put a job back to see what rebalancing would save."*
ProBase balances at most three crews in one pass. With a bigger fleet it works in groups and tells you which crews this proposal covers: *"Balancing Alex, Sam and Jordan. Add more crews and ProBase balances them in groups of three."*
## Applying it
* **Apply to 4 jobs** writes the change — the jobs move to their new crews and every affected stop is re-timed.
* **Keep current route** closes the screen and writes nothing.
After applying, a message confirms what happened — *"Day rebalanced — 4 jobs moved, 52 min less driving."* — with **Undo** beside it. If evening out the workload cost driving rather than saving it, the message says so instead: *"Day rebalanced — 4 jobs moved, 12 min more driving."*
If a stop on the day is **already done**, the proposal warns you before you apply: **A stop on this day is already done — This can't be undone.** You can still apply it — there's simply no going back, so the message afterwards carries no **Undo**.
## Undoing it
**Undo** puts every moved stop back to the crew and the time it had — *"Put back — your day is as it was before the rebalance."*
It's available until your crews start working the day. Once the first stop on the day is completed, or the day has passed, it expires, and ProBase tells you rather than pretending: *"That rebalance can't be undone anymore — a stop on this day has been worked, or the day has passed."*
The undo also lives in **⋯ More → Undo the reorder** on the Day view for as long as it's good, so you don't have to catch the message.
If you've since moved those stops by hand, there's nothing left for ProBase to put back, and it says so: *"Nothing left to put back — every moved stop has since been changed by hand."*
## The other answers
A day doesn't always have a useful shuffle in it, and ProBase tells you which case you're in rather than showing a blank screen.
| What the screen says | What it means |
| ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
| **Working out a better order…** *Checking the drive between your stops.* | ProBase is thinking. **Cancel** backs out; nothing is written either way. |
| **This is already the best order — nothing to change.** | No job on the day would be better off with another crew. **Close** leaves it alone. |
| **Couldn't work out a better order right now.** *Your day is unchanged.* | The routing service couldn't answer — usually an address it can't place on the map. **Try again** re-asks. |
| **The stops you kept in place are booked too tight to balance the day around them.** | The stops holding their times leave no room to fit another crew's work between them. Nothing is written. |
### A crew left out for want of a start address
A crew with no start address can't be routed, so it's left out of the balance. The preview says so in a yellow notice beneath the heading — *"Pat has no start address"* — and explains that the crew *"was left out of the balance and its stops stay where they are."* The rest of the proposal still works across your other crews. Tap **Open Crews** to add the address, or dismiss the notice with the **X**.
## What rebalancing never does
* It never moves a **pinned** stop. See [Pinning a visit's time](/routes/pinning-visit-times).
* It never moves a stop a crew is **already working**.
* It never touches other days. Jobs move for this day only — a recurring job's later visits keep the crew they have.
## Next steps
* [Optimize a route](/routes/optimizing-routes) — reorder one crew's day instead
* [Jobs that need a crew](/scheduling/jobs-without-assigned-crew) — assign and route unassigned work in one pass
* [Daily crew schedules](/routes/daily-crew-schedules) — the day view these tools hang off
# Reordering stops
Source: https://docs.probaseapp.com/routes/reordering-routes
Manually drag and drop appointment stops into your preferred order
## Overview
Sometimes the optimized route order isn't quite right — maybe you want to start with a specific customer, or group nearby stops differently. The **Reorder stops** feature lets you manually drag stops into any order you choose, with real-time drive time calculations between each stop. Both service appointments and non-service stops (like lunch breaks or supply pickups added via **Add stop**) are shown in the panel and can be freely reordered.
## Access route reordering
Route reordering is available from the calendar's **Day** view.
Click **Schedule** in the sidebar. The **Day** view is shown by default.
The **Reorder stops** button sits at the top of the Day view and is always there — you don't have to filter to one crew first. It shows as soon as your business has at least one crew you're allowed to plan routes for; if you haven't [added a crew](/getting-started/adding-crews) yet, there's no route to arrange and the button stays hidden.
A route belongs to one crew, so ProBase needs to know whose day you're rearranging:
* **You're already looking at a single crew** — because you filtered to one with the crew filter, or because there's only one crew you can work with — the reorder panel opens straight away for that crew.
* **You're looking at several crews at once** — a short **Pick a crew** window opens first, listing every crew you're allowed to plan routes for, each with its color dot. Tap the crew whose route you want to work on and the reorder panel opens for them straight away — there's no extra confirm step. Tap **Cancel** at the bottom to back out without changing anything.
The reorder panel opens full-screen, showing all of that crew's stops for the day in their current order — including both service appointments and any non-service stops you've added.
Each appointment card shows:
* Customer name
* Service name
* Property address
* Appointment duration
* Drive time and distance to the next stop (e.g., "8 minutes / 3.1 miles")
Non-service stops (like lunch breaks or supply runs) appear with a dashed border and show the stop name, address, and duration. They also have an **✕** button — tap it to delete the stop if you no longer need it.
Press and hold the drag handle (the grip icon on the left of each card) and drag the stop to a new position in the list. The card being dragged is highlighted with an accent border so you can clearly see which stop you're moving.
Drive time indicators are hidden while you drag and automatically recalculate once you release the stop in its new position.
When you're happy with the order, tap **Save**. The panel closes and the appointment start and end times are updated to reflect the new sequence.
## What the panel tells you as you work
### The drive summary
At the top of the panel a small card holds the two numbers that describe the day: **Total drive time** (time behind the wheel only — the whole loop from the crew's start location, between every stop, and back to their end location if you've set one) and **Day total** (driving plus the work itself).
### Times settle when you let go
Drive times are hidden while you drag and recalculate once you drop the card — *"Times settle when you let go, not while you drag."* For the moment it takes, the button reads **Working out the new times…**; once they've settled it says what you're about to do: **Save — 3 stops move, 12 min less driving.** Drag a card back where it started and it's the plain **Save** again, because nothing would change.
### Pinned stops
A [pinned](/routes/pinning-visit-times) stop carries a pin mark and holds its time. You can't drag another stop into its slot — ProBase puts the card back and explains why: *"David Chen is pinned to 8:00 AM. Move the pin first."*
Tap the pin mark to open the pin sheet, where you can unpin the stop if the customer's constraint has gone away.
## Optimize your drive automatically
Instead of dragging stops yourself, you can let ProBase work out the most efficient order — **Optimize drive** sits at the top of the reorder panel.
Tapping it opens the full **Optimize route** preview: ProBase works the day out, shows you exactly what would move and what it saves, and waits for you.
* **Apply optimized route** writes the new order, and the list behind refreshes into it.
* **Keep current route** leaves your day exactly as it was.
Nothing is written until you tap Apply, and you can undo it afterwards. See [Route optimization](/routes/optimizing-routes) for the whole flow, including what happens when two pinned times clash and what the preview tells you about a day that's already underway.
**Optimize drive** needs the crew to have a **starting address** saved and at least 2 stops with addresses ProBase can find. Set the address on the crew's page — see [Adding crews](/getting-started/adding-crews).
## How times are recalculated
When you save a reordered route, ProBase anchors the day on the crew's **Start time** and then walks through the stops in order, assigning times as it goes:
1. The day leaves at the crew's **Start time** for that weekday (see [Working hours](/getting-started/adding-crews#working-hours)). If the crew has never been given hours, ProBase uses the earliest work already on that day, and 8:00 AM if there's nothing to go on.
2. The first stop in the new order is assigned that start time
3. ProBase adds the stop's duration to get the finish time
4. ProBase adds the drive time to the next stop
5. The next stop's start time is set accordingly
6. This repeats for every stop in the list
This means the route always starts at a consistent time of day regardless of how you reorder the stops, and all times cascade naturally from there.
A [pinned](/routes/pinning-visit-times) stop you haven't moved is the one exception: it keeps its own time, and the walk carries on from where that stop finishes.
## Drive time display
Between each pair of consecutive stops, ProBase shows the estimated drive time and distance. These calculations use real road networks, not straight-line distances.
Each drive time indicator displays both the travel time (in minutes) and the distance (in miles), for example: **5 minutes / 2.3 miles**.
These times already include your [drive time buffer](/getting-started/settings#drive-time-buffer) — if you've set it to *Add 25%*, a 20-minute drive is shown and scheduled as 25 minutes. There's no second padding applied anywhere later.
* Drive times and distances update automatically after you reorder stops
* A loading animation appears briefly while drive times are being calculated
* Drive times are hidden while a stop is being dragged to avoid distraction
* If ProBase can't work out a driving path between two stops — because one of the addresses was matched to a spot the road network can't reach, to a spot with no road anywhere near it, or to somewhere so far away that the drive is longer than the routing service will plan — the indicator shows a grey dash (**—**) instead of a time
A dash doesn't block you. You can still drag stops and tap **Save**; that leg is simply treated as no drive time when the day's stop times are recalculated. If you see a dash you didn't expect, check the stop's address on the [map view](/routes/daily-crew-schedules#map-view) — a pin in the wrong place is the usual cause.
## Completed appointments
Completed appointments are also shown in the reorder panel. This allows you to see the full picture of the day's route even if some work is already done. The ordering of completed stops still affects how times cascade to remaining stops.
## Marketplace jobs in the panel
Jobs that came from a connected marketplace appear in the reorder panel alongside your own, marked with the marketplace's small **brand mark** next to the customer name. You can drag them into any position and save — how your own day is arranged is yours to decide, even on marketplace work. Moving a marketplace job to a **different day** is the one thing that has to happen in the marketplace app. See [Marketplace jobs](/marketplace/marketplace-jobs).
## When to use manual reordering vs optimize drive
**Drag stops manually when:**
* You want to start with a specific high-priority customer
* You know the neighborhood better than the optimizer
* You want to group stops by a specific preference
**Use Optimize drive when:**
* You want the most efficient route calculated automatically
* You're making last-minute changes and don't want to drag each card
* You want to see the drive time summary before committing
For a complete overview of optimization options, see [Route optimization](/routes/optimizing-routes).
## Next steps
* [Optimize routes](/routes/optimizing-routes) for fully automated route planning
* [Complete appointments](/routes/completing-jobs) as you work through the day
* [View the daily schedule](/routes/daily-crew-schedules) to track progress
# Sending the service report
Source: https://docs.probaseapp.com/routes/sending-service-reports
Tell the customer what you did — with photos, and the bill if it is due
## Overview
The **service report** is the customer's copy of the visit: a plain-language description of what you did, the photos you took, anything your checklists recorded, and a place for them to rate you. It lives on a web page of its own, and you send them the link.
The send step opens by itself the moment you finish a visit, so telling the customer is the last thing you do on the job rather than something you remember later in the van.
ProBase never sends the text for you. It writes the message and opens your phone's Messages app (or copies the link) — you decide who it goes to and when you press send.
## Where the step comes from
Three doors open the same screen:
| Door | When |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| Right after **Complete visit** | Every job visit you complete — after the *Schedule next visit* step, if that one applied |
| **Send service report** on the completed visit | Any time afterwards, while the customer hasn't rated it yet |
| The **⋯ More** sheet | Once the customer has rated — the button steps back into the sheet rather than staying at the top of the screen |
The row in the sheet reads **Send the report again** once the report has actually gone out, and **Send service report** if it hasn't — a customer can rate you from an invoice without ever having been sent one.
Assessment visits and [marketplace visits](/marketplace/marketplace-jobs) have no service report — the marketplace looks after its own customers, and an assessment isn't work you did yet. Neither one offers the step.
## What's on the send step
Top to bottom:
The cream card is the report exactly as the customer will read it: your **Customer notes** in full, and the **After photos** as tiles. Underneath, a short line counts them — *3 photos · rating requested*.
If you never wrote customer notes, the card says so in muted text rather than showing a hole. The customer's own page simply leaves that block out.
If you took **Before photos** on the visit, a switch offers to send those too — headed **Include before photos (N)**. It's off unless you turn it on, and the customer's page then shows two labelled groups, **Before** and then **After**.
Your choice is recorded when you actually **send**, so re-sending the link later shows the customer the same thing. Closing the step with **Not now** writes nothing — flip the switch, back out, and the next time you open the step it's off again.
A row at the bottom of the card opens the real report page in a new tab, exactly as the customer will get it. Use it before you send if you want to check the wording.
The preview follows the **Include before photos** switch as it stands right now: turn the switch on, tap **Preview as customer**, and the page shows the **Before** group the customer would get — even though nothing has been sent yet. Turn it off and preview again and the group is gone.
That pending choice is only ever shown to **you**, signed in to ProBase. If you paste the same link to the customer, they see what you actually sent — the preview can't leak photos you haven't decided to send.
If there's something to bill, one switch appears above the message. It has two forms:
* **Include this month's invoice** — the visit's charge (or the month's subscription bill) is sitting on a draft invoice. *\[First name] gets one message: what you did, and what they owe.* Turning it on **sends that invoice** along with the report.
* **Include their outstanding balance** — nothing new is due, but the account still owes from before. *\[First name] still owes \$120.00 from July.* Turning it on links their oldest unpaid invoice; nothing is re-sent.
With the switch on, the send button re-words itself — **Send SMS — report and invoice**, or **… and balance** — so you can see what's about to go out.
The invoice switch only appears if your role is allowed to send invoices. Sending the report itself is a separate, lower permission — see [Roles and permissions](/team/roles-and-permissions).
A text box holds the message, already written: *Hi Sarah, here's what I did today at 128 Maple St: \[link]*. Edit it however you like before you send.
Three actions close the step:
* **Send SMS** — opens Messages on your phone with the message and link ready. A short toast reminds you: *Opens Messages on your phone — ProBase never sends for you.*
* **Copy link** — puts **the report link alone** on your clipboard, so you can paste it into an email, WhatsApp, or wherever else you talk to this customer. The button reads **Copied!** for a moment.
* **Not now** — closes the step and writes nothing. The visit stays completed; the report is still there to send later.
Without a phone number on file the solid button becomes **Copy link** and there's no SMS option — there's nothing to text.
## Once it's sent
A green banner appears at the top of the step — *Report sent to Sarah. It stays on the visit if they ask again.* — and the dismiss button changes from **Not now** to **Done**.
On the visit itself, the **Report** row under **What happened** flips from *Not sent yet* to *Sent Fri, Aug 28*.
The first send is the one that's recorded. Re-sending the link later doesn't move that date, and if the invoice rode along with the report, it's only ever sent once — turning the switch on again later won't bill the customer twice.
Once the report has gone out, the visit's record is fixed: the pencil beside the **Checklists** card disappears and you can't edit answers any more. Check the preview before you send. See [Going back in to fix a checklist](/routes/completing-jobs#going-back-in-to-fix-a-checklist).
## When the customer rates you
The report page ends with **How did we do?** — stars and an optional comment. When the customer submits it:
* The visit picks up a **rating card** directly under its header — *Sarah rated your service 5 stars*, the stars, and their words if they left any
* An [update](/getting-started/updates) lands in your feed with the same line and the comment underneath
* **Send service report** steps back into the **⋯ More** sheet as **Send the report again** — the rating is the evidence the report arrived, so the button stops taking up the top of the screen
A rating can only be left once. See [The customer's service report](/customers/service-reports) for the whole customer-side experience.
## Sending the invoice on its own
The report is not the only way to bill. If you'd rather send the invoice by itself — or you skipped the switch — open it from the **Charged** row on the completed visit and use **Send Invoice** there. See [Sending payment links](/billing/sending-payment-links#sending-the-invoice-for-a-completed-visit).
## Next steps
* [Completing a visit](/routes/completing-jobs) — the step before this one
* [The customer's service report](/customers/service-reports) — what the customer opens
* [Before and after photos](/checklists/system-checklists#before-photos-and-after-photos) — how photos get onto the report
* [Service ratings](/billing/service-ratings) — the other place customers can rate you
# Service records
Source: https://docs.probaseapp.com/routes/service-records
Document detailed information about completed work
## Overview
Service records let you record structured details about work performed during appointments. Unlike general notes, service records capture specific data points like measurements, materials used, and observations in a consistent, searchable format.
Service records are always linked to a specific appointment, making it easy to track what was done during each visit.
Want to see what a filled-in field log looks like before you record your own? In the [demo account](/getting-started/exploring-a-demo), a customer's most recent completed visit already carries service records for that trade — pool chemistry readings and applications, lawn materials, or a handyman's notes and parts — visible on both the job detail and the property's **Service Records** page.
## Types of service records
Every record carries a badge naming its kind, so a visit's field log reads at a glance.
### Observations
General notes about what you noticed during the visit:
* Pool condition ("Pool water is crystal clear")
* Issues found ("Found minor algae buildup in corners")
* Customer requests ("Customer asked about weekly service")
* Weather conditions affecting service
* Equipment status notes
### Chemical readings
Track chemical test results and measurements:
* pH levels
* Chlorine levels (free, total, combined)
* Alkalinity
* Hardness
* CYA (Cyanuric Acid)
* Other water chemistry readings
Each reading includes:
* Reading type (what was measured)
* Value (numeric measurement)
* Unit (pH, ppm, etc.)
* Optional notes
### Chemical applications
Document chemicals or products added during service:
* Pool shock
* Chlorine tablets
* Muriatic acid
* pH increasers/decreasers
* Algaecides
Each adjustment includes:
* Chemical name
* Amount added
* Unit (lbs, oz, fl oz, gal, qt, ppm)
* Optional notes about where/why applied
These carry a **Chemical Application** badge on the list.
### Materials
Track other materials or supplies used on a completed appointment:
* Parts installed (e.g., "Filter cartridge")
* Equipment replaced
* Supplies consumed (not chemicals)
* Amount and unit (unit, lbs, oz, gal, bags, cu yd, qt)
* Optional notes
Materials recorded here are a note to yourself, not a charge. For anything you want the customer billed for, add it to the visit as a [charge](/routes/visit-charges) instead.
## How service records get created
There are two ways a record lands on a visit, and neither one is a form you fill in by hand.
### From your notes, with AI Assist
Write what you did in plain language — in the visit's [notes pad](/routes/job-notes-and-photos#the-visit-notes-pad) while you work, or in **Visit notes** on the completion form — then tap **AI Assist** (✦). ProBase reads your text and pulls the records out of it.
A note that parses well:
> "pH was 7.2, chlorine at 3 ppm. Added 2 lbs shock. Pool looked clear, no algae."
becomes four records:
* Reading: pH → 7.2 pH
* Reading: Chlorine → 3 ppm
* Adjustment: Shock → 2 lbs
* Observation: "Pool looked clear, no algae"
They appear on the completion form under **Records from your notes**, one row each, so you can check them before they're saved.
Each row leads with what kind of record it is — **Reading**, **Adjustment**, **Material** or **Observation** — followed by the fact itself. Two buttons sit on every row:
* **Edit** (pencil) opens that one record on its own screen. Correct the value and tap **Done**.
* **Remove** (✕) drops it before it's saved.
Check the parsed rows before you complete. This is the moment to correct a reading — once the visit is complete, the records are a fixed part of its history.
### From a checklist
When a checklist question is marked **Include in service record**, its answer is saved as a record automatically when you complete the visit — a numeric "pH" answer becomes a chemical reading without you entering it twice. This is how pool chemistry reaches the service history on accounts using the ProBase pool checklists.
See [Answers that become service records](/checklists/completing-checklists#answers-that-become-service-records).
If AI Assist already drafted a record for the same reading, ProBase saves it **once** — and keeps the version you reviewed on the completion form, including any correction you made. See [One record per reading, even with AI Assist](/checklists/completing-checklists#one-record-per-reading-even-with-ai-assist).
## What each type holds
### Observation
* **Notes** — what you observed
### Chemical reading
* **Reading type** — what was measured (pH, Chlorine, Alkalinity, and so on)
* **Value** — the numeric measurement
* **Unit** — set from the reading type (pH, ppm)
* **Notes** — optional context
### Chemical application
* **Chemical name** — what you added
* **Amount** and **Unit** — how much (lbs, oz, fl oz, gal, qt, ppm)
* **Notes** — optional context
### Material
* **Product name**, **Quantity** and **Unit** (unit, lbs, oz, gal, bags, cu yd, qt)
* **Notes** — optional context
**Materials you want to charge for aren't service records.** Add them to the visit as a [charge](/routes/visit-charges) — a name and a price — so they reach the customer's invoice. Service records are your own history of the work, not a billing tool.
## Records are fixed once the visit is complete
Completing a visit locks its records, the same way it locks its checklist answers. They become the permanent account of what happened on that day.
If you spot a mistake immediately after completing, you can still reopen the visit's **checklists** while the report is unsent — see [Going back in to fix a checklist](/routes/completing-jobs#going-back-in-to-fix-a-checklist). Otherwise, record the correction as an observation on the next visit so the history shows both what was measured and what was found later.
**Service records don't apply to [marketplace jobs](/marketplace/marketplace-jobs).** Those visits are worked and completed in the marketplace app, so there's no ProBase completion for records to be filed against. Keep your notes for a marketplace visit on the customer or property instead — see [Marketplace customers](/marketplace/marketplace-customers#notes).
## Viewing service records
Service records appear in multiple places:
### On the property's Service Records page
Every property has a **Service Records** page listing every record captured there, with filtering and search.
To open it:
1. Go to the customer's page
2. Find the property in the Properties section
3. Tap **Service Records** on the property page
Records appear as a list of cards. Each card shows:
* A **type badge** (Observation, Chemical Reading, Material Used, or Chemical Application)
* The main information (reading value, material used, observation text, etc.)
* Which service the record belongs to
* When the work was recorded and who recorded it
Records are ordered by most recent first, making it easy to see the latest activity.
The filtering and search controls stay visible at the top of the page while you scroll through records. This sticky behavior lets you refine your search without scrolling back up, making it faster to find what you need.
### Date separators
The list groups records under date headings (e.g., "Feb 4, 2026"), with a new heading each time the date changes as you scroll.
This makes it easy to scan through records and understand when work was performed.
## Filtering and searching
### Filter by type
Use the type dropdown to show only specific types of records:
* All Types (default)
* Observation
* Material Used
* Chemical Reading
* Chemical Application
### Search records
Use the search box to find records by:
* Notes or descriptions
* Service name
* Property address
* Measurement names (e.g., "pH", "chlorine")
* Material or chemical names
* Any text in the entry details
The search updates instantly as you type. If no records match your search, you'll see a helpful message.
### Combine filters
You can use both type filtering and search together to narrow down exactly what you're looking for.
### Date range filtering
Use the date picker to filter records by date range. Pick a start and end date, or choose one of the built-in presets (such as this week, this month, or year to date) to quickly narrow the list to a specific time period. Leave the range empty to show all records.
This is especially useful for:
* Reviewing recent work for quality control
* Generating reports for specific time periods
* Finding records from a particular service visit
* Tracking trends over time
### Empty states
If no records match your filters, you'll see a message explaining what to do next.
## Best practices
**Be consistent**: Use the same terminology and units across entries. For example, always use "pH" (not "ph" or "PH") and "ppm" for chlorine readings. This makes historical data easier to review.
**Use AI parsing**: Write natural notes and let AI create the entries. It's much faster than manual entry and reduces data entry errors.
**Record measurements before and after**: For chemical readings, note values before and after adjustments to track changes and validate your work.
**Document issues**: Use observations to record problems found, even minor ones. This helps identify recurring issues and demonstrates thoroughness.
**Track all materials**: Record everything used, not just chemicals. This helps with inventory management and can support billing for materials.
**Review before completing**: Check parsed entries for accuracy before clicking Complete. AI is good but not perfect - always verify the extracted data.
**Be specific with service records**: Instead of "Fixed pump", write "Replaced impeller seal on main circulation pump". Specific details help with warranty tracking and future troubleshooting.
## Service records vs. notes
**Service records** are for structured, searchable data:
* Chemical readings and test results
* Chemical applications and treatments
* Materials and parts used
* Specific observations about service conditions
**Notes** are for unstructured information:
* General customer preferences
* Access instructions
* Long-form documentation
(Visit photos aren't notes either — they live on the [Before photos and After photos](/checklists/system-checklists#before-photos-and-after-photos) checklists.)
See [Adding notes](/customers/adding-notes) for working with notes.
## Why use service records
**Consistency**: Structured data ensures information is recorded the same way every time, making it easy to compare across visits.
**History**: View trends in measurements over time to identify patterns and make better service decisions.
**Accountability**: See exactly what was done during each visit, who did it, and when.
**Efficiency**: AI parsing makes data entry fast and easy - just write notes naturally and let the system structure them.
**Searchability**: Find specific information quickly by searching across all entries for a customer or property.
**Professionalism**: Detailed service records demonstrate thoroughness to customers and support premium pricing.
# Timing a visit
Source: https://docs.probaseapp.com/routes/timing-a-visit
Start, pause and resume the clock so you know how long the work really took
## Overview
Every visit has a clock. Tap **Start visit** when you get to the property, **Pause** when you step away, **Resume** when you're back, and **Complete visit** when you're done. ProBase adds up only the time you were actually working, and keeps the result on the visit for good.
You never have to time a visit — a visit completes perfectly well without the clock ever being started. But when you do use it, you get an honest number for how long the job took against what you estimated, which is the quickest way to find out whether your pricing matches your day.
The clock is **yours and your crew's**. Customers never see the timer, the working windows, or how long you took.
## Starting the clock
Open the visit and tap **Start visit** — the solid button on the [action row](/routes/visit-page#the-action-row).
The page changes straight away:
* The state pill in the header reads **Working**, and the line underneath it becomes *Started 12:15 PM*
* The timer panel appears under the buttons and starts counting
* The solid button becomes **Complete visit**, with **Pause** as the quiet action underneath
* **Directions** and **Text on my way** move into the **⋯ More** sheet — you're already there, so they stop taking up the top of the screen
You can start a visit whenever you like — including one scheduled for a future day. ProBase doesn't stop you working ahead.
## The timer panel
The dark panel under the buttons is the live readout.
* **ON SITE** across the top while the clock is counting
* The big number is the working time so far — `12:07` under an hour, `1:07:12` once you pass one
* The line underneath reads *Started at 12:15 PM · estimated 45 min*, so you can see at a glance whether you're ahead of or behind the time you allowed for the job
The number ticks up on its own. You don't need to refresh the page, and leaving the visit and coming back picks up exactly where the clock is.
## Pausing and resuming
Tap **Pause** — the quiet action under the main buttons — when you stop working: a supply run, lunch, a phone call, waiting on a gate to be opened.
The panel turns to **PAUSED**, the number holds where it is, and the caption tells you plainly: *Paused — this time isn't counting.*
Tap **Resume** to start counting again.
You can pause and resume as many times as the day needs. Each stretch of work is recorded separately, so a visit you came back to twice shows up as two working windows rather than one long block with the break silently included.
Pausing doesn't change the visit's status for anyone else — the job is still yours and still on the day's schedule. It only stops the clock.
## Finishing
Tap **Complete visit** and the clock stops for good. You go straight into the [completion flow](/routes/completing-jobs); the elapsed time is stamped on the visit whether you finish the completion form now or come back to it.
If you never started the clock, **Complete visit** works exactly the same way — the visit simply carries no timing, rather than a misleading `0:00`.
## What happened, after the visit
Once the visit is complete, the timer is replaced by a **What happened** block between the header and the buttons. It's a few plain facts:
| Row | What it says |
| ---------------- | --------------------------------------------------------------------------------------------------------- |
| **Completed by** | The person who tapped Complete, and the crew — *Callie Gates · My Crew* |
| **On site** | *Arrived 12:15 PM → finished 1:07 PM*, plus *· 2 working windows* if you paused at least once |
| **Took** | *52 min · estimated 45 min* — the working time beside what you'd allowed |
| **Report** | *Not sent yet*, or *Sent Fri, Aug 28* — see [Sending the service report](/routes/sending-service-reports) |
| **Charged** | *\$85.00 · Draft invoice* — what the visit billed, with a chevron opening that invoice |
A row with nothing true to say is left out rather than filled with a dash. A visit you never started shows no **On site** row, and **Took** reads *Not timed · estimated 45 min* — the estimate is still a fact about the job even when nobody timed the work. A visit that billed nothing has no **Charged** row, and a [marketplace visit](/marketplace/marketplace-jobs) has neither **Report** nor **Charged**, since the marketplace looks after both.
Under the rows sits the reminder: *Yours and your crew's — never the customer's.*
**Charged** is a money row, so it only shows for roles that can see invoices — **Manager** and up. A crew member reading the same visit sees the other rows and nothing about the bill. See [Roles and permissions](/team/roles-and-permissions).
## The History card
At the bottom of the **Visit** tab on a visit that's over — completed, cancelled, or moved to another day — a **History** card lists everything that happened on it, newest first:
* *Started 12:15 PM by Callie*
* *Paused 12:40 PM*
* *Resumed 12:52 PM*
* *Completed 1:07 PM*
* *Report sent 12:58 PM by Callie*, with *— with the invoice* on the end if the bill went with it. Every send gets its own line, so a report you sent twice shows twice
* *Checklist reopened* and *Checklist edited after completion*, if you went back in
* *Rescheduled to Fri, Sep 4 by Callie* — on the visit you moved, not the new one
* *Cancelled by Callie Gates · Wed, Aug 26*
Times are always shown in your business's timezone, so a line reads the same on every phone on the crew.
A visit that was finished before the clock existed has no history to show, so no card appears — you won't see an empty **History** heading.
## If the visit is called off while the clock is running
Sometimes a visit ends without being finished — the customer turns you away at the gate, or the office calls off the work while you're still standing on the lawn. Whatever calls it off, ProBase stops the clock for you rather than leaving it counting on a visit nobody is working:
* **Cancel this visit** on the visit you're on — see [Cancelling a visit](/routes/cancelling-visits)
* **Cancel job**, which takes this visit down along with the rest of the upcoming ones
* Cancelling an [assessment visit](/customers/assessments#cancelling-a-visit)
* A [marketplace visit](/marketplace/marketplace-jobs) the marketplace tells ProBase is no longer scheduled
The time you'd already worked is kept on the visit — the start, pause and resume lines stay in its [History card](#the-history-card), so a morning spent half-working a job you were then sent away from isn't lost.
What a cancelled visit never gets is a **finish** time. It wasn't completed, so there's no **What happened** block and no **Took** number — and the timer panel drops away with the rest of the working blocks.
## Timing an assessment visit
[Assessment visits](/customers/assessments) time the same way. Tap **Start visit**, and the solid button becomes **Mark assessment complete** with **Pause** underneath.
## Timing a marketplace visit
You can run your own clock on a [marketplace visit](/marketplace/marketplace-jobs) too — it's your time, so ProBase tracks it for you even though the visit itself is completed in the marketplace app.
Once the marketplace tells ProBase the visit is no longer scheduled (because it was completed, cancelled or moved), a running clock is stopped automatically so it doesn't keep counting on a job that's already finished — the same as [any other visit that's called off mid-work](#if-the-visit-is-called-off-while-the-clock-is-running).
## Who can use the clock
Starting, pausing and resuming needs the same permission as completing a visit, and only on a visit assigned to a crew you work. If your role can't complete visits, the buttons simply aren't shown — nothing is greyed out. See [Roles and permissions](/team/roles-and-permissions).
## Next steps
* [The visit page](/routes/visit-page) — everything else on the screen
* [Completing a visit](/routes/completing-jobs) — the flow **Complete visit** opens
* [Charges on a visit](/routes/visit-charges) — bill for the extra you did
* [Cancelling a visit](/routes/cancelling-visits) — when the visit doesn't happen
# Charges on a visit
Source: https://docs.probaseapp.com/routes/visit-charges
Bill for the extra work or materials you did on one visit
## Overview
A charge is something extra you did on **this one visit** that the job's normal price doesn't already cover — a hedge you trimmed while you were there, a bag of fertiliser you spread, a gate latch you replaced. You add it on the visit, in a few seconds, and it flows onto the invoice for that visit.
A charge is a **name and a price**. Nothing else. There's no quantity to work out, no duration to estimate, and no decision about whether it repeats — it belongs to this visit and only this visit.
Charges that apply to **every** visit of a job — a standing bagging fee, a monthly filter charge — aren't added here. Those live on the job itself and ride every visit automatically. See [Managing services](/customers/managing-services).
## Adding a charge
Open the visit and stay on the **Visit** tab. Under the **Checklists** card is a second card headed **Charges**.
Its last row is the capture row. While the visit has nothing on it, the row simply reads **Add a charge**.
The **Add a charge** sheet slides up from the bottom of the screen.
At the top it tells you exactly what you're doing: *Just this visit — Fri, Aug 28. A name and a price; it flows to this visit's invoice.*
Two fields:
* **What for** — what you did, in your own words ("Hedge trim")
* **Price** — what to charge for it
Both are required. If you miss one, the sheet stays open and tells you which.
The sheet closes and a message confirms where the money is going — *On this visit — flows to Sarah's invoice.*
The capture row now carries a running summary instead of the plain label: **Charges · 1 · \$35.00** — how many charges are on the visit, and the price of the last one you added.
## Editing or removing a charge
Every charge on the visit is its own row in the **Charges** card, showing the name on the left and the price on the right. Tap the row to reopen it.
The sheet opens headed **Edit charge**, prefilled with what you entered:
* Change either field and tap **Save**
* Tap **Remove** to take the charge off the visit entirely
You can reach the same sheet from the **Details** tab — the **This visit** rows under the Service card open it too.
## Where charges show up
### On the Details tab
The **Details** tab shows the money on the visit as two separate lists under the **Service** card, and they never blend together:
* **Charges** — the job's standing charges, the ones on every visit. Read-only here; they're part of the job.
* **This visit** — the charges you added to this visit alone.
### On the invoice
When you complete the visit, each charge becomes its own line on the customer's invoice for that visit, at the price you entered. Nothing is billed before the visit is completed.
For a job billed **per visit**, that's on top of the service's own price. For a **subscription** job, the subscription is billed on its own schedule and your visit charges are billed when the visit completes. See [How billing works](/billing/how-billing-works).
## When you can't add a charge
The **Charges** card isn't there at all when adding one wouldn't make sense:
* **On a completed or cancelled visit** — the money is settled
* **On an [assessment visit](/customers/assessments)** — there's no job to bill yet; pricing happens on the quote
* **On a [marketplace visit](/marketplace/marketplace-jobs)** — the marketplace owns the money on those jobs
* **If your role can't edit charges** — see [Roles and permissions](/team/roles-and-permissions)
## What happens to charges if the visit is cancelled
Nothing is billed for a cancelled visit. If the visit you're cancelling has charges of its own and another visit is already booked, ProBase asks whether to move them forward rather than losing them — they'll be billed when that visit completes instead. See [Cancelling a visit](/routes/cancelling-visits#moving-charges-and-notes-forward).
## Next steps
* [The visit page](/routes/visit-page) — everything else on the screen
* [Completing a visit](/routes/completing-jobs) — what happens when you finish
* [Invoices](/billing/invoices) — where the charges end up
# The visit page
Source: https://docs.probaseapp.com/routes/visit-page
The one screen you work a job from — timer, checklists, charges and notes
## Overview
Every scheduled visit has its own page, and that page is where the work happens. It's built for a phone held in one hand on someone's driveway: the facts you need at the top, the button you're most likely to press next, and everything else one tap away.
Open a visit by tapping it anywhere it appears — your [daily schedule](/routes/daily-crew-schedules), the [calendar](/scheduling/weekly-schedule), HomeBase's [overdue](/scheduling/overdue-jobs) list, the customer's or property's **Visits** card, or the job page.
On a computer the same page uses the wider layout, with the breadcrumb trail across the top instead of the back arrow.
## What's on the page
From the top down:
1. **The header card** — the service name, the visit's state, and the customer, property, time and crew rows
2. **Directions and Text on my way** — the two hand-offs you want before you arrive
3. **The action row** — **Start visit**, **⋯ More**, and a quiet third action
4. **The timer** — only once the visit is started
5. **What you need for this visit** — the AI briefing, when there's something worth saying
6. **Visit · Details · Notes** — the three tabs holding the work
## The header card
The card carries the job's name as the page title, a coloured **state pill**, and one line underneath saying when the visit is:
| State | What the line says |
| ------------------------ | ---------------------------------- |
| **Scheduled** | *Tue, Sep 2 · 9:00 – 10:00 AM* |
| **Today** | *Today · 12:15 – 1:00 PM* |
| **Overdue** | *Was due Tue, Aug 25 · still open* |
| **Working** / **Paused** | *Started 12:15 PM* |
| **Completed** | *Completed Fri, Aug 28 · 1:07 PM* |
| **Cancelled** | *Cancelled Wed, Aug 26* |
An [assessment](/customers/assessments) visit carries an extra **Assessment** chip beside the state pill, so you always know which kind of visit you're looking at.
### The rows under the title
Under the title sit the rows that place the visit — the customer, the property, the date and time, and (on a business with more than one crew) the crew. Each one is a button that opens what you'd want from it:
* **The customer** — opens the contact sheet: **Call** and **Text message** first, then **Copy phone number**, **Email**, **Copy email**, and **Open customer profile**
* **The property address** — opens the address sheet: a satellite preview of the property, **Copy address**, **Get directions** in your chosen [maps app](/getting-started/maps-preference), and **Open property profile**
* **The date and time** — opens a short sheet offering **Change time** (move the visit within the day and set how long it should take) or **Reschedule** (move it to another day)
* **The crew** — opens the **Assign a crew** sheet, one row per crew with that crew's day described underneath; tapping a row assigns the visit. This row only appears when your team has **more than one crew** — with a single crew there's nothing to choose, so ProBase leaves it out entirely
On a completed, cancelled or rescheduled visit the time and crew rows are still there — they just aren't tappable any more, because nothing about the visit can change. The customer and property rows keep working, so you can still reach the customer about a job you finished this morning.
## Directions and Text on my way
While a visit is scheduled and you haven't started it yet, two wide buttons sit right under the header: **Directions** and **Text on my way**.
* **Directions** opens turn-by-turn directions to the property in your chosen [maps app](/getting-started/maps-preference)
* **Text on my way** opens the SMS sheet with a message already written — see [Texting the customer you're on your way](/routes/daily-crew-schedules#texting-the-customer-youre-on-your-way)
Once you tap **Start visit**, these two move into the **⋯ More** sheet: you're already there, so they stop taking up the top of the screen.
If your role can't send customer messages, **Text on my way** isn't offered — see [Roles and permissions](/team/roles-and-permissions).
## The action row
One solid button, an outlined **⋯ More** button beside it, and sometimes a quiet third action underneath. What sits there depends on where the visit is:
| Where the visit is | Solid button | Quiet action underneath |
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| Scheduled for a future day | **Start visit** | — |
| Due today or overdue | **Start visit** | **Complete visit** |
| Working | **Complete visit** | **Pause** |
| Paused | **Complete visit** | **Resume** |
| Assessment visit | **Start visit**, then **Mark assessment complete** over **Create a quote** | **Pause** / **Resume** once started |
| Completed job, not yet rated | **Send service report** | **Schedule another visit** (outlined, underneath) |
| Completed job the customer has rated | **Schedule another visit**, outlined, beside **⋯ More** — sending the report steps into the sheet | — |
| Completed assessment | **Create Quote** or **View Quote** | — |
| Rescheduled | **Send Reschedule Confirmation** | — |
| Cancelled | nothing — the Visit tab explains why instead | — |
| [Marketplace visit](/marketplace/marketplace-jobs) | **Open in App** (**Complete in App** once started in the marketplace) | **Start visit** / **Pause** / **Resume** |
See [Timing a visit](/routes/timing-a-visit) for Start, Pause and Resume, and [Completing a visit](/routes/completing-jobs) for what **Complete visit** opens.
Buttons your role can't use aren't shown at all rather than greyed out, so the row only ever offers things you can actually do.
## The More sheet
Tap **⋯ More** and a sheet slides up with everything that isn't the main button. It's always in the same order, so you learn where things are:
1. **Directions** — only once the visit is started (before that it's a button at the top)
2. **Text on my way** — same
3. **Complete visit** (**Mark assessment complete** on an assessment)
4. **Change time** — move the visit within the day and adjust how long it takes
5. **Reschedule** — move it to another day
6. **Move to another crew** — only on a business with more than one crew
7. **Pin this time** (or **Unpin**, if it's already pinned) — lock the visit's time so routing leaves it alone
8. **Send Confirmation** — only on a visit scheduled for a future day
9. **Cancel this visit** — with a line underneath naming this visit's date and the next visit's date
10. **Cancel job** — in red, always last; cancels every upcoming visit for the job
See [Cancelling a visit](/routes/cancelling-visits) for the last two.
### Move to another crew
Tapping it opens the same **Assign a crew** sheet you get from the crew row, with each crew's day described underneath its name — *"6 jobs · finishes 4:40 PM"*. Tap a crew and the visit moves straight away, with a confirmation naming where it landed: *"Moved to Alex — now stop 4. Later visits keep the crew they have."*
By default only this visit moves — the job's later visits keep the crew they have. Flip **Assign to all future service appointments** on in the sheet to move the whole chain. See [Assigning a crew](/scheduling/jobs-without-assigned-crew#assigning-a-crew-from-the-list).
### Pin this time
Pinning locks the visit to its current time so nothing ProBase does — optimizing, rebalancing, assigning or the background pass — will move it. Once pinned, the visit's date-and-time row carries **Pinned to 8:00 AM** with a line explaining why.
The row then reads **Unpin**. See [Pinning a visit's time](/routes/pinning-visit-times) for the whole story, including what pins cost you on a route.
On a **completed** visit the sheet holds one row instead — **Send the report again** (or **Send service report**, if it never went out) — and it only appears once the customer has rated the visit. A cancelled visit has no **⋯ More** at all.
## The AI briefing
On accounts with AI assistance, a cream card headed **What you need for this visit** sits between the action row and the tabs. It's a few plain lines written from the job's and property's notes, the checklists waiting on this visit, and anything charged to it — the gate code, the dog, the thing the customer asked for last time.
Tap the header row to collapse it once you've read it. ProBase remembers that on your device, so it stays collapsed next time — and it's yours alone: collapsing it doesn't change anything for the rest of your crew.
The card is labelled **AI summary** and footed *For you and your crew — never the customer.* It appears only while a visit is still ahead of you (scheduled, working or paused) and only when there's something worth saying — if the job has no notes, no open checklists and nothing charged, there's no card rather than a card telling you there's nothing to know.
## The three tabs
### Visit
The work surface. It holds:
* **Checklists** — every checklist that applies to this job, as rows that open in place. The pinned **Before photos** and **After photos** rows come first. See [Completing checklists on a job](/checklists/completing-checklists)
* **Charges** — a second card holding anything you've added to this visit, with an **Add a charge** row at the bottom. See [Charges on a visit](/routes/visit-charges)
* **History** — on a completed or cancelled visit that has something logged, the record of what happened and when
On a cancelled visit the tab leads with **Why it was cancelled** instead, and the timer, checklists and charge row drop away.
### Details
The facts about the job behind the visit, in two cards:
* **Service** — the service name, the estimated duration, how often it repeats, how it's billed, the price and tax, the job's standing **Charges**, and **This visit**'s own charges as a separate list. The two lists never blend together. Tapping one of the **This visit** rows reopens it for editing — see [Charges on a visit](/routes/visit-charges)
* **Property** — the gate code, the dog, the lawn size and the rest of the property's details (the address is already on the header card). When none of them have been filled in yet, the card holds a single **Add property details** row instead
Tapping **Add property details** opens the property editor **in place**, over the visit — fill it in, save, and you're back on the same tab with the card filled in. You never leave the visit.
An assessment visit has no Details tab — there's no job behind it yet.
### Notes
Everything written about this visit, once each: your **This visit** notes pad at the top, then the property's notes and the job's notes read-only underneath. See [Notes and photos on a visit](/routes/job-notes-and-photos).
The tab you're on is part of the page's web address, so a link to a visit can land straight on **Details** or **Notes** — and coming back from a photo or a sheet puts you back on the tab you left.
## After the visit
A completed visit keeps the same page. A **rating card** appears under the header, **What happened** takes the timer's place, and the checklists lock read-only. See [Completing a visit](/routes/completing-jobs#what-a-completed-visit-looks-like).
The card under the header reads **No customer rating yet** until the customer rates it, and then *\[First name] rated your service 5 stars* with their words underneath.
**What happened** picks up two extra rows on a job visit:
* **Report** — *Not sent yet*, or *Sent Fri, Aug 28*. See [Sending the service report](/routes/sending-service-reports)
* **Charged** — *\$85.00 · Draft invoice*, with a chevron opening the invoice the charge landed on. A visit that billed nothing has no row
A cancelled visit leads with the reason it was cancelled.
A rescheduled visit leads with **Moved to \[date]** — a row opening the visit that replaced it — the reason, and who moved it. It keeps a **Send Reschedule Confirmation** button so you can tell the customer about the new date.
If nothing has been booked in its place yet, the heading reads **Moved — no visit scheduled yet** and doesn't open anything.
## Marketplace visits
A visit that came from a connected marketplace uses this same page. The header card, the hand-offs and your own clock all work as normal — what changes is that the actions the marketplace owns (completing, rescheduling, cancelling, and adding charges) aren't offered here. In their place the main button is **Open in App**, which takes you to the job in the marketplace app, and the header carries a marketplace pill plus a **Last synced … Refresh** row.
A marketplace visit also has just **one tab, Details** — there are no checklists or charges to capture, and its notes are the marketplace's.
Its **⋯ More** sheet holds only the two things that are genuinely yours: **Move to another crew** and **Pin this time** / **Unpin**. The marketplace owns the date and the outcome; the crew and the time of day are ProBase's.
See [Marketplace jobs](/marketplace/marketplace-jobs) for the full picture.
## Next steps
* [Timing a visit](/routes/timing-a-visit) — start, pause and resume the clock
* [Completing a visit](/routes/completing-jobs) — finish the work
* [Sending the service report](/routes/sending-service-reports) — tell the customer what you did
* [Charges on a visit](/routes/visit-charges) — bill for the extra you did
* [Cancelling a visit](/routes/cancelling-visits) — when the visit doesn't happen
# Creating appointments
Source: https://docs.probaseapp.com/scheduling/creating-appointments
Schedule work for your customers
## Overview
Appointments are scheduled work visits for a service. You can create them from the service detail page or from the calendar.
## Create an appointment from a service
Navigate to **Customers**, click the customer name, click the property address, then click the service name.
For active jobs that don't have an appointment yet, a **Schedule Appointment** button appears in the top-right of the service page header — on the breadcrumb row on a computer, and beside the **‹** back arrow on a phone.
A modal opens with date and time fields:
* Pick the **Date**
* Choose the **Start Time** — the end time is set automatically based on the previous appointment's duration (defaults to 60 minutes if there's no prior appointment)
* Optionally assign a **Crew** — if the service has a prior appointment, the same crew is pre-selected for you. The crew field only appears when you have more than one crew on your team.
If the service already has a scheduled appointment, a warning appears reminding you that the existing appointment stays on the calendar.
Click **Schedule** to schedule the visit. The appointment appears in the service's history and on the calendar. The **Schedule Appointment** button is hidden once an upcoming appointment exists.
## View appointments
After creating appointments, you can view them:
* **On the service details page** - Shows all appointments for that specific service
* **On the calendar** - Click **Schedule** in the sidebar to see all appointments across all customers
## View appointment details
Click any appointment in the calendar or on a service page to open **the visit page** — the one screen your crew works the job from.
It holds, from the top down: the service name and the visit's state, the customer, property, date-and-time and crew rows, the **Directions** and **Text on my way** hand-offs, the action row (**Start visit** · **⋯ More**), the timer once the visit is started, and the **Visit · Details · Notes** tabs. [The visit page](/routes/visit-page) walks through all of it; the two things you set while planning your day are below.
### The address sheet
Tap the property row (the line with the map pin) on the header card and a sheet slides up from the bottom of the screen with everything you'd want to do with it:
* **A map preview** — a satellite view of the property with a pin on it, so you can see the place before you drive there. It's a picture, not a map you can pan or zoom. If ProBase couldn't place the address on a map, a short note says so instead
* **Copy address** — puts the full address on your clipboard, ready to paste anywhere. An *Address copied!* confirmation appears
* **Get directions** — opens turn-by-turn directions in your chosen [maps app](/getting-started/maps-preference)
* **Open property profile** — jumps to the [property page](/customers/properties-and-addresses)
### The contact sheet
Tap the customer row (the line with the person icon) to open the contact sheet. It's there on **every** visit, whatever its status — so you can still reach the customer about a job you finished this morning or one that got cancelled:
* **Call** — dials the customer
* **Text message** — opens your messaging app with their number filled in
* **Copy phone number** — puts the number on your clipboard
* **Email** — opens your email app addressed to them
* **Copy email** — puts the address on your clipboard
* **Open customer profile** — jumps to the [customer page](/customers/adding-customers)
If the customer has no phone or email on file, that row reads **Not provided** instead.
If your role isn't allowed to see customer contact details, the sheet says so rather than listing the actions — see [Roles and permissions](/team/roles-and-permissions). On a [marketplace job](/marketplace/marketplace-jobs), there are no phone or email rows at all — the marketplace doesn't share the customer's contact details, so the sheet holds a short explanation and an **Open Customer Profile on LawnStarter** button instead.
### Assign or change the crew
When your business runs **more than one crew**, the visit's header card carries a crew row. Tap it to assign a crew (or swap to a different one) without leaving the visit.
* If the visit already has a crew, the row shows that crew's name.
* If no crew has been picked yet, it reads **Not assigned to a crew yet**.
With a **single crew** there's nothing to choose, so ProBase leaves the row out entirely — every visit belongs to that crew.
Tap the row and the **Assign a crew** sheet slides up, with one row per crew. **Tapping a crew row assigns the visit straight away** — there's no separate Save step.
Each row carries the crew's colour dot, its name, and a line describing that crew's day **with this visit added** — *"6 jobs · finishes 4:40 PM"*, or *"9 jobs · finishes 5:20 PM — 20 min over working hours"* when it would push them past their end time. It's the fastest way to see who actually has room.
Every row on the header card works the same way: the whole row is the button, and a chevron at its right-hand end shows there's something behind it. If your role isn't allowed to assign crews, the crew row still shows who's on the job but isn't tappable — see [Roles and permissions](/team/roles-and-permissions).
#### The Recommended crew, and what each crew costs you in driving
When your team has more than one crew, ProBase suggests which one to send — and shows its working, so you can disagree with it.
A moment after the sheet opens, a **Recommended** badge appears next to one of the crews, and each crew ProBase was able to work out lands a short note on the right-hand side of its row saying how much extra driving that visit would add to that crew's day:
* **+10m drive time** — sending this crew adds about ten minutes of driving to their day
* **+1h 15m drive time** — an hour and a quarter more driving, so probably the wrong crew for this one
* **No added drive time** — it costs them nothing to take, because they're already going right past it
The **Recommended** badge simply marks the crew with the smallest of those numbers. For each crew you can pick from, ProBase looks at that crew's other stops on the same date, works out the most efficient driving order for the day both with and without this visit (the same [route optimization](/routes/optimizing-routes) that powers **Optimize drive**), and compares the two totals. For a crew with nothing else booked that day, the figure is the whole trip — out from their **start location** on the [Crews page](/getting-started/adding-crews), and back to their end location if you've set one — because every mile of it is down to this visit.
It's a suggestion, not a decision — the badge doesn't select anything for you, and the numbers are there so you can weigh them against everything ProBase can't see (who's trained on this work, who's already having a long day). Tap whichever crew you want.
Working it out takes a second or two, because ProBase is planning a route for every crew. While it does, the service name at the top of the sheet is replaced by a small spinner and the line *calculating drive time impact for crews*; the service name comes back once the numbers land.
**You never have to wait for it.** The crew rows and the all-future switch stay live while the spinner is going. Tap a crew mid-calculation and the assignment is saved right away, exactly as if the numbers had already arrived — ProBase just drops the half-finished comparison when the sheet closes.
If neither the badge nor the drive times ever appear, either they haven't reached your account yet (they're rolling out gradually), or ProBase couldn't compare the crews this time — usually because the property's address hasn't been pinned to the map yet, or because there's only one crew to choose from. Pick a crew as usual; nothing else changes.
A single crew can also come up blank while the others show a figure: a crew with **neither a starting nor an ending address** saved has no day to plan around, so there's nothing to measure. Add a starting address on the [Crews page](/getting-started/adding-crews) and it joins the comparison next time.
#### Assign one visit or every future visit
Recurring services [pre-schedule the whole chain of future visits](/scheduling/future-visits), so the sheet opens with an **Assign to all future service appointments** switch at the top. ProBase sets it for you based on what you're doing, and you can flip it before you tap a crew:
* **Giving a crew to a visit that hasn't got one** — the switch is **on**, so the whole upcoming chain gets that crew at once and you only pick once.
* **Moving a visit that already has a crew** — the switch is **off**, because swapping one Tuesday's crew shouldn't re-crew the rest of the job. A line says so: *"Moving this visit does not change the crew on its later visits."*
The new crew shows on the visit immediately, with a confirmation naming where it landed — *"Crew assigned."* on a first assignment, or *"Moved to Alex — now stop 4. Later visits keep the crew they have."* when you've moved one.
On a multi-crew business the crew row is on every scheduled visit — the fastest way to pick a crew for an overdue or unassigned job without going anywhere else.
### Adjust the start time and length
The header card's date-and-time row carries the visit's day and time window — for example *Tue, Aug 18 · 8:00 – 9:00 AM*.
Tapping the row opens a short sheet offering **Change time** or **Reschedule**. Pick **Change time** and the **Edit Time** window opens, its title naming the day you're working on — for example **Edit Time on Tue, Aug 18** — with the service name underneath. This is a same-day adjustment: there's no date to change here, only the time and how long the visit takes.
Pick the new **Start Time** and set the **Duration**, in minutes. Duration can be anything from 5 minutes to a full day.
Tap **Save**. ProBase confirms with *"Appointment time updated."* and the visit moves in your day and on the calendar.
To move a visit to a **different day**, choose **Reschedule** in that same sheet (it's also in the **⋯ More** sheet) — see [Rescheduling appointments](/scheduling/rescheduling-jobs).
#### Seeing the rest of the day while you pick a time
So you're not guessing at a time in the dark, the **Edit Time** window can show you the day you're moving the visit into, right above the fields.
* The heading names whose day you're looking at — for example **North Crew's day**. If the visit doesn't have a crew yet, the heading reads **Crew schedules for this day** and you get a labelled column per crew instead, plus an **Unassigned** column when there's unassigned work that day, so you can see everyone at once.
* Every other stop on that day sits on the timeline in its own block, with the customer's first name, the time, and the service.
* **The pulsing block is the visit you're editing**, drawn at whatever start time and duration you've currently got in the fields. Change either one and the block moves and resizes as you type, so you can see the gap it lands in before you save.
* If nothing else is booked, a line reads *No other jobs scheduled this day.*
The timeline is a picture, not a place to drag things — set the time in the fields below it. With the timeline showing, **Start Time** and **Duration (min)** sit side by side on one row under the timeline, so the whole window still fits on a phone screen without scrolling.
The window opens straight away and fills the timeline in a moment later — you'll see a small spinner where the timeline will be while ProBase gathers that day's stops. The **Start Time** and **Duration** fields are usable the whole time, so you never have to wait for the picture to load before setting a time.
#### The recommended start time
Under the fields, across the full width of the window, ProBase suggests a start time for the visit. It's the last thing to arrive — the timeline fills in first, then the suggestion works itself out, so you'll see *Calculating optimal time…* for a second or two before it becomes a button, for example **Recommended: 7:40 AM**.
Tap the button and the **Start Time** field fills in with that time (the pulsing block jumps to match). Nothing is saved until you tap **Save**, and you're free to ignore the suggestion entirely and pick your own time.
The recommendation is the arrival time this visit would get if the crew drove its whole day in the most efficient order — the same [route optimization](/routes/optimizing-routes) behind **Optimize drive** — counted from the crew's **start time** on the [Crews page](/getting-started/adding-crews). If route planning can't be worked out — usually because an address hasn't been pinned to the map yet, or because the crew has neither a starting nor an ending address saved — ProBase falls back to the crew's start time and labels it **Suggested (crew start)** so you know the difference.
You may also see one of these instead of a suggestion:
* *Assign a crew to get a recommended start time.* — the visit has no crew yet, so there's no day to plan around. Assign one from the crew row and reopen **Edit Time**.
* *Not enough location data to recommend a time.* — ProBase couldn't work out a route and the crew has no start time to fall back on. Usually the property's address hasn't been placed on the map, or the crew has neither a starting nor an ending address saved. Pick a time yourself; nothing else changes.
You get the same day timeline and recommended start time when you book a brand-new job: they sit on the **Schedule** step of the [New Job](/getting-started/creating-jobs) wizard, so the first visit lands in a sensible gap too.
### The briefing
Once there's a note anywhere on that customer, property, service, or visit, a card headed **What you need for this visit** appears above the tabs with the key details in a few plain lines — gate codes, pet warnings, access notes, preferences — so the crew doesn't have to hunt for them. It's there only while the visit is still ahead of you. See [The AI briefing](/routes/visit-page#the-ai-briefing).
On a [marketplace job](/marketplace/marketplace-jobs#the-briefing) the same card is built from the notes the marketplace sent, and those are read-only.
### The Details tab
Holds the facts about the job behind the visit: a **Service** card with the service name, the estimated duration, how often it repeats, how it's billed, the price and tax, the job's standing **Charges** and **This visit**'s own charges as a separate list; and a **Property** card with the address and property details. Tapping one of the **This visit** rows reopens that charge for editing — see [Charges on a visit](/routes/visit-charges).
### Photos
Photos are taken on the visit's **Before photos** and **After photos** checklist rows on the **Visit** tab, and stay there read-only once the visit is completed. Tap a tile to open the full-size image. See [Notes and photos on a visit](/routes/job-notes-and-photos).
Looking for the customer's phone number or email? They live in the [contact sheet](#the-contact-sheet) — tap the customer row on the visit's header card.
## Next steps
* [Reschedule appointments](/scheduling/rescheduling-jobs) if plans change
* [Complete appointments](/routes/completing-jobs) when work is done
* [View the calendar](/scheduling/weekly-schedule) to see all scheduled work
# How recurring visits are scheduled
Source: https://docs.probaseapp.com/scheduling/future-visits
Recurring services pre-schedule their whole chain of future visits
## The whole schedule, planned up front
When you create a **recurring** service (weekly, bi-weekly, monthly, every 2 months, quarterly, every 6 months, or a custom cadence like every 10 days), ProBase doesn't just book the next visit — it pre-schedules the **entire chain of future appointments** at once. Every visit from your start date through the end date appears on the calendar immediately, so customers and crews can see exactly what's coming.
* If you set an **End Date** when creating the job, visits run up to that date.
* If you leave the End Date blank, the chain runs for **one year** from the start date.
* **One-time services** get a single appointment on the start date — there's no chain.
This means you don't have to remember to book the next visit after every job. The schedule is already in place, and you manage the exceptions (a cancellation here, a reschedule there) as they come up.
### Jobs that start without a date
A recurring job can exist with no start date at all — most often one created by [accepting a quote whose services had no dates on them](/customers/managing-quotes#accepting-a-quote-with-no-dates-on-it). There's nothing on the calendar yet, so the job waits in **Needs scheduling** on [HomeBase](/getting-started/homebase#needs-scheduling).
Booking its **first** visit is what starts the clock. Open the job and tap **Schedule a visit**, then pick the day and time.
That one booking anchors the whole schedule: the date you chose becomes the job's start date, and the rest of the chain is generated from it on the job's own cadence, right out to the one-year horizon. You book one visit and get the full year.
## Recent Activity and Future Appointments
On the service details page, the **Appointment History** section splits appointments across two tabs so the long visit chain stays easy to scan:
* **Recent Activity** — what just happened: completed, rescheduled, and cancelled visits, plus the next upcoming visit pinned at the top under an **Upcoming visit** label. This is the tab you land on.
* **Future Appointments** — every upcoming scheduled visit, soonest first.
Tap **Future Appointments** to see the rest of the chain.
Each tab shows a few visits at a time with a **Show more** link to reveal the rest.
If there's nothing to show, the tab says so plainly — **No recent activity yet.** on Recent Activity, or **No upcoming visits scheduled.** on Future Appointments.
## Changing the schedule rebuilds the chain
When you edit a recurring service's schedule from the **Change Schedule** modal, ProBase keeps the future chain in sync with your changes:
On the service details page, tap the **→** button in the top-right of the **Service plan** section.
You can change the **Service Name**, **Description**, **Start Date**, **End Date**, and **Service Frequency**.
**Service Frequency** offers the usual presets plus **Custom**. Pick **Custom** and a **Days between visits** box appears — type any number from 1 to 365 and the chain is rebuilt on that cadence. See [Custom frequencies](/customers/managing-services#custom-frequencies).
If you change the **Start Date** or **Service Frequency**, a warning appears letting you know the future visits will be rebuilt.
Tap **Save**. ProBase reshapes the chain and shows a green confirmation of how many visits changed.
If the change can't be applied, you get a **red message** explaining why instead — most often *"This service is inactive, so its schedule can't be changed."*, which means the service was cancelled while you had the window open. Nothing on the calendar changes in that case. See [If the schedule can't be saved](/customers/managing-services#if-the-schedule-cant-be-saved).
How the chain is reshaped depends on what you changed:
* **Start date or frequency changed** — every future scheduled visit is rebuilt from scratch on the new cadence.
* **End date pushed out (or cleared)** — ProBase fills in the additional visits up to the new horizon.
* **End date pulled in** — visits scheduled past the new end date are removed.
Rebuilding the chain only ever touches **upcoming scheduled visits**. Completed, rescheduled, and cancelled visits are part of your history and are never changed or deleted.
## Working through the visit chain
Because the whole chain already exists, the everyday actions you take on a single visit behave a little differently than booking one at a time.
### Completing a visit
The completion form shows a **Next visit** line naming the date already on the calendar, so you finish the job and move on — there's no extra step asking you to book the next one. See [Completing appointments](/routes/completing-jobs).
The finished visit carries a **Completed** pill, and the [send-report step](/routes/sending-service-reports) opens straight after so you can tell the customer what you did. Nothing else in the chain moves — the next visit is still on the calendar for its own day.
### Calling off one visit
Open the visit, tap **⋯ More**, and the **Cancel this visit** row names the next visit in the chain before you tap it — *Just this one — Fri, Aug 28. Your next visit is scheduled for Fri, Sep 4.*
Confirm in the sheet that slides up. If the visit has charges or notes of its own, the sheet first offers to **move them to the next visit** so nothing is lost. See [Cancelling a visit](/routes/cancelling-visits).
Cancelling a visit can't be undone — it's permanently marked cancelled. If you just need it on a different day, [reschedule](#rescheduling-a-visit) it instead.
The visit now carries a **Cancelled** pill, with **Why it was cancelled** and a **History** line beneath it on the **Visit** tab. The rest of the chain is untouched — the next visit stays scheduled for its own day.
### Rescheduling a visit
Rescheduling moves that **one** visit to a new date — the rest of the chain stays exactly where it is. The original visit is kept as history and marked **Rescheduled**. See [Rescheduling jobs](/scheduling/rescheduling-jobs).
After it saves, the service page confirms *Appointment rescheduled* and offers a **Send Reschedule Confirmation** button so you can let the customer know the new date.
### Assigning a crew
You can assign a crew to just one visit or to every future visit at once. See [Assign or change the crew](/scheduling/creating-appointments#assign-or-change-the-crew).
### Cancelling the whole job
**Cancel job** — the last row of the visit's **⋯ More** sheet, in red — ends the job and cancels every upcoming visit in the chain at once. Past completed visits and their invoices are untouched. See [Cancel job](/customers/managing-services#cancel-job).
Confirming shows *Service cancelled.* and the service plan drops its scheduled date — the chain is gone.
**Marketplace services don't work this way.** A service that came from a connected marketplace has its recurrence set by the marketplace, so ProBase never builds a chain for it — each visit arrives as the marketplace schedules it. The **Change Schedule** control isn't available on those services either. See [Marketplace customers](/marketplace/marketplace-customers#the-service-page).
## Next steps
* [Creating jobs](/getting-started/creating-jobs) — set the start and end dates that drive the chain
* [Managing customer services](/customers/managing-services) — edit pricing, schedule, and cancel services
* [Completing appointments](/routes/completing-jobs) — mark visits done as you work through the chain
# Jobs that need a crew
Source: https://docs.probaseapp.com/scheduling/jobs-without-assigned-crew
Find scheduled jobs with no crew picked yet, and hand them out one at a time or all at once
## What this is
Scheduled appointments can sometimes land on your calendar without a crew picked — for example when you reschedule a visit without choosing one, or when an older appointment didn't get assigned for some reason. ProBase flags these so they don't sit on the schedule unassigned.
On single-crew teams, brand-new appointments are auto-assigned to your only crew, so this card is usually empty. It appears when an appointment has slipped through without a crew — most commonly on multi-crew teams.
## Finding jobs that need a crew
When jobs on the day you're planning have no crew, a **Jobs with no crew** row appears in the **Action needed** section on HomeBase, with **Assign a crew** underneath and a count of the jobs waiting. See [Plan your day](/scheduling/plan-your-day).
Tap it to open the list.
The same list is reachable from the **Day** view: when a day has jobs with nobody driving to them, a **Needs you** card sits above the stops — *"2 jobs on this day need a crew"*, with the customers named. Tapping it opens the list for that day, under a **Schedule /** trail, and the back arrow brings you straight back to the day and the crew filter you left — not to HomeBase.
## The list page
The page comes in two shapes depending on how you got there.
**Scoped to one day** — opened from HomeBase or from the Day view, it lists exactly that day's jobs with no crew. The count is the heading — *"3 jobs need a crew"* — with the date underneath.
**The fourteen-day list** — opened without a date, it's headed **Jobs without assigned crew** (*"These scheduled jobs aren't assigned to a crew yet"*) and shows scheduled appointments that don't have a crew yet, sorted oldest-first so the most urgent items appear at the top.
Each card shows the customer name, scheduled status, property address, service name, date and time, and an amber **Not assigned to a crew yet** badge. A job that came from a connected marketplace also carries its **marketplace brand mark** next to the status badge, the same as on the calendar and your daily route — marketplace jobs are yours to staff, so they need a crew just like your own work. See [Marketplace jobs](/marketplace/marketplace-jobs).
The list focuses on the **next 14 days**. Because recurring services [pre-schedule their whole chain of future visits](/scheduling/future-visits), this keeps the list to jobs that need a crew soon rather than flooding it with months of far-future visits. Each service shows only its earliest unassigned visit in the window, so you assign a crew once and move on.
A recurring service with several unassigned visits appears as a single row — its soonest visit — rather than one row per visit:
### Searching
Use the search bar at the top to filter by service name, customer name, or address.
### Load more
If you have many unassigned jobs, the list loads 20 at a time. Scroll to the bottom and the next batch loads automatically.
## Assigning a crew from the list
Tap any job card to open the **Assign a crew** sheet right there — no need to navigate to the appointment detail page first.
The sheet holds one row per crew, and **tapping a row assigns the job** — there's no separate Save step.
**Assign to all future service appointments** sits at the top of the sheet. ProBase sets it for you based on the job:
* The visit has **no crew yet** — it's on, so the whole recurring chain gets the crew at once.
* The visit **already has a crew** and you're moving it — it's off, and a line explains: *"Moving this visit does not change the crew on its later visits."*
Flip it either way before you tap a crew.
Each row shows the crew's colour dot, its name, and a line describing that crew's day **with this visit added** — for example *"6 jobs · finishes 4:40 PM"*, or *"9 jobs · finishes 5:20 PM — 20 min over working hours"* when it would push the crew past its end time.
Each row also shows what this visit would add to that crew's driving — *+10m drive time* — and a **Recommended** badge lands on the crew with the smallest number. It's a suggestion you're free to ignore. See [The Recommended crew, and what each crew costs you in driving](/scheduling/creating-appointments#the-recommended-crew-and-what-each-crew-costs-you-in-driving).
The drive figures take a second or two to work out, and a spinner sits where the service name goes until they land. You don't have to wait — tapping a crew works the whole time.
The job is assigned, a **Crew assigned.** confirmation appears, the sheet closes, and the appointment drops off the list.
With **Assign to all future service appointments** left on, the whole recurring service clears at once — the row is gone straight away rather than reappearing with the next visit in the chain:
Assign one and the list restates itself — *"2 jobs need a crew"* — so you can see what's left.
Once every job has a crew, the list shows an empty state (*"No jobs are missing a crew. You're all set!"*) and the HomeBase row disappears.
## Assign and optimize in one pass
When the list is scoped to a day, a button sits beneath it: **Assign & optimize routes**.
> Automatically assigns unassigned jobs to the best crew to minimize drive time. Preview changes before saving.
>
> Applies to today's schedule only. Future jobs remain unchanged.
Tapping it opens a preview headed **Assign & optimize routes**. The heading is the count of jobs that would get a crew — *"2 jobs get a crew"* — and underneath, what it does to the fleet's driving, honestly: *"Adds 10 min of driving. New schedule: 8:00 AM – 4:40 PM."* Picking up extra stops usually costs a little driving; the point is that they get covered at the lowest cost available.
Each job that would get a crew shows the handover on its row — *"● Unassigned → ● Sam"*. Jobs that already have a crew keep it and keep their times.
If taking the extra work would push a crew past its **End time**, the preview says so before you commit — *"New route runs 40 min past 5:00 PM."*
If one of your crews has no start address, ProBase can't route it, so no job is given to that crew. The preview names it in a yellow notice — *"Jo has no start address"* — with an **Open Crews** link to fix it. The other crews still get their jobs.
* **Assign 2 jobs** writes the change. The confirmation counts what got covered — *"2 jobs assigned. Undo before you start your first stop."*
* **Not now** closes the preview and writes nothing.
If a stop on the day is **already done**, the preview warns you before you commit: **A stop on this day is already done — This can't be undone.** You can still assign; there's just no going back, so the confirmation reads *"2 jobs assigned."* with no **Undo**.
### When there's nothing to assign
The preview says which case you're in rather than showing a blank screen:
| What the screen says | What it means |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Every job on this day already has a crew — nothing to assign.** | Somebody staffed the last of them while you were looking. **Close** leaves the day alone. |
| **Your crews' booked stops are too tight to add the unassigned jobs without moving them.** | Your crews' existing stops are booked too closely together to fit the extra work between them. Nothing is written — assign them by hand, or move a booked stop first. |
| **Couldn't work out a better order right now.** *Your day is unchanged.* | The routing service couldn't answer — usually an address it can't place on the map. **Try again** re-asks. |
The button only appears when the list is scoped to a day, your team has more than one crew, there's something to assign, and your role can plan routes. It never touches other days — a recurring job's later visits keep the crew they have.
## Other places to assign a crew
The same **Assign a crew** sheet is reachable from a few other places when you'd rather work appointment-by-appointment:
* **The visit page** — the crew row on the visit's header card opens the sheet, and **⋯ More → Move to another crew** does the same thing. See [Assign or change the crew](/scheduling/creating-appointments#assign-or-change-the-crew).
* **The day list** — a stop card with no crew carries an amber line you can tap to assign one without leaving the day.
* **Overdue jobs list** — when your team has more than one crew, overdue cards show the crew row so you can spot unassigned visits at a glance. See [Overdue jobs](/scheduling/overdue-jobs).
* **Reschedule modal** — pick or change the crew while you reschedule. See [Rescheduling appointments](/scheduling/rescheduling-jobs).
* **Job creation wizard** — pick a crew when scheduling the first appointment. See [Creating jobs](/getting-started/creating-jobs).
* **Assessment creation** — pick a crew when scheduling the on-site visit. See [Creating quotes and assessments](/customers/creating-quotes).
## Next steps
* [Plan your day](/scheduling/plan-your-day) — where HomeBase surfaces this and the rest of the morning's work
* [Adding your crews](/getting-started/adding-crews) — Set up multiple crews so appointments can be routed to the right one
* [Overdue jobs](/scheduling/overdue-jobs) — Resolve appointments that slipped past their scheduled date
* [HomeBase](/getting-started/homebase) — Your daily command center for field work
# Month view
Source: https://docs.probaseapp.com/scheduling/month-view
See a whole month of appointments on one grid
## Overview
The **Month view** gives you the big picture: every appointment for the month laid out on a single day-cell grid. It's the fastest way to spot a packed week, find an open day to slot in new work, or get a feel for how busy the month ahead looks.
## Open the Month view
Click **Schedule** in the sidebar, then tap **Month** in the view picker at the top of the page.
ProBase remembers the view you last used, so once you switch to Month you'll keep landing there until you choose a different view.
## What you'll see
Each day in the grid shows up to three appointments as small colored bars:
* **The color of each bar matches the assigned crew**, so you can read crew workload across the whole month at a glance. Appointments with no crew assigned yet show in grey.
* **Each bar is labelled with the customer's last name** so you can tell the day's jobs apart.
* When a day has more than three appointments, the extras collapse into a **"+N more"** label — tap into the day to see the full list.
* **Today** is highlighted with a filled circle on the date number.
* **Marketplace jobs** show the marketplace's small **brand mark** (its logo) at the start of the bar, so you can spot work from a connected marketplace across the whole month. See [Marketplace jobs](/marketplace/marketplace-jobs).
The Month view always shows the full month, including a few trailing days from the previous and next month to fill out the first and last rows. Those out-of-month days are greyed out and can't be tapped.
## Tap a day to see what's on it
Tap any day in the grid to open the **day overview** — a bottom drawer on your phone, or a side panel on a wider screen — listing that day's jobs and stops in start-time order, with the job count and total time booked.
From the day overview you can:
* Tap any job in the list to open its [visit page](/routes/visit-page).
* Tap **Open Day view** to drill into that day's full **Day view**, where you can see full appointment cards, track progress, complete or reschedule jobs, and reorder stops.
* Tap the **✕**, tap outside, or press **Esc** to close it — the month stays exactly where it was. On a phone you can also drag the drawer down by its grab handle to flick it closed.
To get back to the month overview from the Day view, tap **Month** in the view picker again. The date you drilled into stays selected, so switching back to Month keeps you in the right month.
## Drag a visit to another day
On a computer, pick a visit's bar up with the mouse and drop it on another day in the grid. The visit keeps its time of day, and ProBase asks you to confirm before anything is written.
A plain click still opens the day overview, so dragging never gets in your way. See [Drag a visit to another day](/scheduling/rescheduling-jobs#drag-a-visit-to-another-day) for the full rules.
## Move between months
Use the date picker at the top of the page to move through the calendar:
* Tap the **left and right arrows** to step back and forward a month at a time.
* Tap the **date label** to open a calendar and jump to any month.
* Tap **Today** to snap back to the current month.
The calendar covers a fixed window — up to one year ahead and three months back. The arrows dim and stop when you reach either edge.
The controls rearrange between phone and computer — see [Where the controls sit](/scheduling/weekly-schedule#where-the-controls-sit).
## Filter the month
The crew filter and search box work the same in Month view as in the other calendar views. Filter to a single crew to see just their month, or search by customer or service name to highlight specific jobs. See [Filter appointments](/scheduling/weekly-schedule#filter-appointments) for details.
## Next steps
* [Weekly calendar](/scheduling/weekly-schedule) for a multi-day planning view
* [Daily crew schedules](/routes/daily-crew-schedules) for today's work in the field
* [Creating appointments](/scheduling/creating-appointments) to add new work to the schedule
# Overdue jobs
Source: https://docs.probaseapp.com/scheduling/overdue-jobs
Identify and resolve jobs that are past their scheduled date
## What are overdue jobs?
An overdue job is a visit that's still sitting there **scheduled** after its day is over — never completed, cancelled or rescheduled. This can happen when a crew couldn't make it, a customer cancelled last-minute, or an appointment was created but never resolved.
ProBase flags these automatically so nothing slips through the cracks.
A visit turns overdue at **9:00 PM on its own date** by default, in your business's timezone. Before that it reads **Today** however late the hour — an evening job isn't a problem until the evening is over. You can change the time — anywhere from noon to **Midnight** (the end of the visit's day) — under **Mark visits Overdue at** in [Scheduling settings](/getting-started/settings#mark-visits-overdue-at). The same rule is used everywhere: the badge on a card, the pill on the visit page, and the count on HomeBase all flip at the same moment, so a visit is never overdue in one view and fine in another.
### When a visit turns overdue
Here's the same visit, booked for today, at noon and again at 9:30 PM with the default 9:00 PM setting. At noon the pill reads **Today**; after 9:00 PM it reads **Overdue**, and HomeBase counts it under **Overdue Jobs** at the same moment.
If your business is set to **Midnight**, a visit booked for today still reads **Today** at 11:30 PM. It only turns overdue once its day is over.
## Finding overdue jobs
When you have overdue appointments, an **Overdue Jobs** action item appears in the **Action needed** section on HomeBase. The count shows exactly how many appointments need attention.
Tap **Overdue Jobs** to open the full list.
## The Overdue Jobs list
The Overdue Jobs page shows all past-due appointments sorted oldest-first, so the most urgent items appear at the top.
Each card shows:
* Service name
* Customer name
* Property address
* Original scheduled date
* Assigned crew (when your team has more than one crew) — color-coded with a truck icon, or an amber "Not assigned to a crew yet" warning if no crew has been picked
* A **marketplace brand mark** next to the status badge if the job came from a connected marketplace — the same small logo you see on the calendar and your daily route. See [Marketplace jobs](/marketplace/marketplace-jobs)
The crew row only appears on overdue cards when your team has more than one crew. If you run a single crew, the assignment is implicit and the row is hidden to reduce clutter.
**Marketplace visits that were already dealt with don't show up here.** A visit that the marketplace completed, cancelled, or moved to another day is finished as far as this list is concerned, so it never sits in Overdue Jobs waiting on you — even though its original date has passed. See [After a visit is rescheduled in the marketplace app](/marketplace/marketplace-jobs#after-a-visit-is-rescheduled-in-the-marketplace-app).
### Searching
Use the search bar at the top to filter by service name, customer name, or address.
### Load more
If you have many overdue jobs, the list loads 20 at a time. Scroll to the bottom and the next batch loads automatically.
## Resolving an overdue job
Tap any card to open [the visit page](/routes/visit-page).
From there you can:
* **Assign a crew** — tap the crew row on the header card to pick a crew for an unassigned visit, or swap to a different one. (The row only appears when your business has more than one crew.) See [Assign or change the crew](/scheduling/creating-appointments#assign-or-change-the-crew).
* **Complete the visit** — if the work was actually done, work it as normal. See [Completing a visit](/routes/completing-jobs).
* **Reschedule** — put it on a new date. See [Rescheduling appointments](/scheduling/rescheduling-jobs).
* **Cancel this visit** — call it off if the work won't happen.
### Cancelling an overdue visit
Tap the job from the overdue list to open its visit page.
The **⋯ More** sheet holds **Cancel this visit**, with a line underneath naming this visit's date and the next visit's date.
A sheet slides up headed **Cancel this visit?**. If the visit has charges or notes of its own and another visit is scheduled, it asks whether to move them forward first.
The visit is marked **Cancelled** and drops off the overdue list.
Cancelling this way only ends **this one visit** — the rest of the job's schedule stands. To end the whole job, use **Cancel job** at the bottom of the same sheet. See [Cancelling a visit](/routes/cancelling-visits).
After you resolve a job the list updates itself. Once every overdue job is dealt with, the list shows an empty state and the **Overdue Jobs** action item disappears from HomeBase.
## Tips for staying on top of overdue jobs
* **Check HomeBase daily** — The Action needed section is the fastest way to spot overdue jobs before they pile up
* **Reschedule promptly** — Rescheduling keeps the job active and ensures customers get the service they've signed up for
* **Cancel when appropriate** — If a customer cancelled verbally, record the cancellation in ProBase to keep your schedule accurate
* **Use the search** — If you have a long list, search by customer name to quickly find a specific job
## Next steps
* [Rescheduling jobs](/scheduling/rescheduling-jobs) — How to reschedule an appointment to a new date
* [Completing jobs](/routes/completing-jobs) — Mark appointments as done to clear them from the list
* [HomeBase](/getting-started/homebase) — Your daily command center for field work
# Plan your day
Source: https://docs.probaseapp.com/scheduling/plan-your-day
The HomeBase rows that tell you what to fix before your crews roll out
## What this is
Before your crews leave, HomeBase tells you what's worth a minute of your time: a job nobody's driving to, a day that runs past the crew's end time, and a route that could be shorter. These sit as rows in the **Action needed** section of [HomeBase](/getting-started/homebase), each one a tap away from the screen that fixes it.
## Which day is being planned
ProBase plans **today** until 6:00 PM, then switches to **tomorrow**. The idea is simple: in the morning you're fixing the day you're about to drive, and by the evening you're setting up the next one. You never have to tell it which day you mean.
## The rows, in order
The rows always appear in the same order — blockers first, then how the day fits, then what you could save. They're never sorted by when something changed, so you learn where to look.
### Jobs with no crew
A count of the jobs on the planned day that nobody is assigned to, with **Assign a crew** underneath. Tap it to open [Jobs that need a crew](/scheduling/jobs-without-assigned-crew) scoped to that day, where you can hand them out one at a time or let ProBase assign and route them all at once.
This row only appears on teams with more than one crew — with a single crew, new work is assigned automatically.
### How the day fits
*"Tuesday runs 47 min past 5:00 PM"* — the crew's planned work and driving add up to more than the hours you gave them. Underneath is the fix ProBase thinks will help:
* **Reorder the stops** — the work itself fits the crew's hours, so a better order could bring the day back inside them. Opens [Reorder stops](/routes/reordering-routes) for that crew.
* **Move work to another crew** — no reordering can make this day fit, so the work needs to go somewhere else. Opens that day on the Schedule; tap **⋯ More → Rebalance this day** to [move jobs between crews](/routes/rebalancing-the-day). This fix is only suggested on teams with more than one crew — with a single crew the row always suggests **Reorder the stops**.
A crew with no **End time** saved is never warned — you haven't told ProBase when the day is supposed to finish, so it has nothing to measure against. See [Working hours](/getting-started/adding-crews#working-hours).
### Save about 40 min of driving
What reordering that crew's route would save. Tap the row and the [Optimize route](/routes/optimizing-routes) preview opens for that crew and starts working the day out.
ProBase doesn't calculate this in advance — it works it out when you open HomeBase. While it's thinking, the row reads *"Working out what optimizing would save…"*.
If ProBase can't work a figure out, the row reads *"Your routes haven't been optimized yet."* and still takes you to the preview. If the route is already the best order, there's nothing to save and no row at all.
Once you've applied an optimization — or told ProBase to **Keep current route** — that crew's day stops being offered again, until the stops on it change. A day you've already reviewed isn't nagged about.
## More than three rows
Only the first three rows show. Anything beyond that collapses behind **Show N more**; tap it to see the rest, and **Show fewer** to fold them away again.
## When nothing is wrong
If there's nothing to fix, the rows are replaced by a single line summarising the day — *"Today's set — 9 stops, 6:30 AM to 3:10 PM."* (or *"Tomorrow's set"* after six in the evening).
## Which crew a row is about
On a team with more than one crew, each crew row carries that crew's colour dot and names the crew in its own line — *"Alex · reorder the stops"*. One problem on two crews is two rows, so you always know who you're fixing. On a single-crew team the crew name is left out.
Crew rows only appear to people whose role lets them plan routes, and only for the crews they're allowed to plan for. See [Roles and permissions](/team/roles-and-permissions).
## Next steps
* [Optimize a route](/routes/optimizing-routes) — review and apply a better stop order
* [Rebalance the day](/routes/rebalancing-the-day) — move work between crews
* [Jobs that need a crew](/scheduling/jobs-without-assigned-crew) — hand out unassigned work
* [Daily crew schedules](/routes/daily-crew-schedules) — the same warnings, on the day itself
# Rescheduling appointments
Source: https://docs.probaseapp.com/scheduling/rescheduling-jobs
Move a visit to a different date and let the customer know
## Overview
When you need to change when work is scheduled, you can reschedule a visit. This creates a new visit on the new date and marks the original as "Rescheduled," so the trail of what was booked stays intact.
Only shuffling the visit **within its day**? You don't need to reschedule. Tap the date-and-time row on the visit's header card and choose **Change time** to set a new start time and duration, leaving the date alone — see [The visit page](/routes/visit-page#the-rows-under-the-title).
## Reschedule an appointment
Tap the visit anywhere it appears — your daily schedule, the calendar, HomeBase, the customer's or property's **Visits** card, or the job page — to open [the visit page](/routes/visit-page).
Tap the outlined **⋯ More** button beside the main action to slide up the **More** sheet.
Tap **Reschedule** in the sheet. The **Reschedule Appointment** window opens.
In the reschedule form:
* Select the new **Date**
* Set the new **Start time** (defaults to the same time as the original appointment)
* Reassign the **Crew** if needed — the picker pre-selects the crew already on the appointment, so you can leave it alone to keep the same crew. The crew picker only appears when your team has more than one crew; with a single crew the appointment stays assigned to it automatically.
* Enter a **Reason** for rescheduling (optional)
Click **Reschedule** to create the new appointment. The original appointment is marked as "Rescheduled" with your reason, and a new "Scheduled" appointment appears with the new date and time.
## Drag a visit to another day
On a computer you don't have to open the visit at all. In the **Week** and **Month** views you can pick a visit up with the mouse and drop it on another day — ProBase asks you to confirm, then reschedules it for you.
Press the mouse button on the visit's box and move it. Nothing happens until you've moved about a centimetre, so a plain click still opens the visit as usual.
* In the **Week** view the box follows you across the columns and snaps to the nearest half hour, so you can change the day and the time in one go.
* In the **Month** view the box follows you from cell to cell and the visit keeps its own time of day.
The day you're hovering over is outlined so you can see where the visit will land.
Drop the box and a sheet asks before anything is written:
> **Move Sarah's visit to Thu, Sep 3?**
> Thu, Sep 3 at 10:30 AM. Charges and notes come along; the current time stays in the history as Rescheduled.
* **Move visit** reschedules it and confirms with *"Moved to Thu, Sep 3."*
* **Keep it where it is** writes nothing and the box springs back.
The Month view works the same way:
### What you can and can't drag
* Only **scheduled** visits drag. Completed, cancelled and rescheduled boxes stay put, and so do non-service stops.
* If the day is busy enough that the week grid has collapsed its visits into a **+N more** cluster, open the cluster and work from the visit itself.
* A visit you're not allowed to reschedule doesn't drag either. See [Roles and permissions](/team/roles-and-permissions).
* **Marketplace visits** can't be moved this way — the date belongs to the marketplace. ProBase refuses with *"Reschedule this job in the LawnStarter app."* See [Marketplace jobs](/marketplace/marketplace-jobs).
* Dropping a visit back where it started changes nothing and asks nothing.
Dropping a visit on a day the crew doesn't work asks the work-day question first — *"Tuesday isn't a working day for this crew. Schedule it anyway?"* — before it asks you to confirm the move. See [Scheduling on a day the crew doesn't work](/getting-started/adding-crews#scheduling-on-a-day-the-crew-doesnt-work).
Dragging is an accelerator for the mouse, not the only route. On a phone or tablet, open the visit and use **⋯ More → Reschedule** as above.
### Every move stays in the history
A drag is a real reschedule, so it leaves the same trail: the old visit is marked **Rescheduled**, a new **Scheduled** visit appears on the new day, and charges and notes come along. Drag a visit to Friday and back again and you'll have two rescheduled records and one live visit — the full story of what was booked.
## What happens when you reschedule
When you reschedule an appointment:
1. The original appointment status changes to **Rescheduled**
2. The reason you entered is saved on the original appointment
3. A new **Scheduled** appointment is created for the new date and time
4. Any [**charges**](/routes/visit-charges) on the original appointment are moved to the new appointment
5. Any **notes** attached to the original appointment are moved to the new appointment
6. Both appointments remain in the history on the service details page
This creates a complete audit trail of all scheduling changes. Because items and notes move with the appointment, your crew will have everything they need on the rescheduled date without any re-entry.
## Viewing rescheduled appointments
Rescheduled appointments appear with a "Rescheduled" status badge (orange) in the calendar and on the service details page. Open one and its **Visit** tab leads with where the work went:
* **Moved to \[date]** — a row you can tap to open the visit that replaced it
* **The reason** you typed when rescheduling, or *No reason was recorded.* if you left it blank
* **Rescheduled by \[name] · \[date]** — who moved it and when
If nothing has been booked in its place yet, the heading reads **Moved — no visit scheduled yet** and there's nothing to open.
The timer, checklists and charge rows all drop away — nothing happened on this visit, so there's nothing to capture on it. A **History** card at the bottom of the tab carries the *Rescheduled to \[date] by \[name]* line.
Visits rescheduled before ProBase started logging who moved them keep the lead and the reason, but no *Rescheduled by* line — there's nothing recorded to show.
## Sending a reschedule confirmation
When you open a rescheduled visit, its action row holds a single **Send Reschedule Confirmation** button. Use it to text the customer the details of the new visit that was created when you rescheduled.
From the calendar or the service details page, click the rescheduled appointment (the one with the orange "Rescheduled" badge — not the new one).
The button opens a pre-filled SMS modal. The message references the **next scheduled appointment** linked to the same service — including the day of the week, date, start and end time, and the property address. If no follow-up appointment exists yet, the message simply notes that the appointment has been rescheduled and that you'll follow up with the new date.
Edit the message if you need to add context, then send. The text goes to the customer's phone number on file.
Customers don't get an automatic notification when you reschedule. Sending the confirmation is what lets them know about the new date and time.
## If the visit isn't happening at all
There's no **Skip** any more — cancelling a visit is the one way to call one off, and it asks what should happen to the charges and notes already sitting on it. See [Cancelling a visit](/routes/cancelling-visits).
Visits marked **Skipped** on older jobs still show correctly wherever they appear — that status is part of your history.
## Next steps
* [Cancelling a visit](/routes/cancelling-visits) — when the visit isn't happening
* [The visit page](/routes/visit-page) — everything else the **⋯ More** sheet holds
* [How recurring visits are scheduled](/scheduling/future-visits) — what rescheduling does to the rest of the chain
# Planning routes
Source: https://docs.probaseapp.com/scheduling/route-planning
The tools ProBase gives you for getting your crews around the day efficiently
## Overview
Route planning keeps driving time and fuel down by putting your stops in a sensible order and spreading the work fairly across your crews. ProBase gives you four tools for it — three you drive yourself and one that runs quietly in the background. Every one of them shows you what it would do **before** anything changes.
## The tools
### Reorder stops — you pick the order
Drag a crew's stops into any order you like, from the calendar's **Day** view. Drive times and the day's totals settle as soon as you let go of a card, and the Save button names what you're about to do.
Best when you know the neighbourhood better than the map, or you want to start with a particular customer. See [Reordering stops](/routes/reordering-routes).
### Optimize route — ProBase picks the order
Let ProBase work out the shortest order for **one** crew's day. You get a full preview: what it saves, which stops move, and what time the day would finish.
**Apply optimized route** writes it, **Keep current route** leaves it alone, and you can undo the change until the crew starts working. See [Route optimization](/routes/optimizing-routes).
### Rebalance this day — move work between crews
When one crew is buried and another is light, reordering won't help. **Rebalance this day** looks at every crew at once and proposes moving jobs between them, with a per-crew before-and-after and a map of the result.
Multi-crew teams only. See [Rebalancing the day](/routes/rebalancing-the-day).
### Assign & optimize routes — staff the day and route it in one pass
When a day has jobs with nobody driving to them, ProBase can hand them all to the best crews and route them together.
See [Jobs that need a crew](/scheduling/jobs-without-assigned-crew#assign-and-optimize-in-one-pass).
### Background optimization — ProBase reorders as work changes
Switch **Optimize my routes automatically** on in [Settings → Scheduling](/getting-started/settings#optimize-my-routes-automatically) and ProBase reorders days in the background as jobs are added or updated. It isn't silent: the next time you open a day it reordered, a message tells you what it did — *"ProBase reordered this day — 22 min saved."* — with **Undo** beside it.
## Where the planning starts
You don't have to go looking for any of this. Each morning **HomeBase** puts what's worth fixing in front of you — jobs with no crew, a day that runs past its end time, a route that could be shorter — each row a tap away from the screen that fixes it. See [Plan your day](/scheduling/plan-your-day).
## What planning never moves
* A [**pinned**](/routes/pinning-visit-times) visit keeps its time. Nothing ProBase does — optimizing, rebalancing, assigning or the background pass — moves one.
* A stop a crew is **already working** stays exactly where it is.
* Nothing is proposed **before the crew's start time**, and on a day already underway, never before now.
* Other days are never touched. A recurring job's later visits keep the crew and times they have.
## Requirements
To plan a route for a crew you need:
* A **starting address** on the crew — it's where the drive is measured from. A crew without one can't be routed at all; its card carries an amber warning and HomeBase raises a **Set starting address** row. See [Start and end locations](/getting-started/adding-crews#start-and-end-locations).
* Property addresses ProBase can find on the map.
* At least two stops for that crew on the date.
An **ending address** is optional — leave it blank and the day finishes at the last job.
Setting each crew's **End time** is what lets ProBase warn you that a day won't fit. Without one it plans the route happily but never tells you the day runs long. See [Working hours](/getting-started/adding-crews#working-hours).
## Drive times you can trust
Every drive time ProBase plans with already includes your **drive time buffer**, so the numbers on screen are the numbers it schedules with — nothing is padded twice. Set it in [Settings → Scheduling](/getting-started/settings#drive-time-buffer).
## Which one to use
| You want to… | Use |
| ------------------------------ | -------------------------------------------------------------------------------------------------- |
| Hand-pick the exact order | [Reorder stops](/routes/reordering-routes) |
| Shorten one crew's drive | [Optimize route](/routes/optimizing-routes) |
| Even out an overloaded crew | [Rebalance this day](/routes/rebalancing-the-day) |
| Get unassigned jobs covered | [Assign & optimize routes](/scheduling/jobs-without-assigned-crew#assign-and-optimize-in-one-pass) |
| Stop thinking about it | [Automatic optimization](/getting-started/settings#optimize-my-routes-automatically) |
| Keep one visit at a fixed time | [Pin the visit](/routes/pinning-visit-times) |
## Next steps
* [Set up your crews](/getting-started/adding-crews) with start locations, working hours and an end time
* [Plan your day](/scheduling/plan-your-day) — what HomeBase tells you each morning
* [Daily crew schedules](/routes/daily-crew-schedules) — track the day once it starts
# Weekly calendar
Source: https://docs.probaseapp.com/scheduling/weekly-schedule
View and manage a whole week of appointments on a time grid
## Overview
The **Week view** lays out a whole week — Monday through Sunday — on a time grid, like a calendar app. Each appointment sits in its column at the time it's scheduled, so you can see how your days stack up, spot gaps and clashes, and balance work across crews at a glance. It's the best view for planning ahead and office work.
## Open the Week view
Click **Schedule** in the sidebar, then tap **Week** in the **Month / Week / Day** view picker at the top of the page.
ProBase remembers the view you last used, so once you switch to Week you'll keep landing there until you choose a different view. Your crew filter is remembered too. The focused date always resets to today at the start of a new day.
## Reading the week grid
The grid has one column per day and a time axis down the left side (running from early morning to evening, and stretching automatically if you have work outside those hours).
* **Day headers** across the top show each day's date and a small pill with the number of stops scheduled that day. Today's date is marked with a filled circle.
* **Appointments** appear as colored boxes positioned at their start time. **The color matches the assigned crew**, so you can read who's working when. Each box shows the customer's first name, the time, and the service.
* **Non-service stops** (lunch breaks, supply runs, drive time) appear as their own boxes, labelled with the stop name and duration.
* A **red line** runs across the grid at the current time, so you can see at a glance how the day is progressing against what's booked.
* **Marketplace jobs** carry the marketplace's small **brand mark** (its logo) at the start of the box, so work that came from a connected marketplace is easy to pick out. The same mark appears in the [day overview panel](#day-overview-panel). See [Marketplace jobs](/marketplace/marketplace-jobs).
* **Assessment visits** carry an **Assessment** pill beside the customer's name. Regular jobs carry nothing — a calendar is almost entirely jobs, so only the exception is marked. On a short visit, or in a narrow column where there's no room for the pill, the badge shrinks to a small dot. See [Assessments](/customers/assessments).
### Busy days collapse into a cluster
When three or more items overlap in the same part of a day, they collapse into a single **cluster box** showing the count (e.g. "3 items") above a row of crew color dots, so you can still tell who's involved. Tap the cluster to open a panel listing just those jobs and stops in time order — see [Day overview](#day-overview-panel) below.
The panel that opens from a cluster shows the **time window that group covers** — from the earliest start to the latest finish across everything in the cluster (for example, "9:00 AM - 10:30 AM") — right under the date. That tells you at a glance how long that block of work runs, without opening each job. Non-service stops in the cluster count toward the window too, so a 30-minute supply run at 8:30 AM stretches the start time back to 8:30.
## Revenue rollup strip
A summary strip pinned below the grid totals the week's revenue at a glance:
* **Done** — how many appointments are already completed, and the revenue they earned (in green).
* **Scheduled** — how many are still on the books, and the revenue they're projected to bring in (in orange).
Non-service stops and cancelled, rescheduled, or skipped appointments don't count toward either total.
On a phone the strip stays stuck to the bottom of the screen, just above the navigation bar, so the week's totals remain in view while you scroll through the grid. On a wider screen it sits at the bottom edge of the calendar card.
## Day overview panel
Tap any **day header** (or a [cluster box](#busy-days-collapse-into-a-cluster)) to open the **day overview** — a bottom drawer on your phone, or a side panel on a wider screen. It lists that day's jobs and stops in start-time order, with the job count and total time booked, so you can scan the day without leaving the week.
The heading tells you which kind of panel you're looking at:
* **Tapped a day header** — you get the date on its own, followed by the day's job count and total time booked. That's everything on the day.
* **Tapped a cluster box** — the same date, plus a **start-to-finish time window** for just the jobs in that cluster, so the group reads differently from the whole-day panel.
From either panel:
* Tap any job in the list to jump to its [visit page](/routes/visit-page).
* Tap **Open Day view** to drill into that day's full [Day view](/routes/daily-crew-schedules), where you can complete or reschedule jobs and reorder stops.
* Tap the **✕**, tap outside the panel, or press **Esc** to close it — the week stays exactly where it was. On a phone you can also drag the drawer down by its grab handle to flick it closed.
## Add work from an empty slot
Tap any **empty cell** on the grid to open a quick menu for scheduling something new at that day and time:
* **Add job** — book a service for a customer.
* **Add assessment** — visit a property to scope a quote.
* **Add stop** — a store run, drive time, or personal block.
The tapped date (and time, where it applies) is filled in for you, so you land in the right place in the creation flow. Tap **Cancel**, tap outside, or press **Esc** to dismiss the menu — nothing on your calendar changes.
## When your week is empty
A week with nothing on the books still shows the full grid with a zeroed-out rollup strip, so you always know exactly what's scheduled — there's no separate empty message on the Week view. You can tap any empty cell to [add work](#add-work-from-an-empty-slot) straight into that day and time.
When you drill into a single **Day** that has nothing scheduled, ProBase shows a friendly prompt that points you at the next useful step. What it says depends on where you are in setting up your business:
* **You haven't added any customers yet** — the prompt reads "Nothing scheduled yet. Add a customer first, then come back to schedule their first job." and shows an **Add a customer** button. Tapping it opens the customer creation form right on the schedule, so you can add your first customer without leaving the page.
* **You have customers but nothing booked** — the prompt reads "No jobs scheduled yet. Pick a customer and schedule a service." and shows an **Add Job** button that takes you straight into the job creation wizard.
* **You're a crew member** — the prompt reads "No appointments scheduled for your crew(s)." so it stays focused on your own crew's work rather than business setup. An **Add Job** button appears only if your [role](/team/roles-and-permissions) lets you create jobs.
If you've never scheduled a job at all, a **Tour demo** card sits below that button, separated by a small **or** — tap it to drop into the Schedule of a fully-loaded sample business instead. See [Tour demo from an empty screen](/getting-started/exploring-a-demo#tour-demo-from-an-empty-screen).
## Filter appointments
### Filter by crew
Tap the **crew filter** (the funnel icon with colored circles) to choose which crews appear on the calendar. It's a multi-select list, so you can show one crew, a handful, or all of them at once:
* Tap any crew to toggle it on or off. The calendar updates immediately and the dropdown stays open, so you can fine-tune your selection in one go.
* Tap **All crews** (or **Select all** / **Clear** in the top corner) to show or hide everything at once.
* An **Unassigned** option lets you isolate jobs that don't have a crew assigned yet.
The funnel button shows colored circles for the crews you've selected, so you can see your filter at a glance without opening it. Tap anywhere outside the dropdown to close it.
The crew filter works the same way across the Month, Week, and Day views, and ProBase remembers your selection between visits.
### Search
Type in the search box to filter appointments by customer name or service name. Results update as you type, making it easy to find specific appointments.
## Move between weeks
The date controls at the top of the page work the same across all three views:
* Tap the **left and right arrows** to step back and forward one week at a time.
* Tap the **date label** in the middle to open a calendar and jump to any week.
* Tap **Today** to snap back to the week containing today.
### Where the controls sit
The same four controls — **Today**, the date arrows and label, the **Month / Week / Day** picker, and the crew filter — rearrange themselves to fit the screen:
* **On a computer** they sit on one row: **Today** leads on the left with the date arrows and label next to it, and the crew filter and view picker sit together on the right.
* **On a phone** they stack into two rows: the date arrows and label on the left with **Today** on the right, then the view picker stretched across the row below with the crew filter beside it.
Tapping **Today** jumps straight back to today in whichever view you're in — the view itself doesn't change.
### How far you can browse
The calendar covers a fixed window: up to **one year ahead** and **three months back**. When you reach either edge, the arrow in that direction dims and stops — there's no scheduling data beyond those points to show.
## Switching views keeps your place
Switching between **Month**, **Week**, and **Day** keeps whatever date you're currently looking at — only the layout changes. If you've browsed ahead to a future week and switch to Day view, you stay on that date.
When you open a job from the week and then tap the back arrow on the appointment detail page, ProBase returns you to the exact view you came from — the same week, crew filter, and search. You won't lose your place or have to re-apply filters after checking a job.
## Day, Week, and Month views
ProBase offers three calendar views to fit different workflows. Switch between them with the **Month / Week / Day** picker at the top of the Schedule page.
### Day view
Best for field crews and daily operations:
* Shows a single day's work at a glance
* Progress tracking (e.g., "1 of 3 stops completed")
* Card and map views — toggle between them on a phone, or see the stop list and route map side by side on desktop
* Filter by crew or search for specific appointments
* Reorder stops and add non-service stops
See [Daily crew schedules](/routes/daily-crew-schedules) for details.
### Week view
Best for planning and office work:
* See a whole week on a time grid
* Read crew workload by color across the days
* Revenue rollup — done vs. projected
* Add work from any empty slot
* Search and filter by crew
### Month view
Best for the big picture:
* See a whole month of appointments on one grid
* Crew-colored bars make busy and quiet days obvious at a glance
* Tap any day to open its day overview, then drill into the Day view
See [Month view](/scheduling/month-view) for details.
All three views show the same appointments and respect the same crew filter and search — choose the view that fits your current task.
## Drag a visit to another day
On a computer, pick a visit's box up with the mouse and drop it on another day or another half-hour slot. ProBase asks you to confirm — *"Move Sarah's visit to Thu, Sep 3?"* — and nothing is written until you tap **Move visit**.
A plain click still opens the visit, so dragging never gets in your way. See [Drag a visit to another day](/scheduling/rescheduling-jobs#drag-a-visit-to-another-day) for what can and can't be dragged.
## Reorder stops and add stops
Reordering a crew's stops is done from the **Day** view: switch to Day view, navigate to the day you want, then use the **Reorder stops** button. It's always available — if the day is showing several crews, ProBase asks which crew's route you want before the panel opens. See [Reordering stops](/routes/reordering-routes) for full instructions.
You can add a non-service stop straight from the week grid using the [Add menu on any empty slot](#add-work-from-an-empty-slot), or from the Day view — see [Daily crew schedules](/routes/daily-crew-schedules#add-a-stop) for details.
## Next steps
* [View daily schedules](/routes/daily-crew-schedules) for today's work
* [Month view](/scheduling/month-view) for the big picture
* [Optimize routes](/routes/optimizing-routes) to plan efficient driving routes
* [Complete appointments](/routes/completing-jobs) when work is done
* [Create appointments](/scheduling/creating-appointments) to add new work to the schedule
# Common questions
Source: https://docs.probaseapp.com/support/common-questions
Answers to frequently asked questions
## Getting started
**How do I add my first customer?**
Go to **Customers** in the sidebar. With no customers yet, you'll see an **Add customer** button in the middle of the page — tap it, fill in their information, optionally add their property, then create a service for them. After your first customer is added, use the Quick Actions **+** button in the bottom-right to add more.
**What's the difference between per-service and subscription billing?**
Per-service billing creates charges when work is completed. Subscription billing creates charges on a schedule (weekly, monthly, quarterly, semi-annual, or annual) regardless of when work is done.
**How do I set up my crews?**
Go to **Team Roster → Crews**, click the crew name, then click **Edit** to update the name, color, start address, and start time. A default crew is created automatically when you sign up.
**Can I try ProBase with sample data before adding my own?**
Yes — when it's switched on for your account, tap **Explore Demo** on the **Explore a demo account** banner at the top of HomeBase. You can also use the **Explore a demo account** step in the **Get started** checklist, the **Explore a demo account** row in **Activate your Beta Partnership**, or **Tour a demo** in the **Help** group at the bottom of the navigation menu. A **Tour demo** card also appears on your Customers, Schedule, and Money screens while they're still empty. Any of them opens a fully-loaded sample business seeded for your trade. Nothing you do there touches your real account, and the demo is wiped and rebuilt every night. See [Exploring a demo account](/getting-started/exploring-a-demo).
## Scheduling
**How do I schedule recurring services?**
When you create a service for a customer, set the service frequency (weekly, bi-weekly, monthly, every 2 months, quarterly, every 6 months, or **Custom** for any number of days between visits). When you complete an appointment, you can automatically schedule the next one based on this interval.
**My schedule isn't weekly or monthly — can I set my own cadence?**
Yes. Pick **Custom** in any **Service Frequency** picker and type the number of days between visits, from 1 to 365. ProBase then pre-schedules visits on that cadence and shows it back as *Every 10 days* wherever the frequency appears. Custom works in the New Job wizard, the **Change Schedule** modal, quotes, and your service catalog templates. See [Custom frequencies](/customers/managing-services#custom-frequencies).
**How do I reschedule an appointment?**
Open the visit from the calendar, your schedule, or the job page. Tap the outlined **⋯ More** button beside the main action, choose **Reschedule**, set the new date, time, and crew, add a reason if you want one, then tap **Reschedule**. A new scheduled visit is created and the original is marked **Rescheduled**. See [Rescheduling appointments](/scheduling/rescheduling-jobs).
If you only need to move the visit **within the same day**, tap the date-and-time row on the visit's header card and choose **Change time** instead — it changes the start time and duration without creating a new visit.
**How do I optimize routes?**
Open the **Schedule** page and switch to the **Day** view (use the **Today** button to jump to today's date). Click **Reorder stops** to open the reorder panel, then tap **Optimize drive** to let ProBase calculate the most efficient stop order automatically. You can also enable background auto-optimization in **Settings** > **Scheduling** so routes are optimized automatically whenever appointments are created. See [Route optimization](/routes/optimizing-routes) for details.
## Billing
**When are billing line items created?**
For per-service billing: automatically when appointments are completed. For subscription billing: automatically on each upcoming billing date — ProBase uses the day you created the service as the recurring billing day, and you can see the next charge dates by opening the job and tapping the **→** beside **Service details**, which lists the last and next three charge dates above the price fields.
**How do I share a payment link with a customer?**
Open an invoice from the **Money** page and tap **Send Invoice**. A pre-filled SMS message will be ready with the customer's unique payment link. You can tap **Send SMS** to open your messaging app with the message ready to send, or **Copy Message** to paste it wherever you like.
**How do I record a payment?**
From the **Money** page or from a customer's billing history, click the **Record Payment** button. Choose the payment method (Cash, Check, Credit Card, Bank Transfer, Venmo / Zelle, or Other), select the invoice, enter the amount, and save.
**Can I print an invoice or save it as a PDF?**
Yes. Open the invoice from the **Money** page and tap **Print** at the top. Your device's print dialog opens, where you can print it or choose **Save as PDF**. The printout carries your business letterhead, a **Bill to** block, the line items and totals, and a QR code the customer can scan to pay online. Customers get the same **Print** button on their own invoice page. See [Printing invoices](/billing/printing-invoices).
**Can I adjust a charge manually?**
Yes. From the customer's billing history page, use the **Add Charge** button to bill the customer or the **Add Credit** button to give them a discount or adjustment. These buttons are at the top of the billing history page.
## Marketplace work
**Can I see my LawnStarter, Lawn Love, or Home Gnome work in ProBase?**
Yes. Open **Integrations** in the sidebar under **Business** and connect the account. Your marketplace customers, properties, services, jobs, and earnings then flow into ProBase on their own — see [Connecting a marketplace account](/marketplace/connecting-accounts).
**How do I claim new marketplace jobs?**
Claiming always happens in the marketplace app. When work is waiting near you, an **Available to claim** card appears on HomeBase — tap **View jobs in LawnStarter** to open the list in the app. Anything you claim lands on your ProBase schedule at the next sync. See [Available to claim](/marketplace/claiming-jobs).
**Why can't I complete or reschedule a marketplace job in ProBase?**
The marketplace owns that work, so those actions happen in its app. A marketplace job has one button for it — **Open in App**, which becomes **Complete in App** once the marketplace shows the job as started — and it takes you straight to that job's screen, where completing, rescheduling, cancelling, and messaging all live. The result syncs back to ProBase. On your side you can still assign a crew, adjust the start time to fit the visit into your day, and time the visit with **Start visit**, **Pause** and **Resume**. See [Marketplace jobs](/marketplace/marketplace-jobs).
**Why did a marketplace job disappear from my schedule?**
Because the marketplace no longer has it assigned to you — it was taken back, handed to a different pro, or returned to the pool for someone else to claim. ProBase removes those visits on the next sync rather than leaving work on your schedule that isn't yours. A visit that was **cancelled** stays on your schedule marked **Cancelled** instead. See [If a job goes back to the marketplace](/marketplace/marketplace-jobs#if-a-job-goes-back-to-the-marketplace).
**How often does marketplace work update?**
ProBase checks every few minutes whether your marketplace book has gained or lost a customer — so a job you just claimed, and the customer who comes with it, land within minutes — re-reads each connected account's customers and jobs about every 15 minutes, and runs a full refresh overnight. Earnings and payout deposits come across with the nightly run, with a **Full re-sync**, or when you tap **Refresh** on the marketplace record's Billing History. See [How marketplace syncing works](/marketplace/how-syncing-works).
**Where do I see what the marketplace has paid me?**
On the customer record named after the marketplace — for example a customer called **LawnStarter**. Its **Billing History** lists what each completed visit earned you and every deposit the marketplace has sent. To see only the deposits, set the type filter to **Payments**. See [Marketplace earnings & payouts](/marketplace/payouts).
**What is the amount shown on a marketplace service?**
It's your **payout** — what the marketplace pays you for one visit of that service, so you can see what a stop on your route is worth. It isn't the customer's bill; what the marketplace charges the homeowner never comes into ProBase, and finishing a marketplace visit doesn't create a charge or invoice on your side. See [the service page](/marketplace/marketplace-customers#the-service-page).
**What does the balance on the marketplace record mean?**
It's what you've earned **since your last deposit** — not a lifetime total. Each deposit settles everything before it, so the balance falls back toward \$0.00 when one lands and builds up again from the jobs you finish after it. It's the same figure the marketplace's own pro app shows. See [Reading the balance](/marketplace/payouts#reading-the-balance).
## Customers
**Can a customer have multiple properties?**
Yes. On the customer's page, click **Add Property** for each location. Each property can have its own services.
**How do I add notes to customers or properties?**
Notes live in the **Notes** card on the customer's page and on each property page. Tap the **Add note** row at the bottom of the card to open the **Add Note** window, or tap an existing note to edit or delete it. Appointment notes are captured during job completion. See [Adding notes](/customers/adding-notes) for details.
## Crews
**How do I view crew schedules?**
Go to **Schedule** to see all appointments across all crews. On the calendar, appointments are organized by crew and you can filter by crew to see their schedule.
**Can I move an appointment from one crew to another?**
Yes. Open the visit and tap the crew row — or use **⋯ More → Move to another crew** — to open the **Assign a crew** sheet, then tap the crew you want. You can also change the crew while rescheduling the appointment.
**What are service records?**
Service records are structured records that capture specific details about completed work — like chemical readings, materials used, observations, and chemical applications. They aren't a form you fill in by hand: ProBase pulls them out of your notes when you tap **AI Assist** on the completion form, and a checklist question marked **Include in service record** files its answer as one automatically. You review and correct the rows before completing. See [Service records](/routes/service-records).
## Routes
**What if I need to change the optimized route?**
In the **Reorder stops** panel, tap **Optimize drive** to see the suggested order before committing. The preview shows exactly what would move and what it saves; **Apply optimized route** writes it and **Keep current route** leaves your day alone. If you'd rather pick the order yourself, drag the stops into any order and tap **Save**. See [Route optimization](/routes/optimizing-routes).
**How do I see routes on a map?**
The **Schedule** page shows all scheduled appointments for the day plotted on an interactive map. In the **Day** view on a phone, switch to map view using the card/map toggle above the schedule. On a wider desktop screen, the stop list and route map appear side by side automatically — no toggle needed.
## Payments
**How do I set up online payments?**
Connect your Stripe account to accept credit card payments. Go to **Payments** in the sidebar (under Business) and click **Connect with Stripe**. Follow Stripe's onboarding to provide your business information and bank account details. See [Setting up payment processing](/billing/stripe-setup) for step-by-step instructions.
**What if a customer overpays?**
When you record a payment that exceeds the customer's balance, ProBase shows an overpayment prompt letting you choose what to do with the extra amount. You can record it as a **tip** (the excess appears as a separate tip entry in billing history) or **apply it as a credit** (the customer's balance goes positive for use against future charges). See [Recording payments](/billing/tracking-payments) for details.
**How do I issue a refund?**
From the customer's billing history page, click the **Add Credit** button at the top of the page and enter the refund amount with notes explaining the reason.
## Technical
**Can I access ProBase on my phone?**
Yes. ProBase works on any device with a web browser, and all pages are built mobile-first. You can also add it to your home screen so it opens like an app — see [Push notifications](/getting-started/push-notifications) and the install step in [onboarding](/getting-started/onboarding#add-the-app-to-your-home-screen-final-step).
**How do I get alerts on my phone?**
Add ProBase to your home screen, open it from that icon, then tap **Enable notifications** — either on the **Turn on notifications** screen at the end of onboarding, or in the **Action needed** section of HomeBase — and tap **Allow** when your phone asks. Permission is granted per device, so each phone or tablet needs its own tap. These phone alerts are separate from [text messages](/getting-started/text-message-notifications). See [Push notifications](/getting-started/push-notifications).
**What is the bell at the top of the screen?**
It's your [Updates](/getting-started/updates) — a running list of things that may need you, such as a new contact arriving through your form. The badge counts what you haven't read yet, and an update clears itself once you've been to the screen it points to. On a computer the same thing is an **Updates** item at the bottom of the navigation drawer.
**Is my data backed up?**
Yes. All data is automatically backed up and stored securely in the cloud.
## Account management
**How do I change my password?**
Open the navigation drawer, tap **My Profile** in the footer at the bottom, then use the **Update Password** section.
**How do I update my business information?**
Go to **Settings** in the sidebar under Business. From there you can update your business name, address, email, and website in the **Business Profile** section. You can also change your timezone and route optimization preferences in the **Scheduling** section. See [Business Profile](/getting-started/settings) for details.
**I logged in and ProBase asked me to create a business. Did my password break?**
No — your password is fine, and you're already signed in. That **Create your business** screen appears when your user account isn't attached to any business, usually because the business was deleted or you were removed from it. The blue panel on the screen shows the email address you're signed in as. If you weren't expecting it, [contact support](/support/contact-support) before creating a new business — creating one here gives you a fresh, empty business rather than your old data back. See ["Your account isn't linked to a business" after logging in](/support/troubleshooting#account-access-issues).
## Troubleshooting
**An appointment isn't showing on the calendar.**
Check that the appointment has a date set. Refresh the page to reload the calendar data.
**A billing line item wasn't created.**
For per-service billing, ensure the appointment was marked complete. For subscription billing, check that the service is active and the billing interval is set correctly.
**The route optimizer isn't working.**
Ensure all properties have valid geocoded addresses. Check that the crew has a start location configured. At least 2 appointments are needed to optimize.
**I pressed Save and nothing seemed to happen.**
Something on the form still needs your attention. ProBase scrolls the first field that needs fixing into view, puts your cursor in it, and shows the reason in red underneath — look for it above where the Save button was. See [Saving and form issues](/support/troubleshooting#saving-and-form-issues).
**I tapped Save twice on a slow connection. Did I create it twice?**
No. Once a save goes through, ProBase ignores taps, form submissions, and the Enter key until the next page appears — so the extra taps you make while the old form is still on screen do nothing. You get one record. See [Saving and form issues](/support/troubleshooting#saving-and-form-issues).
## Still need help?
If you can't find the answer here, see [Contact support](/support/contact-support) for ways to reach us.
# Contact support
Source: https://docs.probaseapp.com/support/contact-support
Get help from the ProBase team
## Before contacting support
Try these resources first:
1. Check [Common questions](/support/common-questions) for quick answers
2. Review [Troubleshooting](/support/troubleshooting) for solutions to common issues
3. Search the documentation for your specific question
## How to contact support
Open the navigation sidebar (tap the menu icon in the top header on your phone) and look for the **Help** group at the bottom — it keeps every way to reach us one tap away from anywhere in the app.
**Chat support:**
* Tap **Support** in the Help group to open the chat and message our support team
* This is the main way to reach us — quick questions, detailed issues, and feature requests all go here
* Best for: Anything you need help with, day to day
**Schedule a call:**
* Tap **Schedule a call** in the Help group to book a 1:1 with the ProBase team
* The booking form is pre-filled with your name and email
* Best for: Walk-throughs and questions that are easier to talk through
**Docs:**
* Tap **Docs** in the Help group to open this documentation site in a new tab
* Best for: Looking up how a feature works without leaving the app
There's no separate support email address to remember — the **Support** chat is where every request lands, and you can reach it from anywhere in the app.
## What to include when contacting support
Help us help you faster by including:
**Description of the issue:**
* What you were trying to do
* What happened instead
* When the issue started
**Steps to reproduce:**
* List the exact steps that led to the issue
* This helps us recreate and fix the problem
**Error messages:**
* Copy the exact text of any error messages
* Or take a screenshot
**Your environment:**
* Browser (Chrome, Safari, Firefox, etc.)
* Device (computer, phone, tablet)
* Operating system (Windows, Mac, iOS, Android)
**Screenshots:**
* Show what you're seeing
* Highlight the specific issue
* Include multiple screenshots if helpful
**Account information:**
* Your business name
* Your email address
* Affected customer names (if relevant)
## Example support request
**Good:**
"I'm trying to send a payment link to customer John Smith from the Money page, but the Send Invoice button isn't opening the SMS modal. I've verified that the customer exists and has billing line items on their account. I'm using Chrome on a Mac. Screenshot attached."
**Not helpful:**
"Payment links aren't working."
## Response times
We reply to chat messages as quickly as we can on business days. Resolution time varies with the complexity of the issue — we'll keep you posted in the same chat thread.
## Urgent issues
**For critical issues affecting your business:**
* Open the **Support** chat and say up front that the issue is blocking your work
* Describe the business impact so we can prioritize it
**Examples of critical issues:**
* Can't access ProBase at all
* Billing system not working
* Data loss or corruption
## Feature requests
**Have an idea for improving ProBase?**
We'd love to hear it! Tap **Support** in the Help group of the sidebar to send us your idea in chat.
Include:
* What you'd like to see
* Why it would be helpful
* How you'd use it
We review all feedback and prioritize based on customer needs.
## Training and onboarding
**Need help getting started?**
Our comprehensive documentation (you're reading it now!) covers all aspects of using ProBase. If you need additional help, tap **Support** in the Help group to chat with our team, or **Schedule a call** for a walk-through.
## Feedback on documentation
**Found an error in the docs?**
**Have a suggestion for improvement?**
Let us know through the **Support** chat in the Help group of the sidebar.
We're constantly improving our documentation based on your feedback.
## We're here to help
Our goal is to help you run your business successfully. Don't hesitate to reach out with any questions, no matter how small. We're here to support you.
# Troubleshooting
Source: https://docs.probaseapp.com/support/troubleshooting
Solve common issues
## Scheduling issues
**Appointments not appearing on calendar**
**Possible causes:**
* Appointment doesn't have a date set
* Page needs to be refreshed
**Solutions:**
1. Click on the appointment and verify date is set
2. Refresh the page
3. Check that the service is active (not cancelled)
**Can't create an appointment**
**Possible causes:**
* Customer doesn't have a service set up
* Service is cancelled
**Solutions:**
1. Go to the customer's page and navigate to their property
2. Verify they have an active service
3. If service is cancelled, you can still complete existing appointments but cannot add new ones
4. Create a new service if needed
**A schedule change didn't save**
When you save the **Change Schedule** window on a service, ProBase shows a green confirmation naming how many visits changed. If it shows a **red message** instead, the change was *not* applied and your visit chain is untouched.
**Possible causes and what the message says:**
* *"This service is inactive, so its schedule can't be changed."* — the service was cancelled, most likely in another tab or by a teammate while you had the window open.
* *"The end date can't be before the start date."* — the End Date you entered lands earlier than the Start Date.
* *"A start date is required."* — the Start Date field was left empty.
* *"Schedule could not be updated."* — something else went wrong on the way through.
**Solutions:**
1. Reload the service page so you're looking at its current state, then reopen **Change Schedule**.
2. If the service is cancelled, its schedule can't be edited. You can still work its remaining visits — set up a new service if the customer wants the work to continue.
3. For date problems, correct the dates and save again.
4. If a plain "Schedule could not be updated." keeps coming back, [contact support](/support/contact-support).
See [Change Schedule](/customers/managing-services#change-schedule) for what each field does.
**A job link takes me somewhere else instead of the job**
If you open a job from a bookmark, the browser back button, or an older link — and that job has since been removed (for example its service was cancelled, or the job was rescheduled or deleted) — ProBase no longer shows a "Not Found" error. Instead it returns you to the surrounding page you came from and shows a brief notice: **"That job is no longer available."**
ProBase picks the most useful place to land based on where the link pointed: a job opened from your schedule sends you back to that schedule, one opened from the dashboard or overdue-jobs list returns you there, and a job opened from a customer's service sends you to the parent service page.
Wherever you land, you can review the appointment history, schedule a new appointment, or open whichever visit you actually need. This is expected behavior, not an error — there's nothing to fix.
**Route optimization not working**
If **Optimize drive** doesn't appear in the **Reorder stops** panel at all, the crew has no start address or the day has fewer than 2 stops. If the button is there but the preview comes back with **"Couldn't work out a better order right now."** — *Your day is unchanged.* — one of the addresses involved is usually the problem. If the crew has no start address, the preview says so directly — a yellow notice names the crew and links to **Open Crews**. **Try again** re-asks once you've fixed it.
**Possible causes:**
* Properties don't have valid geocoded addresses
* Crew doesn't have a start location configured
* Too few appointments to optimize (need at least 2)
**Solutions:**
1. Verify all property addresses are complete and correct (system automatically geocodes addresses)
2. Go to **Team Roster → Crews**, click the crew name, then click **Edit** to set their start address
3. Ensure there are at least 2 appointments assigned to the crew for that date
4. Check that all appointments have valid property addresses
A crew with **no ending address** is fine — that's a supported setup, and the route just finishes at the last job. If leaving the ending address empty ever stopped optimization from working for you, that's fixed; nothing needs changing on the crew.
**Drive path line missing from the map view**
The Day view's map draws a line along the crew's driving route. If ProBase can't work out a path between two of the day's stops, the line is left off and a notice appears along the bottom of the map: **"Route could not be computed between some of these stops, so the drive path isn't shown."** In the **Reorder stops** panel, the same stops show a grey dash (**—**) instead of a drive time.
**Possible causes:**
* A property address is mis-typed and was matched to a spot that isn't reachable by road
* A stop is on an island or somewhere only a ferry can reach
* An address was matched to the wrong country or continent — usually a typo in the street or city, or a missing state — putting an impossibly long drive between two of the day's stops
* A crew start or end address is wrong
**Solutions:**
1. Look at the pin positions on the map — a pin that landed far from where the job actually is, or in the middle of open water, is the usual culprit. If the map zooms out to fit a whole country or continent, the stop that's off on its own is the address to correct
2. Open that customer's property and correct the address
3. Check the crew's start and end addresses on the crew detail page (**Team Roster → Crews**, click the crew name, then **Edit**)
4. Reload the Day view — the line redraws once the stops can be connected by road
Your appointments, times, and crew assignments are not affected by this — only the drive line and the drive-time estimates for the affected legs.
## Billing issues
**Billing line item not created**
**For per-service billing:**
* Ensure the appointment was marked **Complete**
* Check that the service has a price set
**For subscription billing:**
* Verify the service status is **Active** (not cancelled)
* Check that the billing interval is set
* The recurring billing day is set automatically from when the job was created — weekly, monthly and annual subscriptions charge on that day, and quarterly and semi-annual ones on the 1st of the cycle month. See [One-time vs. subscription billing](/billing/one-time-vs-subscription)
**Solutions:**
1. Open the job and check the **Invoice** row on its plan card for how often it bills
2. If per-service, mark the visit complete — that's what creates the charge
3. If subscription, remember that completing a visit doesn't create a charge; the charge lands on the billing day
**Customer says they didn't receive payment link**
**Solutions:**
1. Verify you shared the correct link with them
2. Regenerate the payment link if needed and share again
3. The link shows real-time balance information when opened
## Customer payment portal issues
**Customer says payment link doesn't work**
**Solutions:**
1. Verify the link was copied correctly (check for any cut-off characters)
2. Re-share the payment link by opening the invoice from the Money page and tapping **Send Invoice** — this generates a fresh pre-filled message with the current payment link
3. Make sure the invoice has been sent (draft invoices are not visible to customers — tap **Send Invoice** to publish it)
**Customer says they can't pay online**
**Possible causes:**
* Stripe account not connected
* Stripe account status is restricted or pending
**Solutions:**
1. Go to **Payments** in the sidebar (under Business) and check your Stripe connection status
2. If not connected, click **Connect with Stripe** to set up payment processing
3. If status is "Pending" or "Restricted", read the reason and the **Stripe still needs:** list on the card, then click **Continue Setup** or **Update Information** to supply those items
4. If the card says Stripe rejected the account, use **Contact Stripe Support** — setup can't be reopened from ProBase
5. Once Stripe status is "Active", customers will be able to complete payments
6. Until then, arrange payment via cash, check, or another method and record it against the invoice
See [Setting up payment processing](/billing/stripe-setup) for details.
**Customer says the Pay button is greyed out**
The **Pay** button stays disabled until the card fields have finished loading from Stripe, so a customer who taps the instant the page opens — or who is on a slow connection — can find it unresponsive for a second or two.
**Solution:** Ask them to wait until the card number, expiration, and security code boxes have appeared, then tap **Pay**. If the card fields never appear, ask them to reload the page. See [The Pay button waits for the card fields](/customers/customer-portal#the-pay-button-waits-for-the-card-fields).
**Customer says the payment didn't go through and the button just spun**
**Solutions:**
1. Ask them to read the short red message that appears just under the card fields — a declined card, an expired card, or an incorrect ZIP is reported there in Stripe's own words
2. If it reads *We could not process your payment. Please try again.*, the payment was never attempted — tapping **Pay** again is safe and won't double-charge
3. If they had navigated away and come back, the card fields reload themselves; they can enter the card again and pay without reopening the link
4. Check the invoice in ProBase before asking them to retry — a payment that succeeded shows the invoice as **Paid**
## Marketplace connection issues
These apply if you've [connected a marketplace account](/marketplace/connecting-accounts) like LawnStarter, Lawn Love, or Home Gnome.
**Marketplace jobs or customers aren't showing up**
**Possible causes:**
* The connection has expired, so nothing new is coming across
* The change is newer than the last sync (ProBase re-reads each account about every 15 minutes; a brand-new customer is usually caught sooner, by the head-count check that runs every few minutes)
**Solutions:**
1. Open **Integrations** in the sidebar under **Business** and check the badge on the card. An **Expired** badge stops syncing entirely — tap **Reconnect** and sign in to the marketplace again. You'll also see an amber banner at the top of HomeBase when this happens
2. On the customer, property, service, or job that looks stale, tap **Refresh** next to **Last synced**
3. Still off? Tap **Full re-sync** on the account's card to pull the whole book again. It works in the background and takes a few minutes — the card shows a progress bar counting your customers through, and updates itself when it's done, so there's no need to reload
4. If the card reads *The last full re-sync didn't finish*, the run stopped early — tap **Try again** to start a fresh one
5. If the card is still reading **Syncing…** long after you tapped it, the run never got going. ProBase releases the card on its own after about half an hour and puts **Full re-sync** back, so you can start a clean run — nothing is stuck permanently. See [If the card seems stuck on Syncing](/marketplace/connecting-accounts#if-the-card-seems-stuck-on-syncing)
6. Use **Test** on the card to confirm ProBase can still reach the marketplace and is looking at the right account
A card that reads **Syncing…** when nobody tapped anything isn't a fault. ProBase starts a pull for you whenever its few-minute check finds your marketplace book and your ProBase book out of step — usually because you just claimed a job. Let it finish rather than starting another run on top of it.
See [How marketplace syncing works](/marketplace/how-syncing-works).
**A marketplace deposit or earning is missing from the ledger**
The money side refreshes on a slower rhythm than your schedule — the 15-minute background check doesn't pull it.
**Solutions:**
1. Open the customer record named after the marketplace, then **Billing History**, and tap **Refresh** next to **Last synced**
2. Or run **Full re-sync** on the account's card, which forces the money feeds along with everything else
3. If the entry is there but has no property, service, or visit attached, that's normal — bonuses, general adjustments, and earnings from work that was never on your ProBase schedule are full ledger entries, they just have no job to link to
4. If an older entry is in the ledger but doesn't seem to be reflected in the balance, that's expected: the balance only counts what came after your most recent deposit. See [Reading the balance](/marketplace/payouts#reading-the-balance)
See [Marketplace earnings & payouts](/marketplace/payouts).
**The marketplace balance looks wrong**
First, check what the number is meant to be: the balance on the marketplace's own customer record is **what you've earned since your last deposit**, not a lifetime total of everything the marketplace has ever paid you. A deposit settles everything above it, so the balance drops back toward \$0.00 each time one lands and then builds up again from the next jobs you finish. That's how the marketplace's own pro app works it out too, so the two should agree.
If it still doesn't match, check whether a sync is running — your marketplace history comes across in chunks, and the total is added up properly once the last chunk lands.
**Solutions:**
1. Wait for the run to finish. On **Integrations**, a **Syncing…** spinner or a progress bar means it's still working
2. Reload the **Billing History** page once the run is done — the total corrects itself
3. Still off? Tap **Refresh** next to **Last synced** on that page, which re-pulls the money feeds and re-adds the balance
4. A refresh also re-checks how each entry already in your ledger is filed. If a deposit had been sorted as something else it wouldn't have settled the earnings above it, which throws the total off — the refresh puts it right and works the balance out again. Amounts and dates are never changed, so it's safe to run
See [If the balance doesn't look right](/marketplace/payouts#if-the-balance-doesnt-look-right) and [Reading the balance](/marketplace/payouts#reading-the-balance).
**The amount on a marketplace service isn't what the customer was charged**
That's the right amount — it's just not the customer's bill. On a marketplace service the row reads **Payout**: what the marketplace pays *you* for one visit. What the marketplace charges the homeowner stays on the marketplace and never comes into ProBase, and completing the visit doesn't create a charge or invoice on your side. See [the service page](/marketplace/marketplace-customers#the-service-page) and [Marketplace earnings & payouts](/marketplace/payouts).
**A marketplace service page has no schedule or invoice details**
Also expected. A marketplace service has no **Service plan** section — the marketplace owns the recurrence and bills the customer, so there's no frequency, invoice row, or schedule to edit. The page shows the service, its **Payout**, and the appointment history. The day each visit falls on comes from the marketplace; the start time and length are yours to set from the **Schedule** section on the job. See [Marketplace customers](/marketplace/marketplace-customers#the-service-page).
**"Just refreshed — give it a moment before trying again."**
Refreshing the same marketplace job repeatedly is throttled on purpose. Wait about a minute and tap **Refresh** again. This isn't an error.
**The marketplace app doesn't open when I tap a button — I get the website instead**
That's expected, and you're still in the right place. Buttons like **Open in App** on the visit and **Open Customer Profile on LawnStarter** in the contact sheet are links to the marketplace's pro site, opened in a new tab. A phone with the marketplace app installed hands the link to the app; without the app — or on a computer — the same link opens the marketplace's pro website in your browser and takes you to the same screen once you sign in.
If you'd rather work in the app, install it from your phone's app store and tap the button again. See [If you don't have the app installed](/marketplace/marketplace-jobs#if-you-dont-have-the-app-installed).
**I can't complete, reschedule, or cancel a marketplace job in ProBase**
This is expected. The marketplace owns that work: ProBase's own **Complete visit**, **Reschedule**, **Cancel**, **Send service report**, and **Send Confirmation** actions don't appear on a marketplace job, and adding charges isn't offered either. Tap **Open in App** to work the visit in the marketplace app instead, and the result syncs back to ProBase.
What you *can* do in ProBase is plan and time the visit: assign a crew, change the start time to fit your day, and run your own clock with **Start visit**, **Pause** and **Resume**. See [Marketplace jobs](/marketplace/marketplace-jobs).
There are no per-action shortcuts like **Reschedule in LawnStarter** — the marketplace app has one screen for the job and everything happens there, so ProBase offers the single **Open in App** button. It flips to **Complete in App** once the marketplace itself shows the job as started.
**A finished marketplace job doesn't open the job screen any more**
Expected. Once a marketplace visit is completed, rescheduled, or cancelled, the marketplace app no longer has a job screen for it — so instead of a button that would land nowhere, ProBase shows a line naming the status, such as *Viewing a completed job is not currently possible in the LawnStarter app.*, and an **Open in App** button that takes you to that customer's profile in the marketplace app instead. Anything still to sort out on that visit is handled from there. See [Once the visit is finished](/marketplace/marketplace-jobs#once-the-visit-is-finished).
**A marketplace job has no Checklists section, and I can't add a service record**
Expected too. Both belong to ProBase's own completion step, which never runs on a marketplace visit — you finish those in the marketplace app. Checklists still work normally on your own jobs, and you can keep notes for a marketplace customer on their customer or property page. See [One tab: Details](/marketplace/marketplace-jobs#one-tab-details).
**A job I have in the marketplace never showed up in ProBase**
This is the opposite of a job that vanished: it was never there in the first place. A marketplace visit reaches your ProBase schedule only when the marketplace has the job **down to you as the pro**, the visit **assigned to you**, and a **day** on it. A visit missing any one of those stays out rather than landing on your schedule as work ProBase can't place.
**Solutions:**
1. Open the job in the marketplace app and confirm all three — you're the pro on it, the visit is assigned to you, and it has a day on it. That screen is the truth; ProBase can only show what the marketplace hands over
2. An offer you haven't accepted yet is not your job, so it never syncs, and neither do its visits. Claim it first — see [Available to claim](/marketplace/claiming-jobs). Work the marketplace has on another pro doesn't sync either
3. Run **Full re-sync** on the account's card under **Integrations** to pull your whole book again
4. Check the synced counts on that card. If the marketplace's count and ProBase's agree, the marketplace isn't handing that visit over yet
5. Still missing with all three conditions met? [Contact support](/support/contact-support) with the customer's name, the address, and the date the visit should be on — support can check what the marketplace is actually sending for that customer and which condition isn't met
See [Why a marketplace job might not appear at all](/marketplace/how-syncing-works#why-a-marketplace-job-might-not-appear-at-all).
**A marketplace job vanished from my schedule**
If a visit you'd seen before is gone from your calendar and daily route, the most likely reason is that the marketplace no longer has it assigned to you — it was taken back, handed to a different pro, or returned to the pool to be picked up by someone else. ProBase removes those on the next sync instead of leaving work on your schedule that isn't yours any more. A visit the customer or marketplace **cancelled** behaves differently: it stays put, marked **Cancelled**.
Check the job in the marketplace app to confirm. If it's assigned back to you later, it syncs in again as a new job. See [If a job goes back to the marketplace](/marketplace/marketplace-jobs#if-a-job-goes-back-to-the-marketplace).
**The "Available to claim" count doesn't match the marketplace app**
The count on HomeBase is the offers the marketplace currently has open for you — the same list **View jobs in LawnStarter** opens. ProBase checks it every few minutes and reuses that answer in between, so it can trail the app by a little, and an offer can be claimed by another pro right after ProBase counted it.
**Solutions:**
1. Tap **View jobs in LawnStarter** and work from the list in the app — that list is always the truth
2. If the card has disappeared entirely, there's nothing open to claim right now (or ProBase couldn't reach the marketplace when it last checked — it hides the card rather than showing a wrong number)
3. Work already on your schedule never appears here; check your [calendar](/scheduling/weekly-schedule) for jobs you've already claimed
See [Available to claim](/marketplace/claiming-jobs).
**A marketplace customer is dimmed and can't be picked in New Job or New Quote**
Also expected — the marketplace sets the price and schedule for its own customers, so the row reads *Managed by LawnStarter — not schedulable here*. New marketplace work reaches your schedule by claiming it in the marketplace app. See [Available to claim](/marketplace/claiming-jobs).
## Crew and team issues
**Crew not showing scheduled appointments**
**Solutions:**
1. Check that appointments are assigned to that crew
2. Verify the date range you're viewing
3. Refresh the page
## Data issues
**Balance doesn't look right**
**Solutions:**
1. Review all billing line items on the customer's page
2. Remember: charges are negative (customer owes), payments and credits are positive (they reduce what's owed)
3. Balance = charges + tax, offset by payments and credits — a negative balance means the customer owes money
4. A **tip** kept from an overpayment is deliberately left out of the balance, so recording an overpayment as a tip settles the account at **\$0.00** rather than leaving a credit. Choose **Apply as credit** instead if you want the extra to sit on the account — see [Recording payments](/billing/tracking-payments#overpayment-handling)
5. [Archived customers](/customers/archiving-customers) keep recalculating too, so a charge, credit, or payment you add to an archived customer updates their balance the same way it would for an active one
## Saving and form issues
**I pressed Save and nothing happened**
On a long form — the role builder, a new customer, a quote, a job — the **Save** button sits at the bottom of the screen while the field that needs your attention can be far above it, out of sight. When a save can't go through, ProBase takes you straight to the problem: the page scrolls the first field that needs fixing into the middle of the screen, puts your cursor in it, and shows the reason in red underneath.
Correct that field and press **Save** again. If several fields need attention they all show their own message at once, and ProBase takes you to the topmost one.
This applies to ProBase's forms throughout the app — on phone and desktop, and on forms inside pop-up windows. If the field was already on screen nothing moves; your cursor simply lands in it. If your device has "reduce motion" turned on, the page jumps to the field instead of scrolling smoothly.
ProBase doesn't jump around while you're still typing — it only happens when you press a Save or Continue button.
**I tapped Save more than once — did I create two of everything?**
No. Most saves finish by taking you to the page for what you just created — the new job, the new customer, the new template. On a slow connection the form you were filling in can stay on screen for a second or two while that next page loads, which makes it look like nothing happened.
**ProBase ignores taps during that gap.** Taps, form submissions, and the Enter key are all set aside from the moment the save goes through until the next page appears, everywhere in the app — on your phone and on a computer, on full pages and inside pop-up windows. So a double tap on **Save Customer**, **Done** at the end of the job wizard, or a crew, role, checklist, or service template save creates one record, not two.
Forms that open in a pop-up window are covered the same way. Adding a property from a customer's page and double-tapping **Save** lands you on the one new property, not two:
**What to expect:**
1. Tap **Save** once. The button shows its spinner.
2. The old form may sit there for a moment. Nothing you tap on it will register — that's deliberate.
3. The new page appears and everything is live again.
If the page never arrives — you dropped off Wi-Fi mid-save, for example — the form you were on becomes usable again so you can tap **Save** again once you're back online. Before you retry, it's worth checking the list you were adding to (Customers, Schedule, Services): if the first save did go through, the record is already there.
This covers saves inside ProBase once you're signed in. Creating your account is a separate sign-up form, where a double tap can still produce **"The email has already been taken."** — that means the account was created on the first tap, so just log in. See [Account access issues](/support/troubleshooting#account-access-issues).
## Address issues
**Address suggestions aren't appearing**
Address fields suggest real addresses once you've typed two characters (see [Address suggestions as you type](/customers/properties-and-addresses#address-suggestions-as-you-type)). If no list drops down:
* **Type a little more.** One character is too short to search on, and a very generic street name in a big city may need the house number before anything useful comes back.
* **Check your connection.** The lookup happens as you type, so a dropped signal in the field means no suggestions. A brief hiccup is retried automatically; a longer outage isn't.
* **Expect gaps in coverage.** Brand-new builds, rural routes, and private roads often aren't in the address database yet. Only US addresses are suggested.
**Solution:** Type the address in by hand. The field never blocks you — whatever you type is saved exactly as entered, and you can fill in the city, state, postcode, and country yourself. Save the form as normal, and the address is geocoded for mapping and routing the same way.
If the street filled in but the **City**, **State**, and **Postcode** stayed blank, the address details lookup didn't come back. Fill those fields in yourself — nothing you've entered is lost.
## Copying links and messages
**"Copy failed. Try again."**
ProBase has **Copy** buttons in a few places — **Copy** and **Copy Message** in the pre-filled text-message window (for invoices, quotes, and balance reminders), and **Copy Receipt Link** on a paid invoice.
Occasionally your device refuses the copy — most often on a phone, when the tap lands while another app, a browser prompt, or a notification still has hold of the screen. When that happens ProBase tells you with a red **"Copy failed. Try again."** message rather than pretending it worked.
**Solution:** Tap the button again. Bring ProBase back to the front first if something else is on top of it, and the second attempt almost always goes through.
The **Copied!** confirmation only appears when the text really did land on your clipboard. If you see it, the link or message is ready to paste.
## Mobile issues
**How to refresh the page on mobile**
On mobile devices and tablets, you can refresh the page by pulling down from the top:
1. Make sure you're scrolled to the top of the page
2. Pull down with your finger
3. You'll see a circular indicator with an arrow appear
4. Keep pulling — the arrow flips direction once you've pulled far enough
5. Release to refresh
The page will reload with updated information.
Pull-to-refresh only works when you're at the top of the page. If you're scrolled down, scroll to the top first.
**Mobile display issues**
**Solutions:**
1. Check internet connection
2. Try rotating your device (some views work better in landscape)
3. Clear browser cache
4. Try a different browser
5. Restart the device
**A photo didn't upload on a visit**
Photos on a visit's **Before photos** / **After photos** rows go up one at a time, and the upload area tells you where it stands — **Uploading 1 of 2 · 45%**. A photo the signal drops on is retried for you, twice, before ProBase gives up on it. When one really doesn't land, a line under the upload area names it: *"1 of 2 photos didn't upload — check your connection and add them again."*
**Possible causes:**
* Weak or patchy cellular signal out in the field
* You left the visit page while photos were still on their way
* The pick was very large — a dozen shots in one go on a poor signal
**Solutions:**
1. Read the line under the upload area — the photos that landed are already saved as tiles; only the ones it names need picking again
2. Move to better signal and pick the missing photos again; the line clears when the next pick goes through
3. Stay on the visit page until the tiles appear — a photo still in flight when you navigate away isn't saved
4. On a poor signal, add a few photos at a time rather than a dozen in one pick
5. Compare the tiles against what you took before you leave the row
See [If a photo doesn't make it](/checklists/completing-checklists#if-a-photo-doesnt-make-it).
**Photos not uploading to a note**
**Possible causes:**
* No internet connection, or no cellular data available
* A very slow connection — a file takes a moment to send
**Solutions:**
1. Check your internet connection
2. Attach one file at a time
3. Wait for the attachment to appear before tapping **Save**
**A photo shows as a blank or broken tile**
iPhones save pictures in Apple's **HEIC** format, which Android phones, browsers and printers often can't display. ProBase converts those to an ordinary JPEG as it saves them, so this shouldn't happen on photos taken now.
**Possible causes:**
* The photo was added before that conversion existed and hasn't been viewed since
* The photo hadn't finished uploading when the page was loaded
**Solutions:**
1. Open the visit's photo row, give it a moment, then reload the page — older iPhone photos are converted in the background the first time that row is opened, and there's nothing for you to do
2. Reload the page (or pull down to refresh on a phone) to pick up a photo that was still uploading
3. You do **not** need to change your iPhone to **Most Compatible** in **Settings → Camera → Formats**; ProBase handles the format for you
See [Photos from an iPhone](/checklists/completing-checklists#photos-from-an-iphone).
**My profile picture won't save**
The round photo on **My Profile** is stricter than the photos you put on a visit or a note: it takes JPG, PNG, WEBP, and AVIF files up to 1 MB only.
**Possible causes:**
* The picture is an iPhone **HEIC** photo — the circle shows no preview when you pick it, and **Save** reports that the file must be one of the accepted types
* The picture is a full-size camera shot — it previews, but **Save** reports that it must not be greater than 1024 kilobytes
**Solutions:**
1. Send yourself a screenshot of the photo and pick that instead — a screenshot is a small JPG or PNG
2. Or crop / shrink the picture in your phone's photo editor first, then pick it again
3. Nothing is lost when a save is refused — your previous picture stays exactly as it was
See [My Profile](/getting-started/settings#profile-information).
**Not getting notifications on my phone**
**Possible causes:**
* The alerts themselves are still being switched on — if you've never received one, this is the most likely reason, and nothing is wrong with your phone
* ProBase isn't installed on your home screen — on an iPhone, notifications aren't available in a plain browser tab
* You haven't tapped **Enable notifications** yet on this particular phone
* The **Push notifications** toggle in **Notification Preferences** on your profile is switched off for this device
* Notifications are blocked for ProBase in your phone's settings
* Focus or Do Not Disturb is holding notifications back
**Solutions:**
1. Open ProBase from the icon on your home screen, not a browser tab
2. Look for **Enable notifications** in the **Action needed** section of HomeBase and tap it, then tap **Allow**
3. If you see *"Notifications are blocked"*, open your phone's **Settings** app, find ProBase, switch notifications back on, then reopen ProBase
4. Check Focus / Do Not Disturb is off
5. Remember permission is per device — a second phone or tablet needs its own **Enable notifications** tap
6. Open **My Profile → Notification Preferences** and check the **Push notifications** toggle is on for this device
See [Push notifications](/getting-started/push-notifications) for the full walkthrough.
Nothing is lost while notifications aren't reaching you. Everything ProBase would have sent is still waiting behind the bell — see [Updates](/getting-started/updates).
Text messages are a separate setting. If it's texts you're missing, check the **SMS notifications** toggle on your profile — see [Text message notifications](/getting-started/text-message-notifications).
## Performance issues
**ProBase is slow**
**Solutions:**
1. Check your internet connection speed
2. Close other browser tabs
3. Clear browser cache and cookies
4. Try a different browser
5. Restart your device
**Photos on a visit take a while to load**
ProBase shows photo tiles as small previews and only fetches the full picture when you tap a tile, so a **Before photos** or **After photos** row should open in a moment. A closed row loads nothing at all.
**Possible causes:**
* The photos were taken before previews were introduced, so the first view of that row still pulls the full-size pictures
* The photos are older iPhone **HEIC** pictures, whose preview is made the first time the row is opened
* Slow or patchy signal out in the field
**Solutions:**
1. Open the row, let it finish, then open it again — ProBase makes previews for older photos in the background while you look, so the second visit is quick and there's nothing for you to do
2. Leave rows you don't need closed — a closed row downloads none of its pictures
3. On a weak signal, wait for the tiles rather than tapping them to open full size; the full pictures are much bigger files
**Page won't load**
**Solutions:**
1. Refresh the page
2. Clear browser cache
3. Try a different browser
4. Wait a few minutes and try again
**The page reloaded itself while I was working**
If ProBase has been left open for a long stretch — a tab you never close, or the app sitting on your home screen between jobs — a new version of ProBase can be released while your page is still running the old one. The first time you do something after that release, ProBase reloads the page so the screen and the app are back on the same version.
This is expected, and it's deliberately safe:
* **What you just saved is saved.** The reload happens *after* ProBase has processed and stored your change — a note you typed, a checklist answer, a charge you added.
* **It happens once**, not on every tap.
* Anything you'd typed but hadn't saved yet — text half-entered in a field — isn't kept, so finish what you're typing before you step away if you can.
**Solution:** Nothing to do. If a page instead starts behaving oddly — a button that does nothing, a section that won't open — reload it yourself (or pull down to refresh on a phone) and it will come back on the current version.
**"ProBase was updated" with a Reload now button**
Occasionally that automatic reload doesn't happen — a phone that had ProBase in the background, or a browser that ignored it. Rather than leave you on a page that quietly stops updating (a section stuck on its grey placeholder lines is the usual sign), ProBase puts the choice in front of you:
> **ProBase was updated** — A newer version of ProBase is ready. Reload to keep everything in sync — nothing you saved is lost.
**Solution:** Tap **Reload now**. As with the automatic reload, anything you'd already saved is saved; only text you'd typed and not yet saved is lost. Until you tap it, the page keeps working as best it can rather than going silent.
## Account access issues
**"Your session expired" prompt with a Reload button**
If you leave ProBase open in the background for a while — especially on a phone where the browser or app has been backgrounded — your login session can time out for security. The next time something on the page tries to save or refresh, ProBase shows a clear in-app message:
> **Your session expired** — For your security you were signed out after a period of inactivity. Reload the page to pick up where you left off.
**Solution:** Tap **Reload page**. Reloading signs you back in fresh and picks up where you left off. This is expected behavior, not an error — you don't need to log out manually or clear anything. If the prompt keeps reappearing, close the tab completely and open ProBase again.
This pop-up is the one you get while you're **signed in and working**. If you see a similar message on the login or sign-up screen instead, see *"Your session expired — please try again." on the login or sign-up page* below.
**"Your session expired — please try again." on the login or sign-up page**
This one appears while you're *signed out*, on the sign-in screens themselves. If a login, sign-up, or password-reset page sits open for a long stretch — a tab left open overnight, or an iPhone that put the tab to sleep and then woke it back up — the page goes stale. When you fill it in and tap the button, ProBase brings you straight back to the same page with an amber notice across the top:
> **Your session expired — please try again.**
Nothing is wrong with your account, and nothing was submitted. What you typed is still in the fields — your email address is right where you left it — so you only have to fill the password boxes in again.
**Solution:** Re-enter your password and tap **Log in** (or **Create my free account**) again. The second attempt goes through.
Password boxes are deliberately cleared when this happens — they're never carried across for security. Everything else you'd typed is kept so you don't start over.
This replaces the bare **419 | PAGE EXPIRED** browser error some people used to hit on a long-open login tab. If you still see that plain error page, refresh the page once and sign in again.
**"You no longer have access" prompt on a job page**
If you belong to more than one business and switch which one you're working in, a job you still have open from the previous business is no longer yours to view. The next time that page tries to load or save, ProBase shows a clear in-app message instead of a confusing error:
> **You no longer have access** — Your access to this job changed — you may have switched teams. Head back to your dashboard to continue.
**Solution:** Tap **Go to dashboard**. Unlike the session-expired prompt, reloading won't help here — the job belongs to a different business, so ProBase sends you back to your current business's dashboard where everything works normally. This is expected behavior, not an error.
**Stuck on a redirect loop, blank page, or "session expired" after an update**
This is almost always a stale browser session — your device is holding on to an old login token that the server no longer recognises.
**Solution:** Visit `/logout` directly in your address bar (for example `https://manage.probaseapp.com/logout`). This signs you out cleanly and drops you on the login page so you can sign back in. If support sends you a "recovery link" by email or text, this is the same thing — clicking it is safe and just clears your session.
**"The email has already been taken." when creating an account**
An account already exists for that email address. It's also what you'll see if the **Create my free account** button gets tapped twice — some in-app browsers (opening ProBase from a link inside Facebook, for example) submit the form twice on a slow connection, and the second attempt lands after the account was already created on the first.
**Solution:** Go to the login page and sign in with that email instead of registering again — your account is there. If you can't remember the password, use **Forgot your password?**. See [Creating your account](/getting-started/creating-your-account#step-1-sign-up).
**"Your sign-in session expired. Please try again." after Sign in with Google**
This appears on the login page when the Google sign-in handshake couldn't be completed — usually because you took too long on the Google account screen, opened the Google sign-in link in a different browser than where you started, or your browser cleared cookies in the middle of the flow.
**Solution:** Tap **Sign up with Google** or **Log in with Google** again from the same browser you're currently signed in to Google on, and complete the Google screen promptly. If you still get the message, try logging in with your email and password instead.
**"Your account isn't linked to a business" after logging in**
If your user account still exists but no longer belongs to any business — your only business was deleted, or somebody removed you from it — you land on a short **Create your business** screen instead of the dashboard. This happens automatically no matter how you sign back in, with your email and password or with **Log in with Google**, and it will keep happening on every login until the account belongs to a business again.
The blue panel on that screen spells out what's going on:
> **Your account isn't linked to a business** — You're signed in as *[your@email.com](mailto:your@email.com)* and your login is working. This account just isn't connected to a business anymore — usually because the business was deleted or you were removed from it. If that's unexpected, contact ProBase support before creating a new business here.
**Your password is fine.** This screen is not a sign-up form and it isn't telling you to make a new account. You are already signed in — the email address shown in the panel is proof of it. Resetting your password won't change what you see here, because the password was never the problem.
**Solution — pick whichever fits:**
* **You expected this** (you deleted your old business on purpose, or you're starting over). Enter a **Business name**, tap **Create my team now**, and you land on the dashboard of a fresh, empty business.
* **You didn't expect this.** [Contact support](/support/contact-support) *before* creating a new business — your old data may be recoverable, and creating a new business here does not bring it back. A new business starts empty; it isn't a copy of the old one.
* **That's not your email in the panel.** Tap **Log out** under the button (next to *Not you?*) to return to the login page and sign in with the right account.
If somebody invited you to their business in the meantime, signing back in drops you straight onto that team's dashboard and you never see this screen. So if you're waiting on an invitation, ask the business owner to send it and then log in again rather than creating a business of your own — see [Inviting team members](/team/inviting-members).
## Demo account issues
**Something doesn't work while I'm in the demo**
Check the top of the screen first: if an orange bar reads *"You are currently viewing a demo — experiment here without making changes to your own account"* (or just **Viewing a demo** on a phone), you're in the sample account, not your own. Parts of ProBase are deliberately switched off there:
* Tapping **Connect** on an [Integrations](/marketplace/connecting-accounts) card leads to a "page not found"
* Customer payment screens show the [Venmo](/billing/venmo-payments) option instead of card entry, and no card payment can be taken
* No email or automated text message is sent to anyone
* The business and user-account delete options are hidden
* The **Email** field on **My Profile** is read-only — that address is what links the sample account back to your real ProBase
* **Schedule a call**, the **Activate your Beta Partnership** section, and every demo invitation (the **Explore a demo account** banner, the **Tour a demo** menu item, the **Explore a demo account** checklist step, the empty-screen **Tour demo** cards) are hidden — those all belong to your real account
**Solution:** Tap **Return to my account** in the orange bar to go back to your real ProBase, where all of these work normally. See [Exploring a demo account](/getting-started/exploring-a-demo).
**The demo won't open — "The demo is temporarily unavailable"**
You tapped one of the demo invitations and instead of the sample business you got a short page reading *"The demo is temporarily unavailable — We couldn't open the demo right now. Please try again in a few minutes."*
The usual cause is timing: the demo rebuilds itself from scratch every night, and for the few minutes that takes it can't let anyone in. The other cause is opening a saved demo address directly — each trip into the demo uses a fresh, short-lived handoff, so a bookmarked demo link stops working soon after it was created.
**Solution:** Tap **Back to ProBase** to return to your own account, wait a couple of minutes, then open the demo again from HomeBase, the **Get started** checklist, the navigation menu, or the **Activate your Beta Partnership** row. Enter it that way each time rather than from a bookmark. Nothing is wrong with your own account when this happens. If it still won't open after a few tries, [contact support](/support/contact-support). See [If the demo doesn't open](/getting-started/exploring-a-demo#if-the-demo-doesnt-open).
**Something I created in the demo is gone**
The demo is wiped and rebuilt from scratch every night, so customers, jobs, and notes you add there only last until the next refresh. This is expected — nothing you make in the demo is meant to be kept, and it never appears in your real account.
## General troubleshooting steps
**When something isn't working:**
1. **Refresh the page** - Many issues are resolved by refreshing (on mobile, pull down from the top to refresh)
2. **Check your internet** - Slow or unstable connection causes issues
3. **Try a different browser** - Browser-specific issues are common
4. **Log out and back in** - Resets your session
5. **Clear cache and cookies** - Removes corrupted data
6. **Check for updates** - Ensure your browser is up to date
**Still having issues?**
If these solutions don't help, see [Contact support](/support/contact-support) for assistance. When contacting support, include:
* What you were trying to do
* What happened instead
* Any error messages you saw
* Your browser and device type
* Screenshots if possible
# Inviting team members
Source: https://docs.probaseapp.com/team/inviting-members
Invite people to your team by email, set their role and crews, and manage pending invitations
## Overview
Adding someone to your team is a two-part flow: **you send an invitation**, then **they accept it and finish their own profile**. This page walks through both sides.
Only owners and admins can invite new members.
## Sending an invitation
Go to **Team Roster** in the sidebar and click **Invite team member** in the top-right corner.
Enter the new member's details:
* **Email** (required) — where the invitation is sent
* **Full name** — optional; the new member can set or change it when they join
* **Role** — pick the [role](/team/roles-and-permissions) that decides what they can do
* **Crews** — optionally assign them to one or more crews now (this field appears once you have crews set up)
Click **Send invite**. ProBase emails the person an invitation link and shows a confirmation.
You only set the person's email, name, role, and crews when inviting. They fill in the rest — phone number, home address, and profile photo — themselves when they accept.
## Managing pending invitations
Sent invitations that haven't been accepted yet appear as **Pending** — both in the **Pending invites** section of the Team Roster and in the **Manage Team** area of your **Settings** (Business Profile) page.
For a quick fix when someone didn't get the email, you can [resend an invitation right from its card on the Team Roster](/team/team-roster#pending-invites). For the full set of controls — resend, expire, or cancel — open **Settings** in the sidebar and find the **Pending Invitations** list. Each row has an actions menu (**⋯**) with:
* **Resend** — send the invitation email again and extend the acceptance window
* **Expire now** — end the acceptance window immediately without deleting the invite. It flips to **Expired** and can still be resent later.
* **Revoke** — withdraw the invitation entirely. The invite link stops working and the row disappears from the list. ProBase asks you to confirm first.
**Expire vs. Revoke:** *Expire now* keeps the invitation so you can resend it later. *Revoke* deletes it — you'd have to invite the person from scratch. You can always invite someone again either way.
## Accepting an invitation (the new member's view)
When someone you invited opens their invitation email, here's what they'll do:
The link takes them to a **Join \{your company}** sign-up screen with their email already filled in. They pick a password and create their account — or, if the option is available, tap **Sign up with Google** to create it with their Google login instead. Either way, joining your team happens automatically; they don't end up with a business of their own. If they already have a ProBase login, they can log in instead.
Once they're in, ProBase welcomes them to your team and asks them to confirm their details — some of which you may have filled in for them. They add:
* A **profile photo** (optional)
* Their **full name**
* Their **phone number**
* Their **home address**, city, state, and ZIP
The phone field includes a text-message consent notice — submitting the form opts them in to appointment updates by SMS. They can turn SMS off later from their profile.
After clicking **Continue**, they're on the team and land on their HomeBase, ready to see the work assigned to them.
### If the invitation has expired
If a member opens an invitation link after it's expired, they see a message explaining the invite is no longer active and to ask their admin for a new one. Nothing is added to your team until you send a fresh invitation.
## Next steps
* [Manage your team roster](/team/team-roster)
* [Set up roles & permissions](/team/roles-and-permissions)
* [Add members to crews](/getting-started/adding-crews)
# Roles & permissions
Source: https://docs.probaseapp.com/team/roles-and-permissions
Control what each person on your team can see and do with built-in and custom roles
## Overview
Every person on your team has a **role**, and the role decides exactly what they can see and do — which screens they can open, whether they see customer contact details or money, and whether they can manage other people.
Open it from **Team Roster** in the sidebar, then the **Roles & permissions** tab. You'll see an **All roles** list with each role and how many people hold it.
## The built-in roles
ProBase ships with five ready-to-use roles, plus the protected **Owner**. Each role includes everything the one below it can do, and adds more — so they form a ladder from most limited to most trusted.
| Role | Who it's for |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Crew Member (Limited)** | Probationary, subcontractor, or junior. Sees and completes their crew's work, sends the customer a service report for it, and can create leads, quotes, assessments, and jobs. No customer contact info, no money, no admin. |
| **Crew Member (Standard)** | Everyday worker / field tech. Does the job end-to-end: create quotes and jobs, complete them, send an invoice, and record an in-person payment. Sees the price, not cost or margins. |
| **Crew Chief** | Senior lead for a single crew. Adds editing job and customer details, managing their crew, and destructive actions — scoped to their own crew. |
| **Manager** | Acts and manages across all crews. Adds the full Money tab plus the service catalog and pricing. |
| **Admin** | Everything except owner-only protections: business profile, payment settings, and team & permission management. |
Field roles (Limited, Standard, Crew Chief) act only on **their own crews**. Managers and admins act across **all crews**.
### The Owner is protected
The business **Owner** isn't a role you can change. The Owner has every permission and can't be edited, demoted, or removed, and only the Owner can delete the business. Ownership transfer is handled by the ProBase support team.
## Viewing what a role can do
Click any role to open its detail page. Permissions are grouped into eight cards so they're easy to scan:
* **Jobs & scheduling**
* **Sales pipeline**
* **Customers & properties**
* **In-job records**
* **Money**
* **Reviews**
* **Business config**
* **Team & crews**
Within each card, **View / Edit / Create / Delete** show what the role can do with each kind of record, and individual switches turn specific actions on or off (like *Complete a visit*, *Reschedule an appointment*, or *Cancel a single appointment*).
**Sending the report and sending the invoice are separate.** *Send a service report for your own visit* — under **Team & crews** — lets someone tell the customer what was done, with photos. Putting the bill in the same message still needs the invoice permission, so a role that can report can't quietly start invoicing. Everyone from **Crew Member (Limited)** upwards can send a report for their own crew's work.
Some permissions are linked. For example, turning off **See customer contact info** for a role also hides that person's on-my-way texts, invoices, and calls to customers.
## Creating a custom role
If none of the built-in roles fit, build your own.
On the **Roles & permissions** tab, click **New role**. A blank draft opens.
Give the role a **Role name** (for example, "Dispatcher"), then switch on the permissions it should have across the eight groups.
The name is required, and it has to be different from every other role you already have — including the built-in ones.
Click **Save role**. Your new role appears in the list and can be assigned to members right away.
There's a **Save role** button at the top of the draft and another in the bar pinned to the bottom of the screen — either one saves. If the name is missing or already taken, saving from the bottom bar scrolls you back up to the name field and puts your cursor in it, with the reason shown underneath, so the button never looks like it did nothing.
### Building on a built-in role
Rather than starting from scratch, you can base a custom role on a built-in one. Open a built-in role and click **Edit permissions** — ProBase creates a **new** custom role pre-filled with that role's permissions, ready for you to adjust and rename. The original built-in role is never changed.
### Some permissions are reserved
A few high-trust permissions can't be given to custom roles. In the builder those appear locked, with a short label explaining why:
* **Admin only** — powers like issuing a refund, adding a credit, assigning roles, inviting users, or deactivating members stay with the Admin role and Owner
* **Not allowed** — adding a charge and seeing cost/margins can't be granted to a custom role
## Editing and deleting custom roles
* **Edit a custom role** — open it and click **Edit permissions**. Changes take effect immediately when you save.
* **Delete a custom role** — open it and click **Delete** (or use the role's actions menu). If anyone still holds the role, you'll need to move them to a different role first. Built-in roles can never be deleted.
Whenever you change a role — or change a member's role from the [roster](/team/team-roster) — the new permissions apply the next time that person acts, no re-login needed.
## Next steps
* [Invite people to your team](/team/inviting-members)
* [Manage your team roster](/team/team-roster)
# Your team roster
Source: https://docs.probaseapp.com/team/team-roster
See everyone on your team, their role, their crews, and their account status in one place
## Overview
The **Team Roster** is the home for everyone who works in your business. From here you can see who's on the team, what each person is allowed to do, which crews they run with, and whether their account is active — all in one list.
Open it from **Team Roster** in the sidebar, under Business. The page has three tabs across the top:
* **Team roster** — the people on your team (this page)
* **Crews** — your field crews and who's on each one ([learn more](/getting-started/adding-crews))
* **Roles & permissions** — what each role can do ([learn more](/team/roles-and-permissions))
The **Team Roster** entry and its tabs only appear for owners, admins, and managers. Crew members who log in see the everyday screens (HomeBase, Schedule, Customers) but not the team-setup screens.
## Reading the roster
Each person on your team shows up as a row with four things:
* **Member** — their name and email
* **Role** — the role that decides what they can see and do (for example, **Crew Member · Standard** or **Manager**). The business owner always shows an **Owner** badge with a lock.
* **Crews** — the crews they belong to. Owners, admins, and managers show **All crews**; everyone else shows their crew names.
* **Status** — whether their account is **Active**, **Pending** (invited but not yet joined), or **Deactivated**
Use the **Search member** box at the top to filter the list by name or email.
## Pending invites
Anyone you've invited who hasn't accepted yet appears in a **Pending invites** section above the member list, so you can see at a glance who still needs to join. Each card shows their name (or email), a **Pending** badge, and the role they'll get once they join.
If someone tells you they never got the email, you don't have to leave the roster to fix it. Click the **⋯** menu on their pending card and choose **Resend invitation** — ProBase re-sends the invitation email and extends the acceptance window.
Need to expire or cancel an invitation instead of just resending it? Those actions live in the full **Pending Invitations** list — see [Managing pending invitations](/team/inviting-members#managing-pending-invitations).
## Member actions
Click the **⋯** (three dots) at the end of any member's row to open their actions menu.
From here you can:
* **Edit member** — change their role, their crews, or their contact details
* **Deactivate member** — turn off their account access (or **Reactivate member** if they're already deactivated)
See [Managing member accounts](#managing-member-accounts) below.
## Editing a member
Choosing **Edit member** opens a form where you can update:
* **Email** and **Full name**
* **Role** — pick from your [roles](/team/roles-and-permissions)
* **Crews** — the crews this person runs with
Click **Save** to apply your changes. Role and permission changes take effect immediately.
## Managing member accounts
When someone leaves the team — or you just need to pause their access — you **deactivate** them rather than deleting them. Deactivating keeps all of their history (completed work, records, and notes) intact, and you can bring them back at any time.
### Deactivating a member
1. Open the member's actions menu (**⋯**) and choose **Deactivate member** — or open **Edit member** and click **Deactivate member** at the bottom of the form
2. Confirm in the dialog
The moment you confirm:
* They lose access immediately and are signed out everywhere
* They're removed from every crew
* Their history stays exactly as it was
The business **Owner** can't be deactivated. Ownership transfer is handled by the ProBase support team.
### Reactivating a member
A deactivated member shows a **Deactivated** status. To bring them back, open their actions menu and choose **Reactivate member**, then confirm. They regain access immediately with the same role they had before.
Reactivating restores a member's access and role, but **not** their crew assignments. Add them back to their crews from the **Crews** tab or from **Edit member** once they're active again.
## What crew members see
The Team Roster and the rest of the business-setup screens are only for owners, admins, and managers. Crew members get a focused experience built around the work assigned to them:
* Their sidebar shows **HomeBase**, **Schedule**, and **Customers** — plus **Services** if their role allows it. The **Money**, **Team Roster**, **Payments**, and **Settings** screens are hidden.
* Until work is scheduled for them, their HomeBase shows a friendly note: *"Nothing assigned yet — your team will schedule your work."*
Some roles also hide customer contact details. A limited crew member who opens a customer sees the customer's name and address for routing, but their phone and email are hidden with a short message pointing them to their crew chief.
What each role can and can't see is set on the [Roles & permissions](/team/roles-and-permissions) tab.
## Next steps
* [Invite people to your team](/team/inviting-members)
* [Set up roles & permissions](/team/roles-and-permissions)
* [Add your crews](/getting-started/adding-crews)