EV Charging Software in Canada
We are an Indian engineering team working with businesses in Canada. Written scope before any code, and a fixed quote in CAD.
Working hours
Our day ends at 07:30 in Canada (08:30 on summer time), before yours begins, so we work asynchronously: written updates land overnight and are waiting when you start.
Quoted in CAD
Quotes exclude the 5% federal GST in Canada, shown separately on the invoice.
Data protection
Work for this market is scoped against PIPEDA, and provincial privacy law where it applies, agreed before development starts rather than retrofitted afterwards.
Written scope
Every engagement starts with a written scope and a fixed CAD quote within 24 hours, so the price is set before work begins.
About EV Charging Software
We build and operate EV charging software, not just write it. buildbyravirai runs PlugEV, a production OCPP 1.6-J charge point management system (CSMS) live on 40+ chargers across two Indian cities since early 2025. We build the full stack an EV charging operator needs: the OCPP gateway that talks to the hardware, RFID and UPI billing with automatic GST invoices, the operator dashboard, and the driver-facing app.
What the engagement includes
- OCPP 1.6-J and 2.0.1 CSMS development
- Charge point management dashboard
- RFID authentication with offline fallback
- UPI and card billing (Razorpay) with automatic GST invoices
- Per-session, time-based, and per-kWh tariff engines
- Driver mobile app and web charging flow
- Load management and smart charging
- OCPI roaming integration
Billing by the kilowatt-hour in Canada, and the paperwork behind it
The reason Canadian charging networks ask about billing software before they ask about protocols is that selling electricity by the kilowatt-hour is regulated measurement under the Electricity and Gas Inspection Act, administered by Measurement Canada, and for years chargers were not approved devices under it. The current position is a temporary dispensation programme: owners of charging equipment already in service, or put into service before the programme's cut-off dates, may apply to bill by energy delivered rather than by time. The dates and terms differ by level. Commercial Level 1 and Level 2 units put into service before 1 January 2028 are covered with the dispensation running to 31 December 2029; Level 3 and faster public units are covered if in service before 1 January 2030. Whether a given site and unit is inside that window is for you and Measurement Canada to confirm, not for a supplier to assert. What it means for the software is fixed either way: the platform must tell the user how many kilowatt-hours were delivered per transaction, the energy figure must be accurate within plus or minus three per cent, and so MeterValues and the StopTransaction reading stop being monitoring data and become the legally material number on the receipt. A charger that reports its register loosely, and real units do, produces a bill nobody can defend, which is why the per-vendor layer in a Canadian CSMS is not optional.
The second half is the rest of the Canadian stack. A network that spans Quebec builds bilingual from the first screen, since French on the charger, in the app and in every receipt and notification is a legal requirement there rather than a translation task, and Law 25 reaches the automated decisions a platform makes about a driver, as the software development page for Canada explains. Payment leans on Interac in a way no other market does: a driver paying by Interac e-Transfer is making a push payment with no authorisation to capture, so a session that starts before payment is confirmed is a design decision with real exposure, and reconciliation matches an inbound transfer to a session rather than reading a webhook for a charge you initiated. Cards still dominate at public fast chargers and contactless is expected, so both state machines live in the platform. Roaming is more mature here than in India: a public network is expected to appear on the national aggregators and to accept tokens issued by other operators, which is OCPI settlement rather than a feed, and the charge detail records going out on a partner's schema have to reconcile to the same kilowatt-hour figure the driver was shown. Federal and provincial funding programmes attach their own uptime and data reporting conditions to the chargers they fund, so the availability log is an evidence trail from the first unit rather than reporting bolted on when the claim is due.
How we work with Canadian clients
Two things shape Canadian projects more than anything technical. The first is language: if you serve Quebec, French is a legal requirement rather than a nice addition, and the rules tightened considerably under Bill 96. The French version has to be available on equal terms with the English one, which is a design constraint from the first wireframe rather than a translation task at the end.
The second is anti-spam law. CASL is stricter than most teams expect, and the penalties are real. Consent has to be express or clearly implied, records of it have to be kept, and every commercial message needs a working unsubscribe and accurate sender identification. We build those into the product rather than leaving them to whoever configures the mailing tool later, because that is where the exposure usually sits.
Indicative pricing in CAD
Converted from our published Indian rates and rounded. Exchange rates move, so the figure on your quote is calculated on the day it is issued.
PlugEV
We built an OCPP 1.6-J Central System end to end, including the transaction edge cases and charger firmware quirks that make this work harder than the protocol suggests.
Full service detail
This page covers how we work with clients in your market. The complete EV Charging Software page, with the full technical detail, process and frequently asked questions, is written in English.
Read the full service page (English)Questions Canadian clients ask
We serve Quebec. What does the French requirement actually mean?
In practice, the French version cannot be an afterthought. It has to be available on terms at least as favourable as the English, which affects navigation, forms, error messages, transactional email, and support content rather than just marketing pages. We plan for two languages at wireframe stage, because French copy typically runs longer than English and a layout built for one will break on the other. Translation is done by a French speaker rather than machine output.
How do you handle CASL for email and notifications?
As a product requirement, not a setting. That means capturing and storing proof of consent with a timestamp and source, distinguishing express from implied consent along with when implied consent expires, an unsubscribe that works in every message and takes effect quickly, and accurate sender identification. Transactional messages are treated separately from commercial ones in the code, because conflating them is the most common way teams end up sending something they should not have.
GST, HST, or PST? Which applies to your invoices?
We are outside Canada, so our services are generally not subject to Canadian sales tax on our invoice, and self-assessment rules may apply depending on your province and registration status. Because the provincial position varies considerably, we would rather your accountant confirms the treatment before the first invoice than reconcile it afterwards. We quote in Canadian dollars and hold the figure for the project.
You are many time zones away. How does that work day to day?
Honestly, with a written-first working style. Our day ends before yours starts even in the east, and overnight in the west, so there is no live overlap to schedule around and we do not pretend otherwise. Work is handed over in writing at the end of our day, which lands as your morning, and questions that would block us are flagged before we stop rather than discovered overnight. One scheduled call a week in your morning covers what genuinely needs a conversation.
EV Charging Software: common questions
Which OCPP versions do you support?
We build on OCPP 1.6-J today, which around 95% of chargers shipping in India speak, with a mapped upgrade path to 2.0.1 for certificate security, smart charging, and native payment messages. PlugEV runs 1.6-J in production; we scope 2.0.1 as a defined piece of work rather than assuming it out of the box.
Can drivers pay with UPI at the charger?
Yes. We build UPI and card payment into the charging flow via Razorpay, with per-session, time-based, or per-kWh rating and automatic GST invoices. On OCPP 1.6-J we bridge the payment-to-session link in the backend; we have written a full guide on OCPP and UPI payments.
How much does an EV charging platform cost to build?
A small pilot CSMS starts around CA$5,600. A full production platform like PlugEV, with an operator dashboard, driver app, tariff engine, GST invoicing, and the reliability layer, typically runs CA$13,000 to CA$24,000 depending on scope. Hosting and maintenance are separate. We give a flat INR quote after a scope call.
Do you support RFID cards as well as app payments?
Yes, and both can run on the same network at once. RFID with an offline fallback is how most real-world sessions start; UPI or card covers walk-up drivers. Roughly 70 to 80% of real sessions authenticate by RFID in the networks we have seen.
Can you work with our existing chargers?
If your chargers speak OCPP, and most do, yes. We handle the per-vendor quirks between brands, which is one of the messier parts of running a real fleet. Tell us the charger models and we will confirm fit on the first call.
Other markets we work in
Tell us what you are building in Canada
Send the scope, or just the problem. You get a written scope and a fixed CAD quote back within 24 hours, from the engineers who would do the work.