-- Constancia de Situación Fiscal: PDF descargado del portal SAT con Playwright
-- + FIEL. Se descarga automáticamente el 1° de cada mes y al primer upload de
-- FIEL del tenant. Retención 5 años (similar a declaraciones_provisionales).
--
-- `datos` es un JSONB con el shape `ConstanciaSituacionFiscal` del prototipo
-- (domicilio, régimenes activos, actividades, obligaciones, sellos). Se
-- guarda completo para poder re-hidratar la UI sin re-parsear el PDF, y
-- comparar entre consultas (detectar cambios de domicilio/régimen).

CREATE TABLE IF NOT EXISTS constancias_situacion_fiscal (
  id             SERIAL PRIMARY KEY,
  rfc            VARCHAR(13) NOT NULL,
  id_cif         VARCHAR(20),
  razon_social   TEXT,
  estatus_padron VARCHAR(30),
  fecha_emision  TEXT,                    -- "GUADALAJARA, JALISCO A 14 DE ABRIL DE 2026" (formato libre del SAT)
  datos          JSONB NOT NULL,          -- shape ConstanciaSituacionFiscal completo
  pdf            BYTEA NOT NULL,
  fecha_consulta TIMESTAMP DEFAULT NOW(),
  created_at     TIMESTAMP DEFAULT NOW()
);

CREATE INDEX IF NOT EXISTS idx_csf_fecha_consulta
  ON constancias_situacion_fiscal(fecha_consulta DESC);
