Vendor Contracts

Track vendor MSAs alongside inventory vendors — status, billing frequency, amounts, and dates — with on-demand AI analysis for renewals and overspend. For how match status affects AP bill approval, see the AP Vendor Contracts article.

Key capabilities

  • Contract lifecycle: draft → active → expired / terminated
  • Billing frequencies: weekly, biweekly, monthly, quarterly, annually, or one-time
  • Contracted amount, effective date, and expiration date per vendor
  • Optional terms summary and a link to the original MSA/contract PDF stored securely
  • Auto-expiry awareness: a contract past its expiration date reads as expired even if not yet marked
  • On-demand AI analysis returning up to 10 insight cards classified as renewal, overspend, or terms
  • Severity-ranked insights (info / warning / critical) with a short title and description
  • Status filtering and full create/edit/delete with delete confirmation, paginated over large contract sets

How it works

Contract metadata and your terms summary feed an on-demand AI pass that returns classified, severity-ranked insight cards.

flowchart LR
  contract["Vendor contract (amount, dates, terms)"] --> analyze["Run AI analysis"]
  analyze --> insights["Insight cards (type + severity)"]
  insights --> renewal["Renewal timeline"]
  insights --> overspend["Overspend / cost"]
  insights --> terms["Terms to review"]

How to use it

  1. Open the Contracts tab and click New Contract.
  2. Select the vendor, then enter the contract name, contracted amount, and billing frequency.
  3. Set the effective and expiration dates and the status (draft, active, expired, or terminated).
  4. Optionally paste a terms summary so AI analysis has more to work with.
  5. Click the AI analysis button — insight cards highlight upcoming renewals, overspend, and terms to review.
  6. Filter by status to separate active contracts from expiring or terminated ones at a glance.

Pro tips

  • Run AI analysis ahead of renewal season — it surfaces expiration timing and cost concerns from the contracts on file.
  • Keep the terms summary populated; the AI uses it alongside metadata, so richer summaries yield sharper insights.
  • Set the expiration date even on contracts you'll mark active — a past expiration date makes a contract read as expired automatically, which keeps lists honest.
  • Store contracted amounts as the agreed amount per billing period, so frequency and amount together describe the real run-rate.
  • For how "Matched", "Over Contract", or "Needs Review" statuses affect bill approval routing, jump to the AP Vendor Contracts article.

In-depth guide

Derived expiry

A contract is treated as expired when its status is marked as expired, or its expiration date is before today. This ensures that any active contract that has lapsed automatically displays as expired without manual edits. Use this to drive renewal triage rather than relying solely on the stored status.

AI contract analysis

Triggering analysis sends your contract metadata (vendor, dates, amount, status) to a procurement-advisor model that returns up to 10 insight cards:

Insight Field Description / Notes
Type Renewal, Overspend, or Terms
Severity Informational, Warning, or Critical
Title Short headline (up to 80 characters)
Description Detailed description (up to 240 characters)
Contract The specific contract the insight refers to

Analysis is on-demand (not scheduled) and read-only — it never changes contract records. With no contracts on file it returns an empty insight set.

Relationship to AP routing

  • Shared records: these are the same vendor contracts the Accounts Payable approval workflow reads when it computes a bill's contract-match status (Matched, Over Contract, or Needs Review).
  • Why it matters: keeping amounts, frequency, and the term window current here is what lets AP auto-approve in-contract bills and escalate the rest.
  • Division of labor: the inventory tab focuses on tracking and AI review; the routing behavior is documented in the AP Vendor Contracts and AP Approval Workflow articles.

Edge cases

  • Contracts are scoped per business; fetching one that isn't yours returns not-found.
  • Deleting a contract is guarded by a confirmation step and removes it from analysis going forward.