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.
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.
PRIVATE BETA · FREE PLAN AT LAUNCH: 3 RUNS / MONTH
You asked“Priority 1 incidents: response within 30 minutes, 24/7.”
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.
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.
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.
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.
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 asked | Arden | Halden | Corvid |
|---|---|---|---|
| 3.1 · MandatoryService hours24/7/365 | Meets24/7/365arden-technical-proposal.pdf | ShortMon–Fri 07:00–19:00halden-response.pdf | Meets24 × 7, incl. holidayscorvid-proposal.pdf |
| 3.4 · MandatoryP1 response time≤ 30 min | Beyond15 minarden-technical-proposal.pdf | Meets30 minhalden-response.pdf | Not foundSearched 3 documents→ added to clarification letter |
| 4.2 · MandatoryData residencyEU only | Matches“Hosted in Frankfurt and Dublin”xpecfy's reading · quoted | Differs“EU hosting; US staff may access”xpecfy's reading · quoted | ConflictEU in proposal, “global” in DPA2 documents disagree |
| 5.1 · Required submissionISO 27001 certificateValid at award | AttachedValid to 2027-03-14arden-iso27001.pdf | ExpiredExpired 2026-05-02date checked in code | Not attachedClaimed in proposal §2corvid-proposal.pdf |
| Terms §12Limitation of liabilityYour standard terms | No exceptionNone declared or found | ExceptionCap at 12 months' feeshalden-exceptions.pdf | UndeclaredCap 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 |
No scores and no ranking — those are your decisions. xpecfy keeps the record of them, so the shortlist arrives with its reasons attached.
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.
To Corvid · 3 questions · answers due 9 Oct
Every “not found”, conflict and clarify call drafts a question. Record the answer against the requirement when it comes back.
Who is in, who is out, and the reason for each — traceable back to the quotes behind it.
Each cell carries the vendor's own words and the document they came from. Nothing paraphrased stands on its own.
Requirements come from your document, not from whoever wrote the longest proposal. Extra vendor claims are kept to one side.
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.
Options, tiers, discounts and conditions stay attached to the price they qualify. Two options are never blended into one number.
“Searched, no answer” and “that part couldn't be read” are different states. A gap is never filled with a guess.
Re-run after an addendum or a revised requirement, and your calls stay attached to the requirements they belong to.
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
| AIdentity | BPerformance | CPower | DReliability | ECommercial | |||
|---|---|---|---|---|---|---|---|
| SKU | Capacity | Seq. read | Random readSorted · desc | Power (active) | Power (idle) | Endurance | Warranty |
| Kioxia CD8-R 1.92 TBkioxia-cd8-series.pdf | 1.92 TB | 7,200 MB/s | 1,150K IOPS | 14.0 W | 5.5 W | 1.0 DWPD | —NewFound instead: "TCG Opal 2.01" — new attribute proposed, pending approval. |
| Samsung PM9A3 3.84 TBsamsung-pm9a3-datasheet.pdf | 3.84 TB | 6,950 MB/s | 1,100K IOPS | 8.9 W | 4.0 W | 1.3 DWPD | 5 yr |
| Samsung PM9A3 1.92 TBsamsung-pm9a3-datasheet.pdf | 1.92 TB | 6,900 MB/s | 1,000K IOPS | 8.4 W | 4.0 W | 1.3 DWPD | 5 yr |
| Micron 7450 PRO 3.84 TBmicron-7450-pro-product-brief.pdf | 3.84 TB | 6,800 MB/s | 1,000K IOPS | 12.0 W | 5.0 WUncertainLow-confidence mapping — queued for review. | 1.0 DWPD | 5 yr |
| Micron 7450 PRO 1.92 TBmicron-7450-pro-product-brief.pdf | 1.92 TB | 6,800 MB/s | 800K IOPS | 11.5 W | 5.0 W | 1.0 DWPD | 5 yr |
| Solidigm D5-P5336 7.68 TBsolidigm-d5-p5336-datasheet.pdf | 7.68 TB | 7,000 MB/s | 750K IOPS | 12.5 W | 4.5 W | 0.3 DWPD | 5 yr |
A run only counts when it produces a result · Failed runs are free · Prices announced at launch
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.
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.
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.
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.
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.
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.
No. A run is only metered when it produces a result. Failed runs cost nothing, and re-runs count like any other run.
One email at launch — nothing else