Theodore — user guide
Also published in the app at
/portal/guide(linked from the portal andadmin console headers as Guide). This file and
server/public/user-guide.mdare kept identical — the server serves the
public/copy so it works in production; this copy lives indocs/so it'seasy to find in the repository.
Theodore is a WhatsApp assistant for small service businesses. There's no app to install — you talk to it on WhatsApp like you would a colleague, and use a web portal when you want a dashboard, reports, or settings.
1. Getting started
If your business owner has already set you up, you'll have received a WhatsApp welcome message with a summary of what's switched on and a link to your web portal. Two ways to get portal access:
- You were invited by email — reply to the welcome message with your
email address and Theodore emails you a portal login.
- Self-signup — go to the portal link, choose "First time? Set up portal
access", enter the WhatsApp number you message Theodore from, then your email. You'll get a verification link by email; open it to set a password.
Once you're set up, everything below works straight from WhatsApp — the portal is there when you want to see more than one message at a time.
2. Talking to Theodore on WhatsApp
Just say what happened, in your own words. A few examples per skill below — you don't need to match them exactly.
Time & activity logging
"Marcus worked 5 hours at the Miller residence doing pipe repairs"
"2 hours completed with Jane, signed her up to a retirement annuity"
Logs the time, and for consultations records who you met and what you did.
Client portfolio
Mention what you did for the client as part of a consultation log and it's tracked automatically:
"signed him up to Liberty Investment and increased his retirement annuity"
See everything for a client any time in the portal's Clients tab.
Feedback survey & referrals
After you log a consultation, Theodore offers to ask the client to rate the service:
Theodore: "Do you want me to ask Jane to rate the service? (yes/no)"
You: "yes"
Theodore: "What's Jane's number?"
Theodore then messages the client directly: a 1–5 rating, whether the products were explained well, anything that wasn't covered, and (if your business collects referrals) one or two names to follow up on. You get a summary once they've answered.
Travel logbook (SARS)
Record your vehicle's odometer at the start and end of the tax year, and log every business trip as you make it:
"opening odometer 152000"
"drove 47km from office to Smith & Co in Sandton for a portfolio review"
"closing odometer 168450"
Theodore works out your business vs. private kilometres for the year. If you leave out the exact km, the destination, or the business reason, it'll ask — SARS needs all three on every trip. Private trips (including the drive between home and your regular workplace) aren't logged at all; private distance is worked out as total minus business.
Reminders
"remind me tomorrow at 9am to call the auditor"
"remind me in 2 hours about the Smith quote"
"remind me next Friday at 14:00 to submit the FICA return"
Theodore understands relative times ("in 3 hours"), days ("tomorrow", "Friday", "next Monday"), and exact dates. It replies with the time it understood so you can double check. Ask "what are my reminders?" to see what's pending, or "cancel my reminder about the Smith quote" to cancel one by name.
Quotes & invoices (PDF)
"generate a quote to Bob for 6 hours of Call-out labour"
"send an invoice to Thandi for 3 x Geyser 150L"
"quote Peter Parker for a TLB for 6 hours and an excavator for 12 hours, plus R6000 delivery and R12000 diesel"
"turn quote 001 into an invoice for Peter Parker"
Theodore first replies with the details — every item, the client's discount and the total — and a Generate quote (or Generate invoice) button. Nothing is created until you tap it, so check the details first; to change something, just send the corrected request, or tap Cancel.
When you tap Generate, Theodore numbers the document (QUO-0001 / INV-0001 …), makes the PDF on your own stationery (logo, layout, business details and footer — set up on the Business tab), sends it to you, and sends it to the client by WhatsApp and/or email. Every email to a client is copied to the salesperson who asked for it. If Theodore doesn't have the client's WhatsApp number or email yet, it asks you after generating and sends it as soon as you reply.
Name as many items as you like in one message, typed or as a voice note. Prices come from your services & products list; an amount you say for an extra ("R6000 for delivery") is used as-is; and a client's standing discount is applied automatically. If an item has no price yet, Theodore asks once — for several items in one numbered question, answered like "850, 1200" — and remembers the prices.
To invoice work you quoted, say "turn quote 001 into an invoice": you get the invoice details (same items, client and discount as the quote) and a Generate invoice button. Every quote and invoice is kept on the portal's Quotes & invoices tab.
Recording payments. When a client pays, tell Theodore:
"R800 payment received against invoice 0001"
"Peter Parker paid 500"
If you name the invoice, the payment goes straight onto it. If you only name the client, it goes on their unpaid invoice — or, if they have more than one, Theodore lists them and asks which (reply "1", "2", … or the invoice number). Every time, it replies with the invoice total, everything received so far and what's still outstanding. A payment on an invoice that's already paid in full, or for a client with no unpaid invoice, isn't recorded — Theodore tells you why.
Quotes come from your business only when your WhatsApp number is on the Team list (and active). If Theodore says it doesn't recognise your number, add it under Team in the portal.
Expenses
Record what the business spends, any of three ways:
"spent R450 on diesel at Engen"
"I paid R120 for parking yesterday" (or say it in a voice note)
…or just send a photo (or PDF) of the slip. Theodore reads the shop, total, VAT and date off it, files it under a category (Fuel, Materials & stock, Meals & entertainment, …) and keeps the slip. Add a caption like "diesel for the TLB" to say what it was for. If it can't read the total, it saves the slip and asks "How much was it?".
Every time, Theodore replies with what it recorded and a Delete button in case it got something wrong. Anything else can be fixed in the portal.
"What can I do?" — checking your active services
"what services do I have active?"
"what can you do for me?"
Theodore answers only with what's actually switched on for your business — never a guess, and never something you can't use. Each one comes with a short example so you know how to trigger it.
Quick summaries
"how many clients did I see this week?"
"how many kilometres have I travelled this month?"
"how many billable hours do I have for the month?"
Works for today, this week, or this month (say the period, or leave it out for "this month").
Asking for something that isn't turned on
If you ask for something Theodore recognises but your business hasn't switched on, it says so — and if you're the owner, it offers to switch it on right there:
Theodore: "Your business doesn't have the travel logbook enabled. Want me to
switch it on now? Reply 'yes' to activate SARS travel logbook."
Reply "yes" and it's on immediately — just resend your original message. Team members (not owners) are told to ask their business owner instead.
3. The web app (/app)
Sign in with your email and password (forgot it? use Forgot password? on the sign-in page). On a computer the menu is down the left; on a phone it's a tab bar along the bottom (Home, Invoices, Expenses, Messages, More). Pick Light, Dark or Auto at the bottom of the menu. Owners see the whole business's records; team members see their own.
- Home — what needs your attention (unpaid invoices and the oldest one,
slips that still need an amount, drafts not generated yet, and for owners the billing balance), this month's invoiced vs. received, expenses by category, and what Theodore recorded most recently.
- Quotes & invoices *(if switched on)* — every quote and invoice with its
total, paid and outstanding. Filter by type and dates, Export CSV. Open one to see its items, Open PDF, Resend to client, turn a quote into an invoice (Turn into invoice), and see every payment. Owners can record a payment or remove one, and download the invoices & payments report.
- Expenses *(if switched on)* — every expense with the slip as proof.
Filter by dates and category, open one to edit it or see the slip, Add expense by hand (attach a slip and press Read slip to fill the form in), and Export CSV for your accountant.
- My messages — your WhatsApp conversation with Theodore, with how it
handled each message.
- Work done — every meeting or site visit you've logged.
- Reminders *(if switched on)* — set, see and cancel reminders.
- Logbook *(if switched on)* — odometer readings, trips (add or delete),
the business/private split and a SARS CSV export.
- Clients — everyone you work for. Open a client to see their quotes,
invoices, payments, messages, work, linked expenses and feedback in one place; owners can edit contact details and the standing discount, and add clients.
- Feedback — referrals (select one to see the survey it came from) and
every survey's answers.
- Business settings *(owners only)* — Profile, Services, Quote & invoice
PDFs, Price list, Team (change roles, deactivate or reactivate people) and Billing — see the next sections.
4. Billing
Theodore charges a small monthly fee for each service your business has switched on, plus a per-message usage fee. Everything runs off a prepaid balance:
- Top up before you need it. Add credit any time from the Billing
tab — enter an amount and confirm. There's no live card payment wired up yet, so a top-up is recorded immediately as a manual credit (ask your operator if you need a different arrangement).
- Set a monthly limit if you want to cap what you could ever be charged
in a calendar month, e.g. R50. Once that's reached, Theodore simply stops billing further usage for the rest of the month — it does not stop the service.
- Low-balance warning. When your balance drops to or below the warning
level (R10 by default), the business owner gets a WhatsApp notice to top up. You won't be messaged again for the same drop until you've topped up.
- The Billing tab shows exactly what each active service costs per
month, your usage so far this period, and your recent transactions.
5. For business owners
Business settings in the app is where you configure the business:
- Profile — name, industry, what you call your people (e.g. "adviser"),
dialling code, time zone, currency, and a description. Time zone and currency default from your dialling code (e.g. +27 → Africa/Johannesburg and ZAR) — use "Use dialling-code default" to reset them, or pick your own.
- AI configuration — paste a description of your business and Theodore
suggests which services to switch on; review and save.
- Services — toggle any service on or off directly.
- Quote & invoice PDFs — upload one of your existing invoices as a PDF
and Theodore copies its layout (positions, colours, fonts, headings, VAT and banking blocks) for both your quotes and your invoices — it takes about a minute. It also fills in your business details, footer and VAT rate for you to check. Use Preview quote / Preview invoice, then Save stationery. Upload your logo (PNG/JPG) too — it goes where your invoice has its logo. Prefer something simpler? Pick the built-in Classic or Modern layout instead. VAT % (0 if you don't charge VAT) is added to every quote and invoice total.
- Services, products & equipment — your standard prices (e.g. "Call-out
labour, R450 per hour" or "Geyser 150L, R6,500 each"). Quotes use these without asking.
- Clients — each client's WhatsApp number, email and discount %,
applied to every quote and invoice for that client.
- Members — see everyone on your team, add a new one (they get a
one-time password if you give them an email), and reset passwords.
You can also make most of these changes over WhatsApp by replying with lines like:
industry: Financial planning
title: adviser
services: rating, referrals, reminders
country: 27
6. Getting help
- Something not working the way you expect? Just describe the problem in
plain language on WhatsApp or ask your operator.
- This guide is also available any time at
/portal/guide.