Battery state of charge
Lead-acids are impressively complex in regard to state of charge modelling (Li-ion are way better).
You can be more or less confident about where 100% and 0% are. In the intermediate states, it is a matter of 1V change for a 12V battery and you are pretty much able to change the open circuit voltage of a flooded lead-acid battery by 0.2-0.3V just by shaking it (i.e. mixing charged and discharged electrolyte). It also has recovery times after removing the load in order of magnitude of hours or tens of minutes (electrolyte diffusion).
If you need to be exact, a culometric approach is your only option. Shunt + sampling the load current + integration.
For a predictable load, one can make a calibration curve of a particular battery (voltage under load vs time). But, don't expect wonder.