Rudolf Meiring, 52, armed with a firearm, stormed the public works department building in Station Street, Humansdorp at about 7.30am on Wednesday.
The man allegedly went towards the office of Christian Crouse, 56, and shot him several times.
Crouse died on the scene and a woman who was with him at the time ran for her life.
Meiring then shot himself.