Been through exactly this with my cabin setup last winter. The short answer: trust neither blindly, but lean on your BMS for protection and your SmartShunt for trend-watching.
Here's what was happening in my case — the SmartShunt had drifted because I'd never given it a proper full charge to let it re-sync. Victron's coulomb counting is brilliant but it needs that 100% anchor point regularly, otherwise errors compound over weeks. Once I sorted my absorption/float settings in VictronConnect, the two figures came within 3-4% of each other pretty quickly.
The BMS (I'm running a Fogstar Drift with built-in BMS) reads cell voltages directly, so it's got a more honest picture of what's actually happening at the chemistry level. But it can also be pessimistic — it'll scream at 20% SOC based on one low cell even if the pack average is fine.
My workflow now:
- SmartShunt tells me the story over time — consumption trends, overnight draw, whether my solar is keeping up
- BMS is the hard floor — if it says stop, I stop, no argument
One thing worth checking: have you calibrated your battery voltage curve in the SmartShunt settings? Getting the charged/discharged voltage thresholds right for your specific cell chemistry made a noticeable difference for me.
What BMS are you running? Makes a big difference to how chatty it is with accurate data. Some of the budget units are genuinely optimistic with their figures.