STEM Radar: Bulgaria STEM schools, grants and what schools bought
A national audit of the STEM centre grants under Bulgaria's recovery plan, procedure BG-RRP-1.015. Contract data updates nightly from the public procurement register, tracking which schools spent what, which suppliers won the work, and what got flagged for exceeding official caps, single bidding, or large annexes after signing.
Open the audit Free, no sign-up. This is the English build of the tool; contract records stay in Bulgarian.How it works
Three steps from a school's name to what it actually bought.
Find a school or a supplier
Search among 1,213 schools with a tracked STEM procurement contract, or start from one of the suppliers, some of which also train the teachers who use the equipment they sell.
Check the contract and the red flags
See the contract value against the official spending cap, the number of bidders, and whether the automated risk index flagged anything worth a second look, all pulled from CAIS EOP.
Look at what was bought, and what changed
Search the item-level breakdown of the equipment named in the tender documents, then check the annex history for any price change made after the contract was signed.
What the audit tracks
Every layer below is read from a different part of the public record.
Checked against what is actually possible to verify
Where a comparison could not be made honestly, the tool says so instead of guessing.
Updates every night
Contract data is pulled fresh every night from the CAIS EOP open-data feed; line items, unit prices and annexes are read from source documents separately and dated accordingly.
Red flags, not verdicts
The risk index compares contracted value against official spending caps and flags single-bidder awards, but it reports facts from the register, not a finding of wrongdoing against any school or supplier.
Search what was actually bought
Item-level names are read verbatim from tender specifications and kept ungrouped by guesswork, so a search for "3D printer" returns exactly the line items that used that wording.
Generate a request letter
Pick a tracked school and the tool drafts a Freedom of Information request addressed to its principal, ready to copy and send for anyone who wants the underlying invoices.
What updates automatically, and what does not
Two different refresh speeds live inside the same tool.
| Contract list | Line items, unit prices, annexes | |
|---|---|---|
| Source | CAIS EOP daily contract feed | Tender specification and annex documents |
| Refresh | Automatically, every night | Read and dated by hand, separately |
| Coverage since | 1 January 2024 | 1 January 2024, where a price appendix was filed |
| Why the gap exists | The register itself is structured data | Unit prices only appear when a supplier's price offer was attached as a document |
A contract can be listed the morning after it is signed, while its item-level prices take longer to appear, because someone has to read the attached tender document rather than parse a data field. The two dates shown alongside each contract reflect this honestly instead of implying everything is equally fresh.
Frequently asked questions
Where does the contract data come from, and how often does it update?
Contracts are pulled every night from the CAIS EOP open procurement data feed (storage.eop.bg), matched to the STEM centre programme, procedure BG-RRP-1.015, since 1 January 2024. Item-level prices and contract annexes are read from the underlying documents separately and are not refreshed automatically, so their date is shown alongside the figure.
Why don't the tracked contracts match the official number of funded schools?
The recovery plan portal (ISUN) lists 2,227 schools with a signed grant agreement worth EUR 265.3 million; the tracker currently follows 3,135 signed procurement contracts across 1,213 of those schools. The gap comes from direct purchases below the public tendering threshold, contracts without an explicit STEM tag, and procedures still being registered.
Why are there no European unit-price comparisons?
Because the EU's own procurement database, TED, has no field for unit price at all, and its quantity field was filled in for only 1% of a checked sample of STEM-related tenders across Europe. Comparable Polish and Romanian tender documents publish a total budget but not itemised unit prices either, so no honest cross-country comparison currently exists to draw from.
Does the tool compute an implied price per item by dividing contract value by quantity?
No, deliberately. Testing that shortcut on contracts where only one table row was extracted produced absurd results, such as a single wire costing 225,830 BGN, because the whole contract's value was being divided by an undercounted quantity rather than an actual unit price. Unit prices are shown only where a supplier's own price offer was filed with the contract.
Does the tool name school directors or other individuals?
No. A list matching 666 director names to schools was removed on 6 August 2026 after a check found it matched by the school's patron name rather than its unique registry number, so a single common name, such as "Hristo Botev", pointed at up to 117 different schools; at least 79% of the matches were wrong. The tool now shows only institutional data, not names of living people.
Can I request the invoices behind a contract myself?
Yes. Since schools are legal entities buying with public money, their purchasing invoices are subject to Bulgaria's Freedom of Information Act. The tool includes a generator that drafts a formal request letter addressed to a chosen school's principal, which you can copy and send yourself.
Other tools
Part of the EduFacturing tool set.
The rest of the tool set
This tool is open to everyone, no account needed. It is one of a set of more than a hundred engineering tools on EduFacturing: calculators, calibration helpers, slicer references, defect diagnosis, CAD utilities and printer configurators. Most of them sit behind a free account.
Create a free accountFree account. No card, no trial period.