A driver looks at the Uber app and sees one figure; the balance in the CRM shows another. For a fleet owner that is not an error in a table but a conversation in which you have to prove nobody is being robbed. The discrepancy controller makes sure both figures are the same figure.

The driver app and the aggregator's official report are two different sources describing the same working day. The driver sees rides as they happen, the fleet settles on the basis of reports, and between the two sits a whole set of operations that Uber and Bolt correct only after the fact: settlements for rides paid in cash, bonuses added and taken back, adjustments.
The outcome is always the same. A driver turns up with a phone in hand and asks where the difference went. The manager has nothing to answer with, because in the fleet system the amount simply has not arrived yet. The longer this goes on, the more firmly the crew comes to believe the fleet is making something on the side. That is a business problem, not a technical one.
There is a purely technical part on top of that: Uber runs several API versions, which means the cash position in the fleet's system can update with a delay. A difference of that kind reaches about 200 zł. Enough to damage a relationship, and little enough that nobody wants to chase it by hand.
The module does one thing: it brings aggregator data and CRM balances to a common state, and does it fast enough that there is nothing left to argue about.

Drivers who once become convinced the fleet is shaving their earnings will not change their minds after one conversation. They move to a competitor and tell a few colleagues on the way. That reputation costs far more than any single difference on a balance.
The discrepancy controller spares managers the job of proving their own honesty. Instead of an argument along the lines of "my app says something else", there is one shared version of the data that both sides see at the same time. The conversation with the driver stops being a confrontation and becomes a check of a line on a list.
It also means less work in support. Every "the amount does not match" ticket ties up a manager who compares the aggregator report with the system by hand. When the data reconciles automatically every hour, that kind of ticket stops coming in.
The discrepancy controller works on the data Uber and Bolt make available. The module does not change the aggregator's settlement rules and does not correct its reports — its job is to show the actual state in the CRM as soon as the aggregator publishes it, and to keep settlements running when a data channel fails.
Synchronisation runs on an hourly cycle. The driver's balance in the CRM does not wait for the weekly settlement close; it keeps up with what is happening on the aggregator's side.
From delays in cash updates caused by the different API versions on Uber's side. Those are exactly the delays the module removes, so the amount in the fleet system does not drift from what the driver sees in the app.
Yes. Synchronisation covers settlements for rides paid in cash and bonuses that aggregators correct after the fact, adding or withdrawing them once the ride is over.
The system automatically switches to backup parsing, an alternative way of collecting the data. Settlements with drivers carry on, with no break in what is credited to them.
Drivers have a view of their balance, ride history, transactions and credited bonuses in the app, based on the same synchronised set of data the manager works with in the CRM.
30 minutes online, no commitment. We will show how it works for fleets your size.
Book a demo