Commodities may have different types per site
If a process has a site's demand commodity as its input, it can be basically consumed without having been imported/transmitted/generated from anywhere else.
Actually the problem lies deeper: it should not be allowed for a commodity to have different types in different sites, because that "outsmarts" the current logic of assigning a certain named commodity to the co_* subsets based of the existence of at least one site in which the commodity has that type.
Even more actually, this cries for separating commodity-wide information (like type) from commodity-site relations (like supply, price). Right now, the data model (one table for commodities only) allows for the upper inconsistency to occur without warning or error message, thus leading to logical 'holes' in the problem formulation.