Had exactly this circus on my narrowboat last spring. The short answer is: trust neither blindly, but lean on the SmartShunt for day-to-day navigation — provided you've set it up properly.
The BMS is watching cell voltages and protecting the pack from catastrophe. It's not really designed to be an accurate fuel gauge — that's not its job. Most budget BMS units (looking at you, every anonymous Chinese unit that ships with Fogstar DIY cells) calculate SOC from voltage curves alone, which is notoriously wobbly mid-charge.
The SmartShunt does Coulomb counting — it's actually measuring electrons in and out. The catch is it's only as good as your configuration:
- Charged voltage set correctly?
- Tail current dialled in?
- Peukert exponent appropriate for lithium (hint: closer to 1.05, not the lead-acid default)?
If those are wrong, your SmartShunt will drift like a canal boat with a fouled prop.
What I'd actually suggest is resetting the SmartShunt SOC at each full charge event and letting it count down from there. Over a week of typical use, mine agrees with the BMS to within 3-4%, which I consider acceptable for something floating around on the Bridgwater & Taunton.
What battery chemistry are you running, and which BMS? That'll change the advice considerably.