AEC Compliance Matrix: How to Build One for an SF-330 or SOQ

Team Kantiv
October 13, 2026
•
14 mins
Found the content on this page useful? Share it with your team!
A compliance matrix for an AEC pursuit, showing requirement rows decomposed from solicitation language and mapped to response locations

If you're an AEC marketing coordinator or proposal manager, you know that three weeks of proposal work can come down to one missing certification. Your team has the experience, your projects fit, and your statement of qualifications (SOQ) makes a strong case, but if a mandatory requirement buried in an attachment never makes it into the response, your submission could be rejected.

That’s why AEC marketing teams end up spending a significant amount of time on it. One team we spoke with spends roughly an hour building a compliance matrix in Excel each time an RFP arrives. Teams also told us that compliance checks often fall to marketing at the end, when the deadline leaves little time for a thorough review.

A compliance matrix brings those checks into the work of preparing the response. It connects each requirement to an answer, an owner, and a location in the proposal, giving the team a way to identify non-compliant work before submission.

This guide explains what an AEC compliance matrix should contain, how to build one from an RFQ or RFP, and how to use it through drafting and final review.

What is an AEC compliance matrix?

An AEC compliance matrix is a table that maps each solicitation requirement to where it's addressed in your proposal or SOQ. It also names the person responsible and tracks the response's status, so your team can see what's covered and what still needs work. Proposal teams use it to track whether their proposal or statement of qualifications (SOQ) addresses what the agency requested.

For an SF-330 or public agency SOQ, that includes both: the requested qualifications (such as resumes and relevant projects), and submission rules (like page limits, required forms, and file formats). Each separately verifiable obligation gets its own row, allowing a reviewer distinguish between a section that has been written and a requirement that has been fully addressed. For example, a staffing section may name every proposed team member but omit their certifications. Separate rows make the unfinished work visible and give someone responsibility for completing it.

What should a compliance matrix include?

Start with six columns: ID, source, requirement, response location, owner, and status. Together, they give writers enough direction to prepare the response and reviewers enough information to check it.

ColumnWhat it holdsWhy it earns a column
IDA stable reference 1.1, 1.2, 1.3Reviews move faster when people can call out a number instead of describing a requirement from memory.
SourceDocument, section, page, and applicable addendum e.g. Section IV.B, p. 14Anyone who doubts an interpretation can reach the original language in a few seconds.
Requirement, verbatimThe agency’s wording, including conditions and exceptions. e.g. "Provide resumes for all key personnel"Paraphrasing is where misreading begins, so this helps preserve what the response must address
Response locationPlanned section initially; final section and page later e.g. Tab C, p. 6This is the mapping the whole artifact exists to produce. It shows where the answer belongs so reviewers can find it.
OwnerA named individualRequirements assigned to a team tend to sit unclaimed until somebody notices at the review. This establishes who will supply or coordinate the response.
StatusNot started, Drafted, SME reviewed, approved, placed, verified in finalTracks where the answer sits in production, which is what your proposal manager needs to see at a glance.

⚠️Every column you add beyond that is a field your team has to maintain while also writing the response, which can cause the matrix to break down.

💡Define the statuses before assigning rows. “Drafted” means an answer exists. “Verified in final” means a reviewer has checked that the answer meets the requirement in the version being submitted.

💡At kickoff, a response location such as “Staffing section” may be sufficient. Before submission, replace it with a reference that matches the final document. For delivery requirements, use a task or submission receipt instead of a proposal page.

Where to find every requirement

The submission instructions are the obvious place to start, but they may not contain everything the team needs to address. Make sure you review the complete solicitation package, including these parts:

  • Attachments and exhibits: which carry insurance limits, DBE participation forms and non-collusion affidavits that have to be executed and returned with the submission. This will help you identify forms, certifications and supporting documents you need to submit.
  • Evaluation criteria: Make sure you record what the agency will assess and where that response will address it.
  • The sample contract and general conditions: which can contain obligations that apply during contract performance. Flag terms for the appropriate internal reviewer, in case your firm would want to formally take exception to any before signing.
  • The pricing workbook (where applicable): whose tab structure and cell formats function as requirements even in procurements where fee is not evaluated until a later stage. Capture the formatting and submission instructions here.
  • Official question and answer addenda, where an agency revises a requirement without flagging that it has done so, leaving the firms who read it working from different instructions than the firms who did not. This will help you identify clarifications and changes to earlier requirements.
  • Table cells and footnotes, which is where page limits and formatting constraints turn up. Check for limits, conditions, and exceptions that qualify the surrounding text.

The customer’s example of a page limit on page 27 is a useful reminder: read the whole document before treating the matrix as ready for assignments.

Scanned attachments need attention too. Their pages may contain images of text rather than searchable text. If you use automated extraction, confirm that the tool can process those pages and check the extracted requirements against the originals.

As you read, record the source beside each requirement. That reference saves the next reviewer from repeating the search and gives the team a way to resolve questions about interpretation.

Where requirements hide in a public agency solicitation: attachments, the sample contract, the pricing workbook, addenda, scanned exhibits, table cells and footnotes

Assign one person to maintain the source-document list and monitor the agency’s designated communication channel through submission.

How one requirement becomes multiple rows

Once the requirements are collected, check whether each row can be verified independently. Compound instructions often contain several obligations that belong to different contributors.

Consider this illustrative requiremen:

"Provide a staffing plan that identifies key personnel by name, role, and relevant certifications for all labor categories, and confirm availability through the anticipated contract period."

Log that as a single “staffing plan” row, and someone could mark it complete once the organizational chart is drafted. Certifications and availability could still be unanswered.

Decomposed, it holds five distinct obligations, and each one can be satisfied or missed on its own.

Keep the original wording and source reference, then separate the checks:

IDRequirementResponse locationOwner
4.1Provide a staffing plan covering all labor categoriesTab C, p. 4Proposal lead
4.2Identify key personnel by name across those categoriesTab C, org chart p. 5Proposal lead
4.3Identify role for each personTab C, p. 5Technical lead
4.4Identify relevant certifications for identified personnel across those categoriesSection E resumes, Tab DResume coordinator
4.5Confirm availability through the anticipated contract periodTab C, p. 6, availability statementTechnical lead

Row 4.4 is the one that justifies the exercise by exposing a dependency. Certifications live in the resumes rather than the staffing narrative, the same split we describe in the AEC proposal content black hole, so that obligation belongs to a different person and lands in a different tab from the rows around it. One undecomposed row hides that split entirely, and you find the certification requirement during a review, if you find it at all.

The verbs and the conjunctions tell you where to split. Every distinct action the agency asks you to perform becomes a row, which is why "identifies key personnel by name, role, and relevant certifications" gives you three rows rather than one. You can name every person, describe every role, and still omit the certifications.

Placement requirements also need to survive the split. If the agency asks for certifications in the staffing plan, including them only in resumes may leave the instruction unmet.

The aim is a set of checks that can be answered clearly: has the response addressed this obligation, including its conditions?

💡A public agency RFQ usually decomposes into several dozen rows. The number itself matters less than the ratio: if your row count is close to the number of sentences you pulled out of the solicitation, there may be compound requirements still sitting whole.

Applying the matrix to an SF-330

An SF-330 matrix draws on the form’s instructions and the agency’s solicitation. The official SF-330 includes general and section-specific instructions; agencies may supplement them with project limits, page limits and other requirements. Read them together, then create rows for each requirement your team needs to address.

Section F, which covers example projects, shows how this works. Suppose an agency asks for no more than ten projects completed within the last five years, each demonstrating comparable size, scope, and complexity, and requires you to identify your firm’s role. Those illustrative agency requirements produce four separate checks

IDRequirementResponse locationOwner
6.1Provide no more than 10 example projectsSection F, project countProposal lead
6.2Confirm each project was completed within the last five yearsSection F, completion datesProject information lead
6.3Demonstrate how each project is similar in size, scope and complexitySection F, relevance narrativeTechnical lead
6.4Identify the role of the firm on each projectSection F, participating firms and rolesProject information lead

Keep the exact solicitation wording and source reference alongside these checks. The standard SF-330 instructions call for ten projects unless the agency specifies otherwise; the five-year limit in this example is agency-specific.

A project can satisfy three conditions and fail the fourth. Checking each condition against each proposed project helps the team identify unsuitable examples before investing time in the narratives.

Apply the same approach to the other sections:

  • Sections A–D, contract and team information: Check the solicitation details, contact information, proposed firms, and organizational chart for consistency.
  • Section E, resumes: Record the solicitation’s personnel and page requirements. Clearly distinguish individual experience gained at a previous employer from work performed by the current firm.
  • Section G, personnel participation: Check the mapping between key personnel and Section F projects. Section E may include other relevant projects.
  • Section H, additional information: Track the requested information and selection criteria that need a response here.
  • Section I and Part II: Include the applicable signatures and firm information in the review.

Assign an owner to each check and update its response location as the submission develops.

Track the rules that get your submission read

A strong proposal can still be rejected if it misses a mandatory submission requirement. Page limits, required forms, signatures, and delivery deadlines deserve the same ownership and review discipline as the qualifications you’re presenting. Tracking them from the start gives your team time to catch mistakes before submission.

Each applicable requirement below should have its own row in the matrix and a named owner:

  • The page limit, along with a determination of what counts against it, since dividers, covers and the compliance matrix itself sometimes do.
  • Minimum font size, permitted typefaces and margin requirements.
  • Whether pages may be printed on both sides, and whether double-sided printing changes how pages are counted.
  • Tab and divider structure, assembled in the sequence the solicitation specifies.
  • The number of hard copies required, plus any separate electronic copy on physical media.
  • The file naming convention, reproduced exactly as written rather than approximately.
  • Maximum upload size, both per file and across the whole submission.
  • The portal cutoff time, expressed in the agency's time zone rather than the firm's.
  • Wet signatures or notarization where specific forms require them.
  • Acknowledgment of every addendum, signed and included in the submission.
  • Licensure in the state where the project sits, for the firm and for named individuals.
  • Prequalification status, current as of the submission date rather than the date the RFQ was issued.
  • DBE, MBE or WBE participation forms, including any percentage commitment the agency requires.
The mechanical submission requirements that decide whether an AEC submission gets read: page limits, font, tabs, copies, file naming, upload size, portal cutoff, notarization and addenda acknowledgment

Record the actual instruction. “Standard formatting” gives a reviewer little to check. A specific font size or page limit provides a test. Give delivery its own owner and set an internal target ahead of the official cutoff. Keep a final package review on the schedule. A section can be approved while its supporting attachment or signature is still outstanding.

⚠️Allow time for file transfers, portal validation, and confirmation that the required files were received. A two o'clock deadline means the upload has to have finished by two o'clock. Start transferring several hundred megabytes at 1:58 and you’re in trouble.

Keep the matrix current through drafting

The matrix needs attention between kickoff and submission. Row owners update their responses; the proposal manager maintains the overall record and follows up on unassigned work, unresolved questions, and changes.

Some of our customers described the cost of leaving compliance review until the end: marketing becomes responsible for catching omissions when contributors are busy and the deadline is close. So make sure you schedule checks while the team can still respond:

  • At kickoff: Confirm the source package, flag clarification questions, and assign owners.
  • During drafting: Review missing or incomplete responses and agree on the next action.
  • Before submission: Verify each answer in the final document and confirm assembly and delivery requirements.

An incomplete row should lead to a specific conversation. Is the technical information missing? Does the selected project fail a condition? Has someone misunderstood where an answer belongs?

Use the matrix to organize that review, with the original solicitation available alongside it. Open the cited pages and check the content. Page references can move as sections are cut or rearranged.

Record what changed when an addendum arrives

Customer calls also surfaced the difficulty of tracking changes across email and addendum documents. Someone has to determine what changed, which sections are affected, and who needs to act.

First establish whether a communication is an official amendment, a clarification, or a notification directing the team to updated documents. Follow the procurement’s designated process for authoritative instructions.

Then update the affected rows:

  • Record the source and date.
  • Identify requirements added, revised, or withdrawn.
  • Preserve the previous version or change history.
  • Update owners, response locations, and internal deadlines.
  • Flag completed work that needs another review.

Maintain one clearly identified current matrix. Mark retained snapshots as superseded.

Circulate a short change summary with an action: “Addendum 2 reduces the narrative limit to 20 pages. The proposal lead will update the page plan, and section owners need to confirm their revised allocations.”

Recording what changed when an addendum arrives: the source and date, requirements added, revised or withdrawn, updated owners and response locations, and a change summary with an action for each owner

If the change is material, your go/no-go decision is worth revisiting too.

Build a separate checklist if you reach the interview

Qualifications-based selection runs in two stages, so a second set of rules arrives once the first submission is behind you.

Under the Brooks Act and the state statutes modelled on it, agencies shortlist on qualifications before price enters the conversation. You get an RFQ, you submit a statement of qualifications, and a selection committee scores it against published criteria. Make the shortlist and you're invited to interview, and in many procurements a fee proposal follows only once a preferred firm has been identified.

The two sets of rules overlap less than you'd expect. Your SOQ matrix tracks resume formats, project relevance windows, licensure, prequalification status and participation forms. Your interview checklist tracks presentation length, how many people may attend, whether the principal-in-charge has to appear in person, what you may leave behind with the committee, and whether the agency permits any material beyond the presentation itself.

Assign owners and verify these requirements before preparing the presentation. Carry forward relevant information from the pursuit, then check the interview instructions for anything that has changed.

Where AI can help

Building a compliance matrix takes time before anyone starts writing. Checking the finished response adds another demand on an already tight schedule.

AI can help extract requirements, organize them, and compare them with a draft in minutes. But how do you know whether the output is complete? A populated matrix can look ready for use even when it has missed a condition in a footnote or captured only part of a compound requirement.

Becky Ellison of Middle of Six raised this concern on the Shortlist podcast:

Please, please, please, I beg you, do not leave your compliance checks up to AI entirely. Your eagle-eyed person still very much has a job here.

That eagle-eyed person (a.k.a. reviewer) needs a practical way to check the work. And if every finding sends them searching through the entire RFQ, much of the manual effort remains.

For requirements extraction, the solicitation and its official amendments should be the source of truth. For response development, AI should draw on the firm’s project records, personnel qualifications, and supporting material. Findings should include citations and source references that make the relevant passages easy to locate and review.

With that context, reviewers can focus on specific questions: Did the extraction preserve every condition? Does the proposed project meet the required dates and scope? Does the cited response fully answer the instruction?

That review remains necessary. Grounding AI in the right documents and making its sources easy to inspect gives the team a more useful starting point and a clearer way to catch errors.

How Kantiv helps firms stay compliant

Kantiv, formerly Joist AI, brings the solicitation, developing response, and supporting firm information into one pursuit workflow. Kantiv’s AI grounds its work in both the RFQ or RFP and the firm’s knowledge about its people, projects, and past performance (which you can keep current using Tagging Agents). Kantiv can structure requirements, help teams find relevant material for the response, and compare the draft against the source documents, with citations reviewers can inspect. Teams can also initiate compliance checks from Adobe InDesign through Kantiv Companion.

Those tools support the gruntwork around the matrix: identifying requirements, checking the response, and finding gaps for the team to address. The proposal manager and row owners still need to resolve those gaps and verify the final submission.

One customer completed two full SOQs using Kantiv Workspaces, reported becoming more proficient on the second, and then began coaching her own team. For teams getting started, that offers a useful approach: learn the workflow on a live pursuit, then bring that experience into the next one.

Together, Workspaces, firm knowledge, and AI-assisted checks make compliance review part of proposal development rather than a final task under deadline pressure. The missing certification or buried page limit scenario we surfaced earlier can be identified sooner, connected to the right information and owner, and verified while the team still has time to act.

Book a Kantiv demo to see how your team can check a draft against an RFQ and review the findings before submission using the Kantiv platform.

FAQs

How does a compliance matrix relate to a requirements traceability matrix?

A requirements traceability matrix follows a requirement across a whole project lifecycle, from specification through design and into testing and verification. A compliance matrix covers one solicitation and one response, and its job is done at submission. The names get used interchangeably, so check which one a template was built for before you inherit it.

When should you start building the compliance matrix?

At intake, before the go/no-go decision is settled. Reading the solicitation closely enough to build rows is also how you find out what the pursuit will actually cost you, and occasionally it's how you find a requirement that takes you out of the running.

Who owns the compliance matrix?

A single named person, normally the proposal manager or coordinator. Individual rows carry individual owners, but the artifact needs one owner or it falls out of date without anyone noticing, because everyone assumes somebody else is updating it. Where a proposal manager is running six pursuits at once, that workload is the thing to address before any additional columns are considered.

What do I do when two sections contradict each other?

Log both requirements as separate rows, flag the conflict, and convert it into a clarification question submitted before the question deadline. That deadline is one of the more valuable assets in a procurement and most firms let it pass unused. An answer issued through an addendum binds every competing firm equally, which is a considerably better position than proceeding on your own interpretation.

Do I submit it with my proposal?

Only where the solicitation requires it, or explicitly permits it outside the page count. In every other case it stays internal.

FAQ
Frequently Asked Questions
No items found.