# Register Accounts

Register accounts identify the person standing at the till with a short passcode. They're managed under **Admin → Users → Register accounts** and require Manager access.

## The problem they solve

A shared iPad at the counter signs in once, as a [Cashier account](/users-and-roles), and stays signed in all day. That answers *which restaurant this register belongs to* — but not *who rang up this order*.

Register accounts answer the second question. Each person enters a short passcode, and their name lands on every sale they take.

They're deliberately **not** full ForkLine logins. A weekend cashier has no business owning an email identity, a password reset flow, or a seat in the admin — and a shared iPad can't sign four people in and out of a real account over a shift.

## They're optional, and off until you create one

**A restaurant with no register accounts is never asked for a passcode.** The register behaves exactly as it always has.

Creating your first register account turns on the lock screen. If you're a single-operator shop, you may never need this.

## Creating one

1. Go to **Admin → Users → Register accounts**.
2. Add an account.
3. Enter the person's **name** — this is what appears on orders and in the [activity log](/activity-log), so use a name that identifies them on a schedule.
4. Choose a **role**:
   - **Cashier** — takes orders and payments
   - **Manager** — can also approve discounts and custom items
5. Set a **passcode**.

### Passcode rules

Digits only, 4 to 8 of them. Rejected: repeated digits (`1111`), sequential runs (`1234`, `4321`), and other obvious patterns.

Don't let staff share one. The entire point is telling people apart.

## Using it

The register shows a lock screen. Each person enters their passcode to start, and locks it again when they step away.

Their name is then recorded on everything they do.

## Lockouts

**Five wrong passcodes locks an account for five minutes.**

Once the lockout expires the counter resets, so someone who mistyped five times last week isn't locked by their first slip today.

Lockouts appear in the [activity log](/activity-log). A cashier locked out repeatedly usually just forgot their passcode — reset it.

## Manager override

Discounts and custom off-menu items can require manager approval. A **Manager** register account approves with their passcode, and **the log records who approved it by name**.

A store-wide manager password also works and is the only option for a store with no register accounts — but it can only ever say "someone who knew the password," which is usually everyone who's ever worked there. Register accounts are strictly better.

A register manager already signed in isn't asked to retype their passcode; the log names them anyway.

## Where attribution shows up

**On the order.** Order detail shows **Rung up by**. The name is captured at the time of sale, so renaming or removing an account later doesn't rewrite old orders.

**In the [activity log](/activity-log).** Entries record the register account *in addition to* the device's account — reading like "Maria (on the counter iPad's account)" — and are searchable by cashier name.

**On receipts, optionally.** Turn on **Served by** in [Receipt Layout](/receipt-layout) to print the cashier's name. Off by default in both layouts.

Signing in and out isn't logged — it happens many times a shift and the attribution is already on everything those people do. Lockouts *are* logged, because the log otherwise only records successes and a lockout is by definition a failure.

## Managing accounts

**Deactivate** when someone leaves — ends every session immediately.
**Reset a passcode** if forgotten — also ends their sessions.
**Remove** an account entirely. Past orders keep the name they were rung up under.

Deactivating covers the stolen-tablet case: it ends live sessions rather than waiting for one to expire.

## Where to go next

- [Using the Register](/register-pos)
- [Users & Roles](/users-and-roles) — full ForkLine logins
- [Activity Log](/activity-log)
- [Receipt Layout](/receipt-layout) — printing the cashier's name
