Donations Module
The HtkDoli Donations module lets you view and manage the donations received by your organization (associations, foundations, non-profit structures). Each donation is attached to a third party (donor), and can be linked to a member, a project and a bank account.
Interface and Features (List)
The main view displays the list of all donations associated with the active profile.
Browsing and Search
- Search bar: Search by reference, label or donor (third party) name.
- Sorting:
- Date (Newest → Oldest) — default
- Date (Oldest → Newest)
- Amount (Descending)
- Amount (Ascending)
- Reference
- Filters by status:
- All
- Draft
- Unpaid
- Paid
⚠️ The Cancelled status exists and is shown on the relevant records, but there is no dedicated "Cancelled" filter in the list.
Section Grouping
When no search is active:
- Sorted by date: donations are grouped by month (e.g. "January 2026").
- Sorted by reference: grouped by first letter.
- Each section header shows a status summary (colored dots + counts).
- An index bubble (letter/month) appears briefly while scrolling.
Displayed Information (Donation Cards)
Each row represents a donation with:
- A heart icon and a status dot (colored dot).
- Its reference.
- The date of the donation.
- The donor name (third party).
- The amount (formatted in euros).
Pagination
- List paginated in batches of 50, with a "Load more" button (only when no filter/search is active).
- Pull-to-refresh available (refresh with haptic feedback).
- Refresh button in the header (with a state indicator: up-to-date, loading, success, failure, stale).
Quick Row Actions
- Swipe (leading edge): Edit.
- Swipe (trailing edge): Delete.
- Long press (context menu):
- View tax receipt (if the donation is Paid) — ⚠️ API limitation: a donation's tax receipt cannot be generated via Dolibarr's REST API; it must be generated from the Dolibarr web interface.
- Validate (if the donation is a Draft) — ⚠️ from this menu: "Coming soon" (the actual validation is done from the detail screen).
- Edit.
- Delete.
Creation
- A "+" button in the top bar lets you create a new donation.
Detail View (Viewing a Donation)
Header (Hero Section)
- Heart icon.
- Donation reference.
- Date (or "Unknown date").
- Status badge.
Information
- Donation label.
- Amount (formatted in euros).
- Payment mode: ⚠️ shown as a numeric identifier ("Payment mode (ID)"), only when set.
- Linked project (tappable to open its record, when set).
Third Party / Member
The card only appears when a donor name is known:
- Member: if a member ID is attached, a tappable "Member" card leads to the member record.
- Third party: otherwise, if a third-party ID is attached, a tappable "Third party" card leads to the third-party record.
- If no locally resolvable ID is found, only the name is shown (not tappable).
Documents
- View, PDF preview and download of attached files (tax receipt, thank-you letter, transfer proof, etc.).
- Upload a document (only for a donation already synced to the server).
- Documents are loaded in the background when the record opens.
Notes
- Public Note.
- Private Note (lock icon).
Floating Header Actions
- Edit (pencil icon).
- Menu (…):
- Validate: shown only when the donation is a Draft. A confirmation states that the donation will move from "Draft" to "Validated".
- Delete: confirmation alert, irreversible action.
- Pull-to-refresh: reloads the donation and its documents from the server.
Creation and Editing
The editing screen (DonationEditView) lets you fill in:
Entities
- Donor (Third party): mandatory, picked from a list.
- Project: optional (can be cleared), limited to open projects.
Information
- Donation date.
- Amount (mandatory, decimal keypad; accepts comma or dot).
- Payment mode: Credit Card, Cheque (default), Bank Transfer, Direct Debit, Cash.
No "Label", "Member" or "Bank account": a Dolibarr donation has none of these three fields (verified in the 24.0 source code and on an instance on 15 September 2026). The bank account belongs to the donation's payment, recorded from the web interface.
Notes
- Public note.
- Private note.
Status (editing only)
When editing, a status picker is available: Draft, Validated (Unpaid), Paid, Cancelled.
⚠️ Absent fields. There is no editable "Reference" field (the reference is generated by Dolibarr; locally the donation shows "(PROV)" while awaiting sync), and no free "Name" field for an anonymous donor: the donor is always set by selecting a third party.
⚠️ Editing restricted to drafts. A donation can only be edited when it is being created or is in Draft status. Once it is validated, paid or cancelled, the fields become non-editable.
Form Validation
Saving is only possible when a third party is selected and a valid amount is entered.
Business Behavior and Dolibarr
Statuses
- Draft (0) — gray: Donation entered but not yet validated.
- Unpaid / Validated (1) — orange: Donation validated but payment not yet received.
- Paid (2) — green: Payment received.
- Cancelled (3) — red: Donation cancelled.
Links with Other Modules
- Third party: mandatory donor (company or referenced individual).
- Member: for donations attached to an association member.
- Project: allows earmarking the donation to a specific project (campaign, targeted operation, etc.).
- Bank: a bank account can be associated with the donation.
Tax Receipts
The tax receipts generated on the Dolibarr side (supporting documents for donors' tax deductions; France: article 200 of the CGI) are viewed and downloaded through the Documents section of the record.
⚠️ The "View tax receipt" action in the list context menu is not operational: a donation's tax receipt cannot be generated via the REST API of Dolibarr. It must be generated from the Dolibarr web interface, then viewed through the Documents section of the record.
Synchronization (offline-first)
- Creation and editing are first applied locally (optimistic UI), then queued for synchronization (POST/PUT) and sent to the server in the background.
- A donation created offline carries a provisional "(PROV)" reference until it is synced.
- The list is paginated; missing third-party names are resolved on demand during refresh.
- Third party / member / project links are resolved when the record opens.
- Documents are loaded in the background.
- A donation can only be validated if it already has a server identifier (synced donation).
Dolibarr API
- Endpoints used:
GET /donations,GET /donations/{id},POST /donations,PUT /donations/{id},DELETE /donations/{id},POST /donations/{id}/validate. - On create/update, the app sends the date via the
datekey (anddatedonfor robustness) and the third party viasocid(andfk_soc). The project is sent viafk_project.
Rights and Permissions
- Read: the
don.lireright is required to display the list, view details and download documents. - Create / Edit: the
don.creerright is required to create or edit donations. - Delete: the Donations module delete right.
If these permissions are not granted, access to the module will be restricted.
Screenshots
2 screenshots — click to enlarge