Evilnapsis

Programming, Hacking and More

Web ProjectWeb Project Featured

Inventio Lite: Sistema de Inventario y Ventas

Inventio Lite es un Sistema de Inventario y ventas para tu tienda, controla ventas, clientes, proveedores, inventario, abastecimientos, cortes de caja y mas, el sistema esta desarrollado en PHP, MySQL y Bootstrap 3.

Aumenta la productividad de tu negocio con la implementacion de un sistema de inventario y lleva el control de tu almacén de manera segura y ordenada, si buscas un sistema ligero, practico y potente entonces Inventio Lite es la solucion para tu negocio.

Apoya el desarrollo y actualización del sistema Inventio Lite dando un click al siguiente link, te lo agradecere 🙂

Actualizacion v4: 9 de Agosto del 2023.

Datos de la Actualizacion v4.

  • Se dejo de usar la plantilla AdminLTE
  • Ahora se usa la plantilla Core UI v4
  • Actualizacion a Bootstrap5
  • Actualizacion a PHP 7/8

El sistema Inventio Lite tiene las siguientes características:

  • Modulo de Productos
  • Modulo de Ventas
  • Modulo de Cortes de Caja
  • Modulo de Clientes
  • Modulo de Proveedores
  • Modulo de Categorías
  • Modulo de Inventario
  • Sistema Multiusuario
  • Generación de reportes por rango de fecha
  • Impresión de reportes en Word

Caracteristicas

Productos

Gestiona los productos que manejas en tu tienda, agrega imágenes, descripción, precio de entrada, de salida y el mínimo de inventario que sirve para que veas alertas cuando tu inventario este bajo.

También puedes organizar tus productos por categorías y también puedes activar y desactivar los productos.

Vender

En la sección de vender se buscan los productos, se añaden cantidades y se procesan las ventas.

Puedes ingresar el efectivo recibido y obtener una alerta con el cambio que le devolveras al cliente, también puedes ver tus ventas, asignarlas a un cliente e imprimirla.

Clientes

Gestiona tu directorio de clientes y añade información sobre ellos, dirección, email y teléfono para que puedas estar en contacto con ellos.

También puedes asociar una venta a un cliente en el modulo de ventas y se muestra en el reporte de ventas el cliente asociado.

Proveedores

Gestiona tu directorio de proveedores y añade información sobre ellos, dirección, email y teléfono para que puedas estar en contacto con ellos.

También puedes asociar tus abastecimientos de inventario  a un proveedores y se muestra en el reporte del abastecimiento.

Inventario

En el inventario puedes ver la disponibilidad de tus productos, dar de alta o ver el historial, también puedes descargar un archivo word con toda la información del inventario.

Cortes de Caja

Administra tus ventas en un modulo de cortes de caja que puedes abrir y cerrar en el momento que lo necesites y asi registrar las operaciones que se efectúen durante el turno de tus cajeros.

Puedes exportar en formato word los datos referentes a un corte de caja.

Usuarios

Controla el acceso al sistema mediante el sistema de usuarios, con 2 niveles, 1 para administradores y para usuarios normales, también puedes activar y desactivar los usuarios cuando quieras o no que accedan al sistema.

Reportes en Word

Puedes descargar versiones imprimibles de tu lista de clientes, productos , inventario, ventas y alertas de inventario.

Curso de Uso del Sistema Inventio Lite

Quieres aprender a instalar, usar y sacar el máximo provecho al sistema Inventio Lite, te invito a tomar el curso Uso del Sistema Inventio Lite

Curso Crear un Sistema de Inventario y Ventas con PHP y MySQL

Quieres aprender a crear tu propio sistema de inventario y ventas, ademas aprender como agregar nuevas funcionalidades, te invito a que sigas mi curso Crear un Sistema de Inventario y Ventas con PHP y MySQL, no te lo pierdas.

Descargar

Descargar Inventio Lite v4.0

Link: https://github.com/evilnapsis/inventio-lite/archive/refs/heads/master.zip

Proyecto en GitHub

Encuentra el proyecto en el repositorio: https://github.com/evilnapsis/inventio-lite

Apóyame

Hay muchas formas en las que me puedes apoyar para seguir creando contenido, proyectos y actualizaciones a los sistemas:

Inventio Max

Inventio Max es la evolución de Inventio Lite, con muchas mejoras, un nuevo diseño y características profesionales, multiple inventario gestión de finanzas, compras, pedidos, cuentas por cobrar y por pagar, reportes, y mucho mas.

Agustin Ramos

Desarrollador de Software

146 thoughts on “Inventio Lite: Sistema de Inventario y Ventas

  • Excelente programa. Seria ideal tener un buscador en la lista de productos, como lo podria agregar?. Ademas de poder organizarlo ya sea por las opciones que estan en las columnas (Nombre, precio, etc). Saludos

  • Natalia Gómez

    Holis! excelente trabajo la verdad solo una pregunta: ya noté que has explicado como migrar la base de datos de la 1.8 a la 2.0 en sistema operativo privativo pero podrias explicar la forma de hacerlo en sistema operativo linux? he intentado varias cosas y no doy con la solución. Mil gracias de antemano.

    • En linux. Las sentencias SQL son las mismas, solo debes ejecutar la consola de mysql. de hecho solo debes escribir “mysql -uroot” en la consola de linux, despues “use inventiolite” y pegas los comandos SQL, tambien puedes usar el PhpMyAdmin.

  • Disculpa mi ignorancia, pero cual es la contraseña para accesar al sistema, ya que vienen muchos caracteres en la base de datos 🙁 ya la subi al servidor y ya esta corriendo el sistema en el navegador, pero solo me falta accesar, espero su respuesta! y muchas gracias por compartir.

  • hola, agradecida con tu aporte. me gustaría editar el titulo y poner el de mi empresa ya busque como editarlo pero no consigo como porfa ayúdame en eso. te agradezco tu pronta respuesta. gracias…

    • Hola virginia, vas al archivo inventio-lite/core/modules/index/view/layout.php, en la linea cambias el titulo en la pestaña del navegador y en la linea 35 cambias el titulo que aparece en el navbar(barra negra) de la aplicacion. Saludos

  • Nelson Gutiérrez

    Gran trabajo hermano! te comento que he venido trabajando con la versión anterior (1.8) y nunca me ha dado problemas, recien me estoy dando cuenta de que hay una nueva versión (2.0) disponible. Mi pregunta es la siguiente: ¿puedo exportar las bases de datos de la versión 1.8 a la 2.0 y si es así podrias explicar como hacerlo? de antemano muchas gracias.

    • Win+ R = App ejecutar, escribes cmd.exe
      En la cmd.exe escribes:
      cd \xampp\mysql\bin [enter]
      Despues
      mysql -uroot inventiolite
      Ahi entras a la consola de mysql en la base de datos inventiolite, ahi copias y pegas:
      /** start sql | evilnapsis **/
      alter table sell add column total double;
      alter table sell add column cash double;
      alter table sell add column discount double;
      /** end sql **/
      Saludos

  • Hola, agrega suscripcion para que nos lleguen novedes de tus aplicaciones y actualizaciones, suerte

  • Abel Cerdá

    Hola, Agustín, interesante proyecto, lo estoy corriendo en windows y todo bien.
    Ahora lo instale en ubuntu y me aparece la pantalla de login, cuando pongo admin admin, me queda la pantalla en blanco, no da ni errores ni muestra la siguiente pantalla. Le di permisos 777 a todos los archivos y directorios y sigue igual.
    Alguna idea de que puede pasar en linux.
    Misma versión en windows anda bien.
    Gracias
    Abel.

      • Abel Cerdá

        Buenas Agustin, sabes que no. Sigue igual.
        Lo tengo funcionando en windows 7 con XAMMP y en UBUNTU 14.04 LTS. El de Ubuntu cuando le doy login no muestramas nada. Sera que le falta alguna dependencia? esta instalado en /var/www/html/inventio-lite
        Se queda en esta pantalla
        http://192.168.102.242/inventio-lite/index.php?view=processlogin
        le de al user y pass que se me ocurra hace lo mismo. Solo muestra en el margen superior izq inventio-lite 2.0 en la barra negra.
        Desde ya muchas gracias, esta muy bueno el sistema.
        Saludos
        Abel.

        • en linux cuando instalas MySql el usuario root tiene contraseña (tu se la pones en la instalacion) ahora en la carpeta controller esta el archivo Database.php ahi ingresa la contraseña de root y ya funcionara

  • Hola Agustin Ramos,

    Primero que nada es un excelente proyecto y te felicito. Te comento que lo he descargado y funciona a la perfección. He querido agregarle una funcionalidad:

    -Cotizar/ Presupuesto
    -Cotizaciones / Presupuestos

    Es cuando un cliente solamente quiere solicitar presupuesto antes de concretar la venta. El proceso no modificaría el inventario, hasta que la venta no se haya realizado. Lo que hice fue aprovechar el código de “Vender” y “Ventas”, siguiendo las clases, luego agregue la tabla “cotizaciones” en la base de datos y listo. El problema es que no encuentro la manera de que las “cotizaciones” se guarden en su respectiva tabla, cuando hago clic en “Finalizar cotización” las mismas se guardan en “Ventas”. ¿Cómo hago?

    • Hola christian, el detalle es que una venta esta ligada a la tabla “sell y operation”, la tabla operation es la que refleja las existencias y el historial en inventario, por lo tanto necesitas hacer una tabla similar a “sell” que podria ser “cotization” y deberias crear una tabla similar a “operation” puede ser “operation2” pero esta se relacionara con la tabla “cotization”.
      Tambien debes crear los modelos para estas nuevas table “CotizationData.php y Operation2Data.php”, y copiar los archivos vistas o actions “sell,sells,addtocart,processsell,onesell” para habilitarlos a los Modelos “CotizationData y Operation2Data”, tendrias algo como “cotization, cotizations, addtocotization, processcotization, onecotization”, asi lo haria yo, si tienes dudas contactame a mi email. Saludos

  • Hola, podrias resubir el tutorial de instalacion por favor 🙁

  • Victor Conde

    hola amigo me podrias ayudar como resolver este error agrego un producto con imagen y me marca esto Fatal error: Cannot use object of type ProductData as array in si me agrega el producto pero no al inventario

  • amigo, en esta parte del codigo, en sell, quiero que en el resultado de la busqueda me agregue el campo “descripcion” pero al agregarle la linea, me marca error, como le hago?

    Codigo
    Nombre
    <!— Descripcion –>
    Unidad
    Precio unitario
    En inventario
    Cantidad

    id);
    ?>
    0):?>

    <tr class="<?php if($qinventary_min){ echo “danger”; }?>”>
    id; ?>
    name; ?>
    <!— description; ?> –>
    unit; ?>
    $price_out; ?>

    <input type="hidden" name="product_id" value="id; ?>”>

    Agregar a la salida

      • hola amigo, no me llego nada… agradecere tu apoyo en esta parte…

        de nuevo te comento que me gustaria que en todo tipo de busqueda, tanto para hcer una venta y/o consulta el campo de descripcion saliera ya que ahi capturo mas detalle del producto, por ej. tengo monitor de 19″ pero tengo dos marcas y en la descripcion es donde pongo la difernecia y eso me ayudaria a ubicarlo mejor, gracias!

  • Estimo quise realizar la prueba subiendolo a mi sitio web, hice todo lo necesario creando la base de datos y modificando el archivo Database.php, pero el momento de logearme solo me muetra el titulo y no me muestyra nada del menu y tampoco ningun error.

    A la espera de tus comentarios gracias.

    • Hola, ya revise tu problema, por favor contactame a mi email, intente enviarte un mensaje por email pero me marco un error tu servidor.

  • ENRIQUE RODRIGUEZ

    Excelente aporte solo que fuera excelente que agregaras el uso de codigo de barras, ticket y cuando creas el producto te permita guardar varios precios, y a la hora de hacer la venta fuera bueno que se pudiera cambiar el precio, te recomendaria que descargaras un software que se llama multicomercio es gratis por 15 dias, creo que te ayudaria mucho ya que veo que eres excelente programador y pues mejoraria muchisimo Inventio Lite

  • Saludos,
    En lo s reportes de fecha de inicio y fecha final tengo este error:

    Undefined index: is_oficial in ————- OperationData.php on line 88

    • JOSE BANDRES

      HOLA MERCELO VE AL ARCHIVO QUE TE INDICA EL ERROR Y SUSTITUYE LA LÍNEA 76 POR ESTO: $sql = “select * from “.self::$tablename.” where date(created_at) > \”$start\” and date(created_at) <= \”$end\” order by created_at desc”; LUEGO COMENTA LA LÍNEA 88 ESCRIBIENDO DELANTE DE DICHA LÍNEA DOS DIAGONALES CONSECUTIVOS: // DE ESTA FORMA ESTARAS COMENTANDO LA LÍNEA Y YA NO TENDRÁS PROBLEMAS EN LA GENERACIÓN DE REPORTES. ESO ME FUNCIONO A MÍ. SALUDOS Y SUERTE.

  • Hola amigo, mira instale dos veces el sistema, y configure dos diferentes bases de datos y todo va bien con la informacion que capturo, el problema esta en los usuarios, que la segunda base de datos me lee los usuarios de la primera base de datos, en donde puedo modificar para que cada uno lea su propia base de datos de usuarios?

    gracias!

    • Hola Carlos, Debes ponerle un nombre diferente a la session de cada instalacion usando la funcion session_name(“inventario1”) y session_name(“inventario2”) en el archivo inventio-lite/core/modules/ventas/init.php antes de la funcion session_start(), es decir en la linea 18. Saludos

  • Hola amigo! a mi me da el siguiente error al generar un reporte: Fatal error: Call to a member function fetch_array() on boolean in /opt/lampp/htdocs/bodega/core/modules/ventas/model/OperationData.php on line 83

    • Hola hector, ve al archivo que te indica el error, buscas la linea 76 es esta: $sql = “select * from “.self::$tablename.” where date(created_at) > \”$start\” and date(created_at) \”$start\” and date(created_at) <= \"$end\" order by created_at desc"; , Saludos

  • Hola amigo, genial tu sistema, lo estoy estudiando y al tratar de generar un reporte me muestra:

    Fatal error: Call to a member function fetch_array() on array in C:\xampp\htdocs\sales\core\modules\ventas\model\OperationData.php on line 83

    Ojalá me puedas apoyar 🙂
    Gracias.
    Un abrazo.

    • Hola christian, ve al archivo que te indica el error, buscas la linea 76 es esta: $sql = “select * from “.self::$tablename.” where date(created_at) > \”$start\” and date(created_at) <= \"$end\" and is_oficial=1 order by created_at desc"; y la cambias por esto: $sql = "select * from ".self::$tablename." where date(created_at) > \”$start\” and date(created_at) <= \"$end\" order by created_at desc"; , Saludos

  • hola buena noche
    estoy intentando entrar como administrador pero al escribir el usuario y contraseña queda en blanco me puedes ayudar?

    • Hola Diego, el usuario es admin y el password admin, si tienes problemas por favor contactame a mi correo directamente. Saludos

  • hola instale la aplicacion pero no me hace ningun registro no me permite registrar a travez de la interfaz

    • Hola, instalaste bien la aplicacion? el sistema te marca algun error? contactame porfa a mi email si continuas teniendo problemas.

      • Hola agustín como siempre un placer seguirte en tus cursos y sistemas que realizas y compartes con la comunidad.

        Quiero decirte que tengo el mismo problema la base de datos esta perfecta y la interfaz me carga a las mil maravillas pero solo puedo ingresar usuarios lo demás como categorías, productos, cliente proveedores no se ingresan, no me marcan ningun error simplemente no se ingresan

        mi correo es san145silva@hotmail.com me gustaria me ayudaras mi amigo

        muchas gracias de antemano eres la LEY

  • Exelentes Aportaciones. Tambien estube probando este proyecto, y no me genera los reportes, como mejora para que sea mas funcional, se me ocurre que podrias poner un selector de monedas, o sea para cualquier tipo de simbolo monetario ($, €, £ ) tambien
    pondria enlos campos a rellenar un onfocus como ejemplo para saber como completarlo, ya que al cargar el valor de los articulos no sabia si era “,” o “.” –
    Tambien no te que al generar la venta si el valor del articulo es 0,55 lo convierte a 1 pero luego si se visualiza es 0,55. agregaria un boton de imprimir, para efectuar ticket o factura. son ideas y se podrian implementar muchas. desde ya crear este proyecto y compartirlo sin ningun animo de lucro es de Grandes. Te agradesco de corazon hay muy poca gente asi que comparte sin obtener nada a cambio.
    Si puedo ayudarte en algo solo pidelo, te juro que lo intentare.
    Atte
    Alejandro

    • Hola que tal Alejandro, gracias por tu comentario, actualmente estoy trabajando en una siguiente version y me ayuda mucho tus comentarios por que son muchas las personas que ven y descargan el software pero pocas me dejan un comentario por lo que a veces yo invento los requerimientos de las futuras versiones y con tus comentarios me basare para corregir y aumentar la funcionalidad del sistema. Saludos

  • amigo mil gracias por este excelente proyecto, pero sabes cheque que al crear la base de datos tienes el campo BARCODE pero no veo como utilizarlo, esto es porque me gustaria usar codigo de barras para los productos, y asi localizarlos mas rapido, tengo que activar algo? seria bueno para la busqueda saludos!

    • Hola carlos el campo de barcode actualmente esta sin usar, lo tengo planeado usar para futuras versiones porque no he conseguido un lector de codigos de barras y una impresora de tickets para hacer las pruebas correspondientes. Saludos

  • Hola, cuando ingreso un producto con una imagen me aparece este error en ves de mostrarme el cuadro con el producto agregado.

    Warning: preg_match(): Compilation failed: invalid range in character class at offset 7 in C:\xampp\htdocs\tienda\core\controller\class.upload.php on line 2993

    Warning: preg_match(): Compilation failed: invalid range in character class at offset 7 in C:\xampp\htdocs\tienda\core\controller\class.upload.php on line 3011

    Fatal error: Cannot use object of type ProductData as array in C:\xampp\htdocs\tienda\core\modules\ventas\view\addproduct\widget-default.php on line 45

  • Esta muy padre, me has motivado a hacer algunos de esos proyectos que tengo en mente. No sé si es mucho pedir pero me gustaría algo así como un tutorial de MVC, no he logrado entender del todo y quizás a ti jejeje, pero bueno, gracias por compartir =D

    Una duda, que usas para crear los reportes en word?

    • Hola carlos, yo uso mi propio framework llamado legobox, si estoy preparando un curso MVC pero aun no lo publico, para los reportes en word utilizo una libreria llamada PHP WORD hay uno o dos articulos sobre ella en mi blog. Saludos

  • Hola, utilizaste algun framework “php” para este desarrollo ??? recomiendas algun IDE en especial para integrar php (con el framework que utilises) con boorstrap?, para los form utilzaste Bootsnipp ????

    Atento a tus comentarios

    • Hola amigo, el sistema esta desarrollado bajo mi propio frameowrk: LegoBox, pues el IDE que yo uso para PHP y Python es el SublimeText 3, la plantilla es el SbAdmin es gratis y los formularios no son de BootSnipp, aunque si aveces uso Bootsnipp en otros desarrollos, Saludos y gracias alex.

  • Tengo un problema al querer generar el reporte en word. Este no se genera.
    ¿Cómo lo podría solucionar? El software lo implemente con un dominio.
    Atento a tus comentarios

    • Hola enviame porfa una captura de pantalla del error o si gustas darme acceso a tu dominio, enviame los datos por correo, no por comentarios, saludos…

  • ¿Por qué el servidor apache me dice que no tengo permisos para acceder a la carpeta del inventio lite que copié a “/var/www”?
    Dice “Firbidden” No tienes permiso para acceder a /inventio/index.php

    ¿Cómo puedo solucionarlo?
    Gracias.

    • Por que estas en linix verdad? entonces debes darle permisos de lectura/escritura/ejecucion a la carpeta, usa tu terminal y ejecuta el comando “chmod 777 /var/www/inventio/”, “chmod 777 /var/www/inventio/*”,”chmod 777 /var/www/inventio/*/*” y asi sucesivamente para que puedas ejecutar todos los archivos .php

      • Marcelo Silva

        Hola Agustin, gracias…
        Ahora ya accede, aunque me queda otro problema que tendré que examinar.
        Por si sabés el porqué, te cuento que al entrar en “index.php” de deja la pantalla del navegador (area de navegación) en blanco, como si el .php estuviera vacío.
        Desde ya, muchas gracias.

        • Es por que debes seguir haciendo chmod con los asteriscos para llegar a las demas carpetas, por que solo chmod 777 /var/www/inventio te da accesp al index.php, pero index.php desencadena varias llamadas a otros archivos .php en diferentes carpetas de la carpeta inventio. Saludos

          • Marcelo Silva

            Agustin! excelente!!!
            Ya me agarra la index.php (y la pantalla login) 🙂
            Siguiente paso… ¿debo cargar la base de datos con phpmyadmin?
            Gracias y disculpá que te joda tanto… tu sistema me parece excelente y mejor tu política de compartir.

  • Nelson Andrés

    los reportes los esta guardando en .docx.html

    pero esta excelente el sistema, deberias trabajar más en el área de reportes,

  • Hola, me parece que tu iniciativa es muy buena, llegué a tu pagina por casualidad y decidí probar para darte una opinión constructiva a modo de apoyo.

    Bueno, pues la instalación es muy sencilla, el código es bastante fácil de entender y bueno, creo que vas por un buen camino, solo puedo decirte SIGUELE, vas a lograr un buen producto.

    solo vi un detalle de entrada que deberias revisar y aclaro no es grave:
    “Strict Standards: Non-static method Module::setModule() should not be called statically in C:\xampp\htdocs\inventio-lite\core\controller\Core.php on line 12”

    obviamente si apago el reporte de errores Strict Standard del php.ini ya no se ve, pero aun asi el programa funciona muy bien.

    te dejo mi configuración si de algo te sirve.

    muchos saludos y mucho éxito.

    Sistema operativo host: windows 8.1
    XAMPP control panel v3.1.0.3.1.0
    PHP/5.4.7
    Apache/2.4.3

  • Interesante proyecto, de donde eres? Entiendo el propósito general de tu sistema, que al ser gratis (lo cual se agradece, ya que no tenemos la cultura de compartir) trata de ser de características generales, es decir muy estandar para ajustarse a cualquier necesidad. Yo tengo algo de conocimiento comercial que creo pudiera fortalecer en la medida de lo posible tu sistema, en dado caso que lo quieras comercializar, aun así mi perfil es informático.

    Pues nada, muchas felicidades y adelante con tus proyectos. Suerte

    • Agustin Ramos

      Hola jorge, soy de Tabasco,Mexico. La idea de todos los sistemas publicados en mi sitio es servir para resolver problemas a los demás, si bien problemas con soluciones muy general y a mi entender, pero les ofrezco el código para que lo modifiquen y ajusten a sus necesidades. También esta la invitación para proponer características para siguientes versiones. Gracias por tu interés. Saludos

Leave a Reply