Metabolite balancing has turned out to be a powerful computational tool in metabolic engineering. However, the linear equation systems occurring in this analysis are often underdetermined. If it is difficult or impossible to find the missing constraints, it is nevertheless feasible in some cases to determine the values of a subset of the unknown rates. Here, a procedure for finding out which reaction rates can be uniquely calculated in underdetermined metabolic networks and computing these rates is given. The method is based on the null space to the stoichiometry matrix corresponding to the reactions with unknown rates. It is shown that this method is considerably easier to handle than an algorithm given previously (Van der Heijden et al., 1994a). Furthermore, a useful elementary representation of the null space is presented which is closely related with the elementary flux modes. This unique representation is central to a more general approach to observability/calculability analysis. In particular, it allows one to find, in an easy way, those sets of measurable rates that enable a calculation of a certain unknown rate. Besides, rates which are never calculable by metabolite balancing may be easily detected by this method. The applicability of these methods is illustrated by a model of the central metabolism in purple nonsulfur bacteria. The photoheterotrophic growth of these representatives of anoxygenic photosynthetic bacteria is stoichiometrically analyzed. Interesting metabolic constraints caused by the necessary balancing of NADPH can be detected in a highly underdetermined system. This is, to our knowledge, the first application of stoichiometric analysis to the metabolic network in this bacteria group using metabolite balancing techniques. A new software tool, the FluxAnalyzer, is introduced. It allows quantitative and structural analysis of metabolic networks in a graphical user interface.