wattleclinicDocs
Help & Reference

What's new

Release-by-release summary of new features and changes in Wattle Clinic, with links to the relevant guide pages.

ForEveryone

Every notable Wattle Clinic release, newest first. Each item links to the guide page that explains the feature in full. In-app announcements point here, so this is always the long version of whatever the notification bell just told you.

8 September 2026 - Deleting a controlled-drug charge asks one question

Delete a charge that's already signed into the Schedule 8 register and Wattle now asks whether the drug was given. It used to warn you and delete it anyway, which quietly assumed the drug had gone into the animal even when it never left the syringe.

  • It was not given. A correction returns the drug to its register page and the charge is deleted, both in one go, with a reason you type once. If either half fails, neither happens.
  • It was given, you're just not charging. The charge stays on the visit and its price goes to $0.00. It is never deleted, because that charge is the only thing linking the drug that left your safe to the animal it went into.

Deleting a whole draft invoice works the same way, and takes one reason for the lot. Six charges added to the wrong visit are one question, not six.

Only a vet can write in the register, in every state. Anyone else can still take a wrong charge off a bill, and is told plainly that the entry stands until a vet corrects it.

Removing a charge can no longer half-happen. The bill, the shelf and the register used to be updated in separate steps, so closing the tab at the wrong moment left the stock and the register still describing a charge that was gone. It is now one action that either completes or does nothing. Recording entries · Signing off

6 September 2026 - Clearer GST settings, and an ABN you can't miss

A missing ABN now shows across the whole app. If your practice is registered for GST and there's no ABN on file, or the one on file doesn't pass the ATO's checksum, a bar appears at the top of every page until it's fixed. Nothing is blocked - you can still invoice - but an invoice without your ABN isn't a valid tax invoice, and this is not the kind of thing that should sit unnoticed for months. Only people who can open Clinic Settings see it.

"Prices entered as" explains itself once instead of twice. The setting had a note under it and a tooltip beside it saying much the same thing. There is now one line, and it answers the question people actually have: your prices are always stored including GST, and this only changes how you type them. It also sticks properly now. Previously the choice could be forgotten between visits unless you happened to save a catalogue item in the same sitting.

Registering for GST asks a shorter question, and lets you put it off. The window that appears when you switch registration on used to work through an example with one of your own prices. It now just tells you how many items aren't marked taxable and offers three answers: mark them all taxable, go and review them, or be reminded next time you open Clinic Settings. "Review them" takes you straight to those items in the catalogue.

The catalogue can filter on GST. A new All GST filter next to category and status shows only the taxable items, or only the GST-free ones. Clinic settings · The catalogue

2 September 2026 - One place to put a discount

There is now a Discount button, and it is the only thing you need. It sits on the visit's billing card, on a draft invoice and on an estimate. One window, three questions: which discount (a saved one from your catalogue, or a one-off), how much, and what it comes off (everything, or only the items you tick).

One box for the amount, and it reads whichever you type. 20% is a percentage, 20 or $20 is dollars. The old $ / % buttons are gone from the charge window - that was the second place a discount could be set, two screens deep, and it is why people could not find the percentage at all.

A dollar discount now comes off each item, not as a single line. $100 off a visit with a $200 consult and a $100 vaccine takes $66.67 off the first and $33.33 off the second, and the shares always add up to exactly what you typed. This also fixes GST on dollar discounts: because the reduction lands on each item, every item keeps its own GST treatment. It used to be a single line carrying a single treatment, which could not reduce the GST correctly on a visit holding both taxable and GST-free items.

A percentage over the whole visit still catches items you add later; a dollar amount cannot. A fixed sum is shared across what is there when you apply it, so there is nothing to recut when a new line appears. The window tells you which of the two you are getting.

Applying a discount replaces the one before it, so nothing stacks up invisibly, and Wattle will not let you discount more than the items come to (it tells you the most that can).

A saved Discount item can be a rate now. Type 20% in its Usual amount box and it saves a percentage instead of dollars. Discounting a visit · The catalogue

Fixed: an estimate pulled onto a discounted visit was billed at full price. If the visit carried a percentage, the charges raised in the consult were discounted and the lines that came across from the estimate were not, on the same invoice, with nothing saying so. Both ways of turning an estimate into an invoice now carry the discount. A line that already had its own discount on the estimate keeps it.

2 September 2026 - A client can have a discount that follows them

If someone always gets the same discount, tell Wattle once. On the client's file, EditAccountStanding discount: a percentage and a name for it. Every new visit for that client then opens with the discount already applied, to everything on the visit including whatever you add later. Change it or take it off on any single visit without touching their file.

Changing a client's standing discount never changes a visit that already exists. A bill you have already talked through with an owner should not move because a setting changed a month later. A client who always gets a discount

The discount box on an invoice or estimate line reads whichever you type. 10% is a percentage, 15 or $15 is dollars. The $ / % buttons beside it are gone: the box shows you which one it is holding, and the small figure next to it is the other half, so 10% also tells you what that came to in dollars. Rows are shorter and easier to read down as a result. Estimates · Invoices

A visit now says what its discount came to. Valla discount, 20% -$30.40, above the total on the billing card, instead of leaving you to add up the small figures under each line.

Setting up a Discount item in the catalogue is no longer confusing. It used to ask for a cost price and a markup, which cannot mean anything on a discount. One box now, called Usual amount, and it says out loud that it is only a starting figure you overtype on the day. The catalogue

Adding a discount to a client's account, with no visit behind it, now explains itself. Only a dollar amount is offered there, because a percentage is a rule about a visit. The window says so where the choice would have been, rather than leaving a button quietly missing.

2 September 2026 - The controlled-drug register stops asking for your PIN

Being signed in is your signature now. The register used to ask for your 4-digit PIN on every entry you processed, every adjustment, every stock check, and again the first time you opened it in a session. It asks for none of that any more. Every entry still records exactly who made it, in the entry itself and in the register's audit log, which is what an electronic drug register is required to capture and what an inspector reads.

Nothing about who can do what has changed. Only a vet can process an entry, adjust stock or record a destruction, exactly as before.

Your PIN still matters, for the screen lock. A computer left untouched still locks behind it, and that lock is now the thing standing between an unattended screen and entries made in your name. Lock it yourself when you step away: Avatar → Lock. How the register is signed · Your PIN & the lock screen

Every destruction witness now signs the same way. A witness who happened to be a vet at your clinic used to be a separate path: you picked them off a list and they typed their PIN, giving no details at all. Now every witness, inside the clinic or outside it, gives their name, their profession and a registration number where the state wants one, and draws their signature on screen. Nobody types a credential on somebody else's screen. Picking a colleague from the Witness list still fills their name and profession in for you.

Two smaller things on the same window. There is a Notes box for anything else worth recording, and Other authorised person is now offered as a profession in every state, for a lawful witness the list has no label for. Destruction, loss & disposal

If a register screen still asks you for a PIN, reload the page (Ctrl/Cmd + R). Your browser is showing you an old copy of Wattle. Reloading takes a second, nothing already on your register is affected, and it is worth doing promptly: on that old copy, saving a register entry will fail rather than simply looking out of date.

31 August 2026 - Email a deposit request straight from Wattle

The deposit link can now be emailed for you. It shipped a couple of hours ago as a link you copied and sent yourself; Email it on the request dialog now opens the composer with the request already in it, addressed to the client's email on file.

Wattle will not send a request that can no longer be paid. If it has already been paid or you have withdrawn it, the send is refused rather than mailing your client a button that dead-ends. Taking payments

31 August 2026 - Ask for a deposit by card, with no invoice

You could always take a deposit at the counter. You could not send someone a link for one. The pay link needed an invoice, so a deposit over the phone meant either taking the card details yourself or raising an invoice for something that had not happened yet.

Client → ⋯ → Request a payment. Type the amount, say what it is for, and copy the link. Send it in a text or an email, or read it out.

The money lands where a counter deposit lands: as credit on the client's account. When you raise the invoice, Wattle offers to put the credit against it. No invoice is raised for the deposit itself, on purpose - that would burn an invoice number and put a second document on their statement for one job.

Nothing is charged until they pay, and the link keeps working until they do or until you withdraw it. Closing the dialog does not withdraw it, so a link you have already read out over the phone stays good.

You need Stripe connected. If your clinic cannot take cards yet, Wattle says so rather than handing you a link that would dead-end. Taking payments

31 August 2026 - The draft-price notice explains itself

"A price on this draft has changed" told you almost nothing, and there was nothing you could do about it. One clinic repriced their catalogue and got twenty near-identical notices, each landing on an ordinary invoice screen that said nothing about why you were there, with no way to move a price other than retyping it.

It's now one notice for the whole repricing. It says how many catalogue prices moved, when, and how many drafts still hold the old ones, and it lists every affected draft by pet and owner.

And there's something to press. Review and update opens a list of every affected line with what it bills now beside what it would bill, each with a tick. Everything starts ticked, so the simple case is one press. Untick anything you want left alone.

Nothing moves without that press, and an unticked line is not touched at all. A figure you have already said out loud to an owner should not change because an unrelated price moved on the same invoice.

Opening an affected draft now says so too, with a banner carrying the same button for that one invoice.

Marking the notice read no longer silences the next one. It used to be filed against the invoice, so reading it once meant a later price change on that same draft never reached you. Notifications

31 August 2026 - A bill stops at zero

A discount bigger than the bill used to go through, and the difference simply vanished. A $200 visit with a $250 discount could be finalised as an invoice worth -$50.00. Nobody was owed anything by it: no credit landed on the client's account, no refund was raised, and the invoice never showed as paid. It just sat there as a document worth less than nothing.

An invoice can no longer be finalised with a total below $0.00. A discount reduces what a client owes, down to nothing but no further.

While you're still working, a visit can still sit below zero, on purpose. Adding the health-plan discount before the consult it applies to is an ordinary way to work, so nothing stops you. The billing card just tells you how far below zero the visit is, and you can dismiss that note if you'd rather not look at it.

If you press Finalise while the discounts come to more than the charges, Wattle shows you both figures and offers a button that brings the bill to exactly zero, for example Reduce discount to $250.00. Nothing changes until you press it, and pressing it doesn't finalise either, so you can check the corrected figures first.

If a client has genuinely paid too much, that's a refund or a credit note, not a bigger discount. Discounting a visit, Taking payments

31 August 2026 - A discounted draft saves again

A draft invoice carrying a discount could not be saved or finalised. Pressing Save said "This invoice can't be saved yet - Line 2: Unit price must be 0 or greater" about a line you had not touched, and Finalise did the same thing, because a discount is stored as a negative amount and the check behind Save had never been told that was allowed. Quotes had the identical problem. Both save normally now. Invoices, Estimates

Clicking into the Unit $ box on a discount line could wipe the discount. The figure went to $0.00 the moment you clicked away again, which raised the bill by the whole discount and left the row looking perfectly ordinary. It keeps its value now. You still cannot type a negative price on an ordinary line, which was the point of the original rule.

The bell reported a discount as a price rise. A draft holding a $260.35 discount produced "A price on this draft has changed - Discount | the catalogue is now $261.35 higher". Nothing had changed: a discount item's catalogue price is only a starting figure you overtype, so a discount is meant to differ from it, and the notice was comparing two things that were never the same kind of number. Discounts are no longer included in that check. Everything else still is. Discounting a visit

Nothing was ever wrong with the stored figures. The discounts, the invoice totals and what clients were charged were correct throughout. It was the check in front of Save, and one notice, that were mistaken.

31 August 2026 - A package adds up as you build it

Building or editing a package showed "Contents at full price" as $0.00 no matter how many items you had put in it, while the "Client pays" figure underneath was right. The discount line and its percentage did not appear at all, because both are worked out from that first figure. All three now keep up as you add, swap or remove items.

Nothing you had already saved was affected. The price stored on a package, and the price a client was charged for one, were always correct. It was the summary at the bottom of the form that was not keeping up. Packages & Bundles

30 August 2026 - Figures wait until they are real

Four places put a number on screen before they had fetched it, so you saw a confident zero for a moment and then the real figure. On a slow connection it was longer than a moment. Each now shows a placeholder until it actually knows, and each waits for its own information rather than for everything on the page.

The controlled-drugs register is the one worth knowing about. Its summary could read 0 pending sign-off while entries were in fact waiting. It is the only figure here you would act on by doing nothing, so if you have ever glanced at it and taken "nothing to sign" at face value, that reading may have been wrong. The queue itself was always right, and nothing was ever lost. Signing off

The dashboard could briefly show Outstanding $0.00 and no active patients while it was still loading, which was most noticeable first thing in the morning. The Dashboard

Reallocating a payment could open on a $0.00 payment labelled "Fully allocated" before it had read the payment. Taking Payments

A package being edited priced its contents at nothing until the catalogue arrived. Packages & Bundles

None of this ever changed a stored figure, an invoice, or what a client was charged. It was the screen answering before it had looked.

29 August 2026 - Your price-entry choice follows you

"Prices entered as" now lives in Settings, Tax & GST, and it follows you rather than the browser you happened to set it in. Set it once and it is there on your phone in the field and your laptop at home. It is yours alone - it changes nothing for anyone else in the practice.

The control on a catalogue item is now a one-off. It starts from your setting and lets you flip the item in front of you to check a figure the other way round, then goes back when you close it. Previously a flip stuck, so glancing at one price the other way quietly changed how the next twenty were typed. The catalogue

29 August 2026 - Prices say which side of GST they are on

Every price in Wattle includes GST, and now every box says so. The sale price, the cost, the dispensing and injection fees, the package price and the item search all carry the basis in their label, and it only appears if your practice is registered. Nothing about what a client pays has changed.

If you think in ex-GST figures, the catalogue can too. Set Prices entered as to excluding GST once and type the numbers the way you always have: enter $480 and Wattle stores $528, showing you both as you type. It changes what you type, never what a client pays, and it stays on your own device rather than being applied to everyone. The catalogue

The old tax-inclusive / tax-exclusive setting is gone. It decided whether GST came out of your prices or went on top of them, and it caused more confusion than it solved. Prices always include GST now. Clinic settings

Prices can hold fractions of a cent, because some genuinely do. A capsule at 28.6c bills $8.58 for thirty, not $8.70. Totals are still rounded to the cent, once, exactly where they always were.

A registered practice with no ABN now gets a standing reminder in Tax & GST, and Wattle checks the number against the ATO's own checksum so an obvious typo is caught. Your ABN has to appear on every tax invoice you issue.

And the bell tells you when a draft is holding an old price. If you change a price in the catalogue and an unsent draft still carries the previous one, you get a notification pointing at it. It only tells you - it never changes a draft, because you may have already quoted that number to someone. Invoices

29 August 2026 - The sign-in page finishes arriving all at once

The wattle sprigs on the sign-in page used to turn up last. The card and the wording appeared first, on an empty background, and the artwork filled in a moment later. Nothing was broken and nothing was ever lost, but it made the page look like it had loaded twice. The background is now fetched at the same time as everything else, so the page arrives in one piece, including during the brief wait while we check you are signed in. Signing in

The same fix applies to the page you see when setting up a new practice.

27 August 2026 - The Financials tab stops saying "No billing yet" when there is billing

Opening a pet's Financials tab flashed "No billing yet" before the real content appeared. It was only there for a moment, but on a pet with invoices and payments it was simply wrong, and it made the tab look like it had failed to load. The tab now waits until it has all its figures before deciding whether there is anything to show. Patients

Two fixes in the vitals history window. The heading now looks like a heading rather than the first line of the list, and the Source column reads properly: a reading taken at a walk-in used to show as walk_in, and now says "Walk-in".

The controlled-drugs screens dropped the little pictures from their buttons. Buttons like Stock check, Destruction and Download PDF now show their words alone. Add entry keeps its +. Nothing moved and nothing is named differently. Controlled drugs

27 August 2026 - Deceased pets leave the Active list

The Patients list was showing deceased pets on its Active view. When the single filter dropdown arrived a few releases ago, the Active setting stopped filtering by status at all, so it listed every pet that had not been archived, deceased ones included. It now shows exactly what it says. Deceased, Archived and All patients are unchanged, and nothing on any pet's record was altered. Patients

A few things sit better on the page. On a pet's Summary, the gap between the left and right columns of cards now matches the gaps everywhere else on the page, instead of being wider than all of them. Boxes you type into are white again, so they match the dropdowns and date pickers beside them rather than being slightly grey. And clicking a reading on Recent Vitals opens the history at the right size straight away, instead of opening tall and then shrinking (that happened when there was only one reading, which is too few to draw a chart from).

27 August 2026 - The Attachments tab stops looking broken

A pet with no files used to land you on what looked like a blank page. The Attachments tab tidied itself away when it had nothing in it, so you got a heading with nothing under it and had to click the little arrow to find the "No attachments yet" message and the Upload button. That arrow is gone and the tab always shows its contents, with Upload sitting right there in the middle when there is nothing yet. Patients

The rest of the pet's tabs got the same tidy-up. Every "nothing here yet" message across the pet file now looks the same, reads the same way and says what the tab is for rather than just that things will appear on it - and the faint grey second line that some of them used is now dark enough to actually read.

27 August 2026 - Vitals move to Summary, with a chart

The Latest Vitals tab is gone, and the vitals got closer rather than further away. The same four readings were already on the pet's Summary under Recent Vitals, and on every visit in the history - the tab was showing them a third time, and hiding a plain list of past readings behind them.

Now you click a reading on Summary and get its whole history, with a chart. Weight is the one worth watching, and the chart plots readings against real dates, so eighteen months between visits looks like eighteen months rather than a smooth line. The list of exact values is still there underneath the chart. Any bookmark to the old tab lands on Summary. Patients

27 August 2026 - A pet is Active or Deceased

"Inactive" is gone from pets. A pet that has simply stopped coming to your clinic should be archived, which is the thing that actually takes it out of lists, searches and pickers. Inactive did the same job less well: the record still cluttered every search, while claiming something about the animal that was not clinical. Status now says one thing only, and says it truthfully: Active or Deceased. Nothing changed for owners, who keep their existing statuses. Patients

One filter instead of two. The patients list had a Status dropdown and a separate Show archived switch. It is now a single dropdown: Active, Deceased, Archived, All patients. "Archived" on its own is new and useful - it shows you only the records that have been filed away, which is what you want when checking what has been put aside. Patients

Archiving and status are still two separate things underneath, so an archived pet keeps whatever status it really has and still shows both labels. Nothing was deleted or changed on any pet's record.

27 August 2026 - Weight changes you can act on

A weight change is now a percentage. Looking back at a visit, the weight shows something like +17% instead of +2.5. The old figure had no unit and no sense of scale: 2.5kg is 17% of a staffy and 6% of a labrador, and only one of those is worth a phone call. Hover it for the kilograms and the date it's being compared with. Only weight carries this now, because a heart rate 20% above last time doesn't mean anything on its own. The consult

The consult's Total says whether GST is included, as (inc GST) or (excl GST), matching how your clinic prices. The same figure meant two different things depending on that setting, and unlike an invoice the consult has no GST line to make it obvious. The consult

Recent Vitals on a pet's Summary always shows all four readings, with a dash for anything not taken, instead of hiding the ones it doesn't have or collapsing to "No vitals recorded". The four slots stay in the same place on every pet, so you can find the one you want without reading. Patients

Plus a round of tidying on the consult and patient pages: text that sat too pale to read comfortably, headings that looked like the writing underneath them, cards that didn't line up between columns, and a layout fault from the previous release that squeezed the consult into the middle of the screen.

26 August 2026 - Clearer names on the consult page

The consult's third tab is now called Attachments, not Files. It was the only place in Wattle that called them files, and the card sitting inside it said Attachments anyway. The card is gone too: the tab now shows your photos and results directly, four across instead of two, and when there's nothing there yet it says so rather than opening as a closed panel you had to click to look inside. Nothing moved, and it's still the same set of files as the patient's Attachments tab. The consult

On the Financial tab, Documents is now Estimates, which is what was in it, and it sits beside the billing summary instead of underneath the invoice - so what you quoted and what the visit has come to are on screen together. Everywhere else in Wattle already called this card Estimates. If a visit somehow has a second invoice, it gets its own Other invoices card, which only appears when there's something in it. The consult

26 August 2026 - The consult bills its own visit, and estimates move in with the money

The consult's Financial tab used to be a signpost - a "Go to invoicing" button that sent you somewhere else to do anything, and an estimates list that was usually empty. It now holds the visit's actual invoice. The charges you add during the visit have been landing on a draft invoice all along; that draft is now right there on the tab - edit it, Finalise, then Record payment - so a visit can be written up, billed and paid without leaving the page. Open full page still takes you to the invoice as its own page when you want the bigger view. The consult

Estimates moved in with the rest of the money. The separate Estimates tabs on the patient and client pages are gone; estimates are now a card on each Financials tab, so one tab holds the whole money story. Old bookmarks to the Estimates tab land on Financials automatically. Estimates

Making an estimate keeps your place now. New estimate from a patient, a client or a visit opens the form with the pet, the owner - and from a visit, the visit itself - already filled in, instead of asking you to pick again what you were just looking at.

Schedule fix: the red current-time line no longer draws across the day headings when you scroll.

26 August 2026 - Visit History: rows you can tell apart, and a list that stays put

Every row used to say "Consultation". On a pet whose history came across from your old system there's no booking to name a visit, so the list read the same word over and over, under dates with no time, beside a vet who is usually the same person. Thirty visits, thirty identical lines.

A row is now three lines: the date and time with the visit number on the right, what the visit was, and the first line of the write-up. That third line is what actually tells two imported visits apart. Anything cut short shows in full if you hover it.

What came off the row moved to the panel beside it, where a visit is actually read - the clinician, what was charged, whether it came from an import, and whether it's been finalised. The row's job is helping you pick a visit; the panel's job is answering questions about it.

The day's vitals are now one line instead of a stack. A single weight used to take a heading, a label and a value down the width of the screen to tell you one number.

And the vitals nobody took are now listed too, with a dash against them. All four are always there, in the same order every time, so "no temperature was taken that day" is something the record tells you rather than something you have to guess at. A visit where nothing at all was measured still shows no vitals line, rather than four empty slots.

Looking for a write-up nobody finished? That's what the status badge used to be for. There's now a Filter above the list with Not finalised in it, which suits something you go looking for better than a badge on every row. It offers only the statuses this pet actually has visits in, each showing how many you'd be left with, and on a pet with a single visit it doesn't appear at all - there's nothing to filter between.

The list stays put while you read. Scrolling a long set of notes used to take the list of visits off the top of the screen with it. The two sides scroll separately now.

A visit has its own address. Click one and your browser's address bar points at that exact visit, so you can bookmark it, or paste it to a colleague and they land where you are. Back steps through the visits and tabs you looked at instead of jumping straight out of the pet's record.

Opening a pet's record is quicker, most noticeably for long-standing patients. Wattle was reading every visit in full just to draw the list of dates. It now reads the list, and fetches the full record only for the visit you open.

See Consultations and Patients.

25 August 2026 - The patient record reflows instead of hiding things

The details line under a pet's name used to disappear behind the tabs. As the window narrowed it wrapped onto a second line, and the tab bar painted straight over it. Fixed on the pet's record, the client's record and everywhere else that line appears.

The signalment now splits by meaning rather than wherever it happens to run out of room. The clinical details (species, age, sex, breed, weight) stay together, and the admin ones (ID number, owner) stay together. Before, the number of lines depended on how long the breed name and the owner's name happened to be.

A long pet name wraps instead of being cut short once the buttons have a row of their own, because at that point there's nothing competing with it for the space. Where it is still shortened, hovering shows you the whole name. The status badge stays on the last line of the name rather than dropping to a line of its own.

The cards down the side of a record arrange themselves two-up when the window is too narrow for a side column, instead of one very wide half-empty column.

The Attachments tab looks like every other tab again - it was the only one drawn without its card.

Buttons that are just an icon now have proper tooltips, including Copy and Send email. An icon with no label needs some way to tell you what it does.

See Patients and Clients.

25 August 2026 - Layouts now measure the space they're actually in

On a smaller laptop window the pet's record squeezed itself into an unusable column - the owner's name cut to "Ryan H...", the phone to "04...", and the address rendered one word per line down the screen. Nothing was broken or missing; there simply wasn't enough width and the app hadn't noticed.

The cause: Wattle was deciding when to switch to a narrower layout by measuring the whole browser window, when what a page actually gets is the window minus the sidebar. With the sidebar open that's about 256px less. So it kept two columns at sizes where a column had only 155px to work with.

It now measures the space the page really has. At the window size this was reported at, the side column went from 155px to 466px and the address fits on one line. Collapsing the sidebar no longer changes whether the layout is right, because the measurement follows the space either way.

25 August 2026 - A long pet name no longer pushes the button off the screen

On a pet with a long name, the New visit button was pushed past the right edge of the window and the whole app started scrolling sideways. This affected every page in Wattle with a heading and buttons, which is nearly all of them.

The name is now shortened with an ellipsis and the buttons stay put. That's the right way round: a name you can still read most of costs you nothing, a button you can't reach costs you the job. The pet's photo also stays round instead of being squashed into an oval as the space tightens.

The same fix reached record links across every table and detail panel. A long client or pet name used to push its column wider instead of being shortened, which is why some tables looked like they had a mind of their own.

25 August 2026 - Wattle stops asking you to refresh, and small text gets less small

The message that told you to refresh the page has gone, because Wattle already reloads itself when it needs to and the message was asking you to do a job that was already being done. What replaces it only speaks when there's something you'd actually want to know: "Wattle can't reach the server right now, so recent changes may not be saved", followed by "Checking again automatically". If your login has simply timed out you get the usual sign-in prompt instead, with no message at all in between.

Placeholder text in dark mode was too close in tone to text you'd actually typed, so an empty box and a filled one looked more alike than they should. Both modes are now balanced against each other.

"Select date" no longer looks like a date you've already chosen. The date box was drawing its prompt darker than every other placeholder in the app.

Some small text got bigger: table pagination, the helper line under an empty list, form labels, and the items in dropdown menus. Menu and label sizes were being overridden to something smaller than the standard for no reason, so the fix was to stop overriding them.

The search box in the audit log no longer zooms the page on an iPad. Its text had been set below the size at which iOS zooms any field you tap.

24 August 2026 - A draft is amber now, and a saved invoice stops saying it isn't

An invoice could say "Unsaved changes" after you had already saved it. Add a charge to a draft, hit Save, and the warning stayed on screen for as long as you were on that page. Worse, the same mistake made leaving the page ask whether you wanted to throw away changes that were already safely stored. Both are fixed.

The "Unsaved changes" label is gone entirely, on invoices and estimates. The Save button being there already tells you there's something to save, and a warning that spends nearly all its time saying the reassuring thing is one people stop reading - which is exactly how a real one gets missed. The check that stops you leaving with genuinely unsaved work is untouched. That's the moment it can still save you something.

Grey now means one thing: finished with. Void, merged, archived, inactive, expired. A Draft invoice is amber, because a draft is live work waiting on you, not something put away. This matters more than it used to: every visit's charges now land on a draft invoice of their own, so Draft is the state most invoices in the practice are sitting in, and it used to look identical to a cancelled one. Not sent moved off grey for the same reason - an issued invoice the client hasn't received is a job still to do.

The little arrow next to the mail icon on an invoice is gone. Nothing on screen told you whether it belonged to Send or to the whole row of buttons. Send payment link now lives in the menu with the other actions. Plain Send is unchanged and still never asks the client for money on its own.

The internal note on a finalised invoice can be edited again. The customer note locks when you finalise - it stays visible, greyed out, so you can read what the client was sent - but the internal note is the clinic talking to itself and nobody outside ever sees it, so you can keep adding to it for as long as the invoice exists. Estimates work the same way.

See Invoices, Estimates and Buttons & symbols.

23 August 2026 - A booked euthanasia asks about the patient's record again

Adding a euthanasia to the bill has always offered to mark the patient deceased - except from one place. If the visit came from a forwarded booking and you added the charges from "Add the charges from this booking?", the question never came, which is the path a mobile euthanasia visit takes. It asks now, once, after the charges are on, and it stays quiet for a patient already marked deceased.

A pet's status is now editable on its own Details tab, beside its name and microchip, as well as from the menu. The box was already there; what has changed is that it now follows the same rule the menu follows. Deceased is final - nothing in Wattle sets a deceased pet back to Active or Inactive - and Wattle asks before it sets it, from either place. A deceased pet also gets a Date of death box, so a date that came in wrong from an import, or was left blank, can be corrected on the record itself. Nothing could do that before.

The paragraph under Clinical Notes on a finalised visit is gone. It explained that the notes were still editable and that changes are recorded against your name - both still true, and both now on the ✓ Finalised marker in the visit header when you hover it.

See Patients and Billing a euthanasia.

23 August 2026 - Refunding a paid invoice now writes the credit note that explains it

Giving money back used to leave the invoice saying nothing about it. An invoice could read Paid, $113.00 of $113.00 while $2.00 of that was back in the client's bank account, and the client's account would separately show them owing $2.00 with no document anywhere saying why. Both numbers were right about different things; nothing joined them up, and a statement would have chased the client for money they were never really short.

Now, refunding money that paid an invoice raises a credit note and pays it out in one step. The client's account ends square instead of in the red, and they get the adjustment note that Australian GST rules expect when you reduce what someone was charged. Refunding an overpayment, or credit that is simply sitting on the account, works exactly as before and raises nothing - nothing was sold that shouldn't have been.

The invoice still says Paid afterwards, and that is correct - the credit note beside it is what records the difference. Xero and MYOB both behave this way.

Three other things changed with it:

  • A credit note can now change a price, not just a quantity. Before, you could only credit whole items at what you charged for them, so "the price should have been lower" had nowhere to go. Each line now has a Credit at box, and you can add a free-text adjustment for money that belongs to no single line - a goodwill reduction after a surgery ran into complications, say.
  • You choose where the credit goes: back to the card, out as cash or bank transfer, or left on the account for next time, which is the default.
  • A refund you make in Stripe rather than in Wattle is flagged on the invoice as needing a credit note, with a button to raise one. Stripe doesn't know which invoice a payment belonged to, so it can't write that document, and Wattle won't invent one on your behalf.

See Raising a credit note and Refund a client.

23 August 2026 - Setting up the Schedule 8 register no longer refuses your PIN

A new clinic could not enable its register. The Set up your Schedule 8 register card (one row per controlled drug, then Confirm & enable register) answered every attempt with "Your PIN is required", and re-entering the PIN you use to unlock Wattle did not help, because that is a different thing from the signature a register entry needs. The card was the one place in the register that never asked for the signature at all. It now has a PIN field under the table; one PIN signs every row, for Confirm & enable register and Start all at zero alike. Nothing was written to any register by the failed attempts. See Recording opening balances.

19 August 2026 - A label is no longer a medicines thing, and the Medications tab is gone

Any item on the bill can now carry a dispensing label. It used to be medicines only, because the wording was stored on the medicine record. A label is really about the thing you hand over, so now a parasiticide gets one, a bag of prescription food with feeding instructions gets one, and so does a specimen pot going to the lab. The directions box, the sticker button and Save & print label are on every line. A medicine still opens with the box already showing; everything else is one press away.

You can get back to a label after saving it. Every billing line's menu now has Label, which opens that item's own window with the directions showing. Read it, fix a typo, print a corrected one. The old read-only View label window is gone, because looking at a label and correcting it turned out to be the same errand. Nothing is saved or charged until you press Save.

Four things that were quietly wrong are fixed:

  • Editing a charge used to throw away your directions without saying so. If the line had no medicine record behind it, the save succeeded, the confirmation appeared, and what you typed was gone.
  • Reissuing an invoice to a different payer left the label behind. Send a going-home medicine to the pet insurer and the label could no longer be printed from the line actually on the bill. It now travels to the new line and stays on the old one too.
  • Every label claimed it had been "supplied" by a prescriber. On a blood tube going to a laboratory, nothing was supplied to anyone and nobody prescribed it. Those two lines now print only when they are true.
  • Removing a charge now removes its label. No orphans left behind.

The patient Medications tab has been removed. It was hidden two weeks ago and is now gone for good. Nothing was lost: everything it showed - the drug, the amount, the date, the patient - is on the charge it was copied from, which is what already drives the bill, the stock count and the Schedule 8 register. Medicines are recorded by charging them, as they have been since June. A fuller prescriptions feature, covering repeats and what a pet is currently on, is a separate job for later.

See Dispensing labels.

Before you print a batch, check your label stock. Wattle prints your clinic's name, address and phone at the top. A lot of veterinary stock is the other way round, with a caution band pre-printed at the top and the clinic's details at the bottom, and on that stock the two overlap. Being able to set your own header and footer is on the way.

19 August 2026 - Medicines you dispense now reach the patient's record

The problem this fixes, in one sentence: charging a medicine was supposed to add it to that patient's Medications tab, and it never did - for anyone, since June.

Dispensing now records the medicine. Every patient's Medications tab has been empty since the feature arrived, View label opened nothing, and re-opening a medicine charge showed a blank directions box. The save was failing on a database detail and the failure was being discarded, so nothing ever said a word. It now saves, and if it ever fails again you will be told at the time. See Dispensing labels & medications, which describes how this was always meant to work and now does.

Medicines you have already charged have been added to their patients' records. The directions you typed on those could not be recovered - they were never saved anywhere - so those entries carry the drug, the amount, the patient and the visit, with the directions blank. Charges you had voided were deliberately left out.

The label control has moved to the bottom of the Add item window, next to Cancel, as a sticker button. Medicines still open with the directions box showing, injections included: leaving it blank means no label prints.

19 August 2026 - The duplicate warning waits until you have finished typing

The problem this fixes, in one sentence: the yellow "already on file" note on a new patient appeared and vanished while you were still typing, too fast to read.

It now waits until you leave the field. It used to check whatever you had typed so far, so "Max" got checked as "M", then "Ma" - and "Ma" matches Maggie. Once the note appears it stays, so you can read it and click through to the pet or owner it found. The same applies to the matching note on a new client. See Patients.

A microchip is only checked once it is complete. A half-typed chip number was matching up to eleven unrelated animals and claiming they were already on file, then quietly correcting itself at the last digit.

18 August 2026 - Feedback takes a screenshot, and stops making you wait

The problem this fixes, in one sentence: sending feedback sat there for several seconds before the box would close, and there was no way to show us what you were looking at.

You can now attach up to three screenshots or PDFs, 10MB each. Paste one straight in with Ctrl+V (Cmd+V on a Mac), drag a file onto the box, or click Add a screenshot. Files upload while you carry on typing, so they are ready by the time you press Submit. A picture of the thing going wrong saves more back and forth than any description, which is the whole point. See Troubleshooting.

The box now closes as soon as your message is safely with us. It used to wait for the email to us to be handed over before it would admit your message had gone, and you watched all of that happen. If anything does go wrong it reopens with what you wrote still in it, so nothing is retyped.

Feedback is now kept in the app for 90 days rather than living only in an inbox, which means we can answer "did that get through?" instead of guessing.

18 August 2026 - An account says what it means

The problem this fixes, in one sentence: a client who owed you $110 showed as -$110.00, so reading the screen meant knowing which way the sign ran.

An account now reads "Owing $110.00" or "Credit $40.00", both as positive numbers, with the word carrying the direction. It's the same wording your clients already see on their invoices and statements, so there's one way of saying it everywhere. Credit is now green rather than blue - it's good news, and blue read as a note rather than a result. Owing keeps exactly the red it had.

An overdue account is tagged as overdue. Owing and overdue used to look identical, so a list couldn't tell you the difference between an invoice sent yesterday and one sixty days late. An account with something genuinely past due now carries an Overdue tag beside the figure on the Financials tabs. See Taking payments.

A statement can be reached from the client. Before this the only way in was a pet's billing panel, which is a strange place to keep a document covering the whole account - especially when the reason you want one is usually chasing an overdue account, which starts at the client. Generate Statement now sits with the other account actions on the client's Financials tab and opens across every pet. Opening one from a pet still starts filtered to that pet. See Printing and PDFs.

An estimate now quotes the dispensing and injection fee. Invoices started applying these automatically a few releases ago; estimates went through different code and did not, so a quote undersold any medication carrying a fee and the client met the difference at payment time. A quote and the bill it becomes now come to the same figure. The fee is still editable on the line, down to zero. See Estimates.

Clicking a payment anywhere on its row opens the details. The receipt number used to be the only clickable thing, which is not how the invoice table next to it behaves.

Nothing about the numbers changed - only how they are written and where you can get at them. Your balances, invoices, statements and existing quotes are exactly as they were.

16 August 2026 - Your write-up survives a bad connection

The problem this fixes, in one sentence: a save that failed on patchy signal was thrown away without telling you, so a paragraph could exist nowhere but the screen in front of you.

Typing is now kept and sent automatically when the signal comes back. Before this, a failed save was discarded outright and the only ways to recover were typing another character or pressing Cmd+S - neither of which you'd think to do. The gap was never the two-second pause after typing: it lasted as long as the signal was out. The indicator next to the notes now reads Waiting for signal when your device has no connection, which means the typing is safe, not lost.

Your write-up is also kept on the device while it's unsaved, so it survives a crash, a force-quit, a flat battery, or an iPad dropping the tab in the background. Reopening the visit offers Restore it or Discard it.

Unsaved notes are wiped when you sign out, and are tied to the person who typed them, so a shared clinic laptop never offers one vet's notes to the next person. They also clear once the visit saves normally, and after a day. See Consultations.

Reload on the "this visit changed" bar now actually reloads. It used to re-show the copy the page already had and then dismiss the warning, so the one button offered when something was wrong did nothing. You no longer need to refresh the browser to see a colleague's change.

An email stuck on Sending can be sent again. Losing signal partway through retrying an email could leave it stuck permanently, with nothing offering to send it and nothing working on it in the background - so an invoice was never sent and there was no way to send it. Messages that have clearly stopped now offer Retry send, including ones already stuck from before this release.

A stuck message may still have reached the client. It most likely never went out, but it can also stop after the mail service accepted it, so check before retrying if a duplicate would matter. See Emailing clients.

14 August 2026 - Labels print at their real size, and you can look at one again

The problem this fixes, in one sentence: a dispensing label could come out of the printer smaller than 75 × 40 mm with nothing on screen looking wrong, and the only way back to a label was to save the charge all over again.

The label is now built as a print file at an exact physical size. Before this, the size was a request to your print dialog, and a printer left on "Fit to printable area" - a common default - quietly scaled 75 mm down to around 72 mm. Every field shifted, and the preview still looked perfect. A clinic could have been sticking mis-sized labels on medicines with no way to notice.

This does not make correct size automatic. Your printer's stock must still be set to 75 × 40 in its own settings, and the only real confirmation is one test print measured with a ruler. Do that once per printer. See Dispensing labels & medications.

The preview is now the label itself, not a drawing of one. The layout used to exist twice - once for the screen, once for the printer - kept in step by hand, so editing one could make the other quietly wrong.

A medication line on the visit now has "View label" on its ⋯ menu. Read-only: it shows what the label said and charges nothing. Until now the only route back was the dispensing step's Save & print label, which commits the charge - the right tool while you're dispensing, the wrong one when you just want to read the directions you gave.

Printing now tells you when your browser blocks the window. The label opens in a new tab; if pop-ups are blocked, the button used to simply do nothing.

Five controls that could never be pressed are gone. A greyed-out button reads as "this product can't do that", so staff stop looking and work around it. Removed: the permanently disabled Two-Factor Authentication toggle and the whole Authentication section around it in Security settings (sign-in security is handled by the identity service you sign in through, not by a switch here); Send on the account statement, which was never wired to anything; Resend on a message; and Duplicate on a catalogue item. Book Appointment on the patient list was the one worth keeping, so it now works - it opens the booking sheet with that pet already selected.

Delete now appears on message drafts only. Sent, queued and delivered messages are the record of what left your practice and were never deletable - but the rule was shown as a greyed-out Delete, which reads as a fault rather than a policy.

Booking from a Week view that's filtered to one person books into that person. Narrow the week to one vet, click an empty slot, and the appointment used to land in the clinic's default column instead.

14 August 2026 - Emailing an invoice no longer locks it

The problem this fixes, in one sentence: send an invoice, spot a typo a minute later, and Wattle made you raise a credit note - a document the client won't understand - plus a fresh invoice, where one void and one reissue would have done.

You can now void an invoice you've already emailed, as long as nothing has been paid. A bill that was simply wrong when you sent it is a bad document, not a change of deal, and the fix for a bad document is to replace it. Wattle reminds you the client already has a copy, so you know to send the replacement, then lets you through. Xero draws the line in the same place.

Nothing changes once money has been taken. A part-paid or paid invoice still needs a credit note, for the same BAS and GST reasons as before. That was always the half of the rule that mattered.

Un-voiding now puts an invoice back exactly where it was. Previously it always came back "finalised", which could quietly turn something you'd never issued into an issued invoice.

Two smaller fixes in the same release. A draft you'd emailed can now be deleted - it used to fail with a database error. And an invoice can no longer be edited unless it's a draft; use Unfinalise first, which is what the screen already asked you to do.

Reissuing to a different payer is unchanged and is still stricter: once an invoice has been sent or paid, reissuing raises a credit note. A second person is being asked for the same money there, so the first person's copy needs cancelling in writing.

13 August 2026 - Money you are already holding finds the invoice

The problem this fixes, in one sentence: a client could pay you, and the account would say they owed nothing while the invoice still said unpaid - both true, neither reconcilable by the person reading them. Somebody then chases a client who has paid, or writes off a bill that was settled.

Money you take now lands somewhere by itself. Whatever you don't point at a particular invoice goes onto the oldest unpaid one, so the oldest debt clears first and your overdue figures stay honest. Take the payment from an invoice and that invoice is paid first, then anything left over cascades. You can still split a payment across invoices exactly as before - this only changes what happens to money you didn't direct.

Raising an invoice for someone holding credit now offers to use it. This is the deposit case: money taken on the Monday for surgery on the Friday had nothing to attach to when it arrived. Press Finalise and Wattle asks "Allocate $60.00 credit to this invoice?" with yes already chosen. It offers only what the invoice can absorb, and you can decline.

The Billing screen tells you when anyone is sitting on unspent money. An Unallocated money button appears there when any client in the practice holds a payment pointed at nothing, listing who, how much, and how long it has been waiting. It isn't there when there's nothing to find. This is also the only place money released by voiding or merging an invoice turns up.

One label, one direction, one colour. Every screen now says Account balance, money owing shows as a negative number, and every negative uses the same red already used for overdue. Where the account and the invoices genuinely disagree, both figures are shown rather than the net one alone.

A statement only talks about invoices. Client-facing statements no longer subtract money that never reached an invoice, so the document adds up against its own rows. If a client is holding unallocated money, Wattle says so before you print or send.

Refunds are no longer capped. Wattle used to refuse to refund more than the account was holding. "Available to refund" was never a real number - a client who has paid you thousands over the years, every cent properly allocated, is holding $0 and is obviously refundable. A refund now draws the account down from wherever it sits, and the dialog tells you where it will land instead of stopping you. See Taking payments.

12 August 2026 - Every patient and owner picker searches your whole practice

Typing a name into a patient or owner box now searches the practice, not a slice of it. The boxes used to load a batch of records and then match what you typed against that batch, so a patient who wasn't in the batch came back as "no patients found" even though the record was right there. Now the search runs on the server and looks at everybody. Start typing and the matches appear; open a box without typing and you get the first page to browse, same as before.

Organisations show their name properly. A business client - a stud, a council, a rescue - was rendering blank in the pickers and in the schedule's history, because those screens built the name out of a first and last name that an organisation doesn't have. See Clients.

12 August 2026 - The consult page gets tabs, and a visit is dated when it happened

A visit now carries the date it happened, not the date somebody typed it up. Writing up yesterday's call this morning no longer files it under today.

The consult page is split into three tabs instead of one long scroll, so the clinical notes, the billing and the history each have their own space. See Consultations.

12 August 2026 - Long lists stop running out

Nothing to do here - this is a ceiling being removed before anyone reached it. Several screens were quietly capped at 1,000 records, and past that they stopped without saying so. We checked: no clinic is near the cap, so nothing you have done has been affected. It matters most on day one of a move, when a full price list and client list arrive at once:

  • Importing from another system could have created a client twice, because the check for "do we already have this person" only looked at the first 1,000 clients. See Importing your data.
  • A large price list could have left a dispensing fee off a charge, or billed a package for less than it contains.
  • The accounting export could have missed the month it was exporting. See Accounting export.
  • Low-stock and expiry warnings, and the recipient search in the compose box, were capped the same way.

11 August 2026 - Voiding an invoice puts the stock back, and the record says who did what

Cancelling an invoice now returns what it took out of stock. Voiding used to leave the stock gone, so the shelf count drifted every time an invoice was cancelled. It now puts the items back, and tells you plainly if there is anything it could not undo. See Inventory.

A payment records who took it, and a note records who wrote it - by name, kept with the record, so it still reads correctly later even if that person's details change or they leave.

10 August 2026 - A saving button can't be clicked twice, and the drug search takes the keyboard

Adding a package to a bill can no longer charge it twice by accident. A package writes one charge for each item inside it, and that takes a moment - during which the list stayed open and the row stayed clickable, so a second click added the whole package again. Now the list goes quiet while the charges are being written and the row you picked shows a spinner. Nobody was affected: we checked, and no clinic has charged a package yet.

Any button that is saving now says so and stops accepting clicks. Some buttons were spinning but still taking a second press - a real risk on a slow connection, where nothing looks like it's happening for several seconds. That's fixed everywhere, and the buttons that had no spinner at all have one now.

A pop-up can't run off the top and bottom of the screen any more. On a laptop, a long form

  • a controlled-drug entry, say - could push its Save button below the edge with no way to scroll to it. Every dialog and every confirmation now fits the window and scrolls inside itself.

The drug reference suggestions can be driven from the keyboard. Type two letters into an item's name, then and to move through the matches (including Show 50 more) and Enter to pick one. Esc still closes the list and brings it back. See Add an item from the drug reference.

8 August 2026 - Credit notes reach the statement

⚠️ A statement could show a client owing money you'd already credited. It works out what's outstanding by adding up invoices and taking off payments - and a credit note is neither, so a fully credited invoice went on reading as fully owing. The client's account balance was never wrong; it was only this figure, on the printed statement. If the two ever disagreed on an old printout, the balance was the one to trust. Reprint and it comes out right - nothing was stored wrong.

Statements now have a Credit notes section, between Payments and the summary, showing the date, the number, which invoice it adjusts, the reason and the amount. A Total credited line sits under Total paid. On screen and on the PDF. See Account statement.

Voided credit notes are left off the statement - a withdrawn credit reduces nothing, and voided invoices have always been left off for the same reason.

The client's Financials tab lists their credit notes too, and does keep the voided ones, struck through - that's your record, and it should show that a note was raised and then withdrawn. Each row links to the invoice it adjusts, where the document itself lives.

7 August 2026 - A sent or paid invoice is credited, not voided

Reversing an invoice a client has already seen now produces a document. Wattle used to void them, which quietly removes the invoice from the month it was issued in - so if that month has already gone on a BAS, your figures stop matching what you lodged, and the GST can't be claimed back, because claiming it means holding a credit note. Over $75 that note isn't optional.

One action, in the same place. The invoice's menu still offers to reverse it. While it's sitting there unpaid and unsent that's Void, exactly as before. Once it's been emailed or paid, the same item becomes Credit note: you say what you're crediting and why, and Wattle issues a numbered CRN- document against the original. You can credit part of an invoice, and the reason is required - it's part of what makes the document valid. See Raising a credit note.

Every credit note has a PDF and can be printed, downloaded or emailed, from a Credit notes panel on the invoice it adjusts. It's headed ADJUSTMENT NOTE, which is the wording the ATO looks for, and it says what it said the day you raised it even if names or addresses change afterwards. See Giving the client the credit note.

"Reissue to a different payer" follows the same rule, and works again. For a few days it was refusing on invoices that had been emailed or paid - that's fixed. It now leaves the original standing as the document the first payer received, credits it on their account, and invoices the right payer with the work dated when it was actually done. See Billed the wrong person.

Credit notes move money only. Nothing goes back on the shelf and nothing is written to the controlled-drug register - the medicine physically left, and that register is built so a later change of mind can't rewrite it. If stock needs to go back, remove the charge instead.

The accounting export understands both. adjustments.csv now carries voids and credit notes, each labelled with its reason. See Accounting export.

6 August 2026 - Tidying the catalogue stops arguing with you

A package you've actually sold can now be deleted. Until now, the moment a package was sold once it was stuck in your list forever, and the only sign of why was an error message you could do nothing about. Past sales keep their items, their prices and the package name they were sold under. See Packages.

The delete confirmation tells you what it costs, before you commit. Which packages lose a line, how much stock gets written off, how many times you've charged the item, and whether it's on the controlled-drug register. Two of those it simply couldn't tell you before. See Hide vs delete.

Deactivate is gone from the catalogue and package row menus. Two similar verbs on one row made Delete look like the dangerous one, and it isn't - your invoices, stock history and register all keep their own copy of what they used. Active stays on the item and package forms, which is where a "not stocking this until spring" setting belongs.

A controlled-drug register can't be closed while it still holds stock. Switching Controlled drug off used to take a drug off the register whatever the balance said. It now refuses, tells you how much is outstanding, and names the three lawful ways to get to nil: a witnessed disposal, a transfer, or a stocktake adjustment. Closing is dated and recorded, and reopening brings back the same register page with all its history - it used to start a second one. See Closing a register.

4 August 2026 - Deleting a visit now deletes what was billed on it

This reverses what used to happen - and what used to happen was the opposite of what anyone expected.

Delete a visit with charges on it and Wattle would refuse, then quietly hide the visit instead. So the charges that caused the refusal were exactly the ones left behind: still on the client's account, with the visit that explained them gone from the patient's record.

Now the visit is really deleted, and its charges go with it.

The dialog tells you what it's about to do before it does it - how many charges and what they come to. There's no question to answer, because there isn't a sensible second option; just a plain statement of the consequence.

Charges already on an issued invoice are the exception. Those can't be removed - you have to keep the records behind a tax invoice - so they stay on the invoice, and the dialog names it. The visit still goes.

Archiving is gone. It was never really a feature: it was what happened when the delete failed, and it was visible to nobody.

Controlled drugs are handled properly too. An entry you haven't signed off yet goes with the visit, recorded in the register's audit log. One you have signed off stays - permanently, because that's the law rather than a preference - and Wattle now says so, names the drug and the amount, and tells you to record a note or a counter-entry if the drug wasn't given. The same warning appears when you remove a single charge; Wattle always worked this out, it just never told you. → Consultations

4 August 2026 - Discounts by percentage

Add a discount to a visit and you now choose % or $.

$ is exactly what it has always been - one discount line on the bill.

% is the new one. Type 20, and 20% comes off every item on that visit, including anything you add afterwards. No more working the figure out by hand and watching it go stale the moment you add another line.

A few things worth knowing:

A percentage discount doesn't add a line of its own. The reduction shows against each item instead - which is where it belongs, and what your invoices already knew how to print. The window tells you this before you press the button, so "nothing appeared" doesn't look like a failure.

The visit wears a chip - Pet plan - 10% off - so a rule that quietly applies to items you haven't added yet is never invisible. Each discounted line shows what came off it.

It comes off what you actually charge. On a Sunday with after-hours loading, a $100 consult bills at $150, so 10% off is $15. Fees are discounted too.

Items already on an issued invoice are left alone, and Wattle tells you. Change a percentage on a part-invoiced visit and you'll be told how many items couldn't be changed and which invoice is holding them. Unfinalise that invoice and they'll come along. → Charges vs invoices

4 August 2026 - The dose calculator does micrograms

Doses can now be entered in mcg/kg, and weights in grams. That's the gap that made the calculator no use for most sedation and analgesia work - buprenorphine, methadone and dexmedetomidine are all dosed per microgram, and until now you had to divide by a thousand in your head before you could use it at all. Dose in mcg/kg and the total reads back in mcg, with the milligram figure beside it, because that's the step that gets fumbled. Grams are there for birds and pocket pets.

A percentage is now just a unit on the concentration box. The separate "% solution" section, and its Use as conc. button, are gone. Choose %, type the figure off the bottle, and the mg/mL conversion appears underneath the box it belongs to.

Volumes read to three decimal places. A small patient's 0.125 mL was being shown as 0.13 - a 4% difference on a two-kilogram cat, presented as though it were exact. Where a figure has still been shortened, the working line says rounded.

Two smaller things. Empty boxes now look empty: concentration used to sit at 0 before you'd touched it, which reads like a number someone entered. And nothing shifts as you type - the answers hold their place from the moment the calculator opens, so a result appearing can't move the box you're aiming at.

The calculator still doesn't check a dose against the animal or the drug, and it isn't linked to your catalogue. Both are being looked at separately. → Consultations

4 August 2026 - Discounts stand out on the billing card

Money coming off a bill is now shown in red. A discount on a visit's billing card is coloured, so a reduction reads at a glance instead of resting on a minus sign you have to look for. It's a softer red than the one on delete buttons - a discount isn't a dangerous action and shouldn't shout like one. Amounts you're charging are unchanged.

And a smaller fix behind it. Number boxes in Wattle already refused a negative where one made no sense - you can't type one into a price. But a value arriving from elsewhere could still be displayed, which is how -280 briefly showed up in the Add-item window looking like something you'd typed. Out-of-range numbers are now corrected on the spot, everywhere in the app. → Charges vs invoices

4 August 2026 - A discount on a visit was adding to the bill

Fixed - and worth a look if you've ever discounted a visit. Adding a discount to a visit's billing card put the amount on the bill instead of taking it off. A $280 discount left the visit $560 away from where it should have been: the money that never came off, plus the same amount added on.

This only ever affected discounts added to a visit. Discounts on an invoice or an estimate have always worked correctly and were never touched by this.

We checked every discount ever entered across every practice using Wattle. There was one, it had not reached an invoice, and it has been corrected - so no client was ever sent a bill with the wrong figure on it.

The Add-item window now talks about discounts properly too. Choose a discount and the amount box is labelled Discount rather than Price, and the figure at the bottom reads Total discount applied. Type a plain positive number - 280 means $280 off - and the bill shows it as -$280.00, which is where a reduction belongs.

Discounts on a visit are still a fixed dollar amount. A percentage that follows a whole visit, including items you add later, is being built separately. → Charges vs invoices

3 August 2026 - The app stops forgetting where you were

The Schedule keeps your day and your view. Open a patient from a booking three weeks out and come back, and you'd be looking at today again - so getting back took as many clicks as getting there did. The Schedule now remembers the day and the view you were on, survives a refresh, and the address in your browser bar says which day it is showing, so you can bookmark a particular week or send a colleague a link that opens exactly what you're looking at. A plain …/schedule still opens today in your usual view, as before.

Two things go with it. If you leave Wattle open overnight, refreshing the next morning brings you back to today rather than quietly showing you yesterday's list. And whenever the calendar is not showing today, a small label beside the date says so - Yesterday, In 3 weeks - so a glance can't be misread. → Using the schedule

Sorting a list now sorts the whole list. Clicking a column heading on a long patient list only ever reordered the twenty-five rows in front of you, then page two started again from the top. Sorting by Last Visit gave you the most recent visit on that page. Sorting patients by Owner was worse - the column shows the owner's name, but it was being ordered by a hidden internal reference, so the result had no meaning at all.

Patients, clients and invoices now sort properly across the entire list, so the first row really is the first one. Some headings have deliberately stopped being clickable - on the catalogue, estimates, packages, categories, the ledger, the audit log and parts of communications, and on the invoice list's Client and Patient columns. Those were the ones that could only ever have reordered a single page, so rather than appear to work they now do nothing. Nothing was removed from a list that shows everything on one screen: sorting there works exactly as it always has.

Lists remember your sort, filters and page too. Filter invoices to unpaid, sort by balance, open one, press back - you land on the list you left, not the top of an unfiltered page one. As with the Schedule, the address bar holds it, so the view is bookmarkable and shareable. → Patients · Clients · Invoices

2 August 2026 - The register reads like the paper book

In / Out / Balance columns, no signed quantities. A supply used to show as "−0.2 mL" - a negative supply, which no paper register would ever write. Quantities are now unsigned everywhere: the entry's Type says which way the drug moved, and the finalised register, the single-drug register page and the register PDF all use separate In and Out columns beside the running balance - the same shape an inspector already knows. Wastage stays its own visible figure. → Reports & printing the register

The balance warning tells the truth now. Charging a controlled drug used to warn "register balance is 0" no matter how much stock the register held, and signing off a billing-captured entry could be refused for the same phantom reason. Both now read the drug's real balance, so the warning only appears when you genuinely haven't recorded enough stock - and sign-off just works.

Editing a billed medication is the full dispensing step. Opening a medication charge from the visit's Billing items used to show a cut-down form - no Intent, no instructions, no wastage. Editing now offers the same fields as adding, wired to the patient's medication record, and Save & print label works from an edit too - so a typo in the directions is a fix-and-reprint, not a delete-and-redo. → Dispensing labels & medications

Smaller things. The "Billed to …" tags under each consult billing line are gone - who pays is shown on the client's account and the invoice, where it's actually managed. And a rare layout fault where the add-item dialog's fields could spill past the card's edge is fixed for every dialog in the app.

1 August 2026 - Your catalogue, filed under your own names

Categories are folders now. A category used to have a Type, chosen from ten fixed words, and things quietly hung off it - which boxes the item form showed you, what the item code was prefixed with, whether a line got the weekend loading. That is why a category you invented never quite worked: create "Derm" and Wattle had no idea what to do with it.

A category is now a name, a colour and a position in the list, and nothing else. Make fifty of them. Call them Derm, Ortho, Surgery, Speciality, Boarding. Renaming a folder never changes a single item inside it. And typing a folder name into the billing item picker now finds what you filed there - which the ten fixed words could never do.

What an item IS is asked on the item. "What kind of item is this?" - Service, Euthanasia, Discount, Product, Medication or Vaccine - is the question that decides the form, the drug library, the Schedule 8 fields, the code prefix and the weekend loading. Euthanasia is its own kind, and billing one offers to record the patient as deceased.

Also in the Categories tab: a Reorder button that lets you drag folders into the order you want (it's the order the pickers use); colours are swatches instead of a box you typed a hex code into; and two folders can't share a name any more. The "you need at least one Consultation category" block is gone - there are no types to run out of.

Filing an item is optional again. Creating an item no longer demands a category. An unfiled item works exactly like a filed one and reads Unfiled on its row. → Set up your catalogue

Importing a catalogue CSV now asks for Kind. Your old files still work - a column headed "category" is still recognised and its words still map, with everything that was the vet's time landing on Service. → Import your data

Weekend and after-hours loading is set by what a thing is. Settings → Rate loading → Applies to now lists five kinds - Service, Euthanasia, Medication, Vaccine, Product - instead of nine categories. Ticking Service once covers consults, procedures, diagnostics, imaging and hospitalisation, where before you ticked five boxes and hoped you hadn't missed one. Nothing you had configured changes. Discounts still can't be loaded, and still can't be forced. → Weekend and after-hours loading

31 July 2026 - Price from your cost with a markup percentage

Markup is now a box you can type in. Pricing an item meant working out the sale price in your head (or a calculator) and typing the answer. The catalogue's pricing table now has a Markup column between Cost and Sale: enter what an item costs you, type a markup - 150 means the sale price is two and a half times the cost - and the price is worked out to the nearest cent. It works the other way too: type a sale price and the markup shows what you're really charging over cost. The same column is on the Add common products pricing step, so a whole batch can be priced off cost in one pass.

Each unit row has its own markup, so a box of 30 can sit at a different margin from a single tablet. Items with no cost recorded show a dash - there's nothing to mark up.

The markup isn't saved, and that's deliberate. It's simply the sum of the two prices either side of it. So if a supplier's price goes up and you edit the cost, the markup figure changes in front of you and you can see the margin you're now on. Wattle will never change a price by itself - putting your prices up stays your decision. → Add a single catalogue item

29 July 2026 - History you can click, booking from the pet's page, and a safer delete

Schedule → History no longer traps you. Once you switched to the History view, clicking anything in the sidebar bounced you straight back to the Schedule - you had to switch back to Day or Week before you could leave the page. Fixed; navigation works from History like anywhere else.

History rows open the appointment. Clicking a row used to jump to the visit record, or the patient's file, or do nothing at all depending on what the appointment had attached. Now a row opens that appointment - the same panel you'd get from its tile on the calendar - and a new button at the end of each row takes you to the visit record, the patient file or the client file instead. Entries that don't apply are greyed out rather than missing. → History view

Booking from a pet's page keeps the pet. ⋯ → Book Appointment on a patient used to dump you on an empty Schedule, where you searched for the animal whose file you were already reading. It now opens the booking panel with that pet - and their owner - already filled in. Same for Book appointment on the Summary tab and the Appointments tab's empty state. → Book an appointment

Deleting an appointment with a visit attached is now possible, and says what it will do. Previously the Delete button simply did nothing for these - no error, no explanation. It now works, and the confirmation reads Unlink and delete with a plain note that the clinical notes are kept: only the calendar entry goes, and the visit record stays on the patient's file. Repeating series show a count of how many appointments in the run have visits attached. Deletes that fail for any other reason now show a message instead of failing quietly. → Delete an appointment or time block

Cancelling an appointment moved. The appointment panel's menu is gone. Cancelling is a status like any other, so it now lives in the Status box, which has moved from the top of the panel down to the bottom row next to Repeat. Right-clicking a tile on the calendar still offers Cancel Appointment as a one-click shortcut. The Print details entry was removed as well - it only printed the panel as-is and was never a finished feature. → Cancel or mark a no-show

Status changes now confirm. Changing a visit or appointment status only swapped a small coloured dot, which was easy to miss and easy to doubt. Both now show a brief Status changed message.

Repeating appointments say what they belong to. Open one and the Repeat box reads, for example, Weekly - 3 of 4. It's a description, not something you can edit - changing a pattern still means deleting the series and booking it again. → Edit or delete one of a repeating series

Smaller fixes. The patient-and-owner card in the booking panel now sits on white instead of grey, so the names read more clearly. Red menu items (Delete consult, Void, Sign out) no longer turn grey when you hover them.

28 July 2026 - One Save on Details, a calmer scroll, and dropdowns that tell you what's missing

Pages scroll properly again. On some pages the wheel did nothing unless your pointer happened to be over the page header - the content area was quietly acting as a second scrollbar and swallowing the scroll. There's now one scroller for the whole app, everywhere. Page headings (including "Good evening" on the dashboard) now scroll away with the content instead of sitting fixed, and the patient record's tab bar stays pinned so you can switch tabs from anywhere in a long file.

The patient and client Details tabs are one card with one Save. Previously a tall form sat beside two short boxes - Bill to and Insurance - each with its own save button, so one edit meant up to three separate saves. Now it's a single card: patient details on the left, Billing & insurance on the right, and one Save at the bottom that stores the lot. The client Details tab gets the same treatment, with Additional contacts as a column rather than a separate box. Nothing about what's stored has changed. → Edit a patient's details

Empty dropdowns now explain themselves. A brand-new clinic could open a dropdown and find nothing at all - a blank white box with no hint about what to do. Lists like appointment type and default payer now say what's missing and link you straight to where you set it up.

The dose calculator moved somewhere sensible. It used to float loose between two cards in the consult. It's now a calculator icon in the consult's top-right actions row, just left of the visit status. Same calculator, same ⌘K shortcut. → Dose calculator

Less grey text on forms. Help text that simply restated a field's label - or explained a setting you only need to read once - is now behind the ? icon next to the label. Anything that tells you a format, a consequence, or a money or legal rule stays visible where it was.

24 July 2026 - Cleaner drug names, delete anything, a friendlier register and a to-do-style Quick notes

Drug names finally read like drug names. Picking from the drug reference now shows - and saves - one clean name: brand (active) strength form, e.g. ACP 10 (acepromazine) 10mg/mL injection. No more registration-database mouthfuls landing in your catalogue, and the name you see in the list is exactly the name that's saved. Combination products (like Zoletil) now appear as one entry listing both actives, and hovering any result shows a proper tooltip with the full detail. In Add common products, each added row now has an edit (pencil) button that opens the full item editor - every field, not just name and price. → Add products from the drug reference

Catalogue items can be deleted at any time. Deleting no longer fails silently for items that have been invoiced - and it's safe: past invoices, estimates and the controlled-drug register keep their own records, so history never changes. Deleted rows disappear from the list immediately. → Hide an item vs. delete it

The register asks for your PIN once per session, not once per visit. Opening the controlled-drugs register asks for your PIN the first time each sign-in; after that you stay unlocked while you work and move around the app, re-asking only after 15 quiet minutes (the regulatory requirement) or a fresh sign-in. Signing off entries, adjustments and destructions still always takes a PIN. This replaces the every-entry prompt from beta.255 - and also fixes the brief "PIN screen flash" when navigating away. → PIN sign-off

Act on a drug from wherever you're looking. Stock check and Destruction are now buttons at the top of the register (no longer tucked in the menu - and "stocktake" is now called stock check throughout). Every drug's own register page shows its current balance in large type with its own Add entry button and actions menu, and each row of Current balances has a menu - record a receipt, stock check, adjustment, loss or destruction without drilling in first. Team members who aren't vets now see vet-only actions greyed out with a "Vets only" note instead of them silently missing. → The register, drug by drug

Quick notes now works like a to-do list. Compact rows with a tick to complete, the note's first line as its title, the patient tag beside it, and the time on the right - grouped by day (Today, Yesterday, …). Tap anywhere on a note to open it; drag the grip to reorder notes within a day; copy and delete now live inside the opened note. Completed notes tuck into a collapsed "Completed" bar that stays pinned to the bottom of the window - however long your list gets, it's one tap away - and expanding it offers Clear completed to empty the pile in one go. → Jot a quick note

23 July 2026 - Sign-in that expires, and cancel from the billing portal

Long gaps now need a real sign-in. Your clinic has a new Require sign-in window (Settings → Security → Sign out after: 4, 8, 12 or 24 hours - 8 by default). After that much inactivity the session ends entirely and coming back means a full sign-in, not just the PIN. Decided on Wattle's servers per computer, so a closed laptop lid doesn't get around it. → Your PIN & the lock screen

Cancel your subscription yourself, whenever. The Subscription page's Manage subscription button opens the billing portal for card updates, invoices - and now cancellation. You keep full access until the end of the period you've paid for (no refunds mid-period, no surprise lockout), with an export link shown while the clock runs. Un-cancelling before the end date is one click. → Cancelling your subscription

Settings polish. Appearance is a compact row on the Account page (above Delete Account); Duplicates is its own page again under Data & compliance; Controlled drugs leads that group; and the register settings page now carries a prominent "not yet a legal register" notice while that remains the case.

22 July 2026 - Register entries for every kind of movement, and a stricter PIN

Return to stock and Transfer out join Add entry. Drew up more Lethabarb or an opioid than you used? Return to stock puts the unused part back on the register (optionally naming the patient it was drawn for). Sending stock to another practice or back to a supplier? Transfer out records who received it and the reference. Together with Receipt, Supply, Administration and Wastage, every everyday movement now has its own entry type - and a "Which type do I pick?" cheat note sits right on the guide. → Add an entry by hand

Your PIN is asked once per visit to the register. Entering the controlled-drugs register always confirms it's you - even straight after unlocking the app - but moving between its Register and Reports tabs never re-asks. Fifteen quiet minutes still does. → PIN sign-off

The inactivity lock can't be refreshed away. Whether your session has gone idle is now decided on Wattle's servers - reloading the page, clearing the cache or opening a new browser lands on the PIN screen, never an unlocked app. A fresh sign-in still goes straight in: signing in and unlocking never stack. → Your PIN & the lock screen

No phantom "stocktake due". A newly set-up drug is no longer flagged for a stocktake the moment its opening balance lands - the opening balance counts as your first physical count, and the clock runs from there.

A tidier register page. Page actions (Add entry and the menu) now sit top-right of the page header like every other page; Start all at zero on register setup records every drug at 0 in a single click; and the integrity check now reports on the Reports tab.

22 July 2026 - A tidier, grouped Settings menu

Settings is easier to scan. The Settings menu is now grouped under small headings - Account, Clinic, Scheduling and Data (plus Compliance where Schedule 8 is on) - with Integrations, Subscription and About sitting on their own at the bottom. "Billing & Subscription" is now simply Subscription - same page, shorter name. → Settings - a guided tour

Data Import and Data Export are now one page. Settings → Import & Export has an Import tab and an Export tab; old links and bookmarks land in the right place automatically. → Exporting & backing up

The Subscription page at a glance. The plan panel now leads with your plan and status, a seats / per-vet price / monthly-total row, and your next renewal date, with payment management at the bottom. → Billing & your subscription

Locked permission rows look locked. In Roles & Permissions, abilities that can't be changed are greyed out as a whole row, so what's editable is obvious at a glance. → Your team & permissions

22 July 2026 - Clearer drug search, a tidier Integrations page

Drug search reads brand-first, and finds the brand you stock. Searching the drug reference (in Add Item or Add common products) now shows each result as the product you actually ask for - "ACP 10 (acepromazine) 10 mg/mL" - with the marketing waffle trimmed off. You can search by brand and drug together (e.g. "ceva ketamine"), and the list is a curated set of common veterinary products rather than tens of thousands of near-duplicates. → Add common products

Add common products now has a basket. Tick the drugs you stock and they collect in a list on the right; add the whole batch, then set prices on a dedicated pricing step (with Add more to keep going). No more losing track of what you've picked. → Add common products

A tidier Settings menu. The Privacy, Terms and Data Processing links now live on a new About page at the bottom of Settings, instead of tucked above the delete-account section.

20 July 2026 - Wattle now emails you at the moments that matter

Welcome, invite, billing and account emails. Wattle now sends a proper email when your clinic is created, when someone joins your team, when a subscription starts or ends, and when an account is closed - the confirmations most software sends by default, which Wattle didn't until now. A couple of gentle, occasional check-ins are new too, each with a one-click unsubscribe link. None of your day-to-day transactional emails (invoices, reminders, team invites) are affected - those keep sending regardless, since they're expected communications about your account.

20 July 2026 - Stock, units and the S8 register now agree

One list of units per product does everything. A product's catalogue item now lists every unit you handle - tablet and box, mL and bottle - with one marked as the base (the unit stock is counted in) and each of the others stating how many base units it equals. Each row keeps its own cost and sale price. Billing, receiving and stock counting all read the same list, so a 50 mL bottle finally depletes 50 mL, not 1. → Units and multiple pack sizes

Receive stock in whatever unit the delivery came in. The Receive stock window now has a unit picker - enter 2 × 50 mL bottles as 2 bottle and it books in as 100 mL. Wattle converts for you. → Receiving stock

Controlled-drug stock now lives in one place - the register. A Schedule 8 drug's count is kept only in the S8 register; the Inventory tab shows "In register" and points you across rather than keeping a second, competing number. Billing a controlled drug drops its pending register entry automatically, and voiding or editing the charge tidies up the pending entry with it. If the register has no stock to cover a charge, billing is never blocked; the bell simply reminds you to record a receipt or opening balance so the vet can sign off. → Controlled drugs in inventory · Day-to-day register recording

Register set-up is one pass. Opening balances are now a single table - every drug needing a starting count in one card, figures pre-filled where Wattle already knew them, a Start all at zero shortcut, and one Confirm & enable register click. → Record opening balances

New clinic setting: Track stock by default. Turn it on under Settings → Clinic → Inventory and every new catalogue product starts with stock tracking pre-selected. → Clinic settings

19 July 2026 - Drug search that leads with the active ingredient

Search results now put the drug first, the brand second. Searching the drug reference (when adding a catalogue item) shows the active ingredient up front with the brand name alongside - so "methadone" reads as methadone, whatever the label on the bottle says. Duplicate brand listings of the same product are collapsed into one row. → Add an item by searching the drug reference

17 July 2026 - Billing & Subscription, live in Settings

Your Wattle plan has a home. Settings → Billing & Subscription shows your plan, your billable vet seats and your monthly total, and it's where you subscribe, update your payment method or manage the subscription. Only vets count as seats - nurses, reception and practice managers are always free. → Billing & your subscription

16 July 2026 - S8 register: honest stocktakes, alerts and the paperwork questions answered

Stocktake discrepancies get investigated before they're accepted. A blind count that doesn't match no longer reconciles on the spot - an investigate step first walks you through the usual suspects (recount the safe, check the pending queue, check today's billing) and nothing touches the register until you click Accept and reconcile. A matching count records instantly, same as before. → Do a blind stocktake

The bell now watches the register. A stock adjustment or a stocktake discrepancy from the last fortnight shows up as a notification - the events an auditor looks for, surfaced to whoever reviews the register without anyone having to go looking. → Notifications

Entries record when it actually happened. Adding an entry by hand now includes an Occurred at time (pre-filled with right now) - so a catch-up entry for this morning's administration carries this morning's time, the way a register should. → Add an entry by hand

A responsible person for the register. Settings → Controlled drugs gains a Responsible person card - nominate whoever approves the register's use and reviews the audit trail (usually the practice owner or principal vet). The nomination shows on the Compliance card. → Nominate a responsible person

16 July 2026 - The S8 register learns your state's rules

A Compliance card on the register. The Register tab now ends with a card that knows your state: the stocktake cadence the law expects (with a live count of drugs due and a Run a stocktake button when any are), how many years to keep records, and - in WA, TAS and SA, where electronic registers need separate approval - a reminder that Wattle runs there as a convenience tracker. It reads the state from your clinic's address. (Since retired - the due count now lives on the register's summary cards, and Run a stocktake in the ⋯ menu.)Knowing when a stocktake is due

Destructions follow your state's witness law automatically. The destruction window now filters the witness options to what your state actually accepts - NSW clinics won't see the staff-vet option at all (a pharmacist, police officer or health inspector must witness), while VIC and QLD keep it. → Record a destruction

Losses, breakages and returned doses have a proper home. A new Loss or damage action on the register records a loss, a broken ampoule, or a drawn-up dose returned unused to stock - reason and PIN always, an optional witnessing vet countersigning with their own PIN. After a loss (or an unwitnessed breakage, which the law treats as one) Wattle shows you exactly who to report it to in your state, how soon, and - where one exists - a button straight to the online reporting form. → Record a loss or damage

15 July 2026 - S8 register: proper receipts, patients on entries, safe pickers

Receipts now carry the paperwork. Adding a Receipt entry asks for the Supplier (required) and the Supply reference - the invoice or docket number that came with the stock. Both can be fixed on the pending entry, are shown to the vet at sign-off, and flow into the by-supplier report, the CSV export and the PDFs. → Add an entry by hand

Supply and administration entries can name the patient. A searchable patient picker fills in the species for you (still editable - wildlife and strays welcome), and the patient shows up in the sign-off confirmation and the by-patient report.

Multi-safe clinics get a safe picker. If you run more than one safe, the register dialogs (Add entry, Adjust stock, Stocktake, opening balances, Destroy) now let you say which safe the movement touched. Single-safe clinics see no change. → Add or retire a drug safe

15 July 2026 - The S8 register now prints

Register reports as print-ready PDFs. Every report on the Schedule 8 Reports tab - by date, drug, patient, supplier or authorised person - now has a Download PDF button beside Export CSV. The PDF is laid out on your clinic letterhead with the full entry detail (reference, date and time, movement, wastage, running balance) and a "Generated … by …" stamp, so producing the register for an inspector is one click. → Generate a statutory report

A current-balances snapshot. The Current balances card on the Register tab gets its own Download PDF - every drug's balance right now, per safe if you run more than one. → Print the current balances

Printable destruction records. Every destruction row in the finalised ledger has a Record button that downloads a standalone one-page record - drug, quantity, method, place, both parties' details and the witness's drawn signature. If no on-screen signature was captured, the record prints signature lines for the witness to sign the paper copy instead; wet-ink lines are always included so any hard copy can be countersigned. → Print a destruction record

15 July 2026 - Your PIN: screen lock + register sign-off

Every user now has a 4-digit PIN. You'll be asked to set it once, at your next sign-in - it takes five seconds and can't be skipped. It does two jobs:

The screen now locks itself. Leave a computer untouched for a while (15 minutes by default; your clinic can choose 15/30/60 under Settings → Security) and the app locks behind your PIN. You stay signed in - type your PIN and you're back exactly where you left off, mid-consult and all. Five wrong attempts locks the PIN for 15 minutes (signing out and back in won't skip the wait); a practice manager can reset a forgotten PIN instantly from Settings → Team → ⋯ → Reset PIN. → Your PIN & the lock screen

PIN sign-off on the Schedule 8 register. Processing entries, stock adjustments and destructions now ask for the acting vet's PIN - checked on the server, audit-logged, tied to the person rather than the login on screen. Batch processing takes one PIN entry for the whole run; a staff witness on a destruction countersigns with their own PIN; and the register pages re-check your PIN after 15 quiet minutes. Destructions also now always require a witness - external witnesses sign on screen. One register, full strength, for everyone; keep your paper register alongside until Wattle formally takes on the official-register claim. → PIN sign-off

14 July 2026 - S8 register: wastage, editable drafts, real witnesses

Wastage is captured where you bill. Controlled-drug charges now have a Wastage box next to the quantity (pre-filled from your clinic default for injectables - set it under Settings → Controlled drugs). The register records given + wasted leaving the safe as one movement, with the reason filled in automatically; the client only pays for the given amount. → Recording what happens to the drugs

Pending entries can be fixed before sign-off. A pencil and a bin on every pending row: edit quantities, wastage or notes, or discard with a reason. All of it is audit-logged; finalised entries stay untouchable. → Fix or remove a pending entry

Quantities are editable at the moment of sign-off. The Process dialog now shows Quantity given and Wastage (or Quantity received for stock-in) as editable numbers - the vet checking the entry is the natural last checkpoint. → Sign off a pending entry

Destructions now carry a real witness. The Destroy window records method and place, and supports an external witness - the pharmacist, police officer or health inspector your state expects (in NSW, another vet is not a valid destruction witness) - with their name, class, registration number and an on-screen drawn signature sealed into the tamper-evident record. Same pharmacist every time? Save their details for next click. Staff-vet witnessing (fine in VIC/QLD) is still there too. → Record a destruction

14 July 2026 - Look back at past appointments

A History list on the Schedule. The Schedule page now has a third tab - History - alongside Day and Week. It's a searchable, sortable list of every appointment that has already happened, newest first, so you can find last week's visit or reconcile your day without scrolling the calendar back. Search by patient, client (owner) or vet name; filter by vet or status; flip Newest / Oldest; and click any row to jump straight to that visit's consultation (or the patient's file if no consultation was started). You can bookmark it directly at …/schedule?view=history. → The History view

A Recent appointments card on the dashboard. The dashboard now shows the last few appointments that have already happened, newest first - a one-glance look at what's just been through, with View all opening the full History list. → Look back at recent appointments

13 July 2026 - Visit history, faster catalogue setup

Visit History, reorganised. Each visit on a patient's Visit History tab now shows everything in one view - what the visit was booked for, vitals up top, the clinical notes, any photos or files, and the charges with a total. Only visits that have actually happened appear (upcoming bookings stay on the Appointments tab), and a status badge now only shows on visits that are still open - so a badge means "someone should finish this". → Viewing a past consultation

Adding medicines is much faster. When adding a catalogue item, just start typing the drug's name in the Item Name box - matching products from the drug reference appear underneath. Pick one and the name, category, item code and Schedule 8 details fill themselves; you only set the price. (The separate "Find in drug reference" box is gone - the name box does it now.) Choosing a category also suggests the next item code automatically. → Add an item by searching the drug reference

New units. mL, g and kg are now built-in unit types, and you can add your own custom units straight from the unit picker - type the unit and click "Add ‘…’ as a custom unit". → Units and multiple pack sizes

Tidier Details tabs. The patient and client Details tabs now share the same wider, card-based layout - the edit form on the left, Bill to / Insurance / Additional contacts alongside. → Edit a patient's details

Deleting a visit is now permission-gated. A new Delete consults permission (on by default for vets and practice managers, adjustable in Settings → Roles & Permissions) controls the consult page's Delete action. Any visit can be deleted - but if it has billing history it's archived (hidden, billing kept) rather than destroyed. → Delete a visit

A Miscellaneous catalogue category is now included by default, for items that don't fit the clinical groups. → Organise with categories

On this page

8 September 2026 - Deleting a controlled-drug charge asks one question6 September 2026 - Clearer GST settings, and an ABN you can't miss2 September 2026 - One place to put a discount2 September 2026 - A client can have a discount that follows them2 September 2026 - The controlled-drug register stops asking for your PIN31 August 2026 - Email a deposit request straight from Wattle31 August 2026 - Ask for a deposit by card, with no invoice31 August 2026 - The draft-price notice explains itself31 August 2026 - A bill stops at zero31 August 2026 - A discounted draft saves again31 August 2026 - A package adds up as you build it30 August 2026 - Figures wait until they are real29 August 2026 - Your price-entry choice follows you29 August 2026 - Prices say which side of GST they are on29 August 2026 - The sign-in page finishes arriving all at once27 August 2026 - The Financials tab stops saying "No billing yet" when there is billing27 August 2026 - Deceased pets leave the Active list27 August 2026 - The Attachments tab stops looking broken27 August 2026 - Vitals move to Summary, with a chart27 August 2026 - A pet is Active or Deceased27 August 2026 - Weight changes you can act on26 August 2026 - Clearer names on the consult page26 August 2026 - The consult bills its own visit, and estimates move in with the money26 August 2026 - Visit History: rows you can tell apart, and a list that stays put25 August 2026 - The patient record reflows instead of hiding things25 August 2026 - Layouts now measure the space they're actually in25 August 2026 - A long pet name no longer pushes the button off the screen25 August 2026 - Wattle stops asking you to refresh, and small text gets less small24 August 2026 - A draft is amber now, and a saved invoice stops saying it isn't23 August 2026 - A booked euthanasia asks about the patient's record again23 August 2026 - Refunding a paid invoice now writes the credit note that explains it23 August 2026 - Setting up the Schedule 8 register no longer refuses your PIN19 August 2026 - A label is no longer a medicines thing, and the Medications tab is gone19 August 2026 - Medicines you dispense now reach the patient's record19 August 2026 - The duplicate warning waits until you have finished typing18 August 2026 - Feedback takes a screenshot, and stops making you wait18 August 2026 - An account says what it means16 August 2026 - Your write-up survives a bad connection14 August 2026 - Labels print at their real size, and you can look at one again14 August 2026 - Emailing an invoice no longer locks it13 August 2026 - Money you are already holding finds the invoice12 August 2026 - Every patient and owner picker searches your whole practice12 August 2026 - The consult page gets tabs, and a visit is dated when it happened12 August 2026 - Long lists stop running out11 August 2026 - Voiding an invoice puts the stock back, and the record says who did what10 August 2026 - A saving button can't be clicked twice, and the drug search takes the keyboard8 August 2026 - Credit notes reach the statement7 August 2026 - A sent or paid invoice is credited, not voided6 August 2026 - Tidying the catalogue stops arguing with you4 August 2026 - Deleting a visit now deletes what was billed on it4 August 2026 - Discounts by percentage4 August 2026 - The dose calculator does micrograms4 August 2026 - Discounts stand out on the billing card4 August 2026 - A discount on a visit was adding to the bill3 August 2026 - The app stops forgetting where you were2 August 2026 - The register reads like the paper book1 August 2026 - Your catalogue, filed under your own names31 July 2026 - Price from your cost with a markup percentage29 July 2026 - History you can click, booking from the pet's page, and a safer delete28 July 2026 - One Save on Details, a calmer scroll, and dropdowns that tell you what's missing24 July 2026 - Cleaner drug names, delete anything, a friendlier register and a to-do-style Quick notes23 July 2026 - Sign-in that expires, and cancel from the billing portal22 July 2026 - Register entries for every kind of movement, and a stricter PIN22 July 2026 - A tidier, grouped Settings menu22 July 2026 - Clearer drug search, a tidier Integrations page20 July 2026 - Wattle now emails you at the moments that matter20 July 2026 - Stock, units and the S8 register now agree19 July 2026 - Drug search that leads with the active ingredient17 July 2026 - Billing & Subscription, live in Settings16 July 2026 - S8 register: honest stocktakes, alerts and the paperwork questions answered16 July 2026 - The S8 register learns your state's rules15 July 2026 - S8 register: proper receipts, patients on entries, safe pickers15 July 2026 - The S8 register now prints15 July 2026 - Your PIN: screen lock + register sign-off14 July 2026 - S8 register: wastage, editable drafts, real witnesses14 July 2026 - Look back at past appointments13 July 2026 - Visit history, faster catalogue setup