Skip to content

Cooperative contributions

Synthesized from the base patterns lending pack

Keeps contributions on time without anyone chasing by hand. Members get a friendly reminder a couple of days before their contribution is due and another on the day. If it's missed, they get a kind message and the treasurer gets a task to call. The executive gets a monthly report of how many members are due, paid and missed.

  • 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.
HowWhat
A Google Sheet or Excel file, syncedYour 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 uploadOr a one-off CSV of your member list to start with, kept up to date by hand.
KindNameWhat it doesLands
TeamTreasurerCalls members who miss a contribution.Empty
TeamExecutive committeeGets the monthly report.Empty
SegmentContribution due soonContribution due within the reminder window, not paid.Ready
SegmentContribution due todayContribution due today, not paid.Ready
SegmentContribution missedContribution missed within the chase window, not paid.Ready
SegmentContribution paidMembers marked as paid.Ready
TemplateContribution coming up (SMS)Friendly reminder by SMS a couple of days before.Ready
TemplateContribution due today (SMS)Reminder by SMS on the due day.Ready
TemplateContribution missed (SMS)Kind message by SMS when a contribution is missed.Ready
TemplateContribution coming up (WhatsApp)Friendly reminder by WhatsApp. Needs Meta approval before it can be sent.Ready
TemplateContribution due today (WhatsApp)Reminder by WhatsApp on the due day. Needs Meta approval before it can be sent.Ready
TemplateContribution missed (WhatsApp)Kind message by WhatsApp when a contribution is missed. Needs Meta approval before it can be sent.Ready
ReportMonthly: contributionsEach month, how many members are due, paid and missed, to the executive.Off
Follow-upContribution 1: coming upDaily run over "due soon"; one friendly reminder per cycle, by SMS or WhatsApp.Off
Follow-upContribution 2: due todayDaily run over "due today"; one reminder, by SMS or WhatsApp.Off
Follow-upContribution 3: missedDaily run over "missed": a kind message, then a call task for the treasurer with the outcome saved.Off
#QuestionDefaultFills in
1What should messages call your cooperative or group?none, must answerorg_name
2How should members pay? (the sentence members will read in every reminder)none, must answerhow_to_pay
3Which team calls members who miss a contribution? (can be one person, the treasurer)Treasurertreasurer_team
4Who gets the monthly report? (for example the executive committee)Executive committeeexecutive_team
5Should reminders go by WhatsApp instead of SMS? (needs a connected WhatsApp Business number)Nouse_whatsapp

These have defaults. Change any that don’t fit.

SettingDefaultKey
Trait that holds the contribution due datecontribution_due_datedue_trait
Days before the due date for the first reminder2remind_days
Days after the due date when a missed contribution is still chased14missed_days
Hours the treasurer has to make the call48call_due_hours
Daily send time09:00send_time
Monthly report (first day of the month)0 8 1 * *report_cron
Greeting when a first name is missingtheregreeting_fallback
Time zone for the daily run and the report‹workspace timezone›timezone
  • 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›.
ChannelNeeded forBefore it can send
smsThe reminders and the missed-contribution messageAn SMS provider, or Origamy managed SMS after business verification (KYC).
whatsappThe same messages (optional)A connected WhatsApp Business number, and Meta approval of the three templates this playbook creates.
emailThe monthly report to your executiveNothing extra. Reports go to your team members by email.
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. If you chose WhatsApp: connect your WhatsApp Business number and submit the three reminder templates for Meta approval before switching the follow-ups on.
  6. 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.

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.