June 1, 2016


This Warehouse Receipt System (WRS) product has been designed from the ground up to be a versatile, cost-effect solution for the registration, life cycle maintenance, funding, trading and settlement of warehouse receipts. It also provides, if so required, wider support solutions for producers such as farmer database, market price collection and reporting and SMS messaging.

The system was designed in conjunction with the African Commodity Exchange (ACE) in Malawi, based on their experience of operating the most successful such exchange in Africa.

It shares the modern user interface with the other Avenir products but, besides access via smartphone, certain data and functions are also available from simple feature phones (using SMS), which is often more appropriate for the farming community in target countries.

Contact database

The contact database sits over all the modules of the Avenir | WRS system. It allows the operator and/or its agents (e.g. farmer cooperative societies, brokers etc.) to set-up and maintain a database of farmers who are interested in taking part in the warehouse receipt arrangements provided by the operator, either immediately or potentially in the future.

The operator, brokers and organisations have logins to modify the contact database subject to certain rules.

Warehouse receipts

A warehouse receipt is a legal record of a commodity, of a particular type and quality, stored in a designated warehouse. The operator may have a number of managed warehouses and acts as an issuer of warehouse receipts. Through this network of warehouses, the operator may maintain a group of managers who are qualified to grade, accept commodities into warehouses and issue receipts.

While the commodity is in a warehouse, charges and fees (e.g. storage costs) are payable – these charges will accrue on a receipt. The operator may not allow release of a commodity until all outstanding charges are paid.
Depending on the commodity, moisture content may also need to be tracked as this changes over time as a commodity absorbs or exudes moisture. The moisture content affects the net weight of a receipt i.e. the amount of commodity that can be withdrawn from the warehouse. For example a farmer may deposit X tonnes at moisture level Y. Over time the moisture content may change to Z making the net quantity X * (Y-Z) tonnes.

Other parameters which may vary over the time a commodity is stored can also be tracked.

A key reason for creating a warehouse receipt is so that it can be used as collateral for finance (see below).
This module manages creation of warehouse receipts and the various lifecycle activities up to final drawdown. The description below of functionality is based on that for maize but similar features apply to many agricultural commodities


The system allows the operator to track bank or other financing to farmers and other participants. This finance is secured against a warehouse receipt owned by the farmer/participant up to a pre-determined percentage of the value of the receipt. The system calculates interest daily and accrues it against a warehouse receipt. As mentioned above, before a commodity can be withdrawn all outstanding charges need to be settled – this includes finance (capital and interest).

The system also offers a bridge finance option that provides 100% finance for a purchaser of a commodity. This finance option requires a purchase of a warehouse receipt (which becomes collateral) within a set time period.
The system supports multiple pools for finance – each representing a source of funding e.g. bank 1, bank 2, an NGO, the system operator etc. Different pools can be used for different finance and may attract different interest rates.
The module manages the lifecycle of a finance contract starting with issue, then the calculation of interest and finally settlement.

The finance module is integrated with the warehouse receipt module – all finance should have an attached warehouse receipt (note that for bridge finance a receipt is not available until the commodity has been purchased). It also links with the customer database for all farmer information.


There system currently supports two forms of trading:
• Bid/offer mode
• Auction mode

Each form is independent of the other and can occur at the same time. Trading is intermediated – meaning brokers manage all activity on the market on behalf of buyers and sellers. All activity is public and visible by all players (with private information hidden).


The bid/offer mode is where a seller or buyer places an order to sell or buy. Brokers can either ‘counter’ a bid/offer or accept a bid/offer. A ‘counter’ is similar to a new bid/offer but includes a step to notify an existing bid/offer. For example: Broker A bids $10 to buy 100 tonnes. Broker B can counter with an offer at $9 for 100 tonnes. The counter process sends a message to Broker A telling him of this counter offer and then a new offer is created. If Broker A accepts both his original bid and Broker B’s counter offer are cancelled and a contract note (trade) for 100T @ $9 is generated.

A bid/offer can optionally have a future date setting. This creates a forward transaction (i.e. a trade to be settled in the future).


The auction form is called BVO/OVO (“Bid Volume Only” and “Offer Volume Only”). In BVO mode a bidder (buyer) creates an auction asking for an amount of commodity, which can be in a particular location, starting at a certain date. Offerers (sellers) then make offer to fill part or all of the auction. When the auction closes the system provides a report to the bidder. The bidder then selects the winning offers which in turn creates contracts ready for settlement. OVO is the opposite process i.e. an offerer (seller) creates the auction.
The trading module handles all trading activity from order creation to contract note (trade) generation. Brokers enter orders and the system will manage the auction and/or matching process. Contracts are then created ready for settlement.

Market data

The contact database module (see above) allows for the creation of a community of farmers and the ability to communicate with them easily. The market data requirement leverages the contact database and allows the operator to selectively send information to groups of farmers.

The operator could arrange (through its own staff or a team of agents) to collect recent prices from the various markets around the country. These prices can be aggregated and form the basis of market data communications to farmers.

Contacts and market prices come together via farmer’s SMS subscriptions. Farmers can set up subscriptions by requesting prices for certain commodities to be sent to them over the season. Each week the system checks live subscriptions and current prices and sends out applicable messages.

Ad-hoc messages can also be sent to a group of farmers selected from the contact database. For example: The operator might like to send a SMS message to all farmers who grow commodity X in location A and location B.
The market data module manages market data into and out of the system. It also manages ad-hoc or on demand SMS messaging. It is integral to the contact database module.


As mentioned above, this software is being developed in conjunction with the African Commodity Exchange in Malawi, who will become the first customer in 2016.