Book a free call
← All articles
appspublic procurementsoftware tendersbuying software

Public Software Tenders in Poland: Half Draw One Bid, a Third of Upgrades Go Direct

We analysed 26,011 public software contracts in Poland (BZP, 2021–2025): 51% drew one bid, bids split up to 2.5x and 37% of upgrades were direct awards.

Adrian Hunia

Adrian Hunia Owner, leads the technical side

Builds the systems described here and runs deployments from the first call to go-live at the client.

16 min read

Public Software Tenders in Poland: Half Draw One Bid, a Third of Upgrades Go Direct

A public tender is one of the few places where you can see what happens when several companies price the same software specification. The buyer has to publish how many bids came in, what the lowest and highest were, and which one won. If it bought without competition, it has to say why. In a private company the same things happen quietly, by email.

So we downloaded every contract award notice from Poland's Public Procurement Bulletin (Biuletyn Zamówień Publicznych, BZP) whose main CPV code covers software or IT services, from January 2021 to September 2026. That came to 31,090 contract lots. The analysis covers the full years 2021–2025: 26,011 lots from 19,961 notices, placed by 3,782 public buyers. Below are four findings that matter to anyone buying software, including private companies, a regional table and the full dataset.

Key findings

  • One bid is the norm. From 2021 to 2025, half of the software contract lots in BZP awarded through a competitive procedure received a single bid (51.2%, 9,195 of 17,946), against 34.0% for all other BZP contracts in 2025 (SEVENEDGE analysis).
  • Custom development is the worst. Software development and implementation received a single bid in 62.5% of cases, maintenance in 61.4%, and hospitals, across all their software purchases, in 73.9% (BZP 2021–2025, SEVENEDGE analysis).
  • Prices for the same scope differ up to twofold. In a third of software development tenders with at least two bids, the highest bid was at least twice the lowest (34.0%, 136 of 400); for licences this happened in 11.9% of cases (BZP 2021–2025, SEVENEDGE analysis).
  • A third of upgrade and maintenance contracts are direct awards. 36.7% of software development and maintenance contracts went to a vendor without competition (1,551 of 4,230), 55.7% in municipalities, against 4.8% of all BZP contracts in 2025 (SEVENEDGE analysis).
  • The reason is rights to the code. In 68.5% of direct awards for software development and maintenance, the justification explicitly cites copyright, source code, author's supervision or the vendor being the system's producer (BZP 2021–2025, SEVENEDGE analysis).

Where the numbers come from

BZP covers Poland's domestic procurement band, from PLN 130,000 up to the EU thresholds, which is how the law in Poland splits the market. For every contract award notice we read the fields the buyer fills in: procedure, number of bids, the lowest, highest and winning price, the ground for cancellation, and for direct awards the statutory ground and its justification. The unit is the contract lot, which is also how Poland's Public Procurement Office (UZP) counts. A municipality buying five different programs in one procedure reports five results in one notice, one per lot.

A lot counts as software when its main CPV code is in division 48 (software packages and information systems) or 72 (IT services). We split them into four groups: licences and off-the-shelf software, software development and implementation, maintenance and support, and other IT services. The full method, with its limits, is at the end.

The baseline is the rest of the market. We ran the same parser over every award notice from every fifth day of 2025, which is 58,651 notices and 115,123 contract lots. The result is close to UZP's own figures for 2024: according to the UZP President's annual report, cited in the Ministry of Development and Technology's reply to parliamentary question no. 16348, below-threshold contracts received 2.89 bids on average and more than 64% of them received more than one. Our 2025 sample gives an average of 3.01 and 65.6% with more than one bid.

1. Half of public software contracts draw a single bid

From 2021 to 2025, 51.2% of software contract lots awarded through a competitive procedure received one bid (9,195 of 17,946), with 2.34 bids on average. Across all other BZP contracts in the 2025 sample, the single-bid rate was 34.0% (28,112 of 82,640).

This is not because software is mostly supplies and supplies always draw fewer bids. Comparing the same year and the same contract type gives the same picture. In 2025, IT services drew a single bid in 56.6% of cases (949 of 1,678), other services in 35.1% (8,329 of 23,751). Software supplies drew a single bid in 49.3% of cases, other supplies in 42.1%.

A single bid was received by 62.5% of software development lots, 61.4% of maintenance lots, 50.1% of other IT services, 49.1% of licences and 34.0% of all other BZP contracts

What was bought (main CPV code)Lots awardedSingle bid
Software development and implementation (e.g. 72230000, 72263000)1,07362.5%
Software maintenance and support (e.g. 72250000, 72267000)1,60261.4%
Other IT services (e.g. 72000000, 72800000)3,61250.1%
Licences and off-the-shelf software (division 48 and 72268000)11,65949.1%
All other BZP contracts, 2025 sample82,64034.0%

Two patterns stand out. First, the bigger the purchase, the less choice there is. On the Polish public procurement market, when the winning bid exceeded half a million złoty, 70.4% of lots drew a single bid (1,519 of 2,157), and 75.6% for software development of that size (155 of 205). For the smallest purchases, with a winning bid below PLN 130,000, the threshold at which BZP publication starts in Poland, it was 41.5% (3,754 of 9,049). In BZP these are usually lots of larger procedures.

Second, who buys matters. Hospitals and other healthcare bodies drew a single bid on 73.9% of their software purchases (1,806 of 2,444), municipalities on 52.3% (2,023 of 3,866), universities and research institutes on 51.4%. Counties and regions do much better: 30.6% (355 of 1,159) and 25.7% (107 of 416).

The trend in custom development is moving the right way. A single bid accounted for 69.0% of development lots in 2023 (156 of 226), 56.1% in 2025 (175 of 312) and 48.7% in the first three quarters of 2026 (148 of 304).

For a European comparison, the EU Single Market Scoreboard puts Poland's single-bidder rate for 2024 at 56%, against an EU average of 28%. Those are above-threshold contracts published in TED, so they should not be added to ours. They do show that the problem does not stop at a threshold.

A single bid is not evidence of wrongdoing. Sometimes the market is narrow, the deadline short, and the specification fits one product. For the buyer the lesson is simpler: if you do not create competition, half the time there will be none.

2. Same scope, prices up to two and a half times apart

When there are at least two bids, the notice gives the lowest and the highest price. The ratio between them shows how differently vendors read the same specification. For licences and off-the-shelf software the median is 1.18, so the highest bid is 18% above the lowest. A gap of at least double appears in 11.9% of tenders (702 of 5,898). For software development and implementation the median is 1.45, and a gap of at least double appears in 34.0% of tenders (136 of 400).

The spread grows with the number of bids, so a fair comparison has to hold the bid count fixed. Then the difference becomes even sharper.

Median ratio of the highest to the lowest bid: for software development 1.14 with two bids, 1.62 with three or four and 2.57 with five or more; for licences 1.08, 1.21 and 1.33

Number of bidsDevelopment: median gapDevelopment: at least 2xLicences: median gapLicences: at least 2x
21.1419.5% (39 of 200)1.087.8% (196 of 2,519)
3–41.6237.8% (45 of 119)1.2112.8% (279 of 2,176)
5 or more2.5764.2% (52 of 81)1.3318.9% (227 of 1,203)

Everyone prices a licence the same way, because it is the same product and the difference is mostly the discount. A system written from scratch is priced according to each vendor's reading of the scope: one prices a simple form, another an accounting integration and a data migration, a third adds a buffer for everything the specification leaves out. Five bids for custom development means a median highest bid 2.57 times the lowest. In our view that is not noise. It is five different projects under one title.

In public tenders the cheapest bid usually wins: in 89.5% of tenders with at least two bids (7,808 of 8,723), and in 83.2% for software development (333 of 400). A private company is under no such obligation, which is just as well, because with a 2.5-fold spread the cheapest bid often simply prices less.

The lesson for a buyer: before you ask several companies for a price, write one scope description they all answer. Compare how the price is settled, not only the final figure. A fixed price for a defined scope and an hourly rate are two different promises, as we explain in fixed price vs hourly.

3. One in five tenders ends without a contract

19.5% of competitive software lots were cancelled (4,364 of 22,331). The most common reasons were no bids at all, 6.7% of all lots, and a best bid above the amount the buyer had set aside, 5.8%. In 4.0% all bids were rejected. This is close to the market as a whole: in the 2025 sample 22.4% of lots were cancelled, 6.5% because of the budget.

A budget cancellation is a clash of two estimates: the buyer assumed one figure, the market priced another. In a private company it looks the same, it just never reaches a bulletin. Before you set a budget, check typical ranges, for example in our piece on how much an MVP costs.

4. A third of upgrade contracts are direct awards, and the reason is the code

This is the strongest result of the study. From 2021 to 2025, 36.7% of software development and maintenance contracts published in BZP were direct awards, without competition (1,551 of 4,230). For licences the figure was 7.8% (985 of 12,657), and across all BZP contracts in the 2025 sample 4.8% (4,299 of 89,100).

Direct awards accounted for 36.7% of software development and maintenance contracts, 55.7% in municipalities, 7.8% of licences and 4.8% of all BZP contracts

Polish law allows a direct award in a few situations. In 93.2% of these contracts (1,445 of 1,551) the buyer relied on Article 214(1)(1) of the Public Procurement Law, meaning that only one contractor can perform the contract. In 68.5% (1,062 of 1,551) the justification says plainly why only that one. The vendor wrote the system, holds the economic copyright to it, has the source code, provides author's supervision or is its producer. A typical sentence from a notice says, in our translation, that the company "is the exclusive owner of the copyright to the System's source code", so only it can make changes and fixes.

So one in four software development and maintenance contracts (25.1%, 1,062 of 4,230) was a direct award justified by rights to the code. In municipalities 55.7% of such contracts were direct awards (445 of 799), and 42.4% cited rights to the code (339 of 799). In hospitals the figures were 49.6% and 36.4% (419 and 307 of 844). Universities and central government do better: 21.3% and 25.8%.

The share of direct awards in software development and maintenance grew until 2024: 27.4% in 2021 (109 of 398), 30.6% in 2022, 38.4% in 2023 and 43.2% in 2024 (416 of 964). It fell to 37.8% in 2025 (429 of 1,134) and to 33.6% in the first three quarters of 2026 (290 of 863).

To be clear: a direct award on grounds of exclusive rights is legal, and often the only sensible option, because nobody else can change a system without its code. That is exactly why the decision is not made when the next amendment is signed. It is made years earlier, at the first purchase, when the contract did not transfer the rights to the code or license someone else to change it. From that day every change, every new regulation and every integration has one possible vendor and one price.

When a private company buys software, the mechanism is identical, just without the duty to publish a justification. Before you sign, check three things in the contract:

  1. Rights to the code. A transfer of the economic rights to the code, with the fields of use listed, or a licence that allows a company other than the author to modify it.
  2. Access to code and data. A source code repository you can reach at any time, not only after a dispute, and data export in an open format.
  3. Hand-over documentation. Installation, database structure and dependencies described well enough for another vendor to take over without the author.

If you buy software with an EU grant, expect the funding body to require competing quotes under the competitiveness rule, much like a tender. Then all three lessons apply directly. More on that in software grants for small businesses.

Regions: where competition is weakest

The table shows the share of software lots that drew a single bid, and the share of software development and maintenance contracts that were direct awards, by the buyer's region. The full data, with every buyer's name, is in the download below, so you can narrow it down to a single municipality or county.

Region (voivodeship)Competitive lots awardedSingle bidDevelopment and maintenance contractsDirect awards
Zachodniopomorskie51060.8%10344.7%
Pomorskie78158.1%19638.8%
Kujawsko-Pomorskie67657.1%15740.8%
Podlaskie50757.0%11535.7%
Dolnośląskie1,28256.1%25930.9%
Warmińsko-Mazurskie72655.9%19741.1%
Łódzkie87753.9%21942.9%
Wielkopolskie1,29452.9%29733.0%
Lubelskie86951.9%17132.7%
Świętokrzyskie45150.3%5664.3%
Małopolskie1,60649.5%36347.7%
Lubuskie35448.3%3613.9%
Opolskie40348.1%9036.7%
Podkarpackie85448.0%17423.6%
Mazowieckie5,11847.9%1,34030.1%
Śląskie1,63647.3%45448.7%

With fewer than a hundred development and maintenance contracts (Świętokrzyskie, Lubuskie, Opolskie), a few contracts between one buyer and its long-term vendor move the result by several points, so those three rows should not be compared with the rest directly.

How we counted

  • Source: the public API of Poland's Public Procurement Bulletin (ezamowienia.gov.pl/mo-board/api/v1/notice), notice type TenderResultNotice, downloaded on 19 October 2026. The API's CPV filter matches the exact code, not the whole branch of the tree, so we queried each of the 450 codes in divisions 48 and 72 separately and removed duplicates.
  • Unit: a contract lot whose main CPV code is in division 48 or 72. When the result for the same lot reappears in a later notice, it is counted once, from the latest notice.
  • Competitive procedure: the basic procedure (tryb podstawowy) in all its variants and the innovation partnership. Direct awards and negotiated procedures without notice are excluded from bid counts, as in UZP's own figures.
  • Number of bids: field 6.1 of the notice, for lots that ended in a contract. One record reporting 146,500 bids was excluded as an entry error.
  • Price spread: the highest bid divided by the lowest (fields 6.3 and 6.2), for lots with at least two bids.
  • Direct awards: the ground under Article 214(1) read from the notice. Rights to the code means a justification that mentions copyright, economic copyright, source code, author's supervision, the author or the producer of the system. A quoted statutory phrase about exclusive rights alone does not count, because buyers often copy the whole text of the law. We checked the precision by hand on a random sample of justifications.
  • Buyer type: from the buyer's name and the buyer category stated in the notice. A municipality is a body whose name starts with "Gmina", "Miasto" or "Urząd Gminy/Miasta"; municipal units (social services, road authorities, shared service centres) are counted separately.
  • Baseline: every award notice from every fifth day of 2025 (73 days, 58,651 notices), processed with the same code.

Every percentage in the text can be reproduced from the downloadable file, and the key ones come with their numerator and denominator in brackets. If a percentage cannot be reproduced, that is an error in the text, not a fact about the market. We worked the same way in our audit of the 97% n8n failure statistic.

Limitations

  • BZP is not the whole market. In Poland, contracts below PLN 130,000 are not published in BZP at all, and contracts above the EU thresholds go to TED. Our figures describe the middle of the market.
  • The buyer chooses the CPV code. Some software purchases sit under hardware codes and some advisory work under programming codes. The groups are only as accurate as the buyer's own description.
  • Contract values contain entry errors. In 125 contracts from 2021–2025 the contract value is about a hundred times the winning bid, usually because the buyer dropped the decimal comma. That is why we do not sum values or report value shares.
  • The notice does not say whether a price is net or gross. A ratio of two prices from the same notice is robust to that; comparing amounts across notices is not.
  • A single bid or a direct award is not an accusation. The study measures competition, not legality. We do not assess any buyer or vendor, which is why no names appear in the text.

Download the data

Public software tenders in Poland, BZP 2021–2026, CSV file in a ZIP archive: 31,090 rows, one per contract lot, with a column dictionary inside (column names are in Polish). Licence: CC BY 4.0: you may use, adapt and publish it, crediting the source as SEVENEDGE, analysis of BZP contract award notices, with a link to this article.

You can check any notice yourself with one request to the public e-Zamówienia API, for example award notices with CPV code 72230000 (custom software development services) from 2025:

curl "https://ezamowienia.gov.pl/mo-board/api/v1/notice?NoticeType=TenderResultNotice&CpvCode=72230000&PublicationDateFrom=2025-01-01T00:00:00Z&PublicationDateTo=2026-01-01T00:00:00Z&PageSize=500"

We have our own interest in this subject and we say so plainly. SEVENEDGE builds software around how a business works, and every contract we sign states that the code and data belong to the client from day one. This article is an analysis of public notices, not an assessment of any buyer, vendor or system.

Frequently asked questions

How many bids do public software tenders in Poland receive?

In Poland's Public Procurement Bulletin (BZP) from 2021 to 2025, half of the software and IT contract lots awarded through a competitive procedure received a single bid: 51.2%, or 9,195 of 17,946. For software development and implementation it was 62.5%. Across all other BZP contracts in a 2025 sample the single-bid rate was 34.0%. Source: SEVENEDGE analysis of contract award notices.

Why do quotes for the same software differ so much?

With licences, every bidder prices the same product, so the median highest bid is only 18% above the lowest. With custom development each vendor prices its own reading of the specification: in a third of tenders with at least two bids (34.0%) the highest bid was at least twice the lowest, and with five or more bids the median gap was 2.57 times. Data: BZP 2021–2025, SEVENEDGE analysis.

How often do Polish public buyers award software upgrades without competition?

From 2021 to 2025, 36.7% of software development and maintenance contracts published in BZP were direct awards without competition (1,551 of 4,230), against 4.8% of all BZP contracts in a 2025 sample. In 68.5% of those direct awards the justification explicitly cited copyright, source code, author's supervision or the vendor being the system's producer. In municipalities 55.7% of such contracts were direct awards. Source: SEVENEDGE analysis.

How do you avoid being locked in to one software vendor?

It is decided by the first purchase contract, not by later change requests. Public tender data shows that once a buyer has no rights to the code, every later change goes to one company without competition. When buying software, put in the contract a transfer of the economic rights to the code, or a licence that lets another company modify it, access to the source code repository, and documentation good enough for another vendor to take over.

How many quotes should a business collect before buying software?

At least three, against one written scope. In public tenders for software development, with three or four bids the median highest bid was already 1.62 times the lowest, and in 37.8% of cases at least double. Without quotes on the same scope you cannot tell whether yours sits at the bottom or the top of that range. Data: BZP 2021–2025, SEVENEDGE analysis.

Where does the data come from and can I download it?

From the public API of Poland's Public Procurement Bulletin (e-Zamówienia), downloaded on 19 October 2026: 31,090 contract lots from 2021 to 2026 whose main CPV code is in division 48 or 72. The full dataset is available as a CSV file under a CC BY 4.0 licence, with a column dictionary.
7SVENAI assistant, not a human

You are chatting with an AI assistant. Replies are generated by artificial intelligence (Cerebras) and may contain mistakes. Please do not share sensitive data in the chat.

Your personal data is controlled by SEVENEDGE ADRIAN HUNIA. We use your chat messages to answer your questions and, if you ask, to book a meeting. Details and your rights: Privacy policy.

Hi! I'm SVEN, the SEVENEDGE AI assistant. We build apps, SaaS and AI automations. How can I help?
SVEN, the SEVENEDGE mascot, looking through a requestSVEN, the SEVENEDGE mascot, thinking over a coffeeSVEN, the SEVENEDGE mascot, working at a laptop
Got an app idea?