desarrollos.app

Cómo subir inventario (modelos y unidades)

El inventario de un desarrollo se compone de modelos (tipos de producto) y unidades (instancias individuales). Antes de crear unidades, debe existir al menos un modelo y al menos una sección.

Crear un modelo

Abre el desarrollo y usa el botón "+ Nuevo modelo" en el sidebar (grupo "Vista previa"). Lo primero que pide el formulario es el tipo de producto: departamento, casa, cabaña, terreno, local, oficina, nave industrial o complemento. Según el tipo elegido, el formulario adapta los campos que muestra a continuación — por ejemplo, una casa pide recámaras y niveles, mientras que una nave pide altura libre y andenes de carga. La taxonomía completa está en el artículo de tipos de producto.

Los campos comunes a todos los modelos son nombre, tipo de producto y al menos una foto en la galería. La superficie y el precio viven en cada unidad, y el modelo muestra el rango que resulta de ellas.

Si tu desarrollo es de puro terreno (morfología solo "terreno"), no necesitas crear un modelo: la plataforma ya creó el modelo contenedor "Lote" automáticamente. Ve directo a la sección Inventario y registra tus lotes como unidades bajo ese modelo. Si tus lotes no son todos del mismo tipo, puedes crear un segundo modelo contenedor para separarlos — la página del modelo "Lote" te lo sugiere.

El tipo de producto que puedes elegir depende de la categoría del desarrollo padre (residencial, industrial, campestre, mixto). No todos los tipos están disponibles para todas las categorías; la matriz completa de compatibilidad está en el artículo de tipos de producto.

Crear unidades

Entra a la sección Inventario del desarrollo. Cada unidad necesita un identificador (ej. "12-A" o "Lote 5"), un modelo padre y una sección. La sección se autoselecciona en base al modelo si solo hay una; si el desarrollo tiene varias secciones, hay que escogerla manualmente.

El identificador debe ser único dentro de su sección (torre/etapa), no por modelo: puedes repetir el mismo número (ej. "101") en otra sección — caso legítimo cuando vendes el mismo modelo en Torre A y Torre B — pero no dos veces en la misma sección, aunque sean de modelos distintos.

El generador de unidades

El generador ofrece dos modos:

  • El modo "Rango" (por defecto) crea la cantidad de unidades que indiques, numeradas de forma consecutiva. En "Escribe el nombre de tu primera unidad" pones un ejemplo (ej. "Lote 01", "A-101" o "101") y el generador infiere el prefijo, el número inicial y los ceros a la izquierda; solo indicas "¿Cuántas unidades vas a crear?". Debajo, un campo "Precio (opcional)" aplica el mismo precio a todas las unidades del lote; déjalo vacío y las unidades se crean sin precio, y se lo pones después desde Inventario: una unidad sin precio no aparece en tu página pública, y salvo en modelos tipo Complemento, bloquea la publicación del desarrollo. Un campo "Superficie construida (opcional)" —la construida privativa, sin terraza ni balcón; en modelos de tipo terreno el mismo campo guarda el área del lote— aplica de la misma forma la misma superficie a todas las unidades del lote; déjalo vacío y la completas después editando cada unidad. Si la inferencia no acierta, "Opciones avanzadas" te deja ajustar a mano el número inicial ("¿Desde qué número empiezan?", por defecto 1) y los ceros a la izquierda. Cuando el modelo es de tipo departamento, oficina o local, esas opciones incluyen además un campo "Piso (opcional)" que aplica el mismo piso a todas las unidades del rango generado.
  • El modo "Por pisos" está pensado para edificios verticales y solo aparece cuando el modelo es de tipo departamento, oficina o local: defines un rango de pisos, las unidades por piso y un prefijo opcional, y el sistema auto-numera cada unidad (ej. piso 1 con 4 unidades → 101, 102, 103, 104) asignando el piso automáticamente.

Un campo "Número inicial" controla desde qué número arranca cada piso (por defecto 1). El sistema lo auto-sugiere tomando el siguiente índice disponible en la sección, cruzando todos los modelos, para que al generar un segundo modelo en una torre que ya tiene unidades la numeración no choque con la del primero (ej. si en la sección ya existen unidades 1–4, sugiere 5). Puedes sobrescribir la sugerencia a mano.

La vista previa es editable: puedes cambiar el número de un piso, quitar un piso (útil para saltar el 13) o ajustar cuántas unidades tiene cada piso antes de confirmar. Al desplegar "Ver detalle", cada nivel muestra además un campo de precio y uno de superficie construida: lo que captures ahí (ambos opcionales) se aplica a todas las unidades de ese piso, y los niveles que dejes vacíos crean sus unidades sin ese dato, que asignas después en Inventario. En ambos modos el precio y la superficie que captures al generar son opcionales, y lo que edites por unidad después en Inventario gana sobre ellos.

En el modo "Rango", el interruptor "Agregar ceros al inicio" rellena los números con ceros a la izquierda hasta el ancho del número más alto (ej. 10 unidades → 01, 02, … 10); apagado, se muestran sin ceros (1, 2, 3…). En "Por pisos" un campo "Dígitos por unidad" (entre 1 y 4) hace lo mismo y se ajusta solo al ancho del índice más alto hasta que lo cambias a mano — por ejemplo, con 3 dígitos el piso 1 genera 1001, 1002, 1003. Un número más largo que los dígitos configurados nunca se recorta.

Asignar piso a unidades existentes

Para asignar o quitar el piso de unidades que ya existen (por ejemplo, las creadas con el modo "Rango" sin piso), selecciona varias unidades en la sección Inventario — clic con Ctrl/Cmd para alternar una, o Shift+clic para un rango dentro del mismo grupo — y usa la acción "Asignar piso" de la barra de selección inferior. Escribe el piso (admite medios pisos en .5, ej. 1.5) y aplícalo a todas, o usa "Quitar piso" para dejarlas sin piso. La acción solo aparece cuando todas las unidades seleccionadas pertenecen a tipos con piso (departamento, oficina o local).

Importar desde archivo o documento (CSV, Excel, PDF o foto)

La opción Importar del menú Agregar inventario de la sección Inventario —solo visible si eres propietario o administrador— aparece bajo el encabezado "La forma rápida" y abre el importador unificado: sube tu lista de unidades tal como la tengas, ya sea un CSV o Excel, o directo la foto o el PDF de tu lista de precios. Formatos aceptados: CSV, XLSX, PDF, JPG y PNG, hasta 10 MB; un PDF además tiene un tope de 5 páginas. Mientras tengas una importación sin confirmar, esa misma opción se convierte en Continuar revisión (N) y te lleva directo a la página de revisión en vez de abrir el diálogo de subida. Si tu archivo no trae una columna de identificador por unidad (o el documento no distingue unidades individuales), el importador no crea nada: si detecta una columna de tipo o modelo te dice que necesita un renglón por unidad, no un catálogo de tipos; si no reconoce el archivo de ninguna forma, te lo dice también — no existe una puerta separada para importar solo catálogos de modelos.

Con CSV o Excel, el mapeo de columnas corre automáticamente (con ayuda de IA cuando los encabezados no son obvios); siempre puedes corregir el mapeo a mano. El mapeo automático de encabezados claros funciona siempre; solo la ayuda con IA para encabezados ambiguos requiere tener tu correo verificado — si aún no lo verificas, mapea esas columnas a mano y el importador funciona igual. La columna de torre/etapa/manzana asígnala a Sección — si tu archivo no la tiene y el desarrollo tiene una sola sección, todas las unidades van ahí; si tiene varias, el importador no adivina y te pide asignar esa columna antes de continuar.

Con PDF o foto, no hay paso de mapeo: la IA lee el documento completo directo a una lista de unidades —identificador, sección, piso, precio, estatus, superficie y atributos del tipo de producto, cuando el documento los trae—. Si el documento declara más de un precio por unidad (por ejemplo lista y con descuento, o lista/financiado/contado), los captura todos: en la página de revisión aparecen como columnas de precio seleccionables sobre la tabla de unidades —haz clic en el encabezado del precio que quieras usar; las demás quedan de referencia, de solo lectura, y no se importan—. Si el documento trae más de una columna de metros cuadrados por unidad (por ejemplo "m2 Unidad", "Total m2" y "m2 Terraza"), pasa lo mismo: la página de revisión muestra un selector "Superficie de la unidad" arriba de la tabla, abierto en la columna que la IA eligió pero cambiable a cualquier otra etiqueta del documento; la opción "ninguna — la lleno yo" deja la superficie en blanco para que la captures a mano, fila por fila. Cuando el documento trae "Bodega" o "Terraza" (departamento), "Frente" o "Fondo" (terreno) o "Altura libre" o "Andenes de carga" (nave industrial) como columnas propias, esos valores se importan como esos atributos del tipo de producto, sin depender de qué columna hayas elegido como superficie. Cualquier condición del documento (descuento, enganche, esquema de pago) aparece aparte en un campo editable "Condiciones del descuento", que se guarda en el desarrollo como "Condiciones de pago y descuentos" — puedes verla y editarla después en Configuración del desarrollo; no se publica ni afecta ningún precio. Si el desarrollo ya tiene su propia nota, una nueva importación no te la pisa: la caja se siembra con lo que ya tenías guardado, y puedes usar el botón "Usar este texto" para reemplazarla con lo que la IA acaba de leer. El documento que subiste se muestra junto a la tabla en pantallas grandes mientras revisas, y también si sales y retomas el borrador después —siempre que se haya podido guardar; en el raro caso de que falle su guardado, la tabla se muestra igual, solo sin el documento de referencia—; puedes esconderlo con el botón "Ocultar documento" para que la tabla use todo el ancho, y la próxima vez se recuerda tu preferencia. En pantallas chicas (celular) no se muestra — solo la tabla.

Antes de escribir nada, la página de revisión te muestra cómo quedará el inventario: arriba, la tabla de secciones (torres/etapas que la importación tocaría, con las unidades de este archivo que caen en cada una y una insignia nueva o existe) y la de modelos (unidades, rango de precio y de superficie que resultarían). En ambas, el nombre es editable para toda fila, nueva o existente; en modelos, si el tipo es vivienda también recámaras, baños y estacionamientos, sea el modelo nuevo o ya existente — el tipo de producto en sí queda de solo lectura para un modelo existente. Una sección o modelo nuevo además deja combinar con… otra fila de la misma tabla (reasigna sus unidades y desaparece de la lista) o eliminar (las deja sin asignar en vez de adivinar a dónde van); ninguna de las dos existe para una fila existente — eso es una operación real que se hace desde Inventario, no desde aquí. Una sección nueva también deja fijar su estado de obra, estado comercial y fecha de entrega ahí mismo — si no la tocas, nace en planeación/preventa sin fecha, igual que antes. Abajo, la tabla de unidades, completamente editable (casillas de selección, edición en línea de cualquier campo, edición en lote — incluidos modelo y sección — para lo seleccionado) con la opción de agregar una unidad a mano. Una fila que el importador no reconoció como vendible (por ejemplo, una fila de área común como una casa club) queda descartada pero sigue visible en la tabla, atenuada, con un botón para restaurarla — nunca desaparece en silencio, y no hace falta ninguna confirmación aparte para dejarla fuera. Solo se bloquea confirmar si todas las filas de la importación terminan descartadas; si solo algunas lo están, confirmas con el resto y corriges o restauras esas filas ahí mismo, sin volver a subir el archivo.

Si tu archivo o documento trae unidades sin precio ni estatus —un plano técnico, o inventario legítimo que aún no tiene precio—, no se rechaza: se crea igual, con estatus "disponible" y sin precio, lo mismo que si dieras de alta esa unidad a mano. Revisa la tabla antes de confirmar si eso no es lo que esperabas — puedes corregir el precio o el estatus ahí mismo, o descartar la fila si en realidad no era una unidad vendible.

En esa pantalla eliges qué quieres hacer: Crear inventario nuevo (agrega unidades) o Actualizar inventario existente (modifica unidades que ya existen). En modo actualizar puedes omitir el precio para dejarlo igual y solo cambias las columnas que traigas; si un identificador no coincide con una unidad existente, te avisamos en lugar de crear una unidad nueva sin precio.

Detalles útiles:

  • Modelos que no existían: si una fila referencia un modelo que aún no está en el desarrollo, la plataforma lo crea automáticamente y la pantalla de confirmación te muestra cuántos modelos nuevos se crearán. Ahí mismo, junto a cada modelo nuevo, puedes capturar su tipo de producto —y, si es vivienda, sus recámaras, baños y estacionamientos— para que nazca completo; los tipos que se ofrecen son los que permite la categoría del desarrollo. Es opcional: si lo dejas en blanco el modelo se crea sin tipo y lo completas después en el editor del modelo, donde un aviso te lo pide y el botón Completar modelo lo guarda. Ese botón se deshabilita mientras estás editando el modelo: sal de edición para usarlo. Si empiezas a llenarlo y lo dejas a medias, el botón de confirmar se bloquea hasta que completes o borres los datos. Un modelo "sin definir" no deja publicar el desarrollo hasta que lo completas. Si el archivo referencia más modelos nuevos de los que caben (tope de 20 por desarrollo), la importación se detiene con un aviso claro: reduce los modelos distintos o créalos por partes.
  • Actualizar en lugar de duplicar: las unidades se identifican por su identificador dentro de cada sección. El archivo actualiza precio, superficie, atributos y estatus — y en modo actualizar puedes omitir una columna (como el precio) para conservar su valor actual. Las notas escritas a mano en la app nunca se tocan.
  • Unidades nuevas heredan los atributos del modelo: al generarlas o crearlas por importación, una unidad nueva parte de los atributos capturados en su modelo; si tu archivo de importación sí trae atributos para esa fila, esos valores ganan sobre los del modelo.
  • Unidades con prospecto activo conservan su estatus — el resumen te dice cuántas no se actualizaron por esa razón.
  • Unidades vendidas conservan su precio — una vez vendida, el precio de la unidad se congela: si el archivo trae otro, no se aplica y el resumen te dice cuáles. Sigue contando como actualizada porque su estatus, superficie y atributos sí se escriben. Si la unidad se vendió sin precio, el archivo sí puede ponerle el primero.
  • Renombraste una torre o etapa: si el archivo trae el nombre nuevo, la tabla de secciones de la página de revisión la muestra como sección nueva — corrige el nombre ahí mismo para que coincida con el de la sección real antes de confirmar, y sus unidades se asignan a la existente en vez de crear una duplicada; no hace falta volver a subir el archivo. Esto solo funciona si esa sección real sigue apareciendo en la tabla de secciones (alguna fila del archivo debe seguir apuntándole); si no aparece ahí, renombra dentro de la app antes de re-subir, como antes. En Actualizar inventario existente, una sección que no existe rechaza la importación completa —no se crea ni se duplica nada.
  • Estatus importables: disponible, apartada y vendida. Reconocemos muchas variantes comunes en español (p. ej. "Disp.", "a la venta", "vacante", "apartadas", "se vendió", "colocada"), y también el inglés que traen las listas de venta internacional ("sold", "reserved", "available"). Las celdas bilingües que juntan las dos versiones, separadas por "/", "," o "|" ("SOLD/ VENDIDO", "RESERVED/ RESERVADO"), se importan cuando las dos partes significan lo mismo; si se contradicen ("DISPONIBLE / VENDIDO") o si una de las dos no la reconocemos, la fila se aparta. Un estatus que no reconozcamos (p. ej. "En trámite") no se importa como disponible: la fila se aparta para que la revises y elijas su estatus ahí mismo, sin volver a subir el archivo. Así una unidad apartada o vendida nunca se publica como disponible por un valor que no entendimos. Si dejas la celda vacía o quitas la columna, la fila sí se importa como disponible.
  • Si la clasificación con IA no está disponible en un CSV o Excel: verás un aviso en la pantalla de confirmación. La importación no se detiene — las filas que sí reconocimos conservan su lectura y las demás se listan para que las revises ahí mismo, igual que cualquier otra fila apartada. En PDF o foto la lectura completa depende de la IA: si falla, te lo decimos en la pantalla de subida para que lo intentes de nuevo, en vez de llegar a la página de revisión con datos incompletos.
  • Tu importación se guarda sola: en cuanto se lee y clasifica el archivo, la importación queda guardada como borrador, antes de que revises nada. Sobrevive a un refresco o a salir de la pantalla, y caduca sola a los 7 días. Es un borrador a la vez por desarrollo: si subes otro archivo antes de confirmar, se te pregunta si quieres reemplazar el pendiente, y puedes descartarlo desde la pantalla de revisión (botón "Descartar importación"), desde la pantalla de subida o desde el aviso del panel de salud del inventario, que también te lo recuerda. Los tres te piden confirmación primero, porque descartar tira las filas que ya revisaste y el archivo que subiste, y no se puede deshacer. Al confirmar la importación, el borrador desaparece.
  • Precios y superficies en CSV o Excel: déjalos como los exporta tu hoja de cálculo. Entendemos el símbolo de moneda al inicio ("$2,500,000"), el código de moneda o la unidad al final de la celda ("$5'768,056 MXN", "66.96 m2", "120 m²"), y la coma, el punto o el apóstrofo como separador de miles ("2,500,000", "2.500.000", "5'768,056"); el decimal puede ser coma o punto ("85,5" y "85.5" son lo mismo). Lo que todavía tienes que corregir en el archivo: el código de moneda antes del número ("MXN 5,768,056"), los rangos ("1,200 - 1,500"), el texto libre ("Por definir") y las monedas o unidades distintas a pesos y metros cuadrados ("250,000 USD", "1,250 ft2", "2.5 hectáreas") —conviértelas tú, porque importarlas tal cual guardaría el número equivocado—. Esas filas se apartan como precio o superficie ilegible. En un PDF o foto la IA lee el número directo del documento, sin estas reglas de formato.
  • La plantilla descargable del paso de subida (botón "Descargar plantilla", junto a "Seleccionar archivo") trae los encabezados esperados con filas de ejemplo marcadas con [EJEMPLO]. Puedes borrarlas o dejarlas: el importador descarta toda fila cuyo identificador de unidad empiece con [EJEMPLO], así que nunca se cuelan como inventario real. Esas filas aparecen en la página de revisión entre las descartadas, y a diferencia de las demás filas descartadas, ésas no se pueden restaurar desde ahí: si una unidad tuya se llama así de verdad, quítale el prefijo en el archivo.

Editar modelos en tabla, sin importar

El botón Editar en tabla, junto a "Cambiar precios" en Inventario y visible solo cuando el desarrollo ya tiene al menos un modelo, abre la misma tabla de modelos de la página de revisión del importador, pero sembrada con tus modelos reales en vez de con un archivo — útil para corregir varios modelos de una sola vez después de una importación (tipos sin definir, recámaras en cero, un nombre que vino mal del archivo) sin abrir cada modelo por separado. El nombre es editable en cualquier fila, y si el tipo es vivienda también recámaras, baños y estacionamientos; el tipo de producto en sí sigue siendo de solo lectura ahí — se cambia desde el editor del modelo, al que un modelo "sin definir" te enlaza directo con una advertencia. Precio y superficie no se editan aquí porque viven en cada unidad. "Guardar cambios" solo envía las filas que tocaste, y se bloquea si alguna quedó incompleta. Si tienes una importación sin confirmar, este botón te lleva a esa revisión pendiente en su lugar — solo puede haber una siembra activa a la vez en esa página.

Eliminar un modelo

Solo puedes eliminar un modelo mientras su desarrollo nunca se haya publicado. Una vez que publicas el desarrollo, sus modelos ya no se pueden eliminar —ni siquiera si después lo despublicas—, porque los compradores ya pudieron verlos. Si necesitas quitar un modelo de un desarrollo que ya fue publicado, escríbenos a soporte@desarrollos.app.

Al eliminar un modelo también se eliminan sus unidades. Esta acción es irreversible.

Torres y secciones en el inventario

El inventario siempre muestra la sección abierta como pestaña, aunque el desarrollo tenga una sola: así ves desde el principio con qué sección estás trabajando y puedes editarla, incluido su nombre, desde su menú Gestionar.

Cuando un desarrollo tiene dos o más secciones (torres, etapas o manzanas), además trabajas una a la vez: lo que ves en pantalla es el inventario de la sección abierta, no el del desarrollo completo. El encabezado de la sección abierta también cuenta solo sus unidades, así que una torre recién creada dice "0 unidades" aunque las demás ya tengan inventario; la barra de progreso del desarrollo, más arriba, sigue contándolas todas.

Para que no confundas una torre vacía con inventario perdido:

  • Al entrar a Inventario se abre la primera sección que ya tenga unidades, no la primera de la lista.
  • Las pestañas sin unidades se ven atenuadas.
  • Si abres una sección vacía y otra sí tiene unidades, el mensaje te dice cuál y te ofrece un botón para saltar a ella. Cuando ninguna las tiene todavía, el mensaje te invita a cargarlas.

Si llegas con un enlace que ya trae una sección elegida, se respeta esa sección aunque esté vacía.

Eliminar una sección o torre

Desde el menú Gestionar de la sección (torre o etapa) puedes eliminarla. Hay tres situaciones:

  • Sin unidades vivas: si todas las unidades de la sección están disponibles (ninguna apartada o vendida, ni con un prospecto activo que la tenga reservada), puedes eliminarla directamente. El sistema borra esas unidades disponibles junto con la sección; te pedimos escribir el nombre para confirmar porque es permanente.
  • Con unidades vendidas o apartadas: no se puede eliminar mientras tenga unidades vendidas, apartadas o reservadas por un prospecto. Muévelas primero a otra sección con "Dividir inventario" (selecciona las unidades y usa "Mover a…") o resuelve esos prospectos.
  • Única sección: un desarrollo siempre debe conservar al menos una sección, así que la última no se puede eliminar.

Eliminar una sección es irreversible —no entra a la ventana de recuperación; lo recuperable es el desarrollo completo.