Vinnie · Guide← Back to the app

Vinnie — user guide

Also published in the app at /portal/guide (linked from the portal and

admin console headers as Guide). This file and

server/public/user-guide.md are kept identical — the server serves the

public/ copy so it works in production; this copy lives in docs/ so it's

easy to find in the repository.

Vinnie 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:

email address and Vinnie emails you a portal login.

access", enter the WhatsApp number you message Vinnie from, then your email. You'll get a verification link by email; open it to set a password. If your owner didn't give you login when they added you, your login then waits for an owner to approve it: they get a WhatsApp message with Approve / Decline buttons (or approve it under Business settings → Team), and Vinnie messages you as soon as they decide. If they did give you login, you're straight in and the owners just get a note that you're now active on the app.

now) or later with Business settings → Team → Give login**. This creates a password the owner shares with you. You then sign in with your WhatsApp number; no email needed.

Lost the link? Just ask Vinnie on WhatsApp:

give me the login link

If your number has login access, Vinnie replies with the link and how to sign in. If it doesn't yet, Vinnie tells you to ask your business owner.

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 Vinnie 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

"worked 3 hours for Peter Parker replacing the geyser"

"Sam worked 2.5 hours at the Davis residence" (a teammate's hours)

"met with Jane Smith for 1 hour about her retirement annuity"

Logs the time, and for client meetings records who you met and what you did. The hours are yours unless you name a teammate (Vinnie won't log hours for someone who isn't on your Team). They go on the client you name. If it's a name you haven't used before, that person is added to your clients. If you're on a job, they go on the job's client. If the hours or the client are missing, Vinnie asks; if more than one client could be meant, it asks which. Hours are valued at your price list's hourly Labour rate when you have one; otherwise just the hours are recorded.

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

With the service-rating survey switched on, Vinnie offers to ask the client for feedback whenever a service is done: after you log a client meeting, and when you mark a job done.

Vinnie: "Do you want me to ask Jane to rate the service? (yes/no)"

You: "yes"

Vinnie: "What's Jane's number?" (only if it doesn't have it yet)

Vinnie then messages the client directly with a few tap-to-answer questions and, if your business collects referrals, asks whether they'd refer or recommend you. You get a summary once they've answered.

The questions fit your kind of business:

service, whether everything was explained clearly, and whether it covered what they needed.

you arrived and finished on time, and whether you left everything neat and tidy.

were kept informed, and whether it was good value for money.

Vinnie picks the set from your industry. To choose it yourself, go to Business settings → Services → Rating questions.

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"

Vinnie 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"

Vinnie 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"

Vinnie 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, Vinnie 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 Vinnie 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, Vinnie 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 Vinnie:

"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, Vinnie 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 — Vinnie tells you why.

Quotes come from your business only when your WhatsApp number is on the Team list (and active). If Vinnie 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. Vinnie 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, Vinnie replies with what it recorded and a Delete button in case it got something wrong. Anything else can be fixed in the portal.

Jobs

A job is one piece of work for a client. Open one when the work starts:

"new job: geyser replacement for Peter Parker at 12 Main Rd"

"open a job from quote 7" (takes the client and work from the quote)

The job you open becomes your current job. While you're on it, the hours and expenses you send (typed, voice note or slip photo) go on that job, and Vinnie's reply says which job. You don't have to name the client again, because time is logged under the job's client.

"starting the Parker job" / "I'm on job 3": go on a job (or switch to another)

"off the job": you're not on any job (the job stays open)

"job done" / "the Parker job is finished": closes it and shows its totals

"my jobs": the open jobs (▶️ marks yours)

"how's the Parker job going?": hours, expenses, materials and profit so far

Everyone in the business can see and work on every job. If Vinnie can't tell which job you mean, it asks.

Materials. A job opened from a quote starts with the quote's lines as its *planned* materials. As the work goes in, say what you used, and it goes on your current job (or name the job):

"used 3 copper elbows"

"used 20m of 15mm pipe on the Parker job"

"used 2 more bags of cement"

Invoicing a job. When the work's done:

"invoice the Parker job" / "invoice this job"

The invoice bills the materials used. If nothing was marked used, it bills the planned ones, which is the job as quoted. Logged hours are added as a Labour line, unless the bill already charges for time. Prices come from the materials, then your Price list; if one is missing Vinnie asks once and remembers it. You then approve the invoice as usual. A job is invoiced once; bill anything extra as an ordinary invoice.

Profit. A job's profit is what was invoiced (or quoted, until it's invoiced), less the expenses on it and its labour cost. Labour cost is each person's hours times their cost per hour, which an owner sets under Business settings → Team. All amounts are before VAT. Only owners see labour cost and profit.

Bookings and booking rules

Book on WhatsApp with the service and the client:

"book Jane for gel nails on Friday at 10"

The booking takes the service's length from your price list and is titled "Gel nails - Jane". Give each service a length when you add it ("price: Gel nails R350, 60 min", or Takes (min) in Business settings → Price list).

Owners set the booking rules under Business settings → Bookings:

Reminders to clients. Before every booking with a client, Vinnie messages them on WhatsApp: "a reminder of your Gel nails with Bella at Glow Beauty on Wednesday 28 October at 10:00", with Confirm and Reschedule buttons. With no WhatsApp number, it goes by email.

their answer on to you.

The reminder goes 24 hours before by default. Owners change that under Business settings → Bookings → Remind clients, where 0 switches reminders off.

When you book someone with no number or email on file, Vinnie asks for one, or you can reply "no reminder". In the calendar, a booking shows when its reminder goes and whether the client confirmed. You can add their number there, or press Don't send. Moving a booking sends a fresh reminder for the new time. If a reminder can't be delivered, you're told so you can contact the client yourself.

Switch on "Check every booking against these rules" and every booking or move, on WhatsApp or in the calendar, is checked. If it breaks a rule, Vinnie tells you which and offers the next allowed time. You can still book it anyway.

Meetings, tasks and your clients

Your calendar and to-do list are always on:

"schedule a meeting with Jane Smith tomorrow from 10 to 11"

"add task: call Peter Parker about his annuity, high priority, due Friday"

When a meeting or task is for one of your clients, Vinnie links it to them, so it shows on that client's page in the app. It decides like this:

one client has): it's linked, and the reply says so.

which, with a numbered list. Reply with the number or the name, or "none" if it isn't for a client. The meeting or task is saved either way.

meetings with a teammate are never linked to a client.

Things a record can only link to through a service you have switched off (a job, say) are never asked about.

Several things in one message

You can ask for more than one thing at once, in a typed message or a voice note:

"Drove from Bononi to Sandton, 30km, to meet Elecia about her life cover and

investments for 90 min - please remind me tomorrow at 10 to follow up about

tax on her investment payout"

Vinnie first lists what it understood ("Got it - 3 things: …"), then does each one in order and replies to each one separately, marked (1/3), (2/3), (3/3). Here that's the trip in your logbook, the 90-minute meeting with Elecia, and the reminder. A trip "to meet" a client for a stated time counts as both the trip and the meeting.

If more than one of them needs an answer from you (which client, send a survey?), Vinnie asks one question at a time and asks the next one after you've answered.

"What can I do?" — checking your active services

"what services do I have active?"

"what can you do for me?"

Vinnie 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 Vinnie 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:

Vinnie: "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.

Switching a service off hides it everywhere: its WhatsApp commands, its screens in the app, and its parts of each client's page. A financial adviser with quotes, expenses and jobs off, for example, sees a client's meetings, tasks, work done and feedback, with no invoices or jobs. Nothing is deleted: switch it back on and everything recorded before is still there.


3. The web app (/app)

Sign in with your WhatsApp number or your email, plus your password — switch between the two at the top of the sign-in form. Forgot it? Use Forgot password? on the sign-in page (needs an email on your login), or ask your business owner for a new one. 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. Business settings are visible to the whole team, but only owners can change them.

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 Vinnie recorded most recently.

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.

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.

expenses, what it was quoted or invoiced at and (for owners) its profit. Open one to see its materials (planned against used, with prices you can edit), each time entry and expense, and its invoice. Press Invoice this job to create the invoice, or I'm on this job so what you send goes on it. Change its details or status there too. New job opens one by hand, optionally from a quote. In an expense's form, Job moves the expense onto another job (or off one).

handled each message.

the business/private split and a SARS CSV export.

list. Click a free time to book (pick a service and its length is filled in, and a client), click a booking to send an invite, move or cancel it, or drag it to a new time. Closed hours are shaded and blocked days show in orange. Add to my phone gives you a private link that shows your bookings in your iPhone, Google or Outlook calendar (kept up to date, read-only). Make a new link stops the old one working. Your to-do list is underneath.

their meetings and tasks, plus whatever your services add: jobs, quotes, invoices, payments, work done, linked expenses and feedback. Only the parts for services you have switched on are shown. Owners can edit contact details (and, with quotes & invoices on, the standing discount) and add clients.

every survey's answers.

PDFs, Price list, Team (change roles, set each person's cost per hour, deactivate or reactivate people) and Billing — see the next sections.


4. Billing

Vinnie 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:

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).

in a calendar month, e.g. R50. Once that's reached, Vinnie simply stops billing further usage for the rest of the month — it does not stop the service.

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.

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:

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.

suggests which services to switch on; review and save.

and Vinnie 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. Before a new logo or sample invoice is used, Vinnie shows you what it is and what it replaces, and asks you to confirm. 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.

(e.g. "Call-out labour, R450 per hour" or "Geyser 150L, R6,500 each"). Quotes use these without asking. Upload price list reads a whole list at once: a CSV (from Excel or Google Sheets: Save as / Download → CSV), a PDF, or a photo of your price board or menu. You see every line marked new, changed (with the old price) or the same, and untick anything you don't want. Lines on your list that aren't in the file are kept unless you tick them for removal. Nothing changes until you press Update price list. PDFs and photos are read by AI, so check the prices first.

applied to every quote and invoice for that client.

one-time password if you give them an email), and reset passwords.

Updating your business on WhatsApp

Say "I want to update my business profile" (or "update my settings", "what can I change?"). Vinnie replies with what's on file, how to change each part, and your login link for anything that's easier in the app (logo, quote & invoice layout, team, billing). Then just send the changes, one per message, and say "done" when you're finished:

"title: technician", "vat: 15", "change our name to Spark Electrical"

service rating". Only the services you name change.

"price: TLB hire R850 per hour" (adds it, or changes the price), "remove price: TLB hire"

"automatic"

1234", "footer: FNB 62812345678 · payment within 30 days"

Sending your logo, price list or a sample invoice on WhatsApp: send the picture or PDF with a caption saying what it is: "logo", "price list" or "sample invoice". A PDF named like "Price List 2026.pdf" needs no caption. A picture with no caption is read as an expense slip. If it isn't one, Vinnie asks whether it's your logo, price list or a sample invoice. Nothing changes until you reply yes:

before updating it. Nothing on your list is removed.

These work any time, not only after asking. Only owners can change them; a team member who asks is told who to ask and gets their own login link. Anyone can say "show my price list".


6. Getting help

plain language on WhatsApp or ask your operator.