Dashboard

Recent IT tickets

Due soon

Website leads

Clients

Agency tasks

Sales pipeline

IT Tickets

Portal messages

Work completion sheets

Invoices

Square…

Reports

CRM invoices (Agency OS)

Square by month

Subscriptions due this month

Square payments

Database setup

Run SQL in the Supabase SQL Editor. Prefer the master file once; other files are optional patches.

  • CRM/sql/00_agency_os_master.sqlrecommended Agency OS tables (tickets, pipeline, blobs, website plan, invoices)
  • CRM/sql/README.md — explains SQL vs crm_blobs (files/signatures/ticket details)
  • Website Leads need prospects (from CRM/supabase_single_script.sql if missing)
  • Legacy-only SQL under CRM/*.sql root + /CRM/legacy/ — not required for Agency OS

Square powers invoices & IT ticket charges. Client workspace: /CRM/onboard/ · IT tickets/sign-off: /CRM/client/

Square (EM Invoicer)

Set these on Vercel so invoices can create square.link payment URLs:

  • SQUARE_ACCESS_TOKEN — Square Dashboard → Developer → Credentials
  • SQUARE_LOCATION_ID — e.g. LHZPHKGX76TJB
  • SQUARE_ENV — optional sandbox (omit for production)

Local PDF package: em-invoicer/ (ReportLab + square_client.py)


Square MCP (Cursor / agents) — already in .cursor/mcp.json:

{
  "mcpServers": {
    "square": { "url": "https://mcp.squareup.com/mcp" }
  }
}

OAuth on first use. CRM invoices still use REST via SQUARE_ACCESS_TOKEN. See em-invoicer/SQUARE_MCP.md.