CREATE TABLE IF NOT EXISTS obligaciones_contribuyente (
  id              uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  contribuyente_id uuid NOT NULL REFERENCES contribuyentes(entidad_id) ON DELETE CASCADE,
  catalogo_id     text,
  nombre          text NOT NULL,
  fundamento      text,
  frecuencia      text,
  fecha_limite    text,
  categoria       text,
  activa          boolean DEFAULT true,
  es_recomendada  boolean DEFAULT false,
  es_custom       boolean DEFAULT false,
  created_at      timestamptz DEFAULT now()
);

CREATE INDEX IF NOT EXISTS ix_obligaciones_contrib ON obligaciones_contribuyente(contribuyente_id, activa);

INSERT INTO tenant_migrations (scope, version, name)
VALUES ('vertical-contable', 18, '018_obligaciones_contribuyente')
ON CONFLICT (scope, version) DO NOTHING;
