Home / Help Center / pos-app-electronics / electronics / Device Insurance
☂️ electronics

Device Insurance

Device Insurance keeps a record of every third-party device protection policy you sell alongside a phone or laptop — provider, premium collected, coverage amount, policy validity dates, and the commission the insurer owes your shop.

📍 Menu path: /electronics/insurance
👤 Who uses it: Owner,Manager,Staff

Overview

Each policy records the customer, the Provider (Syska/Acko/Bajaj/OneAssist/Other), Policy Number, Plan Name, the insured Device Name/Brand/Model/IMEI, Premium and Coverage amounts, and a Start/End (expiry) date.

Policy Status (Active/Expired/Claimed/Cancelled) tracks the policy's own lifecycle, while a separate Commission Status (Pending/Received/Rejected) tracks whether the insurer has paid your shop's referral commission for selling it.

Four summary tiles show Total Policies, Active count, Commission Earned (sum of RECEIVED commission across all policies) and Total Premium Sold (sum of every premium amount regardless of status).

The table's Commission column is color-coded by Commission Status so you can see at a glance which commissions are still pending versus already paid.

Before You Start

Step-by-Step Guide

1 Record a new insurance sale

  1. Click Record Policy.
  2. Enter Customer Name (required) and optional Customer Phone, then choose the Provider (required) — Syska, Acko, Bajaj, OneAssist or Other.
  3. Enter the Policy Number and Plan Name, then the Device Name (required) plus Brand, Model and IMEI of the insured device.
  4. Enter the Premium Amount collected and the Coverage Amount the policy provides, plus its Start Date and End Date / Expiry.
  5. Enter the Commission amount you expect from the provider and leave Commission Status as Pending until paid, then click Save — the policy starts as Active.

2 Update policy or commission status

  1. Click the edit (pencil) icon on a row — editing reveals a Policy Status dropdown (Active/Expired/Claimed/Cancelled) hidden on first creation.
  2. Set Policy Status to Claimed once the customer has made a successful claim, Expired once its validity period lapses, or Cancelled if it was voided.
  3. Update Commission Status to Received once the provider pays out the referral commission, or Rejected if they decline it.

3 Monitor commission and premium income

  1. Check the Commission Earned tile for total commission actually received across every provider, and Total Premium Sold for your gross insurance revenue.
  2. Use the Provider column badge (color-coded per insurer) to spot which provider a policy belongs to at a glance.
  3. Use the Expiry column to see how close a policy is to lapsing.

4 Search, filter and clean up

  1. Use the All / Active / Expired / Claimed / Cancelled filter pills to narrow the list; each shows a live count.
  2. Use the search box to filter by customer name, policy number, device name or IMEI.
  3. Click the trash icon to permanently delete a policy record after a confirmation prompt.

Every Field & Button, Explained

Field / ButtonWhat it does
Record PolicyOpens the form to log a new insurance sale.
Total Policies / Active / Commission Earned / Total Premium Sold tilesLive counts and sums — Commission Earned only totals policies with Commission Status = Received; Total Premium Sold totals every policy's Premium Amount regardless of status.
Status filter pills (All/Active/Expired/Claimed/Cancelled)Filters the table by policy status with a live count per pill.
Search boxFilters by customer name, policy number, device name or IMEI as you type.
Customer Name * / Customer PhoneName is required; phone is optional.
Provider *Syska / Acko / Bajaj / OneAssist / Other — shown as a color-coded badge.
Policy NumberFree-text reference number for the insurer's policy, e.g. "INS-2024-XXXXX".
Plan NameDescriptive plan label, e.g. "Syska GuardPass 1 Year".
Device Name * / Brand / Model / IMEIDetails of the insured device; Device Name is required.
Premium AmountWhat the customer paid for the policy.
Coverage AmountThe maximum payout the policy provides on a valid claim.
Start Date / End Date (Expiry)The policy's validity window; End Date is shown as the Expiry column in the table.
Commission Amount / Commission StatusThe referral commission expected from the provider, and whether it is Pending, Received or Rejected.
Policy Status (edit mode only)Active / Expired / Claimed / Cancelled — only editable once a policy already exists; new policies start Active.
NotesFree-text notes field.
Edit (pencil icon) / Delete (trash icon)Edits any field, or permanently removes the record after confirmation.

Tips & Best Practices

Troubleshooting & FAQ

I can't save a new policy — it complains about a missing device name.
Customer Name, Provider and Device Name are all mandatory fields; fill in all three before Save will succeed.
Where is the Policy Status field when creating a new record?
It only appears once the policy already exists (edit mode) — every newly recorded policy starts as Active automatically.
The Commission Earned total looks too low.
It only sums policies whose Commission Status is explicitly Received; policies still marked Pending are excluded until you update their status after the provider actually pays out.
Does recording a policy here notify the insurance provider or file anything with them?
No — this page is purely your shop's internal record; you must still register/submit the policy through the provider's own system or app separately.

🧑‍💻 Developer Notes

Source component(s):

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

Backend endpoints used:

  • GET /electronics/insurance
  • POST /electronics/insurance
  • PUT /electronics/insurance/:id
  • DELETE /electronics/insurance/:id

Related tables (db-core repositories):

  • ElectronicsInsurance

Feature flag key: billing

Thin re-export in pos-app-electronics; real component lives in shared pos-react-lib package. Note the DB table is named "ElectronicsInsurance" (not "ElectronicsInsurancePolicy") despite the API response key being `insurancePolicies`. Commission/premium summary tiles are computed client-side from the full in-memory list. Mounted at `/electronics/insurance` behind `` with no minTier restriction.