---
id: "upov_code"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["agriculture", "science"]
langs: ["common"]
quality: 80
url: "https://registry.apicrafter.io/datatype/upov_code"
---

# UPOV code of a plant taxon (`upov_code`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

Code of a plant taxon in the UPOV Code System of the International Union for the Protection of New Varieties of Plants, used in plant variety protection and variety lists (GENIE, PLUTO). It is five letters for the genus, optionally an underscore and three letters for the species and an underscore and up to three letters for a sub-specific element or group, as in ZEAAA_MAY for maize. Short names repeat their last letter (POAAA for Poa). An appended element of up to six characters starting with a digit may follow.

- Personal data (PII): no
- Categories: Agriculture, livestock and food (agriculture), Scientific (science)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^[A-Z]{5}(?:_[A-Z]{3}(?:_[A-Z]{1,3})?)?(?:_[1-9][A-Z0-9]{0,5})?$
```

## Examples

- `ZEAAA_MAY` — Zea mays L. (maize)
- `PRUNU_ARM` — Prunus armeniaca L. (apricot)
- `BETAA_VUL_GVS` — Beta vulgaris, Sugar Beet Group
- `CICHO_INT_1WIT` — Cichorium intybus, Witloof Chicory Group, with an appended element
- `TRITL` — ×Triticosecale (triticale), genus code
- `ZEA_MAY` (invalid example) — The genus element must have five letters

## Translations

- ru: Код UPOV таксона растения: Код таксона растения в системе кодов Международного союза по охране новых сортов растений (UPOV), например ZEAAA_MAY для кукурузы.

## Sources

- doc: <https://www.upov.int/edocs/infdocs/en/upov_inf_23.pdf>
- doc: <https://www.upov.int/genie/en/updates/upov_code.xhtml>

## Quality

Score 80/100. Missing: mapping (Wikidata, Schema.org, ...), detector coverage.

JSON: <https://registry.apicrafter.io/api/v1/datatypes/upov_code.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/agriculture/upov_code.yaml>
