Invoices & failed payments β
The Billing history card on the billing page is the audit log for everything that has ever been charged, refunded, or attempted against your subscription.

Reading the history table β
Each row is one payment attempt. Columns:
- Date β when the attempt ran. For successful charges this is the charge timestamp; for retries it's the retry timestamp.
- Plan β which plan ID was charged (matches the plan ID at the time, not the current one).
- Invoice β auto-generated invoice number, only present for
approvedrows. - Amount β in USD.
- Status β Approved (green check) or Declined (red alert).
Hover any row and two action icons appear on the right:
- Download (only on approved rows) β saves a plain-text invoice file.
- Refund (admin only, only on approved rows) β opens the refund modal.
On mobile, the table collapses into cards with the same actions surfaced as buttons.
Downloading an invoice β
Click the download icon. A INV-xxxx.txt file downloads with:
INVOICE: INV-2026-001234
Date: 2026-06-15
Plan: growth
Amount: $79.00
Status: approved
Auth code: ABCD1234
Ref: rrn_9876543210This is intentionally a simple text file rather than a PDF β machine-parseable for accounting imports and unambiguous for record-keeping. GCM does not currently produce VAT/GST/sales-tax-formatted invoices. If your jurisdiction requires those, contact us β we can issue manual tax invoices on a per-charge basis.
What gets stored β
The payment_history table holds every row you see. Fields recorded:
plan_id,amount,currencyβ what was charged.statusβapprovedordeclined.gateway_auth_codeβ the authorization code from the bank (for support escalations).gateway_referenceβ the gateway's retrieval reference number (RRN) for reconciliation.gateway_response_codeβ ISO response code, useful when contacting your bank about a decline.card_last4,payment_methodβ what was charged.created_atβ timestamp.
We retain payment history indefinitely. There's no purge job for subscription billing rows.
When a charge fails (dunning) β
If a monthly renewal charge declines, GCM enters a dunning sequence β a structured retry-and-notify loop. The schedule is:
| Day | What happens |
|---|---|
| Day 0 | Renewal charge runs, declines. Subscription status flips to past_due. billing_retry_count set to 1. billing_retry_at set to today + 3 days. Decline email sent. |
| Day 3 | First retry runs. If it succeeds, status returns to active and the cycle resets. If it declines, billing_retry_count advances to 2, billing_retry_at set to today + 4 days (so day 7 total). Decline email sent. |
| Day 7 | Second retry runs. If it succeeds, status returns to active. If it declines, billing_retry_count advances to 3 and the subscription is canceled. Cancellation email sent. |
| After day 7 | Subscription status is canceled or expired. You can re-subscribe at any time from the billing page β no penalty, no data loss. |
During the past-due window your access to the platform is not blocked β you can still log in, view members, run reports, take attendance. Only the Add member button and a few other write-paths show a "subscription past due" tooltip. The platform doesn't go dark on you while we wait for the card issue to clear.
TIP
The fastest way out of past-due is to update the card on file (if the card was the problem) and then click Pay now on the current-plan card. This charges immediately rather than waiting for the next scheduled retry.
Decline reasons β
The decline email and the row in billing history both surface the gateway's reason code. The common ones:
- Insufficient funds (
51) β bank declined for balance. Update the card or use a different one. - Expired card (
54) β update the card. - Do not honor (
05) β bank-side block, often anti-fraud. Call your card issuer. - Invalid CVV (
82) β re-enter the card with the correct CVV. - Pickup card (
04) β bank wants you to call them; could be lost/stolen flagged. - Restricted card (
62) β issuer-side restriction; call the bank.
If you can't tell what's going on, forward the decline email to support@geniuschurchmanager.com and we'll help interpret the code.
Refunds β
Admins can refund any approved row. The refund modal supports two modes:
Gateway refund β sends the refund through the original gateway (PowerTranz or Genius Checkout). Money goes back to the same card. Takes 3-10 business days depending on the issuing bank. This is the default for any refund issued within 6 months of the original charge.
Manual refund β for older charges or when the original gateway isn't accessible, you can mark a refund as manual and record what payment method you used (check, bank transfer, store credit). This creates a refund record for audit but doesn't actually move money β you're recording an off-platform refund.
To refund:
- Hover the row in billing history.
- Click the refund icon (looks like a circular arrow).
- The modal opens pre-filled with the original amount.
- Adjust the amount (partial refunds are allowed) and pick a refund type.
- Add a reason β this is logged for audit.
- Confirm. A toast confirms the refund was processed.
A new row appears in billing history representing the refund (negative amount). The original row is left intact for traceability.
WARNING
Subscription refunds are different from giving (donation) refunds. A subscription refund moves money back to your church from GCM; a donation refund moves money back to a donor from your church. The flows aren't connected β refunding here doesn't touch the giving module.
Bouncing back from cancellation β
If you let the dunning sequence run to completion and your subscription is now canceled, you can re-subscribe anytime. The flow:
- Go to Billing.
- Pick a plan tile (status will be Expired on the current-plan card).
- Click Subscribe (label changes when canceled).
- You're redirected to the hosted checkout. Enter a card (or use the saved one if the token is still valid).
- After payment succeeds, status flips to
active, billing cycle resets to today + 1 month, and all features are restored.
Your data was never touched during the past-due β canceled transition. Members, attendance, giving, reports β everything is exactly where you left it.
Common questions β
Can I disable dunning and have charges fail silently? No. Dunning is mandatory β it's how we make sure churches don't lose service unintentionally. If you want auto-renew off, cancel at period end instead.
Why didn't I get a decline email? Check that your admin email is correct and that GCM emails aren't being marked as spam. Decline emails come from billing@geniuschurchmanager.com β whitelist that domain.
Next steps β
- Cancellation & offboarding β turn off auto-renew on purpose.
- Adding a payment method β update your card to rescue a past-due subscription.
- Upgrading your plan β once you're current again, switch tiers.
