Supply Chain Shipment Tracking using ethereum Blockchain based Smart Contracts
- January 22, 2016
- Posted by: Upinder Singh
- Category: Block Chain
The problem served to us by our customer was many errors and delays in tracking the entire life cycle of shipments starting with the purchase order acknowledgement and then final receipt of goods in the warehouse. Delayed and conflicting information was causing demurrage, lost sales, expediting costs to the tune of millions of dollars.
Blockchain technology based smart contracts can be used to track movements in the supply chain, and validate the same on a real time basis. This will improve tracking, and also result in quicker, real time transactions. The question then comes why only blockchain and not any simple database. The answer to this question was the need to make each parties event and action to be captured and validated as per the conditions of the contract and hence reducing cross checking and verification/counter verification. Thus, there is a real business case for moving shipment tracking business process on a blockchain based platform.
The shipment tracking process involves tracking a cross-border shipment from its initiation in the form of a purchase order to it receipt is the buyer’s warehouse.
The objective is to track all changes to the said shipment and inform all to the said shipment and inform all related parties about the changes.
- Government Authorities
- Freight forwarders
- Custom House Agent
- Re insurer
- Transhipment parties
- Shipping carrier
- Purchase order
- Sales contract
- Commercial invoice & Shipment bill
- Certificate of origin
- Bill of lading /AW bill
- Customer duty paid documents
- Bill of entry & Letter of credit
- Bank payment advice & HSN codes book
- GATT declaration form
- Licences & Test report
- Adhoc exemptions
- Freight invoice & Insurance declaration
The process requires multiple artefacts listed above being shared with multiple parties. The following table captures the events as they happen.
The table below lists the creation, informing and updating of the artefacts as they flow in the process. Blockchain should be able to create, update and inform the different parties when any of the events in the process.
It may be noted that there can be more parties in the entire process based on a specific business’s process.
The requirement is to:
- Create smart contracts with the elements of data that would be tracked in a verifiable manner.
- Generate event alerts on certain events taking place.
Documents and payments get released automatically when the events get verified against the smart contracts. The goal is to minimize rechecking, revalidation, reverification, and automate the process.
By providing trusted, automated transactions without the need for third parties, blockchain enables efficiency and agility wherever products, information, ownership, location or payments change hands.
Improved visibility, reduced risk and greater automation will drive down costs, improve timely delivery of goods, reduce wastage, and enable new financial models that could eliminate middlemen.
The overall process flow would be as below.
Provisioning the solution using Ethereum
An Enterprise Model Company (em entity) that will use the blockchain based solution as an independent entity that manages all the partners and stakeholders of the supply chain. All the data of the em entity will be separate from others such entities that will be supported by the system. This entity will be the highest level of user. This entity has the ability to register further entities (client entities) that will be involved as stakeholders for a complete ecosystem for entities like shipping companies, exporters, importers etc. are going to use the supply blockchain contract, supporting enterprise alerting system and rules for alerting.
The information would be verified and reconciled by the various nodes.
The process flow will resemble something like below:
Below are screenshots from the Shipment tracking using blockchain based smart contracts
Figure shows data related to a PO stored in a blockchain format. Further details can be viewed by drilling down on the link for that particular PO and it’s related shipment.
Based on the block chain verified event, the next event can be triggered.
For example, when the event for title passage takes place, which can be verified by sensor/IOT data, linked to that shipment, the bank can be instructed to release the payment.
Current status of solution and future direction
The solution developed is available on a SaaS model, though it can be a private blockchain setup.
It has customers who have subscribed to the service.
Currently data is being provisioned either through respective ERP’s of the stakeholder parties, or through manual data entry.
Subsequently, data can be provisioned through sensors, IOT, scanners, automatic feeds from multiple systems.
Technically using blockchain to manage and track smart contracts in an actual business case has been proven through this solution. Further enhancement of automatic data feeds and related business events