Software for amateur topographic surveys
You can try GNU Gama. According to its project page:
GNU Gama is a project dedicated to adjustment of geodetic networks.
Adjustment of geodetic networks means that we have a set of points with given coordinates coordinates of some points and a set of observations among them. What is typical of adjustment of special geodetic measurements is that the resulting linearised system might be singular (we can have a network with no fixed points) and we are not only interested in the values of ‘adjusted parameters and observations’ but also in the estimates of their covariances. This is what Gama does.
I personally haven't used it yet but it seems to fit your problem requirements. GNU Gama itself is a CLI application but there's a GUI for it called Rocinante. Thanks to @SteveBarnes for pointing this out.
Copan Lite should do exactly what you need. It's a free, GUI-based Windows COGO tool for land or topographic surveyors. (I was heavily involved in its development.)
From the Field Bearings Processing section of the User Manual:
Use this module to process raw field data from hand-held survey instruments such as compass, inclinometer and rangefinder. Copan can process the data — azimuths (or bearings), vertical angles, slope distances, and instrument and signal (or target) heights — whether concerning one or more connected traverses, independent radial surveys, or combinations thereof, to calculate new points. Data may come from data logger files or be manually input from field books. Traverses may be adjusted for coordinate misclosure and new points may be saved.