DetailOAR Field Manual · Payments and invoicing

Connect Payments and Send Your First Invoice

Pick demo mode, Stripe Connect, direct Stripe keys, or external payment recording — then create, send, collect, and reconcile your first invoice.

Intermediate12 min readAction: 35 minUpdated July 16, 2026
Start guide
Save or use this guide
Download checklist

Payments integration panel showing clearly labeled demo mode and the production Stripe connection controlsView full size
Contents
01

Start

Know the outcome.

02

Steps

Do the work in order.

  1. Step 1

    Connect Stripe

    1. Open Settings, Integrations, then Payments.

    2. Choose Connect with Stripe. Work through the provider-hosted identity, bank, and business steps — and never paste credentials into notes or support chat.

    3. Head back to Settings and choose Refresh status. Charges and payouts should show enabled before any live payment links go out.

    4. If you’re using direct keys, save only the supported restricted/test or live values in the dedicated fields, and confirm the interface redacts secrets after save.

    5. Set the documented webhook URL and signing secret in the provider dashboard. Never use an endpoint secret as an API key.

  2. Step 2

    Create the first invoice

    1. Open Invoices and choose New invoice.

      Seeded invoice showing line items, deposit, tax, payment history, tip, and outstanding balanceView full size
    2. Pick the customer and vehicle. Add service presets or Custom line items with quantity, amount, and Taxable state.

    3. Apply any reviewed discount and tax setting, then read through subtotal, discount, tax, total, recorded payments, and balance.

    4. Save the draft. Reopen it and check the customer, vehicle, due date, and line descriptions.

    5. Choose Send only when the invoice is truly ready. In demo mode, check the console/database outbox; in live mode, confirm delivery through the provider and message log.

  3. Step 3

    Collect or record payment

    1. Open the secure payment link the way a customer would. Check business name, invoice number, amount, and remaining balance before entering provider test data.

    2. Complete the test payment. Back on the invoice, confirm one financial event exists — not two — and the status moves to Partial or Paid.

    3. For cash or an outside terminal, choose Record payment and enter the truthful method, amount, date, and reference.

    4. If a payment fails, don’t mark it paid by hand just to clear the screen. Fix the provider state, or record the external method that was actually used.

03

Reference

Use the detail when you need it.

Choose a payment mode
  • Demo mode: safe local/test behavior — never present it as a live processor.
  • Connect with Stripe: the preferred hosted onboarding path when platform Connect is configured.
  • Direct Stripe keys: a workspace-owned integration for deployments that intentionally support it.
  • External payment: record cash, check, transfer, or an outside terminal honestly, without pretending DetailOAR processed the funds.
Refunds and corrections

Use the supported refund/adjustment state and keep the original financial event. Never delete payment history to make totals look tidier. Provider refunds and the internal ledger have to reconcile through signed, idempotent events or an explicitly audited external adjustment.

What good looks like
  • Processor status reads configured and live-ready at a glance.
  • Secrets never come back to the browser.
  • Customer document totals match your hand calculation.
  • One payment produces one ledger event.
  • Partial, paid, failed, void, and refund states stay easy to tell apart.
Troubleshooting
  • Checkout unavailable: refresh the Connect status and check charges are enabled.
  • Webhook signature failed: use the exact endpoint signing secret and the raw request body — never bypass verification.
  • Invoice still unpaid: read the provider event log, application audit log, external reference, and amount/currency before you retry.
  • Overpayment rejected: collect only the remaining balance, or issue a revised invoice under the business policy.
04

Finish

Check the result and close the loop.

Final checklist
  • Correct payment mode selected.
  • Live readiness verified before sending.
  • Webhook signed and tested.
  • Invoice totals reconciled.
  • Demo or provider payment created one event.
  • Receipt and outstanding balance verified.
05

More

Continue only where it helps.

Frequently asked questions
Can I use DetailOAR without Stripe?

Yes. Record truthful external payments and stay in demo mode until a provider is configured.

Where should API keys be stored?

Only in the supported encrypted integration fields or your production secret manager — not source code, notes, or browser storage.

Why is the webhook important?

It lets the server verify provider-confirmed payment state and apply each event exactly once.

Sources and review

Reviewed by DetailOAR Product Team on July 15, 2026. Verify current labels, interfaces, prices, and local requirements before acting.

  1. DetailOAR seeded application interface
  2. Stripe documentation: Connect onboarding
  3. Stripe documentation: webhook signatures

Product screenshot