tendermaster task
Tendermaster is an electronic platform where Ukrainian government entities can place their tenders, and commercial organizations can participate in state procurement that goes to the official state platform

our task

This web solution was created by CodeIT team from scratch, following the idea and vision of our client to create both an E-Commerce and Auctioning solution at the same time. The concept of this project focuses on the system that provides business-to-business/consumer/government purchase and sale of supplies, work, and services through the Internet, thus the platform requires the following functionalities:

  • Person or organization representing the government entity can create a procurement and set up a tender for goods, works or services
  • Person or organization able to provide the requested goods, works or services can search for the relevant tenders, see the information about the procurement, make a bid for it, participate in auction
  • Users can negotiate over the tender, exchange documents and information, sign contracts
  • Users that set up a tender can evaluate proposals and choose the best fit
  • Every user has to be evaluated and approved by the platform moderators to avoid frauds

According to the above-mentioned functionality, it was decided to create 5 user roles with different abilities and access level:

tendermaster guest tendermaster purchaser tendermaster supplier tendermaster admin tendermaster accountant

the implementation

The project is based on the Zend Framework 2 and the MVC structure.
  • Operational system: CentOS6.x
  • Programming language: PHP 7.0.19
  • Database: MariaDB 5.5.47; MongoDB 3.2.9
  • Client OS: Windows 7, Windows 10+, Mac OS 10.x
The client part and admin panel should work on Mozilla Firefox 47+, Safari 10+, Chrome 48+

guest mode

This is the basic mode for every user who visits the website

Without registration Guests can take a look at the following sections:

guest scheme

For any further actions at the portal, the Guest users should register. The process is rather simple and fast and requires only the email and password. After the registration Users need to be approved by the Administrator, and during this period they have all the Guest users functionality plus with the ability to edit their profile information, change settings, select favorite procurements. At this stage, while editing their profiles Users choose their roles – Purchaser or Supplier.

tendermaster task
tendermaster purchaser

Purchaser mode

When users select to be Purchasers they have all the above-mentioned functionality plus one of the main and important features – Creating Procurement.

There are several types of procurements:

Below-threshold procurement This means that the procurement that does not exceed a fixed limit and has the total planned amount less than set by the State Law
Open bidding Similar to the 1st option, but here when the Purchaser creates the Procurement he does not indicate the due date for proposal submission and the period during which Suppliers can ask for clarifications about the tender
Open bidding published in English The same as the previous type, but here Purchasers have additional fields to fill in the information in English if needed

To make the work with the platform really easy and understandable we have added several more special features

Procurement Plan According to the law, before placing a tender Purchasers have to provide Procurement Plans. The form includes obligatory forms that have to be filled in according to the State Law. For this purpose, we have created a special user-friendly form with drop-down menus. After the form is filled in all the information goes to the Central Database and the plan gets published. Every person can see the publishes plans because of the integration with Prozorro platform through their API
Reports/Negotiations The Purchaser holds negotiations with several Suppliers – they can ask various questions about the tender and request additional documents. After negotiations, the Purchaser selects the Supplier and they sign the contract
Negotiation procedure for defense Performed only for the procurements connected to the defense and military and can be performed on specific terms according to the State Law
tendermaster favourite
Competitive Dialogue This section helps Purchasers to determine the technical characteristics of the works or services they need from Suppliers
Competitive Dialogue published in English The same as the previous but in English
Digital signature Right after the publication the Purchasers are obliged to set the digital signature to their tender. After that, the bidding or auctioning for the tender starts and Suppliers can place their bets, specify the details or request additional information from the Purchasers
Payment options First payment is also performed by the invoice. After the first payment is complete Suppliers can proceed with the other payments via Visa/Mastercard
The broad functionality of the platform allows Purchasers to:
  • Easily navigate through the platform
  • Communicate with other users in terms of the specific tender
  • Switch between the procedures
  • Set the digital signature to the documents
  • Upload and set contracts
  • Select the Supplier
  • Edit or remove tenders
  • Publish contract implementation report & the completion of the contract
tendermaster create-procurement
tendermaster supplier

Supplier mode

With this account type users have all the functionality available for the registered users, and also they can make transactions, place bids to the tender, communicate with the Purchasers. We integrated the prepayment function and the transactions were implemented with the use of UPC API. Suppliers can also ask questions and ask for more details or documents to the tender in the Negotiations section. They see the details of the procurement, what stage they are on, what are the terms, what costs are expected etc.

Suppliers make bids till the due date set by the Purchaser – at this stage, users can make bids that are equal to the minimal possible value, but not more than the maximum value set by the Purchaser. While they are bidding for the tender, they can upload documents, ask Purchasers for more information or additional documents, participate in Negotiations. When this stage is finished the auction starts.

tendermaster create-procurement

Administrator and Accountant mode

These users control everything that goes on on the platform and have the following capabilities:

Log – if the platform has any sudden error, the log for this error is created automatically by the system and later the Admin with the log id can see where exactly the problem appeared
News – can create, edit and delete news that appear in the News section on the website
Manage Users – can create, edit and delete all users
Approvement – manages the list of accounts that are awaiting approval
Notifications – can create, edit and delete templates of notifications, which are shown by the system in response to user’s actions on the platform
Email Templates – email templates with special lookup fields created for special occasions and are sent to customers email addresses by the system
SEO – special pages specifically created for SEO optimization of the platform pages
Organizations – manages the list of organizations registered on the platform
Pages – can create, edit and delete pages at the website
Accountant Management – manages transactions that can be performed through the website due to the integrated UPC API, and on special occasions adds payments manually (on this page Administrator plays the part of the Accountant Manager)

Technology Stack

CodeIT Carcass
Openprocurement API

Our Input

As a result we received a huge web solution that we maintain and from time to time add functionality. The platform gets more than 11K visitors every month and thousands of new tenders every week. It has 1026 registered users and 562 organizations. This is a perfect solution for the government entities to perform state procurements in the market online and out in the open

Need help with your project? Contact our developers' team!