Skip to content

PaintOps Help Center

Information you need to run your painting business in PaintOps. Search below or browse by topic.

AllGetting StartedQuotesScheduling & JobsCustomersCrew & TeamPhotosExpenses & MoneyPaymentsAI ToolsMobile & OfflineSettings & AdminBillingPrivacy & DataTroubleshooting

Getting Started

How Do I Use PaintOps?

PaintOps is designed to be simple, intuitive, and productive from day one. This quick guide will walk you through the basics so you can get up and running in just a few minutes.

When you’re done, be sure to read How to Get the Most Out of PaintOps for practical tips and best practices to help you and your team get the most value from the platform.

How to Get the Most Out of PaintOps?

Read this guide to learn practical tips, best practices, and proven workflows that will help you and your team get the most value from PaintOps.

What is PaintOps?

PaintOps is a WordPress plugin that turns your own website into the back office for a painting business. You can build professional quotes, schedule crews on a calendar, track jobs from lead to completed, keep customer records with before and after photos, log expenses, and (on Pro) see the real profit on every job. It was built by a painter, for painters, and your data lives in your own WordPress database rather than a third-party cloud.

What do I need to run it?

A self-hosted WordPress site (WordPress 6.0 or newer) running PHP 7.4 or newer. That is it for the core app. A few optional features connect to outside services only if you turn them on: online card deposits use your own Stripe account, the AI tools use your own OpenAI key, and address autocomplete uses a Google Maps key. We also strongly recommend running your site over HTTPS, which the mobile app and online payments require.

How do I install and activate PaintOps?

Install it like any WordPress plugin: from your dashboard go to Plugins, Add New, search for PaintOps, then Install and Activate. On activation PaintOps automatically creates the one page your whole app runs on. If you ever need to recreate that page, you can do it from PaintOps, Settings under Setup Health, App Page.

Where is the app after I install it?

PaintOps runs from a single WordPress page that holds the shortcode [paintops_app]. It is created for you on activation. Everything (quotes, calendar, jobs, customers, photos, financials) lives on that one page and routes internally, which keeps your admin menu tidy. You will find the link to it under PaintOps in your WordPress admin.

How do I set up my company profile?

Go to PaintOps, Business in your WordPress admin and open Company Profile. Set your business name, address, phone, email, website, logo, country, currency, and units. This information fills the header of your quotes and invoices, the quote email signature, and your pricing suggestions, so it is worth completing before you send your first quote.

What is included free, and what is Pro?

Free covers the day-to-day of running jobs:

  • Quotes and estimates with a scope-aware builder, inclusions and exclusions, itemized or lump-sum pricing, printable PDF, and email
  • Scheduling calendar and crew assignment
  • Job pipeline, customer records, and before and after photos
  • Crew tools: check-in and check-out hours, time off, and worker notifications
  • Expense and receipt logging
  • Up to 10 new jobs or quotes per month

Pro ($45/month per site) removes the monthly cap and adds the money side: profit and margin reporting, the Profits dashboard, business and tax reports, online card deposits through Stripe, invoicing, and the AI tools. Pro can also remove the “Powered by PaintOps” credit from customer quotes and invoices.

How does the free monthly limit work?

On the free plan you can create up to 10 new jobs or quotes per calendar month. A few details worth knowing:

  • A quote, an estimate, a bid, and a job are all the same record, so each one counts as 1, no matter how it is labeled or where it is in its lifecycle. Revising a quote does not add to the count.
  • Deleting a job or quote you created this month frees the slot again, since the count only looks at records that currently exist.
  • The count resets on its own on the 1st of each month.
  • Editing existing jobs and quotes is never blocked, only creating new ones once you reach the limit.

Upgrading to Pro removes the cap entirely.

Quotes

How do I build a quote?

Start a new request, enter the customer and the job, then open the quote builder. It understands painting work: you pick interior or exterior scope components, add standard inclusions and exclusions, and choose itemized line items or a single lump sum. Built-in trade calculators can figure quantities and drop the numbers straight into the quote. When it looks right, you can print it, save it as a PDF, or email it to the customer.

What are inclusions and exclusions, and why do they matter?

Inclusions spell out exactly what the price covers, and exclusions state what it does not, which is what keeps you out of disputes later. PaintOps ships with a reusable library of painting-specific scope and exclusion language you can drop onto any quote and edit, so every quote reads clearly and consistently. You manage the library under PaintOps, Business, Exclusions Library and the per-category scope components.

Itemized or lump-sum pricing, which should I use?

Both are supported on every quote. Itemized shows the customer a breakdown of line items, which builds trust on larger jobs. Lump sum shows a single total, which is cleaner for smaller work. You choose per quote, so you can match the format to the customer.

How do I send a quote to a customer?

From the quote you can email it directly to the customer with a clean PDF, or print or save the PDF and send it yourself. The email uses your company profile for the signature. If your quote emails are landing in spam, see the email deliverability article, connecting an SMTP service fixes it.

How does a customer accept a quote?

Every quote can be shared as a private link that opens a customer-facing page with no login required. The customer reviews the quote and accepts it right there, and on Pro they can pay a deposit online by card at the same time. On the free plan you record the accepted quote and any in-person deposit yourself. Customers can also simply reply to the quote email to accept.

How do I revise a quote?

Open the job and create a new quote revision. PaintOps keeps every revision, and the job always points at the latest one, so you have a full history of what changed without cluttering the customer’s view. Revising does not count against your monthly free limit.

What is the difference between a quote, an estimate, and a bid?

They are the same underlying record, just labeled to match how you talk to a customer. You can present a document as a Quote, an Estimate, or a Bid, and turn a quote into an active job when it is accepted, all without creating a separate record. Because they are one record, each counts as a single item against the free monthly limit.

Scheduling & Jobs

How do I schedule a job and assign a crew?

Put the job on the calendar with a start date, how many days it needs, and a start time, then assign the painters and helpers who will work it. Assigned crew members can open the job from their own login (and from the notification email) to see the address, scope, colors, and notes.

What is the job board or pipeline?

The board gives you a simple three-column view of your work: Quotes, Active Jobs, and Completed. It is the fastest way to see where everything stands and move a job from quote to active to done. On Pro, active and completed cards also show a balance-due or paid-in-full tag.

Can I subscribe to the schedule from my phone calendar?

Yes. PaintOps publishes a private calendar feed you can subscribe to from Google Calendar, Apple Calendar, or Outlook, so your PaintOps jobs show up alongside the rest of your day. Keep the feed link private, since anyone with the exact link can view the schedule.

Can I add my own holidays to the calendar?

Yes. Under PaintOps, Settings, Calendar Holidays you can add the days you close for, including fixed dates and floating rules like “the fourth Thursday of November,” and there are one-click US presets to get you started.

How do I schedule a callback or punch-list visit?

From a job you can schedule a follow-up visit, such as a callback or punch-list trip, tied back to the original job. It shows on the calendar like any other visit. Note that a follow-up is its own record, so on the free plan it counts toward your monthly new-item limit.

Customers

Where are my customer records?

The Customers area is a directory of everyone you have worked with: contact details, service address, and full job and quote history. On Pro you also see each customer’s lifetime value. Customers are stored as plain records in your database, never as WordPress user accounts, so no one gets a login they did not ask for.

How do I delete a customer?

Open the customer and use the “Delete this customer” panel at the bottom (administrators only). This is a full, permanent wipe: it removes the customer and every job and quote linked to them, along with all attached estimates, financials, expenses, hours, payments, photos, receipts, and invoices. It cannot be undone, so take a database backup first if the customer has real history. This is the tool to use for a test entry or to honor a data deletion request.

Crew & Team

How do I add a painter or helper?

A team member just needs a WordPress account, then you enable them under PaintOps, Painters/Helpers. You can create the account yourself under Users, Add New (WordPress emails them a set-password link), or let them self-register if you have registration turned on. Once added, they get the Painter/Helper role and only see what you allow.

What can painters and helpers see and do?

Every painter or helper can view their own assigned jobs and open the emailed job link. Beyond that, each person has opt-in permissions you control:

  • Upload photos (on by default)
  • Upload receipts and log expenses (on by default)
  • Create jobs (off by default)
  • Create quotes (off by default)
  • View financials (off by default)

You set these per person on the Painters/Helpers page.

Do my painters see my profit and pay numbers?

No. Money figures (costs, profit, margin, and pay rates) are owner-level and hidden from painters and helpers unless you explicitly grant a specific person the “View financials” permission. A crew member logging hours or a receipt never sees the job’s profitability.

How does the Time Clock (check-in and check-out) work?

On a job, staff and assigned crew can tap Check In when they arrive and Check Out when they leave, and their hours are logged to that job automatically. It even works with no signal and syncs when they reconnect. Hours flow into the job so labor is tracked without anyone typing timesheets.

Can I turn the Time Clock off?

Yes. If you track hours another way, go to PaintOps, Business, Time Clock and switch it off. The check-in and check-out box then disappears from every job. Any hours already logged are kept, and staff can still enter or correct hours by hand in Manage Financials.

How do worker notifications work?

When enabled, PaintOps emails each assigned painter or helper a “job starts tomorrow” reminder the day before, with the address, customer, and time. It runs automatically once a day. You turn it on under PaintOps, Business (or Settings), and there is a backup trigger URL for very low-traffic sites where the daily task can be unreliable.

How long do team members stay logged in?

WordPress normally signs people out after a couple of days, which is a nuisance for a crew checking job details on a phone. Under PaintOps, Settings, Team Login Duration you can extend how long staff and crew stay logged in. Longer is more convenient but means a lost phone stays signed in longer, so if a device goes missing, change that person’s password to log them out everywhere.

Photos

How do I add photos to a job?

Open a job’s Notes & Photos area and take a photo right from your phone camera or choose one from your library. Photos upload as soon as you pick or take them, no separate upload button. Each photo is stamped with the time and who added it, and images are compressed automatically so they do not bloat your site.

How do before and after photos work?

Add a “Before” photo, then tap “Take Matching After Photo.” A live camera overlay shows the Before shot as a faint ghost so you can line up the exact same angle, then it captures and pairs the two automatically. Afterward you get a drag slider to reveal one photo over the other, which is great for showing customers the transformation. You can also pair two photos you already have.

Expenses & Money

How do I log an expense and a receipt? Free

From a job, use Add Expense to record the vendor, category, amount, and date, and attach a photo of the receipt straight from your phone. Expense and receipt logging is included free, so you can track what a job cost even without Pro. Administrators see the amounts in the expense list; plain crew members see only which receipt goes where, never the dollar figures.

How do I see the profit on a job? Pro

On Pro, the Job Financials area turns your logged costs, materials, and labor hours into gross, expenses, profit, and margin for that job. It reads the same expenses you can log for free, and adds the money math on top. This is where you find out which jobs actually made money.

What reporting does Pro add? Pro

Pro includes a set of money reports:

  • A Profits dashboard with profit and margin across your jobs
  • Profit by classification and category
  • Profit-per-hour rankings, so you see which work and which crews pay best
  • Outstanding balances and a business financial report
  • Business overhead expense tracking, a vehicle and mileage log, and accountant-ready tax reports with receipts
Can I send invoices? Pro

Yes, on Pro. You can create a numbered invoice for a job’s remaining balance, email it to the customer, and give them a link to view and pay it online. Invoices carry your company branding and pull the balance straight from the job.

Payments

How do I collect a deposit?

On the free plan you collect deposits in person and record them on the job. On Pro you can also let a customer pay a deposit online by card when they accept a quote, through your own Stripe account. Either way, the payment is logged against the job.

How do I set up online card deposits with Stripe? Pro

Under PaintOps, Settings, Stripe Payments, add your own Stripe keys. Money is processed through your Stripe account and lands in your bank, PaintOps just creates the checkout and records the payment. Online payments require your site to be on HTTPS, which Stripe enforces for live charges.

AI Tools

What can the AI tools do? Pro

On Pro, with your own OpenAI key, PaintOps can:

  • Estimate room dimensions and draft a description of work from a photo
  • Scan a receipt photo to auto-fill the vendor, amount, and date
  • Give you feedback on, or a professional rewrite of, your quote wording

AI output is a starting point to review, not a guarantee, so check it before it goes to a customer.

How do I set up the AI features, and what do they cost? Pro

The AI tools use your own OpenAI account, so you connect an OpenAI API key under PaintOps, Settings, AI Settings. You pay OpenAI directly, typically a fraction of a cent to a few cents per action, and PaintOps adds monthly usage caps you control so costs stay predictable. Nothing is sent to OpenAI unless you click one of the AI buttons.

Mobile & Offline

Can I install PaintOps on my phone?

Yes. PaintOps is an installable app: open it in your phone browser and use “Add to Home Screen” to get an app icon that opens full screen, no app store needed. This requires your site to be on HTTPS.

Does it work without a signal?

Yes, within limits. Once installed, the app lets crews keep reading jobs they have opened (address, scope, colors, notes) with no signal, and today’s scheduled jobs are pre-loaded for offline use. Check-in and check-out also work offline: the punch is queued on the phone and synced when the connection comes back, logging the time it was actually tapped. Creating quotes and other changes need a connection.

Why does PaintOps need HTTPS?

Browsers only allow the offline app, the home-screen install, and live card payments on a secure (HTTPS) site, and HTTPS also encrypts customer and login details in transit. Most hosts offer free SSL with a one-click toggle, or a plugin like Really Simple SSL can handle it. PaintOps still runs over plain HTTP, but those specific features will not work until you switch to HTTPS.

Settings & Admin

How Can I Migrate My PaintOps Data?

If you’re moving your PaintOps website to a new hosting provider, changing your domain name, or moving to a new WordPress installation, this guide walks you through the recommended process.

What is Setup Health?

Setup Health is a status board at the top of PaintOps, Settings that shows, at a glance, whether each core piece of your install is set up: your app page, timezone, HTTPS, the offline app, your Google Maps key, notifications, and email. Anything that needs attention is flagged, and you can fix each item right there.

My dates and times are wrong. How do I fix that?

PaintOps shows every date and time in your site’s timezone. If times look off by a few hours, the cause is almost always the WordPress timezone setting. Go to Settings, General, Timezone and pick your city (for example New York or Los Angeles) rather than a fixed UTC offset, then Save. Setup Health, Date & Time also shows the current time and warns if you are on a fixed offset that will not adjust for daylight saving.

Do I need a Google Maps key?

Only if you want address autocomplete, an embedded map on the job, and address geocoding. Add a key under PaintOps, Settings, Google Maps. Without a key you simply type addresses by hand, and the “Get Directions” links still work, so the key is optional. Get / manage a key and restrict it to your site’s domain.

My quote emails are going to spam. What should I do?

By default WordPress sends mail through your web host with a basic method that many inboxes now flag as spam. The fix is to install a free SMTP plugin (such as WP Mail SMTP or Post SMTP) and connect it to your email provider so messages are authenticated. PaintOps, Settings, Email Deliverability tells you whether SMTP is detected and includes a “Send Test Email” button.

Can I change how the app looks?

Yes. PaintOps includes a set of visual themes (light, dark, industrial, and more) that you can switch site-wide under PaintOps, Settings, Appearance.

How do I back up or export my data?

From PaintOps, Business, Backup & Data you can download a ZIP export of your PaintOps records (all tables as CSV plus your settings). For a complete, restorable backup that also includes your photo and receipt image files, use a full WordPress site-backup plugin, since those images live in your WordPress Media Library. Read our post about backing up your WP data to learn more. The export is records only.

Can I remove the “Powered by PaintOps” line on quotes and invoices? Pro

The small “Powered by PaintOps” credit at the bottom of customer quotes and invoices is part of the free plan. On Pro you can remove it under PaintOps, Business, Quote & Invoice Branding. Your own logo, name, and address are unaffected either way.

Billing

How much is Pro, and what does it unlock?

Pro is $45 per month per site. It removes the 10-per-month cap and adds profit and margin reporting, the Profits dashboard, business and tax reports, online Stripe deposits, invoicing, the AI tools, and the option to remove the “Powered by PaintOps” credit. The free plan keeps working exactly as before if you do not upgrade.

How do I cancel, and what is the refund policy?

Pro is billed through our provider, Freemius, and you can cancel anytime from your account. Cancelling stops future renewals, and Pro features stay active through the end of the period you already paid for. For the current refund terms, see the details shown at checkout.

Privacy & Data

Where does my business data live?

In your own WordPress database, on your own hosting. PaintOps does not store your quotes, jobs, customers, photos, or financials on an outside server, and we do not have access to them. You control your data.

What data is sent to third parties?

Only when you enable an optional feature, and only the data that feature needs. If you use the AI tools, the photo or quote text you are working on is sent to OpenAI. If you take an online deposit, payment details are exchanged with Stripe. If you enable maps, the address you type is sent to Google. Licensing and updates are handled by Freemius. With none of those keys entered, PaintOps runs entirely on your own site.

How do I remove a customer’s data on request?

Open the customer and use the “Delete this customer” panel (administrators only) to permanently remove the customer and everything attached to them. See the “How do I delete a customer?” article for exactly what is removed. Because it is irreversible, take a backup first if the record has real history.

Troubleshooting

I reached my monthly limit. What now?

The free plan allows 10 new jobs or quotes per calendar month. The count resets on the 1st, and deleting a job or quote you created this month frees a slot. To create without limits, upgrade to Pro. Editing your existing work is never blocked.

The offline app or install option is not working.

The offline app and “Add to Home Screen” require your site to be served over HTTPS. Check Setup Health, Security to confirm. If you just switched something on and a phone still shows an old version of a page, opening the app while online once lets it refresh its saved copy.

A photo will not upload.

Most upload problems are hosting limits (the maximum upload size or PHP memory) rather than PaintOps itself. Try a smaller image, and if it persists, ask your host to raise the upload and post size limits. PaintOps already compresses images before upload to keep them small.

No articles match your search. Try a different word, or browse a topic above.

Still need a hand?

Cannot find the answer here? Reach out and we will help.

Contact PaintOps