Skip to main content

Foundation Admin — onboarding

You've been granted the Foundation Admin role and the Foundation module is enabled on your org. This walkthrough takes you from a blank slate to a working public donation page accepting a test transaction.

What you're building

A donor on your public donation page should be able to:

  1. Pick a campaign
  2. Enter a card (or Apple Pay / Google Pay)
  3. Get an emailed receipt with your foundation's name, EIN, and tax-deductibility statement

Everything below works toward that.

The first 30–60 minutes

1. Open Foundation Settings

In the sidebar, click Foundation → Settings. You'll land on a page with three cards: General Configuration, Payment Processor, and Receipt Template.

Foundation Settings landing with the General, Payment Processor, and Receipt Template cards. Foundation Settings landing with the General, Payment Processor, and Receipt Template cards.

2. Fill in General Configuration

This is what appears on receipts and public donation pages. Fill in:

  • Foundation Name — the display name (often distinct from the org, e.g., "Alpha Educational Foundation")
  • Legal Name — the legal entity that issues receipts
  • EIN — your 501(c)(3) tax ID (format: XX-XXXXXXX)
  • Mailing Address — appears on receipts
  • Contact Email — donor-facing reply-to
  • Logo URL — shown on receipts and public pages
  • Tax Deductible — leave on for a 501(c)(3); turn off if you're not

Save.

3. Configure your Stripe processor

Still on the Settings page, scroll to the Payment Processor card. You'll paste in:

  • Secret key — your Stripe secret key (starts with sk_…)
  • Webhook signing secret — your Stripe webhook secret (starts with whsec_…)
  • Publishable key — your Stripe publishable key (starts with pk_…)

You'll also see a Fee pass-through toggle. Decide now:

  • Off — your foundation absorbs Stripe's fee. The donor sees the amount they entered; you get that amount minus ~3%.
  • On — donors can opt to cover the fee. The public donation page shows a "cover processing fees" checkbox; if checked, the charge is grossed up so you receive the full donor-intended amount.

Save. The processor is stored encrypted at rest and the key is never echoed back to you in plaintext after save.

Payment Processor card with Stripe key fields Payment Processor card with Stripe key fields

4. Point your Stripe webhook at GreekManage

In your Stripe dashboard, add a webhook endpoint that points at your GreekManage instance. The exact URL depends on your deployment; ask your platform admin if you're not sure — it's a per-foundation endpoint, not a global one. Make sure the webhook signing secret you pasted into the Payment Processor card matches the secret Stripe shows you for that endpoint, and that the endpoint is subscribed to payment_intent.succeeded, payment_intent.payment_failed, and customer.subscription.* events.

The third card on Settings is Receipt Template. The defaults are a working, IRS-compliant receipt, but you'll usually want to add at minimum:

  • An organization tagline ("Supporting [chapter] members since 1968")
  • A thank-you message in your voice
  • A custom note with anything specific to your foundation

You can hit Reset to defaults at any time. Save.

6. Create your first fund

A fund is a designation donations are pooled into — "Scholarship Fund," "General Fund," "Building Campaign." Most orgs start with a single General Fund.

Open Foundation → Funds (or follow the link from Settings) → New fund:

  • Name — e.g., "General Fund"
  • Slug — short, URL-safe; used internally
  • Description — what donors are giving toward
  • Is default — check this so it's the fallback designation for any donation that doesn't specify a fund
  • Goal (optional) — annual fundraising target

Save.

7. Create your first campaign

A campaign is a fundraising effort with a public page, a goal, suggested amounts, and an end date. Open Foundation → CampaignsNew campaign:

  • Name — e.g., "Annual Fund 2026"
  • Fund — pick the fund you just created
  • Slug — used in the public URL (/donate/[foundation-id]/[campaign-slug])
  • Description — markdown is supported; this is the body of the public donation page
  • Goal — the dollar target
  • Start date / End date — the public window. Campaigns auto-close on the end date.
  • Hero image — banner shown on the public page
  • Suggested amounts — e.g., 25, 50, 100, 500
  • Visibility — start with Internal while you test, then flip to Public once you're ready to share the URL

Leave Status as Draft for now.

8. Run a test donation

Before you publish, donate to yourself.

  1. On the campaign you just created, set Status to Active and Visibility to Internal — internal visibility means only signed-in admins/staff with the link can see it.
  2. Copy the public donation URL from the campaign detail page.
  3. Open it in a new private/incognito window so you're not signed in.
  4. Donate $1 with one of Stripe's test card numbers (4242 4242 4242 4242, any future expiry, any CVC) — only if your processor is in Stripe test mode. If your keys are live, donate a small real amount you'll refund later.
  5. Confirm:
    • The donation appears under Foundation → Donations within a few seconds (the webhook updates the status)
    • You received a receipt email at the donor email you used
    • The receipt shows your foundation name, EIN, and the tax-deductibility statement you configured
    • The campaign's "raised" total ticked up

If any of those don't happen, the webhook is the most common culprit — double-check the URL and signing secret in your Stripe dashboard.

9. Refund the test donation

In Foundation → Donations, open your test donation and refund it. The refund flows back through Stripe and updates the donation status to Refunded.

10. Flip the campaign public

Once the test passes, edit the campaign and set Visibility to Public. The donation URL is now live — share it.

What you can defer

Things you don't have to set up on day one:

  • Bulletins on campaigns — short updates that appear inline on the public page ("We just hit 50%!"). Add these once a campaign has real momentum.
  • Recurring pledges — the public page supports them automatically once your processor is configured, but you don't need to do anything to enable them.
  • Annual tax receipts — automated; a Celery task generates and emails annual statements every January 15. Customize the template only if the default doesn't fit your wording.
  • Donor tags and notes — useful for major-donor segmentation, but not day-one work.
  • Reports — start producing useful data only after a few weeks of donations.

Foundation Editors

If you also need to grant edit access to staff or volunteers who shouldn't touch the payment processor, give them the Foundation Editor role from Org → Settings → Foundation Admins. Editors can author funds, campaigns, donors, and bulletins, but cannot change processor credentials or assign roles. There's no separate onboarding page for editors — they can follow steps 6, 7, 9, and the deferred items above; everything else will be locked out for them.

What's next

Last verified against v0.62.1 (2026-05-10).