Un modelo de kardex es la hoja donde registras cada compra, cada venta y cada merma de un producto, con su fecha, su cantidad y su costo, para saber en todo momento cuántas unidades te quedan y cuánto valen. Al terminar este tutorial tendrás, en un libro de Excel, una hoja por producto con el saldo en unidades y en dinero actualizado fila por fila, lista para imprimir o revisar. Funciona en Excel 2007 en adelante, en Microsoft 365 y en Excel para la web.
Qué es un kardex y para qué te sirve en Excel
Imagina una ferretería que compra tornillos en varias tandas, los vende y, de vez en cuando, pierde unidades por merma o descuadre de caja. El kardex es la hoja que registra cada movimiento con su fecha, su documento, la cantidad que entra o sale y el dinero que representa. La gracia de hacerlo en Excel es que la propia hoja arrastra los saldos: tú escribes el movimiento y la fórmula calcula cuántas unidades quedan y a cuánto dinero.
La idea es muy antigua y viene de la contabilidad manual: un libro de tarjetas, una por producto, donde cada fila era un movimiento y al final del día se sumaban entradas, se restaban salidas y se obtenía el saldo. En Excel consigues lo mismo, pero con la ventaja de que el saldo se recalcula solo, puedes filtrar por fecha, copiar la hoja para otro producto y, si lo necesitas, llevártela a Power Query o a una base de datos cuando crezca demasiado.
Un kardex bien armado te responde tres preguntas en cualquier momento: cuántas unidades tengo de este producto, a cuánto dinero sale y cuánto me costó la última vez que lo compré. Es la base del inventario valorizado que usan tiendas, almacenes, farmacias y cualquier negocio que mueva mercancía.
Los tres métodos de valuación que vas a ver
Hay tres formas clásicas de valorar lo que sale del almacén. PEPS (Primeras en Entrar, Primeras en Salir, en inglés FIFO) asume que lo primero que compraste es lo primero que vendes; el saldo se queda con el costo de la compra más reciente. UEPS (Últimas en Entrar, Primeras en Salir, en inglés LIFO) hace lo contrario: lo último que compraste es lo primero que vendes. Costo Promedio Ponderado (en inglés Weighted Average Cost) divide el valor total de las existencias entre las unidades disponibles y aplica ese mismo costo a cada salida, actualizándolo con cada nueva compra. En este tutorial usamos el promedio porque es el más sencillo de explicar con una hoja de Excel, el más usado por las pequeñas empresas y el que mejor se entiende viendo los números fila por fila. Al final comparamos el resultado con PEPS para que veas cómo cambia el saldo final.
Las columnas del kardex y la fila de saldo inicial
La hoja de cada producto tiene doce columnas, de la A a la L, con este orden: Fecha, Documento, Detalle, Tipo de movimiento, Entradas (unidades), Salidas (unidades), Costo unitario, Valor de entradas, Valor de salidas, Saldo en unidades, Costo promedio unitario y Saldo en dinero.
| Columna | Encabezado | Qué guardas ahí |
|---|---|---|
| A | Fecha | Día del movimiento (dd/mm/aaaa) |
| B | Documento | Número de factura, guía o nota |
| C | Detalle | Texto libre con el proveedor o cliente |
| D | Tipo | Compra, venta, devolución, merma, ajuste, saldo inicial |
| E | Entradas | Unidades que entran (vacío si es salida) |
| F | Salidas | Unidades que salen (vacío si es entrada) |
| G | Costo unitario | Precio por unidad de ESE movimiento |
| H | Valor entradas | E x G (solo si hay entrada) |
| I | Valor salidas | F x el costo promedio de la fila |
| J | Saldo unidades | Saldo anterior + E – F |
| K | Costo promedio | (Valor del saldo anterior + H) / (J anterior + E) |
| L | Saldo dinero | Saldo anterior + H – I |
La primera fila de datos (fila 3) es el saldo inicial: lo que ya tenías en el almacén antes de empezar a registrar en esta hoja. Ahí se anota la fecha de corte, el tipo "Saldo inicial", la cantidad que había y a qué costo, y los saldos se calculan a partir de esa base.
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Kardex – Tornillos 6mm | |||||||||||
| 2 | Fecha | Documento | Detalle | Tipo | Entradas | Salidas | Costo unit. | Valor ent. | Valor sal. | Saldo und. | Costo prom. | Saldo valor |
| 3 | 01/08/2026 | — | Inventario inicial | Saldo inicial | 20 | 12,00 | 240,00 | 20 | 12,00 | 240,00 |
La lista de tipos de movimiento que controla las entradas
Para que la columna D no se llene de textos libres y todas las hojas usen los mismos nombres, créale una lista desplegable con Validación de datos. Selecciona el rango D3:D1000, abre Datos > Herramientas de datos > Validación de datos y configura el criterio como Lista con el origen escrito a mano, separado por punto y coma.
La fórmula del costo promedio que arrastra el saldo
El corazón del kardex a costo promedio es esta idea: cada vez que compras, mezclas las unidades nuevas con las que ya tenías y vuelves a calcular el costo unitario. La fórmula en K (costo promedio) es: (valor del saldo anterior + valor de la compra) / (cantidad del saldo anterior + cantidad de la compra). En la celda K4, la primera fila después del saldo inicial, se escribe:
=SI(E4>0;(L3+H4)/(J3+E4);K3)
Se lee así: si en esta fila hay una entrada (E4 mayor que cero), el promedio nuevo es el valor total (dinero del saldo anterior L3 más dinero de esta entrada H4) dividido entre las unidades totales (unidades del saldo anterior J3 más unidades de esta entrada E4). Si no hay entrada, el promedio se queda igual que en la fila de arriba (K3). La fila 3 ya trae escrito 12,00 a mano, porque es el saldo inicial y no tiene fila anterior.
La salida (columna I) se valora siempre al costo promedio vigente en esa fila, no al costo de la compra original. Por eso la fórmula de I es:
=SI(F4>0;F4*K4;0)
Multiplica las unidades que salen (F4) por el costo promedio calculado en K4. Así, vendas 12 o vendas 100, todas se descuenta al mismo precio: el promedio del momento.
El saldo en unidades y el saldo en dinero fila por fila
Las dos columnas que siempre se miran son la J (saldo en unidades) y la L (saldo en dinero). En J4 escribe:
=J3+E4-F4
Es el saldo de la fila anterior (J3) más lo que entra (E4) menos lo que sale (F4). En L4, el saldo en dinero:
=L3+H4-I4
Saldo anterior (L3) más valor de la entrada (H4) menos valor de la salida (I4). Estas dos fórmulas, junto con la del promedio, se copian hacia abajo con el controlador de relleno (el cuadradito de la esquina inferior derecha de la celda seleccionada) hasta la última fila del mes. La columna G (costo unitario) no se arrastra: ahí solo se escribe a mano el precio de cada compra.
Arma tu kardex desde cero con el método promedio
Vamos a construir la hoja de un producto siguiendo los cinco movimientos de un mes: el saldo inicial, una compra, una venta, una merma y un ajuste por conteo físico. Usa una hoja nueva por producto y copia la estructura tal cual.
Escribe los encabezados y la fila de saldo inicial
- En la celda A1 escribe Kardex – Tornillos 6mm (o el nombre del producto).
- En la fila 2 copia los doce encabezados de la tabla anterior, en este orden: Fecha, Documento, Detalle, Tipo, Entradas, Salidas, Costo unit., Valor ent., Valor sal., Saldo und., Costo prom., Saldo valor.
- En la fila 3 anota el saldo inicial del 01/08/2026: A3 = 01/08/2026, B3 = —, C3 = Inventario inicial, D3 = saldo inicial, E3 = 20, G3 = 12,00, H3 = =E3G3, J3 = =E3, K3 = =G3, L3 = =E3G3.
- Selecciona D3 y abre Datos > Herramientas de datos > Validación de datos; pon Permitir = Lista y Origen = compra;venta;devolución;merma;ajuste;saldo inicial. Pulsa Aceptar.
- Selecciona el rango J3:L3 y aplícale formato de número con dos decimales desde Inicio > Número > Formato de número de contabilidad (o Ctrl+1 > Moneda).
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Kardex – Tornillos 6mm | |||||||||||
| 2 | Fecha | Documento | Detalle | Tipo | Entradas | Salidas | Costo unit. | Valor ent. | Valor sal. | Saldo und. | Costo prom. | Saldo valor |
| 3 | 01/08/2026 | — | Inventario inicial | saldo inicial | 20 | 12,00 | 240,00 | 20 | 12,00 | 240,00 |
Registra la primera compra y comprueba el costo promedio
- En la fila 4 anota la compra del 04/08/2026: A4 = 04/08/2026, B4 = F-1024, C4 = Distribuidora El Tornillo, D4 = compra, E4 = 30, G4 = 12,50.
- En H4 escribe =E4*G4. Verás 375,00 (30 por 12,50).
- En K4 escribe =SI(E4>0;(L3+H4)/(J3+E4);K3). El promedio nuevo es (240,00 + 375,00) / (20 + 30) = 615,00 / 50 = 12,30.
- En J4 escribe =J3+E4-F4, en L4 =L3+H4-I4.
- Copia K4, J4 y L4 hacia abajo hasta la fila 20 con el controlador de relleno, aunque de momento solo haya una fila con datos.
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 01/08/2026 | — | Inventario inicial | saldo inicial | 20 | 12,00 | 240,00 | 20 | 12,00 | 240,00 | ||
| 4 | 04/08/2026 | F-1024 | Distribuidora El Tornillo | compra | 30 | 12,50 | 375,00 | 50 | 12,30 | 615,00 |
Anota una venta y mira cómo la hoja la valora sola
- En la fila 5 anota la venta del 09/08/2026: A5 = 09/08/2026, B5 = B-0055, C5 = Cliente mostrador, D5 = venta, F5 = 12.
- La columna G (costo unitario) déjala vacía en una venta: la salida se valora al promedio de la fila, no al precio de venta.
- En I5 escribe =SI(F5>0;F5*K5;0). Como K5 = 12,30 (el promedio se arrastra), I5 = 12 × 12,30 = 147,60.
- En J5 arrastra la fórmula =J4+E5-F5: 50 + 0 – 12 = 38. En L5: =L4+H5-I5: 615,00 + 0 – 147,60 = 467,40.
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 | 04/08/2026 | F-1024 | Distribuidora El Tornillo | compra | 30 | 12,50 | 375,00 | 50 | 12,30 | 615,00 | ||
| 5 | 09/08/2026 | B-0055 | Cliente mostrador | venta | 12 | 147,60 | 38 | 12,30 | 467,40 |
Cierra el mes con una merma y un ajuste de inventario
- En la fila 6 anota una merma del 15/08/2026: A6 = 15/08/2026, B6 = —, C6 = Cajas dañadas en bodega, D6 = merma, F6 = 2. La merma es una salida sin venta, así que se descuenta al promedio (24,60 en I6).
- En la fila 7 anota el ajuste por conteo físico del 31/08/2026: como en el conteo te sobró 1 unidad (encontraste 37 en vez de las 36 que decía el saldo), anota A7 = 31/08/2026, D7 = ajuste, E7 = 1, G7 = 13,00 (el costo que le pones a esa unidad encontrada). H7 = 13,00 y el promedio se recalcula.
- En la fila 8 puedes poner la última fila del periodo: D8 = —, y dejar J8 y L8 como saldo final del mes (37 unidades, 479,80 en dinero).
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 | 09/08/2026 | B-0055 | Cliente mostrador | venta | 12 | 147,60 | 38 | 12,30 | 467,40 | |||
| 6 | 15/08/2026 | — | Cajas dañadas en bodega | merma | 2 | 24,60 | 36 | 12,30 | 442,80 | |||
| 7 | 31/08/2026 | — | Conteo físico | ajuste | 1 | 13,00 | 13,00 | 37 | 12,30 | 455,80 | ||
| 8 | 31/08/2026 | — | Saldo final mes | 37 | 12,30 | 455,80 |
Reproduce el kardex con PEPS para comparar
Para entender la diferencia entre métodos, duplica la hoja (clic derecho en la pestaña > Mover o copiar > Crear una copia) y cambia los encabezados: a la columna K ponle "Costo PEPS" y rehaz las fórmulas. La idea de PEPS es que cada compra crea un lote con su propio costo, y la venta descuenta primero del lote más antiguo.
Entradas y salidas a su propio costo con PEPS
En PEPS, la columna G (costo unitario) vale tanto para entradas como para salidas, porque cada lote mantiene su precio. La fórmula del saldo en unidades J sigue siendo =J_anterior + E – F. La del valor de salida I se vuelve más compleja: hay que ver de qué lote sale cada unidad. Con pocos movimientos se hace a mano, fila por fila:
=SI(F4>0;F4*MIN(K3:K3);0)
En la práctica, la fórmula PEPS necesita columnas auxiliares: una por cada lote, con su cantidad y su costo. Por eso, en una hoja con muchos movimientos, se vuelve incómodo y se prefiere el promedio o un sistema con base de datos. La celda K (costo PEPS de la fila) se queda con el costo del último lote que aún tenga unidades: =BUSCAR(2;1/(J3:J3>0);K3:K3).
| Concepto | Promedio (fila 8) | PEPS (mismo ejemplo) |
|---|---|---|
| Saldo unidades | 37 | 37 |
| Saldo en dinero | 455,80 | 461,50 |
| Costo unitario del saldo | 12,30 | 12,47 |
La diferencia sale de que en PEPS la unidad del ajuste (13,00) se queda en el saldo final y arrastra el costo hacia arriba, mientras que en promedio se diluye con los lotes anteriores.
UEPS, por qué muchos países no lo aceptan
Errores típicos del kardex en Excel y cómo arreglarlos
Saldo en negativo después de una venta
La columna J muestra -3 cuando en teoría tenías 38 unidades y vendiste 12. La causa: en la columna F se escribió un número mayor que el saldo anterior (por ejemplo, 50 en vez de 12), o la fila de saldo inicial estaba vacía y J3 dio 0. El arreglo: revisa la fila de la venta (que F5 sea 12, no 50) y comprueba que la celda J3 no esté en blanco. Si quieres que la hoja "avise" cuando se intente vender más de lo que hay, envuelve la fórmula de J con un control:
=SI(F4>J3;"Revisar";J3+E4-F4)
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 | 04/08/2026 | F-1024 | Distribuidora El Tornillo | compra | 30 | 12,50 | 375,00 | 50 | 12,30 | 615,00 | ||
| 5 | 09/08/2026 | B-0055 | Cliente mostrador | venta | 50 | 615,00 | 0 | 12,30 | 0,00 |
El costo promedio se vuelve cero al arrastrar
K4, K5, K6 muestran 0,00 después de copiar la fórmula hacia abajo. La causa: en K4 escribiste la referencia a L3 sin fijar, y al arrastrar se convirtió en L4, L5, L6 (que están vacías en las filas de venta). El arreglo: en K4 corrige la fórmula a =SI(E4>0;($L$3+H4)/($J$3+E4);K3), fijando con F4 (en Mac, Cmd+T) las celdas del saldo inicial.
=SI(E4>0;($L$3+H4)/($J$3+E4);K3)
La lista desplegable deja escribir cualquier texto
Hiciste clic en la flechita de D5, escribiste "compra " (con un espacio al final) y Excel lo aceptó. La causa: pegaste un valor encima o la validación se desactivó al copiar filas. El arreglo: vuelve a seleccionar D5, abre Datos > Validación de datos, marca la casilla "Mostrar mensaje de error siempre" en la pestaña Mensaje de error con Estilo = Detener. Para encontrar las celdas que ya tienen valores fuera de la lista: Datos > Herramientas de datos > Validación de datos > Rodear con un círculo los datos no válidos.
Mostrar mensaje de error si se introducen datos no validos: [x] (o)
Dos productos en la misma hoja y los saldos se mezclan
Anotaste tornillos y tuercas en la misma hoja para ahorrar espacio, pero al arrastrar las fórmulas las entradas de tuercas se sumaron a los tornillos. La causa: las fórmulas del kardex no filtran por producto, suman todo. El arreglo: una hoja por producto. Crea una portada en la Hoja1 con el nombre de cada producto y un hipervínculo a su hoja: =HIPERVINCULO("#'Tornillos 6mm'!A1";"Ir al kardex de Tornillos 6mm"). Así navegas con un clic y cada producto mantiene su saldo limpio.
Cuándo Excel se queda corto y qué usar en su lugar
Excel aguanta muy bien un kardex con uno o dos productos y menos de doscientos movimientos al mes. A partir de ahí, la hoja se vuelve lenta al recalcular, las fórmulas con muchas filas tardan en abrir y cualquier corte de luz puede dejar el archivo a medias. Si tu negocio pasa de cinco productos o de mil movimientos al mes, conviene mover el kardex a una tabla de Excel (Insertar > Tablas > Tabla) para que los rangos crezcan solos, y después conectarla con Power Query para cruzar los movimientos con la lista de precios y los clientes.
Cuando hay varios usuarios registrando a la vez (un vendedor, un bodeguero, un contador), Excel deja de ser el sitio: necesitas un sistema con base de datos (Access, un ERP pequeño, una aplicación en la nube). Ahí el kardex deja de ser una hoja y pasa a ser una vista: los movimientos se guardan en tablas y la pantalla los muestra filtrados y valorizados.
Lo que ya sabes hacer con tu kardex en Excel
- Tienes una hoja por producto con doce columnas, de la A a la L, y la fila 3 como saldo inicial con la fecha de corte y el costo.
- Sabes calcular el costo promedio fila por fila con la fórmula =SI(E4>0;(L3+H4)/(J3+E4);K3) y arrastrarla con el controlador de relleno.
- Controlas la columna Tipo con una lista desplegable (Datos > Validación de datos) que evita textos libres y nombres mal escritos.
- Reconoces los tres métodos de valuación (promedio, PEPS y UEPS) y entiendes por qué este tutorial usa el promedio como base y compara con PEPS al final.
- Sabes arreglar los cinco errores más comunes: saldo en negativo, promedio en cero al arrastrar, lista desplegable que acepta cualquier texto, productos mezclados en una misma hoja y límites de Excel cuando el inventario crece.
El siguiente paso es convertir el rango de datos en una Tabla (Insertar > Tablas > Tabla) para que el kardex crezca solo cuando añadas filas: las fórmulas del saldo y del promedio se copiarán automáticamente a las filas nuevas y la lista desplegable se extenderá sin que tengas que volver a configurar la validación.
Datos comprobados en octubre de 2026.
Dudas al armar un modelo de kardex en Excel
1. ¿Hay alguna plantilla de Kardex en Excel que se pueda descargar gratis?
Sí, en este tutorial descargas una plantilla de Kardex lista para abrir en Excel, con las columnas de entradas, salidas y saldo ya escritas y las fórmulas SUMA calculando el stock por producto. Solo tienes que rellenar los movimientos y los totales se actualizan solos al escribir cada nueva fila.
2. ¿Cómo es un modelo de Kardex simple en Excel?
Un Kardex simple en Excel es una tabla con cinco columnas: fecha, concepto, entradas, salidas y saldo, una fila por cada artículo. El saldo se calcula con una fórmula que suma las entradas y resta las salidas al saldo de la fila anterior, así ves el inventario actualizado producto a producto.
3. ¿Qué fórmulas se usan en un formato de Kardex en Excel?
Las fórmulas clave son SUMA para totalizar entradas y salidas por producto y una resta para el saldo, con la referencia fija al primer movimiento para que la fórmula se copie hacia abajo sin perder el ancla. Con esas dos ideas resuelves el Kardex sin macros ni tablas dinámicas.
4. ¿Cómo preparo un Kardex en Excel para imprimir?
En la pestaña Disposición de página ajustas el área de impresión al rango del Kardex, eliges orientación vertical y escalas al ancho de una hoja. Después en Archivo > Imprimir verás la vista previa y, si te conviene, exportas a PDF con un clic para quedarte el documento listo.
5. ¿Cómo se registran las entradas y salidas en un Kardex en Excel?
Cada movimiento ocupa una fila: en la columna de entradas escribes la cantidad que entra y en la de salidas la que sale, con su fecha y un concepto breve. El saldo se recalcula en la misma fila restando las salidas a las entradas más el saldo anterior, sin tocar nada a mano.
6. ¿Puedo imprimir la tarjeta de Kardex de un solo producto?
Sí, si filtras la tabla por el nombre o el código del artículo, Excel te deja mostrar solo sus filas y ocultar el resto de productos. Luego imprimes ese rango o lo guardas como PDF y tienes la tarjeta Kardex individual lista para archivar.
7. ¿Se puede automatizar un Kardex en Excel?
Se automatiza con fórmulas que calculan los totales al escribir cada movimiento, y si quieres ir más allá puedes usar una tabla con validación de datos para que las entradas y salidas solo admitan números. Con eso el Kardex se actualiza solo sin macros ni programación.
8. ¿Dónde descargo un formato de tarjeta Kardex?
En la plantilla del tutorial tienes el formato de tarjeta Kardex en Excel, con las columnas de entradas, salidas y saldo y las fórmulas SUMA ya montadas. Ábrela, copia los datos de tus productos y tendrás la tarjeta lista para rellenar, imprimir o guardar como PDF.