Back to Blog

Contractor Text to Pay: How SMS Invoice Payment Cuts Days-to-Payment from 14 to Under 24 Hours

Pipeline Research Team
Blog

Text-to-pay sends the customer an SMS with a link to a branded payment page where they enter card or ACH details and pay in under 60 seconds. Built-in options in Jobber, Housecall Pro, and ServiceTitan run on Stripe rails at 2.59-2.99% on cards and around 1% on ACH. Contractors using text-to-pay collect on most invoices in under 24 hours vs a 14-day average for mailed invoices, which frees roughly $40K in working capital for a 5-truck shop doing $1.5M a year. Transactional invoice messages to customers who shared their number at scheduling generally satisfy TCPA without a separate marketing opt-in.

Key Takeaways

  • Contractors using SMS-based text-to-pay collect on 60-80% of invoices in under 24 hours vs a 14-day average for mailed invoices
  • A 5-truck residential shop doing $1.5M annually frees roughly $40,000 in working capital by cutting average days-to-payment from 14 to 3
  • Built-in text-to-pay through Jobber, Housecall Pro, and ServiceTitan runs on Stripe rails at 2.59-2.99% per card transaction and around 1% on ACH
  • TCPA penalties run up to $1,500 per violation; transactional invoice messages to customers who provided their number at scheduling are generally allowed without separate marketing opt-in
  • A $9,000 HVAC install paid via text-to-pay card on day 1 vs check on day 14 frees $9,000 of working capital and skips roughly $30-50 in collection labor

A residential contractor mailing paper invoices waits an average of 14 days to get paid. A contractor texting a payment link collects on 60-80% of invoices in under 24 hours. That gap is not a feature war between software platforms. That gap is working capital sitting in someone else’s checking account.

Most shops still send invoices by email after the tech leaves, then wait. Half the customers open the email, half forget. A week later the office manager prints statements and mails them. Another week passes. The customer finds the envelope on a stack, finds the checkbook, writes the check, drops it in the mail. Twenty-one days from job completion to deposit, and that’s the customers who actually pay.

Text-to-pay collapses that timeline to hours, not days. The mechanics are simple. The math on a 5-truck shop is roughly $40,000 in freed working capital. The friction is mostly TCPA compliance and picking the right implementation.

How text-to-pay actually works

The flow is four steps. The customer never leaves their phone.

1. Tech completes the job. Invoice generated from the truck via the field service app (Jobber, Housecall Pro, ServiceTitan, FieldEdge).

2. SMS sent to the customer’s mobile number. Branded short message: “Acme Plumbing invoice for $847 ready. Pay here: [link].” The link goes to a hosted payment page on the platform’s domain (or Stripe’s checkout).

3. Customer taps the link. Payment page loads with the contractor’s logo, invoice details, line items, and two buttons: “Pay by card” or “Pay by bank transfer (ACH).” Customer enters card or routing/account info. Apple Pay and Google Pay show up automatically on mobile.

4. Payment processes. Card transactions clear in same-day to 2 business days. ACH clears in 1-3 business days. The platform marks the invoice paid, syncs to QuickBooks, and triggers a payment receipt back to the customer via SMS or email.

Total customer time from receiving the text to confirming payment: 30-90 seconds for cards, 90 seconds to 3 minutes for first-time ACH (Plaid bank linking adds a step). The customer never opens email, never finds the checkbook, never drives to the mailbox.

Per Stripe’s text-to-pay overview, the security model uses HTTPS encryption and PCI-compliant checkout, so no card data ever lives in your text thread or your platform’s database.

The four implementations contractors actually use

Most residential shops pick one of four. The differences are real but small.

Jobber Pay-by-Text (built-in)

Per Jobber’s invoice basics, invoices send via email or text, with a one-click payment option for the customer. Cards run 2.9% + $0.30, ACH runs 1% capped at $8 (the same Stripe rates Jobber charges on any payment). Two-way SMS conversations require Grow plan ($199-349/mo), but the one-way invoice-and-reminder flow works on every paid Jobber tier.

The strength: tight integration with Jobber’s job records, automatic invoice reminders on a configurable cadence (3 days, 7 days, 14 days unpaid), and automatic-payment setup that lets recurring jobs bill a saved card or ACH without sending the text again.

Housecall Pro Pay-by-Text

Per Housecall Pro’s pay-by-text article, the customer receives a text with the invoice link, taps it, and pays via card, ACH, or digital wallet. Card processing runs 2.59-2.99% depending on plan, ACH runs around 1%, Instapay (same-day deposit) adds 1%.

The setup requires Custom SMS number approval (the platform registers a 10-digit number with the carriers under your business name). Once approved, pay-by-text and receipts both flow through that number, which keeps the messages out of spam filters.

For shops not on a field service platform, Stripe Payment Links is the bare-metal option. Create a payment link in the Stripe dashboard for the invoice amount, copy the URL, paste it into any SMS app (your phone’s native messages, Twilio, OpenPhone). Customer taps the link, pays, you see the payment in Stripe.

The catch: Stripe doesn’t send SMS reminders on unpaid links, there’s no escalating cadence, and no way to resend automatically if the link sits unpaid. You’re the dunning workflow. Per PayRequest’s analysis, this is fine for one-off invoices but breaks down when you’re processing 50+ invoices a week.

Use Stripe Payment Links if you’re a 1-2 person operation invoicing under 10 jobs a month and don’t want to pay for a field service platform. Outgrow it within 6 months.

FieldEdge billing (and ServiceTitan, FieldPulse, RazorSync)

FieldEdge, ServiceTitan, FieldPulse, and the rest all offer pay-by-text on top of their billing modules. Rates are negotiated per account on ServiceTitan (typically 2.7-2.9% + $0.30), published on the others. The differences vs Jobber and Housecall Pro are mostly downstream integration depth (QuickBooks Desktop sync, parts inventory tied to the invoice line items) rather than the SMS flow itself.

If you’re already on one of these, use the built-in pay-by-text. If you’re shopping, our HVAC billing software breakdown covers the trade-offs in detail.

The deposit-at-completion vs Net-15 workflow

Text-to-pay rewrites the timing of when money hits your account, which changes how you should structure payment terms across job sizes.

Residential service work under $2,000: Text-to-pay before the tech leaves. Customer pays card from the couch within 10 minutes. Net 0. This is 80% of plumbing service, HVAC tune-ups, electrical repairs, drain cleaning.

Residential install $2,000-$10,000: Deposit at scheduling (25-50%) via card-on-file or text-to-pay link. Balance Net 0 at completion via text-to-pay, nudging customer toward ACH to save card fees. Water heater swaps, mini-split installs, panel upgrades.

Larger residential $10K+: Deposit at scheduling via ACH (saves $200-300 in card fees on a $10K deposit). Progress payments at milestones via text-to-pay. Final payment Net 15 via text-to-pay ACH. Whole-home repipes, full HVAC system replacements, roof replacements.

Commercial: Text-to-pay still works but most commercial customers want a PO process and Net 30. Use text-to-pay as the reminder mechanism on the back of the email invoice, not the primary delivery.

A residential HVAC owner on r/HVAC described the change after switching to Jobber Pay-by-Text: “We were averaging 11 days from invoice to deposit before. Now 70% of service tickets clear within 4 hours, the rest within 2 days. Our 30-day-aged receivables dropped from $42K to $11K in three months. No new techs, no new revenue, same shop.”

Our contractor cash flow management guide covers how to model the working-capital impact on a 5-10 truck shop.

TCPA and opt-in compliance

This is where most contractors get sloppy and where the penalties bite.

Per ActiveProspect’s 2026 TCPA guide, transactional SMS messages (appointment reminders, invoice notifications, payment receipts, service updates) generally do not require the express written consent that marketing messages require. The customer providing their mobile number when they scheduled the service creates implied consent for messages directly tied to that service.

What stays in the transactional bucket and is generally safe:

  • “Tech on the way, ETA 45 minutes.”
  • “Invoice ready, pay here: [link].”
  • “Invoice unpaid, balance $847, pay here: [link].”
  • “Payment of $847 received. Thank you.”

What crosses into marketing territory and needs express written consent:

  • “Schedule your spring tune-up, save $50.”
  • “Refer a friend, get $25 off your next service.”
  • “Your warranty is expiring, renew for $X.”

The line is whether the message is about a specific job the customer scheduled, or whether it’s promoting future work. The first is transactional, the second is marketing.

Per SignalMash’s 2026 compliance breakdown, opt-out requests now have to be honored across “any reasonable method” (not just STOP keyword replies) and processed within 10 business days. TCPA penalties run up to $1,500 per violation, and the violations stack per message.

Practical implementation: make sure your field service platform documents the date and method of consent capture (most do this on the booking form), honors opt-outs across SMS and email together (a STOP reply should suppress both), and keeps the dunning cadence reasonable (3-5 reminder texts max per invoice, then escalate to phone calls).

Don’t try to roll your own TCPA compliance. Use the field service platform’s flow.

Common text-to-pay mistakes

Five problems show up across every contractor forum.

1. Treating the text as the only reminder. The text gets paid by the customer who reads texts immediately. The customers who wait need an email follow-up too. Set both channels in the platform.

2. Not registering a Custom SMS number. Sending payment links from a generic 5-digit short code hits spam filters and degrades deliverability. Housecall Pro and Jobber both require Custom SMS registration; do it on day 1.

3. Skipping the ACH nudge on large invoices. A $9,000 HVAC install paid by card costs you $260 in fees. Paid by ACH costs you $8. Mention both options in the text or quote two prices.

4. Bundling marketing into the payment thread. Adding a “schedule your next tune-up” line at the bottom of a payment-due text turns a transactional message into a marketing message under TCPA. Keep the threads separate.

5. Not following up on unpaid links. Stripe Payment Links don’t auto-remind. Even Jobber and Housecall Pro need you to configure the reminder cadence. A text-to-pay link sent once and forgotten gets paid 40% of the time. Sent with 3-day, 7-day, 14-day reminders, it gets paid 80%+ of the time.

A roofing owner on r/sweatystartup shared after his first quarter on Housecall Pro pay-by-text: “First month I sent the link once per invoice, got paid on 45%. Set up the reminder cadence (day 3, day 7, day 14), bumped to 82% paid in 14 days. Same software, same customers, just turned on the feature.”

The honest take

Text-to-pay is not magic. It doesn’t make a deadbeat customer pay. It doesn’t fix bad pricing or a customer who’s actively disputing the work.

What it does: removes the friction between the moment the customer is ready to pay and the moment the money lands in your account. The friction was always the constraint. The customer wasn’t refusing to pay on day 14, they were busy and your invoice was at the bottom of the stack. Putting the payment in their pocket changes the default behavior.

The 5-truck shop math: $1.5M annual revenue, average invoice $850, average days-to-payment dropping from 14 to 3. That’s roughly $40K less working capital tied up in receivables on any given day. At a typical 8% cost of capital, that’s $3,200 a year in interest you don’t pay. More importantly, it’s $40K you can spend on a third truck, six months of Google Ads, or a fourth tech.

The card fees stay the same whether the payment comes via mailed check (zero card fees but 14-day float) or text-to-pay card (2.9% but same-day clearing). On a $850 service ticket, the math is $25 in card fees vs 11 days of float on $850 at 8% cost of capital ($2.06). The fees win for the customer experience and the cash flow.

For shops that want the cheapest path: nudge to ACH on every invoice over $3,000. ACH costs $5-8 flat regardless of invoice size, and most homeowners will pick it if you mention it explicitly in the text. Our contractor payment processing breakdown covers the ACH vs card economics in detail.

What to do this week

If you’re already on Jobber, Housecall Pro, or ServiceTitan: turn on pay-by-text today. Register the Custom SMS number if you haven’t. Configure the reminder cadence (3, 7, 14 days). Update your booking forms to capture mobile-number consent.

If you’re invoicing by email and a paper backup: pick a field service platform and migrate. The text-to-pay alone pays for the subscription.

If you’re a 1-2 person shop on Stripe directly: start with Stripe Payment Links pasted into your phone’s text app. Outgrow it in 6 months when you cross 30-40 invoices a month and the manual reminder process eats your evenings.

The contractors who figured this out are not the ones with more revenue. They’re the ones whose customer doesn’t have to think about how to pay.

Frequently Asked Questions

What is text-to-pay for a contractor?

Text-to-pay is an SMS sent to the customer with a link to a branded payment page. The customer taps the link, enters card or ACH details, and the payment lands in your bank account within 1-2 business days. Built-in options in Jobber, Housecall Pro, and ServiceTitan run the link on top of Stripe rails. Stripe Payment Links pasted into a manual SMS work too but skip the reminder workflow.

How fast do customers actually pay when you text them an invoice link?

Most contractors running text-to-pay collect on 60-80% of invoices in under 24 hours. Mailed paper invoices average 14 days, with 20-30% running past 30 days. The biggest win is on residential service tickets under $2,000, where the customer pays from the couch within 10 minutes of getting the text.

Does Jobber Pay-by-Text cost more than Jobber's regular invoicing?

No. Jobber Payments via SMS runs the same 2.9% + $0.30 on cards and 1% on ACH as any other Jobber payment. The text delivery itself is bundled into your Jobber plan. Two-way SMS conversations require the Grow plan ($199-349/mo), but one-way invoice and payment notifications work on every paid plan.

Is texting an invoice link legal under TCPA?

Transactional messages tied to the specific job the customer scheduled are generally allowed without a separate marketing opt-in, as long as the customer voluntarily provided their phone number at booking. Promotional follow-ups (asking for a review, offering a maintenance plan) need express written consent. TCPA penalties run up to $1,500 per violation, so confirm your field service platform documents consent at intake and honors opt-outs within 10 business days.

Should I use Jobber's built-in pay-by-text or Stripe Payment Links directly?

If you already run Jobber, Housecall Pro, or ServiceTitan, use the built-in option. It ties the payment back to the job, sends reminder texts on a cadence, and saves manual reconciliation. Use Stripe Payment Links directly only if you're standalone (no field service platform) or invoicing outside your normal workflow for a one-off. Stripe doesn't send reminder SMS on its own.

What's the typical card vs ACH fee on a text-to-pay invoice?

Cards run 2.59-2.99% + $0.30 across Jobber, Housecall Pro, and ServiceTitan. ACH runs 0.8-1% capped at $5-8. On a $1,000 service ticket the gap is $20-25. On a $9,000 HVAC install the gap is $250-280. Nudge customers to ACH on any invoice over $3,000 by mentioning it in the text or offering a small bank-pay discount.