Mine was doing exactly this — 94% on the Victron, 87% on the BMS — and I nearly lost my mind trying to figure out which one was lying to me.
Short answer: neither is lying, they're just measuring differently. The BMV-712 works on Coulomb counting (tracks charge in/out) and drifts if your charge tail settings are off, whereas your BMS is typically doing voltage-based estimation which has its own bag of problems depending on cell chemistry.
For my Fogstar Drift 200Ah in the shepherd's hut, I ended up trusting the BMS for protection decisions (it's the one that'll actually disconnect the pack) but using the BMV-712 as my day-to-day gauge once I'd properly set the:
- Charged voltage threshold
- Tail current %
- Peukert exponent
The BMV-712 will sync itself to 100% once those conditions are met consistently, and after a few full cycles mine was reading spot-on.
Key question though — what's your charged voltage threshold set to in the BMV? That's almost always the culprit. If it's set too high and your charger never quite hits it, the BMV never resets and the drift compounds over time.
Also, are you on LiFePO4? If yes, make sure Peukert is set to 1.05 or thereabouts — it's not a lead acid.
What BMS are you running? Someone here will have had the same combo, I guarantee it. 🔋