Importar y exportar forman un contrato bidireccional: el archivo debe representar el mismo alcance que la pantalla y una carga debe producir los mismos efectos que el alta manual.
Exportar el conjunto exacto
- Aplica los filtros, el tab y el contexto de trabajo antes de exportar.
- El archivo debe contener exactamente los registros autorizados y visibles para esos criterios, respetando Empresa, sucursal, almacen, rol y espacio de trabajo.
- Un filtro invalido debe informarse; nunca puede ampliar silenciosamente el archivo al universo completo.
- Concilia cantidad, identificadores y totales de la pantalla contra el Excel, CSV o PDF descargado.
- En indices transaccionales como Ventas, Compras, Presupuestos, Pedidos, Cobranzas, Pagos, Ajustes de stock, Transferencias y Remitos, tabla, cards, tabs y exportacion deben partir de la misma consulta canonica. En informes agregados como Estado de Stocks, Reporte de Stock y Valorizacion de inventario, cards, detalle, totales y archivos deben usar el mismo alcance, fecha cuando corresponda y almacenes. Si difieren, no cierres el control y reporta la pantalla y los filtros utilizados.
Importar con validacion y mapeo
- Descarga la plantilla vigente y carga primero los maestros; luego sus dependientes.
- Revisa encabezados y mapea cada columna con el campo correcto antes de escribir.
- La importacion valida archivo, tipos, referencias y alcance exacto de Empresa, sucursal y almacen.
- Cada fila pasa por los Services canonicos del dominio: no inserta lo que pueda, no toma primeras filas, no crea maestros sustitutos y no usa valores implicitos.
- Una referencia, estado, booleano, moneda, fecha o dato fiscal invalido rechaza la fila con campo y causa visibles.
Resultado e idempotencia
- Completada: todas las filas validas fueron persistidas.
- Completada con advertencias: se proceso todo y existen avisos que deben revisarse.
- Falla parcial: una o mas filas no se persistieron; los contadores y errores deben conciliarse antes de cerrar.
Reimportar el mismo identificador actualiza solamente los campos presentes segun el contrato de la entidad; no duplica, no reinicia columnas omitidas y no reescribe historia. Corrige el archivo y vuelve a importar las filas rechazadas. Si falta una configuracion o no tienes permiso, solicita al Administrador que complete la dependencia; nunca la reemplaces por un dato parecido.
StockManager: preparar, importar y comprobar una recarga inicial
Este recorrido exige respaldo recuperable, autorizacion expresa para borrar movimientos y una ventana sin operaciones. No uses Setup Inicial para resolver solamente una publicacion Web apagada.
1. Requisitos y alcance real
- Confirma Empresa, sucursal, espacio de trabajo, origen StockManager y destino exacto de cada almacen. Conserva un reporte previo de productos, stock fisico, disponible, reservas y pendientes.
- Genera y comprueba un respaldo completo recuperable antes del Setup. Registra fecha, archivo y contexto; suspende ventas, cobros, pedidos e importaciones concurrentes.
- En Setup, utiliza solamente Setup Inicial y su confirmacion explicita. El acceso requiere Admin o SuperAdmin; no selecciones Setup Completo.
- Setup Inicial elimina transacciones y reinicia snapshots de stock, saldos bancarios y cuentas corrientes. Conserva productos, clientes, proveedores, usuarios, almacenes y configuracion. No deja un catalogo vacio ni reinicia por si mismo la identidad fiscal.
- Verifica resultado, cantidades y cajas reabiertas. Comprueba tambien reservas, ubicaciones, put-away y entregas pendientes: no declares inventario limpio solo porque el fisico visible sea cero. Si queda una diferencia, detente antes de importar.
2. Preview y mapeos antes de escribir
- Abre Importaciones > Centro de Importaciones > StockManager > Importar datos. Selecciona el origen exacto y usa Verificar Estado.
- Despues del Setup inicia una nueva previsualizacion y una nueva importacion; no reanudes un proceso anterior. Sus checkpoints pueden conservarse fuera de la base reiniciada.
- Ejecuta Modo Prueba (Sin cambios). Revisa codigos, maestros vinculados, cantidades y cada incidencia. Los textos historicos de localidad/pais no autorizan inventar una FK geografica.
- Revisa la correspondencia almacen origen → almacen destino y ubicaciones. Una cantidad agregada de producto no identifica su almacen: si el runtime no ofrece seleccion y preview exactos, no ejecutes la carga de stock. No elijas el primer almacen ni sumes el local POS al Ecommerce.
- Antes de previsualizar, revisa las opciones de publicacion y espacios. Por defecto los productos existentes conservan su configuracion local. Solo elige Publicar y Ambos modos (Gestion y Pruebas) si ese es el circuito decidido por la Empresa. Las altas requieren una decision de espacio y una visibilidad de origen valida o seleccion explicita. Comprueba los valores efectivos en preview y luego en la ficha; tener stock o estado activo no publica por si solo. Las opciones quedan congeladas en el proceso: cambiarlas exige otra previsualizacion.
- Comprueba el alcance de altas: un producto nuevo con stock positivo puede crearse con sus mapeos completos. La limitacion actual bloquea solamente altas nuevas con stock cero por el contrato de checkpoints; esas filas deben quedar informadas y no contarse como creadas. No inventes stock para superar el bloqueo. Los productos existentes con cero mantienen su identidad y se concilian segun el contrato de actualizacion.
2.1. Conservar la clasificacion correcta
La categoria y subcategoria del ERP son la autoridad para productos existentes. El importador no las reemplaza por nombres de CodeIgniter, una coincidencia aproximada, la primera categoria ni una categoria generica. La marca se mantiene como marca. Preservar una pareja coherente no demuestra que el producto este bien clasificado conceptualmente: revisalo en Productos antes de importar.
Productos existentes
- Abre la ficha en Productos y comprueba Categoria y Subcategoria juntas. Ambas deben estar completas y la subcategoria debe pertenecer a la categoria. Si hay variedad o subvariedad, tambien deben respetar su jerarquia.
- Si el preview identifica un codigo con clasificacion incompleta o incoherente, corrige esa ficha y genera una nueva previsualizacion. El producto queda bloqueado antes de escribir catalogo o stock; no borres existencias ni ejecutes Setup Inicial para superar este control.
- En el preview comprueba Categoria destino, Subcategoria destino y Se conserva. Ni el dato legacy ni un mapeo recibido sustituyen la pareja local de un producto existente.
Productos nuevos
- En Importar datos despliega Clasificacion de productos nuevos. Aparecen los codigos aun ausentes del ERP junto con su nombre de origen.
- Para cada codigo que importaras elige Seleccione categoria destino y luego Seleccione subcategoria destino. El segundo selector ofrece las subcategorias de esa categoria; cambiar la categoria limpia la subcategoria seleccionada.
- Si falta el maestro correcto, crealo desde su mantenimiento normal y vuelve a cargar el importador. No elijas otra familia para superar el control.
- Completa tambien las correspondencias fiscales, almacen y ubicacion. Un nombre de categoria coincidente en CodeIgniter no reemplaza la correspondencia explicita por codigo.
- Ejecuta Modo Prueba (Sin cambios). Comprueba la pareja de destino y Mapeo explicito. Una pareja incompleta, inexistente o cruzada bloquea antes de escribir.
- Aplica solamente el preview revisado. Las correspondencias quedan congeladas; cambiarlas exige una nueva previsualizacion. Los snapshots anteriores a este contrato tambien requieren un preview nuevo.
Para verificar toda la clasificacion, compara el listado completo de Productos por codigo, categoria y subcategoria antes y despues. El preview muestra hasta 100 filas; esa muestra y el total general no certifican toda la carga. Reimporta dos veces con origen sin cambios: la pareja local corregida debe mantenerse aunque CodeIgniter conserve otra. Una alta ya importada pasa a ser existente y conserva su pareja en la siguiente carga.
2.2. Reclasificar productos existentes desde Excel: Solo clasificación
Para corregir únicamente categoría y subcategoría usa Importar Productos > Solo clasificación por código exacto. Es un modo del modal Excel existente, distinto de la recarga StockManager. No exige ejecutar Setup Inicial ni borrar productos. Conserva nombre, slug, precios, stock, reservas, marca y los demás datos ajenos a la clasificación.
- Comprueba primero que las categorías y subcategorías aprobadas existan en sus mantenimientos y formen parejas coherentes. Este modo no crea maestros ni productos. Una matriz propuesta o pendiente no es una clasificación aprobada: resuelve cada código dudoso antes de incluirlo.
- Prepara una sola hoja con exactamente tres encabezados:
codigo,categoriaysubcategoria. Usa el código exacto del producto como texto para conservar ceros iniciales y los nombres exactos de los maestros. No repitas códigos ni incluyas otras columnas. Máximo 2000 filas y 5 MB por revisión. - Abre el modal Importar Productos, activa Solo clasificación por código exacto, selecciona el archivo y la fila de encabezados. Los perfiles de mapeo y la extracción de marca no intervienen en este modo.
- Presiona Simular clasificación. Revisa todas las filas: código, producto, categoría y subcategoría actuales y propuestas. La simulación no guarda cambios comerciales. Si hay errores, corrige el archivo o los maestros y simula de nuevo; no permite aplicar una revisión con incidencias.
- Confirma Aplicar clasificación revisada solamente después de aprobar esa matriz. Se procesan lotes y cada fila confirmada conserva su avance. Si falla una solicitud, no supongas que se revirtieron las anteriores: revisa el conteo y usa Reanudar clasificación para el mismo proceso.
- Una identidad reemplazada o una clasificación modificada por otro operador exige una nueva simulación. Las variedades y subvariedades existentes se conservan; si no corresponden a la nueva pareja, corrige explícitamente la ficha o revisa la propuesta. El importador no las borra para superar el bloqueo.
- Al finalizar, compara el listado completo por código con la matriz aprobada y comprueba que precios, stock y marca se conservaron. Repetir la misma clasificación debe mantener las identidades y no generar cambios adicionales. Un mensaje final confirma el archivo revisado, no códigos omitidos ni matrices todavía pendientes.
3. Importar y repetir sin duplicar
- Importa primero los maestros requeridos y luego Productos con sus mapeos ya revisados. Conserva contadores de creados, actualizados, omitidos y errores por etapa.
- Detente en la primera falla. Una respuesta HTML, 405, timeout o etapa rechazada no demuestra exito completo ni rollback. Revisa lo persistido antes de volver a ejecutar.
- Con el origen sin cambios y sin operaciones nuevas, repite exactamente la misma importacion. Deben conservarse identidades y cantidades; no deben duplicarse productos, ubicaciones ni movimientos.
- En una reimportacion operativa, el fisico del origen no reemplaza las reservas y pendientes del ERP. Disponible = fisico - reservado - pendiente de ubicacion - pendiente de entrega. Si el ajuste resultante contradice compromisos existentes, debe quedar bloqueado o diagnosticado, nunca liberar reservas para alcanzar un numero.
4. Postcondiciones y diagnostico
| Control | Resultado requerido |
|---|---|
| Maestros | Mismos codigos e identidades; conteos conciliados por entidad. Setup Inicial preserva maestros: esta recarga verifica actualizaciones, no prueba altas nuevas. |
| Stock por almacen | Fisico y disponible conciliados por producto, almacen y ubicacion; ningun saldo trasladado implicitamente al POS u otro deposito. |
| Publicacion | Activo, publicacion y espacio segun la decision revisada. Foto, precio y categoria correctos en /tienda/productos; agotados visibles solo cuando la Empresa lo habilita, siempre sin compra. |
| Clasificacion | Categoria y subcategoria completas, coherentes y conceptualmente correctas. Existentes: Se conserva. Altas: Mapeo explicito por codigo. Reimportar conserva la pareja local. |
| Repeticion | Sin duplicados ni nuevo efecto de stock sobre un origen sin cambios. No se borran reservas para lograr idempotencia aparente. |
| Error parcial | Etapa, codigo y causa conservados; no continuar con un aviso global de exito. Conciliar antes del reintento. |
Para probar altas nuevas se necesita un escenario separado y autorizado con un codigo ausente, mapeos completos y stock positivo real. La alta nueva con cero debe probarse como bloqueo informado mientras siga esa limitacion. Borrar maestros reales para simular esa prueba no forma parte de Setup Inicial.
Este artículo es el mismo que se abre dentro del sistema desde la pantalla correspondiente, y se actualiza con cada versión. Si querés ver el circuito funcionando, pedí una demo.