The current version of the toolkit reports partial, formal, and total charges with inconsistent units:
>> from openforcefield.topology import Molecule
>>> molecule = Molecule.from_smiles('c1ccccc1')
>>> molecule.total_charge
0
>>> molecule.atoms[0].formal_charge
0
>>> molecule.atoms[0].partial_charge
Quantity(value=0.0, unit=elementary charge)
>>> molecule.partial_charges
Quantity(value=array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]), unit=elementary charge)
Instead, we should presumably adopt a consistent output format (with or without units) for all charge-related quantities.