The Curriculum / Reader / 02 — Accounts & Procurement
LEVEL 1 · ESSENTIALS · COMPANY TRACK

02 — Accounts & Procurement

This page compiles 5 files from the repository, verbatim, in reading order. The living version: this folder on GitHub.

level-1-essentials/company/02-accounts-procurement/README.md

02 — Accounts & Procurement

The company's AI stack, in order of purchase.

The purchasing order

  1. Enterprise chat platform — ChatGPT Enterprise or Claude Team/Enterprise (usually both)
  2. Grounded search — Perplexity Enterprise
  3. Code assistant — GitHub Copilot Business or Cursor site license
  4. Meeting intelligence — Otter, Fireflies, or Gong
  5. LLM gateway — Portkey / LiteLLM / OpenRouter (see llm-gateway-selection.md)
  6. Vector DB — pgvector to start; Pinecone/Weaviate/Qdrant at scale (see vector-db-selection.md)
  7. Observability — Langfuse / Helicone / LangSmith
  8. Domain-specific — CRM AI (Salesforce Einstein), legal AI (Harvey, Ironclad), etc.

Contract requirements

Every AI vendor contract requires:

Files in this section

Ownership

level-1-essentials/company/02-accounts-procurement/budget-and-billing-model.md

Budget and Billing Model

The unit of accountability

Cost should be attributable to a team, project, or user — never a black hole. Set this up before you scale.

Attribution model

Every AI call carries three tags: - Team (Sales, Support, Engineering, etc.) - Project / workflow (email-triage, lease-generation, etc.) - User (email of the requester)

The LLM gateway enforces this by rejecting untagged calls.

Budget tiers

Start with modest per-team monthly caps, review quarterly.

Team size Suggested monthly AI budget
Individual power user $50–$200
5-person team $500–$1,500
20-person department $3,000–$8,000
100-person org $10,000–$40,000

These are starting points. Actual = seats × usage × tool mix.

Two budget lines per team

  1. Subscriptions (seats × per-seat cost)
  2. API usage (tokens × prices)

Report both. Ratio typically 60–70% subs / 30–40% API for knowledge workers; inverse for engineering teams building AI features.

Cost controls

Chargeback vs shared cost

Two philosophies:

Chargeback: each team's spend hits their budget line - Pros: Motivates efficient use, exposes ROI - Cons: Discourages experimentation

Shared: IT/Finance owns the total budget - Pros: Encourages adoption - Cons: Free-rider problem

Recommendation: Start with shared during 90-day rollout. Move to chargeback once teams have baselined their usage.

ROI tracking

For each department pilot, define: - Hours saved / week (self-reported + spot-checked) - Quality delta (eval scores before vs after) - Employee NPS on the AI experience - Cost per resolved item (ticket, deal, deliverable)

Publish a quarterly ROI report. Kill any workflow with poor ROI.

Cost anti-patterns

Cost optimization playbook

When a budget line is over: 1. Audit top 10 workflows by cost — is model choice appropriate? 2. Turn on prompt caching where supported 3. Cache retrieval results 4. Move batch workloads to batch API tier (50% off on major providers) 5. Swap frontier → workhorse where quality allows 6. Kill low-ROI automations

level-1-essentials/company/02-accounts-procurement/llm-gateway-selection.md

LLM Gateway Selection

An LLM gateway is middleware between your apps and AI providers. It handles: - Routing (which provider / model for which request) - Logging (every prompt + response, redacted) - Cost attribution (per team / project / user) - Rate limiting (protect from runaway spend) - PII redaction (before hitting provider) - Fallback (auto-retry with alternate provider on failure) - Caching (semantic + prompt caching)

Why you need one

Without a gateway: - No cost attribution per team - No unified logs for audits or evals - No PII scrubbing - No fallback when a provider is down - Each team manages their own keys

With a gateway: - Central point of control, observability, and policy

Options

Portkey (SaaS)

LiteLLM (open source, self-hosted)

Vercel AI Gateway

Cloudflare AI Gateway

OpenRouter (as a gateway)

Roll your own

Decision matrix

Requirement Portkey LiteLLM Vercel Cloudflare OpenRouter Roll-your-own
Managed (no ops)
Self-hosted option ⚠️
Cost attribution per team ⚠️ ⚠️ ⚠️
PII redaction ⚠️ ⚠️
Semantic caching
Multi-provider routing
Enterprise SSO Config ⚠️
DPA + zero-retention Ask You control Yes (Vercel) Yes (CF) Ask You control

Recommended defaults

Setup checklist

Regardless of choice: - [ ] Gateway sits between all apps and all providers - [ ] Every request tagged with team, user, purpose - [ ] Costs report daily to owners - [ ] Rate limits per team - [ ] PII redaction before send (regex + optional model-based) - [ ] Full request/response logging (encrypted, with retention policy) - [ ] Fallback rules per model - [ ] Alerting on cost spikes, error rate, 5xx

level-1-essentials/company/02-accounts-procurement/platform-account-order.md

Company Platform Account Order

Procure in this order. Skip to your relevant stack — you don't need everything.

Tier 1 — The core stack (get these first)

1. Enterprise chat platform (pick one primary + one backup)

Recommendation: License one primary for all employees; a second smaller license for a power-user group.

2. Perplexity Enterprise Pro

3. Coding assistant

Give to every engineer. Pick two of these three; do not skimp.

Tier 2 — Domain-specific

4. Image / video / voice (procure as needed)

5. Specialized vertical AI

Tier 3 — Infrastructure

6. LLM Gateway (see llm-gateway-selection.md)

7. Vector database (see vector-db-selection.md)

8. Observability

9. Eval framework

Tier 4 — Optional accelerators

Not on the approved list yet?

Procurement steps per tool

  1. Request Steering Committee approval
  2. Legal reviews DPA and terms
  3. Security reviews SOC 2 report, sub-processor list, deployment model
  4. IT reviews SSO/SCIM, integration surface, admin console
  5. Finance approves budget
  6. Contract signed
  7. Tenant configured with zero-retention, no-training, SSO, appropriate default settings
  8. Added to approved-tool list
  9. Communicated to org via steering committee update

Approved-tool register (fill in)

Tool Tier Owner DPA signed Deployed to Users Cost / month

level-1-essentials/company/02-accounts-procurement/vector-db-selection.md

Vector Database Selection

A vector database stores embeddings for RAG. Pick one based on your existing stack.

Options

pgvector (Postgres extension)

Pinecone

Weaviate

Qdrant

Milvus / Zilliz

Chroma

LanceDB

Decision framework

Ask three questions:

  1. How many vectors?
  2. < 1M: pgvector, Chroma, or anything else — all work
  3. 1M–100M: Pinecone, Weaviate, Qdrant
  4. 100M+: Milvus, Weaviate, Pinecone Enterprise
  5. Continuous growth: managed (Pinecone, Weaviate Cloud)

  6. Where does the data live?

  7. Already in Postgres: pgvector wins
  8. Object storage / data lake: LanceDB, Weaviate
  9. Standalone: Pinecone, Qdrant, Weaviate

  10. What retrieval patterns?

  11. Simple k-NN: any option
  12. Hybrid (semantic + lexical): Weaviate, Qdrant, Pinecone all good
  13. Graph-augmented: Weaviate, Neo4j GraphRAG
  14. Multi-tenant with strict permissions: Weaviate, Pinecone (namespaces)

Recommended defaults

Setup checklist

← 01 — Governance 03 — Company System Prompts →