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 (Sales Order) 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
Module implicate — documentație detaliată
- Assets
- Tickets
- Tasks
- Timesheets
- Warehouse
- Expenses
- Invoices
- Contracts
- Appointly
- Knowledge Base
- Clients
Înregistrați toate echipamentele ca active legate de înregistrarea clientului — când un tichet de service este deschis pe acel echipament, tehnicianul vede istoricul complet al activului (evenimente de service anterioare, piese înlocuite, status garanție) fără să întrebe clientul.
Înregistrările de întreținere planificată (bazate pe calendar) și Comenzile de Lucru (reparații ad-hoc) sunt distincte în sistem. Înregistrările de întreținere urmăresc intervalele de service programate; comenzile de lucru urmăresc reparațiile neplanificate. Ambele contribuie la rapoartele de cost-per-activ.