Digital Commerce & Distribution

ESET Ukraine: Custom B2B Partner Portal & Distribution Engine

ESET Ukraine is the official regional distributor delivering cybersecurity solutions to enterprise, SMB, and retail customers directly and through an extensive partner network. To unify these multi-channel operations, from pricing and ordering to license issuance, credit control and accounting, we teamed up to build OASYS, a dedicated B2B partner portal and distribution engine tailored to their workflow, and have developed and supported it for more than ten years.

Executive summary

ESET sells security software in Ukraine through a four-tier channel: vendor, distributor, reseller, end customer. Every one of those sales runs through a single system, OASYS, which we designed, built and supported from the ground up.

‍

Every B2B order, license renewal, partner discount and invoice in the country passes through it. Distributors, resellers and internet service providers use OASYS to place and manage their own orders, see prices for their tier and receive licenses within seconds. Behind it, OASYS is connected to ESET’s global licensing system in Slovakia, to ESET Ukraine’s accounting and to its other internal systems.

B2B TRANSACTIONS PROCESSED ON THE PLATFORM
100%
DEVELOPED AND SUPPORTED BY OUR TEAM FROM DAY ONE
10+ years
SALES CHANNELS SERVED
4
PLATFORM AVAILABILITY
99.95%

The challenge

Business continuity

OASYS is the only operational hub for distribution. One hour of outage freezes deal processing and license purchasing across all sales channels. If key generation fails, ESET Ukraine cannot sell or renew licenses in any channel, and customers are left without valid protection.

Pricing complexity

A single price depends on the device-volume bracket, license term, customer category (commercial, educational, government), currency rates and VAT rounding rules. The platform has to apply all of them together and calculate the price for every tier of the channel, from customer to vendor, in one pass.

Compound license operations

A typical enterprise renewal combines renewal, seat expansion, upgrade, downgrade and migration from a competitor's product. Each combination has to be recorded correctly twice: in ESET Ukraine's accounting and in the vendor's global licensing system, which model the same operation differently.

‍

External integrations

Keys are issued by ESET's global core in Slovakia, and a slowdown or failure there must not prevent a partner from placing an order. OASYS also provides an API to partners and internet service providers, and exchanges data with ESET Ukraine's 1C/BAS accounting system and other internal systems.

‍

Safe, repeatable delivery

‍The platform had to keep evolving for years: new features, framework upgrades and infrastructure moves. Every release had to be planned and tested, and knowledge of the system had to stay with the team rather than with individual engineers.

The solution & engineering approach

Technical architecture

Technology stack

Java, Spring Boot (Spring MVC, Spring Security, Spring Data JPA / Hibernate), Angular, MySQL, MongoDB, Apache Kafka, Nginx, Docker, Jenkins, Apache Maven, Git, SLF4J / Log4j2.

Delivery methodology & governance

Engagement model

A dedicated team works exclusively for the client. We are accountable for results and make all architectural, technical and UX decisions. The client's department heads and C-level set business priorities and approve every release.

‍

Team & roles

The team included a delivery manager, a business analyst, an architect, a senior developer, two to three middle developers, a UX designer, a manual QA engineer and a DevOps engineer.

Agile delivery approach

Scrum adapted to the client's needs: two-week sprints with the standard ceremonies, facilitated by the delivery manager, and continuous improvement through retrospectives. The client accepts work on a dedicated UAT environment, and work is done when the client confirms that the business problem is solved.

Backlog, roadmap & change control

The client brings business problems, and we turn them into requirements, epics and user stories. The roadmap is built from these problems, and priorities are reviewed regularly with the client's senior management. Time buffers in every sprint and in the roadmap absorb new requests, so dates hold and scope flexes.

Quality & knowledge continuity

Every story has acceptance criteria that become test cases, and non-trivial changes go through code review. Unit and integration tests protect critical functionality. People rotate across areas, so no part of the system depends on one engineer.

Key Business Outcomes

One platform for every sales channel

Partners, internet service providers, the online store and retail are served from a single platform. ESET managers follow partners, orders, licenses and balances in one interface and decide on special-price requests there, so ESET Ukraine manages all of its sales channels in one place.

Partners and providers serve themselves

‍Partners and internet service providers create, edit and track their own orders, quotes and licenses through the web portal or the API, without involving ESET staff. Providers bill their subscriptions through the API automatically.

Orders and licenses processed in seconds

One engine calculates prices for every tier and assembles upgrades, seat expansions and renewals into a single operation. Keys for standard orders are issued in 3-5 seconds with no operator involved.

Controlled commercial risk

‍Credit limits, payment reminders and shipment blocks on overdue balances run automatically. Large deals are registered and protected, and discounts are recommended from the customer’s history. Every request and response is logged for audit.

Sustainable delivery over a decade

‍Over more than ten years we shipped new features, upgraded the UI framework and migrated the infrastructure. Releases went out outside business hours, so trading was not interrupted. A maintained development guide and setup scripts mean no part of the system depends on one person’s knowledge.

Have a similar challenge?

‍

Tell us what you are trying to solve. We will come back with a clear view of the options, the effort involved and the result to expect.

Contact Us

Contact Us

Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.