library · field guide

One spelling change broke your traceability.

A plant carries two names, the one a grower types and the one the law recognises, and only one of them holds still. When a synonym or a typo slips onto a label, the audit trail snaps quietly, and nobody notices until an inspector or a customer asks the one question the record can no longer answer.

the problem

The name is the least stable thing about a plant.

Botanical names are revised, abbreviated, mistyped and translated. Build your traceability on the name and you have built it on sand — because the name is the one attribute guaranteed to drift.

the weakest link

A synonym breaks the link.

Every plant in your nursery has a name, and that name is doing more work than it looks. It is on the label, the delivery note, the invoice, the passport and the order. People read it and assume that if two documents say the same thing, they describe the same plant, and that if they say different things, they describe different plants. Both assumptions are wrong the moment a name drifts.

And botanical names drift constantly. A genus gets revised and yesterday's Coleus is today's Plectranthus. A cultivar is abbreviated three different ways by three different people. A non-breaking space, a stray capital, a translated common name typed in instead of the Latin: each one is invisible to a human reader and fatal to anything that matches on text. A search for the old name returns nothing. A report splits one line into two. A passport claims a plant that, on paper, no longer exists.

It is a traceability failure dressed up as a typo. "One step back, one step forward" only works if the thing in the middle has a stable identity, and a free-text name is the one part of a plant record that was never built to be stable.

Identity rides on codes.

where identity lives

Identity rides on codes.

A resilient record never asks a name to carry the weight of identity. In a well-built catalogue every product and every variant has a short, unique code, and every lot of stock is a batch keyed to that variant rather than to the words on the label. Codes are generated to a template you control, checked for uniqueness as they are created, and they do not change when a botanist revises a genus or a colleague fat-fingers a cultivar.

So the audit trail is anchored to something that holds still. You can correct a misspelled name, translate it, or adopt a new botanical revision, and every order, passport and movement still points at the same plant, because they were pointing at the code all along. The name is a label for humans; the code is the identity the record relies on.

The passport names the plant in a language inspectors share.

a shared language

The passport names the plant in a language inspectors share.

The EU plant passport does not trust a free-text name either. Alongside the botanical name it carries the EPPO code, a stable, internationally agreed identifier for the species, plus the supplier registration, the lot reference and the country of origin. That code is what lets an inspector in one country read a passport written in another and know exactly which plant is in front of them.

When passports are generated from the batch record (supplier identity, lot, botanical name with its EPPO species code, origin), the document inherits the discipline of the record beneath it. Get the species identity right once, in the catalogue, and every passport that follows speaks the same unambiguous language, no matter who printed it.

a plant-health control

Naming discipline is biosecurity, not housekeeping.

A traceability system exists to follow a pest or a problem back to its source. A name that splits, merges or mutates is a gap a pathogen can hide in.

Picture a routine recall. A batch tests positive, and you need every plant that shared its lineage, its bench and its delivery run. If half those records were filed under the accepted name and half under a synonym someone preferred, your recall has a hole in it, and you will not know the hole is there, because both spellings look correct. The plants you miss are the ones that carry the problem onward.

That is why naming is a plant-health issue. The whole point of "one step back, one step forward" is that you can pull a thread and have everything connected to it come with it. A drifting name cuts the thread silently. Discipline at the point of naming, one canonical species name with the EPPO code attached, is what keeps the thread whole, so that when you do have to pull it, nothing is left behind.

A generated name can't drift.

names you don't retype

A generated name can't drift.

The surest way to stop a name drifting is to stop people typing it by hand. Build a variant's display name from a template, assembling the species, the pot size and the form from controlled fields rather than retyping them on each new line. Pick a pot size from its list and the label reads the same way every time; a controlled attribute resolves to one agreed spelling, so three people cannot spell the same colour three ways.

It also means the human name and the underlying data can never quietly disagree, because one is generated from the other. Change the rule once and every name follows. Templated names are worth checking once, though — a bad template rule propagates to every label built on it, so a rule is easier to trust after it has been seen to render correctly than before.

The ledger never forgets the code.

the record underneath

The ledger never forgets the code.

Underneath the labels, stock is never a "quantity in stock" that someone edits. Every receipt, move, ship, scrap and quarantine is a logged movement against the batch, and the quantity you see is those movements added up live. When something has to be undone, the correction is written as a reversal rather than a deletion of the original, so the history stays intact.

So even if a label is reprinted under a corrected name, the movement history beneath it does not flinch: it was always tied to the batch and its code, never to the words.

atlas core

How Atlas Core keeps plant identity stable

Atlas Core is one system built around these principles for horticultural management:

  • Codes carry identity: every product and variant gets a short unique code generated to a template you control and checked for uniqueness, so a botanical revision or a mistyped cultivar never breaks the audit trail — orders, passports and movements all still point at the same plant.
  • Generated display names can't drift: a variant's name is assembled from controlled fields (species, pot size, form) rather than retyped, and attributes resolve to one agreed label, so three people can't spell the same plant three ways.
  • EPPO-coded plant passports built straight from the batch: supplier registration, lot reference, botanical name with its EPPO species code and country of origin are inherited from the record, so every passport speaks the same unambiguous language whoever prints it.
  • A movement ledger that never forgets: stock is the live sum of logged receipts, moves, ships, scraps and quarantines against the batch, and corrections are written as reversals rather than deletions, so counts stay reconcilable and a recall has no hidden holes.
  • Correct a name in one place and everything follows: fix a misspelling, translate it or adopt a new revision at the catalogue level and every downstream order and passport updates, because they were anchored to the code all along.

Read further

The hidden cost of a dozen tools Tech brief · 2026

The hidden cost of a dozen tools

Stock in one spreadsheet, orders in another, deliveries over WhatsApp. Nobody chooses fragmentation. The real bill arrives later - decisions made on numbers nobody trusts. Why one source of truth makes it disappear.

6 min read · Jun 2026 Read →

See how Atlas Core keeps identity stable.

Put naming discipline on rails, from the catalogue down to the passport and the movement ledger. Talk to us about how it fits your nursery.