> For the complete documentation index, see [llms.txt](https://emilio-organization.gitbook.io/emilio-organization-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emilio-organization.gitbook.io/emilio-organization-docs/gestion-comercial.md).

# Gestión Comercial

La aplicación de gestión comercial está diseñada para administrar diversos aspectos de una pequeña o mediana empresa, enfocándose en la gestión de usuarios, empleados, cajeros, clientes, productos, compras y facturación. La arquitectura de la aplicación sigue el patrón **MVC** (Modelo-Vista-Controlador) y está construida con **Spring Boot**, **Thymeleaf** para las vistas y **PostgreSQL** como base de dato.

### *Módulos Principales:*

1. &#x20;  <mark style="color:blue;">**Gestión de Usuarios:**</mark>

Permite la administración completa de usuarios en el sistema.

* ***Funcionalidades principales:***
  * Registro de nuevos usuarios con validación de correo electrónico.
  * Asignación de roles (Administrador, Cajero, Empleado).
  * Gestión de contraseñas con seguridad mediante autenticación JWT.
  * Desactivación y eliminación de cuentas de usuario.
* ***Formularios:***

  * Formulario de **crear cuenta** para nuevos usuarios.
  * Formulario de **inicio de sesión** para la autenticación de usuarios existentes.

2. <mark style="color:blue;">**Gestión de Empleados:**</mark>

Este módulo permite registrar y administrar la información de los empleados de la empresa.

* ***Funcionalidades principales:***

  * Registro de nuevos empleados.
  * Edición y eliminación de empleados.
  * Asignación de roles y cargos específicos dentro de la empresa.
  * Visualización de la lista de empleados activos.

#### 3. <mark style="color:blue;">Gestión de Cajeros:</mark>

Permite la asignación de roles específicos de cajero a empleados con la capacidad de gestionar las ventas.

* ***Funcionalidades principales:***

  * Asignación de roles de cajero a empleados.
  * Gestión de transacciones de compras realizadas por los cajeros.

4. <mark style="color:blue;">**Gestión de Clientes:**</mark>

Administra la base de datos de clientes y su información relacionada con compras.

* ***Funcionalidades principales:***

  * Registro y edición de clientes (nombre, contacto, dirección, etc.).
  * Visualización de historial de compras de los clientes.
  * Activación y desactivación de cuentas de clientes.

5. <mark style="color:blue;">**Gestión de Productos:**</mark>

Permite la administración de productos disponibles para la venta.

* ***Funcionalidades principales:***

  * Registro de nuevos productos con detalles como nombre, precio, cantidad en inventario, etc.
  * Edición y eliminación de productos.
  * Visualización de la lista de productos disponibles.

6. <mark style="color:blue;">**Gestión de Compras:**</mark>

Administra las compras realizadas por los clientes.

* ***Funcionalidades principales:***

  * Registro de nuevas compras con productos seleccionados.
  * Actualización de stock de productos tras cada compra.
  * Visualización del historial de compras.

7. <mark style="color:blue;">**Gestión de Facturación:**</mark>

Genera facturas para las compras realizadas, con detalles de los productos adquiridos.

* ***Funcionalidades principales:***
  * Creación de facturas con productos y cantidades.
  * Cálculo automático de totales, impuestos y descuentos.
  * Visualización de las facturas generadas y posibilidad de descargarlas en formato PDF.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://emilio-organization.gitbook.io/emilio-organization-docs/gestion-comercial.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
