CarneiroTech/Content/Cases/es/cnpj-fast-process.md

13 KiB

title slug summary client industry timeline role image tags featured order date seo_title seo_description seo_keywords
CNPJ Fast - Proceso de Migración a CNPJ Alfanumérico cnpj-fast-process Creación de metodología estructurada para migración de aplicaciones al nuevo formato de CNPJ alfanumérico brasileño, vendida a aseguradora y empresa de cobranza. Empresa de Consultoría (Interno) Consultoría & Transformación Digital 3 meses (creación del proceso) Solution Architect & Process Designer
Process Design
CNPJ
Migration Strategy
Regulatory Compliance
Consulting
Sales Enablement
true 3 2024-09-01 CNPJ Fast - Metodología de Migración CNPJ Alfanumérico Caso de creación de proceso estructurado para migración a CNPJ alfanumérico brasileño, vendido a aseguradora y empresa de cobranza. CNPJ alfanumérico, migration process, regulatory compliance, consulting, methodology

Descripción General

Con la introducción del CNPJ alfanumérico por la Receita Federal brasileña, las empresas enfrentaban el desafío de adaptar sus aplicaciones legacy que almacenaban CNPJ como campos numéricos (bigint, numeric, int).

Creé CNPJ Fast, una metodología estructurada para evaluar, planificar y ejecutar migraciones de CNPJ en aplicaciones y bases de datos corporativas.

Resultado: Proceso vendido a 2 clientes (aseguradora y empresa de cobranza) antes incluso de la implementación.


Desafío

Cambio Regulatorio Complejo

Contexto regulatorio:

  • Receita Federal brasileña introdujo CNPJ alfanumérico
  • CNPJ deja de ser solo números (14 dígitos)
  • Pasa a aceptar letras y números (formato alfanumérico)

Impacto en las empresas:

-- ANTES: CNPJ numérico
CNPJ BIGINT           -- 12345678000190

-- DESPUÉS: CNPJ alfanumérico
CNPJ VARCHAR(18)      -- 12.ABC.678/0001-90

Problemas identificados:

  1. 🗄️ Base de datos: Columnas BIGINT, NUMERIC, INT no soportan caracteres
  2. 🔑 Claves primarias: CNPJ usado como PK en varias tablas
  3. 🔗 Foreign keys: Relaciones entre tablas
  4. 📊 Volumen: Millones de registros para migrar
  5. 💻 Aplicaciones: Validaciones, máscaras, reglas de negocio
  6. 🧪 Pruebas: Garantizar integridad después de migración
  7. ⏱️ Downtime: Ventanas de mantenimiento limitadas

Sin un proceso estructurado, empresas arriesgaban:

  • Pérdida de datos
  • Inconsistencias en la base de datos
  • Aplicaciones rotas
  • Downtime prolongado

Solución: CNPJ Fast Process

Metodología en 5 Fases

Diseñé un proceso estructurado que podría ser replicado en diferentes clientes:

┌─────────────────────────────────────────────┐
│  FASE 1: DISCOVERY & ASSESSMENT             │
│  - Inventario de aplicaciones               │
│  - Análisis de schemas de base de datos     │
│  - Identificación de tablas impactadas      │
│  - Estimación de volumen de datos           │
└─────────────────────────────────────────────┘
                    ▼
┌─────────────────────────────────────────────┐
│  FASE 2: IMPACT ANALYSIS                    │
│  - Mapeo de dependencias                    │
│  - Análisis de claves primarias/foráneas    │
│  - Identificación de reglas de negocio      │
│  - Evaluación de riesgo                     │
└─────────────────────────────────────────────┘
                    ▼
┌─────────────────────────────────────────────┐
│  FASE 3: MIGRATION PLANNING                 │
│  - Estrategia de migración (phased commits) │
│  - Scripts SQL automatizados                │
│  - Plan de rollback                         │
│  - Ventanas de mantenimiento                │
└─────────────────────────────────────────────┘
                    ▼
┌─────────────────────────────────────────────┐
│  FASE 4: EXECUTION                          │
│  - Migración de datos en lotes              │
│  - Actualización de aplicaciones            │
│  - Pruebas de integración                   │
│  - Validación de integridad                 │
└─────────────────────────────────────────────┘
                    ▼
┌─────────────────────────────────────────────┐
│  FASE 5: VALIDATION & GO-LIVE               │
│  - Pruebas de regresión                     │
│  - Validación de performance                │
│  - Go-live coordinado                       │
│  - Monitoreo post-migración                 │
└─────────────────────────────────────────────┘

Fase 1: Discovery & Assessment

Objetivo: Entender el alcance completo de la migración

Entregables:

  1. Inventario de Aplicaciones

    • Lista de aplicaciones que usan CNPJ
    • Tecnologías (ASP 3.0, VB6, .NET, microservicios)
    • Criticidad de cada aplicación
  2. Análisis de Schema

    -- Script de descubrimiento automático
    SELECT
        t.TABLE_SCHEMA,
        t.TABLE_NAME,
        c.COLUMN_NAME,
        c.DATA_TYPE,
        c.CHARACTER_MAXIMUM_LENGTH
    FROM INFORMATION_SCHEMA.TABLES t
    JOIN INFORMATION_SCHEMA.COLUMNS c
        ON t.TABLE_NAME = c.TABLE_NAME
    WHERE c.COLUMN_NAME LIKE '%CNPJ%'
        AND c.DATA_TYPE IN ('bigint', 'numeric', 'int')
    ORDER BY t.TABLE_SCHEMA, t.TABLE_NAME;
    
  3. Estimación de Volumen

    • Total de registros por tabla
    • Tamaño en GB
    • Tiempo estimado de migración

Ejemplo de output:

Tabla Columna Tipo Actual Registros Criticidad
Clientes CNPJ_Cliente BIGINT 8.000.000 Alta
Proveedores CNPJ_Proveedor NUMERIC(14) 2.500.000 Media
Transacciones CNPJ_Pagador BIGINT 90.000.000 Crítica

Fase 2: Impact Analysis

Objetivo: Mapear todas las dependencias y riesgos

Análisis de claves:

-- Identifica PKs y FKs que involucran CNPJ
SELECT
    fk.name AS FK_Name,
    tp.name AS Parent_Table,
    cp.name AS Parent_Column,
    tr.name AS Referenced_Table,
    cr.name AS Referenced_Column
FROM sys.foreign_keys fk
INNER JOIN sys.tables tp ON fk.parent_object_id = tp.object_id
INNER JOIN sys.foreign_key_columns fkc ON fk.object_id = fkc.constraint_object_id
INNER JOIN sys.columns cp ON fkc.parent_column_id = cp.column_id
    AND fkc.parent_object_id = cp.object_id
INNER JOIN sys.tables tr ON fk.referenced_object_id = tr.object_id
INNER JOIN sys.columns cr ON fkc.referenced_column_id = cr.column_id
    AND fkc.referenced_object_id = cr.object_id
WHERE cp.name LIKE '%CNPJ%' OR cr.name LIKE '%CNPJ%';

Evaluación de Riesgo:

  • 🔴 Alto: Tablas con CNPJ como PK y >10M registros
  • 🟡 Medio: Tablas con FK hacia CNPJ
  • 🟢 Bajo: Tablas sin constraints

Fase 3: Migration Planning

Estrategia de migración gradual:

Para evitar bloqueo de base de datos, diseñé estrategia de phased commits:

-- Estrategia para tablas grandes (>1M registros)

-- 1. Agregar nueva columna VARCHAR
ALTER TABLE Clientes
ADD CNPJ_Cliente_New VARCHAR(18) NULL;

-- 2. Migración en lotes (commits faseados)
DECLARE @BatchSize INT = 100000;
DECLARE @RowsAffected INT = 1;

WHILE @RowsAffected > 0
BEGIN
    UPDATE TOP (@BatchSize) Clientes
    SET CNPJ_Cliente_New = FORMAT(CNPJ_Cliente, '00000000000000')
    WHERE CNPJ_Cliente_New IS NULL;

    SET @RowsAffected = @@ROWCOUNT;
    WAITFOR DELAY '00:00:01'; -- Pausa entre lotes
END;

-- 3. Remover constraints (PKs, FKs)
ALTER TABLE Clientes DROP CONSTRAINT PK_Clientes;

-- 4. Renombrar columnas
EXEC sp_rename 'Clientes.CNPJ_Cliente', 'CNPJ_Cliente_Old', 'COLUMN';
EXEC sp_rename 'Clientes.CNPJ_Cliente_New', 'CNPJ_Cliente', 'COLUMN';

-- 5. Recrear constraints
ALTER TABLE Clientes
ADD CONSTRAINT PK_Clientes PRIMARY KEY (CNPJ_Cliente);

-- 6. Remover columna antigua (tras validación)
ALTER TABLE Clientes DROP COLUMN CNPJ_Cliente_Old;

¿Por qué este enfoque?

  • Evita lock de tabla entera
  • Permite pausar/reanudar migración
  • Minimiza impacto en producción
  • Facilita rollback si es necesario

Fase 4 & 5: Execution y Validation

Checklist de ejecución:

  • Backup completo de la base de datos
  • Ejecutar scripts de migración en lotes
  • Actualizar aplicaciones (validaciones, máscaras)
  • Pruebas de integración
  • Validación de integridad referencial
  • Pruebas de performance
  • Go-live coordinado
  • Monitoreo 24h post-migración

Sales Enablement: Presentación UX

Colaboración con Gestor de UX:

El gestor de UX de la empresa creó una presentación visual impactante del proceso CNPJ Fast:

Contenido de la presentación:

  • 📊 Infografías del proceso de 5 fases
  • 📈 Ejemplos de estimaciones de tiempo/costo
  • 🎯 Casos de uso (aseguradoras, bancos, fintechs)
  • Checklist ejecutivo
  • 📋 Templates de documentación

Resultado: Presentación utilizada por el equipo comercial para prospección.


Resultados e Impacto

Ventas Realizadas

Cliente 1: Aseguradora

  • Stack: ASP 3.0, VB6 components, .NET, microservicios
  • Alcance: Migración completa de aplicaciones legacy
  • Estado: Proyecto vendido (ejecución por otro equipo)
  • Valor: [Confidencial]

Cliente 2: Empresa de Cobranza

  • Alcance: Migración de base de datos (~100M registros)
  • Estado: Proyecto vendido y en ejecución (por mí)
  • Particularidad: Proceso fue reestructurado para atender necesidades específicas
  • Ver caso completo: Migración CNPJ - 100M Registros

Impacto en el Negocio

💰 2 proyectos vendidos antes incluso de la primera ejecución 📈 Proceso replicable para nuevos clientes 🎯 Posicionamiento como especialista en migraciones regulatorias 📚 Base de conocimiento para futuros proyectos similares


Impacto Técnico

🔧 Metodología probada en escenarios reales 📖 Documentación reutilizable (scripts, checklists, templates) 🚀 Aceleración de proyectos similares (de semanas a días)


Tech Stack

SQL Server Migration Strategy Process Design Regulatory Compliance ASP 3.0 VB6 .NET Microservices Batch Processing Database Optimization


Decisiones Clave & Trade-offs

¿Por qué proceso estructurado?

Alternativas:

  1. Enfoque ad-hoc por proyecto
  2. Consultoría manual sin metodología
  3. Proceso replicable y escalable

Justificación:

  • Reduce tiempo de Discovery
  • Estandariza entregas
  • Facilita ventas (presentación lista)
  • Permite ejecución por diferentes equipos

¿Por qué separar en 5 fases?

Beneficios:

  • Cliente puede aprobar fase a fase
  • Permite ajustes durante el proceso
  • Facilita gestión de riesgos
  • Entregas incrementales

Lecciones Aprendidas

1. UX/Presentación Importa para Ventas

La presentación visual hecha por el gestor de UX fue crucial para cerrar los 2 contratos. Proceso técnico bueno + presentación mala = sin ventas.

2. Proceso Vende, No Solo Ejecución

Crear una metodología documentada tiene más valor comercial que solo ofrecer "horas de consultoría".

3. Cada Cliente es Único

El cliente solicitó reestructuración del proceso. Un buen proceso debe ser:

  • Estructurado lo suficiente para ser replicable
  • Flexible lo suficiente para personalizar

4. Colaboración Multidisciplinaria

Trabajar con gestor de UX (presentaciones) + equipo comercial (ventas) + técnico (ejecución) = éxito.


Próximos Pasos

Oportunidades futuras:

  1. 🌎 Expansión: Ofrecer CNPJ Fast para más sectores (bancos, fintechs, retail)
  2. 📦 Producto: Transformar en herramienta automatizada (SaaS)
  3. 📚 Capacitación: Capacitar equipos internos de clientes
  4. 🔄 Evolución: Adaptar proceso para otras migraciones regulatorias (PIX, Open Banking)

Resultado: Metodología estructurada que se convirtió en producto vendible, generando ingresos antes incluso de la primera ejecución técnica.

¿Quiere implementar CNPJ Fast en su empresa? Póngase en contacto