Had this exact headache last year. Short answer — trust neither blindly, use both together.
The BMV-712 does coulomb counting, so it's only as accurate as its shunt calibration and how well you've set your charged voltage / tail current. If those are off, the drift compounds over time. Mine was reading 8% high after a few weeks until I tweaked the settings properly.
Your BMS is working off cell voltages, which sounds more "real" but voltage-based SOC is notoriously sloppy in the middle range — especially with LiFePO4 where the curve is basically flat from 20–90%.
What I do now:
- Use the BMV for day-to-day monitoring (trends, watts in/out, etc.)
- Use the BMS cell voltages to sanity check at the extremes (near full or near empty)
- Let a full charge cycle re-sync the BMV periodically
Worth double-checking your BMV's Peukert exponent and charge efficiency factor settings too — defaults aren't always right for lithium.
What BMS are you running? Some of the cheaper ones have dodgy voltage reporting anyway, which throws everything off. And are you on a Fogstar or similar prismatic setup?
Would be good to hear what others are doing — curious if anyone's found a slicker way to keep them in sync.