Workflow: Service Echipamente — De la Solicitare la Factură
Modules involved: Assets · Tickets · Tasks · Timesheets · Warehouse · Expenses · Invoices · Contracts · Appointly · Knowledge Base
Who uses it: Dispecer Service, Tehnician, Manager Service, Financiar, Client (portal)
Durata tipică: Ore – zile (intervenție punctuală); săptămâni (service complex / comandă piese)
Overview
Fluxul de service echipamente acoperă întregul ciclu al unei intervenții tehnice: de la raportarea defecțiunii de către client până la emiterea facturii cu manoperă, piese și cheltuieli de deplasare. Este folosit de firme care vând și service-uiesc echipamente (IT, medicale, HVAC, industriale, electrocasnice, telecomunicații). CRMConnect centralizează solicitările prin helpdesk (Tickets), programează intervențiile (Appointly sau Tasks), urmărește consumul de piese din stoc (Warehouse — Goods Issue), loghează orele tehnicienilor (Timesheets) și generează factura finală cu toate componentele de cost.
Particularitate față de service-ul standard: Echipamentul din Assets funcționează ca pivot central al fluxului — verificarea garanției, istoricul intervențiilor anterioare și contractul SLA sunt toate ancorate de fișa echipamentului, nu doar de fișa clientului.
Diagrama fluxului
[CLIENT RAPORTEAZĂ DEFECȚIUNEA]
│ canal: email (pipe automat) / portal client / telefon / WhatsApp
│ → Ticket creat automat (email pipe) sau manual (dispecer)
│ → status Ticket: Open
│
↓
[IDENTIFICARE ECHIPAMENT ȘI VERIFICARE CONTRACT]
│ Ticket → legat de Asset (echipamentul defect)
│ Asset → câmpuri: serial, model, producător, dată achiziție,
│ garanție expirare, locație instalare
│ Contract SLA → verificat: tip, termeni răspuns, termeni rezolvare
│
├── În garanție → intervenție gratuită
│ │ Ticket marcat "Garanție" (tag sau custom field)
│
├── Contract mentenanță activ → tarif redus sau inclus în abonament
│ │ Ticket marcat "SLA — [Tip contract]"
│
└── Fără garanție, fără contract → tarif standard
│ Client notificat de costul estimat înainte de intervenție
│
↓
[PROGRAMARE INTERVENȚIE]
│
├── Appointly: programare cu dată + oră, tehnician alocat,
│ locație client, durata estimată
│ → notificare automată client + tehnician
│
└── Task: creat pe Ticket sau direct, alocat tehnicianului,
cu dată scadentă = data intervenției planificate
│
↓
[INTERVENȚIE — COMPONENTELE DE COST]
│
├── [MANOPERĂ]
│ │ Timesheet: ora start / stop sau durată manuală
│ │ legat de Ticket + Task
│ │ Staff = tehnicianul, Billable = Da
│ │ Notă: descrie lucrarea efectuată (apare pe factură)
│
├── [PIESE CONSUMATE]
│ │ Warehouse → Goods Issue (Ieșire din stoc)
│ │ articolele din stocul de piese scăzute automat
│ │ legat de Ticket sau Client
│ │ document: Bon de consum / Aviz intern
│
└── [CHELTUIELI DEPLASARE / CONSUMABILE]
│ Expense: suma, categoria (deplasare, consumabile),
│ atașat Ticket sau Client, Billable = Da
│
↓
[DIAGNOZĂ ȘI REZOLVARE]
│
├── Rezolvat la prima intervenție → continuă la Documentare
│
├── Necesită piese comandate → Ticket status: "În așteptare piese"
│ │ Comandă achiziție piese (Purchase → RFQ → PO)
│ │ Task: "Urmărire livrare piese" cu deadline
│ │ La primire piese → reprogramare intervenție (Appointly/Task)
│
└── Necesită escaladare → Ticket transferat la nivel 2 / producător
│ Task intern: "Escaladare la producător — [Număr caz]"
│
↓
[DOCUMENTARE REZOLVARE]
│ Ticket → status: Resolved
│ Răspuns final la ticket: soluția aplicată, piese înlocuite,
│ recomandări client (ex: înlocuire echipament, revizie periodică)
│ Dacă problemă frecventă → articol creat în Knowledge Base
│ Asset → câmp "Istoric intervenții" actualizat (custom field sau notă)
│
↓
[APROBARE CLIENT (opțional)]
│ Client confirmă rezolvarea prin portal sau email
│ Ticket → status: Closed
│ Rating satisfacție (dacă modulul de feedback e activ)
│
↓
[FACTURARE]
│ Invoice creat:
│ ├── Linie manoperă: ore × tarif/h
│ ├── Linii piese: fiecare piesă consumată (din Goods Issue)
│ └── Linie deplasare: suma din Expense
│ eFactura dacă client B2B cu CUI
│
[SERVICE FINALIZAT ✓ · CLIENT SATISFĂCUT ✓]
Pas cu pas
1. Raportarea defecțiunii — Creare Ticket
Unde: /admin/tickets → Adaugă Tichet (manual) sau automat prin email pipe
Canale de intrare și ce se întâmplă:
| Canal | Mecanism | Acțiune dispecer |
|---|---|---|
| Email client | Email pipe → ticket creat automat cu subiectul și corpul emailului | Verifică datele, completează câmpurile lipsă |
| Portal client | Clientul completează formularul din portalul CRMConnect | Ticket apare direct în coadă |
| Telefon | Dispecerul creează ticket manual | Completează toate câmpurile; trimite confirmare email clientului |
| Manual sau prin integrare | Ticket creat manual; copiezi descrierea din WhatsApp |
Câmpuri cheie ticket service:
| Câmp | Valoare / Note |
|---|---|
| Subiect | Scurt și descriptiv: "Defecțiune imprimantă — SN: X123" |
| Client | Legătura cu fișa clientului |
| Prioritate | Low / Medium / High / Urgent (în funcție de SLA și impact) |
| Departament / Categorie | "Service Hardware", "Service Software", "Mentenanță preventivă" |
| Responsabil | Dispecerul sau tehnicianul alocat direct |
| Custom field: Nr. serial echipament | Identificatorul unic al echipamentului |
| Custom field: Model echipament | Preluabil automat dacă e legat de Asset |
| Custom field: Tip garanție | "Garanție comercială" / "Contract SLA" / "Fără acoperire" |
| Custom field: Locație intervenție | Adresa clientului unde e instalat echipamentul |
Statusuri ticket:
| Status | Descriere | Cine setează |
|---|---|---|
| Open | Nou, nealocat | Automat la creare |
| In Progress | Alocat tehnicianului, în lucru | Dispecer / Tehnician |
| În așteptare piese | Se așteaptă piese de schimb | Dispecer |
| Escalat | Transferat la nivel superior / producător | Dispecer |
| Resolved | Intervenția efectuată, soluție aplicată | Tehnician |
| Closed | Confirmat de client sau închis după 48h fără răspuns | Automat / Dispecer |
2. Identificarea echipamentului — Modulul Assets
Unde: /admin/assets — fișa echipamentului
Ce trebuie configurat în prealabil pe fiecare echipament vândut:
| Câmp Asset | Descriere |
|---|---|
| Nume / Denumire | Tipul echipamentului (ex: "Imprimantă Laser HP M428") |
| Număr serial | Identificatorul unic producător |
| Client | Clientul la care e instalat |
| Locație | Adresa sau departamentul clientului |
| Dată achiziție | Când a fost cumpărat (de la firma noastră) |
| Garanție expirare | Data până la care e în garanție |
| Valoare achiziție | Prețul de vânzare (pentru calculul valorii de service vs. înlocuire) |
| Status | Activ / Defect / Returnat / Casat |
| Custom field: Revizie periodică | Data următoarei revizii planificate |
| Custom field: Contract SLA | ID-ul contractului de mentenanță |
Legătura Ticket → Asset:
Din ticket, câmpul "Asset" leagă solicitarea de echipamentul specific. Toate intervențiile anterioare pe acel echipament sunt vizibile în istoricul ticket-urilor filtrate după asset. Aceasta permite tehnicianului să vadă:
- Ce piese au fost înlocuite anterior
- Câte intervenții a avut echipamentul în ultima perioadă
- Dacă echipamentul e un "repeater" (probleme recurente → recomandare înlocuire)
3. Verificarea garanției și contractului SLA
Verificare garanție:
| Situație | Decizie | Acțiune în CRM |
|---|---|---|
| Garanție activă (data expirare > azi) | Intervenție gratuită | Tag "Garanție" pe ticket; tarif 0 pe factură |
| Garanție expirată < 30 zile | Verificare caz cu caz (goodwill) | Decizie manager; tag "Post-garanție" |
| Garanție expirată | Tarif standard | Informat clientul înainte de intervenție |
Verificare contract SLA:
Un contract de mentenanță poate include:
| Termen SLA tipic | Descriere |
|---|---|
| Timp de răspuns | Ex: 4h de la raportare (în zile lucrătoare) |
| Timp de rezolvare | Ex: 24h sau 48h (în funcție de prioritate) |
| Număr intervenții incluse | Ex: 2 intervenții/lună incluse în abonament |
| Piese incluse | Ex: consumabile incluse / piese excluse |
| Acoperire geografică | Ex: numai județele X, Y, Z |
Sfat practic: Configurează contractele SLA ca și "Contracts" în CRM cu dată de expirare. Setează un task automat sau un reminder cu 60 zile înainte de expirare pentru a contacta clientul cu oferta de reînnoire.
4. Programarea intervenției
Opțiunea A — Appointly (programare structurată):
Unde: /admin/appointly
| Câmp | Valoare |
|---|---|
| Serviciu | "Intervenție service" / "Mentenanță preventivă" |
| Staff (tehnician) | Tehnicianul disponibil în zona clientului |
| Client | Legătura cu fișa clientului |
| Dată și oră | Slot ales (afișat și clientului în portal) |
| Durată estimată | Ex: 2h |
| Notă | Descrierea problemei din ticket |
Avantaje Appointly: clientul poate alege singur din sloturile disponibile (self-scheduling), notificări automate de confirmare și reminder.
Opțiunea B — Task cu dată scadentă:
| Câmp | Valoare |
|---|---|
| Titlu task | "Intervenție service — [Client] — [Echipament]" |
| Responsabil | Tehnicianul alocat |
| Dată scadentă | Data și ora intervenției |
| Prioritate | Conform SLA (Urgent / High / Normal) |
| Legat de | Ticket-ul de service |
| Notă | Adresa clientului, numărul de telefon al contactului, descrierea problemei |
Sfat practic: Dacă ai o echipă mare de tehnicieni, folosește Resource Workload (
/admin/resource_workload) pentru a vedea disponibilitatea înainte de alocare. Evită supraalocarea tehnicienilor în aceeași zi.
5. Intervenția — Logarea manoperei (Timesheets)
Unde: Tab Timesheets din Ticket sau Task, sau /admin/staff/timesheets
Fluxul tehnicianului la intervenție:
Varianta Timer (recomandat pentru lucru la client):
- Tehnicianul deschide task-ul intervenției de pe telefon/laptop
- Pornește timerul ▶ — timestamp de start înregistrat
- Efectuează intervenția
- La finalizare: oprește timerul ■ — timesheet creat automat cu durata exactă
- Adaugă o notă descriptivă (ce s-a lucrat, ce s-a înlocuit)
Varianta manuală (dacă nu are acces la CRM în teren):
- Tehnicianul notează orele pe teren
- La birou completează manual: dată, ora start, ora stop, task, notă
- Dispecerul sau managerul verifică și aprobă
Câmpuri timesheet service:
| Câmp | Note |
|---|---|
| Staff | Tehnicianul care a lucrat |
| Ticket / Task | Intervenția la care se referă |
| Dată | Ziua intervenției |
| Ore | Durata reală (calculate automat dacă e timer) |
| Billable | Da — manopera se facturează (excepție: garanție / SLA inclus) |
| Notă | Descrie lucrarea: ex "Înlocuire placă de bază, verificare sistem, testare" |
Tarife manoperă:
| Tip tarif | Configurare |
|---|---|
| Tarif standard | Setat pe Staff sau pe tipul de serviciu |
| Tarif urgență (în afara programului) | Majorare % configurabilă |
| Tarif inclus SLA | 0 RON (dacă contractul include manopera) |
6. Piese consumate — Warehouse (Goods Issue)
Unde: /admin/warehouse → Goods Issue (Ieșire din stoc)
Procesul de consum piese:
- Tehnicianul identifică piesele necesare (din diagnostic)
- Dacă piesele sunt în stoc → se creează Goods Issue
- Goods Issue: selectezi articolele, cantitățile, legați de client/ticket
- Stocul scade automat la aprobarea Goods Issue
- Piesele consumate sunt vizibile pe documentul de ieșire
Câmpuri Goods Issue:
| Câmp | Valoare |
|---|---|
| Articole | Piese selectate din stoc (cu cod și descriere) |
| Cantitate | Numărul de unități consumate |
| Depozit sursă | Stocul de piese de schimb |
| Client | Clientul la care se face intervenția |
| Referință | Numărul ticket-ului de service |
| Data | Ziua consumului |
Ce se întâmplă dacă piesa nu e în stoc:
- Stoc insuficient identificat (stoc_curent < cantitate_necesara)
- Dispecerul sau tehnicianul creează Purchase Request sau direct RFQ (Request for Quotation)
- Furnizor contactat → Ofertă → Purchase Order → Recepție piese
- La recepție → stocul actualizat
- Ticket actualizat la "În așteptare piese" pe perioada de aprovizionare
- La primirea pieselor → reprogramare intervenție
Sfat practic: Menține un stoc minim pentru piesele de schimb frecvente (consumabile, filtre, baterii, carduri de memorie etc.). Configurează nivelul minim în Warehouse — când stocul scade sub minimum, apare alert pentru reaprovizionare.
7. Cheltuieli de deplasare și consumabile
Unde: /admin/expenses sau direct din ticket
Tipuri de cheltuieli la intervenție:
| Tip cheltuială | Detalii |
|---|---|
| Deplasare (km) | Km parcurși × tarif/km; sau suma forfetară |
| Cazare | Dacă intervenția e în altă localitate |
| Diurnă | Dacă tehnicianul e în deplasare mai mult de 8h |
| Consumabile | Materiale nereprezentate ca stoc (lubrifianți, cabluri, conectori) |
| Taxe parking / autostradă | Costuri accesorii deplasare |
Câmpuri Expense:
| Câmp | Note |
|---|---|
| Suma | Valoarea cheltuielii |
| Categoria | Selectată din lista configurată |
| Data | Ziua cheltuielii |
| Descriere | Ex: "Deplasare Cluj-Napoca — intervenție la [Client]" |
| Atașament | Bon fiscal, chitanță, bilet |
| Billable | Da (dacă contractul nu include deplasarea gratuită) |
| Legat de Client / Ticket | Pentru gruparea pe factura de service |
8. Documentarea rezolvării și Knowledge Base
Unde: Tab Răspunsuri din Ticket + /admin/knowledge_base
La rezolvarea intervenției:
- Adaugă răspuns final la ticket (vizibil clientului în portal):
- Ce s-a diagnosticat
- Ce s-a reparat / înlocuit
- Recomandări post-intervenție
- Schimbă statusul ticket → Resolved
- Dacă problema a apărut și la alte echipamente similare → creează articol în Knowledge Base
Articol Knowledge Base — structura recomandată:
| Câmp | Exemplu |
|---|---|
| Titlu | "HP M428 — Eroare E3 — Înlocuire rol preluare hârtie" |
| Categorie | "Service Hardware — Imprimante" |
| Simptom | Descrierea mesajului de eroare sau comportamentului |
| Cauza | Componenta defectă sau setarea incorectă |
| Soluție | Pașii de rezolvare (cu imagini dacă e posibil) |
| Piese necesare | Lista pieselor de înlocuit cu cod |
| Timp mediu rezolvare | Ex: 45 minute |
Sfat practic: Un Knowledge Base bine menținut reduce timpul de rezolvare la intervențiile repetitive și permite tehnicienilor junior să rezolve probleme frecvente fără escaladare.
9. Facturarea serviciului de service
Unde: /admin/invoices → Adaugă Factură
Structura facturii de service:
Linie 1: Manoperă tehnician — Intervenție [data]
2.5h × 120 RON/h = 300 RON
Linie 2: Piesă: Placă de bază HP LaserJet M428 (P/N: RM2-6447)
1 buc × 450 RON = 450 RON
Linie 3: Piesă: Kit roller preluare hârtie
1 buc × 85 RON = 85 RON
Linie 4: Deplasare — Cluj-Napoca
1 × 80 RON = 80 RON
─────────────────────────────────────────────────────
Subtotal: 915 RON
TVA 19%: 173.85 RON
TOTAL: 1,088.85 RON
Situații speciale de facturare:
| Situație | Tratament pe factură |
|---|---|
| Echipament în garanție | Factură 0 RON sau fără factură; internă pentru tracking cost |
| SLA — manoperă inclusă | Linie manoperă cu 0 RON; piesele se facturează separat |
| SLA — all-inclusive | Fără factură per intervenție; se facturează abonamentul lunar |
| Intervenție nereușită (echipament ireeparabil) | Se facturează diagnoza + deplasarea; piese returnate la stoc |
eFactura pentru clienți B2B:
- Obligatorie pentru toate facturile B2B emise din 2024
- Transmisă automat la ANAF dacă integrarea e configurată
- Clientul primește factura prin SPV și pe email
Ce se creează automat
| Eveniment | Se creează automat |
|---|---|
| Email client primit pe adresa de pipe | Ticket creat cu subiectul și corpul emailului; client identificat după email |
| Programare Appointly confirmată | Notificare email clientului + tehnicianului; eveniment în calendar |
| Timer pornit pe task service | Înregistrare Timesheet activă, legată de task și ticket |
| Timer oprit | Timesheet cu durata exactă, task și client completate automat |
| Goods Issue aprobat | Stocul articolelor scade automat din depozit |
| Ticket marcat Resolved | Notificare email clientului cu soluția documentată |
| Factură trimisă (eFactura activ) | XML transmis automat la ANAF prin SPV |
Puncte unde fluxul poate bloca
| Problemă | Cauză probabilă | Soluție |
|---|---|---|
| Clientul nu poate fi identificat la crearea ticket-ului | Email-ul expeditorului nu e în baza de date | Adaugă emailul alternativ în fișa clientului; sau creează contact nou |
| Echipamentul nu apare în Assets | Nu a fost înregistrat la vânzare | Creează fișa Asset retroactiv din fișa clientului cu datele din factura de vânzare |
| SLA-ul nu apare legat de ticket | Contractul nu e asociat clientului sau asset-ului | Verifică că ID-ul contractului SLA e completat în câmpul custom din Asset |
| Technicianul uită să oprească timerul | Distrageri la finalul intervenției | Regula internă: dispecerul verifică zilnic timere active; sau folosiți adăugare manuală |
| Goods Issue nu scade stocul | Goods Issue în status Draft (neaprobat) | Aprobă documentul de ieșire; verifică fluxul de aprobare din Setări Warehouse |
| Piese nu sunt în stoc la intervenție | Lipsa unui sistem de stoc minim | Configurează stoc minim per articol; creează un raport săptămânal de reaprovizionare |
| Factura nu include toate liniile | Cheltuieli sau timesheets nu marcate Billable | Verifică bifa Billable la fiecare componentă înainte de generarea facturii |
| Clientul contestă costul pieselor | Prețul de vânzare diferit față de cel comunicat telefonic | Trimite deviz de service (Estimate) spre aprobare înainte de a comanda piesele |
Rapoarte relevante
- Tickets per tehnician — câte intervenții a avut fiecare tehnician, timp mediu de rezolvare
- Timesheets service — ore de manoperă facturabilă per perioadă, per client, per echipament
- Assets cu intervenții frecvente — echipamentele cu cele mai multe ticket-uri → candidați la înlocuire
- Stoc piese de schimb — Warehouse → articolele cu stoc sub minim, mișcările din ultima lună
- Contracte SLA expirare — Contracts filtrate după dată expirare în următoarele 60 zile
- Venituri service — Invoices filtrate după categoria "Service" → evoluție lunară
- Knowledge Base utilizare — articolele cele mai accesate → probleme frecvente documentate