
Case study
Multi-Tenant EV Charging Management Platform for a Brazilian Charge Point Operator
Plexteq partnered with a Brazilian company to build a multi-tenant charging station management and e-mobility service platform.
The platform runs the client’s own charging network and is sold as SaaS to other charge point operators. It combines OCPP charger control, Pix and card payments with automatic refunds, per-tenant merchant-of-record switching, and Brazilian fiscal document issuance in a single self-hostable binary.
Project Highlights
Industry
Market
LATAM, Brazil
Expertise
EV Charging, OCPP, Multi-Tenant SaaS, Payments & Marketplace Splits, Backend Engineering
Cooperation
2025
Technologies
Rust, PostgreSQL, MongoDB, OCPP 1.6J (2.0.1/2.1 ready), OpenAPI 3.1, Server-Sent Events, OpenTelemetry, Docker
Business Challenge
Brazil’s EV charging market is growing fast, and most of the network is built by small and mid-sized charge point operators (CPOs) like hotels, shopping centers and fleet depots. Each needs software infrastructure to control chargers, price sessions, and process payments. Incumbent platforms bundle all this and act as the merchant of record. Drivers pay the platform instead of the operator, who loses control of its customer relationship, cash flow, and brand.
Our client, a Brazilian e-mobility company operating charging sites in São Paulo, wanted to reverse that model. The plan was to build a platform that would first run its own network, then license it as SaaS to other CPOs. By default, each operator would remain the merchant of record, so drivers pay the CPO directly. The platform would handle payments on an operator’s behalf only when a small tenant requested it.
That ambition created demanding requirements. The platform had to speak OCPP to a diverse charger fleet, isolate tenants, and process Pix and card payments with marketplace splits through licensed payment providers. It also had to handle fiscal documents for every session under the correct tax identity.
The client engaged Plexteq to design and build the backend end-to-end, covering the charger gateway, session and tariff engines, payments, fiscal issuance, and operations. The client’s founder built the React front ends against the API contract Plexteq delivered.
Key Challenges
#1. Duplicates After Every Network Blip
Chargers using cellular connections can sometimes lose connection, causing them to resend all OCPP messages they stored while offline. If the backend is not careful, it might count the same energy twice and overcharge the driver, or ignore it and lose revenue. Since prepaid sessions range from R$20 to R$80, just a few double-counted kilowatt-hours can lead to refund disputes.
#2. Pix Has No Pre-Authorisation
Most drivers use Pix, which transfers money instantly but cannot hold funds, and debit cards also do not support pre-authorization. Because the total session cost is only known when charging ends, charging a fixed amount upfront would either overcharge drivers or end sessions early. Idle fees also needed to be collected without putting drivers into debt.
#3. One Platform, Two Kinds of Merchant
Established operators wanted to use their own tax ID, payment account, and handle their own chargebacks, while smaller tenants preferred the platform to collect payments for them. Both options needed to work together, and switching between them could not interrupt active sessions. The platform also had to comply with Brazil’s marketplace settlement rules (Bacen Circular 3.815/16) without becoming a payment institution or managing tenants’ payment-provider credentials.
#4. A Tax Document for Every Session, Under Moving Rules
EV charging is subject to ICMS tax, so each session requires an NFC-e signed with the merchant’s digital certificate. Ongoing changes, like the new tax-substitution regime (Convênio ICMS 182/2025), the CBS/IBS reform, and unclear rules about ICMS versus ISS for idle fees, kept the requirements in flux. If any of the 27 state tax authorities went offline, charging still had to continue.
Services
Technologies
Solution Delivered
Plexteq's dedicated mobile team owns the full lifecycle of the SDK: architecture, development, releases, documentation, and merchant-facing support.
↳ A Lean, Secure Platform Built for Uptime
Plexteq built the platform in Rust, a language chosen for software where failures are costly. Rust has the raw speed of C++, but it rules out at compile time the memory-safety bugs behind a large share of security vulnerabilities and production crashes.
As a result, a single server instance handles thousands of concurrently connected chargers on modest hardware, with a low memory footprint, which keeps operating costs low. Code that handles financial transactions is held to an even stricter standard: the build pipeline rejects any code that could crash during a payment.
The whole platform ships as one modular monolith container image backed by one PostgreSQL database, with no dependency on any particular cloud provider. The design leaves a clear path to multi-server scaling when tenant volume grows.
↳ Reliable Charger Connectivity

The platform connects to chargers over OCPP, the industry’s open standard, so operators can mix hardware vendors instead of being vendor-locked. Each charger is handled in isolation, so a misbehaving unit cannot affect the rest of the fleet. Commands such as remote start, stop, or unlock are tracked until the charger confirms them and are queued automatically while a charger is offline.
Every charger reading and transaction is recorded using OCPP store-and-forward queueing and server-side idempotency/deduplication logic to handle charger flapping and replays of hours of buffered data. Drivers are never billed twice, and operators never lose revenue. The system keeps a full event history of each session as evidence in case of a billing dispute.
↳ Multi-Tenant SaaS with Switchable Merchant of Record
Each tenant operates in isolation with their own data, including staff roles, branding, terms, support contacts, and pricing. Pricing can be set per kWh, per minute, or per session, with peak and off-peak windows, idle penalties, and discounts for customer groups such as ride-hailing drivers or corporate fleets. The client’s own network runs as a separate tenant, using the same tooling.
Whether the operator or the platform acts as MoR is a per-tenant setting that can be switched at any time without disrupting in-progress sessions. Every dashboard capability is also available through a documented open API, so operators can connect their own billing, ERP, or fleet systems.
↳ Pix and Card Payments Without Holding Customer Money
Each tenant is onboarded as its own sub-account with a licensed payment provider. The platform never holds funds, keeping it clear of payment-institution licensing and removing a major compliance liability.
-
Pix prepay: the driver tops up a chosen amount, and any unused balance is refunded automatically within minutes of unplugging.
-
Credit card: the expected maximum is reserved upfront, only the actual cost is charged, and the remainder is released.
-
Idle fees: a small, disclosed buffer covers time spent plugged in after charging ends and is refunded if unused.
Refunds are handled with a single action in the operator dashboard. That one action refunds the driver, updates the books, and corrects the tax document. A daily automated reconciliation catches discrepancies with the payment provider by the next morning.
↳ Automatic Tax Compliance, Ready for New Markets
The platform issues the required consumer tax document (NFC-e) for every session under the merchant’s identity, through a certified fiscal service provider, so operators never deal with Brazil’s 27 state tax systems directly. Tax rules are configuration, not code, so changes like the CBS/IBS reform are handled through settings instead of new development. When a state tax system is down, documents are retried automatically, and charging continues.
All Brazil-specific logic is packaged as one interchangeable market module. Expanding to another country means adding a module, not rebuilding the platform.
↳ Charging via WhatsApp, No App Required
Drivers scan a QR code at the charger and do everything inside WhatsApp, Brazil’s most widely used messaging app. From there, they can start a session, pay with Pix, track progress, and stop charging. Removing the app download removes the biggest barrier for walk-up customers. Automatic messages confirm the start, warn when charging is nearly complete, and deliver the receipt.

Key Results
zero
duplicated or lost sessions across reconnect storms and offline replays
< 5 min
typical Pix refund of unused credit after session close
< 1 day
to onboard a new CPO tenant, including payment sub-account verification
one
deployable image for the whole platform
Key Features
OCPP Charger Management
OCPP 1.6J with remote start/stop, reset, unlock and configuration, with OCPP 2.0.1 and 2.1 support ready for hardware upgrades.
Multi-Tenant SaaS
Full tenant isolation, role-based access, and per-tenant branding, terms and support contacts, with the client’s own network running as a tenant.
Switchable Merchant of Record
Each tenant chooses whether it or the platform is the merchant, and can switch at any time without disrupting live sessions.
Pix and Card Payments with Automatic Refunds
Walletless prepay and pre-authorisation flows, marketplace splits through licensed providers, and automatic return of unused credit.
Integrated Fiscal Compliance
A tax document for every session through a certified provider, with tax rules managed as configuration and ready for the CBS/IBS reform.
WhatsApp Session Control
Drivers start, pay for, monitor and stop charging inside WhatsApp, with no app install required.
Lightweight, Market-Ready Architecture
A single container image and database with a small hardware footprint, extendable to new countries through one market module.
Business Outcome
The platform went live on the client’s own network first. Within 10 months, it was onboarding external charge point operators, turning the client from a regional charging operator into a software provider with recurring revenue.
A differentiated market niche. The client became one of the first platforms in Brazil to let operators remain the merchant of record, with their own brand on receipts and payments landing directly in their own accounts. That is a clear advantage over incumbents that sit between operators and drivers.
Recurring revenue at healthy margins. Per-charger subscriptions add predictable income without adding hardware to the client’s balance sheet. A lightweight footprint keeps cost low enough to win small operators that incumbent pricing shuts out.
More drivers, fewer complaints. WhatsApp and Pix simplified service use and removed the need for a card, so more walk-up visitors converted into paying customers. Automatic refunds cut billing disputes by 76%.
Compliance and expansion as selling points. Tax documents are issued automatically, and tax reform changes are handled through configuration, which is often the deciding factor for small CPOs. Packaging country-specific logic as market modules makes entry into other Latin American markets a realistic next step.
Key business results:
-
Shift from charging operator to SaaS platform provider
-
17 tenants and 600+ chargers onboarded within 12 months
-
~37% lower infrastructure cost per charger
-
+18% walk-up sessions and 76% fewer billing disputes
-
99.6%+ service availability, with no lost sessions or payments since go-live
