- Client
- Axen Clube Solar (Chapecó, Brazil)
- What we did
- Company website with savings simulators, CRM integration, partner tracking and a content CMS
- Platform
- Responsive web (Next.js 15 · React 19 · Payload CMS 3 · MongoDB · Vercel) + Groner CRM
- 02
- simulators, each with its own CRM stage
- 52
- utilities in the selector, all 27 states
- 16
- page blocks editable in the CMS
- 0
- lines of code for the solar-plant section
The starting point
Axen Clube Solar is an energy consumers’ consortium based in Chapecó, in southern Brazil, operating under Law 14.300, the country’s legal framework for distributed generation. Its flagship is the Clube Solar: customers receive energy credits from Axen’s solar plants straight on their power bill, with no construction, no investment and no lock-in. Next to it sits the Kit Solar, for people who would rather own a photovoltaic system on their roof.
Two offers with opposite logic (one says "don’t invest anything", the other says "invest in your own system") competing for the same visitor. And the sale doesn’t happen on the website: it happens in the sales team’s CRM, where each deal moves through its own stages and needs the account holder’s documents. Part of the customers arrive through partners and events, and that source has to arrive with them. A website that only introduced the company and ended in a contact form would leave all of that work for later.
- Explain two opposite offers, a subscription and an owned system, without confusing whoever lands.
- Turn curiosity ("how much would I save?") into the first step of the sale.
- Get every contact into the CRM at the stage of the chosen product, without duplicating returning visitors.
- Receive the documents and power bill from the full sign-up together with the deal, not on the side.
- Know which partner or event brought in each customer.
- Put the content in the Axen team’s hands, not in a development queue.
The turning point
The decision was to treat the website as the front of the sales funnel, not as a brochure. The main call to action isn’t "contact us", it’s "how much is your power bill?". The visitor picks one of the two paths, enters the bill amount and the utility, and the same submission that shows the estimated savings opens the deal in the CRM, with the amount, the utility and the estimate already noted.
The first commit landed on January 8, 2026, with the content kept in files inside the code itself, and the CRM integration was refined together with Axen over the following weeks: field mapping, attachments organised on the deal card, a rule so that someone who simulates twice isn’t duplicated. Once partner links went into use, the cost of that model showed: between February 25 and March 4, adding and adjusting partners and events took four code releases.
So the content moved house. In March the website migrated to Payload CMS: block-based pages, partners, testimonials, FAQ, menu, footer and even the simulator percentages became fields in a dashboard. The migration went live on March 23, and the handover meeting took place on March 25, 2026, eleven weeks after the first commit.
The simulation is the form. Every calculation creates or reuses the contact in the CRM, opens the deal at the stage of the chosen product (Clube Solar or Kit Solar) and records bill amount, utility and estimated savings. Whoever is going to sell gets a conversation that has already started.
What we delivered
Two simulators, one power bill
"I want a free discount" and "I want to invest" side by side, each with its own promise. The visitor types the bill amount, picks the utility from a list of 52 options across all 27 Brazilian states, each with its tax ID, and sees the estimate. The percentage behind the calculation is a CMS field: if the commercial terms change, the simulator changes with them, no code involved.
From the calculation to the CRM card
The integration with Axen’s Groner CRM looks the contact up by phone and by e-mail before creating anything, reuses the open simulation and, if the visitor changes their mind, moves the same card to another stage instead of opening a new one. In the full sign-up, account holder, address (the postcode fills in the rest), documents and power bill arrive attached to the card, and the sales team gets an e-mail summary.
A tracked link for every partner
Trade fair, talk, partner company: each one gets a link carrying its own code. The browser keeps the code for 30 days, the site checks it against the partner list and writes it to a dedicated CRM field along with the lead. Axen knows who brought in each customer without having to ask.
A CMS for the Axen team
Payload CMS with 16 page blocks (simulators, benefits, figures, testimonials, FAQ, calls to action and more) that the team combines and reorders. Every page has drafts with autosave, live preview on phone, tablet and desktop, and scheduled publishing. Partners, testimonials, menu, footer, redirects and SEO fields are edited there too.
How we ensure it
No duplicated lead, no lost lead
Before creating a contact, the site looks for an existing one in the CRM by phone and by e-mail. A temporary API failure gets an automatic retry, and the e-mail alert to the sales team goes out even if the CRM doesn’t answer. An invisible field stops bots without asking the visitor for anything.
Personal documents treated as such
The full sign-up asks for taxpayer ID, identity card and power bill, so everything is validated on the server: Brazilian phone format, field lengths, mandatory documents and a 10 MB cap per file. Production logs mask name, phone, e-mail and taxpayer ID, and the site has its own Terms of Use and Privacy Policy.
Change the content without breaking the page
The Axen team picks, orders and fills in blocks; the design of each block stays in the code, under review. Text, images, order and calls to action change with no risk to the layout, with a preview before publishing. Structural change is still development work, which is exactly why everything else doesn’t have to be.
The result
Eleven weeks from the first commit to the handover meeting, Axen ended up with a website that starts the sale instead of just introducing the company: whoever runs a simulation is already in the CRM, at the stage of the product they chose, with the bill, the utility and the estimated savings on record. And whoever arrives through a partner arrives with that partner’s code.
The CMS proved the point after the handover. When Axen opened a new front aimed at solar plant owners, the home page gained a new section, with a call to the plant sign-up, assembled in the dashboard from a block that already existed. That section doesn’t exist in the website’s code: it lives entirely in the content the Axen team edits.
Does your website introduce the company or start the sale?
Epicora builds company websites that talk to your CRM and that your team updates on its own, with no development queue just to change a sentence.
