Herramientas Informaticas

Etiqueta: Punto de venta Página 2 de 5

MANUAL SISTEMA DE PUNTO DE VENTA JCPOS ULTIMATE

Cuando iniciamos un pequeño negocio en donde ya tenemos de mas vendedores es importante tener información al momento de las ventas realizadas, de pendiente de cobrar y de por lo menos un inventario básico para saber que necesitamos comprar además de saber cuales son los productos que mas se venden por mes año o día.

También es necesario tener un control de acceso para que los empleados no puedan entrar a visualizar información sensible o esta no pueda ser modificada por ellos si no tienen autorización.

Es necesario también poder ver reportes de las ventas e inventarios en tiempo real desde cualquier ubicación desde la comodidad del dispositivo móvil, sin importar el sistema operativo del dispositivo.

Todo eso se pensó al ir desarrollando el sistema de punto de venta en JCPOS2021

Este sistema puede funcionar desde cualquier servidor que soporte las tecnologías de PHP8, Apache y MariaDB que es el estándar en el mundo de internet.

Les dejo un demo de este sistema y también el código fuente antes de empezar con el manual

Bien al entrar al demo lo primero que vemos es la pantalla de acceso en la cual para el demo el usuario es admin y la contraseña es admin

Aquí tenemos la pantalla de acceso, para el demo entramos con el usuario demo y contraseña demo

Al entrar lo primero que vemos es la pantalla del dashboard, el menú lateral y menú superior,

En esta imagen vemos el menú lateral expandido pero normalmente esta colapsado, este es el dashboard que ve el usuario con todos los derechos en el sistema

ELEMENTOS DEL DASHBOARD

Si el usuario tiene derechos a los elementos del dashboard los mostrara y son los siguientes

Estas son las cajas superiores y en el primer cuadro azul nos muestra todas las ventas registradas, si le damos click en Mas info nos lleva a ver la lista de todas las ventas

En la caja verde nos muestra el total cobrado, si le damos click en mas info nos muestra la lista de lo cobrado

En la caja naranja nos muestra lo pendiente por cobrar, si le damos click en mas info no lleva a la lista de las ventas pendientes por cobrar

En la caja roja solo vemos la lista de los productos
En el grafico de ventas va mostrando el total de ventas por periodo “MES”
Vemos una grafica de los productos mas vendidos
En este grafico nos muestra los clientes que mas nos deben, si damos click en el nombre nos lleva a la lista de ventas pendientes de pago de ese cliente

MENU CONFIGURACIONES

En este menú nos muestra todos los submenús que nos servirá para dictar las reglas de funcionamiento del sistema y cuenta con los siguientes submenús
1. Datos Empresa
2. Usuarios
3. Perfiles
4. Configurar Correo
5. Bitacora

Es que es donde definiremos las variables globales del sistema

SUB MENU DATOS EMPRESA

Aquí alimentaremos el sistema por única vez con los datos de la empresa como nombre dirección ETC, estos datos son los que saldrán en los encabezados de los reportes.

En el ultimo dato donde dice 30 es para poner los días de entrega

SUB MENU USUARIOS

En este catalogo damos las altas, bajas y cambios a los usuarios

Aquí vemos la lista de todos los usuarios creados, en la columna final están los botones para modificar y eliminar, en el botón de arriba es para crear otro usuario
Al darle clic al botón agregar nos saldrá esta ventana con la cual podremos dar de alta usuarios.

En el combo que esta seleccionado vendedor es para seleccionar el perfil y el perfil define los derechos de acceso al sistema
En esta ventana es para editar el usuario, también lo podemos cambiar de perfil

SUB MENÚ PERFILES

En este catalogo creamos los diferentes perfiles en los cuales le asignamos los derechos de acceso a las diferentes del sistema

Como vemos es un catalogo con el mismo estándar que el de usuarios, así se va a manejar en todo el sistema, en este tipo de catalogo se pueden dar las altas bajas y cambios.
Vemos como podemos activar funciones por perfil

SUB MENU CONFIGURAR CORREO

Sirve para configurar el envió de correo, estos datos nos permitirá enviar directamente los correos de las cotizaciones al correo del cliente

MENU CATALOGO DE CLIENTES

En este catalogo nos servirá para dar de alta todos los clientes, como recomendación deje el primer cliente como publico en general

Como se ve en la ilustración manejamos las altas, bajas y cambios
Al darle agregar nos pide los siguientes datos
Y al darle modificar a un cliente ya modificado nos trae los datos registrados para cambiarlos

SUB MENU BITACORA

Esta opción nos sirve como información para ver los movimientos de los usuarios en caso de error del sistema o error humano

MENU CATALOGO DE CATEGORIAS

Y antes de capturar los productos tenemos que capturar las categorías de productos, solo consta de descripción

MENU CATALOGO PRODUCTOS

Aquí es donde capturamos los productos que se van a vender, también se le asigna la existencia ese valor va disminuyendo conforme se van haciendo ventas

Así es como se ve el catalogo de productos
Al agregar un producto nos pide los siguientes datos
Esta es la ventana para modificar un producto existente, también podemos modificar la existencia

MENU COTIZACIONES

Este menú consta de dos sub menús
1. Nueva Cotización
2. Ver Cotizaciones

SUB MENU NUEVA COTIZACIÓN

Nos permite realizar cotizaciones para enviársela al cliente y si el cliente confirma convertimos la cotización en venta

Para realizar una cotización de lado izquierdo vemos los datos principales como cliente fecha, fecha de vencimiento de la cotización y a lo ultimo son los días de entrega una vez confirmada la venta.

Del lado izquierdo esta los productos que podemos vender, si le damos vender se van agregando a la lista
Si le damos guardar se genera el PDF de la cotización para poder imprimirla o enviársela por correo al cliente

SUB MENU VER COTIZACIONES

Es para ver las cotizaciones realizadas y ver si las eliminamos, copiamos o realizamos la venta

Vemos la lista de cotizaciones, en el menú opciones podemos imprimir, enviar por correo, editar y eliminar
Si le damos click se nos saldrá la ventana para enviar el PDF al correo del cliente
Ventana de envió de correo
Si le damos clic en generar venta se nos creara una venta nueva ligada con la cotización
Al darle click en generar venta en la cotización nos mandara a esta ventana

MENU VENTAS

En el menú ventas contamos con los siguientes sub menús
1. Administrar Ventas
2. Crear Venta
3. Reporte de ventas por producto
4. Reporte de ventas

En el sub menú administrar ventas vemos toda la lista de ventas, en los controles podemos imprimir en PDF la venta, editarla, eliminarla, generar un pago y ver los pagos que se han hecho a la venta del renglón
Al darle clic a la lupa blanca con fondo rosa vemos los pagos que se han realizado y en los controles podemos imprimir el comprobante de pago o eliminar el pago
Ejemplo del comprobante de pago
Cuando le damos click al icono blanco de visa con fondo verde nos sale una ventana para capturar el pago de la venta

SUB MENU REPORTE DE VENTAS POR PRODUCTO

Este reporte nos da una lista de las ventas detallado por producto

Nos da la opción para filtrarlo por producto

SUB MENU REPORTE DE VENTAS

Además de los reportes de grafico de ventas y productos mas vendidos aquí contamos con una grafica de barras con las ventas por vendedor, una grafica de ventas por comprador “Cliente”, aquí podemos filtrar por fecha además viene una opción para exportar en Excel la información.

En la parte superior vemos el rango de fecha y el botón verde para exportarlo a excel
Al darle click en el botón rango nos sale las siguientes opciones para filtrar
Nos muestra la grafica de ventas por vendedor
Grafica de ventas por compradores
Al exportar en excel lo exporta en este formato

Saludos no olviden compartir esta pagina si les es útil y también comentar en la caja de comentarios cualquier duda que tengan

Instalación de ejecutable

Tambien lo podemos instalar en nuestra PC sin necesidad de tener internet para que funcione

Primeramente ejecutamos el instalador

En la primer venta nos mostrara la opción para crear el acceso directo, lo dejamos tal y como esta la imagen y le damos click en siguiente

En la siguiente ventana nos muestra como quedaria la instalación

Se comenzara a instalar

Al finalizar la instalación nos mostrara la siguiente ventana, le damos finalizar

Y listo tenemos la aplicacion instalada, posiblemente al abrilo la primera vez no funcione y salga la ventana en blanco, solo hay que cerrarlo y volverlo abrir

El usuario y contraseña es admin

Postman en Visual Studio Code

Algunas veces en el desarrollo es necesario consumir web Service para los proyectos, como puede ser facturación electrónica mexica, obtener el precio del dólar del DOF ETC .

Existen herramientas ya conocidas para realizar las pruebas como Postman las cuales funcionan muy bien y cuentan con excelentes funciones como la de exportar la petición al lenguaje que estemos utilizando ya sea PHP, C#, Java, Python,Ruby on Rails ETC

Pero como siempre hay alternativas en todo.

Existe una buena alternativa y es una extensión de Visual Studio Code.

Thunder Client es una extensión de cliente Rest API liviana para VS Code, diseñada a mano por Ranga Vadhineni con un enfoque en la simplicidad, el diseño limpio y el almacenamiento local.

Para instalarlo nomas vamos a extensiones buscamos Thunder Client, le damos instalar y listo

Y listo ya podemos hacer pruebas con los webservice

Problema con la ejecución de Seeders en Codeignter 4

Una de las ventajas de trabajar en el framework de codeigniter 4 son las migraciones, es decir, en lugar de crear la tabla directamente creamos los archivos de migración y cuando actualicemos los fuentes desde nuestra maquina al servidor basta con correr un php spark migrate y los campos y tablas nuevas se actualizan instantáneamente en servidor de base de datos de nuestro servidor.

En los archivos de base de datos o de migración de de dos tipos que son los siguientes

  • Migration
  • Seeds

Los archivos de migración en resumen es para poner tablas y campos nuevos mientras que los archivos seeds son para insertar datos a la tabla, en nuestro caso permisos, menus ETC

Según teníamos entendido que los seeders se ejecutaban también con el comando de php spark migrate, pero al parecer no se ejecuto en el servidor el motivo era por que tenia errores, pero no los mostro el comando.

Lo que se tuvo que hacer fue correr el siguiente comando

php spark db:seed

A continuación nos solicitara el nombre del archivo seed

CodeIgniter v4.5.1 Command Line Tool - Server Time: 2024-06-24 09:19:25 UTC-07:00

Nombre de semilla :

Le ponemos el nombre de la semilla en nuestro caso es nuestro archivo se llama PermissionNotaCreditoSeeder.phpl a clase se llama igual solo que sin la extension .php quedaria de la siguiente forma y le damos enter en caso de que el archivo contenga un error nos los mostrara, en nuestro caso como todo nos salió bien nos arrojo este mensaje

El contenido del archivo seed era el siguiente

<?php

namespace App\Database\Seeds;

use CodeIgniter\Config\Services;
use CodeIgniter\Database\Seeder;
use Myth\Auth\Entities\User;
use Myth\Auth\Models\UserModel;
use julio101290\boilerplate\Models\MenuModel;

class PermissionNotaCreditoSeeder extends Seeder {

    /**
     * @var Authorize
     */
    protected $authorize;

    /**
     * @var Db
     */
    protected $db;

    /**
     * @var Users
     */
    protected $users;

    //protected $menu;

    public function __construct() {
        $this->authorize = Services::authorization();
        $this->db = \Config\Database::connect();
        $this->users = new UserModel();
    }

    public function run() {

        $this->authorize->createPermission('listaNotaCredito-permission', 'Permiso para la lista de notas de crédito');
        $this->authorize->addPermissionToGroup('listaNotaCredito-permission', 'admin');
        $this->authorize->addPermissionToUser('listaNotaCredito-permission', 1);
        
    }
}

Creando CRUD de remolques para la carta porte 3.0 en CodeIgniter 4 #22

Para la carta porte3.0 también requerimos del catalogo de remolques el cual tendrá los siguientes datos.

  • Id
  • idEmpresa
  • Descripcion
  • subtipo Remolque
  • Placa

Agregando campos nuevos para choferes y usarlo en carta porte 3.0 en CodeIgniter 4 #21

En este caso vamos a requerir tres campos mas que son los siguientes

  • tipoFigura
  • RFCFigura
  • numLicencia

Creando CRUD de ubicaciones para la carta porte 3.0 en CodeIgniter 4 #19

La Carta Porte 3.0 es la versión más reciente del complemento que debe acompañar a los Comprobantes Fiscales Digitales por Internet (CFDI) que amparan el traslado de mercancías en México. Esta versión entró en vigor el 25 de noviembre de 2023 y es obligatoria a partir del 1 de enero de 2024.

La Carta Porte 3.0 tiene como objetivo mejorar la trazabilidad de las mercancías que se transportan en México, así como facilitar el cumplimiento de las obligaciones fiscales de los contribuyentes. Para ello, incluye nuevos campos y requisitos que deben ser proporcionados por los emisores de los CFDI.

Entre los principales cambios que introduce la Carta Porte 3.0 se encuentran los siguientes:

  • La inclusión de nuevos datos sobre el transporte de las mercancías, como el medio de transporte, la ruta y la fecha de salida y llegada.
  • La obligación de identificar al destinatario de las mercancías, incluso si es una persona física.
  • La posibilidad de utilizar un identificador único para el CFDI, lo que facilitará su consulta y verificación.

La Carta Porte 3.0 es un complemento obligatorio para todos los contribuyentes que realicen el traslado de mercancías en México, independientemente de su tamaño o actividad económica. Los contribuyentes que no cumplan con esta obligación podrán ser sancionados por el Servicio de Administración Tributaria (SAT).

A continuación, se presentan algunos ejemplos de los nuevos campos que deben ser proporcionados en la Carta Porte 3.0:

  • Medio de transporte: Se debe indicar el tipo de medio de transporte utilizado para el traslado de las mercancías, como camión, tren, barco o avión.
  • Ruta: Se debe indicar la ruta que se seguirá para el traslado de las mercancías, incluyendo los puntos de origen y destino.
  • Fecha de salida y llegada: Se debe indicar la fecha en que se iniciará y concluirá el traslado de las mercancías.
  • Destinatario: Se debe identificar al destinatario de las mercancías, incluyendo su nombre, RFC y domicilio.
  • Identificador único del CFDI: Se debe proporcionar un identificador único para el CFDI, el cual podrá ser generado por el SAT o por el emisor del CFDI.

Para obtener más información sobre la Carta Porte 3.0, se puede consultar el sitio web del SAT.

Descarga Masiva en PHP CodeIgniter 4 #17

La descarga masiva es un proceso que permite descargar un gran número de archivos o datos de forma simultánea. En el contexto de las facturas electrónicas en México, la descarga masiva se refiere al proceso de descargar un gran número de CFDI de forma simultánea desde el portal del SAT.

Por lo tanto vamos agregar este utilidad utilizando las librerías de https://www.phpcfdi.com/librerias/

Creando CRUD de choferes en CodeIgniter 4 #16

Ahora le toca al catalogo de choferes y debe contener los siguientes datos

  • Empresa
  • Nombre
  • Apellido

Cómo crear un módulo de ventas con factura electronica en CodeIgniter 4 #13

Un módulo de ventas con facturación electrónica es un software que permite a las empresas realizar ventas y emitir facturas electrónicas de manera automatizada. Este tipo de módulos suele incluir las siguientes funcionalidades:

  • Gestión de clientes: permite crear y gestionar una base de datos de clientes, incluyendo sus datos de contacto, información de facturación, etc.
  • Gestión de productos: permite crear y gestionar una base de datos de productos, incluyendo sus datos de inventario, precios, etc.
  • Módulo de ventas: permite realizar ventas, incluyendo la selección de productos, la aplicación de descuentos, etc.
  • Módulo de facturación electrónica: permite emitir facturas electrónicas, incluyendo la generación del XML y el envío a la autoridad fiscal.

Los módulos de ventas con facturación electrónica ofrecen a las empresas una serie de ventajas, entre las que se incluyen:

  • Automatización de los procesos: la automatización de los procesos de ventas y facturación permite a las empresas ahorrar tiempo y recursos.
  • Mejora de la precisión: la automatización de los procesos ayuda a reducir los errores humanos, lo que mejora la precisión de las facturas.
  • Cumplimiento normativo: los módulos de ventas con facturación electrónica ayudan a las empresas a cumplir con la normativa fiscal vigente.

En México, la facturación electrónica es obligatoria para todas las empresas que realicen ventas a clientes ubicados en el país. Por lo tanto, los módulos de ventas con facturación electrónica son una herramienta indispensable para las empresas mexicanas.

A continuación, se detallan algunas de las funcionalidades específicas que puede incluir un módulo de ventas con facturación electrónica:

  • Creación de facturas electrónicas: el módulo debe permitir crear facturas electrónicas de acuerdo con la normativa fiscal vigente. Esto incluye la información obligatoria que debe incluirse en la factura, como los datos del emisor y del receptor, los datos de los productos o servicios, el importe de la factura, etc.
  • Envío de facturas electrónicas: el módulo debe permitir enviar las facturas electrónicas a los clientes de forma segura y eficiente. Esto puede hacerse a través de correo electrónico, mensajería instantánea, etc.
  • Archivado de facturas electrónicas: el módulo debe permitir archivar las facturas electrónicas de forma segura y organizada. Esto facilitará su consulta y recuperación en el futuro.
  • Generación de informes: el módulo debe permitir generar informes sobre las ventas y la facturación electrónica. Estos informes pueden ser útiles para la toma de decisiones estratégicas.

Elegir un módulo de ventas con facturación electrónica adecuado para su empresa dependerá de una serie de factores, como el tamaño de su empresa, su volumen de ventas, sus necesidades específicas, etc. Es importante comparar diferentes módulos antes de tomar una decisión.

A continuación, se ofrecen algunos consejos para elegir un módulo de ventas con facturación electrónica:

  • Considere sus necesidades específicas: antes de empezar a buscar un módulo, es importante tener claro cuáles son sus necesidades específicas. ¿Qué funcionalidades necesita? ¿Qué tipo de informe necesita generar?
  • Compare diferentes módulos: compare diferentes módulos para encontrar el que mejor se adapte a sus necesidades. Tenga en cuenta el precio, las funcionalidades, el soporte técnico, etc.
  • Lea las opiniones de otros usuarios: leer las opiniones de otros usuarios puede ser una buena forma de conocer las ventajas y desventajas de un módulo concreto.
  • Pruebe el módulo antes de comprarlo: si es posible, pruebe el módulo antes de comprarlo. Esto le permitirá comprobar que cumple con sus expectativas.

Creando CRUD de Almacenes #12

Es necesario para llevar el control correcto del inventario tener almacenes,

A continuación mostramos como crear el CRUD de almacenes

El CRUD tendrá los siguientes datos

  • Empresa
  • Clave
  • Nombre
  • Inicio de inventario

Página 2 de 5

Creado con WordPress & Tema de Anders Norén