A Cleaning Business Invoice Workflow, Job to Paid

· 5 min read

You finished a deep clean at an office on Thursday afternoon. Four hours, two cleaners, supplies included. The client is happy. Now you have to bill them, and if you do what most small cleaning operators do (type it into a document, export a PDF, email it, wait), you are already setting yourself up for the slow version of getting paid.

Here is the workflow that gets a cleaning invoice out the door in a few minutes and gives the client no excuse to sit on it. Each step is something a real person does, in the order they do it.

Step 1: Build the invoice while the job is fresh

Do this before you drive to the next job, not at the end of the month. You still remember the details: the client added two bathrooms, you supplied the floor polish, the job ran long.

Open a new invoice and fill in the line items the way you actually charged. For a cleaning job that usually means labor, supplies, and any add-ons kept separate:

  • Standard clean, 4 hours, 2 cleaners
  • Floor polish and equipment
  • Extra bathroom deep clean (added on site)

Keeping these as separate line items on the invoice matters. When a client questions the total, they almost never dispute the whole thing. They dispute one line. Break it out and the conversation is small instead of a standoff. If you want a head start on the layout, the cleaning invoice template is already set up for this kind of job.

Set your payment terms and due date before you send. Due on receipt is normal for residential work. Commercial clients often want Net 15 or Net 30, which you can read up on in the guide to Net 30 terms. Pick one and put it on the invoice. A vague "please pay soon" is how a 30-day invoice becomes a 50-day invoice.

Step 2: Share a link, not a PDF attachment

When the invoice is ready, generate a private link and send that. The client opens it in a browser. No account, no login, no app to download. They just see the invoice.

This is the part that changes everything for a cleaning business, because commercial clients rarely pay the version you first send. Their accounts payable team needs a purchase order number on it. Their billing entity is "Acme Facilities Holdings LLC," not the office manager you talked to. The address on file is the head office, not the site you cleaned.

With a link, the client fixes all of that themselves. The recipient can add a PO number, update their billing entity and address, and set an accounts payable contact, directly on the invoice. You get notified, and if something looks wrong you can revert it in one click. That is the whole idea behind letting customers edit their own invoice, and it kills the email loop where you trade corrected PDFs back and forth for a week.

One line to keep straight: the client can edit billing details, but not your numbers. Line items, pricing, your bank details, and the invoice number are yours. If the client thinks the extra bathroom should not have been charged, they leave a comment on the invoice and you decide. Nothing changes behind your back.

Step 3: Get it to the person who actually pays

The office manager who booked you is usually not the person who cuts the check. On a commercial account the invoice has to reach accounts payable, and that handoff is where invoices vanish.

From the link, the client can forward the invoice straight to their AP contact, or you can. If you have dealt with invoices disappearing into a billing department before, the walkthrough on getting an invoice to accounts payable covers how to do it without the thing going quiet. The PO number the client added in Step 2 is the single biggest reason AP pays on time instead of rejecting and sending it back.

Step 4: Let them pay by card, or report a transfer

If you connect your own Stripe account, the invoice link shows a pay-by-card button. The client pays right there, on the same screen where they just confirmed their billing details. For a one-off residential clean especially, card payment is the fastest route to money in the account.

If they pay by bank transfer instead, your bank details are already on the invoice, and the client can report the payment they made so you both stay in sync. A note on how this works: JupiterInvoice is not a payment processor and does not hold your money. It shows your payment details and tracks the invoice. When you connect Stripe, the money goes to your Stripe account the normal way.

Step 5: Watch the status instead of guessing

Every invoice moves through Draft, Sent, Viewed, and Paid. You can see when the client actually opened the link, which tells you whether to chase or wait. If an invoice sits on Sent for three days and never flips to Viewed, it probably landed in spam or got buried, and a quick nudge is fair. If it says Viewed but not Paid after a week, that is a different conversation. Checking whether the invoice was opened before you follow up saves you from chasing someone who never saw it.

Making it repeatable for regular clients

Most cleaning revenue is recurring: the same office every week, the same house every other Friday. You do not want to rebuild that invoice from scratch each time. Billing regulars on a schedule, without the monthly chase, is its own workflow, and the piece on billing recurring cleaning clients walks through it.

The free plan covers unlimited invoices with a small "Powered by JupiterInvoice" footer. If you want that footer gone and a lower card fee, Pro is 10 dollars a month. Either way, the tool is built for this exact job. See how it fits a cleaning operation on the page for invoicing for cleaning businesses, then send your next job the same afternoon you finish it.

Send an invoice your customer can actually respond to

JupiterInvoice lets recipients add PO numbers, update billing details, comment, and forward to AP, all from a private link. No account needed on their side.

Create an invoice