Cooperative contributions
When to use it
Section titled “When to use it”- You run a cooperative, a thrift or rotating savings group (ajo, esusu, chama), or a staff savings scheme.
- Your treasurer keeps the ledger in a spreadsheet with a due date and a paid or due status for each member.
- Members pay weekly or monthly by bank transfer, POS or cash at a meeting, and the treasurer spends too long reminding people.
Where the data comes from
Section titled “Where the data comes from”| How | What |
|---|---|
| A Google Sheet or Excel file, synced | Your members ledger in Google Sheets or Excel, synced as People (every 15 minutes to daily): phone, first_name, group_name, contribution_due_date and contribution_status (paid or due). |
| A CSV upload | Or a one-off CSV of your member list to start with, kept up to date by hand. |
What it sets up
Section titled “What it sets up”| Kind | Name | What it does | Lands |
|---|---|---|---|
| Team | Treasurer | Calls members who miss a contribution. | Empty |
| Team | Executive committee | Gets the monthly report. | Empty |
| Segment | Contribution due soon | Contribution due within the reminder window, not paid. | Ready |
| Segment | Contribution due today | Contribution due today, not paid. | Ready |
| Segment | Contribution missed | Contribution missed within the chase window, not paid. | Ready |
| Segment | Contribution paid | Members marked as paid. | Ready |
| Template | Contribution coming up (SMS) | Friendly reminder by SMS a couple of days before. | Ready |
| Template | Contribution due today (SMS) | Reminder by SMS on the due day. | Ready |
| Template | Contribution missed (SMS) | Kind message by SMS when a contribution is missed. | Ready |
| Template | Contribution coming up (WhatsApp) | Friendly reminder by WhatsApp. Needs Meta approval before it can be sent. | Ready |
| Template | Contribution due today (WhatsApp) | Reminder by WhatsApp on the due day. Needs Meta approval before it can be sent. | Ready |
| Template | Contribution missed (WhatsApp) | Kind message by WhatsApp when a contribution is missed. Needs Meta approval before it can be sent. | Ready |
| Report | Monthly: contributions | Each month, how many members are due, paid and missed, to the executive. | Off |
| Follow-up | Contribution 1: coming up | Daily run over "due soon"; one friendly reminder per cycle, by SMS or WhatsApp. | Off |
| Follow-up | Contribution 2: due today | Daily run over "due today"; one reminder, by SMS or WhatsApp. | Off |
| Follow-up | Contribution 3: missed | Daily run over "missed": a kind message, then a call task for the treasurer with the outcome saved. | Off |
The questions it asks
Section titled “The questions it asks”| # | Question | Default | Fills in |
|---|---|---|---|
| 1 | What should messages call your cooperative or group? | none, must answer | org_name |
| 2 | How should members pay? (the sentence members will read in every reminder) | none, must answer | how_to_pay |
| 3 | Which team calls members who miss a contribution? (can be one person, the treasurer) | Treasurer | treasurer_team |
| 4 | Who gets the monthly report? (for example the executive committee) | Executive committee | executive_team |
| 5 | Should reminders go by WhatsApp instead of SMS? (needs a connected WhatsApp Business number) | No | use_whatsapp |
Other settings
Section titled “Other settings”These have defaults. Change any that don’t fit.
| Setting | Default | Key |
|---|---|---|
| Trait that holds the contribution due date | contribution_due_date | due_trait |
| Days before the due date for the first reminder | 2 | remind_days |
| Days after the due date when a missed contribution is still chased | 14 | missed_days |
| Hours the treasurer has to make the call | 48 | call_due_hours |
| Daily send time | 09:00 | send_time |
| Monthly report (first day of the month) | 0 8 1 * * | report_cron |
| Greeting when a first name is missing | there | greeting_fallback |
| Time zone for the daily run and the report | ‹workspace timezone› | timezone |
Timings
Section titled “Timings”- Every day at 09:00 (‹workspace timezone›).
- A friendly reminder when the contribution is due within 2 days, and another on the due day. Members marked paid get neither.
- If a contribution is still unpaid after the due date, a kind message goes out, and a day later the Treasurer team gets a call task due in 48 hours. A member is chased at most once a week, for 14 days after the due date.
- Monthly report to Executive committee: 0 8 1 * * in ‹workspace timezone›.
Channels
Section titled “Channels”| Channel | Needed for | Before it can send |
|---|---|---|
| sms | The reminders and the missed-contribution message | An SMS provider, or Origamy managed SMS after business verification (KYC). |
| The same messages (optional) | A connected WhatsApp Business number, and Meta approval of the three templates this playbook creates. | |
| The monthly report to your executive | Nothing extra. Reports go to your team members by email. |
What you need to do
Section titled “What you need to do”- Keep one row for each member in your sheet with their phone number, first name, group name, the due date (contribution_due_date, as 2026-11-30) and contribution_status (paid or due). Update the status when a member pays, and set the next due date and status due when the new cycle starts.
- Add the treasurer to the Treasurer team and your executive to Executive committee (Settings → Collaborators → Teams). A task or report sent to an empty team reaches nobody.
- Tell members, at a meeting or in your group chat, that reminders will come by SMS or WhatsApp, and that they can reply STOP at any time. Messages never show amounts, so you stay in control of what is said about money.
- Keep reminders friendly. Never name or shame a member, and never contact a member's family, employer or other members about what they owe. The treasurer calls the member only.
- If you chose WhatsApp: connect your WhatsApp Business number and submit the three reminder templates for Meta approval before switching the follow-ups on.
- Connect an SMS provider or finish business verification, switch the follow-ups and report on, and test with your own phone and a test row.
- Keep your ledger sheet simple: one row per member, one date column, one status column (paid or due). The treasurer updates the status when a member pays, and sets a new date and “due” when the next cycle starts. The next sync picks it up, so reminders stop for people who have paid.
- Weekly and monthly groups both work. For weekly groups, set the reminder to one day before (two days is the default) and the missed window to seven days, so each missed week is chased once.
- Members pay by bank transfer, POS or cash at a meeting, so write that in “how to pay” in your own words, and have the treasurer update the sheet the same day.
- Never show an amount, a ranking or a list of who owes in any message. If your group has a reminder rule or fine, state it at a meeting, not in an automatic text.
This playbook is synthesized: no customer has run it with us yet. If you build it, tell us what you changed, and we’ll replace it with the real version.
Copilot eval
Section titled “Copilot eval”The request used to test the copilot on this playbook (a live eval):
We run a thrift cooperative. Our members sheet has each member's phone, group name, the date their contribution is due and whether they've paid. Send a friendly SMS two days before the due date and on the day. If a member misses it, text them kindly and give our treasurer a task to call. Send our executive a monthly report with how many members are due, paid and missed. Keep messages free of amounts.
It passes when every piece is a valid draft and everything lands off, with at least: segment, workflow, message_template, report.
