I believe there's precedent for this in the real world. If I'm not mistaken, the Roman Empire used to pay its soldiers in salt (the origin of the word "salary", I believe). Currency comes about because it's difficult to carry bags of commodities around...and because it's prestigious to be able to mint coins with your face on them.
Edit: AND, in societies where the local currency has gone to pot, people still trade in commodities - during the Russian fiscal crisis several years ago people converted their paychecks to vodka because it held its value better than cash. I don't know, but I expect that people accepted vodka and other goods in lieu of cash during that time for the same reasons. The same situation has, I believe, occurred in many other parts of the world that have experienced runaway currency devaluation.
One suggestion: if units are related to weight I would suggest that x units of wood would not be equivalent value to x units of rice or x units of iron. Either there should be an exchange rate (20 units of rice = 1 unit of iron) or the weights should be different (1 unit of rice (20lbs) = 1 unit of iron (1lb)) for each kind of commodity. Services should have a value in commodity terms, e.g. one hour of blacksmithing is worth 0.25 units of iron, etc. This could all get pretty complicated because you'd need a big table showing the relationships between the various forms of commodities, services, etc. (another reason for creating currency).