VAIDLUSTUS Rahandusministeeriumi juures asuvale riigihangete vaidlustuskomisjonile 10. juuli 2025 1. Menetlusosalised Vaidlustaja: OÜ BPW Consulting Registrikood: 10560025 Maakri 23 a Tallinn Eesti 10 145 Info @bpw-consulting.com 6181774, 5187218, 5138136 Hankija: Riigi Info- ja Kommunikatsioonitehnoloogia Keskus Registrikood: 77001613 Kolmas isik: HEISI IT OÜ Registrikood: 12765966 2. Vaidlustuse ese Vaidlustame Riigi Info- ja Kommunikatsioonitehnoloogia Keskuse 01.07.2025 otsuse pakkumuse edukaks tunnistamise kohta riigihange viitenumbriga 290452 "Veebipõhise info- ja teenindusportaali arendus- ja hooldustööd". 3. Nõue Palume: Tühistada hankija 01.07.2025 pakkumuse edukaks tunnistamise otsus Kohustada hankijat tegema uus hindamisotsus, arvestades vaidlustaja esitatud selgitusi testide kattuvuse kohta Mõista hankijalt vaidlustaja kasuks välja riigilõiv täies ulatuses 4. Vaidlustuse alus Riigihangete seaduse § 185 lg 1 ja lg 2 p 7. 5. Faktilised asjaolud 5.1. Hankija alustas 0 2 .0 4 .2025 avatud hankemenetluse veebipõhise info- ja teenindusportaali arendus- ja hooldustöödeks. 5.2. Vaidlustaja esitas 12 .0 5 .2025 kell 1 2 :3 4 pakkumuse, mis sisaldas proovitööd vastavalt hanke alusdokumentidele. 5.3. Hankija teavitas 01.07.2025 hindamise tulemustest ja samal päeval pakkumuse edukaks tunnistamise otsusest. Vaidlustaja pakkumus sai proovitöö teise ülesande eest 10 punkti 20 võimaliku punkti asemel. 5.4. Punktide vähendamise põhjuseks märkis hankija, et testide kattuvus oli SonarQube analüüsi järgi 28,7%, mis ei vasta Lisa 2.1 nõudele (vähemalt 75%). 5.5. Vaidlustaja esitas 08.07.2025 selgituse, milles tõendas, et: Backend testide tegelik kattuvus Maven järgi on 81,3% Frontend testide tegelik kattuvus Karma järgi on 69,6% Kogukattuvus on 75,45%, mis vastab hanke nõuetele SonarQube näitas kunstlikult madalat protsenti puuduvate konfiguratsioonifailide tõttu 6. Õiguslik põhjendus 6.1. Hankija on rikkunud uurimispõhimõtet RHS § 2 lg 1 kohaselt peab hankija tegutsema läbipaistvalt, kontrollitavalt ja proportsionaalselt. Hankija tuvastas ebaloomulikult madala testikatte ( frontend 0%), kuid ei küsinud pakkujalt selgitusi enne hindamisotsuse tegemist. 6.2. Hindamine ei vasta tegelikule olukorrale Hankija hindas proovitööd formaalselt SonarQube näitajate alusel, kontrollimata tegelikku testide olemasolu ja kattuvust. Vaidlustaja tõendid näitavad, et testid on implementeeritud ja vastavad nõuetele. 6.3. Õigustatud ootuse põhimõtte rikkumine Pakkuja esitas toimiva lahenduse koos testidega. Hankija ei andnud võimalust selgitada tehnilist olukorda enne otsuse tegemist, kuigi näitajad (0% frontend ) viitasid ilmselgelt tehnilisele probleemile. 6.4. Vale hindamise mõju tulemusele Kui vaidlustaja oleks saanud õiglased 50 punkti, oleks kogupunktisumma 88,27, mis ületab edukaks tunnistatud pakkuja 83,78 punkti. Seega mõjutas vale hindamine otseselt hanke lõpptulemust. 7. Tõendid Selgitus testide kattuvuse osas Pom.xml failide võrdlus (vana ja uus) Hindamisotsuse teade punktidega Vaidlustaja osas hindamistulemuse dokument 8. Märge menetluse kohta Palume asja arutada kirjalikus menetluses. 9. Lisatud dokumendid Riigilõivu tasumise maksekorraldus Selgitus testide kattuvuse osas Tehnilised tõendid (pom.xml failid) Hindamisotsuse teade Vaidlustaja osas hindamistulemuse dokument 10. Kuupäev teadasaamisest Vaidlustaja sai teada oma õiguste rikkumisest 01.07.2025. Lugupidamisega, / allkirjastatud digitaalselt / Ago Meister OÜ BPW Consulting Juhatuse liige
Pakkumus: 561586 Pakkuja: osaühing BPW Consulting (10560025) Nr Kriteerium Maksimaalne punktide arv Pakkumusele omistatud punktide arv Pakkumuse maksumus / numbrilised väärtused 1 Proovitöö ülesannete lahendus 50 40 Põhjendus: Esimene ülesanne - arhitektuuri visioon 30 punkti. Teine ülesanne - kasutajaliidese vorm 10 punkti. Teise ülesande punktide andmise põhjendus: Proovitöö teise ülesande lahendus ei vasta vähesel määral (kuni 5 puudust) hanke nõuetele, mis hõlmab tehnilist kirjeldust (Lisa 2) koos selle lisadega. Hankija tuvastas SONAR-analüüsi põhjal ühe puuduse, mis ei vasta alusdokumentides (Lisa 2.1) sätestatud kvaliteedinäitajate piirväärtustele: 1) Coverage : Lisa 2.1 kohaselt peab testikattuvus olema vähemalt 75%. Pakkuja lahenduse puhul oli Coverage mõõdiku väärtus 28,7%. Teise puudusena tuvastati proovitöös tarkvarakomponente, millel esinesid teadaolevaid kõrge või kriitilise taseme turvanõrkused (CVSS skoor ≥ 7), millele olid olemas turvapaigad enne pakkumise tähtaega. See on vastuolus hanke alusdokumentides sätestatud tingimustega (TEHIK mittefunktsionaalsed nõuded arendustele, punkt 7.14), mille kohaselt ei tohi üleantavas koodis selliseid haavatavusi esineda. Teise ülesande hindamismetoodika kohaselt on maksimaalne võimalik punktisumma 20. Pakkuja lahenduses vastasid kaks alakriteeriumi (1. ja 2. täpploend) maksimaalsele tasemele, kuid üks alakriteerium (3. täpploend) ei vastanud täielikult nõuetele (hankija tuvastas kokku kaks puudust). Vastavalt Lisa 6 alajaotuse "Proovitöö hindamismetoodika" 3. täpploendi teises lauses sätestatud põhimõttele – kui hinnatava alakriteeriumi puhul vähemalt üks nimetatud tingimus vastab madalama punkti tingimusele, antakse alakriteeriumi eest madalamad punktid – määrati pakkumusele selle ülesande eest 10 punkti, kuna see vastas hindamismetoodikas sätestatud kolmetasandilise punktisüsteemi (20, 10 ja 1 punkt) kohaselt keskmisele hindamistasemele. 2 Esimese etapi tööde maksumus (eurodes käibemaksuta) 15 6,7796 152000,000€ 3 Täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 35 31,4859 45,000 Punktisumma 100 78,27
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.2</version>
<relativePath/>
</parent>
<groupId>ee.rit</groupId>
<artifactId>laptop-request-backend</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Laptop Request Backend</name>
<description>Backend service for Laptop Request Portal</description>
<properties>
<java.version>17</java.version>
<spring-cloud.version>2023.0.0</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.13</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Tere, Sooviksi me täpsustada testikatte protsendiga seotud tehnilist olukorda. 08.07.2025 15: 14 esitatud Pakkuja küsimuse palume jätta tähelepanuta ja Hankija ei ole Sonar valesti seadistanud. Pakkuja arendaja on unustanud kaasa panna testikattuvuse seadistused. Selgitame alljärgnevalt. Analüüsides projekti, selgus, et testid on korrektselt implementeeritud , kuid SonarQube konfiguratsioonifailid jäid kogemata projekti GITi lisamata. Pakkuja poolt pakkumuse esitamisel oli antud Pakkuja esindajale info, et testide kattuvused on 81% ja 68% ning samuti esialgses täpsustavas küsimuses anti Pakkuja esindajale sama vastus, kuid asjaolude selgitamisel selgus, et arendaja oli unustanud seadistused GIT versiooni viia , mis moonutab tegelikku testide kat t uvust . Tegelik vs SonarQube testikate: Backend : Maven näitab 81% (tegelik), SonarQube näitab 28.7% Täpsustatud andmetel 81.3% Sonar vaates Frontend : Karma näitab 68% (tegelik), SonarQube näitab 0% Täpsustatud andmetel 69.6% Sonar vaates Lomboki mõju backend testikattele: Lombok genereerib automaatselt standardmeetodeid ( equals , hashCode , toString , konstruktorid), mida SonarQube loeb testikatte arvutamisel, kuid mida praktikas pole mõtet testida. See vähendab kunstlikult testikatte protsenti umbes 20-30% võrra. Näiteks üks DTO klass võib näidata 15% katet, kuigi kõik äriloogika on 100% kaetud. Puuduvad/parandamist vajavad failid: Backend ( Spring Boot ): 1. lombok.config (projekti juurkaustas) lombok.addLombokGeneratedAnnotation = true 2. pom.xml ( JaCoCo , Sonar konfiguratsioon) Uuendatud backend pom.xml manuses. Hankija saab seda diffida , kuid muu tused on seotud ainult Sonar, Lombok seadistusega (käsurea käivitamise jaoks) . 3. application.yaml ( SonarQube seaded ja välistused) sonar: coverage : jacoco : xmlReportPaths : target / site / jacoco /jacoco.xml exclusions : - "**/* equals *" - " **/* hashCode *" - " **/* toString *" - " **/* canEqual *" Enne uue raporti tegemist teha kindlasti puhas build , kuna Lombok genereerib koodi kompileerimise ajal: mvn clean või mvn clean verify Frontend ( Angular ): 1. karma.conf.js (LCOV reporter lisamine) coverageReporter : { dir: require (' path '). join (__ dirname , './ coverage / laptop-request-frontend '), subdir : '.', reporters : [ { type : ' html ' }, { type : ' text-summary ' }, { type : ' lcov ' } // See rida puudus ! ] } 2. sonar- project.properties (projekti juurkaustas) sonar.projectKey = laptop-request-frontend sonar.sources = src sonar.exclusions =**/*. spec.ts ,**/ test.ts sonar.tests = src sonar.test.inclusions =**/*. spec.ts sonar.javascript.lcov.reportPaths=coverage/laptop-request-frontend/lcov.info sonar.typescript.lcov.reportPaths=coverage/laptop-request-frontend/lcov.info Kokkuvõte: Kõik funktsionaalsed testid on implementeeritud ja töötavad ja selgitus ei lisa teste pakkumusele Backend'i madal protsent tuleneb Lombok genereeritud koodist ja puuduvatest välistustest (näiteks Spring Boot rakenduse main klass) Frontend'i 0% tuleneb puuduvast LCOV raportist Tegemist on ~ < 5 konfiguratsioonifaili lisamise/muutmisega Koodi kvaliteet ja testide olemasolu vastavad nõuetele Kui testide käivitaja avab JaCoCo raporti, siis seal on samuti näha, et backend äriloogika on sisuliselt kaetud testidega Sisuliselt on hanke testimisnõuded täidetud, puudub vaid tehniline konfiguratsioon SonarQube korrektse raporteerimise jaoks. Testide kogukattuvus on Pakkuja hinnangul 7 5 . 45 %.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.2</version>
<relativePath/>
</parent>
<groupId>ee.rit</groupId>
<artifactId>laptop-request-backend</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Laptop Request Backend</name>
<description>Backend service for Laptop Request Portal</description>
<properties>
<java.version>17</java.version>
<spring-cloud.version>2023.0.0</spring-cloud.version>
<!-- SonarQube properties -->
<!-- For local SonarQube Community Edition (free): -->
<sonar.host.url>http://localhost:9000</sonar.host.url>
<sonar.projectKey>rit-portal-backend</sonar.projectKey>
<sonar.coverage.jacoco.xmlReportPaths>target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<sonar.java.source>17</sonar.java.source>
<sonar.java.target>17</sonar.java.target>
<sonar.coverage.exclusions>
**/LaptopRequestApplication.java
</sonar.coverage.exclusions>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.13</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.5</version>
<configuration>
<argLine>@{argLine} -XX:+EnableDynamicAgentLoading</argLine>
<systemPropertyVariables>
<net.bytebuddy.experimental>true</net.bytebuddy.experimental>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>4.0.0.4121</version>
</plugin>
</plugins>
</build>
</project>
Saatja: Riigihangete register <
[email protected]>
Saaja: BPW
Teema: Uus sõnum riigihankes 290452
Teile on riigihangete registris uus teade:
Riigihanke 290452 "Veebipõhise info- ja teenindusportaali arendus- ja hooldustööd" raames on saadetud teade:
Tere
A) Teavitame hankija 30.06.2025 tehtud otsustest:
1. Hankija tunnistas vastavaks pakkujate ADM Interactive OÜ (10474271), HEISI IT OÜ (12765966) ja OÜ BPW Consulting (10560025) poolt esitatud pakkumused, sest need vastavad riigihanke alusdokumentides esitatud tingimustele.
2. Hankija lükkas tagasi pakkuja FINEST AS (10714404) poolt esitatud pakkumuse, sest see ei vasta riigihanke alusdokumentides esitatud tingimustele.
Alus: riigihangete seadus § 52 lg 3 ning § 114 lg 1 ja lg 2.
Käesoleva teate punktis 2 nimetatud pakkujale edastatakse eraldi teatega põhjendus tema pakkumuse tagasi lükkamise kohta.
B) Teavitame hankija 01.07.2025 tehtud otsusest:
Hankija tunnistas edukaks pakkuja HEISI IT OÜ (12765966) esitatud pakkumuse, sest see on pakkumuste hindamise kriteeriumi kohaselt majanduslikult soodsaim pakkumus, mis sai enim punkte (83,78 punkti). Eduka pakkumuse punktid: proovitöö ülesannete lahendus 40 punkti, esimese etapi tööde maksumus (eurodes käibemaksuta) 8,777 punkti (131760,000€), täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 35 punkti (40,000€).
Alus: riigihangete seadus § 117 lg 1.
Proovitöö ülesannete lahenduse eest antud punktide põhjendused edastatakse igale pakkujale eraldi teatega.
Enne raamlepingu sõlmimist kontrollib hankija eduka pakkuja riigihangete seaduse § 95 lõigetes 1 ja 4 sätestatud kõrvaldamise aluste puudumist ning teeb selle kohta eraldi otsuse.
Alus: riigihangete seadus 104 lg 8.
Hankija otsuse peale võib esitada vaidlustuse Rahandusministeeriumi juures asuvale vaidlustuskomisjonile kümne päeva jooksul arvates päevast, millal vaidlustuse esitaja sai teada või pidi teada saama oma õiguste rikkumisest või huvide kahjustamisest, kuid mitte pärast raamlepingu sõlmimist.
Alus: riigihangete seadus 189 lg 1.
Pakkumuste punktid on järgmised:
HEISI IT OÜ (12765966) pakkumus kokku 83,78 punkti.
- proovitöö ülesannete lahendus 40 punkti;
- esimese etapi tööde maksumus (eurodes käibemaksuta) 8,777 punkti (131760,000€);
- täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 35 punkti (40,000€).
ADM Interactive OÜ (10474271) pakkumus kokku 83,11 punkti.
- proovitöö ülesannete lahendus 40 punkti;
- esimese etapi tööde maksumus (eurodes käibemaksuta) 15 punkti (68700,000€);
- täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 28,1124 punkti (49,800€).
OÜ BPW Consulting (10560025) pakkumus kokku 78,27 punkti.
- proovitöö ülesannete lahendus 40 punkti;
- esimese etapi tööde maksumus (eurodes käibemaksuta) 6,7796 punkti (152000,000€);
- täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 31,4859 punkti (45,000€).
Lugupidamisega
Teadet saab lugeda registris hanke töölehel Teabevahetus - Sõnumid pakkujale.
https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Friigihanked.riik.ee%2Frhr-web%2F%23%2Fprocurement%2F8403864%2Fcommunication%2Fmessage%2F982292&data=05%7C02%7CAgo.Meister%40bpw-consulting.com%7Cbc67e92e8f0d4bc37bf208ddb89dbb26%7C68e3df6e830d45d187e9606800fb8da8%7C0%7C0%7C638869709765086618%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=z6eRjGWRMDDh0463jcGAvMti%2FUBZEQ7Ugumb7Ft9uS8%3D&reserved=0
https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Friigihanked.riik.ee%2Frhr-web%2F%23%2Fsettings%2Fusers%2Fmy-notifications%3FnotificationId%3D24168515&data=05%7C02%7CAgo.Meister%40bpw-consulting.com%7Cbc67e92e8f0d4bc37bf208ddb89dbb26%7C68e3df6e830d45d187e9606800fb8da8%7C0%7C0%7C638869709765113606%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=4Op2ZdwQ9Vlklxul2NdLIQ2EyVohO%2BIdOVjjv1xsABI%3D&reserved=0
See on automaatteavitus. Palume sellele kirjale mitte vastata.
________________________________
Käesolev e-kiri võib sisaldada asutusesiseseks kasutamiseks tunnistatud teavet. Kui te ei ole selle kirja adressaat, palun võtke ühendust saatjaga ning kustutage e-kiri arvutist.
This e-mail may contain information which is classified for internal use. If you are not the intended recipient of this message, please notify the sender immediately and delete the message.
Saatja: "Riigihangete register" <
[email protected]>
Saaja:
[email protected]
Teema: Uus sõnum riigihankes 290452
Kuupäev: 2025-07-01 12:49
Teile on riigihangete registris uus teade:
Riigihanke 290452 "Veebipõhise info- ja teenindusportaali arendus- ja hooldustööd" raames on saadetud teade:
Tere
A) Teavitame hankija 30.06.2025 tehtud otsustest:
1. Hankija tunnistas vastavaks pakkujate ADM Interactive OÜ (10474271), HEISI IT OÜ (12765966) ja OÜ BPW Consulting (10560025) poolt esitatud pakkumused, sest need vastavad riigihanke alusdokumentides esitatud tingimustele.
2. Hankija lükkas tagasi pakkuja FINEST AS (10714404) poolt esitatud pakkumuse, sest see ei vasta riigihanke alusdokumentides esitatud tingimustele.
Alus: riigihangete seadus § 52 lg 3 ning § 114 lg 1 ja lg 2.
Käesoleva teate punktis 2 nimetatud pakkujale edastatakse eraldi teatega põhjendus tema pakkumuse tagasi lükkamise kohta.
B) Teavitame hankija 01.07.2025 tehtud otsusest:
Hankija tunnistas edukaks pakkuja HEISI IT OÜ (12765966) esitatud pakkumuse, sest see on pakkumuste hindamise kriteeriumi kohaselt majanduslikult soodsaim pakkumus, mis sai enim punkte (83,78 punkti). Eduka pakkumuse punktid: proovitöö ülesannete lahendus 40 punkti, esimese etapi tööde maksumus (eurodes käibemaksuta) 8,777 punkti (131760,000€), täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 35 punkti (40,000€).
Alus: riigihangete seadus § 117 lg 1.
Proovitöö ülesannete lahenduse eest antud punktide põhjendused edastatakse igale pakkujale eraldi teatega.
Enne raamlepingu sõlmimist kontrollib hankija eduka pakkuja riigihangete seaduse § 95 lõigetes 1 ja 4 sätestatud kõrvaldamise aluste puudumist ning teeb selle kohta eraldi otsuse.
Alus: riigihangete seadus 104 lg 8.
Hankija otsuse peale võib esitada vaidlustuse Rahandusministeeriumi juures asuvale vaidlustuskomisjonile kümne päeva jooksul arvates päevast, millal vaidlustuse esitaja sai teada või pidi teada saama oma õiguste rikkumisest või huvide kahjustamisest, kuid mitte pärast raamlepingu sõlmimist.
Alus: riigihangete seadus 189 lg 1.
Pakkumuste punktid on järgmised:
HEISI IT OÜ (12765966) pakkumus kokku 83,78 punkti.
- proovitöö ülesannete lahendus 40 punkti;
- esimese etapi tööde maksumus (eurodes käibemaksuta) 8,777 punkti (131760,000€);
- täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 35 punkti (40,000€).
ADM Interactive OÜ (10474271) pakkumus kokku 83,11 punkti.
- proovitöö ülesannete lahendus 40 punkti;
- esimese etapi tööde maksumus (eurodes käibemaksuta) 15 punkti (68700,000€);
- täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 28,1124 punkti (49,800€).
OÜ BPW Consulting (10560025) pakkumus kokku 78,27 punkti.
- proovitöö ülesannete lahendus 40 punkti;
- esimese etapi tööde maksumus (eurodes käibemaksuta) 6,7796 punkti (152000,000€);
- täiendavate arendus- ja hooldustööde ühe töötunni hind (eurodes käibemaksuta) 31,4859 punkti (45,000€).
Lugupidamisega
Teadet saab lugeda registris hanke töölehel Teabevahetus - Sõnumid pakkujale.
https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Friigihanked.riik.ee%2Frhr-web%2F%23%2Fprocurement%2F8403864%2Fcommunication%2Fmessage%2F982292&data=05%7C02%7CAgo.Meister%40bpw-consulting.com%7Cbc67e92e8f0d4bc37bf208ddb89dbb26%7C68e3df6e830d45d187e9606800fb8da8%7C0%7C0%7C638869709765086618%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=z6eRjGWRMDDh0463jcGAvMti%2FUBZEQ7Ugumb7Ft9uS8%3D&reserved=0
https://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Friigihanked.riik.ee%2Frhr-web%2F%23%2Fsettings%2Fusers%2Fmy-notifications%3FnotificationId%3D24168515&data=05%7C02%7CAgo.Meister%40bpw-consulting.com%7Cbc67e92e8f0d4bc37bf208ddb89dbb26%7C68e3df6e830d45d187e9606800fb8da8%7C0%7C0%7C638869709765113606%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=4Op2ZdwQ9Vlklxul2NdLIQ2EyVohO%2BIdOVjjv1xsABI%3D&reserved=0
See on automaatteavitus. Palume sellele kirjale mitte vastata.
________________________________
Käesolev e-kiri võib sisaldada asutusesiseseks kasutamiseks tunnistatud teavet. Kui te ei ole selle kirja adressaat, palun võtke ühendust saatjaga ning kustutage e-kiri arvutist.
This e-mail may contain information which is classified for internal use. If you are not the intended recipient of this message, please notify the sender immediately and delete the message.
! " ! #$$!%& $
! "
#$%&$$'%
() ) * +, - ./00 +""0) 1 * +, ) "0 )"!
22#3#$#$''$$%3333$#% 2
! " !!'#(#%)& $
+4+5225
() ) * +, +""0) 1 * +,
2236#$#$''$$7896&$##
- :) ; ) - ) <"!= >) ; ) )
22422'?; + 2 +(; 5@2 ';+ #%$#$;2+
5 0 *)0> - A) , - ./00 +0) < :! ) *) )0> ) B, ) "0 )"!
#'3$1$$ *C 0D D C ) 1$$, 2
/ 0 / < :! )
E/0 0 D) '6$8%' )0/ )
E )0> < )" 1
'6$$$3'#'&
)0 0 ) < )0 0) - ./00 ) < ""0) ) "0 )"!
$1$$
* ##$+ " & (,'#% $#,
@/ ) ) ) :) 0) ) ) >)
767&7#$$37 #$1$91'$'% #%F'$F73
+ 2 ); )G '; #%$#$ //)); 2 ; #$$$8'%'
'#' 7%7