TenderMatrix / Template
RFP compliance matrix template for Excel and CSV
A blank matrix with the twelve columns a bid desk fills in, a Stats sheet that counts as you type, and a Guide sheet that says what each column is for. It is the same layout the converter exports, so a converted RFP and a hand-built one line up.
Two example rows (EX-001, EX-002) show how Owner and Status are used. Delete them before you start.
What a compliance matrix is
A compliance matrix is a table that lists every requirement in a solicitation next to where the response answers it, who owns that answer and whether it is finished. Its job is simple: show that nothing the buyer asked for was left out, and show it before the deadline rather than after the debrief.
Teams build it in a spreadsheet because everyone can open it and filter it. The hard part is not the table. It is turning a hundred pages of prose into rows without losing the one mandatory sentence on page 87.
The twelve columns
| Column | What goes in it | Who fills it |
|---|---|---|
Req ID | The RFP's own number when it has one (REQ-101, T-04). Otherwise R-001, R-002 in document order. | Extracted or typed |
Section | The clause or heading as the RFP numbers it: 3.2.1, Section 3, Appendix B. | Extracted or typed |
Page | Page of the RFP. Leave blank rather than guess. | Extracted or typed |
Requirement | The requirement, one per row, in the buyer's words. | Extracted or typed |
Type | Mandatory, Desirable, Informational or Question. | Extracted, reviewer confirms |
Owner | The one named person who writes or signs off the answer. | Proposal manager |
Status | Open, Assigned, Drafting, In review, Done or Clarify. | Owner |
Response | Where the answer lives, such as 'Complies, Vol 2 section 4.1', or the answer itself. | Owner |
Notes | Assumptions, repeated wording, a question for the buyer, anything a reviewer should see. | Anyone |
Section title | The heading the row sits under. | Extracted or typed |
Signal | The word or flag that decided the Type: shall, must, M, ends with ?. | Extracted or typed |
Source line | Where to find the row's context in the converted text. Optional if you build by hand. | Extracted |
Using the template
- Download the workbook Take the XLSX for the Stats and Guide sheets, or the CSV if your tool imports CSV. Both hold the same Matrix columns.
- Delete the two example rows EX-001 and EX-002 show how Owner and Status read. Remove them before you add real rows.
- Add one requirement per row Copy each shall, must and should statement into Requirement with its Section and Page. Split a sentence that holds two obligations into two rows.
- Set the Type Mandatory for shall and must, Desirable for should and preferred, Informational for context and optional items, Question where the buyer wants a written answer.
- Assign Owner and Status One owner per row. Use Clarify for anything that needs a question to the buyer before you can answer.
- Run the pre-submission checks The list further down this page takes about ten minutes against the Stats sheet, and it is cheaper than a non-compliant response.
Type and status words
| Type | Use it for |
|---|---|
| Mandatory | A binding obligation on the bidder: shall, must, is required to, or a Mandatory flag in the RFP's own table. Failing it can mean a failed response. |
| Desirable | Should, preferred, would be an advantage. Usually scored rather than pass or fail. |
| Informational | Context, optional items, what the buyer will do, and anything the bidder may do but need not. |
| Question | The buyer wants a written answer: Describe, Explain, or a sentence ending in a question mark. |
| Status | Meaning |
|---|---|
| Open | No owner has started. |
| Assigned | An owner is named. |
| Drafting | The response is being written. |
| In review | Written, waiting for a second reader. |
| Done | Reviewed and placed in the response. |
| Clarify | Needs a question to the buyer, or a written assumption, before it can be answered. |
Checks before you submit
- Every Mandatory row has an Owner and a Response. Filter Type to Mandatory and sort by Response to see the blanks.
- No row is left in Open or Clarify. A Clarify row needs a buyer question in the Q&A window, or an assumption written into the response.
- Response references (volume, section, page) were re-checked after the final layout, because pagination moves.
- If the buyer issued an addendum, rows from the changed sections were re-read.
- The count of rows on the Stats sheet matches the number of rows on the Matrix sheet.
- A second person has read the Mandatory rows against the RFP itself, not against the matrix.
To get the rows without typing them, convert the RFP to Excel.
Template alone, text dump, or template plus conversion
| What you need | Manual highlighting | Generic PDF-to-text | TenderMatrix |
|---|---|---|---|
| Getting the requirements into rows | Copy and paste each one from the PDF. | Paste lines from a text dump, then split by hand. | Convert the RFP and download the same twelve columns pre-filled, then work in this template layout. |
| Type column | Typed by whoever reads the row. | Typed by hand. | Pre-filled from shall, must, should and table flags. A reviewer still confirms. |
| Page and section | Looked up per row. | Not in the text. | Section from headings and clause numbers. Page when page markers exist. |
| Live totals | COUNTIF formulas in the template's Stats sheet. | You build them. | The export's Stats sheet holds totals as of export; open the template if you want formulas. |
| Cost | Free, plus the hours. | Free, plus the hours. | Free: 1 file per day, up to 10 pages, no account. |
Questions bid teams ask
Is the compliance matrix template free?
Yes. Both files download without an account. They hold plain values and standard formulas: no macros, no external links, and nothing that phones home.
Which should I use, the XLSX or the CSV?
The XLSX has three sheets: Matrix with a filter row, Stats with COUNTIF formulas that follow your edits, and Guide with a note on each column. The CSV holds only the Matrix columns, with a UTF-8 byte order mark so Excel shows accents correctly. Use the CSV for tools that import CSV.
Will the template work in Google Sheets or Numbers?
Both files are standard formats and should open in other spreadsheet apps. The Stats formulas are plain COUNTIF and SUM. We have checked the totals in LibreOffice Calc, not in every app, so confirm the counts once after you paste in rows.
How many columns does a compliance matrix need?
The minimum is the requirement, where it came from and who answers it. This template adds Type, Status, Response and two traceability columns (Signal and Source line). Delete what you do not use, but keep Req ID and Section, because they are how a reviewer finds the clause in the RFP.
What is the difference between a compliance matrix and a compliance statement?
A matrix is normally the internal working table of requirements, owners and responses. Some buyers ask for a compliance statement or cross-reference in the submission itself. Follow the response instructions in the RFP for what you must submit, and use the matrix to build it.
Can I add my own columns?
Yes, to the right of Source line. If you later want to paste rows converted by TenderMatrix into the same file, keep the first twelve columns in their current order; the Stats sheet reads Type from column E and Status from column G.
Should Page be the printed page number or the PDF page?
Pick one and write which in the Notes of the first row. Converted rows take the page from markers in the converted text, which can count PDF pages rather than the number printed in the footer, so spot-check one before you cite it.
Can the template be filled from the PDF automatically?
Yes: convert the RFP on the home page and download the XLSX or CSV, which uses these columns. Free: 1 file per day, up to 10 pages, no account. A file over 10 pages is converted up to page 10; Pro converts up to 150 pages per file.
Does the Stats sheet update when I change a Type or Status?
In this template, yes: its formulas count the Matrix sheet. In an XLSX exported from the converter, the Stats sheet holds values as of export, because it is a record of what the conversion found.
Is there a different template for an RFQ or an RFI?
The same columns work. RFQs usually produce fewer, more specific rows (a quantity, a standard, a delivery date), and RFIs produce mostly Question rows. The RFP vs RFQ vs RFI page shows what each looks like.