We study the problem of multicasting over a network of multiple-access channels (MACs). The separation-based solution to this problem is to reduce each MAC to a set of noiseless bit pipes via a channel code and,then employ network coding. Sometimes, however, the physical-layer structure of the MAC can be exploited more advantageously. In many cases of interest, the MAC output is a (deterministic) function of its inputs, corrupted by noise. We develop structured codes to exploit the natural function of a MAC to reliably compute functions as part of a network code and show that in many scenarios of interest our scheme outperforms the separation-based solution. If each MAC can be written as a sum over some finite field plus noise, then our achievable rate coincides with the max-flow min-cut bound.