---
title: Badges
summary: 'The credential an employee uses to clock in or out at a terminal: usually a physical RFID/NFC card, sometimes a barcode, sometimes a virtual token. One employee can have multiple badges.'
section: features
tags:
  - crud
  - tempus
  - hardware
  - time-tracking
updated: '2026-06-17'
---

> A **badge** in Tempus is the credential an employee uses to clock in or out at a [terminal](terminals.md): usually a physical RFID/NFC card, sometimes a barcode, sometimes a virtual token in the Voxbi app. One employee can have multiple badges, but each badge belongs to exactly one user.

## Overview

The Badges page is the registry of every badge issued on the tenant, where you create, edit, activate, deactivate, and trash badges. To register a card, read its UID from the device, paste it into **Badge data**, link it to the user, and set it active. The badge is then live at every terminal.

## What it does

When an employee taps a badge, the terminal reads the badge data, looks up the matching record, confirms it is active, and writes a [time point](tempus_time_points.md) for the linked user. If the record is inactive or the data matches nothing, the tap is rejected silently. Badge data must be unique on the tenant and is case-sensitive.

For a lost or stolen card, set **Is active = off** immediately, then register a new badge with the replacement card's UID.

> [!IMPORTANT]
> Deactivate, do not delete. Setting **Is active = off** retires a card while keeping the record for audit history. Trashing a badge strips its name from historical time-point traces.

## See also

- [Terminals](terminals.md) - the devices that read badges.
- [Time points](tempus_time_points.md) - the outputs of badge taps.
- [Users](../telephony/users.md) - the badge owner.

```yaml fields
user_id:
  label: Employee
  tab: General
  hint: 'The user this badge is assigned to. Each badge belongs to exactly one user.'
badge_data:
  label: 'Badge ID'
  tab: General
  hint: 'Unique identifier stored on the physical badge, read by the scanner on tap. Must be unique across all badges on the tenant.'
badge_name:
  label: 'Badge alias'
  tab: General
  hint: 'Human-readable label for the badge, useful when a user has more than one (for example, "Office badge" or "Warehouse badge").'
is_active:
  label: Active
  tab: General
  hint: 'When off, the badge is rejected at every terminal. Deactivate to retire a card without deleting its history.'
```
