How to build an RFP compliance matrix (free Excel and CSV template)
Build an RFP compliance matrix that catches every instruction, evaluation factor, form and deadline. Step-by-step method and a free Excel and CSV template.
By Liam Killingback · Founder, FileAI
11 min read
Capture teams that win regularly don't rely on memory. They keep one running list of everything the solicitation asks for, and they don't submit until every pass/fail line on it is done.
That list is a compliance matrix. For a small business with a team of three, it is the cheapest protection you have against the most avoidable way to lose: being found noncompliant on something you could have done.
What a compliance matrix is for
It does three jobs:
- Nothing that can get you rejected gets missed. Every instruction, form, format rule and deadline has a row.
- The work gets shared out. Every row has one owner, so "I thought you were doing that" doesn't happen at 4 p.m. on the due date.
- You can prove you're ready. Before you submit, you filter for anything not done. If the filter comes back empty, you're ready.
Some solicitations ask you to submit a compliance or cross-reference matrix with the proposal. When they do, use the format they specify. Your working matrix is the raw material for it, not a replacement.
Where the requirements live
A federal solicitation in the uniform contract format has sections A to M (FAR 15.204-1), and requirements hide in most of them:
| Where | What to take from it |
|---|---|
| Solicitation form (SF 33, SF 1449) | Due date and time, set-aside, NAICS code, blocks you must complete and sign |
| Section B or the pricing schedule | CLINs, quantities, options, how to price |
| Section C or the PWS | What the work is: the "shall" statements |
| Sections E to H | Inspection, deliveries, contract administration, special requirements such as insurance and reporting |
| Section I and the clause tables | The clauses that apply: most are boilerplate, a few change your costs |
| Section J and the attachments | Wage determinations, forms, questionnaires, data you need for pricing |
| Section K | Representations and certifications |
| Section L | How to write and submit the proposal |
| Section M | How the proposal will be scored |
Commercial solicitations and most state and local RFPs are shorter, but the same questions apply. See Section L vs Section M if you're still getting your bearings on the two sections that matter most.
The columns
The template has ten columns. Keep them in this order so the matrix stays readable when it's printed or shared.
| Column | What goes in it | Example |
|---|---|---|
| ID | A stable reference you never reuse | EX-07 |
| RFP section | The section, paragraph or clause | Section L, 2.1 |
| Page | The PDF page where it appears | 5 |
| Requirement | One requirement, in wording close to the original | Submit three volumes: Technical (limit 15 pages), Past Performance, Price |
| Type | One of the twelve types below | Submission instruction |
| Proposal section | Where your proposal answers it | Volume I, section 2 |
| Evidence / how we comply | What you'll provide, or what your answer will say | Outline built from the Section M factor order |
| Owner | One person | Proposal manager |
| Status | Not started, In progress, Waiting on third party, Done or N/A | In progress |
| Notes | Questions, risks, amendment references | Asked about resumes and the page limit |
The twelve types
The types follow what a proposal manager has to track. They are also the categories FileAI uses when it builds a matrix from your PDFs, so a hand-built matrix and a generated one line up.
What to submit
- Submission instruction. Volumes, page limits, fonts, file types and naming, where and how to submit, proprietary markings.
- Evaluation factor. Each factor and subfactor, its relative importance, the rating method and the basis of award.
- Required form or certification. The SF 33 or SF 1449, representations and certifications, amendment acknowledgments, price sheets, questionnaires.
- Eligibility and registration. SAM registration, set-aside and size standard, licenses, clearances, bonding capacity, mandatory conferences.
- Key date. Questions due, site visit, proposal due date, time and time zone, how long the offer stays valid, period of performance.
- Mandatory requirement. Pass/fail "shall" and "must" statements that don't fit another type.
- Past performance or personnel requirement. Number, recency and relevance of references, key personnel and their qualifications.
- Pricing instruction. Contract type, CLINs, rate tables, wage determinations, how price is evaluated.
If you win
- Clause of note. The few FAR, DFARS or agency clauses that change your cost or risk.
- Insurance or bonding requirement. Each cover or bond, with its amount.
- Reporting or deliverable. What you hand over after award, and when.
- Payment and invoicing. How you invoice and when you're paid.
One type per row. If a sentence is two things, split it. "Hold an active SAM registration and submit the SF 1449 signed by an authorized official" is an Eligibility and registration row and a Required form or certification row. They have different owners and finish at different times, and splitting them keeps your filters honest.
Building it, step by step
Work through the solicitation in this order. It puts the deal-breakers in the matrix first, so even a half-finished matrix is useful.
- Get everything. Download every attachment from the SAM.gov listing or the buyer's portal, including amendments and any posted answers to questions. A solicitation is often a base document plus attachments, and a requirement can sit in any of them. Name files with the solicitation number.
- Set up the file. Copy the template, one workbook per solicitation. Freeze the header row. Keep the drop-down lists for Type and Status so nobody invents a status called "nearly".
- Pass 1: dates and eligibility. Proposal due date, time and time zone. Question deadline. Site visit or pre-proposal conference. Set-aside and NAICS code. SAM registration, which offerors generally need to have when they submit an offer (FAR 4.1102). Anything here that you can't meet ends the bid, so find it first. This is your bid/no-bid pass.
- Pass 2: Section L. One row for every instruction: volumes, page limits, what counts toward them, formatting, file types, file names, delivery method. When an agency accepts electronic proposals, the RFP has to specify the methods it allows (FAR 15.203(c)), and an unlucky choice of file name or format is an easy way to fail on a technicality.
- Pass 3: Section M. One row per factor and subfactor, with its relative importance and the basis of award. Record the statement of how non-price factors compare with price. These rows become the outline of your proposal. Agencies are supposed to evaluate proposals solely on the factors and subfactors in the solicitation (FAR 15.305(a)), so every one of them needs a home in your response.
- Pass 4: forms and certifications. The SF 33 or SF 1449, representations and certifications (Section K, or 52.212-3 for commercial solicitations), past performance questionnaires, price sheets, signed amendments. One row per item, and a row for the signature.
- Pass 5: pricing. CLINs, contract type, options, rate tables, wage determination, assumptions. Note anything the price volume must show.
- Pass 6: the statement of work. Only the shall statements that set a minimum, a deliverable or a limit, plus the volumes and locations. Don't paste the whole PWS into the matrix. For the technical volume you will map the PWS paragraph by paragraph, but that's a writing outline, not a compliance row for each sentence.
- Pass 7: clauses. Don't list the clause table. Pick the few that change your cost or risk, such as the limitation on subcontracting for set-asides (FAR 52.219-14), labor standards and wage determinations, cybersecurity requirements, data rights and the option to extend services. Add insurance, reporting and payment terms.
- Assign owners and statuses. Then hold a short daily check: filter to Not started and Waiting on third party, and chase.
- Log amendments as they arrive. When the government changes its requirements or terms, the contracting officer must amend the solicitation (FAR 15.206(a)), and the amendment, not the original, is what you're being judged against. Add new rows and write the amendment number in RFP section, for example "Amendment 2, item 3 (replaces L.2.4)". Mark the rows it replaces as N/A, with the reason. Acknowledge each amendment as the solicitation tells you to.
- Run the final check. Filter Type to Submission instruction, Required form or certification, Eligibility and registration, Mandatory requirement and Key date, and Status to anything except Done or N/A. You want zero rows before you submit.
Worked example rows
These rows come from a fictional solicitation: Example Agency RFP EX-26-R-0001, a services contract set aside for small businesses. The template includes all 17.
| ID | RFP section | Requirement | Type | Status |
|---|---|---|---|---|
| EX-01 | L, 1.1 | Submit through the portal by 2:00 p.m. Eastern Time on March 11, 2027. No email. | Key date | In progress |
| EX-03 | L, 2.1 | Three volumes; technical limited to 15 pages; pages over the limit not evaluated | Submission instruction | Done |
| EX-05 | M, 1.0 | Best value tradeoff; technical and past performance combined significantly more important than price | Evaluation factor | In progress |
| EX-09 | L, 3.2 | Active SAM.gov registration at submission and at award | Eligibility and registration | Done |
| EX-10 | L, 3.3 | Total small business set-aside; limit on payments to firms that aren't similarly situated | Eligibility and registration | Done |
| EX-13 | B, CLINs | Price all CLINs in the Excel schedule provided; don't change its layout | Pricing instruction | In progress |
Look at EX-09 and EX-10. Both are eligibility and registration rows, but they have different owners, different evidence and different deadlines. The registration is a renewal date to check. The subcontracting limit is a calculation on your team's workshare that you have to be able to defend. In one merged row, the second one would be easy to miss.
Rules that keep a matrix useful
- One requirement per row. Split compound sentences, even when it feels pedantic.
- Keep the buyer's wording. Paraphrasing is where meaning drifts. "Not to exceed 15 pages, including figures" is not the same as "15-page limit".
- Pick one page convention. PDF page numbers (what your viewer shows) and printed page numbers often differ. Use one, and say which in a note.
- Never delete rows. Mark them N/A with a reason. Deleted rows are how you lose track of what an amendment replaced.
- Make the evidence specific. Write a file name or a proposal section, not "yes".
- One owner per row. A row owned by "team" is owned by nobody.
- Mind the time zone. A due date without one is a trap. Write down the zone the solicitation uses, and the time your portal needs.
- Save a dated copy when you submit. If questions come up at a debriefing or a protest, that copy shows what you submitted and why.
Turning the matrix into your proposal
The matrix isn't the proposal, but it drives it.
- Section L rows become your outline and your production checklist, in the order and with the file names the solicitation asks for.
- Section M rows become your page budget. Spend effort in proportion to relative importance. A factor that matters most deserves the best writers and the most review time.
- Form rows become your submission package. Every one should point to a document that's actually in the upload.
- Mandatory rows become your pre-submission check.
- Pricing and clause rows become your price narrative and your assumptions.
Late is late
Proposals that arrive after the deadline are generally not considered. There are narrow exceptions, for example for some electronic submissions that reached the government's initial entry point by 5:00 p.m. one working day before the due date, or a late proposal that is the only one received (FAR 15.208(b)). Don't plan around the exceptions. Plan to submit early, and keep the confirmation.
Download the template
- Download the Excel template. It has drop-down lists for Type and Status, a frozen header row, a filter and a "How to use" sheet.
- Download the CSV. It opens in Excel, Google Sheets and Numbers.
The 17 example rows have IDs starting with EX- and are marked as examples in the Notes column. Delete them before you start.
Get the first draft without the shredding
Passes 1 to 6 are the slow part. FileAI's RFP compliance matrix does them from your PDFs for US$99 per RFP: every instruction, evaluation factor, form, eligibility condition, key date and "shall" statement, each with the quote and the page it came from, in Excel and CSV with columns for your proposal section, owner and status. Upload your RFP and amendments for a free preview first.
If you want to do the shredding yourself, how to shred an RFP walks through the reading order.
Sources
- Federal Acquisition Regulation, 15.204-1 Uniform contract format, 15.203 Requests for proposals, 15.206 Amending the solicitation, 15.208 Submission, modification, revision, and withdrawal of proposals and 15.305 Proposal evaluation
- FAR 4.1102 Policy (SAM registration) and 52.219-14 Limitations on subcontracting
This guide is general information, not legal or procurement advice. Always follow the instructions in the specific solicitation you're responding to. FAR text is current as of the date above; the FAR is being revised, so check acquisition.gov for the version that applies to your solicitation.
Written by
Liam Killingback
Liam Killingback is the founder of FileAI, which he builds and runs from Australia. He writes about reading contracts, tenders and policies, and about checking what AI tells you about them.
About FileAI