-- Tracking de activos fijos dados de baja (vendidos / desechados / otro).
-- Solo aplica a CFDIs tipo I con uso_cfdi I01-I08 cuyo receptor es el
-- contribuyente. Una fila por CFDI dado de baja; revertir = DELETE.
-- La pestaña "Activos Fijos" en /impuestos consulta esta tabla para
-- detener el cómputo de deducción mensual a partir de `fecha_baja`.

CREATE TABLE IF NOT EXISTS activos_fijos_baja (
  id               serial PRIMARY KEY,
  cfdi_id          int NOT NULL REFERENCES cfdis(id) ON DELETE CASCADE,
  fecha_baja       date NOT NULL,
  motivo           varchar(20) NOT NULL CHECK (motivo IN ('venta','desecho','otro')),
  comentario       text,
  dado_de_baja_por uuid NOT NULL,
  created_at       timestamptz DEFAULT now(),
  UNIQUE (cfdi_id)
);

CREATE INDEX IF NOT EXISTS ix_activos_fijos_baja_cfdi ON activos_fijos_baja(cfdi_id);

INSERT INTO tenant_migrations (scope, version, name)
VALUES ('vertical-contable', 37, '037_activos_fijos_baja')
ON CONFLICT (scope, version) DO NOTHING;
