Morning report delivery
How the figures reach us, and the report reaches them
The proposed setup for getting each day's sheets from the bakery to us, and the morning report back to Yusuf and Naeem, with the routes we looked at and why. Written 7 October 2026 by Claude Code with Mo; research with sources in working/reporting/whatsapp-intake-research-2026-10-07.md.
The short answer
- Every morning, one person at the bakery sends two photos on WhatsApp to a contact called something like "BakeServe Reports": the production sheet and the loading book page. About a minute, from wherever they are.
- Everything after that is automatic. Our server receives the photos the moment they are sent, files them in Drive, reads them, does the sums and sends the report.
- We check for five minutes a day in the first two weeks, from Discord #bakeserve on the phone. After that, days where everything adds up send themselves.
- Yusuf and Naeem get the report on WhatsApp from the same contact: three lines and a link.
- Accounts send their sales Excel once a week by email, so we can check our photo readings against their typed figures.
- Nobody at Akoma downloads or uploads anything. We are needed only for the daily check in the first two weeks, and when a reminder to the bakery goes unanswered.
What the report needs, and where each figure comes from
The production sheet shows what was baked, the bakery's damages and the raw materials used. It says nothing about what was sold. Sales are written on the salesmen's route sheets and in the bakery's loading book; accounts type them into Excel one to two days later (S80). Without sales the report shrinks to raw materials and damages.
Two ways to get the sales:
| Accounts' sales Excel | Photo of the loading book page | |
|---|---|---|
| What it holds | Each route's sales, typed by accounts | Loaded, sold and returned for every route and the gate shop, written on the day |
| How fast | One to two days late (S80) | Ready the next morning |
| How it is sent | From a computer: WhatsApp on the desktop or email | From a phone, with the production sheet photo |
| Accuracy | Typed and checked by accounts | Handwritten, read by AI; matched the salesmen's reports line for line on 6 October (S69) |
| Still to find out | Whether they can send it daily | Who fills in the loading book, and whether one page covers every route (S69) |
Our suggestion: the loading book photo every day, the Excel once a week as the check. If the Excel has to come daily instead, the photo goes on WhatsApp and the Excel by email, and both land in the same Drive folder.
The proposed route: WhatsApp in, WhatsApp out
Click any step, or let it play.
- What happens
- Munir, or whoever fills in the loading book, photographs yesterday's production sheet and the loading book page and sends both to the saved contact "BakeServe Reports", like any WhatsApp photo.
- Where it lands
- WhatsApp chat with "BakeServe Reports" (our own new number)
- Who does it
- The bakery. About one minute, from wherever they are.
- What happens
- WhatsApp passes the photos straight to our server through Meta's official connection. The server files them in a dated folder and replies "Received, thanks", so the sender knows it worked.
- Where it lands
- Drive › AKOMA_ › Initiatives › Zambia Factories › Bakeserve › Daily records › 2026-10-12
- Who does it
- Automatic, on Marvin's server. Nobody downloads anything.
- What happens
- AI reads the handwriting into numbers. The readers and sums we already built work out stock, damages, the sales estimate and flour against bread, and list anything that does not add up.
- Where it lands
- Drive › … › Bakeserve › BakeServe tables (Google Sheet), plus a draft report
- Who does it
- Automatic. Already built and tested; today it is run by hand.
- What happens
- A message in Discord #bakeserve shows each photo next to what the AI read from it, and the draft report. Approve if it is right; type a correction if a number is wrong.
- Where it lands
- Discord #bakeserve
- Who does it
- Mo or Zubair, about five minutes. First two weeks only; after that, clean days send themselves.
- What happens
- Yusuf and Naeem each get a WhatsApp message from "BakeServe Reports": three short lines and a link to the full report behind an email-code login.
- Where it lands
- Yusuf's and Naeem's WhatsApp, one by one (a group can come later)
- Who does it
- Automatic. About USD 0.004 a message.
- What happens
- If no photos have arrived by 09:30, "BakeServe Reports" sends the bakery a reminder and tells us in #bakeserve.
- Where it lands
- The sender's WhatsApp, plus a note in Discord #bakeserve
- Who does it
- Automatic. We only act if the reminder goes unanswered.
The fallback route: email in, email out
The same machinery with an email address instead of a WhatsApp number. Simpler to set up, but someone at the bakery has to send from a computer or attach a photo to an email, which is more effort than a WhatsApp message.
- What happens
- Munir emails the production sheet photo and the sales Excel to one fixed address. The photo first has to reach his computer, or he attaches it to an email on his phone.
- Where it lands
- Inbox: bakeserve-reports@… (one address, name to choose)
- Who does it
- Munir. A couple of minutes, at a computer.
- What happens
- The server checks the inbox every 10 minutes, takes the attachments out and files them in a dated folder.
- Where it lands
- Drive › AKOMA_ › Initiatives › Zambia Factories › Bakeserve › Daily records › 2026-10-12
- Who does it
- Automatic, on Marvin's server.
- What happens
- The Excel goes through the readers we already built; the photo is read by AI. Then the same sums and checks run.
- Where it lands
- Drive › … › Bakeserve › BakeServe tables (Google Sheet), plus a draft report
- Who does it
- Automatic.
- What happens
- The same check in Discord #bakeserve: photo against reading, and the draft report.
- Where it lands
- Discord #bakeserve
- Who does it
- Mo or Zubair. First two weeks only.
- What happens
- Three short lines and a link go to Yusuf and Naeem by email.
- Where it lands
- Yusuf's and Naeem's email
- Who does it
- Automatic.
- What happens
- If no email has arrived by 09:30, the server reminds Munir and tells us in #bakeserve.
- Where it lands
- Munir's email, plus a note in Discord #bakeserve
- Who does it
- Automatic.
Four ways in, compared
| Way in | For the bakery | For us | Risk | Cost a month | Verdict |
|---|---|---|---|---|---|
| WhatsApp, Meta's official connection | Send to a saved contact, like any message | A new number and a Meta business account; files arrive at our server in seconds | Low: this is what Meta built it for | Under USD 1 | Proposed |
| Email to one fixed address | Photo has to reach a computer, or be attached to an email on the phone | A dedicated inbox; the server checks it every 10 minutes | Low | Nil | Fallback; good for the weekly Excel |
| WhatsApp, linked ordinary number (Marvin's plugin, Baileys and similar) | Post in a group they already use | Plugin install and config change on Marvin's live gateway | High: WhatsApp warns linked unofficial apps can get the number banned; bans reported in 2025 and 2026; open bugs in the plugin's attachment and group handling | Nil | Rejected for a client feed |
| Share to a Drive folder from the phone | Photo, Share, Drive, pick the folder, save: more taps, easy to get wrong | Server watches the folder | Low, but sends get missed or filed in the wrong place | Nil | Rejected |
Getting the report out
| Way out | What it takes | Verdict |
|---|---|---|
| WhatsApp, to Yusuf and Naeem one by one | A pre-approved message template ("here is today's report" and a link); about USD 0.004 a message to a Zambian number | Proposed |
| Nothing new; the report goes from the new address | Fallback, or as well | |
| A new WhatsApp group made by our number | At most 8 people, members join by invite link, only after Meta grants "Official Business Account" status (30 days on the platform, business verification, approved display name) | Later, if they want a group |
| Their existing WhatsApp group | Only possible with a linked ordinary number | No: same ban risk as above |
What the WhatsApp route needs from us
- A new SIM card (Zambian or South African) that has never been on WhatsApp. It becomes the "BakeServe Reports" number.
- A Meta business account with a payment card, in Akoma's or Tinkerbird's name. Business verification is not needed at this volume. Mo sets up the account and the card himself.
- One message template approved by Meta, for the daily report.
- A small program on Marvin's server that receives the photos, files them in Drive, runs the readers and sums we already have, asks for the check in #bakeserve, sends the report and the 09:30 reminder.
Cost: under USD 1 a month. Messages coming in are free; replies within 24 hours are free up to 1,000 a month (Meta's rule from 1 October 2026). No paid WhatsApp provider is needed.
Time: Meta gives a free test number, so the program can be built and tested at once. Registering the real number takes an estimated 1 to 3 days (Meta does not publish a figure).
What is already built: the readers and the sums (working/reporting/). What is not: everything on this page that runs by itself.
Open decisions
- Mo: Akoma or Tinkerbird as the name on the Meta business account.
- Mo or Zubair: a new SIM for the number; Zubair can buy a Zambian one in Lusaka this week.
- Zubair, on site before Friday: who fills in the loading book, and could that person or Munir photograph it each morning with the production sheet? (Accounts agreed on 6 October to "sales in any format".)
- Zubair: is Munir happy to send by WhatsApp to a saved contact?
- At the walkthrough: who receives the report, and whether by WhatsApp, email or both.
Sources
- Meta, WhatsApp Cloud API: get started, receiving files, pricing, groups, Official Business Account. All read 7 October 2026.
- WhatsApp help on linked devices and unofficial apps: faq.whatsapp.com.
- Bakery facts: findings log S69, S80 and the accounts meeting of 6 October (
working/discovery-2026-10-06/2026-10-06-accounts-meeting.md).