By Admin · July 22, 2026
A working “start session” does not mean payments are working. A driver plugs in, energy flows, the app shows a green checkmark, and the migration looks done. But the parts that decide whether you got paid the right amount, charged the right tax, and can reconcile the books later all sit downstream of that checkmark, and they fail quietly.
The failures rarely show up on cutover day. They surface weeks later: in reconciliation that will not balance, in a tax filing built on non-compliant receipts, and in a support queue full of drivers asking why they were charged twice or not at all. This guide maps where those failures live.
The payment layer is not one system. It is seven surfaces stacked together: authorization, tariff, tax, receipt, wallet, roaming, settlement. A “start session” test touches the first and none of the rest. The sections below take the ones that break most often.

Payment migration is not moving a card-on-file table from one database to another. It is carrying over seven distinct surfaces, each with its own failure modes, each able to break without the others noticing.
Treating payment migration as a single checkbox is how six of these seven get skipped. Each one skipped is a place revenue or compliance can leak.
Not everything in a wallet migrates the same way, and assuming it does is where stored-value problems begin. Sort it into three buckets:
The safe assumption: stored payment state is not portable until proven portable, token by token and mandate by mandate. Autopay in particular needs an explicit test after cutover, not a hopeful glance.
Two platforms can hold the same tariff on paper and price the same session differently, because the rules around the edges are implemented differently.
What makes tariff drift dangerous is that it breaks silently. The session completes, the receipt looks reasonable, nothing flags an error. The discrepancy only appears when someone reconciles expected revenue against collected revenue and the numbers do not meet. Test tariff parity with real session shapes across the boundaries; do not assume it from a matching rate card.
Receipts are where a migration can manufacture a compliance problem without anyone noticing. Every jurisdiction has required lines:
When the target CMS’s receipt template does not include a line the tax authority expects, the platform does not throw an error. It just issues receipts that are missing something, and keeps issuing them.
The damage compounds because nobody notices immediately. Drivers rarely scrutinize an EV receipt, and the CMS considers its job done once the document renders. Weeks of sessions can pass before a finance review or an audit catches it, and fixing it retroactively is painful: reissuing corrected receipts across a back catalogue, reconciling collected against documented, and explaining the gap to a tax authority that expected the line the first time.
The check is simple and belongs before cutover: take a real receipt from the target CMS for each jurisdiction you operate in, put it next to the local requirement, and confirm every mandatory line is present and correct.
Roaming turns a clean cutover into an overlap problem, because during the migration window the old and new networks can both think they own a session.
Handle roaming as its own cutover step. Agree which platform owns roaming sessions during the window, make sure only one issues CDRs for a given session, and confirm settlement is addressed to a single merchant identity before partner-network drivers start arriving. Roaming handled as an afterthought is roaming that double-bills.
Every wave should pass one end-to-end payment test before it is called done, run with real payment methods across at least three PSPs (a path that works on one processor can fail on another).
Run the full chain in order, with a concrete pass/fail at each step:
A wave that passes this matrix on real methods across multiple PSPs is a wave you can trust with revenue. One that passed only a free test kWh is a wave you will hear about in reconciliation. If you want this validation built into your migration waves, that is part of our EV charger CMS migration process.
Talk to our team about your project. We design, supply, and manage EV charging infrastructure across India.