Home
Solutions
Custom CRM Software Product Design Web Analytics Legacy Modernization Why Hauer Power AI for Healthcare Automation & AI
Fast delivery
Nearshore for USA Hire Developers AI/ML Engineers Dedicated Team
Web Design
Web Design WordPress Design
Case studies
All ProjectsCRM & AutomationWeb & ExperienceDigital Commerce
Case studies by industry
ManufacturingReal EstateEnergyProfessional ServicesHealthcareTechnologyCommerce
More
Insights Contact
Language
PLENDE
How we improved the work of salespeople and the marketing department by implementing a CRM system
Home/Case studies/Bruk-Bet CRM
CRM

Bruk-Bet Photovoltaics: Custom CRM and PV Quote Automation

Client
Bruk-Bet Fotowoltaika
Industry
Manufacturing / Renewable energy / PV
Scope
Discovery, UX, custom CRM + PV configurator
Timeline
5 months • team of 4

Custom CRM with a photovoltaic system configurator. Quote preparation dropped from 45 minutes to 6 minutes, zero component mismatch errors, +32% quote-to-contract conversion in the first 6 months after rollout.

TL;DR: results at a glance

faster quote preparation (45 min → 6 min)

+32%

higher quote-to-contract conversion in 6 months

-95%

component mismatch errors eliminated

<30 min

lead response time (was 4h)

18

sales reps and PMs using CRM daily

5 mo

from discovery to production

About the client

Bruk-Bet Fotowoltaika is a Polish renewable energy company: one of the larger manufacturers and distributors of photovoltaic systems in Poland. It sells PV kits to homeowners, businesses and solar farms: both directly and through a partner network. The sales team consists of more than a dozen field and office reps, with quote oversight handled by Project Managers.

The company grows at the pace set by the PV market: from a few dozen quotes per month to several hundred. Excel-based processes that worked when there were 3 sales reps stopped scaling with a team of nearly 20.

Problem: 5 key challenges before the rollout

Before the new system, the Bruk-Bet team worked from shared XLSX sheets with a warehouse product list and a quote template. Every quote was essentially a manual composition of PV modules, inverters, cabling and mounting hardware. Discovery workshops uncovered 5 recurring problems:

1. Manual quotes in Excel: 45-60 minutes each

A sales rep would open the template, copy products from the warehouse list, manually sum installation power, check that every required element was included (module, inverter, optimisers, cabling, mounting), calculate price, format PDF. Each quote took 45-60 minutes: capping each rep at 5-6 quotes a day.

2. Component mismatch errors

In 15-20% of quotes errors appeared: not enough modules to reach target power, mismatched inverter (oversized or undersized), missing optimisers on shaded installations. Each error cost: either client complaints or the installer footing the bill.

3. No visibility of quotes between reps

Quotes lived in emails and local folders. Two reps could be working the same client independently, sending conflicting quotes and cannibalising margin. The Project Manager found out about conflicts only when the client flagged them.

4. PM approval bottleneck

Every quote above a certain value required PM approval. In practice: rep emails PM, PM replies by email or phone, rep comes back with corrections. Average approval time: 4-6 hours: often long enough for the client to receive a competitor's quote first.

5. Outdated prices in re-sent quotes

Component prices (modules, inverters) changed monthly. Old quotes from 2-3 months prior were pulled from folders and sent to clients with stale pricing. Result: margin below cost, or price above the competition.

Goals

At the kickoff workshop with leadership, PMs and 3 sales reps we agreed on measurable goals to evaluate against 6 months post-rollout:

  • Cut quote preparation time from 45 min to under 10 min
  • Eliminate component mismatch errors via system-level validation
  • Give PMs full pipeline visibility in one place
  • Cut quote approval time from 4-6h to under 1h
  • Ensure pricing is always current at the moment the quote is generated
  • Enable field work (desktop + tablet)

Process: 5 implementation stages

Stage 1. Discovery & workshops (3 weeks)

Interviews with 8 people: 4 sales reps across different regions, 2 PMs, sales director, administrator. Shadowing: we sat next to reps and watched how they actually work, not how they describe their work. Output: 34 user stories, AS-IS vs TO-BE process map for quoting, a catalogue of warehouse components with categories and compatibility rules.

Stage 2. UX design & prototype (4 weeks)

We defined 4 personas (sales rep, PM, director, administrator) and their top tasks. Built a clickable Figma prototype for 6 key flows: quote creation, draft edit, PM approval, sending quote to client, duplicating an existing quote, rep performance report. We tested the prototype with 3 reps: surfaced 12 fixes before a single line of code was written.

Stage 3. Development (12 weeks)

Six 2-week sprints. Team: 2 developers (backend + fullstack), UX designer (part-time), tech lead. Every sprint ended with a demo for the client's team (PMs and 2 rep "ambassadors"), feedback fed back into the backlog. We did not move the deadline: we cut scope in less critical modules (detailed reports were pushed to phase 2).

Stage 4. Pilot with 5 reps (3 weeks)

No big-bang. 5 sales reps (workshop ambassadors + 2 self-declared sceptics) ran the old Excel and the new CRM in parallel. We gathered feedback daily in week 1, every 3 days after that. We surfaced 23 small issues: mostly form ergonomics and warehouse filter speed.

Stage 5. Team-wide rollout & training (1 week)

Two 2-hour online training sessions (morning and afternoon so every rep could attend), a 12-page user handbook with real-scenario screenshots, a dedicated Slack channel for issues. Two weeks after rollout, the Excel template was formally retired.

Sales rep panel in Bruk-Bet Photovoltaics CRM PV system configurator in the CRM

Solution: CRM modules

PV system configurator

The heart of the system. The sales rep picks installation type (pitched roof, flat roof, ground) and target power, and optional parameters (shading, battery storage, wallbox). The system automatically selects modules, inverter, cabling and mounting hardware from the warehouse, validates compatibility and power, calculates net/gross price. All selection rules live in one place, easily editable by the client's admin: no developer involvement for a pricing or catalogue change.

Quote pipeline with validation

All quotes in one place, filtered by rep, status, value, date. Statuses: draft, in PM approval, approved, sent, accepted, rejected, contract signed. Real-time pipeline visibility for PM and director: no more "how's it going" calls to reps.

PM approval workflow

Rep submits quote → if value > threshold or non-standard configuration, routed to PM → PM approves in panel or returns with comments. Push + email notifications. Average approval time dropped from 4-6h to under 45 minutes.

Product catalogue with live pricing

Component database (modules, inverters, cabling, mounting) with purchase price, margin, stock levels. Price in the quote always pulled from current catalogue, never from a week-old copy. Duplicating an old quote automatically refreshes prices with a message: "price updated by X zł".

PDF generator & sending

One click → branded PDF with Bruk-Bet logo, kit parameters, schematic diagram, ROI calculation. Direct send from panel via client's SMTP: no copy-paste to Outlook. Send history in CRM + auto-reminders at 3 and 7 days with no response.

Analytics dashboard

For PM and director: rep performance, average quote value, lead-to-quote time, win-rate by acquisition channel, component rotation in stock. Monthly reports exported to PDF/Excel for board meetings.

Quote-to-contract conversion

Once the client accepts, the quote converts into a contract draft with pre-filled customer data, kit specs, price, terms. The rep does not retype: just verifies, adds tax ID if missing, and sends for signature. Contract creation time dropped from 20 min to 3 min.

Architecture & stack

Backend: PHP 8.2 + Laravel. Database: PostgreSQL 15. Frontend: Vue 3 + Inertia.js (hybrid SSR/SPA, no SPA bundle boilerplate). Auth: Laravel Sanctum + role-based access control (5 roles, 40+ permissions). Files and PDFs: custom renderer on wkhtmltopdf + S3-compatible storage. Mail: client's SMTP + queued background workers. Monitoring: uptime + Sentry for errors.

Infrastructure: 8 vCPU / 16 GB RAM VPS in Poland, PostgreSQL on a separate server with backup-node replication, Nginx + PHP-FPM, cron for reminders. Full DB backup every 6h to an external provider's S3. Zero-downtime deploys via GitHub Actions + Deployer.

Results after 6 months

Six months after rollout we compared KPIs pre- and post-implementation:

  • Quote preparation time: 45 min → 6 min (7× faster)
  • Quote-to-contract conversion: +32% vs the quarter before rollout
  • Component mismatch errors: 15-20% → <1% (system-level validation catches issues before the quote leaves the panel)
  • PM approval time: 4-6h → <45 min
  • Lead response time: 4h → <30 min
  • Quotes per rep per day: 5-6 → 18-22
  • "Two reps, same client" conflicts: from 3-4/week to 0 (system blocks duplicates)
  • Quotes sent with stale pricing: ∼10/week → 0
“The reps who were sceptical at the start were coming to us after a month with ideas for more features. That was the moment I knew the rollout had worked.”
Agnieszka Bęben, Project Manager, Bruk-Bet Photovoltaics

Lessons learned

Three things we did right that we recommend to anyone rolling out a CRM in a sales org:

  1. Shadowing beats interviews. Ask a sales rep "how do you build a quote" and you get the idealised version. Sit next to them and watch, and you see the real process: with "copy from that other Excel", manual email checking, and a call to the PM every 15 minutes.
  2. Pilot with 5, not a big-bang. We avoided the situation where all 18 reps suddenly have to abandon Excel. 3 weeks of parallel work caught 23 small fixes before they became pain for the next 15 users.
  3. Component rules in one place. If the logic had been scattered across code, every price list change or new module would mean a deploy. Instead: the client's admin edits rules in the panel without our involvement.

Want a similar CRM for your sales or manufacturing org? See our custom CRM software or nearshore software development page, or book a scoping call.