Battery charge calculation

I’m a relative newbie to battery monitoring so more asking this out of interest.

Can’t you just do this all from the voltage (only) and some knowledge of the battery capacity? I recall discharge profiles are non-linear (so Ah would be approximated?)

Or is the idea with the suggested solutions to do it more accurately?

For my 18650 battery monitoring I just measure voltage and calibrate it to a %battery.

Can see id: batt_level here for details.