Documentation Index
Fetch the complete documentation index at: https://help.1nspect.app/llms.txt
Use this file to discover all available pages before exploring further.
Payments Settings
The Payments page configures how your business accepts money from clients. It has two independent sections:
- Stripe Connect — enable credit-card and ACH payment via the platform’s Stripe integration
- Manual Payment Options — record your Venmo / Zelle / Cash App handles so they appear in payment-request email templates
Page naming note: the page is internally named “PaymentsContracts” but its job is payment configuration only. The contracts editor lives separately at the Contracts Cockpit. The “and Contracts” in the page name reflects an older grouping; the article calls it “Payments Settings” for clarity.
This article documents both sections. For the reconciliation report that ties Stripe payouts back to specific orders, see Reports & Publishing → Monthly Reconciliation.
When you use it
- Once during onboarding — connect Stripe and add your manual payment handles
- When changing payment methods — if you switch Stripe accounts or update your Venmo handle
- When troubleshooting — if a payment didn’t reach your bank and you need to verify the connection
Section 1 — Stripe Connect
[SCREENSHOT: payments-stripe-section.png — desktop, the Stripe Connect section showing either a “Connect Stripe Account” button (when disconnected) or a “Connected” status card with the account ID and a Disconnect option (when connected).]
What Stripe Connect enables
Connecting Stripe lets you accept card and ACH payments from clients directly inside the 1nspecT platform:
- Clients receive a Pay Now link in their payment-request email and on the client portal
- Card / ACH payment is processed by Stripe; the platform records the payment automatically
- Funds settle into your Stripe account (not the platform’s) — 1nspecT uses Stripe Connect for direct deposit
- Webhooks notify 1nspecT when payment succeeds; the order’s
paymentStatus updates automatically and fires payment.received in the workflow engine
Without Stripe Connect, clients have to pay via your manual handles (Venmo, etc.) and you record payments manually in the Inspection Details page.
Status states
| State | What you see | What it means |
|---|
| Not connected | A blue Connect Stripe Account button | No Stripe account is linked yet |
| Connecting | Spinner with “Redirecting to Stripe…” | The OAuth flow is in progress |
| Connected | Green checkmark, account display name, account ID, charges-enabled and details-submitted indicators | Stripe is fully active |
| Partially connected | Connected but with warning indicators | Stripe requires more information — click Continue Setup to return to Stripe’s dashboard |
Connecting Stripe
- Click Connect Stripe Account
- The app calls
POST /api/company/stripe/connect to start the OAuth flow
- You are redirected to Stripe’s connection page
- Sign in (or create) your Stripe account
- Authorize 1nspecT to operate on your behalf
- Stripe redirects you back to the Payments page with
?stripe=connected in the URL
- The page auto-cleans the URL and reloads the status
Stripe’s KYC requirements apply — you’ll need to provide your business information, banking details for payouts, and identity verification.
”Continue Setup” state
If Stripe needs more info from you (typical first-time setup), the connection state shows as partially connected. Click Continue Setup to return to Stripe’s onboarding. Charges remain disabled until Stripe completes onboarding.
Disconnecting Stripe
The Disconnect button surfaces a confirmation:
Disconnect Stripe?
This will remove the Stripe account link from your profile. The Stripe account itself will not be deleted.
After disconnecting:
- New orders no longer offer Stripe payment
- Existing payment links continue to work (the underlying Stripe account is unchanged)
- Webhook events from your Stripe account no longer reach 1nspecT — manual payment recording is required for future payments through that account
- Existing payment history remains visible — disconnect does not erase the audit trail
Reconnect at any time; the integration picks back up where it left off.
Section 2 — Manual Payment Options
For clients who prefer (or your business requires) non-Stripe payment, configure your Venmo / Zelle / Cash App handles here. These appear in email templates as variable tokens:
$VenmoHandle
$ZelleContact
$CashAppHandle
Fields
| Field | Format | What appears in emails |
|---|
| Venmo | @username | Your Venmo handle, prefixed with @ |
| Zelle | Email address or phone number registered with Zelle | The hint reads: “Email address or phone number registered with Zelle” |
| Cash App | $username | Your Cash App handle, prefixed with $ |
Any combination is allowed — leave a field blank if you don’t accept that method. Blank values mean the corresponding $VariableHandle token resolves to an empty string in emails.
Saving
Click Save below the manual handles section. Saves are immediate via POST /api/company/payment-handles. A green confirmation flashes for 2.5 seconds:
Saved
If the save fails: “Failed to save payment handles.” Retry; if persistent, check your network and re-authenticate.
Where these settings show up
Email templates
Payment-request emails typically include all three manual handles plus the Stripe payment link:
Pay your inspection fee easily:
Stripe (card/ACH): $StripePaymentLink
Or use a manual method:
• Venmo: $VenmoHandle
• Zelle: $ZelleContact
• Cash App: $CashAppHandle
Set these tokens up in your payment-request template in Comms Cockpit. Blank handles are omitted from the rendered email — clients only see the methods you’ve actually configured.
Client portal
The signed-contract client portal page can also display payment options. Stripe payment buttons render only if Stripe is connected; manual handles render only if their corresponding field is filled.
Mobile Field Quote
Mobile Field Quote does NOT show payment options to the client at quote time — the SMS only contains the quote URL. Payment is invoked later when the order is created and the payment-request email goes out.
Reconciliation — matching Stripe deposits to orders
When clients pay through Stripe Connect:
- Stripe charges the card and emits a
charge.succeeded webhook
- 1nspecT records the charge:
stripeChargeId, stripeBalanceTransactionId, stripeFeeCents, stripeNetCents on the order
- Stripe batches charges into a daily payout (
po_xxx)
- When the payout settles to your bank, Stripe emits
payout.paid
- 1nspecT updates each order in the payout with
stripePayoutId and paymentReceivedAt
The Monthly Reconciliation report uses this data to match your bank deposits to specific orders — gross billing minus Stripe fee equals the net amount deposited. See Reports & Publishing → Monthly Reconciliation for the report layout.
Existing orders from before Stripe-fee persistence was added show stripeFeeCents: 0. A one-time backfill from the Stripe API can populate historical fees — contact support if you need this for tax/audit purposes.
Errors and recovery
| Alert | Cause | Fix |
|---|
| Failed to load payment settings | Network or auth | Refresh; if persistent, re-authenticate |
| Failed to initiate Stripe Connect. Please try again. | Stripe API returned an error | Retry; if persistent, check Stripe status page |
| Failed to disconnect Stripe | API error | Retry; the underlying Stripe account is unchanged regardless |
| Failed to save payment handles | Network or auth | Retry; the form values are preserved client-side |
What this page does NOT do
- It does not show payment history. That’s Reports & Publishing for analytics, Inspection Details for per-order payment records.
- It does not configure how payment-request emails look. That’s Comms Cockpit.
- It does not edit contracts. Use Contracts Cockpit.
- It does not handle refunds. Refunds are issued in your Stripe dashboard; the platform records the refund event via webhook.
- It does not handle subscriptions for the 1nspecT platform itself — that’s a separate Stripe Customer on the platform’s side, not your Connect account. See Settings → Subscription & Tokens.
Related articles