Had exactly this on my narrowboat last winter — drove me mad for weeks.
Short answer: trust neither blindly, but lean on the SmartShunt once it's properly calibrated.
Here's what I found. My BMS (a Daly 100A unit) was reporting SOC based on a fairly crude voltage curve, which is notoriously unreliable with LiFePO4 because the discharge curve is so flat. The SmartShunt uses coulomb counting — it's actually measuring current in and out — so it's fundamentally more accurate if you've set it up correctly.
The critical bits people miss:
- Charged voltage threshold — set this to match when your cells actually hit full, not just a rough guess
- Tail current — I had mine too high, so it was declaring "full" before the battery truly was
- Peukert exponent — leave it at 1.05 for lithium, don't fiddle
Once I sorted those three settings in VictronConnect, my SmartShunt and Fogstar 200Ah battery were singing from the same hymn sheet.
The BMS SOC reading is really just there for cell-level protection, not accurate state tracking. Think of it as a bouncer rather than an accountant.
Anyone else running a split setup like this? Curious whether those with more sophisticated BMS units like a JK or Daly Smart are seeing tighter agreement — or whether the SmartShunt still wins out.