nemhandel_verification_code
Six single character boxes for the code sent by SMS, with focus that moves as you type and a paste handler that fills the rest from wherever you started.
August 27, 2026Updated August 27, 20265 min read
| Technical name | nemhandel_verification_code |
|---|---|
| Field types | char |
| Views | form |
| Module | l10n_dk_nemhandel, Danish e-invoicing registration |
| Used in core | 1 occurrence, the Nemhandel registration wizard |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0 |
| No-code setup | No. It writes one specific field name |
| Alternatives | char, integer, CopyClipboardChar |
What the verification code field does
What this means for your team
Working examples
Filling forward from where you paste
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | Renamed / replaced | Not released. Same widget name, but the file and its wizard move into the Danish localization module. |
| Odoo 19.0 | Verified | Verified against the shipped source. Identical to Odoo 18. |
| Odoo 18.0 | Verified | First version. |
| Odoo 17.0 | Not available | Widget does not exist. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. The widget arrived in Odoo 18 and is unchanged in Odoo 19, so nothing needs attention within that range. The change to plan for is the module move described below.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| The code is not saved | Fewer than six boxes are filled; the widget writes only a complete code. Fill all six boxes. |
| Pasting fills only one box | The paste handler was prevented from running, usually by a customization. Check for a competing paste handler on the form. |
| Focus does not advance | The key handler runs on key release and needs exactly one character in the box. Check for a customization intercepting keyboard events. |
| The field stays empty on another model | The written field name is hardcoded rather than taken from the widget's field. Copy the widget with your own field name. |
| Missing widget error | The module providing it is not installed, or the database is on a version where it moved. Install the Danish localization or the Nemhandel module as appropriate. |
| Backspace jumps back too eagerly | It moves back only when the current box is already empty. Expected; delete the character first, then press backspace again. |
Verification code field vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
nemhandel_verification_code | Entering a short verification code sent to another device | Six boxes with advancing focus and a paste that fills forward, writing only a complete code |
| char | Any short text value | One input, no focus handling and no distributed paste |
integer | A numeric code as a number | Loses leading zeros, which codes often have |
| CopyClipboardChar | Codes users copy rather than type | A copy affordance rather than an entry aid |
Frequently asked questions
Why six separate boxes?+
What happens when I paste?+
Why is the field sometimes empty?+
Can I use it on another field?+
What changes in Odoo 20?+
E-invoicing registration done once, correctly
Country e-invoicing mandates come with registration flows, format rules and deadlines that differ everywhere. We implement Odoo e-invoicing per jurisdiction on versions 16 through 19.
Book a free consultation