Help

Section L/M Compliance Matrix

How TenderChamp extracts and tracks contract compliance requirements from federal RFPs.

What is the Section L/M compliance matrix?

Federal solicitations under FAR Part 15 contain Section L — Instructions to Offerors, which lists every "shall," "must," and "will" requirement your proposal must address. Section M — Evaluation Factors — shows how the government scores proposals and how each Section L requirement maps to an evaluation factor.

BidChamp automatically extracts these requirements from your uploaded RFP PDF and builds a structured matrix linking each L.X.Y.Z paragraph to the corresponding M factor and weight. This turns a 75-page RFP into a checklist you can act on in minutes rather than hours.

How extraction works

  • Step 1 — Upload the RFP PDF. Go to the opportunity, click the Documents tab, and upload the solicitation PDF. BidChamp extracts the text automatically.
  • Step 2 — Click "Extract Compliance Matrix". Open the Compliance tab on the opportunity and click the Extract button. BidChamp sends the RFP text through a three-stage AI pipeline: (a) find and extract Section L requirements, (b) find and extract Section M evaluation factors, (c) map L paragraphs to M factors.
  • Step 3 — Wait 60–90 seconds. The extraction runs in the background. When complete, the table populates with all identified requirements. A toast notification confirms how many items were extracted.

What the table shows

  • L Paragraph — the FAR paragraph identifier, e.g., L.4.2.1. Use this as the citation anchor in your proposal text.
  • Requirement — the exact "shall/must/will" instruction text from the RFP.
  • Target Section — which volume or section of your proposal should respond to this requirement (e.g., Technical Approach, Management Plan, Past Performance). BidChamp infers this from the requirement text; you can edit it.
  • M Factor — the evaluation criterion this requirement feeds (e.g., Mission Suitability, Past Performance). Populated from Section M.
  • Weight — the percentage weight of that M factor, e.g., 40%. Higher weight means more scoring impact.
  • Status — whether this requirement has been addressed in your proposal draft (see Status pill meanings below).

Status pill meanings

Each row has a status indicator that updates as you write your proposal:

  • Pending Default state. The requirement has been extracted but your draft has not yet addressed it.
  • Addressed The bid writer found a reference to this L paragraph in your current draft text (e.g., "In compliance with L.4.2.1, our approach..."). Updated automatically after each draft generation.
  • Verified You manually confirmed this requirement is fully addressed. Use this after reviewing the draft against the RFP and confirming compliance.
  • Missed The bid writer generated a draft but did not cite this L paragraph. Review the draft and either regenerate with this requirement in focus, or mark it verified if addressed differently.

Editing rows

  • Fix a misclassified target section: Click the edit icon on any row, update the Target Section field, and save. The bid writer will use the corrected section assignment on the next draft.
  • Mark verified: Click the checkmark icon to set status to Verified. Use this when you have reviewed the proposal text and confirmed the requirement is covered, even if the automatic regex check did not detect a citation.
  • Delete false positives: If the extractor pulled in a requirement that is not actually applicable to your scope (e.g., an instruction that applies only to subcontractors you are not using), click the delete icon to remove that row. Deletions are permanent; re-run the extraction to restore the original set.
  • Add a row: Use the "Add row" button at the bottom of the table to manually add a compliance requirement that the extractor missed.

CSV and DOCX export

Use the Export dropdown in the top-right corner of the compliance table to download the matrix.

  • CSV: Opens in Excel or Google Sheets. Best for Gold-team review, tracking who is assigned to each requirement, and maintaining an external audit trail. We escape =, +, -, @ prefixes before export so Excel does not auto-execute formulas.
  • DOCX: Produces a formatted Word document suitable for attaching to internal review packages or sharing with a proposal manager who prefers a document over a spreadsheet.

Bid writer integration

When compliance items are present, the bid writer automatically includes them in its context. Generated drafts will cite specific L paragraphs inline — for example: "In compliance with L.4.2.1, our technical approach..." This creates an audit trail that makes Gold-team review faster and reduces the risk of an evaluator marking a requirement as unaddressed.

The compliance side-panel in the bid writer view shows a live count of addressed, missed, and pending items. The count updates automatically after each draft section is generated. Click any row in the side-panel to jump to that requirement in the full matrix.

Limitations

Scanned image PDFs return an empty compliance matrix with a clear message. BidChamp extracts text from digitally-created PDFs. If your RFP was created by scanning a paper document and saving as a PDF image, the text extractor cannot read the content and extraction will return zero items. OCR support is planned for a future release (Stage 7B). See accessibility statement — known issues for the full list of current limitations.

Multi-volume RFPs — if the solicitation is split across separate Technical and Cost PDFs, version 1 only processes the first uploaded file. Upload the primary solicitation document (usually the Technical volume or the base RFP) for best results.

Extraction accuracy — the extractor finds requirements correctly in the large majority of standard FAR Part 15 solicitations. It may miss requirements in unusual formatting or non-standard Section L numbering. Always review the extracted matrix before submitting your proposal.

Cost

Each extraction uses your workspace's AI usage budget. The cost is up to 25 cents per RFP at the Haiku model tier (three AI calls of approximately 10,000 tokens each). The extractor stops early and returns partial results if cost approaches the ceiling, to prevent runaway charges on unusually large solicitations.

When to re-run extraction

  • After the agency posts an amendment that modifies Section L or Section M requirements.
  • After you delete false-positive rows and want a fresh extraction to compare against your current matrix.
  • Before final submission review — re-run to confirm no requirements were added in a late amendment.