Falaah Falaah AI

Donation Intents

Two flows bridging donor intention and ledger reality: pre-gift pledges that track to fulfillment and post-gift claims that attach to unmatched payments.

A Donation Intent is a structured promise of a gift: made either before the money arrives (a pledge) or after the money lands but before it’s matched to a donor (a claim). Both flows feed the reconciliation queue and both close automatically when a matching payment is confirmed.

Why intents exist

Traditional donation tracking has two blind spots:

  • Pledges: a donor commits to give $1,200 over the year, or $5,000 by December, and no system tracks whether that pledge is being fulfilled in time.
  • Unmatched payments: a $500 Zelle deposit lands with a memo like “for the youth program” but no donor name that matches your CRM. The money is in the bank; the donor attribution is not.

Donation Intents solve both with the same data model. A pledge is an intent created before the gift. A claim is an intent created after the gift (attached to an unmatched payment). Either way, the reconciliation queue closes the intent when a matching payment appears.

Pre-gift pledges

Creating a pledge

Staff creates a pledge from the donor profile:

  1. Open the donor’s Giving tab
  2. Click New Pledge
  3. Fill in:
    • Amount: total pledge value
    • Fund: which restricted fund (or operations) this pledge supports
    • Cadence: one-time, weekly, monthly, quarterly, annual
    • Start date and end date
    • Memo code (optional): a short token donors can include on their Zelle or check memo (“RAM2026”) to help auto-match payments
  4. Save

The pledge appears on the donor profile with a fulfillment bar tracking payments received vs. amount pledged.

Donor-created pledges

Donors can create their own pledges via the portal:

  1. From the Donor Portal → My Giving → Make a pledge
  2. Enter amount, cadence, and fund
  3. Optional: commit to a payment method (card on file, ACH), the pledge becomes a recurring gift
  4. Alternatively: commit to a manual schedule and the donor pays via check / Zelle / ACH each cycle

How pledges close

When a payment enters the reconciliation queue with a matching pledge (donor match + fund match + amount within the pledge cadence), Muin auto-attributes the payment to the pledge. The fulfillment bar advances. When the pledge is fully funded, it closes automatically and a completion note posts to the donor timeline.

Pledges by Zelle or check from a giving page

Use this when donors want to give by Zelle or by mailed check and you want to know the gift is coming before it reaches the bank.

  1. Go to Sidebar → Nonprofit → Fundraising → Giving Pages and open the page.
  2. On the Editor tab, under Offline Pledge Rails, turn on Accept Zelle Pledges and enter your Zelle handle (email or phone), or turn on Accept Check Pledges and enter Make checks payable to and the mailing address. Save.
  3. The public page now has two tabs: Give Online and Pledge via Zelle/Check.
  4. The donor fills in Full Name, Email Address, Pledge Amount ($), Expected Send Date, and optionally the Zelle email or phone they will send from, or the check number. The form says plainly that it does not charge or move any money.
  5. After Submit Pledge, the donor sees Pledge Received!, a memo code to put on the payment with a Copy memo code button, and Where to send your payment: your Zelle handle or the mailing address for checks.

What it affects: each pledge waits 45 days for its payment. When the Zelle or check deposit arrives in your bank import, it is matched to the pledge (the memo code helps) and becomes a receipted gift.

When it goes wrong: if the Pledge via Zelle/Check tab does not appear, neither offline rail is on for that page. If a pledge’s 45 days pass with no payment, it moves to Lapsed on the Pledges page (below), and you can still follow up.

Watching promised gifts on the Pledges page

Where it lives: Sidebar → Nonprofit → Giving → Pledges. The page has two tabs.

  • Installment Pledges is the formal pledge list: a commitment paid over several installments, usually entered by staff.
  • Pending Gifts lists single gifts that were promised but not yet paid: Zelle and check pledges, and stock, DAF and crypto gifts started through Every.org that have not completed.

On Pending Gifts:

  1. Search by donor name or email, and filter the status: Awaiting (still expected) or Lapsed (Expired / Abandoned) (past its window).
  2. On a Zelle or check row, press Confirm in Reconciliation → to open the matching step for that payment.
  3. On an Every.org row, press Copy/resend link to copy the donor’s donate link and send it to them again.

A gift leaves this list once it is recorded as a contribution. See recently recorded → shows those.

When it goes wrong: No donate link on file on an Every.org row means there is no link to resend. Contact the donor directly. Couldn’t load pending gifts is a load error, not an empty list. Retry before concluding nothing is pending.

Post-gift claims

When to create a claim

When a payment lands without clear donor attribution, a Zelle with a nickname-only memo, a check with an illegible payor line, an ACH with a generic bank reference, the row enters the reconciliation queue as a guest record. Staff can convert a guest record into a claim that waits for donor verification.

The claim flow

  1. From the reconciliation queue, open the unmatched payment
  2. Click Create claim
  3. Muin proposes likely donors based on amount, date, and any extracted signals
  4. Staff can:
    • Accept a proposed donor → normal match
    • Create a new claim for follow-up → Muin sends a verification email to the proposed donor (“we received a $500 gift with your name; please confirm”)
    • Mark as truly anonymous → gift posts to a “Anonymous Donor” pool record

The verification email includes a magic-link the donor can click to confirm or deny the claim.

When a claim closes

  • Donor confirms → claim resolves, gift attributes to the donor, receipt issues
  • Donor denies → staff opens a resolution task (research the payment further, or mark anonymous)
  • No response in 30 days → staff decides: follow up, mark anonymous, or leave open

Memo codes

A memo code is a short alphanumeric token you publish to donors so their Zelle, check, or ACH payments auto-match to a specific campaign, pledge, or fund. Example:

  • Campaign memo: RAM2026 → all payments with this memo link to the Ramadan 2026 campaign
  • Pledge memo: a per-donor auto-generated code on each pledge (e.g., PL-JS-4821) that ensures exact matching

Staff creates memo codes in Campaigns → Memo codes or per-pledge as described above. Donors see their personal memo code in the portal whenever they commit to a pledge.

Admin setup

  • Enable donation intents at Settings → Donations → Intents (on by default for nonprofit module)
  • Configure auto-match thresholds: adjust the confidence score at which Muin auto-attributes vs. surfaces a flag
  • Set claim verification email template: customize the donor-facing wording
  • Memo-code visibility: show / hide on the donor portal and in pledge confirmation emails

When no intent and no claim can explain a deposit

Some deposits match nothing: no pledge, no claim, no memo code, no recognizable name. Those do not belong in limbo.

In the reconciliation drawer, use Record as unidentified gift. The money posts to your books immediately against a hidden placeholder, so nothing is left unexplained, and the gift waits in a follow-up queue until someone can say who gave it. The confirmation is explicit that the giver is not added to your donor directory, mailing lists or exports, and that no tax receipt is sent.

When you learn who it was, attribute it from Nonprofit → Giving → Unidentified Gifts. Every gift held under that placeholder moves to the donor and joins their giving history. Muin warns you if any gift is $250 or more, because that changes what the donor can substantiate, and if an annual statement for that year has already gone out.

That is the difference worth holding on to: a claim is a donor telling you a payment was theirs, and an unidentified gift is you recording money whose owner is not yet known.

The gift’s program, not its fund

A pledge or a claim resolves to a giving program: what the money is for, and that is what the donor sees on the receipt, in giving history and on the annual statement. The fund the money lands in is internal and never appears on a donor-facing surface. If a closed intent produced a receipt with no purpose on it, the giving surface behind it is missing a program. Check the Needs attention strip on Giving Setup.