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 |
|
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:
- 🗄️ Base de datos: Columnas
BIGINT,NUMERIC,INTno soportan caracteres - 🔑 Claves primarias: CNPJ usado como PK en varias tablas
- 🔗 Foreign keys: Relaciones entre tablas
- 📊 Volumen: Millones de registros para migrar
- 💻 Aplicaciones: Validaciones, máscaras, reglas de negocio
- 🧪 Pruebas: Garantizar integridad después de migración
- ⏱️ 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:
-
Inventario de Aplicaciones
- Lista de aplicaciones que usan CNPJ
- Tecnologías (ASP 3.0, VB6, .NET, microservicios)
- Criticidad de cada aplicación
-
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; -
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:
- ❌ Enfoque ad-hoc por proyecto
- ❌ Consultoría manual sin metodología
- ✅ 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:
- 🌎 Expansión: Ofrecer CNPJ Fast para más sectores (bancos, fintechs, retail)
- 📦 Producto: Transformar en herramienta automatizada (SaaS)
- 📚 Capacitación: Capacitar equipos internos de clientes
- 🔄 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