Saltar al contenido principal

Costos unitarios iniciales

Si su empresa lleva bastante tiempo funcionando y recién empieza a usar Zauru, no es práctico migrar toda la información histórica de sus compras. Lo que sí vale la pena es registrar los costos unitarios iniciales de su mercadería, junto con los balances iniciales en las cuentas y los saldos de bodega, para que al momento de cada venta usted pueda saber cuánto le costó el producto y a cuánto lo vendió, es decir, su margen de ganancia desde el primer día. Este tutorial le mostrará cómo crear esos costos uno por uno o importarlos todos de una vez desde una plantilla de Excel.

La forma de crear un nuevo costo inicial es la siguiente:

  1. Ir a “Compras”.
  2. Seleccionar “Costos Totales”.
  3. Seleccionar “Nuevo Costo Inicial”.

imagen1

Le aparecerán las opciones para crear un nuevo costo inicial, las opciones son las siguientes:

  1. Coloque el producto o servicio al que le pondrá un costo inicial.
  2. Coloque la cantidad por la que se hizo la ultima compra.
  3. Coloque el costo promedio al que generalmente compra su producto.
  4. Para guardar los cambios seleccione “Crear costo”.

imagen2

Le aparecerá un mensaje en la pantalla notificando que se creo el costo inicial exitosamente.

imagen3

Importar Costos Iniciales

Zauru también le permite importar costos iniciales de muchos productos por medio de una plantilla de Excel, para que no los tenga que ingresar uno por uno. La forma de hacerlo es la siguiente:

  1. Diríjase a “Compras” y luego “Costos Totales” y seleccione Importar.

imagen4

2.Debe descargar la plantilla de Excel para importar los costos iniciales de sus productos.

En la siguiente hoja aparecen las especificaciones de los campos permitidos en la importación de costos totales.

imagen5

Esta es la plantilla de Excel donde deberá colocar los datos de sus costos totales, los campos significan lo siguiente:

  1. item_zid: Es el id que aparece cuando usted coloca el mouse sobre su producto.
  2. item_id: Es el id que aparece en la parte izquierda de la fila donde esta su producto.
  3. computed_cost: Coloque el costo promedio al que normalmente compra su producto.
  4. quantity: Coloque la cantidad de la ultima compra que hizo de su producto.

Nota: No es necesario colocar item_zid, colocando ítem_id (id que sale al lado izquierdo de la fila donde esta su producto) es suficiente. Los campos obligatorios para importar son:

  1. item_id, o item_zid.
  2. computed_cost
  3. quantity

imagen6

Luego de ingresar los datos en su plantilla de impresión deberá guardarla e importarla. Recomendamos que revise las siguientes notas para ver que su archivo cumpla con los requerimientos de importación. Los pasos para importar son:

  1. Seleccionar la ubicación de la plantilla de Excel.
  2. Presionar “Importar costos iniciales”.

Si su plantilla de impresión esta correcta, le aparecerá un mensaje de éxito notificándole que sus costos iniciales se importaron correctamente. Si recibe un mensaje de error, revise los datos de su plantilla.

imagen7

Con los costos iniciales cargados, Zauru ya puede calcular el costo promedio ponderado de cada producto y mostrarle su margen de ganancia en cada venta. A partir de aquí, cada compra que usted registre actualizará esos costos automáticamente, sin que tenga que hacer nada más.

API (llamadas desde sistemas externos)

crear costos unitarios iniciales

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 '{
"computed_cost": {
"item_id": "1",
"quantity": "1",
"computed_cost": "10.0",
"date": "2018-10-17"
}
}' \
https://app.zauru.com/purchases/computed_costs.json

Esto devolverá un JSON similar a este:

{
"id": 1,
"purchase_order_detail_id": null,
"item_id": 2,
"computed_cost": "10.0",
"quantity": "1.0",
"date": "2018-10-17",
"entity_id": 3,
"created_at": "2026-08-06T04:16:19.599Z",
"updated_at": "2026-08-06T04:16:19.599Z",
"average_cost": "10.0",
"fifo_cost": null,
"lifo_cost": null,
"movement_id": null,
"stock_after_purchase": 0,
"reception_detail_id": null,
"production_order_id": null
}

Obtener datos para un costo inicial nuevo

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

Esto devolverá un JSON similar a este:

{
"id": null,
"purchase_order_detail_id": null,
"item_id": null,
"computed_cost": "0.0",
"quantity": null,
"date": null,
"entity_id": 1,
"created_at": null,
"updated_at": null,
"average_cost": null,
"fifo_cost": null,
"lifo_cost": null,
"movement_id": null,
"stock_after_purchase": 0,
"reception_detail_id": null,
"production_order_id": null
}

Ver el historial de costos de un producto

El 1 al final de la URL es el ID del producto (item) del que se quieren ver los costos.

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

Esto devolverá un JSON similar a este:

{
"id": "3441397",
"purchase_order_detail_id": "2496204",
"item_id": "927247",
"computed_cost": "4.68750",
"quantity": "72.000000",
"date": "2026-03-03",
"entity_id": "1303",
"created_at": "2026-03-03 19:49:54.515739",
"updated_at": "2026-03-03 19:49:54.515739",
"average_cost": "4.69000",
"fifo_cost": null,
"lifo_cost": null,
"movement_id": null,
"stock_after_purchase": "100",
"reception_detail_id": "1093339",
"production_order_id": null
}

Ver el cálculo de costo promedio de un producto

Devuelve el kardex de costos con el cálculo del costo promedio ponderado del producto.

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

Esto devolverá un JSON similar a este:

{
"id": "3441397",
"purchase_order_detail_id": "2496204",
"item_id": "927247",
"computed_cost": "4.68750",
"quantity": "72.000000",
"date": "2026-03-03",
"entity_id": "1303",
"created_at": "2026-03-03 19:49:54.515739",
"updated_at": "2026-03-03 19:49:54.515739",
"average_cost": "4.69000",
"fifo_cost": null,
"lifo_cost": null,
"movement_id": null,
"stock_after_purchase": "100",
"reception_detail_id": "1093339",
"production_order_id": null
}

Actualizar un costo inicial

El 1 al final de la URL es el ID del registro de costo (computed_cost).

curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-X PUT \
-d '{
"computed_cost": {
"computed_cost": "12.0",
"quantity": "2",
"date": "2018-10-17"
}
}' \
https://app.zauru.com/purchases/computed_costs/1.json

Esto devolverá un JSON similar a este:

{
"id": "3441397",
"purchase_order_detail_id": "2496204",
"item_id": "927247",
"computed_cost": "4.68750",
"quantity": "72.000000",
"date": "2026-03-03",
"entity_id": "1303",
"created_at": "2026-03-03 19:49:54.515739",
"updated_at": "2026-03-03 19:49:54.515739",
"average_cost": "4.69000",
"fifo_cost": null,
"lifo_cost": null,
"movement_id": null,
"stock_after_purchase": "100",
"reception_detail_id": "1093339",
"production_order_id": null
}

Eliminar un costo inicial

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/purchases/computed_costs/1.json

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

Exportar costos computados

Devuelve un JSON con los costos computados por producto, incluyendo el ultimo costo, el costo promedio ponderado y el costo promedio del kardex.

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

Esto devolverá un JSON similar a este:

{
"308438": {
"ID": 124,
"Código": "INTEGRACION-FEL",
"Nombre": "Integración de Zauru con FEL",
"Ingresos": 74,
"Ultimo Costo": {
"cost": "535.71429",
"date": "2025-04-21"
},
"Costo Promedio Ponderado": "961.590193108108108108108108108108108108",
"Ultimo Costo Promedio Ponderado Kardex": "535.71"
},
"301851": {
"ID": 107,
"Código": "FEL-1",
"Nombre": "De 101 a 250 DTE's mensuales FEL",
"Ingresos": 1049,
"Ultimo Costo": {
"cost": "80.35714",
"date": "2026-06-01"
},
"Costo Promedio Ponderado": "80.852948941849380362249761677788369876",
"Ultimo Costo Promedio Ponderado Kardex": "80.35714"
}
}

Importar costos iniciales desde Excel

Primero obtenga la estructura para la 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" \
-X GET \
https://app.zauru.com/purchases/computed_costs/initial_cost_imports/new.json

Esto devolverá un JSON similar a este:

{}

Luego envie el archivo con los costos a importar:

curl -v \
-H "Accept: application/json" \
-H "X-User-Email: prueba@zauru.com" \
-H "X-User-Token: XSDFKK09238487DLFS" \
-F "initial_cost_import[file]=@/ruta/al/archivo.xlsx" \
https://app.zauru.com/purchases/computed_costs/initial_cost_imports.json

Esto devolverá un JSON similar a este:

{
"id": "3441397",
"purchase_order_detail_id": "2496204",
"item_id": "927247",
"computed_cost": "4.68750",
"quantity": "72.000000",
"date": "2026-03-03",
"entity_id": "1303",
"created_at": "2026-03-03 19:49:54.515739",
"updated_at": "2026-03-03 19:49:54.515739",
"average_cost": "4.69000",
"fifo_cost": null,
"lifo_cost": null,
"movement_id": null,
"stock_after_purchase": "100",
"reception_detail_id": "1093339",
"production_order_id": null
}

¿Le fue útil esta guía?