Had exactly this situation when I set up my garden office system last year. Running a 200Ah Fogstar Drift LiFePO4 with the built-in BMS, and my BMV-712 was regularly showing 5-8% higher SOC than what the BMS reported.
Short answer: neither is perfectly accurate, but they're measuring different things.
The BMV-712 is coulomb counting — it's tracking charge in vs charge out and applying your configured efficiency factor. It drifts over time unless it gets a proper full-charge sync point. If your absorption/float settings aren't quite dialled in, it'll accumulate error.
The BMS is working from cell voltages, which has its own issues — LiFePO4's voltage curve is famously flat through most of the charge range, so small measurement errors translate to big SOC swings, especially in the middle.
What actually helped me:
- Set the BMV's charged voltage and tail current correctly so it resyncs to 100% reliably after each full charge
- Configure the Peukert exponent properly for lithium (closer to 1.05 rather than the lead-acid default)
- Use the BMS reading as a sanity check for cell-level issues, but trust the BMV for day-to-day energy management
Once I sorted the BMV config through VictronConnect, the two readings came within about 2-3% of each other and have stayed there.
What BMS are you running? Some of the cheaper integrated ones have pretty poor voltage calibration which makes them unreliable as a reference point. Would help narrow down where the discrepancy is coming from.