Skip to main content

Donation Receipt Generator — compliant document templates (Revision 2, final pass)

Each printed element is tagged with the field id (F-CA-nn / F-US-nn) and the rule id (in rules.yaml) it satisfies. Text in bold quotes is fixed and must be printed verbatim. Curly-brace placeholders are named EXACTLY as in the canonical schema (rules.yaml → schema): a dotted input path ({charity.name}, {gifts[i].date_received}) or a declared output key ({eligible_amount}, {per_gift[i].date_printed}). validate.py checks that every placeholder in this file resolves to a declared field and that every F-* and rule id exists. Money placeholders print as $#,##0.00 followed by the currency label (CAD / USD). Primary sources: Income Tax Regulations s.3501; CRA sample-receipts page (labels); CRA computer-generated receipts and books-and-records pages (notices); IRC s.170(f)(8), s.6115; IRS Pub 1771 (Rev. 11-2023); IRS Pub 526 (2025).

checked: 2026-09-25


0. Canadian gate screen (before any CA document)​

  • Checkbox, exact text, required (F-CA-27, CA-00): "Our church is a registered charity with the CRA." Beside it: Check your registration and your exact registered name on the CRA List of charities → https://apps.cra-arc.gc.ca/ebci/hacc/srch/pub/dsplyBscSrch?request_locale=en.
  • Registration No. field {charity.registration_number} (F-CA-04, CA-00): validated ^[0-9]{9}RR[0-9]{4}$. On mismatch the tool blocks: "The registration number must be 9 digits, then RR, then 4 digits (for example 123456789RR0001). Check your charity on the CRA List of charities."
  • Unchecked → the only output offered is §1b (thank-you letter). The words "official", "receipt for income tax purposes", "Registration No." and "Eligible amount" never appear on that path except inside the two negations the letter must carry: its title ("not an official receipt for income tax purposes") and its mandatory sentence ("not an official donation receipt").

1. Canada — official donation receipt (cash gift, single, cumulative or replacement)​

Two states (CA-03): Preview carries the diagonal watermark "PREVIEW — not a receipt" (F-CA-25), the serial greyed, and consumes nothing. Issue prints the serial, produces the PDF(s) and the issued-receipts log (F-CA-26). Both states carry the banner (F-CA-24).

┌──────────────────────────────────────────────────────────────────────────────┐
│ **Valid only when signed by an authorized person** F-CA-24 CA-11 │
│ │
│ **Official donation receipt for income tax purposes** F-CA-01 CA-01 │
│ │
│ {charity.name} F-CA-02 CA-02 │
│ {charity.address} F-CA-03 CA-02 │
│ Registration No. {charity.registration_number} F-CA-04 CA-00 │
│ │
│ Receipt No. {serials_issued[i]} F-CA-05 CA-03 │
│ Place issued: {charity.place_issued} F-CA-06 CA-02 │
│ Date gift received: {date_gift_received_field} F-CA-07 CA-04 │
│ Date receipt issued: {clock.today} F-CA-08 CA-04 │
│ │
│ Donor name: {donor_name_printed} F-CA-09/10/11 CA-06 │
│ = {donor.first_name} {donor.middle_initial} {donor.last_name} (individual) │ F-CA-09/10/11 CA-06
│ = {donor.organization_name} (organization)│ F-CA-09 CA-06
│ [and {donor.second_name}] F-CA-12 CA-06 │
│ Donor address: {donor.address} F-CA-13 CA-06 │
│ │
│ Amount of gift (CAD): {amount_of_gift} F-CA-14 CA-07 │
│ Description of advantage to donor: │
│ {advantage_description_printed} F-CA-15 CA-07 │
│ Amount of advantage to donor (CAD): {amount_of_advantage} F-CA-16 CA-09 │
│ Eligible amount of gift (CAD): {eligible_amount} F-CA-17 CA-08 │
│ │
│ [Replacement only] │
│ **This receipt cancels and replaces receipt No. │
│ {replaces_serial_number}.** F-CA-20 CA-12 │
│ │
│ Authorized signature: ____________________________ F-CA-18 CA-11 │
│ {signer.name}, {signer.title} F-CA-23 CA-11 │
│ │
│ Name and website of the Canada Revenue Agency: │
│ **Canada Revenue Agency: canada.ca/charities-giving** F-CA-19 CA-13 │
└──────────────────────────────────────────────────────────────────────────────┘

Cumulative receipts append the itemized table (F-CA-21, CA-18 / CA-05), one row per RECEIPTABLE gift:

Date of donation | Amount (CAD) | Advantage (CAD) | Eligible (CAD) F-CA-21 CA-18
{per_gift[i].date_printed} | {per_gift[i].amount_of_gift} | {per_gift[i].advantage_effective} | {per_gift[i].eligible_amount} F-CA-21 CA-18, CA-05
Totals | {amount_of_gift} | {amount_of_advantage} | {eligible_amount} F-CA-14/16/17 CA-07, CA-08

The totals equal the three amount lines above. The date printed per row is the date of donation (postmark_date for mailed gifts, else date_received — CA-05). A gift that fails the 80% test (CA-10) is NOT in this table and NOT in the totals; see the on-screen exclusion notice in §1a.

Notes on specific lines:

  • Banner (F-CA-24) — printed on the PDF, shown on screen, and used as the download button's caption ("Download — valid only when signed by an authorized person"). It reads truthfully both before and after the treasurer signs. Reg. 3501(2): "every official receipt shall be signed personally". The CRA guidance for computer-generated receipts says receipts "should be in a read-only or non-editable format" and "the document should be encrypted and signed with an electronic signature" — the tool quotes that guidance to the treasurer and does not claim to have met it.
  • Title (F-CA-01) — exact CRA wording; never "Donation receipt" or "Tax receipt" (CA-01).
  • Registration No. (F-CA-04) — hard-validated (CA-00).
  • Receipt No. (F-CA-05) — Preview: greyed. Issue: {serials_issued[i]}, consecutive from the treasurer's {serial_start} (trailing digits incremented, prefix kept; a start with no trailing digits gets "-1", "-2", ...); unique within the batch (CA-03).
  • Place issued / Date gift received / Date receipt issued / Donor name / Authorized signature / Name and website of the Canada Revenue Agency — CRA sample labels (R-14).
  • Date gift received (F-CA-07) — {date_gift_received_field}: the date of donation (single / replacement) or the year {receipt_year} (cumulative) (CA-04).
  • Date receipt issued (F-CA-08) — {clock.today}, the device date; not editable (CA-04). No backdating.
  • Donor name (F-CA-09/10/11) — {donor_name_printed}: individual = first name, middle initial as entered (no period is added: "A" prints "Ruth A Vanderberg"), last name; organization = legal name. {donor.second_name} (F-CA-12) only for a joint account. Address (F-CA-13): one free-text block, any country (CA-06).
  • Advantage lines (F-CA-15/16) — always printed. No advantage: "None" / $0.00. Nominal (CA-09): {advantage_description_printed} = Nominal benefit (FMV $X) — too minimal to affect the amount of the gift (CRA nominal threshold), {amount_of_advantage} $0.00, eligible = full gift. Cumulative: one clause per gift with an advantage, e.g. Banquet dinner (2026-05-02): $60.00; A pen (2026-09-13): nominal, disregarded. Cash or near-cash: never nominal.
  • Eligible amount (F-CA-17) — {amount_of_gift} − {amount_of_advantage}, integer cents (CA-08). If 5·A > 4·G on a single receipt, no receipt (CA-10); the refusal names both numbers: "The advantage ($81.00) is more than 80% of the $100.00 gift (80% of $100.00 = $80.00)."
  • Signature (F-CA-18/23) — the tool prints the blank line, {signer.name} and {signer.title}; it never draws, fabricates or claims a signature (CA-11).

1a. UI text around a Canadian receipt (not on the receipt)​

Before download (F-CA-22, CA-14) — CRA wording in quotation marks is verbatim:

This tool keeps nothing. Save the PDF file itself, not just a printout — "Books and records that are created and maintained in electronic format must be kept in an electronically readable format." Keep a copy of the signed receipt as your duplicate. "Books and records must be kept at the Canadian address that you have on file with us." "You should also keep a copy of your books and records in another location for backup purposes." "You must keep these receipts for two years from the end of the calendar year that you received the donations"; your donation records, "six years from the end of the fiscal year that they cover."

Before Issue (CA-03, F-CA-05):

Enter the next unused number from your receipt log. This tool keeps no record of the numbers you have used.

After Issue (CA-03; output message_after_issue), with the log download (F-CA-26; CSV columns serial, donor, amount_of_gift, eligible_amount, date_issued, status, replaces_serial):

Receipt No. {serials_issued[i]} is now used. Record it in your receipt log now. If you find an error, do not reuse this number — use "Replace a receipt" and keep this copy marked "cancelled".

Signing (CA-11, F-CA-24):

Sign it, then keep a copy of the SIGNED receipt as the church's duplicate — sign two printouts, or scan the signed one. If you sign electronically, use a secure electronic signature that stays under the control of the authorized person.

Replacement (CA-12, F-CA-20; output instruction_to_treasurer): > Mark your copy of receipt No. {replaces_serial_number} "cancelled" and keep it with this one.

Mailed gift (CA-05; in tips): > Keep the postmarked envelope with your records.

Cumulative, issued on or before February 28 of the year after {receipt_year} (CA-04; in tips): > CRA suggests issuing receipts by February 28, {receipt_year} + 1.

Excluded gift on a cumulative receipt (CA-18 / CA-10; one tips entry per gifts_excluded row; shown on screen, never printed):

Not receiptable — excluded from this receipt: gift of {gifts_excluded[i].amount_of_gift} on {gifts_excluded[i].date_printed}. {gifts_excluded[i].reason} The CRA generally considers there is no intention to make a gift, so no receipt can be issued. If the donor believes they intended to make a gift anyway, that must be established with the CRA — ask your accountant.

If every gift is excluded, no receipt is offered (refer, CA-10).

1b. Canada — thank-you letter (church NOT a registered charity) — CA-20​

**Thank-you letter — not an official receipt for income tax purposes** F-CA-28 CA-20

{charity.name} F-CA-02 CA-20
{charity.address} F-CA-03 CA-20

{clock.today} (letter date; not F-CA-08) CA-20

Dear {donor_name_printed}, (F-CA-09/10/11 for an individual) CA-06

Thank you for your gift(s) to {charity.name}: F-CA-02 CA-20
Date received Amount (CAD) F-CA-14 CA-20
{gifts[i].date_received} {gifts[i].amount_of_gift} F-CA-14 CA-20
...

**This letter is not an official donation receipt and cannot be used to
claim a charitable tax credit.** CA-20

With gratitude,
{charity.name} F-CA-02 CA-20 (ordinary closing — NOT F-CA-23; no signer name or title)

Absent by design: F-CA-01, F-CA-04, F-CA-05, F-CA-15, F-CA-16, F-CA-17, F-CA-18, F-CA-19, F-CA-23 (no title, registration number, serial, advantage/eligible lines, signature block, signer name/title, or CRA line). The signer inputs are not required on this path and are never printed; a blank signer therefore cannot render as ", ". UI note: Only a registered charity or other qualified donee can issue official donation receipts. To check or apply, see canada.ca/charities-giving.


2. United States — year-end contribution statement / contemporaneous written acknowledgment (cash gifts)​

Gate (F-US-19, US-00): checkbox "Our church is an organization described in IRC 170(c) (a church or religious organization eligible to receive deductible contributions)."

Letter format. Pub 1771: "There are no IRS forms for the contemporaneous written acknowledgment. ... Letters, postcards, or computer-generated forms with the above information are acceptable." It may be given on paper or electronically. The IRS says nothing about a signature; the officer line is optional (US-13).

{organization.name} F-US-01 US-02, US-07
{organization.address} F-US-02 US-16 (optional)
[EIN {organization.ein}] F-US-03 US-16 (optional)

{clock.today} F-US-14 US-08

{donor.name} F-US-04 US-16
{donor.address} F-US-05 US-16 (optional)

Contribution statement for tax year {tax_year} F-US-07 US-07

Thank you for your contributions to {organization.name} during {tax_year}. F-US-01, F-US-07 US-07
We received the following cash contributions from you:

Date received Amount (USD) Goods/services provided (FMV) F-US-08 US-02, US-07
{per_gift[i].date_received} {per_gift[i].amount} {gifts[i].goods_description} ({per_gift[i].good_faith_estimate}) | None F-US-08, F-US-11 US-02, US-04
...
Total contributions for {tax_year}: {total_contributions} F-US-09 US-02, US-07

Statement (US-15): ONE sentence for the whole statement when every gift
gives the same answer ({statement_text}); otherwise per-gift lines. F-US-10/11/12 US-15

(a) **No goods or services were provided in exchange for your
contribution[s].** F-US-10 US-03
(goods_status "none" for every gift)

(b) one line PER gift with goods — {goods_lines[i]}: F-US-11 US-04
**In exchange for your contribution of {per_gift[i].amount} on F-US-11 US-04
{per_gift[i].date_received}, we gave you {gifts[i].goods_description} F-US-11 US-04
with an estimated fair market value of
{per_gift[i].good_faith_estimate}.** F-US-11 US-04

(c) **The goods or services that {organization.name} provided in F-US-12 US-05
return for your contribution[s] consisted entirely of
intangible religious benefits.** F-US-12 US-05
(goods_status intangible_religious_only, or
provided_plus_intangible_religious, for every gift)

(d) goods PLUS intangible religious benefits: (b) for the goods,
then (c). F-US-11 + F-US-12 US-02(7)

If any gift has P > $75 AND GFE > 0 — printed in the same type size as
the body, never as a footnote — once per such gift:

**Under federal tax law, the amount of your contribution that is
deductible for federal income tax purposes is limited to the excess
of the amount you paid over the value of the goods or services we
provided. Our good-faith estimate of the fair market value of the
goods or services you received on {per_gift[i].date_received} is F-US-13 US-06
{per_gift[i].good_faith_estimate}. The amount you may deduct for F-US-13 US-06
this payment is limited to {per_gift[i].deductible_ceiling}.** F-US-13 US-06

Please keep this statement with your tax records. Do not attach it to
your return. F-US-16 US-16

{signer.name}, {signer.title} F-US-15 US-13 (optional)

Notes on specific lines:

  • Per-gift rows with dates (F-US-08) are mandatory: Pub 526 requires an annual acknowledgment for several $250+ gifts to list "each contribution and the date of each contribution", and s.170(f)(17) makes the church's written communication the plate-cash donor's only record (US-07). The goods column prints "None" for a gift with goods_status none.
  • Goods line (F-US-11) — one per gift with goods, built on the IRS sample sentence and naming the gift's amount and date so it is unambiguous on a multi-gift statement. Identical pattern in US-04, in goods_lines, and in tests US-TC-05/06/08/24/36.
  • $250 flag is on the NET contribution: P − GFE ≥ $250 (per_gift[i].cwa_required; Pub 526: "your contribution is the amount of the payment that is more than the value of the goods and services"). $250 paid with $100 of goods = $150 contribution, no CWA legally required; $350 with $100 = $250, CWA required. Every statement is built to CWA standard anyway (US-01).
  • $75 test is on the payment (per_gift[i].disclosure_required): $100 paid, $40 ticket → disclosure required although only $60 may be deducted (US-06). Exactly $75.00 is not "in excess of $75".
  • Ceiling wording (F-US-13) — "limited to {per_gift[i].deductible_ceiling}", never "your deductible contribution is" (Pub 1771: "may not exceed").
  • GFE ({per_gift[i].good_faith_estimate}) must be more than $0 and less than the payment; the description carries its own article ("a harvest dinner") (US-04).
  • Never print the donor's SSN/TIN (F-US-06, US-02) or a value for non-cash property (US-10).
  • Date issued (F-US-14) — {clock.today}, the device date; not editable (US-08, US-14).

2a. UI text around a US statement (not on the statement)​

Timing (F-US-18, US-08; output timing_tier / timing_message), keyed to {clock.today} vs {tax_year} + 1:

  • on or before Jan 31: On time. Send it now — the donor must have it before they file.
  • Feb 1 – Apr 15: Late for any donor who has already filed. Ask before they rely on it; a donor who filed without it cannot use it. (The IRS opened the 2025 season on January 27, 2025.)
  • Apr 16 – Oct 15: Only donors on extension can still use this as a contemporaneous acknowledgment.
  • after Oct 15: Cannot serve as a contemporaneous acknowledgment for anyone; it remains the donor's s.170(f)(17) record.

Before download (F-US-17, US-13): > Save a copy of this statement with your church's giving records for {tax_year}. This tool keeps nothing.

Quid pro quo tip (US-06; in tips): > The disclosure is due with the solicitation or receipt — put it on the ticket or invitation next year, not only on this statement.


3. Refer screens (no document produced)​

Each refer outcome shows: the plain-language reason (the rule's refer_messages entry, verbatim), the rule id, the primary-source link, and "Ask your accountant / see the linked CRA or IRS page."

TriggerCA ruleUS rule
Non-cash property (goods, art, real estate)CA-17US-10
Securities / sharesCA-17US-12
Vehicles, boats, aircraftCA-17US-11 (Form 1098-C within 30 days)
Donated services / volunteer timeCA-15US-12
Gift card donated by its issuerCA-15US-12(d): redeemable for cash = monetary (Pub 1771); otherwise property — accountant
Anonymous / unidentified donorCA-15(c)(no document; no name)
Advantage > 80% of gift, donor asserts intent (single receipt, or every gift of a cumulative receipt)CA-10—
Token / low-cost item—US-09 (single path: re-enter as goods provided)
Payroll deduction gifts—US-12
Gift already receipted by an intermediary charityCA-15(f)—
Foreign-currency giftCA-19—
Sponsorship / advertising, lottery, admission-only, tuitionCA-15(no donative element → US-14)
Church not a registered charityCA-20 (thank-you letter, not a refer)—