Hoy traigo al blog otro punto de venta gratuito y open source, pero este es especial pues fue el primer programa que hice y que fue usado por varias personas.

El punto de venta que presento es un POS web, totalmente open source y gratuito, además de simple y bonito.

Punto de venta web con PHP, MySQL, jQuery, JavaScript y Bootstrap

Punto de venta web con PHP, MySQL, jQuery, JavaScript y Bootstrap

Está hecho con PHP y JavaScript con jQuery (era el año 2016), usa MySQL/MariaDB como motor de base de datos y Bootstrap para los estilos, con varios temas.

Como ya dije anteriormente, este fue mi primer punto de venta oficial que comencé como por el 2015 (apenas iniciaba la universidad, qué tiempos) y luego terminé en el 2016.

Aunque parezca antiguo sigue funcionando como un encanto incluso con PHP 8.

En este post te mostraré los módulos del sistema y cómo puedes descargarlo e instalarlo en tu computadora o en tu hosting compartido.

El programa es totalmente responsivo y permite la impresión de tickets de manera local.

Manejo de inventario

Como cualquier PDV que se respeta, éste tiene el manejo del inventario en donde se registran los productos.

Podemos registrar el precio de compra, precio de venta, código de barras, nombre, existencia actual, cantidad mínima y proveedor o familia.

Manejo de inventario en sistema de ventas con PHP, JS, jQuery y Bootstrap open source

Manejo de inventario en sistema de ventas con PHP, JS, jQuery y Bootstrap open source

También podemos dar de baja al producto, eliminarlo, editarlo y agregar piezas.

Caja y gastos

Además del dinero ingresado por las ventas, podemos registrar ingresos y gastos que modifican a la caja del día.

Tenemos el módulo de caja en donde agregamos ingresos, y los gastos en donde registramos salidas de dinero:

Registrar gastos e ingresos en pdv open source

Registrar gastos e ingresos en pdv open source

Alta de inventarios

En este sistema también podemos registrar compras o alta de inventarios cuando un proveedor viene a surtir. Es parecido al módulo de ventas pero en lugar de restar existencia la aumenta:

Alta de inventarios - Registrar compras en punto de venta con jQuery open source

Alta de inventarios – Registrar compras en punto de venta con jQuery open source

Reportes de ventas, caja, gastos, bajas de inventario

Este sistema genera varios reportes. Entre ellos:

  1. Inventarios
  2. Bajas de inventarios
  3. Caja
  4. Ventas
  5. Gastos
  6. Productos en stock

Los reportes se pueden filtrar por fecha. Aquí vemos uno de ventas:

Reporte de ventas en sistema para ventas con PHP y MySQL

Reporte de ventas en sistema para ventas con PHP y MySQL

Podemos ver que se puede filtrar por fecha desde un inicio hasta un final, y también se puede filtrar por familia.

Usuarios

El sistema necesita autenticación para entrar. Por defecto ya existe el usuario parzibyte con la contraseña parzibyte.

También podemos agregar más usuarios, ya sean usuarios normales o usuarios administradores.

Registrar usuario en sistema de ventas

Registrar usuario en sistema de ventas

Ajustes generales

Finalmente veamos los ajustes. Aquí podemos configurar la impresora térmica, cambiar el tema (una de mis partes favoritas) y configurar los datos de la empresa.

Ajustes de impresora, datos de empresa y tema

Ajustes de impresora, datos de empresa y tema

Esta captura fue tomada con las dimensiones de un iPhone 12 Pro (usando las herramientas de desarrollo de Chrome; no crean que yo poseo ese dispositivo).

Aquí se puede apreciar también que el sistema es responsivo.

Instalación y descarga

Vamos a lo interesante. Este programa es de código abierto, y puedes descargarlo aquí (sigue las instrucciones que aparecen en ese enlace).

Vas a necesitar con PHP, MySQL y Apache. Si estás en Windows de manera local puedes usar XAMPP.

Una vez que lo hayas descargado colócalo en la carpeta pública, que si es XAMPP será C:\xampp\htdocs\.

Ahora ve a phpmyadmin o abre el gestor de MySQL de la manera que tú sepas, y crea una base de datos llamada okventa_by_parzibyte.

Una vez que hayas creado la base de datos, importa los datos usando el archivo esquema.sql. Ese archivo lo encuentras junto con el código fuente.

Iniciar sesión en punto de venta okventa

Iniciar sesión en punto de venta okventa

El esquema ya lleva un usuario por defecto que es parzibyte con la contraseña parzibyte. Y eso es todo, así puedes instalar el sistema de ventas gratuito.

Sobre la impresión de tickets

Este sistema soporta las impresoras térmicas. Solo hay que instalar y compartir la impresora térmica como se indica en mi otro tutorial, y luego debes configurarla en ajustes del sistema (dentro del punto de venta).

También debes marcar el checkbox de impresión de tickets al momento de vender, ya sea manualmente o modificando el código fuente para que tenga el atributo checked.

Conclusión y un poco de historia

Te invito y casi obligo a que repliques, modifiques, compartas, vendas y distribuyas este sistema. Haz lo que quieras con él.

Fue uno de mis primeros sistemas y nada me haría más feliz que ayudar a personas con uno de los primeros puntos de venta que he creado.

Antes de crear este sistema le temía a las impresoras térmicas pues no había mucha información al respecto, pero en este sistema pude implementarlo gracias a la librería de mike42.

Años después desarrollé un plugin y luego su versión 2 para imprimir en impresoras térmicas, pero si no hubiera sido por este sistema tal vez nunca lo habría hecho.

Por aquí te dejo más sistemas que he programado.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 5,522 suscriptores

parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

14 Comentarios

Roberto · septiembre 15, 2022 a las 9:14 am

Hola, se agradece mucho el aporte, estoy intentando probarlo desde un servidor web pero no paso del inicio, ya verifiqué los datos de la BD y estan todos en orden, algun consejo? gracias

    parzibyte · septiembre 15, 2022 a las 9:33 am

    Hola. Gracias por sus comentarios. Si tiene alguna consulta, solicitud de creación de un programa o solicitud de cambio de software estoy para servirle en https://parzibyte.me/#contacto
    Saludos!

Gabriela · junio 15, 2022 a las 12:19 pm

Para los que les ha quedado en un Loop después del incio de sesión revisen que hayan puesto los daros de inicio de sesión de la base de datos ( root, nombre base de datos, contraseña) en db.php

Carlos · junio 7, 2022 a las 1:25 pm

Hola, gracias por compartir tus trabajos con nosotros, he estado revisando y aprendiendo los códigos para poder generar mis propios sistemas, pero en especial con este no he podido realizar q funcione correctamente, lo he instado sin problema e inicio sesión, pero cuando carga la pagina de ventas se queda en un loop, que no deja hacer nada, he revisado el código sin encontrar que puede ser, si me puedes ayudar por favor

    parzibyte · junio 7, 2022 a las 2:53 pm

    Hola. Gracias por sus comentarios. Le recomiendo que revise que haya seguido todos los pasos del tutorial. También puede revisar la consola de depuración en el apartado de Red para ver la respuesta del servidor. Si sigue teniendo problemas estaré encantado de ayudarle en https://parzibyte.me/#contacto
    Saludos!

Carlipe · junio 7, 2022 a las 9:33 am

Hola Amigo, descargue esta pagina, porque quiero aprender a desarrollar sistemas web, pero al instalar luego del login me queda en un loop infinito he revisado el código, pero no encuentro el problema.No se si a alguien mas le pasa, pero me he dado mil cabezazos con el computador ya un nada

    parzibyte · junio 7, 2022 a las 10:16 am

    Hola. Revise que haya seguido todos los pasos del tutorial. También puede revisar la consola de depuración en el apartado de Red para ver la respuesta del servidor. Si sigue teniendo problemas estaré encantado de ayudarle en https://parzibyte.me/#contacto
    Saludos!

WILL · junio 4, 2022 a las 10:57 pm

Yo importé la base de datos y coloque la carpeta en htdocs pero al ingrear las credenciales de parzibyte se queda en comprobando y no hace nada mas

    parzibyte · junio 6, 2022 a las 2:50 pm

    Hola. Revise que haya seguido todos los pasos del tutorial. También puede revisar la consola de depuración en el apartado de Red para ver la respuesta del servidor. Si sigue teniendo problemas estaré encantado de ayudarle en https://parzibyte.me/#contacto
    Saludos!

WILL · junio 4, 2022 a las 10:55 pm

yo importel a base de datos. pero cuando quiero ingresar con las credenciales de parzibyte se queda en comprobando y de ahi no pasa, que puedo revisar para solucionarlo?

    parzibyte · junio 6, 2022 a las 2:50 pm

    Hola. Revise que haya seguido todos los pasos del tutorial. También puede revisar la consola de depuración en el apartado de Red para ver la respuesta del servidor. Si sigue teniendo problemas estaré encantado de ayudarle en https://parzibyte.me/#contacto
    Saludos!

Mynor · mayo 14, 2022 a las 6:29 pm

Amigo con una consulta, no logro hacer que imprima el ticket, al marcar la casilla se queda cargando infinitamente y ya detecto mi impresora, muchisimas gracias por compartir tu software :))))

H4WK · mayo 6, 2022 a las 1:04 pm

Gracias estimado por compartir el software. Saludos cordiales.

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada.

A %d blogueros les gusta esto: