Inventory Management System for Euronext
Euronext wanted to expand its range of offerings in the commodities space to participants across the European marketplace, in particular to eventually make the process for physical delivery simpler and more secure. The idea was to replace the manual paper/email processes with an automated system, whilst taking advantage of this digitisation to enable commodity owners to more easily leverage their product.
Enter Euronext Inventory Management (EIM), a new web-based system built from the ground up by Sinara Consultants, intended as a first step in delivering Euronext’s vision. The system enables storage facility owners to issue electronic “Certificats d’entreposage” (warehouse or storage receipts) to Euronext member firms which give evidence of product in storage. EIM manages ownership and possession of physical product, facilitates the transfer of the title and holding of collateral, and enables asset finance, product lending, repos, securities lending agreements and other financial instruments.
As Euronext plans to introduce documents of title in the form of Euronext warrants, these can be configured in EIM to complement or replace Certificats d’entreposage. Transfer of title with warrants will allow EIM to use warrants for clearing counterparty-mediated or alternative delivery processes.
A typical workflow might involve a storage facility owner using EIM to issue a set of warrants to a general clearing member (GCM) who owns a certain amount of product, say wheat or corn, in one of their silos. As soon as this is issued, the GCM will be notified and can see the warrants in EIM, transfer them into an account (either house or client) and tag them as needed.
At any time, the GCM can request ‘load out’ of the product by the storage facility owner (SFO) and the associated warrants will be cancelled and a receipt generated.
As the time for delivery approaches, the GCM can notify the clearing counterparty of its intention to deliver through a simple notification mechanism, or a full delivery process in which warrants are transferred within EIM. When the clearing counterparty logs into EIM, they will see all of the warrants that GCMs have sent to them as part of their notification of intent to deliver.
User screens were built for use by different stakeholders, including storage facility (silo) owners and operators, financial institutions, GCMs and clearing counterparties. A real-time warrants page allows different types of users to have a ‘view’ on the warrants associated with them, and perform actions throughout the warrant’s lifecycle.
A full administration user interface allows Euronext to configure new participants, users, contract types, quality attributes, and many other aspects of the system.
Both the administration interface and the user screens have multi-language support (currently English, French, German and Dutch), with capacity for new ones to be added in future.
An export process performs a daily export of changes to warrants to Euronext’s data warehousing systems.
Access to the system is controlled by a login screen, and a permissions framework that ensures each user can only have access to the warrants and associated actions they are entitled to. The system is designed to be highly secure from the ground up, with Euronext’s information security team placing stringent requirements.
The system is accessible 24 hours a day, and so all components are designed to be highly resilient and work across twin sites.
Sinara built the server-side portion of the application entirely in C# using ASP.NET MVC, whilst the client-side portions were a mix of HTML5, CSS and Typescript. A SQL Server database stored all of the user and warrant data, and was accessed using Entity Framework. The team also used a number of open source libraries and prebuilt Sinara components to rapidly build up the application. In particular, ASP.NET SignalR was chosen to create reliable real-time pages that worked well on different browsers.
Many of the pages required formatted, easy to read, data grids to be presented, which could be manipulated by the user, with new rows inserted, updated or deleted. The Sinara team built a reusable client-side grid component that enabled the creation of new pages that supported reliable updating in the background as a result of changes made by other users .
The project started with a basic specification outlining the goals of the project, and the overall vision. A lot of detail had to be worked out through discussions between Sinara and the Euronext commodities team, major silos, market participants and other stakeholders.
In parallel, Sinara rapidly developed and demonstrated a prototype application and proof-of-concept system that showcased real-time warrant creation and issuance.
The project was then planned in two week ‘sprints’, with a clear set of goals for development that was agreed with the client. A dedicated Sinara project manager ensured any changes mid-sprint were properly assessed, incorporated into the plan, and that the team was able to quickly adjust and deliver the new requirements. The effective use of automated UI testing tools formed a significant part of the success of the project.
Sinara hosted the initial version of the software to make it easy for Euronext to demonstrate to various internal and external user groups. The team then worked closely with Euronext’s IT department to transfer the final system onto their own hosting environment.
Sinara continues to provide support and maintenance for the EIM software under our advanced support process.
- Sinara in The Trade News – “How new technology can help deliver better customer service in the financial markets”Aug 4 2022
- Visit Sinara at FIA IDX 2022 – London, 6-8 JuneMay 23 2022
- Sinara in Business Reporter – “The building blocks of bespoke trading technology”Nov 16 2021
- Sinara in WatersTechnology – “The Modern Commodities Trading Lifecycle”Oct 6 2021
- Sinara at LME Week 2021: LME Metals Seminar, Monday Oct 11Sep 23 2021
Posts by Hamish.Adourian
- August 2022
- May 2022
- March 2022
- December 2021
- November 2021
- October 2021
- September 2021
- July 2021
- June 2021
- May 2021
- April 2021
- January 2021
- December 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- April 2020
- March 2020
- February 2020
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- May 2019
- April 2019
- July 2018
- May 2018
- April 2018
- February 2018
- January 2018
- October 2017
- May 2017
- February 2016
- January 2016
- July 2015
- June 2015
- October 2014
- September 2014
- August 2014
- June 2014
- May 2014