Studii de caz

Configurator de ofertare la un producător

Cum devine o discuție din showroom o ofertă cu preț: materiale, manoperă, adaos, discount. Și de ce Excelul cedează exact când firma începe să crească.

· 8 minute · Gabriel Nica
Ilustrație pentru articolul Configurator de ofertare la un producător

La un producător de mobilă la comandă din Bihor, o ofertă pleca în două-trei zile. Nu pentru că era greu de calculat, ci pentru că un singur om știa fișierul în care se calcula. Când omul acela era pe teren, ofertele așteptau.

Am construit un configurator care transformă discuția din showroom într-o ofertă cu preț. Partea interesantă nu e interfața. E ce a trebuit să scriem înainte, ca să existe ce să calculeze.

Ce se întâmplă, de fapt, în showroom

Clientul vine cu o idee și, dacă are noroc, cu niște dimensiuni. Discuția durează patruzeci de minute și produce o foaie A4 cu schițe, câteva poze pe telefonul agentului și o promisiune de preț „până joi”.

Până joi se întâmplă asta: agentul deschide fișierul de calcul, caută un proiect asemănător făcut acum trei luni, îl copiază, schimbă dimensiunile, verifică dacă prețurile plăcilor sunt cele actuale, întreabă pe cineva din producție cât durează montajul, adaugă adaosul, mai scade ceva pentru că e un client cunoscut, și trimite un PDF.

Fiecare pas din secvența aia e o ocazie de greșeală, iar unele greșeli se văd abia la facturare.

Ce am înlocuit nu e calculul. E căutarea proiectului asemănător.

Ce se modelează, concret

Un preț de producție la comandă are patru straturi, iar dacă unul nu e scris undeva, calculul rămâne în capul cuiva.

Materialele. Nu „placă melaminată, 200 de lei”. Consumul real se calculează din geometria corpului: suprafața plăcii, perimetrul care primește cant, numărul de balamale și de glisiere, metri liniari de blat. Plus pierderea la debitare, care e un procent pe tip de material și pe care nimeni nu îl trece în fișier pentru că „se știe”.

Manopera. Ore pe operațiune, nu ore pe proiect. Debitare, cantuit, găurit, asamblat, montaj la client. Tariful pe oră diferă între atelier și montaj, iar montajul are în plus deplasarea, care depinde de distanță.

Adaosul. Diferit pe categorie. Nu e o singură cifră și nu se aplică uniform, pentru că un corp standard și o lucrare complicată nu au același risc.

Discountul. Aici a fost prima discuție serioasă. Discountul se dă la total sau pe linie? Răspunsul lor era „la total, dar la unele lucruri nu se poate”. Traducerea în reguli a durat mai mult decât programarea: sunt categorii pe care nu se aplică discount, un prag peste care discountul cere aprobare, și un caz în care discountul se dă ca valoare fixă, nu ca procent. Trei mecanisme diferite, care în fișierul vechi erau trei feluri de a bate manual o cifră peste formulă.

Prețul nu e o formulă, e o ierarhie de reguli

Asta e lecția pe care o ducem acum la fiecare proiect de ofertare, indiferent de domeniu.

Nimeni nu are o formulă unică. Toată lumea are o formulă de bază și douăzeci de excepții, iar excepțiile sunt cele care fac banii. Dacă modelezi doar formula, agentul o să calculeze în aplicație și o să corecteze manual după, ceea ce înseamnă că aplicația e un pas în plus, nu unul în minus.

Ce am construit e o ordine explicită: preț de bază pe corp, apoi ajustări pe material, apoi ajustări pe complexitate, apoi adaos, apoi discount, apoi rotunjire. Fiecare pas se vede separat în ofertă, iar agentul poate interveni pe un singur pas, cu motivul scris. Intervenția rămâne în istoric.

Partea aia din urmă nu a fost cerută. Am pus-o pentru că altfel nu poți răspunde niciodată la întrebarea „de ce am pierdut lucrarea asta”. După trei luni, patronul o folosea mai des decât configuratorul propriu-zis.

Detaliul care schimbă arhitectura: prețurile se schimbă

O ofertă trimisă acum trei săptămâni trebuie să rămână valabilă la prețurile de atunci, chiar dacă furnizorul a mărit între timp placa cu opt procente.

Sună banal. Nu e. Înseamnă că nu poți calcula oferta din lista de prețuri curentă de fiecare dată când o deschizi, pentru că valoarea s-ar schimba singură sub ochii clientului. Fiecare ofertă păstrează o copie a prețurilor folosite la momentul emiterii, împreună cu versiunea listei.

Consecința practică e o funcție pe care o folosesc zilnic: „recalculează oferta la prețurile de azi”. Vezi ambele valori, una lângă alta, și decizi dacă onorezi prețul vechi sau suni clientul. Fără copia aia, comparația nu există.

Tot de aici vine și termenul de valabilitate scris automat pe ofertă, care înainte era o propoziție copiată de agent și uitată la jumătate din oferte.

De ce cedează Excelul exact când firma crește

Excelul nu e o unealtă proastă. E o unealtă excelentă pentru un om. Problema apare la al doilea și, mai ales, la al treilea.

Ce se schimbă la creștere În fișierul de calcul În aplicație
Al doilea agent de vânzări Apar două fișiere care se despart încet Aceleași reguli pentru toți
Furnizorul mărește prețul Cineva trebuie să actualizeze fiecare copie O actualizare, cu versiune nouă
Agentul nou, în prima lună Învață formule pe care nu le-a scris el Completează câmpuri, nu formule
O ofertă contestată de client Se caută fișierul, dacă mai există Se deschide oferta, cu prețurile de atunci
Se cere un raport pe marja lucrărilor Se face manual, o zi Există, pentru că datele sunt structurate
Cineva inserează un rând Formulele se rup tăcut Nu există rânduri de inserat

Rândul cu formulele rupte e cel care doare cel mai tare, pentru că nu se manifestă ca o eroare. Se manifestă ca o ofertă cu un preț mai mic decât costul, acceptată de client pe loc.

Am găsit în fișierul lor, în timpul preluării datelor, două formule care sumau un interval greșit. Nu spun asta ca reproș — e absolut normal pentru un fișier la care au lucrat trei oameni timp de patru ani. E doar motivul pentru care primul pas al oricărui proiect de ofertare e să reconstruiești calculul de la zero și să îl verifici pe zece lucrări deja livrate, unde știi prețul final real.

Oferta ca document, nu ca fișier

A doua jumătate a proiectului nu are legătură cu prețul.

O ofertă trimisă are un număr unic, generat de sistem. Are un istoric: emisă, trimisă, vizualizată, acceptată, refuzată. Are versiuni, pentru că orice client cere o a doua variantă și niciodată nu vrei să pierzi prima. Și are un client atașat, cu tot ce s-a discutat înainte.

Înainte, revizia a doua a unei oferte era un fișier numit cu „final” în nume, trimis pe WhatsApp. Uneori clientul răspundea la varianta veche.

Ce am adăugat și a schimbat cel mai mult ritmul: oferta se trimite ca link, nu ca atașament. Clientul o deschide pe telefon, iar agentul vede că a fost deschisă. Nu ca să îl sune imediat — ci ca să nu mai sune degeaba la cei care nici nu s-au uitat.

Ce am lăsat afară, intenționat

Desenul 3D. A fost cerut. L-am refuzat pentru prima versiune, pentru că ar fi dublat bugetul și ar fi întârziat cu luni ceea ce rezolva de fapt problema. Există programe specializate pentru asta, iar producătorul le folosea deja. Configuratorul preia dimensiunile, nu desenează.

Lansarea automată în producție. Oferta acceptată nu declanșează singură comanda către atelier. Există o verificare umană între ele, pentru că o comandă greșit lansată costă material, nu doar timp.

Comanda automată de materiale la furnizor. Următorul pas logic, și încă nu s-a făcut. Motivul e că prețurile și disponibilitatea se negociază la telefon, iar automatizarea unei negocieri nu e automatizare, e ficțiune.

Dacă firma ta calculează oferte într-un fișier pe care îl știe un singur om, mecanismul e același indiferent că faci mobilă, tâmplărie, structuri metalice sau instalații. Ce se construiește intră la software la comandă: de la 18.000 de lei, șase până la zece săptămâni. Dacă ai deja un CRM și îți lipsește doar calculul, se poate construi numai piesa aia, legată de ce folosești — am mai făcut-o și costă o fracțiune. Cere o radiografie și pleci cu schema calculului tău pusă pe hârtie, ceea ce e util oricum.

Următorul pas

Spune-ne ce faci marțea. Îți spunem în 45 de minute cât costă să nu mai faci.

O discuție, nu o prezentare. Mapăm un proces al tău și pleci cu o schemă pe o pagină și un preț. Rămâne al tău chiar dacă nu lucrăm împreună.