The portal uses your existing BriteCore payment processor — the Policyholder Portal doesn't replace it, it plugs into it. That means a payment that succeeds in the portal is in BriteCore the same second, visible to your team. This article walks through the most common payment-related cases on a CSR's phone.
How payments work in the portal
| Action | Where in the portal | What happens behind the scenes |
|---|---|---|
| Pay one-time | Dashboard > Pay Now (billing card) | Charge runs immediately through your processor; receipt emailed within seconds |
| Set up autopay | Pay Now > toggle "Autopay" before submitting | Saves payment method as default; future bills auto-draft N days before due (5 by default) |
| Update payment method | Profile > Payment methods > Add/Remove | Updates the saved method; existing autopay shifts to the new method |
| Cancel autopay | Profile > Payment methods > Autopay > Off | Future bills will require manual payment |
| Download receipt | Dashboard > Recent payments > tap a row | Returns a PDF receipt |
All of these write to BriteCore in real time. There's no batch reconciliation; the policy ledger reflects the change immediately.
Common case 1 — "I paid but my balance still shows due"
What's likely happening: the page is cached, or the payment failed silently and the insured didn't catch the error.
Step-by-step:
- In BriteCore, look up the policy and check the most recent payment record. If it shows the payment as Posted, the portal just hasn't refreshed — ask the insured to pull-to-refresh (mobile) or reload (web).
- If BriteCore shows No recent payment, check the Policyholder Portal admin console: Communications > Payment Attempts. Look for an attempt matching the time the insured says they paid.
- If the attempt status is Failed with a reason like "Insufficient funds" or "Card declined", relay the reason; the insured needs to re-attempt with a different method.
- If the attempt status is Pending for ACH, that's normal — ACH takes 3–5 business days to clear.
- If no attempt is logged at all, the click never reached the processor — likely a network drop. Ask them to retry.
Common case 2 — "My autopay didn't run"
What's likely happening: the saved payment method expired, the bill date was after autopay was disabled, or the bill amount was below the autopay threshold (rare).
Step-by-step:
- In BriteCore, check the policy ledger — when was the bill issued, when is it due?
- In the admin console, open the insured's Payment methods.
- Is there a default method saved? If not, autopay is effectively off.
- Has the card expired? Card expirations don't auto-roll; the insured updates the card.
- Is the autopay toggle On?
- Check Settings > Payments > Autopay draft date — by default autopay charges 5 days before due. If the insured turned autopay on after that window, the current bill won't auto-draft; it'll require manual payment, and autopay starts on the next cycle.
Helpful framing for the call: "Autopay covers the next bill that's at least N days out — your most recent bill came too close to the due date for autopay to grab it. I can take payment with you right now, and your next bill will autopay as expected."
Common case 3 — "I want a refund on a payment I made today"
The portal does not expose a refund flow to insureds — refunds are a CSR action.
- Verify the payment in BriteCore.
- Use BriteCore's standard refund workflow per your carrier's policy (this varies by processor).
- Refunds posted in BriteCore appear in the insured's Recent payments in the portal as a negative line item, and an updated PDF receipt is generated automatically.
Common case 4 — "There's a fee on my payment that I didn't expect"
Fee handling is configured per product line in Settings > Payments > Fee handling:
- Pass-through — the insured sees the processor fee added to their charge.
- Absorb — the carrier eats the fee; insured sees only the policy amount.
- Split — carrier covers a percentage, insured pays the rest.
If the insured is surprised by a fee, walk them through how it's calculated and (if relevant) which payment methods avoid the fee — typically ACH is fee-free even when card payments carry a fee.
Common case 5 — "I want to change which bank account autopay draws from"
- Insured opens Profile > Payment methods.
- Taps Add payment method → enters the new account.
- Sets it as Default. Autopay automatically uses the default method.
- Optionally removes the old method.
If the insured can't access the portal, you can update the default method on their behalf:
- In the admin console, open the insured record.
- Open Payment methods.
- Add a new method (you'll need them to read account/routing or card numbers — never email or store this in your CRM).
- Set as default.
- Remove old method.
Common case 6 — "How do I make a partial payment?"
If your carrier allows partial payments (toggled in Settings > Features > Partial payments):
- Insured taps Pay Now.
- Edits the amount field — by default it's pre-filled with the full balance.
- Submits.
If partial payments are disabled for the product line, the amount field is locked at the full balance. The insured cannot pay less than the full amount through the portal.
Common case 7 — "I want a paper receipt for my records"
Every payment generates a PDF receipt automatically:
- Emailed to the insured within seconds of the payment.
- Available anytime: Dashboard > Recent payments > tap a row > Download receipt.
The receipt format is configured in Settings > Payments > Receipt format:
- Email + PDF attachment (default)
- Email only (for low-bandwidth audiences)
- Disabled (rare)
Payment method limits and rules
| Method | Notes |
|---|---|
| ACH | No fee in most carrier configs; takes 3–5 business days to clear; can fail post-acceptance (NSF) |
| Visa / Mastercard / Amex / Discover | Charges immediately; processor fees may apply per Settings |
| Apple Pay / Google Pay | Available on the mobile app; treated as a card transaction by the processor |
| Cash / check / money order | Not supported in the portal — accept through your normal channel |
When to escalate to BriteCore Support
- A payment shows "Posted" in the portal but never reached the processor settlement report (suggests a sync issue).
- The same insured keeps experiencing the same error code — could indicate a processor account misconfiguration.
- A scheduled autopay run failed for a large batch of insureds at once (definitely an issue, not a user problem).
Open a case with Severity: High for any of those.
See also
- Settings & Feature Toggles — payments section
- Sign-In Issues & Resetting Codes
- CSR & Agent FAQ