VetCare: veterinary practice management that survives load-shedding
Independent vet clinics in South Africa run on paper registers, Excel and WhatsApp groups, because enterprise vet software is priced for US hospitals. VetCare gives a 1 to 5 vet clinic records, consultations, vaccinations, stock, VAT invoicing and WhatsApp reminders, keeps working when the power goes out, and is sold as a one-time licence.

In short
VetCare is veterinary practice management software for independent clinics in South Africa, designed and built by Digital Web Weaver. It covers SOAP consultations with structured vitals, prescriptions and vaccinations with next-due reminders, owner and pet records, stock with batch and expiry tracking, 15% VAT invoicing, six staff roles and WhatsApp and SMS reminders. It works offline during load-shedding and is sold as a one-time licence managed from a vendor console.
// the problem — software priced for US hospitals, power that goes out
Why independent vet clinics were left behind
Enterprise pricing
Monthly subscriptions of $300 to $500, prices hidden behind sales calls, and screens that wear out reception staff.
Paper loses things
Vaccinations go untracked, follow-ups are forgotten, and nobody sees a pet's full history in one place.
Email reminders go unread
South African clients live on WhatsApp, so email-only reminders mean missed appointments and lapsed boosters.
Load-shedding breaks cloud tools
An app that stops working mid-consultation when the power goes out can't be relied on.
Stock and money leak
Vaccines expire on the shelf, controlled substances need a register, and invoices must meet SARS rules.
// what we built — booking to invoice, per clinic, by role
One system for the whole visit
Screenshots show a demo clinic, "Paws & Claws Veterinary Clinic" in Johannesburg. All owners, pets, staff, invoices and amounts are made up.
01 · Dashboard
Alerts that point to the fix
Clinic admins, vets and receptionists each see what matters to their job. At the top are alerts for products below reorder level, stock batches expiring within 30 days, overdue invoices and unfinished consultations, each linking to the screen that resolves it.
Below are totals for owners, patients, consultations and revenue, a six-month revenue trend, the last seven days of appointments, a live "today" panel and species distribution.
- Expiry alerts 30 days ahead
- Role-aware widgets

02 · Clinical records
SOAP consultations, prescriptions and vaccinations
Each consultation follows the SOAP format (subjective, objective, assessment, plan) with temperature, heart rate, respiratory rate and weight captured as data, and normal ranges for dogs and cats shown alongside.
Prescriptions record dose, frequency, duration and owner instructions against a stock product. Vaccinations record route, manufacturer, batch and vial expiry, and the next due date is worked out automatically.
- Structured vitals with normal ranges
- Next-due vaccination dates
- SA vaccine schedule guide



03 · Billing & stock
SARS-ready invoices and first-expiry-first-out stock
Invoices carry 15% VAT with sequential numbering, discounts with a recorded reason, issue and void, and credit notes, and can be created straight from a finished consultation. Payments are recorded by cash, card, EFT or mobile money, including part-payments.
Products carry cost and selling price, a reorder level and a controlled-substance flag. Goods received record batch and expiry per line, and stock is always dispensed from the batch that expires first.
- Invoice from the consultation
- Overdue invoices highlighted
- Controlled-substance flag

04 · Staff & roles
Six roles, checked on the server
Super Admin, Clinic Admin, Veterinarian, Receptionist, Nurse and Accountant, with permissions grouped by module and checked on every action, not just hidden in the menu. Admins can search staff, activate or deactivate them, reset passwords and end active sessions. Vets carry their SAVC registration number.

05 · Vendor console
Licences and clinics managed in one place
A separate console for us as the vendor lists every clinic with its plan, user count and licence expiry. Licence keys are issued, extended and revoked on Solo, Standard or Hospital plans, each with a vet-seat limit, enabled modules and a heartbeat showing when it last checked in.
A global user audit covers every user across every clinic.
- One-time licences, no subscription
- Expiring licences flagged



06 · Phones & offline
Works on a phone, and when the power is out
Below the desktop breakpoint the sidebar becomes a bottom tab bar and every form and list reflows to one column, so the front desk or a vet on a ward round can work from a phone.
VetCare installs like an app. A service worker caches the app, IndexedDB keeps records and a queue of changes made offline, and the queue syncs automatically when the connection returns.






// built for South Africa, not adapted to it
Local rules built in
SARS VAT
15% VAT on every invoice line by default, with sequential tax-invoice numbering.
SAVC
Registration numbers on vet profiles for prescriptions and certificates.
POPIA
An audit log of who created, changed, deleted or exported which record, from which IP address.
Local data
SA ID numbers, the nine provinces, rand, Johannesburg time and +27 phone formatting.
WhatsApp first
Templated reminders over WhatsApp or SMS via BulkSMS, with opt-ins and quiet hours from 8 PM to 7 AM.
Load-shedding
Offline mode with background sync, so a power cut doesn't stop a consultation.
Technology
| Layer | Technologies |
|---|---|
| Backend | PHP 8.2, Laravel 11, service classes for invoicing, first-expiry-first-out stock and messaging |
| Frontend | Vue 3 with Inertia.js, Pinia, Tailwind CSS 3, ApexCharts |
| Auth & access | Laravel Breeze, Spatie Laravel Permission with module permissions, per-clinic data scoping, session management |
| Database | MySQL with 38 migrations, from clinics and licences to stock, invoices and audit logs |
| Offline | Service worker, IndexedDB request queue with automatic re-sync, installable web app |
| Messaging | BulkSMS API for WhatsApp and SMS, templated queue with quiet hours and retries |
| Build | Vite 5 |
In numbers: 24 models, 27 controllers, 89 Vue components and pages, 38 database migrations, 6 roles and 20 settings areas.
Status and roadmap
VetCare is in active development and built in phases: the clinic app, the vendor console, settings, menu and staff management, and offline mode are done. On the roadmap are a public online-booking page, telemedicine, a formal controlled-drug register report and expansion to other African markets.
Our role
Digital Web Weaver owns VetCare end to end: product research for the South African market, UX and visual design, the clinic app, vendor console and offline mode, the database and permission model, messaging, and licensing.
// vetcare-case-study.faq.md
VetCare case study FAQ
Can't find yours? Ask us directly — we reply within 24 hours.
Still deciding? Talk to a senior engineer.
No sales script — a real technical conversation about your project, free.
What is VetCare?
VetCare is veterinary practice management software for independent clinics in South Africa, designed and built by Digital Web Weaver. It covers patient records, SOAP consultations, prescriptions and vaccinations, stock with batch and expiry tracking, 15% VAT invoicing, staff roles and WhatsApp and SMS reminders, and it keeps working offline during load-shedding.
Does VetCare work during load-shedding?
Yes. It is an installable web app that caches the app and records in the browser. Changes made while the connection is down are queued and sync automatically when it returns, and a banner shows the sync status.
Is VetCare a monthly subscription?
No. It is sold as a one-time licence on Solo, Standard or Hospital plans, with optional hosting by us, instead of the $300 to $500 a month that enterprise veterinary software charges.
Is it built for South African rules?
Yes. Invoices carry 15% VAT with sequential tax-invoice numbers, vet profiles hold SAVC numbers, owner records use SA ID numbers and provinces, and an audit log records who changed or exported which record for POPIA.
How are reminders sent?
Through WhatsApp or SMS from templates for appointments, vaccinations due and invoices, only to owners who opted in, and never between 8 PM and 7 AM.
Can you build software like this for us?
Yes. VetCare shows how we build practice-management software end to end. Tell us about your clinic or product idea and get an itemised plan and fixed quote within 24 hours.
you@dww:~ $ ./contact --vet-clinic
Want VetCare for your clinic?
Tell us how many vets you have and how you run the clinic today. We'll show you VetCare and send an itemised plan within 24 hours.
One-time licenceWorks offlineSARS VAT ready