Annual nonprofit report is the organization-wide view for the selected period. In a multi-beneficiary nonprofit, start with All beneficiaries, All cases, All projects and All funds so the organization's activity is counted once. TidyOne keeps income and expenses separated by currency, shows supporting-document coverage, linked donors/sponsors and fund movements. Then use beneficiary/case and project reports to explain details. The annual report is not an audit, statutory financial statement, tax filing or automatic proof of spending eligibility.
What the annual report means in TidyOne
On the Reports page, Annual nonprofit report uses the same financial source data as the other report types, labels the result as annual and sends that report type to the AI draft generator. The effective scope is controlled by the date range and filters. With no beneficiary, case, project or fund selected, TidyOne loads nonprofit transactions in the chosen period for the whole organization.
This matters because changing report type does not relocate or magically reconcile data. The report reads the transactions, documents and relationships that already exist. A duplicated income entry remains duplicated. An expense without a project remains part of the organization-wide annual total. An uploaded file that is not linked does not by itself turn a payment into documented expenditure.
Before reporting: check the year and data structure
The Current year preset sets 1 January–31 December for the current year; Previous year uses the prior calendar year. If your accounting period or funder period is different, choose Custom and enter the exact dates.
For the whole organization, leave all organizational filters on their general options. In multi-beneficiary mode, a beneficiary or case filter can apply explicit allocation amounts when no project is selected. If a project is also selected, the report keeps that project's transactions at their original amount rather than reducing them to one person's allocation. The annual organization view and beneficiary/case view therefore answer different questions.
Step 1 — Generate the whole-organization report
Select Annual nonprofit report, then the year. For the global report, do not select a beneficiary, case, project or fund. Click Update report. TidyOne loads nonprofit transactions from the selected period and builds the summary: income, expenses, balance, donors/sponsors identified through linked contacts and the number of relevant documents.
There is no automatic FX conversion. If the organization has RON 120,000 of income and EUR 8,000 of income, the report displays them separately. Balance is calculated independently for each currency as income minus expenses in that same currency. Do not turn these into one combined number without a documented external FX method.
Step 2 — Read income and expenses by category and project
The Financial summary groups income and expenses by category, currency and project. A transaction without a project appears as General / no project. That may be correct for rent, bank fees or other organization-wide costs, but it can also reveal a missing project relationship.
The unfiltered annual report includes transactions in the period even when their project has later been archived, because the organization-wide query works directly from transactions. Archived projects, however, are omitted from the normal project selector. If you need to investigate an archived project, review its source transactions and documents; the current report dropdown does not let you select it directly.
Step 3 — Review beneficiaries without duplicating the organization
The global annual view does not produce a complete table that automatically divides the organization's total among every beneficiary. This is a current workflow limitation and protects against a common accounting mistake: a shared transaction exists once while its beneficiary allocations are stored separately. For one person or case, use Beneficiary / case report.
When a beneficiary or case is selected and no project is selected, transactions with explicit allocations are reduced to the amount allocated to that person/case. Transactions without allocations can be included only when linked directly or when the project belongs unambiguously to that beneficiary. This prevents TidyOne from assigning the full value of one shared payment to every person.
For year-end review, inspect key beneficiaries or active cases individually, but do not add those reports together blindly. Administrative costs, shared projects and unallocated transactions can belong in the annual organization report without belonging entirely to any one person.
Step 4 — Check supporting documents and gaps
TidyOne shows how many expenses in the selection have a linked document, how many documents were AI-processed and how many were not. The Expenses without linked document list displays up to the first 100 entries in the interface. A 100% value does not prove tax validity or eligibility; it only means the current technical relationship between expenses and uploaded documents is complete.
A document directly linked to an in-period transaction can be included even when the document date is outside the report period, because the transaction relationship takes priority. Unlinked documents depend on document date and project/fund/beneficiary context. Review the original whenever invoice date, payment date and accounting period differ.
AI-processed is a processing status, not an accounting approval. Verify issuer, number, amount, currency, date and the link to the correct transaction.
Step 5 — Interpret donors and sponsors correctly
The donor metric counts distinct contacts from income transactions in the period that have a contact_id and whose contact type is donor or sponsor. The donor table groups amounts by contact and currency and displays the first 20 donor/currency combinations.
If a donation was entered only as text in the source field with no linked contact, the income can still appear in financial totals while the donor is absent from the donor table. That does not mean the money is missing; it means the relationship data is incomplete.
Step 6 — Read funds for the annual period
The Funds section calculates inflows and outflows from transactions in the report period and shows the difference for each fund. This is a period view, not a bank balance and not a legal conclusion about whether money may be spent. Restricted-fund conditions must still be checked against the real agreement and evidence.
Funds have their own configured currency. The table calculation uses activity in that fund currency. If a transaction in another currency was attached to the same fund, TidyOne does not convert it automatically for the fund table. Review mixed-currency activity separately and correct accidental currency entry errors.
For the difference between cumulative availability in Projects & Funds and the difference shown for one reporting year, use the restricted-fund guide. The two screens answer different time-scope questions.
Step 7 — Run a data-quality review before export
The AI report function also constructs internal data-quality indicators, including transactions without category, transactions without project, documents not AI-processed, expenses without linked documents and — in multi mode — transactions with no beneficiary, case, project or allocation. These warnings are useful for review, but they are not a complete reconciliation engine.
The current report UI does not provide a separate detailed dashboard listing every one of those warnings transaction by transaction. If the AI draft flags a gap, open Finance, Documents, Projects & Funds and the relevant detailed reports to locate the source.
Worked example: one year, two projects and three beneficiaries
Fictional example: in 2026 the organization runs a therapy project and a transport project. It records RON 150,000 and EUR 6,000 of income, and RON 112,000 and EUR 2,000 of expenses. One shared RON 3,000 expense has internal allocations of RON 1,500, RON 900 and RON 600 across three beneficiaries.
| Question | Global annual report | Beneficiary/case report |
|---|---|---|
| Shared RON 3,000 expense | RON 3,000 once | Only that person's allocation |
| RON income | RON 150,000 | Only relevant direct/allocated income |
| EUR income | EUR 6,000 separately | Separate when relevant to the selection |
| Administrative cost with no beneficiary | Included when it is in the annual period | May not appear in the individual report |
| Archived project with 2026 transactions | Transactions can remain in annual totals | Investigate through source records |
In this example, do not calculate one combined converted balance. The annual report keeps a RON 38,000 difference and a EUR 4,000 difference separately, before any external bank reconciliation.
Step 8 — PDF, CSV and accountant ZIP
PDF / Print, Transactions CSV and Accountant ZIP are controlled by the reports_full_export entitlement. In the current UI, accounts without this access are told that full PDF/CSV/ZIP export is available in Association PRO. The base report can still be viewed in the interface.
The transaction CSV contains date, type, reported amount, original amount, allocation indicator, currency, category, subcategory, issuer/description, contact, beneficiary, case, project and fund. In the global annual report, amounts are normally original transaction amounts because no beneficiary/case filter is applying allocations.
The ZIP contains tranzactii.csv, documente.csv, rezumat.json and available original files. timeline-caz.csv is added only when a beneficiary or case is in scope. When more than 250 documents are eligible, the browser warns that the document folder will contain the first 250 original files while the document list remains in the CSV.
AI draft for the annual report
Generate AI draft sends report type annual, the selected period and filters to the report function. The function rebuilds context from organization data, keeps currencies separate and, in multi mode, explicitly instructs the model never to transfer facts or amounts from one beneficiary/case to another.
The AI context includes financial totals, categories/subcategories, distribution by project, donors, documents and data-quality warnings. Sensitive medical summaries, diagnoses, internal case notes and similar details are intentionally excluded from this report flow. The draft must be reviewed before use and is not represented by the application as audited, filed or legally compliant.
AI generation consumes the ai_report_generation plan allowance. If Gemini or the Supabase environment is not configured or available, the calculated financial report can still exist in the interface even when the AI narrative cannot be generated.
Common multi-beneficiary annual-report mistakes
Year-end checklist before accountant, board or funder
Frequently asked questions
Does the annual report automatically split every amount across beneficiaries?
No. The global report preserves organization transactions. For one person or case, use beneficiary/case reporting; explicit allocations are applied in that scope when no project is selected.
Why does an expense with no project appear in the annual report?
Because the global annual report includes nonprofit transactions in the selected period. No-project can be a legitimate general cost or a missing relationship that needs correction.
Why is a donor missing from the table when the income exists?
The donor/sponsor table needs a linked contact on the income transaction, and that contact must be typed as donor or sponsor.
Can I get one annual RON total when I also have EUR?
Not automatically in TidyOne. Currencies remain separate. Any conversion must be documented and calculated outside this reporting logic.
Does the annual report include archived projects?
Their transactions can still contribute to the unfiltered annual total when they fall inside the period. Archived projects are not available in the normal project dropdown for direct isolation.
Is the PDF or ZIP an official accounting report?
No. They are operational exports from TidyOne data. Official form and verification depend on your accountant, funder requirements and applicable rules.
Can AI certify the annual report?
No. It creates a narrative draft and can surface data gaps. It does not certify, audit or file the report.
Read next
One reconciled organization total is the base. Individual reports explain distribution; they do not create another copy of the money.
Open ReportsThis tutorial describes reporting logic in the TidyOne V13.5.29 package, whose runtime is unchanged from V13.5.28, reviewed in application source on 24 September 2026. Examples are fictional. It does not replace statutory accounting, bank reconciliation, funder conditions or legal/tax advice.