Montar un punto de venta en Excel gratis es totalmente viable para un negocio pequeño: una tienda, una cafetería, un puesto de mercado o cualquier mostrador que cobre al instante. La idea es usar un libro de Excel como si fuera el corazón del TPV: una hoja con el catálogo de productos, otra donde se van anotando las ventas y una tercera donde se cierra la caja al final del día.
En este tutorial vas a crear, desde cero y con tu propio teclado, un libro POS con tres hojas conectadas entre sí: Productos, Tickets y Cierre. Al terminar tendrás catálogo con control de stock, tickets numerados con su total, y un resumen diario del dinero cobrado. Todo funciona en Excel 2013 o superior en Windows, y también en Excel para Microsoft 365 y en Excel para la web. Vamos a ello.
Qué es un punto de venta en Excel y cuándo te sirve
Un punto de venta Excel es un libro que hace las mismas cuatro funciones básicas que un software TPV de caja: guardar el catálogo de lo que vendes con su precio y unidades disponibles, anotar cada venta con su fecha, su importe y la forma de pago, calcular el cierre del día, y ayudarte a controlar el inventario para no vender lo que ya no tienes.
Lo que NO hace Excel por sí solo es imprimir el ticket en una impresora térmica, abrir el cajón monedero al cobrar, ni conectar directamente con un datáfono. Un TPV de caja propietrio sí hace todo eso de serie; Excel hace solo lo primero y abre la puerta a que tú, o una plantilla ya montada, le conecte las piezas restantes. En este tutorial cubrimos las cuatro funciones básicas y dejamos apuntado al final qué partes se conectan después.
Te sirve si tienes un mostrador pequeño, pocas referencias en catálogo (hasta unos pocos cientos), y un volumen de tickets diario que un usuario puede teclear a mano. Cuando el volumen crece, el siguiente paso es pasar a una plantilla POS gratuita que ya trae la conexión con la impresora térmica y el cajón montadas.
Lo que Excel trae y lo que necesitas añadir
Excel trae de serie todo lo que necesitas para las cuatro funciones básicas: tablas que crecen solas al añadir productos, fórmulas como BUSCARV, MAX o SUMAR.SI.CONJUNTO, formatos de número para dinero y porcentajes, validación de datos para impedir entradas imposibles, y formato condicional para pintar de rojo el stock bajo. También trae formatos de celda, filtros y la posibilidad de imprimir el cierre de caja directamente.
Lo que necesitas añadir desde fuera es el hardware: una impresora de tickets (térmica) que se conecte al ordenador por USB, un cajón monedero que se abra por la impresora (RJ12) o por USB, y, si quieres velocidad, un lector de códigos de barras que actúa como un teclado: escribe el código y pulsa Intro. Los lectores se conectan y listo, sin drivers especiales; la impresora de tickets sí necesita su controlador instalado.
La versión mínima para seguir este tutorial es Excel 2013 en Windows, porque usamos tablas con referencias estructuradas (presentes desde 2011). Excel para la web sirve para crear el libro y registrar ventas, pero no ejecuta macros ni conecta con hardware USB, así que lo imprimible se hace desde el escritorio.
La hoja de Productos: tu catálogo con precio y stock
Empezamos por el catálogo. Crea un libro nuevo y, en la primera hoja (llámala Productos si quieres, basta con cambiar el nombre de la pestaña dos veces con doble clic), escribe este contenido empezando en A1.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Código | Nombre | Precio | Stock |
| 2 | CAF-001 | Café solo | 1,20 | 40 |
| 3 | CRO-001 | Croissant | 1,80 | 12 |
| 4 | AGU-001 | Agua 0,5 L | 1,00 | 25 |
Ahora sigue estos pasos:
- Selecciona el rango
A1:D4con el ratón. - En la cinta, ve a
Insertar > Tablas > Tabla. PulsaAceptaren el cuadro de diálogo (la marca de encabezados se detecta sola). - En la cinta lateral Diseño de tabla que aparece, pon el nombre
Productosen el cuadro Nombre de la tabla (arriba a la izquierda). Enter para confirmar.
La tabla se llama ahora Productos. Verás que al añadir una fila debajo, los formatos y las fórmulas se aplican solas. Los nombres de las columnas se usan luego en las fórmulas como Productos[Precio].
Validación para no vender algo que no tienes
Sigue siendo en la hoja Productos, sobre la columna Stock. Vamos a hacer dos cosas: una regla que impida dejar el stock vacío, y un formato condicional que pinte la celda en rojo cuando queden menos de 5 unidades.
Para la validación, selecciona la columna Stock (clic en la letra D) y abre la herramienta:
Ahora el formato condicional que avisa del stock bajo. Selecciona de nuevo D2:D1000 (o toda la columna Stock) y abre:
Escribe 5 en el cuadro y elige el formato Relleno rojo claro con texto rojo oscuro. Pulsa Aceptar.
Búsqueda del precio por código con BUSCARV
Ahora añadimos una segunda hoja, Tickets, y le preparamos la primera columna para registrar ventas. En A1 escribe Código, en B1 Cantidad, en C1 Precio, en D1 Total. Haz clic en la celda C2 y escribe esta fórmula:
=BUSCARV(A2;Productos[[#Todo];[Código]:[Precio]];3;FALSO)
Pulsa Enter. La fórmula devuelve #N/A porque A2 está vacío: es lo esperado.
Escribe CAF-001 en A2, 2 en B2, y verás cómo C2 muestra 1,20 (el precio del café) y D2… espera, todavía no hay fórmula en D2. Añade en D2:
=B2*C2
Pulsa Enter. D2 muestra 2,40.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Código | Cantidad | Precio | Total |
| 2 | CAF-001 | 2 | 1,20 | 2,40 |
La sintaxis Productos[[#Todo];[Código]:[Precio]] le dice a BUSCARV (en inglés VLOOKUP) que busque en toda la tabla Productos, en las columnas que van de Código a Precio, y que devuelva el valor que está en la columna 3 de ese rango (que es Precio, contando desde Código). El FALSO final obliga a la coincidencia exacta: si el código no existe, devuelve #N/A.
#N/A.Registrar una venta: la hoja Tickets
Vamos a completar la hoja Tickets para que pueda registrar ventas una detrás de otra. Ve a la pestaña Tickets y reescribe los encabezados para que tengan todo lo que necesita un ticket real. Sustituye la fila 1 por esta cabecera completa:
A1: Ticket-N · B1: Fecha · C1: Hora · D1: Código · E1: Cantidad · F1: Precio · G1: Descuento % · H1: IVA % · I1: Total · J1: Pago
Selecciona A1:J1 y aplica negrita (Ctrl+N). En B2 escribe =HOY(), en C2 escribe =AHORA() (dale formato hora corta, ya veremos). En F2:
=BUSCARV(D2;Productos[[#Todo];[Código]:[Precio]];3;FALSO)
En I2 la fórmula que combina cantidad, precio, descuento e IVA:
=F2*E2*(1-G2)*(1+H2)
Pulsa Enter. Deja los porcentajes en G2 e H2 en blanco (o a 0) si no quieres aplicar ni descuento ni IVA en esta venta. La fila 2 ya tiene todo lo necesario para un ticket completo.
| A | B | C | D | E | F | G | H | I | J | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Ticket-N | Fecha | Hora | Código | Cantidad | Precio | Descuento % | IVA % | Total | Pago |
| 2 | 1 | 02/10/2026 | 10:15 | CAF-001 | 2 | 1,20 | 0% | 21% | 2,90 | Efectivo |
Numeración automática del ticket con un contador
El número de ticket no se puede escribir a mano en cada venta: tiene que ir saliendo solo. Vamos a la celda A2 y la dejamos con esta fórmula:
=MAX(Tickets[Ticket-N])+1
Pulsa Enter. La primera vez A2 vale 1 porque la columna está vacía y MAX devuelve 0; al sumarle 1 sale 1. Cuando añadas una nueva venta en la fila 3, MAX lee la columna y suma 1 otra vez.
=MAX(Tickets[Ticket-N])+1 usa la referencia estructurada Tickets[Ticket-N], que apunta a la columna de la tabla aunque cambies de fila. Arrastra el controlador de relleno desde A2 hacia abajo cuando ya tengas varias ventas y la numeración se mantiene consecutiva.Descuento, IVA y cobro: tres cuentas dentro de la misma fila
Las tres columnas que quedan (G, H, I) funcionan como un mini-tpv en una sola fila. Si en G2 escribes 10% (descuento del 10%), Excel interpreta 10% como 0,10 y la fórmula (1-G2) descuenta automáticamente. Si en H2 escribes 21% para el IVA, (1+H2) aplica el 21% encima de la base con descuento.
Para J2, donde va la forma de pago, conviene limitar las opciones a una lista desplegable, así no hay errores de escritura. Selecciona J2:J1000, abre Datos > Herramientas de datos > Validación de datos y configúralo como Lista con origen:
=Efectivo;Tarjeta;Transferencia
Pulsa Aceptar y ya tienes la lista desplegable en la columna de cobro. Cada nueva fila hereda la misma validación automáticamente.
El cierre de caja del día
Vamos a la pestaña Cierre. En esta hoja es donde el cajero, al final del día, ve de un vistazo cuánto ha vendido y cuánto debería haber en caja.
Escribe en la fila 1 los encabezados: A1: Forma de pago · B1: Tickets · C1: Importe · D1: Comentario. Debajo, en la columna A, las tres formas de pago permitidas: Efectivo, Tarjeta, Transferencia en A2, A3 y A4.
Para contar los tickets de cada forma de pago, en B2:
=CONTAR.SI(Tickets[Pago];A2)
Para sumar el importe total cobrado con cada forma, en C2:
=SUMAR.SI.CONJUNTO(Tickets[Total];Tickets[Pago];A2;Tickets[Fecha];HOY())
CONTAR.SI (en inglés COUNTIF) cuenta celdas que cumplen una condición; SUMAR.SI.CONJUNTO (en inglés SUMIFS) suma importes que cumplen varias condiciones a la vez.Copia B2:C2 a B3:C4 arrastrando el controlador de relleno. Cada fila calcula su forma de pago cruzando fecha (hoy) y tipo de cobro.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Forma de pago | Tickets | Importe | Comentario |
| 2 | Efectivo | 3 | 18,70 | |
| 3 | Tarjeta | 2 | 12,50 | |
| 4 | Transferencia | 1 | 6,00 | |
| 5 | Total del día | 37,20 |
En C5 añade el total del día con:
=SUMA(C2:C4)
Cuadro resumen que se ve al imprimir
Debajo del resumen por forma de pago, añade un bloque con cuatro indicadores clave del día. Por ejemplo en A8:D8 los encabezados Total vendido, Número de tickets, Ticket medio y Efectivo en caja. En A9:
=SUMA(C2:C4)
En A10:
=CONTARA(Tickets[Ticket-N])
En A11:
=A9/A10
En A12:
=C2
(El efectivo en caja es exactamente el importe cobrado en efectivo, asumiendo que no hay cambio entregado.)
Para imprimirlo bonito: Ctrl+P, en Configuración de página elige Orientación horizontal, Ajustar a 1 página de ancho por 1 de alto y Escala 100%. Pulsa Vista previa y verás un cuadro resumen claro con los cuatro números del día.
Errores típicos al montar tu propio POS
Tres fallos reales con los que te vas a encontrar las primeras semanas, y cómo arreglarlos.
El BUSCARV devuelve #N/A al pasar el lector
Cuando el lector de códigos escribe el código en la celda, a veces mete un espacio al final que no se ve. En la pantalla se ve el mismo código, pero BUSCARV devuelve #N/A porque busca CAF-001 y en la tabla hay CAF-001 (con un espacio invisible).
El arreglo más limpio es envolver la celda del código con ESPACIOS (en inglés TRIM), que recorta los espacios sobrantes al inicio, al final y los duplicados dentro del texto. Cambia la fórmula de F2 en Tickets por:
=BUSCARV(ESPACIOS(D2);Productos[[#Todo];[Código]:[Precio]];3;FALSO)
A partir de ahora, da igual cómo llegue el código.
La fórmula se descuadra al arrastrarla
Copias la fórmula de la fila 2 a la fila 3 y algo deja de funcionar. La causa típica es que una referencia al rango Productos se ha quedado relativa y se ha desplazado. La solución es fijar la tabla pulsando F4 justo después de seleccionarla dentro de la fórmula, lo que añade los dólares y la convierte en absoluta.
En nuestro tutorial ese problema no aparece porque usamos referencias estructuradas (Productos[[#Todo];[Código]:[Precio]]), que no se mueven al arrastrar. Si en algún momento pasas esa fórmula a un rango normal (por ejemplo $A$2:$D$200), selecciónalo en la barra de fórmulas y pulsa F4 para convertirlo en $A$2:$D$200 y que no se desplace al copiar.
El stock no se actualiza al vender
La hoja Tickets solo lee el precio, no descuenta unidades. Si vendes 2 cafés, el catálogo sigue marcando 40 unidades como si nada.
La forma más simple de mantenerlo sincronizado es crear una columna Ventas en la tabla Productos que reste lo vendido. Ve a la hoja Productos, añade una columna nueva K con encabezado Ventas y en K2:
=SUMAR.SI.CONJUNTO(Tickets[Cantidad];Tickets[Código];A2)*-1
Pulsa Enter. La celda muestra un número negativo: las unidades que se han vendido de ese producto. Si quieres ver el stock real disponible, crea otra columna L con encabezado Stock real y en L2:
=D2+K2
Esa columna sí baja cuando vendes.
Lo que Excel no hace (y cómo lo cubre una plantilla)
Excel no imprime tickets en una impresora térmica por sí mismo: cuando pulsas Ctrl+P, lo que sale es una hoja A4 con la división de celdas, no un rollo de 80 mm. Tampoco abre el cajón monedero: Excel no sabe mandar la señal RJ12 ni la patilla 2-3 del puerto serie que dispara el cajón. Y, por último, no sincroniza varias cajas en tiempo real: si dos ordenadores abren el mismo archivo desde la red, el segundo en guardar suele chocar con el primero y acaba pidiendo mantener cambios o descartar.
Una plantilla POS gratuita cubre exactamente esas tres piezas, dejando Excel como base de datos y de informes. Las plantillas suelen venir con un complemento que envía el texto del ticket a la impresora térmica (mucho más rápido que imprimir desde Excel) y dispara el cajón en el momento del cobro. Algunas también integran la sincronización en la nube (OneDrive, Google Drive) o permiten varios usuarios con un mínimo histórico de cambios.
Si tu volumen pasa de unas decenas de tickets al día o necesitas más de un puesto de caja, conviene descargar una plantilla ya probada y dedicar tu tiempo a configurar productos y usuarios, no a depurar BUSCARV.
Lo que ya sabes hacer y el siguiente paso
Ya tienes en tu Excel:
- Un catálogo en forma de tabla con precio, stock y validación para que ningún producto se quede con existencias negativas.
- Una hoja Tickets con numeración automática, precio traído por BUSCARV, descuento, IVA y forma de pago en lista desplegable.
- Un cierre de caja diario que cruza fecha y forma de pago, con el total del día y un cuadro listo para imprimir.
- Control de stock en tiempo real que descuenta las unidades vendidas al catálogo.
El siguiente paso es decidir entre hacerlo tú con lo que ya tienes o ir a una plantilla POS gratuita ya montada. Si te quedas con tu Excel, conecta el lector de códigos (basta con enchufarlo por USB y empezar a leer) y revisa la configuración de la impresora de tickets antes de imprimir el primer ticket de prueba. Si optas por plantilla, busca una que mantenga el archivo .xlsx para no perder las fórmulas que ya dominas y poder exportar los informes a Excel cuando los necesites.
Dudas al montar un punto de venta en Excel
1. ¿Dónde puedo descargar una plantilla de punto de venta en Excel gratis?
En sitios oficiales como Microsoft Create encuentras plantillas de "Inventario" y "Facturación" listas para usar. Están en formato .xlsx, sin macros, y se adaptan a un TPV básico añadiendo columnas de producto, precio, cantidad e importe. Te descargas el archivo, lo abres y empiezas a trabajar sobre él.
2. ¿Se puede montar un sistema POS en Excel gratis?
Sí: una hoja de cálculo con productos, precios y stock más una hoja de ventas con BUSCARV (VLOOKUP) es el núcleo de un POS funcional. Para algo más serio, las macros VBA automatizan el cobro y el descuento de inventario. La limitación real es que no procesa pagos ni imprime tickets por sí solo.
3. ¿Cómo hacer un punto de venta en Excel con control de inventario?
Crea dos hojas: "Productos" con columnas de código, nombre, precio y stock actual, y "Ventas" donde cada línea use BUSCARV para traer el producto y reste la cantidad vendida del stock con una fórmula sencilla. Con una tabla dinámica (Insertar > Tablas dinámicas) verás qué productos entran y salen sin tocar más código.
4. ¿Puedo conectar un lector de código de barras a un punto de venta en Excel?
Sí, la mayoría de lectores USB actúan como teclado: escriben el código en la celda activa y pulsan Intro. Solo tienes que colocar el cursor en la columna de códigos y disparar el lector para que BUSCARV traiga nombre y precio al instante. No hace falta instalar drivers extra en Windows 10 u 11.
5. ¿Cómo creo un punto de venta en Excel con macros?
Activa la pestaña Programador (Archivo > Opciones > Personalizar cinta de opciones) y abre el editor con Alt+F11 para escribir una macro que registre la venta, reste stock y limpie el ticket. Guarda el archivo como .xlsm, no como .xlsx, o perderás el código al cerrar. Es la forma más rápida de automatizar cobros repetitivos.
6. ¿Qué significa TPV en Excel?
TPV son las siglas de Terminal Punto de Venta, el mismo concepto que POS en inglés. En Excel, un TPV es básicamente una hoja que registra productos, cantidades y totales para simular la caja de un comercio. No sustituye a un programa profesional, pero sirve para pequeños negocios, pruebas o aprendizaje.
Fuentes
- MicrosoftExcel para la web (Excel online) — documentación oficialconsultado el 13/10/2026
- MicrosoftImportar un archivo de texto o CSV — documentación oficialconsultado el 13/10/2026
- MicrosoftCómo se escribe un formato personalizado — documentación oficialconsultado el 13/10/2026
- MicrosoftCOVAR — documentación oficialconsultado el 13/10/2026
- MicrosoftDESVPROM — documentación oficialconsultado el 13/10/2026