xpecfy
Proposal evaluation for procurement teams

Your RFP in.
Every proposal checked.

Upload the solicitation and the vendor responses. xpecfy reads every requirement, finds each vendor's answer in their own documents, quotes it, and does the price arithmetic in code. You review one table and make the calls — not five binders.

See an evaluation

PRIVATE BETA · FREE PLAN AT LAUNCH: 3 RUNS / MONTH

RFP + PROPOSALS IN → EVALUATION OUTEVERY ANSWER QUOTEDNO SCORES, NO RANKINGS
The process

Your requirements set the rows. Every vendor answers them.

  1. 01

    Upload the packet as it arrived

    Your RFP plus each vendor's response — technical proposal, price schedule, contract exceptions, certificates. Narrative or questionnaire, any language. No templates to fill in first.

  2. 02

    Run the evaluation

    xpecfy pulls the requirements out of your RFP, then searches every vendor's documents for the answer to each one. Runs are explicit — uploading never starts one.

  3. 03

    Review one table, not five binders

    One row per requirement, one column per vendor. Each cell carries the vendor's own words, how it compares to what you asked, and the document it came from.

  4. 04

    Make the calls, ask the questions

    Accept, waive or reject each gap with a reason. Send vendors one clarification letter. Shortlist with the record of why — ready for whoever signs off.

The output

The evaluation: every answer, against your ask.

Compared values are checked in code, not guessed. Where a term is words rather than numbers, the cell says it is xpecfy's reading. A missing answer and an answer nobody could read look different — so you know which ones to chase.

Managed service desk RFP · Run 02 · 1 RFP + 9 vendor documents · 3 vendors

Requirement · you askedArdenHaldenCorvid
3.1 · MandatoryService hours24/7/365Meets24/7/365arden-technical-proposal.pdfShortMon–Fri 07:00–19:00halden-response.pdfMeets24 × 7, incl. holidayscorvid-proposal.pdf
3.4 · MandatoryP1 response time≤ 30 minBeyond15 minarden-technical-proposal.pdfMeets30 minhalden-response.pdfNot foundSearched 3 documents→ added to clarification letter
4.2 · MandatoryData residencyEU onlyMatches“Hosted in Frankfurt and Dublin”xpecfy's reading · quotedDiffers“EU hosting; US staff may access”xpecfy's reading · quotedConflictEU in proposal, “global” in DPA2 documents disagree
5.1 · Required submissionISO 27001 certificateValid at awardAttachedValid to 2027-03-14arden-iso27001.pdfExpiredExpired 2026-05-02date checked in codeNot attachedClaimed in proposal §2corvid-proposal.pdf
Terms §12Limitation of liabilityYour standard termsNo exceptionNone declared or found ExceptionCap at 12 months' feeshalden-exceptions.pdfUndeclaredCap added in pricing notesnot in exceptions list
Pricing · 36 monthsTotal, re-added in codeLines summed, stated totals checked$386,400Matches stated total$412,800Stated $418,200 · off by $5,400$351,000 / $398,5002 options, kept apart
Meets on or past what you askedShort falls short, expired, or deviates without saying soDiffers a different term, or a declared exceptionConflict the vendor's documents disagreeNot found searched, no answer — not a guess
After the reading

xpecfy finds the gaps. You make the calls.

No scores and no ranking — those are your decisions. xpecfy keeps the record of them, so the shortlist arrives with its reasons attached.

01

Make a call on each gap

Halden · 3.1 Service hours · Short

“Ask whether a 24/7 option exists and at what price.”

Logged · you · 2 Oct 14:20

Accept, clarify, reject or waive. Every call needs a reason and lands in the decision log.

02

Send one letter per vendor

To Corvid · 3 questions · answers due 9 Oct

  1. 3.4 — State your P1 response time and hours of cover.
  2. 4.2 — Your proposal says EU; your DPA says global. Which applies?
  3. 5.1 — Please attach the ISO 27001 certificate you cite in §2.

Every “not found”, conflict and clarify call drafts a question. Record the answer against the requirement when it comes back.

03

Shortlist with the why

  • ✓ArdenAll mandatory met; no exceptions
  • ✓HaldenPending hours and certificate answers
  • ✕CorvidUndeclared liability cap

Who is in, who is out, and the reason for each — traceable back to the quotes behind it.

Why it holds up

Built to be checked, not trusted.

Every answer quoted

Each cell carries the vendor's own words and the document they came from. Nothing paraphrased stands on its own.

Your RFP decides the rows

Requirements come from your document, not from whoever wrote the longest proposal. Extra vendor claims are kept to one side.

Arithmetic in code

Line items are summed by code, never estimated by a model. A stated total that doesn't add up is flagged; a price that can't be computed says why.

Prices keep their conditions

Options, tiers, discounts and conditions stay attached to the price they qualify. Two options are never blended into one number.

Not found is not “not read”

“Searched, no answer” and “that part couldn't be read” are different states. A gap is never filled with a guess.

Requirements change. Your work stays.

Re-run after an addendum or a revised requirement, and your calls stay attached to the requirements they belong to.

Also in xpecfy · spec-sheet mode

No RFP? Compare the datasheets.

For a technical buy without a formal requirements document, drop the vendors' datasheets and get one Scorecard back: every SKU a row, every spec a column, units converted to SI, gaps marked as gaps. When xpecfy isn't sure, it says so in the cell.

Enterprise NVMe SSDs — Q3 buy · Run 04 · 3 documents · 6 SKUs

 AIdentityBPerformanceCPowerDReliabilityECommercial
SKUCapacitySeq. readRandom readSorted · descPower (active)Power (idle)EnduranceWarranty
Kioxia CD8-R 1.92 TBkioxia-cd8-series.pdf1.92 TB7,200 MB/s1,150K IOPS14.0 W5.5 W1.0 DWPD—NewFound instead: "TCG Opal 2.01" — new attribute proposed, pending approval.
Samsung PM9A3 3.84 TBsamsung-pm9a3-datasheet.pdf3.84 TB6,950 MB/s1,100K IOPS8.9 W4.0 W1.3 DWPD5 yr
Samsung PM9A3 1.92 TBsamsung-pm9a3-datasheet.pdf1.92 TB6,900 MB/s1,000K IOPS8.4 W4.0 W1.3 DWPD5 yr
Micron 7450 PRO 3.84 TBmicron-7450-pro-product-brief.pdf3.84 TB6,800 MB/s1,000K IOPS12.0 W5.0 WUncertainLow-confidence mapping — queued for review.1.0 DWPD5 yr
Micron 7450 PRO 1.92 TBmicron-7450-pro-product-brief.pdf1.92 TB6,800 MB/s800K IOPS11.5 W5.0 W1.0 DWPD5 yr
Solidigm D5-P5336 7.68 TBsolidigm-d5-p5336-datasheet.pdf7.68 TB7,000 MB/s750K IOPS12.5 W4.5 W0.3 DWPD5 yr
Uncertain — low-confidence mapping, kept in its column and marked for reviewNew — raw value in a newly minted attribute, not yet normalized
Plans

Start with one proposal. Scale to the whole tender.

Try it on a real RFP

Free

  • 3 runs a month
  • Packets of 2 files: your RFP + one response
  • Full evaluation, quotes included
  • Spec-sheet mode: 2 datasheets
Join the waitlist
For a live tender

Pro

  • 25 runs a month
  • Packets up to 15 files
  • Spec-sheet mode: 10 datasheets
  • Everything in Free
Join the waitlist
One workspace for the evaluation panel

Business

  • 100 runs a month
  • Packets up to 20 files
  • Up to 5 seats, shared history
  • Everything in Pro
Join the waitlist

A run only counts when it produces a result · Failed runs are free · Prices announced at launch

Questions

Asked by buyers, answered plainly.

What do I upload?

Your solicitation — RFP, RFQ, tender or questionnaire — and what each vendor sent back: proposals, price schedules, exception lists, certificates. As they arrived; nothing to reformat or retype first.

Does xpecfy score or rank the vendors?

No. It shows how each answer compares to what you asked, and leaves the judgement to you. If your RFP weights its criteria, the weights are shown for context — never applied to produce a winner.

What does “Not found” mean?

xpecfy searched every document that vendor submitted and found no answer to that requirement. That is a different state from a page it couldn't read, which is flagged on its own. Either can go straight into the clarification letter.

How does it handle pricing?

Each price line keeps its period, option and conditions. Totals are added up in code and checked against the totals the vendor stated. When a total can't be computed — a per-ticket rate with no volume, say — the cell says why instead of inventing a quantity.

And contract exceptions?

Declared exceptions are listed clause by clause against your terms. Deviations tucked into a proposal or a pricing note without being declared are flagged separately, so they don't surface after award.

Can I still compare datasheets?

Yes. Spec-sheet mode takes competing vendor datasheets with no RFP and returns one normalized Scorecard — units converted to SI, every SKU a row, gaps marked as gaps.

Does a failed run count against my quota?

No. A run is only metered when it produces a result. Failed runs cost nothing, and re-runs count like any other run.

Your next RFP evaluation starts with one upload.

One email at launch — nothing else