Help Centre
Open FastVet

Help Centre Reports

Reports

Every report FastVet has: what question each one answers, where its numbers come from, when to run it, and which of them your accountant can have as a spreadsheet.

FastVet's reports answer three kinds of question — what happened today, what is the money doing, and what moved through the shelves. Each one below says what it is for, where its figures come from, and the thing about it that catches people out. None of them changes anything: a report is safe to open.

Where they live#

The two run daily have their own tiles on Home. Everything else is behind Reports.

The reports hub.
The reports hub.
On HomeBehind Reports
Daily summary
Account book
Payments received · Debtors age analysis
Monthly history · Category detail · Category summary
Activities · Stock used · Stock value
Expiring stock · Stock to order · Schedule drugs
Lab results · Email history · Accounting export (Admin)

Choosing the period#

Three different period controls are in use, and knowing which you are looking at saves a lot of confusion about why a number looks wrong:

ControlOnBehaves
A day picker, with arrows either sideDaily summaryOpens on today. The arrows step a day at a time.
A day picker, labelled Day, that will not go past todayStock value
Debtors age analysis
Opens on today. Picks the day to report the position at the close of — a position, not a period.
A month picker, with Month arrows either sideMost of the restOpens on the current month. The arrows step a month at a time.
Daily / Weekly / Monthly, then a pickerPayments receivedOpens on Daily — today only.
Note
A report with nothing in the period says No data to display. That is an empty period, not a broken report — step back a month and see.

Daily summary#

HomeDaily Summary

A day's ledger activity: who was charged, what for, by whom, and what it did to their balance.
A day's ledger activity: who was charged, what for, by whom, and what it did to their balance.
Answers“What happened on the books today?”
ReadsThe customer ledger — every charge and every payment posted on that date.
Run itAt close of play, before you cash up.

One line per ledger entry, grouped by client: who it was, who did it, what it was for — the consultation number, the patient, the reason for the visit — the amount, and the client's balance afterwards. Payments show as negatives. The arrows open the client or the document behind the line.

This is the report to reconcile the till against, and the one to reach for when a figure on another report looks wrong: everything else is an aggregate, and this is the underlying entries.

Tip
Run it at the same point every day. It is a live read of the ledger, so a charge posted after you have run it changes the number — a vet finishing a late consultation is the usual reason a till reconciliation stops balancing.

Account book#

HomeAccount Book

Everyone who owes money, how old the debt is, and what it was for.
Everyone who owes money, how old the debt is, and what it was for.
Answers“Who owes us money, how long have they owed it, and who do I chase first?”
ReadsThe customer ledger, totalled per client. Only clients owing more than R1 appear.
Run itWeekly, and before any statement run.

One card per client: what they owe, when they last paid, the debt split into under 30 days, 30–60, 60–90 and 90+, and a FOR line naming the visits and sales that make it up. The older buckets are tinted, so a page of debt sorts itself out by eye.

  1. Sort by 90+ to bring the worst debt to the top.
  2. Read the FOR line — it often explains the debt without opening anything.
  3. Open the client to see the entries, take a payment, or send a statement.
Note
There is no date picker: it is always as at now. It does export, and the spreadsheet carries one row per client with all four ageing columns — even though the screen itself shows cards rather than a table.
Note
A credit balance — a client who has paid more than they owe — does not appear here at all. Deposits and over-payments are on the client's account, not in the account book.

What the ageing buckets mean when they turn up elsewhere in the app is covered under the 60 and 90 day badges.

Tip
For the same question asked about a day that has passed — what was owed at the year-end, and by whom — use Debtors age analysis. Aged analysis at the foot of this screen goes straight there.

Debtors age analysis#

HomeReportsDebtors age analysis

Who owed money at the close of the chosen day, split by how old each amount was.
Who owed money at the close of the chosen day, split by how old each amount was.
Answers“What was owed on this day, who owed it, and how long had they owed it?”
ReadsThe customer ledger, replayed back to the day you pick.
Run itYear-end and month-end, and any time your accountant asks for debtors at a date.

One row per client: what they owed, then that amount split into 0–30, 31–60, 61–90, 91–120 and over 120 days, then how many charges make it up, how old the oldest one is, and when they last paid. An empty bucket is left blank so the money stands out. Every money column totals at the foot, and the figure beside Total owed is the practice's debtors on that day.

Pick the day with the Day arrows or the date box. The report opens on today, where it agrees with the account book client for client. Stepping back re-answers the question for that day: it replays the ledger as it stood at the close of it, so a charge raised in March and paid in June is outstanding on an April report and gone from a July one.

Note
Small balances show here that the account book hides. The account book lists clients owing more than R1; this one lists every balance, because a total an accountant files has to be all of it. So the two agree on what each client owes while this one can have a few more names on it.
Note
Why this exists next to the account book. The account book is the working screen — search it, sort it, open a client, take a payment. This one is the document: it takes a date, it splits 90+ into 91–120 and over 120, and it totals. If you are chasing money use the account book; if you are answering an accountant, use this.

Age is counted from the day each charge was raised. FastVet has no invoice due date and no payment terms, so there is nothing else to count from — a consultation on the 3rd is 28 days old on the 31st whatever you agreed with the client. The report says so on screen whenever you are looking at a past day.

Note
Payments come off the oldest debt first. That is the same rule the account book, the statements and the interest run all use, so the four can never disagree about what is outstanding. It also means a part payment leaves the remainder sitting in the bucket of the charge, not of the payment.

Cancelled invoices are excluded — as at the day you picked. An invoice you reversed last week was still owed the week before, so it appears on a report of any earlier date and drops off the ones after it. That is deliberate: a debtors figure for the year-end has to be what you would have printed on the day.

Clients in credit get their own section at the foot of the table, with their own total. They are listed for completeness and are never subtracted from the figure above: money sitting on a client's account is owed to them, and netting it off understates what the practice is owed.

Careful
A historical run can move. An entry added later but dated on or before the day you picked will appear the next time you run it, so a debtors figure filed with a year-end is worth exporting and keeping rather than re-running. Backdating is rare in normal use; a practice whose history was imported from another system carries a lot of it, which is also why very old opening balances show in the over-120 column.
Tip
Export it. The spreadsheet carries the as-at date in the filename and in the first row, so a folder of them stays readable a year later — which is exactly when somebody asks.

Payments received#

HomeReportsPayments received

A month's takings, by tender type.
A month's takings, by tender type.
Answers“What did we actually take, and in what form?”
ReadsReceipt entries on the customer ledger — money in, nothing else.
Run itDaily for the cash-up; monthly for the bank reconciliation.

Payments are grouped by date and description, and the description is the tender type reception chose when taking the money — Cash, Card, EFT. So the report is only as good as that habit: if half the payments say “Payment” you cannot reconcile a card machine against it.

Tip
Agree a short list of tender descriptions and stick to it. It costs nothing at the till and turns this report from a list into a reconciliation.

Daily, Weekly and Monthly change the period and re-read the figures straight away. Weekly and Monthly also add a summary by tender type above the detail, which is the line you reconcile against.

Monthly history#

HomeReportsMonthly history

A month of invoiced work, line by line.
A month of invoiced work, line by line.
Answers“What did we invoice this month, and where did it come from?”
ReadsEvery charge in the month — consultations, sales, hospital and boarding stays.
Run itMonth-end, and when you want to compare one month with another.

It carries toggles for the four sources — consultations, sales, admissions and boarding — all on by default. Turning three off is how you answer “how much of last month was boarding?” without exporting anything.

Note
The export carries whatever the toggles are showing, so turn them to the question you want answered before you download it.

Category detail#

HomeReportsCategory detail

Every line invoiced in the month, with its category.
Every line invoiced in the month, with its category.
Answers“Show me every individual thing we charged for this month.”
ReadsEvery invoiced line item, with the date, time, type and catalogue category.
Run itWhen you need the detail behind a summary figure — or a spreadsheet for the accountant.

This is the long one, and the most exportable. Everything else that talks about categories is this report added up.

Category summary#

HomeReportsCategory summary

The month totalled by category — where the income actually comes from.
The month totalled by category — where the income actually comes from.
Answers“Where does our income actually come from?”
ReadsThe same lines as Category detail, counted and totalled per category.
Run itMonthly. It is the one to look at over several months in a row.

Four columns: the type of event, the category, how many were charged, and what they came to including tax. It is the shortest useful picture of a practice's month — surgery against consultations against food.

Careful
The categories are your catalogue categories, so the report is only as good as the tidiness of your price list. A large Other line means items that have not been categorised, and a row totalling R 0.00 is usually things that are recorded on a visit but never charged for. Fix it under Update Prices rather than in the report.

Activities#

HomeReportsActivities

What the practice did over the month, by volume.
What the practice did over the month, by volume.
Answers“What did we do this month?” — volume rather than money.
ReadsInvoiced items again, but counted by what they were rather than what they earned.
Run itMonthly, for staffing and stock planning.

Consultations, procedures, vaccinations, dentals — how many of each. It is the report for “are we busier than last year?” and for deciding how many of something to keep on the shelf.

Note
It counts price-list items by category, not diagnoses. FastVet's diagnosis field is free text and nothing here reads it — see Diagnosis.

Stock used#

HomeReportsStock used

What was dispensed to patients over the month.
What was dispensed to patients over the month.
Answers“What did we get through, and on whom?”
ReadsStock movements dispensed to a patient on a visit.
Run itBefore ordering.

One line per item per patient per day, with the amount and the unit. It is the reorder list, and it is the report that tells you a vaccine is going out faster than you thought.

Careful
It counts what went onto a patient. Counter sales and shop orders draw stock but have no patient attached, so they are not in this report — and neither are deliveries or write-offs. For everything that moved, whatever the reason, use the stock history on the item.

Stock value#

HomeReportsStock value

What was on the shelves on the chosen day, and what it was worth.
What was on the shelves on the chosen day, and what it was worth.
Answers“What was on the shelves worth, on this day?”
ReadsThe stock ledger, replayed back to the day you pick, × the item's cost and selling price.
Run itMonth-end and year-end, for the accounts — or afterwards, once you know you need it.

Every stocked item with its category, what was on hand, its schedule, the unit cost, the value at cost, and the value excluding and including tax.

Pick the day with the Day arrows or the date box. The report opens on today, and every figure is the position at the close of the day shown — so choosing 31 December values the shelves as they stood at the end of that day, after the last dispense. Stepping back does not just re-label the same numbers: quantities are worked out by taking today's count and unwinding every movement booked since.

Note
Which value column does the accountant want? Value at cost. Closing stock goes into the accounts at what it cost you, not at what you hope to sell it for. The two selling-price columns answer the different question of what the shelves are worth to the practice — useful, but not the tax figure.
Careful
Quantities are exact for any past day; prices are not. FastVet overwrites an item's cost when you change it and keeps no history of what it used to be, so a valuation of an earlier date multiplies the right quantity by today's cost. Over a steady few months that is a small error; across a year of supplier increases it is not. The report says so on screen whenever you are looking at a past day.

Items that were not on the shelf that day drop out — anything whose count works out at zero, including every item added to the catalogue since. An item you have deleted since is deliberately kept: if it was stock at the year-end, it belongs in the year-end valuation.

Everything that was on the shelf is listed, including any item the report cannot put a price against — those show with a blank value rather than being left out. A row with no value is telling you something: FastVet has stock for that item but cannot find its price.

Note
Stock and prices are paired on four fields — category, subcategory, description and unit. If a row has no value, one of those differs between the item's stock record and its price-list entry; the subcategory is the usual culprit, and catalogues brought over from another system are where it happens most. The same pairing decides the stock badge on the price picker, so fixing it under Update Prices fixes both at once.

Negative counts get their own section at the foot of the table. An item shows a negative count when more of it has been sold or dispensed than was ever booked in — a counting error rather than stock you hold, and one whose value is negative, so it would quietly pull the valuation down if it sat in the list. Kept apart, it is the worklist it actually is, and the rows above are the ones you can hand an accountant.

Tip
Work down that section before month-end. Correcting each count under Adjusting a count moves the item back up into the valuation, and it is usually a delivery that was never booked in.

Expiring stock#

HomeReportsExpiring stock

Batches near their expiry date, soonest first, with the already-expired gathered at the foot.
Batches near their expiry date, soonest first, with the already-expired gathered at the foot.
Answers“What is about to go out of date, and what already has?”
ReadsThe lot numbers and expiry dates recorded when stock was booked in.
Run itMonthly, and before you place an order.

One row per batch, not per item — an item you hold three lots of appears three times, so the row names the lot that is actually expiring rather than the product. It shows the category, description, lot, expiry date, days left, what is on hand of that lot, and its schedule.

Note
This report has no period. Like Stock value it is a snapshot of now: everything expiring within the next 90 days, plus everything already expired however long ago.

Already expired gets its own section at the foot of the table. Those batches are still counted as stock on hand — they are on the shelf as far as FastVet is concerned — so they need pulling and then writing off under Adjusting a count, choosing the same lot.

Careful
Only batches with a lot number and an expiry date appear. Stock booked in without them has nothing to expire, so it cannot be listed however old it is. If this report looks emptier than your shelves, that is what it is telling you — see Lot numbers and expiry dates.

Stock to order#

HomeReportsStock to order

Items at or below their low-stock level, worst first, with the unassigned gathered at the foot.
Items at or below their low-stock level, worst first, with the unassigned gathered at the foot.
Answers“What needs reordering, and who do I order it from?”
ReadsStock on hand against the low stock value set on the catalogue item.
Run itBefore placing an order with each supplier.

One row per item that has fallen to or below its low-stock level. It shows the supplier, category, description, what is on hand, the low level itself, how many to order, and its schedule, with the biggest shortfalls first. That is the size of the gap, not how urgent it is — an item you hold 90 of against a level of 100 sorts above one you have run out of entirely but only ever keep 5 of.

Pick a supplier from the box above the table and the report narrows to that supplier alone — that is the list you work down when placing one order. Leave it on All suppliers to see everything that is low at once.

Note
This report has no period. Like Stock value and Expiring stock it is a snapshot of now.
Careful
An item only appears if it has a low stock value. That is the number that decides “low”, and without one there is nothing to be below — so an item you have run out of stays off the report entirely until you set it. If this report looks emptier than your shelves, that is almost always why. Set it on one item under Update Prices, or across a whole category at once under Suppliers & levels.

A negative On hand is a counting error, not demand. It means more has gone out than was ever booked in. The report still lists the item — you do need it — but it works the shortfall out from zero rather than from the negative, so an item at −6 against a level of 5 is short by 5 and not by 11. Order what it says, then put the count right under Adjusting a count.

The Order column is what to put on the order. It is the gap between what you hold and the low level, always rounded up — you cannot order 2.4 of anything, and rounding down would leave the item under its level the moment the delivery lands. An item sitting exactly on its low level asks for nothing: it is on the list as a warning, not because anything is missing yet.

Where you have said how an item is bought, the order is in packs. An item counted in millilitres that arrives in 100 ml bottles and is 350 ml short asks for 4 bottles, not 350. Set that up under How you buy it. Most items are counted in exactly what you order them in — each, boxes, bags — and need nothing: their order is simply the number of them to buy.

Items with no supplier get their own section at the foot of the table. They are just as low as the rest, but with nobody recorded to order them from they cannot go on any supplier's list — see Saying who supplies an item.

Schedule drugs#

HomeReportsSchedule drugs

The controlled-drug register: what moved, when, on whom, and who authorised it.
The controlled-drug register: what moved, when, on whom, and who authorised it.
Answers“What controlled drugs have moved, and can I prove it?”
ReadsStock movements of items whose catalogue Schedule is 5 or higher.
Run itWhenever your register is written up, and keep the export.

Each row is one movement: the drug, its schedule, the amount and unit, the date, who authorised it, and the client and patient it went to. Dispensing shows as a negative; stock booked in shows as a positive against ** Stock Bought / Updated **, with no patient.

Careful
Schedule 5 and above only. An item recorded at Schedule 3 or 4 will never appear here however carefully it is dispensed. If a drug you expect is missing, its catalogue entry has the wrong schedule — or none — under Update Prices, where Schedule is a picker on both treatments and materials.
Careful
It also only sees stocked items. A controlled drug that has a price but no stock record leaves no movement to report, so it is invisible here. Give it a stock record — see Stock & inventory.
Note
This report is the last link in a chain that starts on the catalogue item. Controlled drugs covers the whole of it — what to set up, what to record when dispensing, and what FastVet does not do.

Lab results#

HomeReportsLab results

Laboratory work over a period.
Laboratory work over a period.
Answers“What lab work have we sent, and what has come back?”
ReadsLab orders and their results over the period.
Run itWhen you are chasing outstanding results, or reviewing lab spend.

It can be narrowed to abnormal results only, which turns it into a worklist. The day-to-day screen for results waiting to be reviewed is the inbox, not this report — see Lab results.

Note
The export carries the filtered list, not everything — whatever date range, doctor and abnormal-only setting is on screen is what lands in the spreadsheet.

Email history#

HomeReportsEmail history

What FastVet sent on your behalf, and whether it went.
What FastVet sent on your behalf, and whether it went.
Answers“Did that client actually get their invoice?”
ReadsEvery message FastVet handed to your mail server, successful or not.
Run itWhenever a client says they were never told — and once a month to catch bad addresses.

The address, the subject, the status, the date and the type of document. A status of sent means the mail server accepted it; anything beginning failed: carries the server's own explanation, which is nearly always either a wrong client address or wrong mailbox settings.

The report is covered in full, along with the templates and switches behind it, in Templates & letterheads.

Exporting to a spreadsheet#

Every report exports. Under the table there is an Export to Excel link, and it downloads a real Excel workbook named after the report and the period — Stock value 2026-07.xlsx, Account book 2026-07-31.xlsx — so a folder of them still tells you which is which.

Money columns arrive as numbers, not text, so they add up in the spreadsheet. Counts that carry a unit — 4 ml, 10 Each — stay as text, because the unit is part of what the figure means.

Note
The export is what is on screen. Whatever month, filters or toggles the report is showing is what lands in the workbook — so set the report up first, then download it.

Who can see what#

Who can do this
Which reports you can open depends on your roles. Most are open to all operational staff; the financial set — and everything under Stock — is generally limited to vets and administrators. A report your role cannot open is not on your Reports screen at all, rather than refusing you when you tap it.
Note
Reports read; they never write. Opening one, stepping through months on it or exporting it changes nothing, so there is no harm in looking.