Saltar al contenido principal

Importaciones de Datos

Cuando comienza a usar Zauru, es normal llegar con cientos de productos, clientes o empleados ya registrados en hojas de Excel. Las importaciones de datos le permiten subirlos de forma masiva desde archivos CSV o XLS, con un sistema de mapeo flexible que le permite indicar qué columna de su archivo corresponde a qué campo de Zauru. Además, puede validar cada fila antes de importarla definitivamente, para corregir errores sin ensuciar su información.

Tipos de Documentos Soportados para Importación

Zauru soporta la importación de los siguientes tipos de documentos:

  • Crear Ítems con Precios: Importa productos nuevos con sus precios de venta.
  • Actualizar Ítems: Actualiza campos de productos existentes.
  • Crear Beneficiarios: Importa nuevos clientes y/o proveedores.
  • Actualizar Beneficiarios: Actualiza campos de clientes y/o proveedores existentes.
  • Reemplazar Movimientos: Reemplaza los movimientos de inventario de un envío existente.
  • Reemplazar Detalles de Órdenes de Compra: Reemplaza los detalles de una orden de compra existente.
  • Crear Empleados: Importa nuevos empleados.
  • Crear Agencias: Importa nuevas agencias.
  • Crear Contratos de Trabajo: Importa contratos de trabajo para empleados existentes.
  • Crear Empleados y Contratos de Trabajo: Importa empleados nuevos junto con sus contratos de trabajo.
  • Crear Gastos: Importa gastos (detalles de órdenes de compra con cuentas contables).

Nueva Importación de Datos

Los pasos para crear una nueva importación de datos son:

  1. Ir a "Configuraciones".
  2. Seleccionar "Importaciones de Datos".
  3. Seleccionar "Nueva Importación de Datos".

imagen1

Le deberán aparecer las opciones para crear una nueva importación:

a. Seleccione el tipo de documento que desea importar de la lista desplegable.

b. Si el tipo de documento lo requiere (por ejemplo, "Reemplazar Movimientos" o "Reemplazar Detalles de Órdenes de Compra"), deberá seleccionar el objeto padre al que se asociarán los datos importados.

c. Adjunte el archivo Excel (CSV o XLS) que contiene los datos a importar.

d. Puede agregar una nota o memo para identificar esta importación.

e. Presione "Crear Data import" para iniciar el proceso.

imagen2

Mapeo de Columnas

Después de crear la importación, Zauru procesará el archivo y le mostrará una tabla con las primeras filas de datos y un panel para mapear las columnas de su archivo a los campos de Zauru.

Los pasos para mapear las columnas son:

  1. Para cada columna de su archivo, seleccione en el panel derecho el campo de Zauru al que corresponde.

  2. Todos los campos disponibles para el tipo de documento seleccionado aparecerán en la lista desplegable.

  3. Si tiene campos que son referencias a otros objetos (como brand_id, item_category_id, payee_id), identifíquelos con el sufijo _id en las opciones.

imagen3

Una vez mapeadas las columnas, presione "Actualizar Data import" para guardar la configuración de mapeo.

Gestión de Datos

En la vista de edición de datos usted podrá:

  1. Validar filas individualmente: Cada fila puede ser validada para verificar que los datos cumplen con las reglas del modelo. Las filas validadas aparecerán marcadas.

  2. Importar filas individualmente: Una vez validada una fila, puede importarla para crear o actualizar el registro en Zauru.

  3. Editar datos de filas: Puede modificar los valores de cualquier celda antes de importar.

  4. Eliminar filas: Puede eliminar filas que no desee importar.

  5. Eliminar columnas: Puede eliminar columnas completas que no necesite mapear.

imagen4

Proceso de Validación e Importación

El flujo de trabajo recomendado para una importación exitosa es:

  1. Cree una nueva importación seleccionando el tipo de documento y adjuntando su archivo.

  2. Mapee las columnas de su archivo a los campos de Zauru.

  3. Valide las filas una por una para detectar errores. Las filas con errores mostrarán los mensajes correspondientes para que pueda corregirlos.

  4. Corrija los datos de las filas que tengan errores.

  5. Importe las filas validadas una por una o en lote.

  6. Verifique en el módulo correspondiente que los datos se hayan importado correctamente.

Con este flujo dominado, podrá poblar Zauru con sus datos históricos en cuestión de minutos. Después de cada importación, dé un repaso en el módulo correspondiente para confirmar que todo quedó como esperaba; ese chequeo final es la mejor garantía de que su información arranca limpia.

API (llamadas desde sistemas externos)

Obtener listado de importaciones de datos

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
https://app.zauru.com/settings/data_imports.json

Esto devolverá un JSON similar a este:

[
{
"id": 2,
"zid": 1,
"file_type": "items",
"memo": "PRUEBA PROD",
"entity_id": 1,
"user_id": 2,
"created_at": "2024-01-15T20:21:36.824Z",
"updated_at": "2024-01-15T20:24:26.764Z",
"column_mappings": "{\"0\":\"active\",\"1\":\"stockable\",\"2\":\"sellable\",\"3\":\"purchasable\",\"4\":\"code\",\"5\":\"vendor_code\",\"6\":\"ean13\",\"7\":\"name\",\"8\":\"item_category_id\",\"9\":\"measurement_unit\",\"10\":\"weight\",\"11\":\"volume\",\"12\":\"description\",\"13\":\"reorder_point\",\"14\":\"economic_order_quantity\",\"15\":\"months_warranty\",\"16\":\"pays_vat\",\"17\":\"tariff_rate\",\"18\":\"quotable\",\"19\":\"ecommerce\"}",
"data_import_rows_count": 0,
"imported_rows": 0,
"validated_not_imported_rows": 0,
"parent_object_id": null
},
{
"id": 3,
"zid": 4,
"file_type": "expenses",
"memo": "",
"entity_id": 1,
"user_id": 5,
"created_at": "2026-05-06T01:55:42.446Z",
"updated_at": "2026-05-06T02:05:01.615Z",
"column_mappings": "{\"0\":\"issue_date\",\"1\":\"\",\"2\":\"\",\"3\":\"invoice_serial\",\"4\":\"invoice_number\",\"5\":\"\",\"6\":\"\",\"7\":\"\",\"8\":\"payee_tin\",\"9\":\"payee_name\",\"10\":\"reference\",\"11\":\"account_name\",\"12\":\"charge_term_name\",\"13\":\"\",\"14\":\"\",\"15\":\"\",\"16\":\"\",\"17\":\"\",\"18\":\"\",\"19\":\"\",\"20\":\"\",\"21\":\"\",\"22\":\"cost\",\"23\":\"\",\"24\":\"\",\"25\":\"\",\"26\":\"tax2\",\"27\":\"\",\"28\":\"\",\"29\":\"\",\"30\":\"\",\"31\":\"\",\"32\":\"\",\"33\":\"\",\"34\":\"\",\"35\":\"\",\"36\":\"\"}",
"data_import_rows_count": 85,
"imported_rows": 85,
"validated_not_imported_rows": 87,
"parent_object_id": null
}
]

Obtener detalles de una importación de datos

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
https://app.zauru.com/settings/data_imports/1.json

Esto devolverá un JSON similar a este:

{
"id": "15671",
"zid": "1",
"file_type": "items_with_prices",
"memo": null,
"entity_id": "1303",
"user_id": "214",
"created_at": "2026-02-11 14:17:27.9346",
"updated_at": "2026-02-11 14:21:11.127072",
"column_mappings": "{\"0\":\"code\",\"1\":\"name\",\"2\":\"\",\"3\":\"payee_id\",\"4\":\"average_cost\",\"5\":\"stockable\",\"6\":\"sellable\",\"7\":\"manufacturable\",\"8\":...",
"data_import_rows_count": "47",
"imported_rows": "47",
"validated_not_imported_rows": "0",
"parent_object_id": null
}

Crear importación de datos

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X POST \
-d '{
"data_import": {
"file_type": "payees_create",
"memo": "Importación de clientes mayo 2024"
}
}' \
https://app.zauru.com/settings/data_imports.json

Esto devolverá un JSON similar a este:

{
"id": 1,
"zid": 2,
"file_type": "payees_create",
"memo": "Importación de clientes mayo 2024",
"entity_id": 3,
"user_id": 4,
"created_at": "2026-08-06T04:16:52.966Z",
"updated_at": "2026-08-06T04:16:52.966Z",
"column_mappings": null,
"data_import_rows_count": 0,
"imported_rows": 0,
"validated_not_imported_rows": 0,
"parent_object_id": null
}

Actualizar importación de datos

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X PATCH \
-d '{
"data_import": {
"memo": "Importación actualizada"
}
}' \
https://app.zauru.com/settings/data_imports/1.json

Esto devolverá un JSON similar a este:

{
"id": "15671",
"zid": "1",
"file_type": "items_with_prices",
"memo": null,
"entity_id": "1303",
"user_id": "214",
"created_at": "2026-02-11 14:17:27.9346",
"updated_at": "2026-02-11 14:21:11.127072",
"column_mappings": "{\"0\":\"code\",\"1\":\"name\",\"2\":\"\",\"3\":\"payee_id\",\"4\":\"average_cost\",\"5\":\"stockable\",\"6\":\"sellable\",\"7\":\"manufacturable\",\"8\":...",
"data_import_rows_count": "47",
"imported_rows": "47",
"validated_not_imported_rows": "0",
"parent_object_id": null
}

Eliminar importación de datos

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X DELETE \
https://app.zauru.com/settings/data_imports/1.json

En caso de exito, retorna un codigo HTTP 204 No Content (sin cuerpo).

Obtener datos mapeados de una importación

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
https://app.zauru.com/settings/data_imports/1/edit_data.json

Esto devolverá un JSON similar a este:

{
"id": "15671",
"zid": "1",
"file_type": "items_with_prices",
"memo": null,
"entity_id": "1303",
"user_id": "214",
"created_at": "2026-02-11 14:17:27.9346",
"updated_at": "2026-02-11 14:21:11.127072",
"column_mappings": "{\"0\":\"code\",\"1\":\"name\",\"2\":\"\",\"3\":\"payee_id\",\"4\":\"average_cost\",\"5\":\"stockable\",\"6\":\"sellable\",\"7\":\"manufacturable\",\"8\":...",
"data_import_rows_count": "47",
"imported_rows": "47",
"validated_not_imported_rows": "0",
"parent_object_id": null
}

Actualizar mapeo de columnas y datos

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X PATCH \
-d '{
"data_import": {
"column_mappings_json": "{\"0\":\"name\",\"1\":\"tin\"}",
"data_changes": {}
}
}' \
https://app.zauru.com/settings/data_imports/1/update_data.json

Esto devolverá un JSON similar a este:

{
"status": "ok"
}

Validar una fila

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X POST \
-d '{"row_id": "1"}' \
https://app.zauru.com/settings/data_imports/1/validate_row.json

Esto devolverá un JSON similar a este:

{
"status": "ok"
}

Eliminar una fila

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X POST \
-d '{"row_id": "1"}' \
https://app.zauru.com/settings/data_imports/1/destroy_row.json

Esto devolverá un JSON similar a este:

{
"status": "ok"
}

Importar una fila

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X POST \
-d '{"row_id": "1"}' \
https://app.zauru.com/settings/data_imports/1/import_row.json

Esto devolverá un JSON similar a este:

{
"status": "ok"
}

Eliminar una columna

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X POST \
-d '{"column_id": "0"}' \
https://app.zauru.com/settings/data_imports/1/destroy_column.json

Esto devolverá un JSON similar a este:

{
"status": "ok"
}

Datatables de importaciones de datos

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X POST \
-d '{"start": "0", "length": "25"}' \
https://app.zauru.com/settings/data_imports/datatables.json

Esto devolverá un JSON similar a este:

{
"draw": 0,
"recordsTotal": 13,
"recordsFiltered": 13,
"data": [
{
"DT_RowId": "settings-data-import-19378",
"zid": 1,
"file": "No file",
"document_type": "Crear beneficiarios",
"created_at": "06/08/2026",
"rows": 0,
"validated_rows": 0,
"imported_rows": 0,
"memo": "Importación de clientes mayo 2024",
"record_actions": "<a title=\"<span class=&quot;translation_missing&quot; title=&quot;translation missing: es-GT.Download&quot;>Download</span>\" href=\"/settings/data_imports/19378/download_attached_file\"><i class=\"fa fa-download\"></i></a><a title=\"Editar Datos\" href=\"/settings/data_imports/19378/edit_data\"><i class=\"fa fa-table\"></i></a><a title=\"Editar\" href=\"/settings/data_imports/19378/edit\"><i class=\"fa fa-edit\"></i></a><a title=\"Destruirlo\" data-confirm=\"¿Está seguro de destruirlo?\" rel=\"nofollow\" data-method=\"delete\" href=\"/settings/data_imports/19378?destroy=true\"><i class=\"fa fa-trash-o\"></i></a>"
},
{
"DT_RowId": "settings-data-import-19377",
"zid": 2,
"file": "No file",
"document_type": "Crear beneficiarios",
"created_at": "06/08/2026",
"rows": 0,
"validated_rows": 0,
"imported_rows": 0,
"memo": "Importación de clientes mayo 2024",
"record_actions": "<a title=\"<span class=&quot;translation_missing&quot; title=&quot;translation missing: es-GT.Download&quot;>Download</span>\" href=\"/settings/data_imports/19377/download_attached_file\"><i class=\"fa fa-download\"></i></a><a title=\"Editar Datos\" href=\"/settings/data_imports/19377/edit_data\"><i class=\"fa fa-table\"></i></a><a title=\"Editar\" href=\"/settings/data_imports/19377/edit\"><i class=\"fa fa-edit\"></i></a><a title=\"Destruirlo\" data-confirm=\"¿Está seguro de destruirlo?\" rel=\"nofollow\" data-method=\"delete\" href=\"/settings/data_imports/19377?destroy=true\"><i class=\"fa fa-trash-o\"></i></a>"
}
]
}

Descargar archivo adjunto de una importación

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
https://app.zauru.com/settings/data_imports/1/download_attached_file.json

¿Le fue útil esta guía?