Aceptamos CSV o Excel (.xlsx). La forma más simple es usar "Exportar Excel", editar ese mismo archivo y reimportarlo — ya trae el encabezado correcto. La primera fila debe ser el encabezado:
codigo,nombre,descripcion,marca,presentacion,uso,unidad_medida,precio,costo,stock,activo
Ejemplo de una fila de datos:
1388,Medidor de Temperatura Infrarrojo,,Medicate,Unidad,Uso domiciliario,Unidad,184000,145454,25,activo
| codigo | Obligatoria. Clave del producto. Si ya existe en el catálogo, se actualiza esa fila; si no, se crea uno nuevo. |
| nombre | Obligatoria. Nombre comercial — es lo que aparece en el catálogo y en las facturas. |
| descripcion | Opcional. Descripción interna detallada (no aparece en facturas). |
| marca | Opcional. |
| presentacion | Opcional. Ej: "Caja x 25 unid". |
| uso | Opcional. |
| unidad_medida | Opcional. Ej: "Unidad", "Caja". |
| precio | Obligatoria. Precio de venta con IVA incluido. |
| costo | Obligatoria. Costo de mercadería sin IVA. |
| stock | Obligatoria. Cantidad actual en depósito. |
| activo | Opcional. "activo" o vacío = visible para la venta; "inactivo" = oculto. Si se omite esta columna del archivo, no se toca el estado actual de los productos existentes. |
Formato de precio/costo/stock: podés escribirlos con o sin separador de miles — 184000, 184,000 y 184.000 se leen igual, como 184.000 guaraníes. No van con el símbolo "Gs." (ni con letras en general): Gs. 184.000 no se reconoce y la fila se rechaza.
Nunca uses decimales en precio/costo (el Guaraní no tiene centavos) — la coma y el punto se interpretan siempre como separador de miles, nunca como decimal. Si escribís 184,50 pensando en "184 con 50", el sistema lo va a leer como 18.450, no como error: es un valor incorrecto silencioso, no una fila rechazada. Revisá siempre los montos importados contra tu Excel original.
Código, nombre, precio, costo y stock son obligatorios — una fila con cualquiera de estos cinco vacío se rechaza por completo (no se crea el producto, y no se asume cero). Revisá el detalle de "Filas rechazadas" que muestra el sistema después de cada importación.
Si un código ya existe en el catálogo, sus datos se pisan con lo que traiga el archivo (excepto marca/presentación/uso/unidad_medida/descripción, que solo se actualizan si el archivo trae un valor no vacío — un valor en blanco nunca borra un dato ya cargado). Compatibilidad: si el archivo no tiene columna "nombre" (formato viejo de 5 columnas: codigo,descripcion,precio,costo,stock), "descripcion" se usa como nombre, igual que antes.
Si subís un .csv (en vez de .xlsx): el archivo debe estar en UTF-8, separado por comas — si lo exportás desde Excel en español, elegí "CSV UTF-8 (delimitado por comas)" en vez de la opción por defecto, que suele usar punto y coma y puede romper las tildes/ñ. Ante la duda, subí directamente el .xlsx: no tiene este riesgo de codificación.