FieldCamp
Payments

Auto-Pay & Recurring Payments | FieldCamp

Set up auto-deducting payments for invoices and recurring jobs in FieldCamp, with full retry, failure, and Stripe charge tracking.

Under the hood — see how Estimates & Invoices work in the FieldCamp data model: the fields they hold, how they connect to your other records, and how to customize them.

Auto-deducting payments for invoices and recurring jobs let FieldCamp charge a client's default card the moment an invoice is generated, then track every attempt, success, and failure end-to-end. You set it up once on a recurring job and FieldCamp handles billing, retries, error notifications, and a full Stripe charge audit trail on your schedule. See the Payments overview for how auto-pay fits into the broader payment workflow.

AI-powered auto-pay: Open the Command Centre and type "Set up auto-pay for ABC Plumbing", "Show failed auto-pay charges this month", or "Which clients have auto-pay enabled?" to manage the entire lifecycle from one place.


How Auto-Pay Works

When auto-pay is enabled on a recurring job, FieldCamp follows this cycle every billing period:

auto payment workflow

  1. An invoice is generated on your configured schedule.
  2. FieldCamp automatically charges the client's default payment card.
  3. The payment is processed through Stripe, which returns a unique charge ID.
  4. The attempt is recorded on the invoice and recurring job with status, timestamp, charge ID, and (if applicable) error message.
  5. On success, the invoice is marked Paid and the client receives a confirmation email.
  6. On failure, both you and the client are notified immediately and the system schedules a retry.

Every charge attempt — whether it succeeds or fails — appears in the invoice's attempt history with the Stripe charge ID, so you can cross-reference any transaction directly in your Stripe Dashboard.


Two Payment Options for Recurring Jobs

When you configure invoicing on a recurring job, you choose one of two options:

Option 1 -- Automatically Charge (Auto-Pay)

automated payment deduction

The client's default card is charged the moment an invoice is generated. No action needed from you or the client.

Best for:

  • Subscription services (monthly maintenance plans)
  • Predictable recurring work (weekly lawn care at a fixed price)
  • Long-term contracts where clients expect automated billing
  • Reducing accounts receivable and collection effort

Option 2 -- Just Send the Invoice (Manual Collection)

automatically send invoice to customer

FieldCamp generates and emails the invoice, but the client pays manually through the Pay Now link.

Best for:

  • Variable-price jobs where the final amount changes
  • Clients who prefer to control when payments are taken
  • New clients where you want to build trust before enabling auto-pay

How Often Are Clients Charged?

The charge frequency depends on how you configure invoicing for the recurring job. Auto-pay runs every time an invoice is generated.

Visit-Based Billing

Invoice scheduleWhen the client is chargedExample
Per visitAfter each visit is marked completeLawn care completed Monday -- charged Monday
WeeklyOnce per week on your chosen dayEvery Monday for all visits that week
MonthlyOnce per month on your chosen day15th of each month for all visits that month
AnnualOnce per year on your chosen dateJanuary 15th for all visits that year
Custom groupsPer your configured schedule for each groupGroup 1: per visit; Group 2: monthly on the 1st

Only completed visits trigger invoicing and auto-pay. Draft or scheduled visits are not charged until marked complete. See Job & Visit Statuses for the full lifecycle.

Fixed-Price Billing

Billing scheduleWhen the client is chargedExample
WeeklyEvery week on your chosen dayEvery Monday at the same fixed amount
MonthlyEvery month on your chosen day1st of each month at the same amount
AnnualOnce per year on your chosen dateJanuary 1st for the annual service fee
Once when job closedSingle charge when the job is marked completeOne-time payment when the project finishes

Real-World Examples

Weekly lawn care, per-visit billing: Three visits per week (Monday, Wednesday, Friday). Each visit generates an invoice and charges the card immediately. Result: up to 3 charges per week.

Monthly pest control, fixed price: $300 per month, invoiced on the 1st. FieldCamp generates the invoice and charges $300 on the 1st of each month. Result: 1 predictable charge per month.

Custom configuration: First service visit invoiced immediately (per visit). Follow-up visits invoiced monthly on the 15th. Result: 1 immediate charge plus 1 monthly charge.


Setting Up Auto-Pay

Open the recurring job

Navigate to the recurring job you want to configure. For multi-day work, see Multi-Day Jobs.

Configure invoicing

Go to the Invoicing section and click Configure Recurring Invoices. Select how you want to group and invoice visits (per visit, weekly, monthly, annual, or custom).

Enable auto-pay

In the Payment Collection section, select Automatically Deduct Payments instead of "Just Make the Invoice".

Verify the client's default card

Open the client profile, go to Payment Methods, and confirm a card is marked as Default. If no default exists, add one or invite the client to add theirs.

Save

Click Save. Auto-pay begins with the next scheduled invoice and starts logging attempt history.


Payment Attempt Lifecycle & Statuses

Every auto-pay run creates a payment attempt record that you can review on the invoice or from the recurring job's payment history.

StatusWhat it meansWhere you see it
PendingAttempt queued and about to be sent to StripeInvoice header + attempt history
ProcessingStripe is authorizing/capturing the chargeInvoice header
SucceededCharge captured. Invoice automatically marked PaidInvoice + recurring job timeline
FailedStripe declined or errored on the attemptAttempt history with error message
Retry ScheduledA future automatic retry has been queuedAttempt history with next retry date
Retries ExhaustedAll automatic retries failed. Manual follow-up requiredInvoice status = Payment Failed

Click any attempt to expand the full record — Stripe charge ID, attempt number, timestamp, last 4 of the card used, decline code, and the raw error message returned by the bank.


When a Payment Fails: Retry Behavior

Even with auto-pay enabled, payments can fail due to expired cards, insufficient funds, soft declines, or bank-level fraud rules. FieldCamp's retry engine handles transient issues automatically.

payment failure workflow

What Happens on a Failed Attempt

payment failed logic

  1. Stripe returns a decline or error code; FieldCamp captures the error message verbatim.
  2. The attempt is logged with status Failed, attempt number, and Stripe charge ID (if one was created).
  3. Both you and the client receive an immediate email notification with the failure reason.
  4. The system queues a retry after a short delay (typically a few days) — the next retry date is visible in attempt history.
  5. If the retry succeeds, the invoice flips to Paid. If all retries fail, the invoice is marked Payment Failed and removed from the auto-pay queue.

Common Decline Reasons & Error Messages

Error message you may seeWhat it usually meansRecommended action
card_declinedGeneric bank declineAsk client to update the card or use a different one
insufficient_fundsNot enough balanceReschedule the retry or request manual payment
expired_cardCard past expiry dateHave client add a new default card
incorrect_cvc / invalid_cvcCVC mismatch on fileClient must re-enter card details
do_not_honorBank-level block, often fraud-relatedClient contacts their bank, then retry
processing_errorTemporary Stripe/network issueFieldCamp auto-retries; no action needed
authentication_required3DS challenge neededClient must complete authentication via secure link

What the Client Receives

A failure email with:

  • A clear notice that the payment was declined
  • The reason (expired card, insufficient funds, etc.) when available from Stripe
  • Instructions to update their payment method via the Customer Portal
  • The invoice number, amount, and a secure Pay Now link

What You Receive

An ops alert with:

  • Client name and invoice number
  • The amount that failed to process and the attempt number (1st, 2nd, final)
  • The failure reason and Stripe decline code
  • A deep link to the invoice's attempt history and Stripe charge ID

Viewing Charge IDs and Attempt History

Every recurring job and every invoice keeps a running log of auto-pay activity so you can audit a charge end-to-end without leaving FieldCamp.

From the invoice

Open any auto-paid invoice and scroll to Payment Activity. You will see:

  • Each attempt with timestamp, attempt number, and status
  • The Stripe charge ID (ch_... or pi_...) for any succeeded or failed attempt
  • The raw error message for failed attempts
  • The card brand and last 4 digits used

From the recurring job

Open the recurring job and click Payment History to view a rolling list of every auto-pay attempt across every generated invoice — useful for monthly reconciliation or troubleshooting a client whose card has been failing repeatedly.

From the Command Centre

Use the Command Centre to pull reports across all auto-paid jobs:

  • "Show all failed auto-pay charges this week"
  • "List clients with retries exhausted in the last 30 days"
  • "What's the success rate of auto-pay on the Acme HVAC contract?"

Stripe charge IDs are read-only references. To issue refunds, disputes, or chargeback responses, use the link FieldCamp surfaces alongside each charge ID to jump directly into your Stripe Dashboard.


Recovery Options When Retries Are Exhausted

If automatic retries run out and the invoice is marked Payment Failed, choose how to recover:

OptionWhat to do
Update the cardAsk the client to add a new card or update their default card, then trigger a manual re-charge from the invoice
Record a manual paymentAccept payment by cash, check, or bank transfer and record it on the invoice
Pause auto-payTemporarily disable auto-pay while payment issues are resolved
Arrange a payment planWork with the client on alternative arrangements; you can also collect a partial deposit
Escalate via workflowUse Workflows to auto-create a task or email when an invoice hits Retries Exhausted. See Workflow Examples for ready-made automations.

Switching Between Auto-Pay and Manual Invoicing

Turn On Auto-Pay

  1. Open the recurring job.
  2. Click Configure Recurring Invoices.
  3. Select Automatically Deduct Payments.
  4. Confirm the client has a default card on file.
  5. Click Save. Auto-pay applies to the next scheduled invoice.

Turn Off Auto-Pay

  1. Open the recurring job.
  2. Click Configure Recurring Invoices.
  3. Select Just Make the Invoice.
  4. Click Save. Future invoices are generated but not automatically charged.

Changes apply to future invoices only. Previously processed payments and any pending retries on existing invoices are not affected.



Troubleshooting

Auto-pay didn't run on the expected date. Check that the recurring job's invoice was actually generated (only completed visits trigger visit-based invoices). Then confirm the client still has a default payment card. If both are fine, open Payment Activity on the invoice to see whether an attempt was created and what status it returned.

The invoice shows "Payment Failed" but Stripe shows a successful charge. This usually means a retry succeeded after the initial failure but the webhook was delayed. Refresh the invoice and check the attempt history — the most recent attempt's Stripe charge ID should match the successful charge in your Stripe Dashboard.

A client's card was replaced — will auto-pay use the new one? Yes. Auto-pay always uses whichever card is currently marked Default in the client profile. The next scheduled attempt will charge the new default automatically.

Retries seem to happen too quickly / too slowly. Retry cadence is set globally to balance recovery rate against client experience. If you need different behavior for a specific client (e.g., immediate retry after a card update), trigger a manual re-charge from the invoice rather than waiting for the next scheduled retry.

Can I disable retries entirely for one job? Not at the job level today, but turning off auto-pay converts the invoice flow to manual collection, which skips retries altogether.


Frequently Asked Questions

How often will my clients be charged? It depends on your invoice schedule. Per-visit billing charges after each completed visit. Weekly, monthly, or annual billing charges once per that period. Check your recurring job setup for specifics.

Where do I find the Stripe charge ID for a specific auto-pay attempt? Open the invoice, scroll to Payment Activity, and expand the attempt. The charge ID (ch_... or pi_...) is shown alongside status, timestamp, and any error message, with a direct link into your Stripe Dashboard.

Are failed payments retried automatically? Yes. FieldCamp queues automatic retries after a short delay. The retry date is visible in the attempt history. If all retries fail, the invoice moves to Payment Failed and exits the auto-pay queue.

Will my client see the raw Stripe error message? Clients see a friendly explanation (e.g., "Your card was declined"), while your ops alert includes the technical Stripe decline code and full error message so your team can troubleshoot precisely.

Can I set up auto-pay before the client has a card on file? You can configure the setting, but auto-pay attempts will be skipped until a default card is added to the client profile.

What if a client disputes a charge? Use the Stripe charge ID surfaced on the invoice to locate the charge in your Stripe Dashboard and respond through Stripe's dispute flow. Document all payment communications and keep a record of the client's consent to recurring charges.


On this page