One action, one event
Most practice software is a set of modules that agree with each other only if somebody makes them. Vetmira is built the other way round. A thing that happened is recorded once, and everything that follows from it happens at the same moment.
In the consulting room
The charge is the treatment
Giving a vaccine is what raises the line. Dispensing a course is what takes it out of stock. There is no separate step to remember at the end of a visit, which is the step that gets missed on the day a clinic is busy.
A product with no price set does not get guessed at. It records the care and charges nothing, and the front desk can add the line by hand. A made up number on an owner's invoice is worse than a missing one.
The same visit screen holds the handling warnings, the weight the dose is calculated from, what the animal is already on, and what is overdue. A warning that has to be looked for has already failed.
The estimate
People decline care they cannot pay for in one go
Usually they are shown one number and asked yes or no. The estimate already holds a better answer than that: it is grouped into what is needed, what is advised and what is optional, and each group has a price.
So the owner sees those as choices rather than as headings. Just what is needed, needed and recommended, or everything, each with its own total. Where a practice offers its own instalment arrangement, the monthly figure sits beside the lump sum. That is division on a practice's own prices. No lender, no application, no credit decision.
Every revision is a new version, so the prices and decisions an owner actually saw survive. A decline is recorded against the line it refers to. When somebody asks in six months what was offered and what was turned down, the record answers.
The ceiling
A bill that cannot quietly drift
A visit does not produce one invoice. Converting an estimate writes one, and the vaccines and medicines given on the day land on a running tab. Either can look reasonable on its own while the two together pass what the owner agreed to, and it is the pair they end up paying.
So the amount approved is held against everything the visit charges. Overrunning is allowed, because the work was done and refusing to bill it would be worse. Unattributed overrunning is not: somebody's name goes on the reason, and the reason covers the overrun it was written for rather than whatever arrives afterwards.
It is checked at every point money moves. Issuing the tab, taking payment at the desk, and the owner paying from their phone.
The owner
No app to install
A secure link opens in whatever browser is already on the phone. Pick the pet, read the estimate, approve or decline line by line. Booking, intake forms, consents, messages, records and paying a bill all work the same way.
Households hold more than one animal, and the balance belongs to the household rather than to the pet. An owner with three dogs has one account and one conversation about money, which is how they already think about it.
Text messages and emails say only that something is waiting. Never the subject, the form name or the reason for the visit. Which questionnaire somebody was asked to fill in can imply why they are being seen.
Underneath
Numbers that can be explained
Stock and money are append only. Every movement records what caused it, and totals are worked out from those movements rather than stored and adjusted. A balance can always be explained, and it cannot drift away from its own history.
Signed notes stay readable exactly as signed, with corrections added as amendments. Services, staff accounts and animals are retired rather than deleted, because last month's invoice has to keep making sense.
Records are encrypted at rest, access is by role, staff sign in with two factor if the practice turns it on, and every read of a record is logged. Card details never reach a Vetmira server, because payment happens on the processor's own page.