BLOG · GUIDE ·

Answering public tenders with an internal AI: compliance matrix, past answers, deadlines

Eurokommerz, Vienna, since 2006: Private AI/ML · IT Managed Services · Enterprise Training · AI Hardware & Software

IN BRIEF
  • An internal AI reads the procurement documents of a public tender, lists every requirement with its document, page and clause in a compliance matrix, collects the deadlines and drafts answers from your past approved answers; the bid manager checks and signs everything
  • Directive 2014/24/EU sets the frame for tenders above the EU thresholds: at least 35 days for tenders in an open procedure (Article 27), electronic communication and submission (Article 22), and the European Single Procurement Document under Article 59, which the Publications Office says can be reused in later procedures
  • Prices, references, staff CVs and the parts of a bid marked confidential stay on a server you control; Article 21 obliges the contracting authority not to disclose information the bidder designated as confidential
  • The task needs a modest model: Qwen3.8-27B in FP8 (27 billion parameters, 30.9 GB, Apache 2.0) holds 13 requests of 128K tokens on one NVIDIA RTX PRO 6000 Blackwell Server Edition card by our users-per-card rule
  • A two-card server at about 1.8 kW runs tender work on one card and the company assistant on the other, so the bid team shares the machine with other departments

Supplied by Eurokommerz: AI servers, built to order  Request a configuration →

What an internal AI does for a bid team

An internal AI for public tenders reads the procurement documents, extracts every requirement into a compliance matrix with the document, page and clause it comes from, lists the deadlines and the evidence the authority asks for, and drafts answers from the approved texts of your earlier bids. The bid manager checks each line and signs the bid; the AI never submits anything. The model that does this is of moderate size and runs on one card of a company AI server, next to other office work.

We wrote this for owners, managing directors and bid managers of small and mid-sized companies that answer public tenders: builders and installers, facility and cleaning services, IT and engineering service providers, makers of equipment for hospitals, schools and utilities. The first part describes the work in the terms of a bid team. The hardware sits in one section with one table, and the notes for whoever runs your IT come at the end. Legal points are general information on EU law as of October 2026; national procurement law transposes the directive and can differ in detail, and your legal counsel confirms what applies to a given tender.

A tender package arrives as a contract notice, a set of PDFs and spreadsheets, a draft contract and forms. Somewhere in those files are the requirements that decide whether the bid is admitted at all: a certificate to attach, a minimum turnover, a reference of a given size, a form signed by a named person. Finding them all takes time the team needs for the technical answer.

The tender documents in plain words

Directive 2014/24/EU defines a procurement document as any document the contracting authority produces or refers to in order to describe the procurement or the procedure, "including the contract notice", the technical specifications, the proposed conditions of contract, the formats for the documents that bidders submit and any additional documents (Article 2(1)(13)). For tenders above the EU thresholds, the contract notice is published on TED, the EU's Tenders Electronic Daily, as the Your Europe page on public tendering rules states (last checked by the Commission on 13 July 2026).

Each document answers a different question, and the AI extracts different things from each.

DOCUMENTWHAT IT DECIDESWHAT THE AI EXTRACTS
Contract noticelots, procedure, deadlinesdates, lots, submission channel
Exclusion and selectionwhether you may bideach condition with its proof
Technical specificationwhat you must deliverevery must and should, with clause
Award criteriahow bids are scoredcriteria, weights, what earns points
Draft contractterms after awardpenalties, liability, payment, term
Forms and ESPDwhat you signfields to fill, signatures needed

Document types after Directive 2014/24/EU, Article 2(1)(13), consolidated text of 1 January 2024 on EUR-Lex, read 25 October 2026; the third column is our description of the extraction.

Three terms come up in every tender. Exclusion grounds are reasons that bar a company from bidding, such as certain convictions or unpaid taxes. Selection criteria test whether the company is able to do the job: turnover, insurance, references, qualified staff, certificates. Award criteria score the bids that pass; they can be price alone or a mix of price and quality. A bid that misses an exclusion or selection condition fails, however good its price.

The directive also sets the pace. In an open procedure, where any interested company may submit a tender, "the minimum time limit for the receipt of tenders shall be 35 days from the date on which the contract notice was sent" (Article 27(1)). A prior information notice can shorten that to 15 days, and an authority facing urgency may set a limit "not less than 15 days" (Article 27(2) and (3)). Article 22 requires that all communication and information exchange, "in particular electronic submission", use electronic means.

From tender documents to a compliance matrix

A compliance matrix is a table with one line per requirement: what is asked, where it is written, whether it is mandatory, how you meet it, which document proves it, who in the company is responsible and the status of that line. The AI fills the first draft of this table.

The work runs in five steps:

  1. Reading. The documents are converted to text. PDFs exported from a word processor carry a text layer that ordinary software reads; scanned annexes and drawings go through a document model first, as our guide to vision-language models for document AI explains.
  2. Extraction. The model goes through the documents section by section and writes each requirement as one line, with the file name, page and clause number, and marks words such as "shall", "must" and "at least" as mandatory.
  3. Sorting. Lines are sorted into exclusion, selection, technical, award, contract and form, and duplicates across documents are merged with both sources kept.
  4. Matching. For each line the system searches your library of earlier answers, certificates and references and proposes how you meet it, with the source document.
  5. Review. The bid manager goes through the matrix, assigns owners and marks each line as met, open or not met. The decision to bid comes from this table.
REQUIREMENTSOURCETYPEHOW METSTATUS
ISO 9001 certificateNotice, sect. III.1.3selection, mustcertificate valid to 2027met
Three similar referencesNotice, sect. III.1.3selection, musttwo found in libraryopen
Response time 4 hoursSpec. p. 12, 4.2technical, mustservice plan, sect. 3met
Training conceptAward criteria, 2award, 20 %earlier concept, updateopen
Contract penalty clauseDraft contract, 9.1contractfor managementopen

Our example lines for a services tender; real lines carry the exact wording and clause of the documents.

The value of the matrix lies in the source column. A reviewer can open the clause and check the line in seconds, and a requirement the model missed shows up as a clause without a line when the bid manager reads the specification once from start to finish. That final read stays necessary: a model can miss a requirement hidden in a footnote or misread a cross-reference, and only a person who has read the documents can confirm the matrix is complete.

Bid writing: reusing past answers and the ESPD

Most of a bid is not new. Company profile, quality management, data protection, insurance, staff qualifications, service processes and references appear in every tender with small changes. A library of approved answers, one text per topic with its date and owner, saves the team from rewriting them. The AI searches that library for each line of the matrix and drafts an answer in the length and order the tender asks for. The method is retrieval on company documents, explained in our guide to RAG on company data.

The European Single Procurement Document, the ESPD, is the standard self-declaration on exclusion grounds and selection criteria introduced by Article 59 of the directive. The EU Publications Office describes six parts, from the buyer and procedure to the concluding statements, and states that "ESPD documents can be downloaded, edited, and reused in further procurement procedures". The AI can compare a stored ESPD with the requirements of the new tender and list the fields that need a new answer. The certificates behind the declaration still have to be current: the system should check the expiry date of each certificate it proposes and warn when one runs out before the expected award.

Three rules keep reused answers safe. Each answer in the library carries the date of its last approval and is not proposed after a set age. Each draft names the library texts it came from, so the reviewer sees what was reused. And figures such as staff numbers, turnover or response times always come from a current source document, never from an older bid.

We build AI servers to order and set up the models and the document search; send us the documents of a tender you answered recently, and our team proposes a configuration and a pilot for your bids.

Deadlines, questions and the final sign-off

The AI also writes the deadline list: the date for questions to the authority, any site visit, the submission deadline and time, the period for which the bid must remain valid, and the dates stated for award and contract start. Each date comes with the clause it was taken from; where two documents give different dates, that is a question for the authority.

Questions to the authority are a second use. Where the specification is unclear or two documents disagree, the model drafts a short, neutral question with the clause reference. The bid manager decides whether to send it, and sends it through the procurement platform before the deadline for questions given in the documents.

The sign-off stays with people. A person checks each answer against the requirement, the legal or commercial lead reviews the draft contract and its deviations, and the managing director signs. The AI keeps a log of what it extracted and which library texts it used, so the team can see later why an answer reads as it does.

Why tender work belongs on your own server

A bid contains the most sensitive information a company has: its prices and calculation, its reference customers, the CVs of named staff and its plans for the contract. Article 18 of the directive obliges contracting authorities to treat economic operators "equally and without discrimination", and Article 21 obliges them not to disclose information the bidder has designated as confidential, "including, but not limited to, technical or trade secrets". That protects the bid once it has been submitted. Before submission, the bidder decides where its documents go.

With the model on your own server, the price sheet, the references and the CVs never leave hardware you control, and the library of past bids does not sit with an outside provider. CVs and reference contacts contain personal data, so your data-protection officer confirms the retention period for them. Our articles on trade secrets, NDAs and AI tools and local AI and the GDPR cover both sides of that decision. Contract notices and published tender documents are public, so an outside tool for reading them would raise fewer concerns; the matrix becomes sensitive when it is matched against your own documents.

Which model is enough

Reading documents, filling a table and drafting answers from approved texts does not need the largest models. Qwen3.8-27B is a good example of the size that does. Its Hugging Face card lists 27 billion parameters and a context length of 262,144 tokens natively; the FP8 checkpoint holds 30,866,866,928 bytes in its safetensors files, 30.9 GB, under the Apache 2.0 licence, which places no restriction on commercial use. The card states that "thinking mode is on by default and can be disabled per request", which suits extraction, where a direct answer is wanted.

How much memory. By our users-per-card rule, 90 per cent of the memory the driver reports, less 3 GiB per card and less the weights, one 96 GB card keeps 83.04 GiB for weights and cache. The FP8 weights take 28.75 GiB, which leaves 54.29 GiB. Only 16 of the model's 64 layers keep a growing cache; with an FP8 cache a request of 32,768 tokens needs about 1.14 GiB and one of 131,072 tokens about 4.14 GiB, by our arithmetic from the model's configuration file. One card therefore serves 47 requests of 32K tokens or 13 of 128K at the same time, more than a bid team sends at once.

How long a document fits. A long specification read in one request gives the model the whole context, which helps it spot contradictions between sections. A full tender package with annexes and drawings is often longer than any context window; the system then works section by section and through retrieval, and the matrix collects the results. The model card does not list the languages Qwen3.8 supports, so test it with tenders in the languages you bid in; our comparison of open LLMs for European languages lists alternatives.

The server: one machine for several departments

Tender work alone does not keep a GPU busy; a company that bids a few times a month uses the card for some hours per bid. It pays to plan the server for several departments from the start: the bid team, sales with offers, quality with supplier questionnaires, and an assistant for all staff. Our article on AI in customer audits and supplier questionnaires and the guide to AI offer writing for machine and plant builders describe two of those neighbouring tasks.

CONFIGURATIONTENDER WORK ONALSO CARRIESBUILDING NEEDS
2 × RTX PRO 6000 Server Ed.card 1, Qwen3.8-27B: 13 at 128K or 47 at 32Kcard 2: gpt-oss-120b, 39 at 16Kabout 1.8 kW, one 230 V 16 A feed
4 × RTX PRO 6000 Server Ed.one card as abovea pair for 187 at 16K, one spare cardabout 3.4 kW, 32 A or three-phase
Server in an EU data centrethe same modelsrun by our Private AI/ML serviceno server room needed

Reference configurations on our AI servers page; requests by our users-per-card rule with Qwen3.8-27B FP8 (28.75 GiB, FP8 cache) and gpt-oss-120b (60.8 GiB, 16-bit cache, 0.5625 GiB per 16K request), as in our guide to AI in customer audits; power by our estimate (cards, two processors and 15 per cent for the rest), confirmed by a measurement on the delivered system.

Two cards. The entry server on our AI servers page has two NVIDIA RTX PRO 6000 Blackwell Server Edition cards with 96 GB each, two AMD EPYC processors, 384 GB of DDR5 ECC memory and two NVMe drives. One card runs Qwen3.8-27B for tender work, offers and document tasks; the other runs a larger assistant model for everyone in the company. By our estimate it draws about 1.8 kW at the wall, within one 230 V 16 A feed.

Four cards. The inference node adds a tensor-parallel pair, one model spread over two cards, so the assistant serves several hundred staff, as our page on private ChatGPT servers by company size works out. About 3.4 kW by our estimate, which needs a 32 A or three-phase feed.

These servers are loud and warm under load and belong in a server room or a data centre, as our guide to a GPU server in an office explains. Without a server room, our Private AI/ML service runs the platform on dedicated hardware in a Tier-3 data centre in Lithuania, inside the EU. A company without its own IT department finds the division of tasks in our guide to an AI server without an IT department.

Notes for the IT team

  1. One workspace per bid. Store each tender's documents, matrix and drafts in a workspace that only the bid team for that tender can open; the answer library is shared read-only, and only its owners change it.
  2. Structured output. Ask the model for the matrix as JSON against a fixed schema; vLLM accepts a JSON schema with each request, and its documentation states that "the output will follow the JSON schema". The record can still hold a wrong value, so the review step stays.
  3. Thinking mode. For extraction, pass enable_thinking as false in chat_template_kwargs, as the Qwen3.8 card describes; for drafting longer answers, test both settings with your own tenders.
  4. Sources in every line. Keep file name, page and clause for each requirement and the library text ID for each draft, so a reviewer can trace every sentence.
  5. Tender documents are external input. A document from outside can contain text that tries to steer the model; give the extraction step no tools that change data, as our guide to prompt injection and LLM security explains.
  6. Network and log. vLLM's --api-key protects only paths under /v1, /v2, /inference and /cohere (vLLM 0.32.0 security guide), so keep the engine on an internal network behind an LLM gateway with keys and a query log.

What we supply

You can buy this system from us: our team sizes the configuration to your workload and budget and replies within one business day. We build AI servers to order with two, four or eight cards, assembled and tested before delivery, delivered anywhere in the EU on one EU contract and invoice, with manufacturer warranty on every component handled through us; quantities and lead time are confirmed in writing with the quote. Our Private AI/ML service, with our engineering partner Vixen.UNO, sets up the models, the document search, the answer library and access per bid team. If your company buys GPU servers through a tender itself, our guide to a GPU server tender specification covers the buyer's side. Tell us how many tenders you answer and in which languages, and we propose a setup for your bid team.

FAQ

Can AI answer public tenders for us?
AI can read the tender documents, list every requirement in a compliance matrix with its source clause, collect the deadlines and draft answers from your approved texts. A person checks each line, completes what the AI could not find and signs the bid. The AI does not submit anything and does not decide whether to bid.
What is a compliance matrix in a tender?
A table with one line per requirement of the tender: what is asked, where it is written, whether it is mandatory, how your company meets it, which document proves it, who is responsible and the status. The AI drafts it from the procurement documents; the bid manager checks it against the documents.
Can the AI fill in the ESPD?
It can compare a stored ESPD with the new tender's exclusion and selection criteria and list the fields that need a new answer. The EU Publications Office states that ESPD documents can be reused in later procedures. The company remains responsible for every declaration, and the certificates behind it must be current.
Is it safe to use ChatGPT for tender documents and RFP answers?
Published tender documents are public, but your bid contains prices, references, staff CVs and calculation. Whether those may go to an outside service is your decision and that of your data-protection officer. With an internal AI on your own server, they stay on hardware you control.
Which AI server do we need for tenders, and how much power does it draw?
A modest one: tender work runs on one card of a server with two RTX PRO 6000 Server Edition cards, which by our rule holds 13 requests of 128K tokens with Qwen3.8-27B. The second card serves the company assistant. The server draws about 1.8 kW by our estimate, within one 230 V 16 A feed.
Where can we buy an AI server for bid work, and what does it cost?
From us: we build AI servers to order and deliver them anywhere in the EU on one EU contract and invoice. We quote the exact configuration in writing; the price depends on the number of cards, memory, storage and the other tasks the server will carry.

We build AI servers with RTX PRO 6000 Server Edition cards and set up compliance matrices and answer libraries for bid teams. Describe your task in a few sentences and our team will help. We reply within one business day. The first call is free.

Talk to an expert
Talk to an expert

We reply within one business day

By sending this form you agree that we process your details to answer your enquiry; see our privacy policy.

request@eurokommerz.at
Jordangasse 7, 1010 Vienna