Published: 2026-06-20
The expanded public-procurement module — set against АОП/ЦАИС ЕОП, SIGMA and the international tools (opentender.eu, DOZORRO, OCDS). An explainable Corruption Risk Index, money-flow diagrams, a politician scanner, a per-oblast choropleth and a red-flag feed — with worked examples of what you can actually find (single bidding, concentration, MP- and official-connected firms).
Bulgaria signs tens of thousands of public-procurement contracts a year. The records are public — and almost unusable. They live as thousands of files on data.egov.bg and inside the ЦАИС ЕОП system, with no way to ask the questions that matter: Who keeps winning without competition? Which companies are tied to the people who run the state? Where does my município's money go?
The Public Procurement module answers those questions. It holds 345,949 contracts and amendments, from 4,397 contracting authorities to 26,987 companies, covering 2011 through 2026, worth €81.2 billion — and it layers an explainable risk score, money-flow diagrams, a universal search by company, politician or official, a geographic view, sector (CPV) breakdowns, a contracts browser with sector/procedure/value/EU-funding filters, and a red-flag feed on top. This piece sets it against what exists in Bulgaria and abroad, walks through each tool, and ends with what you can actually find with it.

See it live: Public Procurement →
In Bulgaria, the primary source is the Public Procurement Agency (АОП) and the ЦАИС ЕОП platform, republished as open data on data.egov.bg. It is comprehensive and authoritative — and raw: no analytics, no risk scoring, and crucially no link between a contract and the people behind the winning company. In June 2026 the Ministry of Innovation and Digital Transformation launched СИГМА (sigma.midt.bg), a government analytics layer over the same АОП data. It has a clean interface and ships a working browser of authorities, companies and contracts — with filters by sector (CPV), procedure type, year, value and EU funding, search by name, EIK or contract number, sector-level money-flow diagrams, and CSV download of any list (and JSON for a single contract) — from day one, a solid base to build on. The more ambitious features it announced (an AI assistant, a green/yellow/red risk index, red-flag signals and a beneficial-owner layer) are, for now, slated for a later stage.
Beyond the official registers, Bulgaria has accumulated civic and commercial efforts around procurement — from investigative journalism to business services:
| Platform | What it is | Focus | Status |
|---|---|---|---|
| BIRD / Bivol | investigative journalism + search | PEPs, public spending, companies, procurement, EU funds — search by name | active |
| IME — Open Public Procurement | open-data analysis + a dedicated site (oop.ime.bg) | spending efficiency, indicators | the dedicated site is no longer maintained |
| Anti-Corruption Fund | investigative NGO | specific procurement schemes — reports, not a database | active |
| BILI | legal-initiatives NGO | integrity, declarations, judicial transparency (not a procurement tool) | active |
| aop-baza.bg, targove.info | commercial alert services | subscription: filtered BG+EU notices, daily email (free trial) | active · paid |
| ZOP Plus | specialist magazine + "ZOP+ Assistant" | expert consulting, training, documentation | active · paid |
Abroad, the reference standard is the Open Contracting Data Standard (OCDS), which makes procurement comparable across countries. The EU-wide opentender.eu project (DIGIWHIST) pioneered a quantitative Corruption Risk Index — the work of Mihály Fazekas and the Government Transparency Institute — built on objective red flags: single bidding, short tender windows, non-open procedures, supplier concentration. Ukraine pairs its ProZorro procurement system with the civil-society DOZORRO layer, which monitors risk and lets anyone follow a buyer or supplier. Commercial platforms (Spend Network and Tussell in the UK, GovSpend in the US) sell buyer/supplier dashboards and alerts; the US USAspending.gov offers a drill-down explorer with geographic maps.
Where this module fits: it borrows the international playbook — the explainable Fazekas-style risk index, the DOZORRO "follow an entity" idea, OCDS-grade structure — and adds the one thing none of the others localise: the political-accountability cross-join. Every contract is checked against the Bulgarian political class — MPs, ministers, agency heads, governors, mayors, deputy-mayors and councillors — via their declarations to the Audit Office and the Commerce Registry. The table below compares feature by feature.
| Feature | АОП / ЦАИС ЕОП | SIGMA | opentender.eu | ProZorro / DOZORRO | Naiasno |
|---|---|---|---|---|---|
| Coverage | all PPA contracts | 2020– | EU, incl. BG | Ukraine | BG, 2011–2026 |
| Open standard (OCDS) | yes | no | yes | yes | yes |
| Explainable risk index | no | announced | yes | yes | yes |
| Single-bidder flag | no | partial | yes | yes | yes |
| Other red flags | no | announced | yes | yes | yes |
| Money-flow diagrams | no | yes | no | partial | yes |
| Filter by sector / value / procedure | no | yes | yes | yes | yes |
| Links to politicians / owners | no | announced | no | partial | yes |
| Map by region / municipality | no | no | partial | yes | yes |
| Search by person / company | partial | yes | yes | yes | yes |
| Follow / watchlist | no | no | no | yes | yes |
| AI assistant (natural language) | no | announced | no | partial | yes |
| Local-government procurement | no | partial | partial | yes | yes |
| Tenders: forecast vs actual spend | partial | no | partial | partial | yes |
| Appeals before the КЗК review body | no | no | no | partial | yes |
| Connected NGOs (ЮЛНЦ) | no | no | no | no | yes |
| Sector packs (health, defense, water, farm subsidies) | no | no | no | no | yes |
| Thematic analyses (e.g. roads, €/km) | no | no | no | no | yes |
| Access | free · state | free · state | free · academic | free · state + civic | free · Bulgarian · independent |
"Announced" means a feature stated on the roadmap but not yet shipped (as of June 2026).
A second group sits outside this comparison: commercial market-intelligence platforms and public-spending portals. They solve a different problem — helping vendors win customers, or making one government's spending visible — so they don't score corruption risk or link contracts to politicians:
| Platform | What it is | For whom / focus | Access |
|---|---|---|---|
| Spend Network | global procurement database (160+ countries) | suppliers & analysts | paid |
| Tussell | UK contract & framework data | supplier market intelligence | paid |
| GovSpend | US procurement & spend data | selling to the public sector | paid |
| USAspending.gov | official US federal spending portal | government-spending transparency | free · state |
Every contract carries a Corruption Risk Index from 0 to 100 — the share of the applicable red-flag checks that fired, in the Fazekas/Government-Transparency-Institute tradition. It is deliberately transparent: the page shows which checks fired and how many were even applicable ("4 of 8 risk checks"), so you can judge it yourself rather than trust a colour.

See it live: an example contract →
The checks: a single bidder (read from the bid count the OCDS feed actually publishes, and suppressed in markets that are structurally single-bid so it doesn't cry wolf[^cpv]), a non-open procedure, a short tender window, an amendment that revises the original deal, a contractor on the АОП debarment register, a buyer whose spending is concentrated on one supplier, a contractor tied to an MP, and one tied to a non-MP public official.
That same risk index sits next to every row of the full table too — 340,000+ contracts you can filter by sector, procedure, value and EU funding, sort on any column, and export. The flags show up without opening each contract one by one: sort by risk, or keep only the flagged rows. A summary line above the table tracks the current filter — count, total value, share EU-funded and share flagged.

Scope switches as it does everywhere in the module — this parliament (only the contracts from the selected National Assembly's term) or all years. In "all years" the text search spans the whole period rather than the selected year alone: type a company name and you get its contracts from 2011 to today. Click the subject to open the contract itself; the star saves it to your watchlist.
A buyer's spending fans out to its suppliers as a Sankey diagram — on every authority page and on the module's overview page, with companies tied to a parliamentarian highlighted. A company (supplier) page turns the question around: because all its income funnels to a single recipient, it shows instead how dependent the firm is on one buyer — the top buyer's share, the top-three share and how many buyers it has in all.

The module surfaces, on each company page, the politicians tied to it — and not only MPs. Mayors, deputy-mayors, councillors, ministers, governors and agency heads are matched to the companies they declared a stake in or appear as an officer of in the Commerce Registry.

Or start from the person: the universal search on the dashboard takes a politician, official or company and shows the procurement reachable through their connected parties.

See it live: connected politicians →
A link here is a declared tie from a public register, not an accusation. Bulgarian law lets officials own shares; it forbids sitting MPs from management roles but not past business or ownership. The tool surfaces the relationship and cites the source — the judgement is yours.
Local procurement surfaces on every place dashboard: what the município, its schools and its hospitals spent, and on whom.

See it live: the Plovdiv dashboard →
And the maps show every oblast three ways at once — total, per capita (so they don't just redraw the population map) and average contract value. Click any oblast on any of the maps to filter the settlement table beneath them.

See it live: the oblast maps →
The red-flag feed collects the signals worth a second look in one place — buyers concentrated on a single supplier, active debarments, and the largest politically-connected contractors. And, DOZORRO-style, you can follow any buyer, supplier or politician and keep them on your own watchlist.

See it live: the red-flag feed →
Single-supplier concentration. Across the corpus, 45% of contracts whose bid count is published had a single bidder — Bulgaria's well-documented competition problem. The feed surfaces the extreme cases: buyers that have sent 100% of their procurement to one company — often small schools and community centres. And sometimes the scale surprises: a secondary school in the village of Ribnovo placed a single €2.5 million contract with one Blagoevgrad firm — roughly 95% of everything it has ever awarded. Even if each award was lawful, that degree of concentration warrants closer scrutiny.
The political class as contractors. The module records 120 MPs (current or former) and 82 non-MP officials tied to contractor companies worth nearly €2.3 billion over the full period. The largest ties run through state-owned enterprises: an MP registered in the management of the state road-builder Avtomagistrali — €842 million in contracts; a state-agency head registered at the IT company Informatsionno Obsluzhvane at €293 million; MPs tied to Bulgarian Posts at €186.5 million. Alongside them are municipal councillors with a directly declared stake — e.g. in Global Cleaner (cleaning, €27.6 million) and Etropal Trade (medical supplies, €15.6 million). None of this is itself wrongdoing — it is exactly the map of declared interest that was, until now, scattered across thousands of filings.
Per-município reality. Because every local buyer is pinned to its settlement, you can read a município like Plovdiv directly: €4.2 billion awarded across 17,418 contracts, led by the university hospital, the electricity distributor and the municipality itself.
All of these features rest on the same open АОП / ЦАИС ЕОП data — no private source. The links to politicians add only two further official public registers: the asset-and-interest declarations to the Court of Audit and the Commerce Registry. The single-bidder signal reads the realised bid count the OCDS feed publishes; it is gated against a per-sector competition baseline so structurally single-bid markets aren't falsely flagged. Person links use only high-confidence matches — a declared stake or a unique-name Commerce-Registry record — and are dropped where a common Bulgarian name would create false positives. Out of scope: contracts below the Public Procurement Act thresholds, in-house awards, and foreign suppliers. Coverage runs from 2011 to today, with one gap at the source — АОП published no usable 2018 contract file, so that year is absent, and 2020–2021 carry fewer contracts than the years around them. The risk index is a sorting and screening aid, not legal evidence; every figure links back to its source on data.egov.bg so you can check it yourself.
The module has other tools that extend the picture beyond the signed contract — we'll cover them in depth in a separate article. In brief:
Open the Public Procurement module, or ask the assistant a question like "show the procurement red flags" — and follow the money.
Since this piece first went out, the module has grown. Here is just what's new — the detail lives in the tools above:
Bulgarian data and registers
Standards and methodology
International tools
[^cpv]: We decide this per sector, from the data — no hand-picked list. For each two-digit CPV division (the EU's Common Procurement Vocabulary) we measure the share of contracts with a published bid count that had only one bidder; if that share is 80% or more, we treat the division as structurally single-bid and suppress the flag there. The thresholds are recomputed from the corpus on every update. Currently just 1 of 45 divisions qualifies — water supply (collected and purified water); neighbouring sectors like electricity/gas/water distribution and postal and telecom services sit just under the threshold.