In the Nonprofit/Association workspace, TidyOne stores donors and sponsors as contacts. A contribution becomes part of a contact's donor history only when an income transaction is linked through that contact_id. The Donors & Contacts page calculates the number of linked income entries, totals separated by currency, the latest donation and the latest recorded interaction. You can record thank-yous, updates, email, WhatsApp, calls, meetings or notes. In the current UI, however, only the latest interaction is surfaced on the contact card; there is no full visible interaction timeline yet.
Why the contact and the donation are separate records
One donor may contribute several times, in different periods and currencies. A sponsor may be a company with tax details and an address, while the same nonprofit also needs suppliers, partners and other contacts. If a donor name is only typed into a transaction description, TidyOne cannot group that contribution as reliably in donor views and reports.
In TidyOne, the contact represents who the person or company is; the transaction represents a financial contribution. The transaction's contact field connects them.
1. Create the donor or sponsor contact
In Donors & Contacts you can create Donor, Sponsor, Supplier, Partner or Other contacts. Beneficiary contacts are excluded from this operational list.
| Field | Full contact form | Current behavior |
|---|---|---|
| Name | Required | Used in selectors and reports. |
| Type | Required | Donor / Sponsor / Supplier / Partner / Other. |
| Company | Optional | Useful for a person associated with a company. |
| Tax ID | Optional | Administrative company data. |
| Email / phone | Optional | Internal contact details. |
| Address | Optional | Stored on the contact record. |
| Notes | Optional | Internal context; it is not automatically a donor interaction. |
From Finance → + Income / donation you can also create a contact quickly. The quick form stores name, type, email and phone; company, tax ID, address and notes can be completed later in the full Donors & Contacts page.
2. Link the donation to the contact in Finance
Nonprofit transactions include a Donor / sponsor / contact selector. Choose an existing contact or create one. When the transaction is saved, the contact identifier is stored on that transaction.
The Finance search includes contact names. Each transaction row can show the linked contact below the income description, along with project, fund and document status when those relationships exist.
3. What donor “history” is visible in Donors & Contacts
For each contact, TidyOne loads organization transactions linked to that contact_id and keeps income rows when calculating donor statistics. The card can show:
TidyOne does not automatically convert currencies. A donor with EUR 500 and RON 2,000 keeps two totals rather than a synthetic combined amount.
4. How Active / 90+ days / New segments currently work
The current segmentation is a simple UI heuristic, not a CRM score. Status starts as New. Only when there is more than one linked income transaction and a latest donation date does the page calculate:
| Current rule | Status |
|---|---|
| Latest donation ≤ 90 days ago | Active |
| Latest donation > 90 and ≤ 180 days ago | Follow up |
| Latest donation > 180 days ago | Inactive |
| 0 or 1 linked income entry | Remains “New” in the current algorithm |
The 90+ days without a donation chip includes both Follow up and Inactive states. Because the New segment is derived from the same generic donor-stat function, it should not be treated as a definitive relationship stage.
5. Record communication with a donor
For Donor and Sponsor contacts, the communication button opens Record communication. Available interaction types are Thank you, Update, Email, WhatsApp, Call, Meeting and Note. You can add a channel, subject and notes; TidyOne stores the interaction timestamp.
Those records are saved in donor_interactions. The current contact card uses them to show the latest interaction. The inspected page does not expose a full visible list/timeline of interactions and does not provide per-interaction edit/delete controls.
If the interaction table is unavailable in an older workspace, the page displays a warning that interaction history is currently unavailable; contacts and donations remain accessible.
6. What “Thank with AI” actually does
The AI button does not send a message. It opens AI Coach with a prepared prompt containing the contact name, number of donations, totals by currency and latest donation date, plus an instruction not to invent information.
The inspected AI Coach backend also includes the number of known donor/sponsor contacts and donor totals by name and currency in nonprofit context. It does not load the full donor_interactions history into that context. Do not present AI as remembering every call, email or interaction note.
7. How donors and sponsors appear in Reports
The nonprofit report counts a donor/sponsor only when a transaction in the selected period is income, has a linked contact and that contact is typed as donor or sponsor. The Donors and sponsors table aggregates separately for each contact + currency combination and displays up to 20 combinations in the report UI.
An income entry without a linked contact therefore cannot appear in the donor ranking, even if it is genuinely a donation. Likewise, income linked to a Supplier/Partner contact is not counted as a donor simply because it is income.
8. What happens when a contact is deleted
The UI confirmation explicitly says that deleting a contact does not delete transactions or documents. Do not use contact deletion as a way to erase financial history. If you created a duplicate, first review linked transactions/documents and correct the relationships before removing the redundant contact.
Example: one sponsor, three contributions
| Step | Action | Result in TidyOne |
|---|---|---|
| 1 | Create “Example Company” as Sponsor | One contact record |
| 2 | Record RON 2,000 and RON 3,000 as income linked to the same contact | 2 linked gifts; RON 5,000 total |
| 3 | Receive another EUR 500 and link it to the same contact | EUR 500 remains separate from RON 5,000 |
| 4 | Record an update sent to the sponsor | Its date becomes the Latest contact value |
| 5 | Generate a report for the relevant period | The sponsor appears by currency when its transactions fall inside the period |
Current limitations to know
Frequently asked questions
Can I see every donation from one donor on the contact card?
The card shows the number of linked income entries, totals by currency and the latest donation. For individual transaction rows, open Finance and search for the contact name.
Can I see every email and call in chronological order?
Not in the current UI. Interactions are stored, but the page visibly uses only the latest interaction.
Does AI send the thank-you message?
No. The button prepares a prompt and opens AI Coach for drafting. Sending through email, WhatsApp or another channel is separate.
Does a sponsor with EUR and RON contributions get one total?
No. TidyOne keeps totals by currency and does not automatically convert them.
Does an anonymous donation appear in the donor ranking?
Not if it has no linked contact. It can still exist in report income, but it cannot be attributed to a named donor/sponsor.
Are donor contacts only available in single-beneficiary mode?
No. Contacts and donor history are organization-level features. This guide sits in the single-beneficiary cluster to document that setup's administration flow; the contact mechanism is also used in multi-beneficiary organizations.
Continue with related guides
Create the supporter once, link each real contribution to that contact, and use history for context — not as a replacement for accounting evidence.
This tutorial documents behavior found in the TidyOne V13.5.33 package inspected on 24 September 2026. It does not assume CRM automation, automatic email/WhatsApp sending, contact deduplication, currency conversion or a full interaction timeline that is not present in the inspected UI.