Home / Help Center / pos-app-electronics / electronics / Demo Units
🖥️ electronics

Demo Units

Demo Units is a register of every phone, laptop or gadget you keep on the counter or shelf purely for customers to try — separate from sellable stock — tracking its condition, floor location and how much value it has lost since being placed on display.

📍 Menu path: /electronics/demo-units
👤 Who uses it: Owner,Manager,Staff

Overview

Each demo unit record captures the product name, brand, model, color, storage, an optional IMEI (for demo phones that still carry one), the floor/counter location it sits at, and its physical Condition (Excellent/Good/Fair/Damaged).

A Purchase Value and a Current/Written-down Value are tracked side by side — the Current Value is shown in orange whenever it has dropped below the Purchase Value, flagging units that have lost resale value from display wear.

A unit moves through four Status states — On Display, Written Down, Sold, Retired — filterable with one-click status pills that also show a live count per status.

This is a simple standalone ledger: it does not touch your regular Products/Inventory stock counts, so demo units never accidentally get billed or sold through normal checkout.

Before You Start

Step-by-Step Guide

1 Add a demo unit to the floor

  1. Click Add Demo Unit.
  2. Enter the Product Name (required) — e.g. "Samsung Galaxy S24 Ultra" — plus optional Brand, Model, Color and Storage.
  3. Optionally enter the IMEI if the demo unit is a real phone with one, and the Floor Location (e.g. "Counter 2 / Window") so staff know where to find it.
  4. Pick a Condition (Excellent/Good/Fair/Damaged) and the Date Placed on Display, then enter Purchase Value and Current/Written-down Value.
  5. Click Save — the unit defaults to On Display status.

2 Write down a unit's value or change its condition

  1. Click the edit (pencil) icon on any row to reopen the form — editing an existing unit additionally reveals a Status dropdown (On Display / Written Down / Sold / Retired) that is hidden when first creating a record.
  2. Lower the Current/Written-down Value as the demo unit accumulates wear, and update Condition if it has degraded (e.g. Excellent → Fair).
  3. Set Status to Written Down once you have marked down its value for eventual clearance sale, Sold once it leaves the floor as a sale, or Retired once it is taken out of service entirely.

3 Find and filter demo units

  1. Use the All / On Display / Written Down / Sold / Retired filter pills across the top — each shows a live count of units in that state.
  2. Use the search box to filter by product name, brand or IMEI as you type.
  3. Click the trash icon on a row to permanently delete a demo unit record after a confirmation prompt.

Every Field & Button, Explained

Field / ButtonWhat it does
Add Demo UnitOpens the form to register a new floor/display unit.
Status filter pills (All/On Display/Written Down/Sold/Retired)Filters the table by lifecycle status; each pill shows a live count.
Search boxFilters visible rows by product name, brand or IMEI as you type.
Product Name *Required free-text name of the demo device; not linked to your Products catalogue.
Brand / Model / Color / StorageOptional descriptive fields shown together as a subtitle under the product name in the table.
IMEIOptional 15-digit IMEI, shown in monospace font in the table for demo units that are real phones.
Floor LocationFree-text note on where the unit physically sits (e.g. "Counter 2 / Window") so staff can locate it.
ConditionExcellent / Good / Fair / Damaged — shown as a color-coded badge (green/blue/yellow/red).
Date Placed on DisplayThe date the unit went out for customer handling/demo use.
Purchase ValueWhat the unit originally cost; shown as a plain right-aligned amount in the table.
Current / Written-down ValueThe unit's present value; rendered in orange whenever it is lower than the Purchase Value, flagging depreciation from display wear.
Status (edit mode only)On Display / Written Down / Sold / Retired — only editable once a unit already exists; new units always start as On Display.
NotesFree-text notes field for any extra detail about the unit.
Edit (pencil icon)Reopens the form pre-filled to update any field or advance status.
Delete (trash icon)Permanently removes the record after a confirmation prompt — there is no undo.

Tips & Best Practices

Troubleshooting & FAQ

I can't find the Status dropdown when adding a new demo unit.
Status is only shown once a unit is being edited — every newly created unit starts as On Display automatically; open it again via the edit (pencil) icon to change its status.
Why is the Current Value showing in orange?
That is a visual flag meaning the Current/Written-down Value is now lower than the original Purchase Value — it is informational only and does not block saving.
Does marking a unit "Sold" here create an actual sale in Billing?
No — this page is a standalone ledger. Marking Sold only updates this record's status; you still need to bill the actual transaction separately in Sales/Billing if money changed hands.
Can I link a demo unit to a real Product record?
Not directly — Product Name here is free text and is not connected to your Products/Inventory catalogue, by design, so demo stock never affects sellable inventory counts.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/pos-app-electronics/src/pages/electronics/DemoUnitPage.jsx
  • frontend-app/packages/pos-react-lib/src/pages/electronics/DemoUnitPage.jsx (actual implementation)

Backend endpoints used:

  • GET /electronics/demo-units
  • POST /electronics/demo-units
  • PUT /electronics/demo-units/:id
  • DELETE /electronics/demo-units/:id

Related tables (db-core repositories):

  • ElectronicsDemoUnit

Feature flag key: billing

The pos-app-electronics file is a one-line re-export (`export { default } from 'pos-react-lib/src/pages/electronics/DemoUnitPage'`) — the real component lives in the shared pos-react-lib package (also usable by the mobile-shop variant). New records are always created with status ON_DISPLAY since the create-mode form has no status field; the Status select only appears when `item?.id` is truthy (edit mode). Mounted at `/electronics/demo-units` behind `` with no minTier restriction.