Overstocking is usually an accident of small additions
Very few keepers overstock a tank in one decision. It happens in drizzle: a pair of fish bought on a good day at the shop, a rescue taken in, a school topped up because two were lost, fry that were supposed to be eaten and were not. Each addition is small and reasonable; the total is what becomes unreasonable, and the total is exactly what memory tracks worst. A stocking record exists to make the total visible at all times, so the question before any purchase is not "can I fit a couple more?" but "what does the sheet say is in there now, at adult size?"
One sheet per tank, always ending in a current total
Give each tank a single stocking sheet — paper or digital — laid out as a running ledger. Every line records the date, the species, the number added or removed, and the source or destination: bought from a shop, bred at home, given away, moved to another tank, or lost. After each line, update the running totals: headcount, and a note of the adult size the current population will reach. That second total is the one that prevents accidents, because a tank stocked with juveniles looks half empty while already being fully committed. If a line does not change the totals, it does not belong on the sheet; if it happens in the tank, it gets a line.
Record the removals and the quiet changes too
Additions are easy to remember because they involve a bag and a trip. The entries that keep a record honest are the unglamorous ones: deaths, fish rehomed to a friend, the male guppies moved to the spare tank, the pleco that outgrew the setup and went back to the shop. Breeding colonies need a periodic counted estimate rather than a line per fry — write "counted roughly forty juveniles" with a date, and revise it at each count. A record that only grows is worse than useless, because it teaches you to distrust it; a record that shrinks honestly stays believable, and you will check it before buying.
Keep a planned list next to the actual one
Under the ledger, keep a short "planned" section: the species you intend to add, in what numbers, and what has to happen first — the current fry moved on, the new filter matured, the quarantine tank free. Impulse purchases are where stocking plans die, and a written plan gives you something to check an impulse against in the shop: if the fish in the bag is not on the plan, the plan has to be deliberately changed, in the record, before the fish goes in. That one moment of friction is the whole mechanism — it turns overstocking back into a decision.
Check the sheet against the glass now and then
Once in a while, count the tank against the record — during a water change, when the fish are up and feeding — and correct drift in pencil. Small mismatches are normal in community tanks; large ones mean entries have been missed and the sheet needs a reset line with today's true count. Kept in a KinsLe Pet Passport alongside the tank's water-test and equipment records, the stocking sheet also makes advice accurate: a shop or vet helping with a problem can see the real population at adult size, not the version you reconstruct from memory at the counter.