Skip to content

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 approved rows.
  • 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_9876543210

This 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 — approved or declined.
  • 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:

DayWhat happens
Day 0Renewal 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 3First 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 7Second 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 7Subscription 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:

  1. Hover the row in billing history.
  2. Click the refund icon (looks like a circular arrow).
  3. The modal opens pre-filled with the original amount.
  4. Adjust the amount (partial refunds are allowed) and pick a refund type.
  5. Add a reason — this is logged for audit.
  6. 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:

  1. Go to Billing.
  2. Pick a plan tile (status will be Expired on the current-plan card).
  3. Click Subscribe (label changes when canceled).
  4. You're redirected to the hosted checkout. Enter a card (or use the saved one if the token is still valid).
  5. 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 ​