There have been several iterations of our current modules over the past few years. As the pool of open source tools and frameworks exploded, so did the opportunities to create solutions that were more robust and concise. Our initial modules were designed to address the initial requirement of the EU food traceability regulations, merely that each node in the chain record and make available information regarding the source, treatments and disposition of items handled by each node.

This could in reality be done in a spreadsheet, on index cards or some other method. However, the rules and commercial requirements are heading towards the consolidation of the data from each of the nodes to give a full history of the products and that of all of their components.

In addition to the regulations, it seemed that this would also be a great opportunity to create a set of solutions that also aided in logistics, procurement, transport scheduling and other activities. As goods travel between trading partners each would create a fragment of the total traceability picture. This in turn could be consolidated to provide a complete picture of the events associated with individual items, shipments, processes and orders.

There are however some basic difficulties. First, individual nodes in the supply chain may feel that the information is in some way confidential in a commercial sense and not really wish for certain details to be seen by others. Even in the case of close trading groups there was a consensus that the retailer or processor of the products may make use of the information to negotiate better terms or simply go direct to their suppliers.

In dealing with the commercial concerns of the individuals we looked at the various ways in which each node could protect their data but still provide a means, when necessary to consolidate the fragments and build a complete history, say in the event of a recall.

At each node a message would be received regarding an individual transaction which in turn contained information from the previous node for each individual item in the transaction. This information would then be stored locally and as any of the items were passed on, this information would be appended to the original fragment to comply with the regulations. The next node would only receive the data that had been appended and the process would continue. Each node would now have a record one step in each direction containing only the data allowed by the provider or required by regulations.

As the chain continues this data is collected and if required an advertisement is passed to the group requesting information by any of several indexes, if agreed the data would be released and consolidated. This can be an automated or manual process based on specific configuration.

The important part is that each node in the chain retains their data and decides which parts are accessible to whom and in which circumstances it is available. In the following sections we will explain the process and show how the use of the system can aid other business processes as well.