Este reporte es el inventario completo de los campos que hoy existen para Startups e ICGs, organizados tal como aparecen (o aparecerán) en el formulario detallado. La Fase 1 de LAP-256 solo declara estos campos en un único archivo por entidad — nada en producción cambia todavía. Las fases siguientes van a regenerar formularios, perfiles y score desde esta fuente única, para que no se vuelva a desincronizar.
Startup / PyME
65 campos totales · Suma de pesos de score: 100 pts
Panel 1 · Identidad legal · 9 campos · 5 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Nombre comercialcompanyName |
string |
Sí | ✓ | ✓ | ✓ | 1 | |
País de origencountry |
string |
Sí | ✓ | ✓ | ✓ | 1 | Se solapa con originCountry en la BD — `country` es el canónico (NOT NULL). `origin_country` es legacy usado por algunas UIs. En Fase posterior unificar. |
Ciudadcity |
string |
Sí | — | ✓ | ✓ | — | NOT NULL en BD pero el FS actualmente inserta "" (string vacío) porque no se pide. No cuenta para score. |
País de origen (legacy)originCountry |
string |
No | — | ✓ | — | 1 | Campo usado por el FD actual (profileScore.ts lo cuenta). Duplicado con `country`. Consolidar en Fase 2. |
Región de origenoriginRegion |
string |
No | — | — | — | — | Derivable de country via tabla catalogo_pais. No se pide explícitamente. |
Domicilio fiscalfiscalDomicile |
string |
No | — | ✓ | ✓ | 2 | Prisma tiene `fiscal_domicile` (string). El FD actual persiste además `fiscal_domicile_countries` (array), pero esa columna NO está en schema.prisma — es deuda técnica. |
Consentimiento de emailemailConsent |
boolean |
Sí | ✓ | ✓ | — | — | DEFAULT false. Flag de consentimiento, no cuenta para score. |
Email de contacto de la empresacontactEmail |
email |
Sí | ✓ | ✓ | ✓ | — | NOT NULL. Obligatorio para el registro, por eso no cuenta al score (siempre estará lleno). |
Teléfono de contactocontactPhone |
phone |
No | — | ✓ | — | — |
Panel 2 · Perfil de la compañía · 11 campos · 20 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Tipo de empresacompanyType |
enum |
Sí | ✓ | ✓ | ✓ | 2 | |
¿Es empresa tech?isTechBased |
boolean |
No | ✓ | ✓ | ✓ | 2 | |
Industria principalindustryId |
uuid |
No | — | — | — | — | Legacy: industria principal singular. Hoy el form usa `StartupIndustry` (many-to-many). Mantener por retrocompatibilidad. |
Sub-industria principalsubIndustryId |
uuid |
No | — | — | — | — | Legacy. Se consolida en Fase 2. |
Rango de facturación anualrevenueRange |
enum |
No | ✓ | ✓ | ✓ | 3 | El FD maneja `annual_revenue_by_year` (jsonb) fuera del schema Prisma. Este campo es el rango consolidado. |
Año del rango de facturaciónrevenueYear |
number |
No | — | ✓ | ✓ | — | Año asociado al rango. Opcional. |
Nivel BRL (Business Readiness Level)brlLevel |
string |
No | — | ✓ | ✓ | 3.5 | |
Nivel TRL (Technology Readiness Level)trlLevel |
string |
No | — | ✓ | ✓ | 3.5 | Solo aplica si isTechBased === true. |
Acerca de la compañíaaboutCompany |
text |
No | — | ✓ | ✓ | — | Descripción libre larga mostrada en el perfil. No cuenta en score actual (profileScore.ts no lo incluye); puede agregarse en Fase 2. |
Industrias seleccionadasindustries |
array<object> |
No | ✓ | ✓ | ✓ | 3 | Many-to-many: cada fila tiene industryId/industryName/subIndustryId/subIndustryName. UI lo maneja como picker de industria+sub-industria. |
Países de operaciónoperatingCountries |
array<object> |
No | ✓ | ✓ | ✓ | 3 | Cada fila tiene country+region. UI lo maneja como multi-select. |
Panel 3 · Nivel de madurez · 2 campos · 15 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Nivel CRL (Commercial Readiness Level)crlLevel |
string |
No | — | ✓ | ✓ | 7.5 | |
Nivel TMRL (Team Maturity Readiness Level)tmrlLevel |
string |
No | — | ✓ | ✓ | 7.5 | En el UI actual aparece dentro del Panel 6 Equipo; lo asignamos al stepper 3 (Nivel de madurez) para alinear con el modelo de score. |
Panel 4 · Tesis de inversión · 11 campos · 25 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Fuentes de inversióninvestmentSources |
array<string> |
No | — | ✓ | ✓ | 2 | |
Financiamiento actualfinancing |
string |
No | — | ✓ | ✓ | — | Campo texto libre legacy. Superseded por `financing_sources`. |
Fuentes de financiamiento (deuda)financingSources |
array<string> |
No | — | ✓ | ✓ | 2 | |
Ticket de inversión buscadoinvestmentTicket |
string |
No | — | ✓ | ✓ | 2 | |
Propósito de la inversióninvestmentPurpose |
string |
No | — | ✓ | ✓ | 2 | En BD se guarda como string JSON serializado (ver registro-startup-detallado/+page.server.ts). |
Inversiones previaspreviousInvestments |
string |
No | — | ✓ | ✓ | 1.5 | En BD se guarda como string JSON serializado. |
Rondas de inversión previaspreviousRounds |
string |
No | — | ✓ | ✓ | 1.5 | En BD se guarda como string JSON serializado. |
Capital total levantadototalCapitalRaised |
string |
No | — | ✓ | ✓ | 2 | |
Pitch deckpitchDeckUrl |
url |
No | — | ✓ | ✓ | 10 | Binario en score: 10 pts si tiene pitch deck, 0 si no (replicando profileScore.ts pC_score). |
Consentimiento para compartir pitch deckpitchDeckConsent |
boolean |
Sí | — | ✓ | — | — | DEFAULT false. No cuenta para score (es un flag de consentimiento, no contenido). |
Necesidades del modelo de negociobusinessNeeds |
array<object> |
No | ✓ | ✓ | ✓ | 2 | En profileScore.ts pA_core vale 10 pts compartidos con investmentSources/ticket/purpose; acá lo repartimos entre los 5 campos del subpanel A. |
Panel 5 · Modelo de Negocio · 8 campos · 15 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
High concept pitchhighConceptPitch |
text |
No | — | ✓ | ✓ | 2.5 | |
Perfil de cliente ideal (ICP)icp |
text |
No | — | ✓ | ✓ | 2.5 | |
Perfil de cliente ideal (legacy)idealClientProfile |
text |
No | — | — | — | — | Duplicado con `icp`. Mantener por retrocompatibilidad; consolidar en Fase 2. |
Problema que resuelveproblemStatement |
text |
No | — | ✓ | ✓ | 2.5 | |
Problema a resolver (legacy)problemToSolve |
text |
No | — | — | — | — | Duplicado con `problem_statement`. Mantener por retrocompatibilidad. |
Solución propuestasolution |
text |
No | — | ✓ | ✓ | 2.5 | |
Modelo de negocio (legacy)businessModel |
text |
No | — | — | — | — | Superseded por `business_model_description`. Mantener por retrocompatibilidad. |
Descripción del modelo de negociobusinessModelDescription |
text |
No | — | ✓ | ✓ | 5 |
Panel 6 · Equipo · 13 campos · 15 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Tamaño del equipoteamSize |
number |
No | — | ✓ | ✓ | — | profileScore.ts no cuenta teamSize (usa teamComposition). Mantener por retrocompatibilidad. |
Composición del equipoteamComposition |
string |
No | — | ✓ | ✓ | 0.75 | En BD se guarda como string JSON serializado (array de objetos con rol/cantidad). |
Consentimiento del equipoteamConsent |
boolean |
Sí | — | ✓ | — | 0.75 | DEFAULT false. Flag de consentimiento; en profileScore.ts SI cuenta al score (pTeamA). |
Equipo verificadoteamVerified |
boolean |
Sí | — | — | — | — | Flag operativo (admin). DEFAULT false. |
Nombre del CEOceoFirstName |
string |
No | ✓ | ✓ | ✓ | 0.3 | |
Apellido del CEOceoLastName |
string |
No | ✓ | ✓ | ✓ | 0.3 | |
Género del CEOceoGender |
string |
No | ✓ | ✓ | — | 0.3 | |
LinkedIn del CEOceoLinkedIn |
url |
No | ✓ | ✓ | ✓ | 0.3 | |
Email del CEOceoEmail |
email |
No | ✓ | ✓ | — | 0.3 | |
Teléfono del CEOceoPhone |
phone |
No | ✓ | ✓ | — | — | Dato privado, no cuenta para score (no es señal de "perfil completo" visible). |
¿El CEO es fundador?ceoIsFounder |
boolean |
No | ✓ | ✓ | — | — | |
Consentimiento de contacto del CEOceoContactConsent |
boolean |
Sí | — | ✓ | — | — | DEFAULT false. Flag de consentimiento. |
Fundadores y equipo directivofounders |
array<object> |
No | — | ✓ | ✓ | 12 | Hasta N fundadores. profileScore.ts asigna 12 pts a miembros adicionales al CEO (el CEO ya se cuenta en ceo* scalar fields). |
Panel 7 · Presencia digital · 9 campos · 5 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Sitio webwebsite |
url |
No | ✓ | ✓ | ✓ | 0.7 | |
LinkedInlinkedIn |
url |
No | ✓ | ✓ | ✓ | 0.7 | |
Instagraminstagram |
url |
No | ✓ | ✓ | ✓ | 0.7 | |
Facebookfacebook |
url |
No | ✓ | ✓ | ✓ | 0.7 | |
Twitter / Xtwitter |
url |
No | — | ✓ | ✓ | 0.2 | En el FS actual `twitter` espejo de `tiktok` por retrocompatibilidad (ver registro-startup/+page.server.ts). |
YouTubeyoutube |
url |
No | — | ✓ | ✓ | 0.5 | |
TikToktiktok |
url |
No | ✓ | ✓ | ✓ | 0.5 | |
LogologoUrl |
url |
No | ✓ | ✓ | ✓ | 1 | |
Redes sociales (extendido)socialMedia |
array<object> |
No | ✓ | ✓ | ✓ | — | Tabla extendida platform/url. Duplicada con columnas escalares linkedin/instagram/facebook/twitter/youtube/tiktok en Startup — consolidar en Fase 2. Peso cubierto en las columnas escalares. |
Campos sin panel (sistema / auxiliares) · 2 campos · 0 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Usuario registranteregisteredById |
uuid |
Sí | — | — | — | — | FK a profiles.id. Se setea server-side desde la sesión auth; no se muestra al usuario. |
Estado del registrostatus |
enum |
Sí | — | — | — | — | Gestionado por admins. DEFAULT DRAFT en BD. |
ICG (Inversionista · Corporativo · Gestor)
67 campos totales · Suma de pesos de score: 100 pts
Panel 1 · Datos básicos · 17 campos · 10 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Tipo de ICG (enum)icgType |
enum |
Sí | — | ✓ | ✓ | — | Derivado de icgRoleCategory via categoryToIcgType (ver registro-icg/+page.server.ts). No cuenta al score (es computado). |
Rol en el ecosistemaicgRole |
string |
No | — | ✓ | ✓ | 1.5 | |
Categoría del rolicgRoleCategory |
string |
No | — | ✓ | ✓ | — | En profileScore ICG aparece como fallback de icgRole (p1Raw[0] = icgRole ?? icgRoleCategory). El peso lo lleva icgRole. |
Nombre de la organizaciónorganizationName |
string |
Sí | — | ✓ | ✓ | 1 | Obligatorio salvo para Inversionista Individual (donde se derivará de investorFirst+investorLast). |
Nombre del inversionistainvestorFirstName |
string |
No | — | ✓ | ✓ | 0.5 | Solo aplica cuando icgRoleCategory === "Inversionista Individual". |
Apellido del inversionistainvestorLastName |
string |
No | — | ✓ | ✓ | 0.5 | Solo aplica cuando icgRoleCategory === "Inversionista Individual". |
Presentación / acerca del ICGpresentation |
text |
No | — | ✓ | ✓ | 1.5 | |
País de origencountry |
string |
Sí | — | ✓ | ✓ | 1.5 | |
Ciudadcity |
string |
Sí | — | ✓ | ✓ | — | NOT NULL en BD pero el submit actualmente inserta "" (string vacío). No cuenta al score. |
Países de operaciónoperatingCountries |
array<string> |
No | — | ✓ | ✓ | 1.5 | DEFAULT []. La tabla auxiliar IcgOperatingCountry duplica este dato con region — consolidar en Fase 2. |
Industrias de interés (Panel 1)interestIndustries |
array<string> |
No | — | ✓ | ✓ | 2 | DEFAULT []. En BD se guardan como array de strings JSON-serializados (ver submit action). Duplicado semánticamente con IcgIndustry. |
Correo corporativo / de contactocontactEmail |
email |
Sí | — | ✓ | ✓ | — | NOT NULL. Obligatorio para registro, no cuenta al score (siempre lleno). |
Consentimiento de emailemailConsent |
boolean |
Sí | — | ✓ | — | — | DEFAULT false. Flag de consentimiento. |
Términos y condiciones aceptadostermsAccepted |
boolean |
Sí | — | ✓ | — | — | DEFAULT false. Requerido al crear la cuenta. |
Política de privacidad aceptadaprivacyAccepted |
boolean |
Sí | — | ✓ | — | — | DEFAULT false. Requerido al crear la cuenta. |
Industrias ICG (tabla aux many-to-many)icgIndustries |
array<object> |
No | — | — | — | — | Duplicada con Icg.interest_industries (scalar array). Mantener peso en interest_industries (columna principal). Consolidar en Fase 2. |
Países de operación ICG (tabla aux)icgOperatingCountries |
array<object> |
No | — | — | — | — | Duplicada con Icg.operating_countries. Consolidar en Fase 2. |
Panel 2 · Datos de contacto · 7 campos · 10 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Teléfono de contactocontactPhone |
phone |
No | — | ✓ | — | 1.5 | Asignado al Panel 2 (Datos de contacto) aunque el schema legacy lo tenía suelto en el root; el formulario actual solo lo pide una vez dentro del panel de contacto. |
Nombre del contactocontactFirstName |
string |
No | — | ✓ | ✓ | 2 | |
Apellido del contactocontactLastName |
string |
No | — | ✓ | ✓ | 2 | |
Posición / cargo del contactocontactPosition |
string |
No | — | ✓ | ✓ | 1.5 | |
Correo personal del contactocontactPersonalEmail |
email |
No | — | ✓ | — | 1.5 | profileScore ICG cuenta contactEmail en P2; acá usamos el personal_email como el "email del contacto" distinto del corporativo. |
LinkedIn del contactocontactLinkedIn |
url |
No | — | ✓ | ✓ | 1.5 | |
Usuario vinculado al contactocontactUserId |
uuid |
No | — | ✓ | — | — | FK resuelta server-side cuando contactPersonalEmail matchea (o se crea) un Profile. |
Panel 3 · Propuesta de valor / Tesis · 9 campos · 30 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Propuesta de valorvaluePropositionP4 |
jsonb |
No | — | ✓ | ✓ | 10 | DEFAULT "[]". Array de objetos { categoryId, subcategoryId, label }. El campo p3 pesa más porque define condicionalmente qué otros campos de P3 aparecen. |
Fuentes de inversión (P3)investmentSourcesP4 |
array<string> |
No | — | ✓ | ✓ | 5 | DEFAULT []. Visible condicionalmente según valuePropositionP4. |
Rondas de inversión de interésinvestmentRounds |
array<string> |
No | — | ✓ | ✓ | 5 | DEFAULT []. Visible condicionalmente. |
Fuentes de financiamiento por deudadebtFinancingSources |
array<string> |
No | — | ✓ | ✓ | 2.5 | DEFAULT []. Visible solo si valuePropositionP4 incluye "financiamiento-deuda". |
Valor del ticketticketValue |
array<string> |
No | — | ✓ | ✓ | 5 | DEFAULT []. Visible condicionalmente. |
¿Tiene convocatoria activa?hasActiveCall |
boolean |
Sí | — | ✓ | ✓ | 2.5 | DEFAULT false. |
Fecha de cierre de la convocatoriacallClosingDate |
date |
No | — | ✓ | ✓ | — | Solo si hasActiveCall=true y isPermanentCall=false. No cuenta para score. |
¿Convocatoria permanente?isPermanentCall |
boolean |
Sí | — | ✓ | ✓ | — | DEFAULT false. Subordinado a hasActiveCall. |
Procesos activos (legacy)activeProcesses |
text |
No | — | — | — | — | Legacy. No usado en formulario actual. |
Panel 4 · Empresas de interés · 9 campos · 30 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Tipos de empresa de interésselectedCompanyTypes |
array<string> |
No | — | ✓ | ✓ | 5 | DEFAULT []. Controla visibilidad de trlLevels/crlLevels (solo Startup/Scaleup). |
Industrias de interés (P4)interestIndustriesP3 |
array<string> |
No | — | ✓ | ✓ | 5 | DEFAULT []. Array de subName strings. Duplica semánticamente interestIndustries/icgIndustries; consolidar en Fase 2. |
Niveles BRL de interésbrlLevels |
array<string> |
No | — | ✓ | ✓ | 4 | DEFAULT []. |
Niveles TRL de interéstrlLevels |
array<string> |
No | — | ✓ | ✓ | 4 | DEFAULT []. Solo aplica para Startup/Scaleup. |
Niveles CRL de interéscrlLevels |
array<string> |
No | — | ✓ | ✓ | 4 | DEFAULT []. Solo aplica para Startup/Scaleup. |
Rangos de facturación de interésrevenueRange |
array<string> |
No | — | ✓ | ✓ | 3 | DEFAULT []. Columna BD es `revenue_range_icg` (el sufijo _icg evita colisión con Startup.revenue_range). |
Composición de equipo de interésteamCompositionP3 |
array<string> |
No | — | ✓ | ✓ | 3 | DEFAULT []. |
Constitución legal requeridalegalConstitution |
string |
No | — | ✓ | ✓ | 1 | |
Países de domicilio fiscal aceptadosfiscalCountries |
array<string> |
No | — | ✓ | ✓ | 1 | DEFAULT []. |
Panel 5 · Necesidades estratégicas · 4 campos · 15 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Necesidades estratégicasstrategicNeedsP5 |
jsonb |
No | — | ✓ | ✓ | 8 | DEFAULT "[]". Array de objetos { categoryId, subcategoryId, label }. |
Aliado idealidealAllyP5 |
jsonb |
No | — | ✓ | ✓ | 6 | DEFAULT "[]". Array de objetos { label, ... }. |
Otra necesidad estratégica (texto libre)otherStrategicNeed |
string |
No | — | ✓ | ✓ | 1 | Solo aparece si strategicNeedsP5 incluye subcategoryId === "otra". Máx 100 chars. |
Necesidades estratégicas (tabla aux)strategicNeedsAux |
array<object> |
No | — | — | — | — | 'Tabla auxiliar con categoría/subcategoría. Legacy respecto de strategic_needs_p5 (jsonb). Consolidar en Fase 2. Enum StrategicNeedCategory: ' + ENUM_STRATEGIC_NEED_CATEGORY.join('|') |
Panel 6 · Presencia digital · 8 campos · 5 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Sitio webwebsite |
url |
No | — | ✓ | ✓ | 1 | |
LinkedInlinkedIn |
url |
No | — | ✓ | ✓ | 0.7 | |
Instagraminstagram |
url |
No | — | ✓ | ✓ | 0.5 | |
Facebookfacebook |
url |
No | — | ✓ | ✓ | 0.5 | |
Twitter / Xtwitter |
url |
No | — | ✓ | ✓ | 0.3 | |
TikToktiktok |
url |
No | — | ✓ | ✓ | 0.5 | |
YouTubeyoutube |
url |
No | — | ✓ | ✓ | 0.5 | |
LogologoUrl |
url |
No | — | ✓ | ✓ | 1 |
Campos sin panel (sistema / legacy / auxiliares) · 13 campos · 0 pts
| Campo | Tipo | Obligatorio | Form. simplif. | Form. detallado | Perfil | Peso | Nota |
|---|---|---|---|---|---|---|---|
Usuario registranteregisteredById |
uuid |
Sí | — | — | — | — | FK a profiles.id. Se setea server-side desde la sesión auth. |
Estado del registrostatus |
enum |
Sí | — | — | — | — | Gestionado por admins. DEFAULT DRAFT. |
Perfil públicoisPublic |
boolean |
Sí | — | — | — | — | DEFAULT true. Flag de visibilidad en directorio público. |
Industria principal (legacy)industryId |
uuid |
No | — | — | — | — | Legacy. Superseded por IcgIndustry (many-to-many) y por interest_industries. |
Sub-industria principal (legacy)subIndustryId |
uuid |
No | — | — | — | — | Legacy. |
Propuesta de valor (legacy text)valuePropositionLegacy |
text |
No | — | — | — | — | Legacy. Superseded por valuePropositionP4 (jsonb). Mantener por retrocompatibilidad. |
Aliado ideal (legacy text)idealAllyLegacy |
text |
No | — | — | — | — | Legacy. Superseded por idealAllyP5 (jsonb). |
Fuentes de inversión (legacy)investmentSourcesLegacy |
array<string> |
No | — | — | — | — | Legacy. Superseded por investmentSourcesP4. DEFAULT []. |
Financiamiento (legacy)financing |
string |
No | — | — | — | — | Legacy text. No usado en formulario actual. |
Ticket de inversión (legacy)investmentTicketLegacy |
string |
No | — | — | — | — | Legacy. Superseded por ticketValue (array). |
Rondas previas (legacy)previousRoundsLegacy |
string |
No | — | — | — | — | Legacy. Superseded por investmentRounds. |
Tamaño del equipo ICG (legacy)teamSize |
number |
No | — | — | — | — | Legacy. No usado en formulario actual. |
Composición del equipo ICG (legacy)teamComposition |
string |
No | — | — | — | — | Legacy. No usado en formulario actual (teamCompositionP3 es el canónico). |
Cómo revisar este inventario
Frank, esta es la oportunidad de corregir errores antes de que se vuelvan deuda. Te pido revisar con estos 5 lentes:
- ¿Falta algún campo? Si en tu cabeza hay un dato que debería capturarse para Startup o ICG y no aparece en ningún panel, márcalo.
- ¿El peso de score te parece mal calibrado? Por ejemplo: ¿el pitch deck debe valer 10 puntos? ¿los fundadores deben pesar 12? ¿las redes sociales están infra o sobrevaluadas?
- ¿Hay campos que están en el form pero no deberían estar ahí? Ej: algo que hoy se pregunta pero que nadie usa, o que debería ir a otro lugar del producto.
- ¿Algún campo está mal ubicado entre paneles? Ej: un dato que está en "Equipo" pero pertenece a "Tesis de inversión".
- Campos legacy / duplicados (los verás marcados en las notas). Confírmame si la estrategia de consolidar en Fase 2 está bien, o si alguno debe eliminarse ya.
Formato de respuesta: comenta por Slack lo que encuentres — no necesitas tocar GitHub. Con tus notas vamos a armar los ajustes antes de arrancar Fase 2 (migrar consumidores).