---
title: "NormalisationRule"
description: "how one extracted field becomes a typed value: trimmed text, a number with its unit, money with its currency, a date with its basis, a regular-expression capture, a map of words to a registered kind, or an entity looked up by identifier"
section: concepts
address: /concepts/normalisationrule
contract: 0476e35e6e275db5
---

# NormalisationRule

how one extracted field becomes a typed value: trimmed text, a number with its unit, money with its currency, a date with its basis, a regular-expression capture, a map of words to a registered kind, or an entity looked up by identifier

[figure: NormalisationRule is a value at none scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | value |
| scope | none |
| key | none |
| store | none |
| family | sources |



## Fields


| field | type | required | note |
|---|---|---|---|
| `field` | `text` | yes |  |
| `kind` | `one of trim \| number with unit \| money with currency \| date with basis \| regex capture \| map to a kind \| lookup by identifier` | yes |  |
| `argument` | `text` | no | the unit, the currency, the basis, the pattern, the kind or the namespace |
| `required` | `bool` | yes | a row missing a required value is not ready with the reason |



## Routes that use it
No route takes or returns NormalisationRule directly. The record holds it, and the objects that point at it reach it.
