Ponemos esta herramienta a disposición de nuestros compañeros de forma libre y gratuita, con la esperanza de que contribuya a hacer más eficiente y llevadera nuestra labor diaria. Es importante destacar que el desarrollo de esta aplicación ha sido una iniciativa enteramente personal y no ha contado con la participación ni financiación de ninguna autoridad judicial, institución pública o privada, ni ha involucrado a técnicos informáticos o programadores profesionales. Ha sido creada exclusivamente por nosotros, utilizando nuestros conocimientos básicos de programación y motivados por la necesidad imperiosa de optimizar y facilitar tareas cotidianas en el ámbito judicial penal. 

Gerard y Alberto  


DESCARGAR HERRAMIENTA CONFORMIDAD PENAL


DESCARGAR GUÍA HERRAMIENTA (CASTELLANO)


DESCARREGAR GUIA EINA (CATALÀ)



1. Introducción


La conformidad penal constituye la principal vía de resolución en el ámbito penal español. Según datos de la Memoria del Consejo General del Poder Judicial y de la Fiscalía General del Estado de 2025, durante el año 2024 se dictaron en España un total de 217.466 sentencias de conformidad, distribuidas del siguiente modo: 86.509 en Juzgados de lo Penal, 8.148 en Audiencias Provinciales y 122.809 en Diligencias Urgentes ante Juzgados de Instrucción.

A pesar de su naturaleza reglada y de la agilidad inherente al procedimiento, la documentación de las conformidades consume tiempo significativo de jueces y personal al servicio de la Administración de Justicia. A su vez, la práctica habitual de reutilización de plantillas genera errores materiales frecuentes por adaptación incorrecta de datos entre casos. 

Esta herramienta nace con el objetivo de simplificar, estandarizar y agilizar la elaboración de sentencias de conformidad y documentos asociados  Desarrollada íntegramente por los jueces Gerard Barrera Peñas y Alberto Borrego Camacho, ha sido reconocida con el Premio a la Calidad de la Justicia otorgado por el Consejo General del Poder Judicial y actualmente es utilizada por más de 60 juzgados en toda España.

Visión general de la interfaz de la herramienta

2. Características

Se trata de una aplicación informática diseñada para la documentación ágil y precisa de resoluciones orales que nacen del acuerdo entre las partes. Técnicamente, es un ejecutable portable para sistema operativo Windows que no requiere instalación compleja ni permisos de administrador para funcionar.

La herramienta cuenta con las siguientes características: 

  • Completitud jurídica: Gestiona no solo la conformidad básica, sino la totalidad de pronunciamientos posibles en materia de ejecución penal: número ilimitado de partes procesales, múltiples delitos por acusado, todas las modalidades de penas y medidas de seguridad, circunstancias modificativas, responsabilidad civil, suspensión de la ejecución, expulsión, responsabilidad personal subsidiaria, fraccionamiento de pago, decomiso y destino de piezas de convicción. 
  • Agilidad procesal: Automatiza la redacción completa, permitiendo que sentencia, auto de ejecutoria (si procede) y requerimiento estén listos para impresión y notificación inmediatamente después de la vista. Esto libera al personal al servicio de la Administración de Justicia de abandonar sus tareas para redactar manualmente estos documentos. 
  • Coordinación documental: Con una única introducción de datos, el usuario obtiene automáticamente: la sentencia, el requerimiento individualizado al penado y, si alguno de los pronunciamientos ejecutivos no ha quedado firme en el acto, un auto de ejecutoria independiente que centraliza los aspectos recurribles, listo para su notificación y eventual impugnación. 
  • Precisión y coherencia: Genera cada documento desde cero basándose en los datos introducidos, eliminando errores derivados de plantillas reutilizadas. Garantiza texto homogéneo y congruente en todos sus elementos. Individualización: Campos editables y apartados de motivación adicional permiten fundamentar cada pronunciamiento según las circunstancias del caso, evitando resoluciones estereotipadas. 
  • Soporte multilingüe: Interfaz en castellano y catalán con una funcionalidad única: permite generar documentos en ambos idiomas simultáneamente, incluso si los datos se introdujeron en una sola lengua. Sistema preparado para incorporar cualquier idioma (gallego, euskera, etc.) sin modificaciones estructurales significativas. 
  • Sin inteligencia artificial: La herramienta NO utiliza IA, eliminando riesgos de filtración de datos. 
  • Sin conexión a Internet: Funciona completamente offline en su versión básica, y tiene un sistema de traducción completamente protegido. 
  • Herramienta con vocación de estabilidad: La herramienta presenta una proyección estable en el tiempo, y eventuales modificaciones radicales del Código Penal pueden incorporarse de forma sencilla sin requerir reformas estructurales del código informático.

3. Resultados

La herramienta fue desarrollada íntegramente por los proponentes, lo cual garantiza que es una herramienta accesible e intuitiva para el usuario. Además, durante la fase de desarrollo y testeo, se dictaron más de 500 sentencias de conformidad utilizando el programa para garantizar su corrección y fiabilidad. 


La herramienta se encuentra operativa desde septiembre de 2024, y actualmente más de 60 juzgados la utilizan, entre ellos los Juzgados de lo Penal de Tarragona, Barcelona, Sabadell, Teruel, Arenys de Mar, Lleida y Girona, junto con Juzgados de Instrucción en Tarragona, Puerto del Rosario, El Vendrell, entre otros. 

En cuanto al impacto cuantificable, los Juzgados de lo Penal nº.2 y nº.4 de Tarragona dictaron en 2023 un total de 413 sentencias de conformidad. Tras la implementación de la herramienta en 2024, se dictaron 548 sentencias, lo que representa un incremento del 32,68% con los mismos recursos humanos. El tiempo de documentación se ha reducido de 20-30 minutos por sentencia (método tradicional) a 1-2 minutos con la herramienta, lo que supone un ahorro del 85% del tiempo dedicado a esta tarea. 

La herramienta ha recibido el reconocimiento institucional mediante el Premio a la Calidad de la Justicia otorgado por el Consejo General del Poder Judicial. Asimismo, el Tribunal Superior de Justicia de Cataluña ha emitido informe favorable tras la evaluación realizada por el coordinador de los Juzgados de lo Penal de Barcelona, destacando el carácter intuitivo y su facilidad de uso del sistema.


4. Bonus: buceando en la estructura del código


Antes de adentrarse en la arquitectura de esta herramienta, considero necesario realizar algunas aclaraciones importantes sobre su contexto y desarrollo. Debemos advertir con total transparencia que nosotros no somos programadores profesionales. Nuestros conocimientos de programación son limitados, adquiridos de forma práctica para resolver necesidades concretas del día a día judicial. Es muy probable que cualquier programador con formación reglada que examine este apartado encuentre patrones no optimizados, soluciones poco elegantes o prácticas que se alejen de los estándares profesionales del desarrollo de software. Si este es su caso, le pedimos comprensión.


Sin embargo, más allá de sus posibles deficiencias técnicas, esta herramienta cumple un propósito fundamental: funciona, es útil y resuelve problemas reales. En el entorno de la Administración de Justicia, donde los recursos técnicos son escasos y las cargas de trabajo elevadas, herramientas como esta se vuelven imprescindibles para mantener la eficiencia y reducir la carga administrativa repetitiva. Este anexo técnico tiene como objetivo proporcionar a una comprensión clara de la arquitectura general de la aplicación, el flujo de trabajo entre módulos, las decisiones técnicas tomadas (y sus motivos), los puntos críticos susceptibles de mejora, y las dependencias y requisitos del sistema. 

Estructura de la aplicación

El programa se compone de un total de 24 archivos organizados para garantizar una gestión modular eficiente. El corazón del sistema es el archivo principal.py, que actúa como orquestador central para coordinar la ventana principal y el estado global de la aplicación. A partir de este núcleo, la arquitectura se distribuye en 6 gestores especializados para la operativa técnica, 12 módulos de apartados jurídicos que codifican la lógica del derecho sustantivo, 3 archivos que contienen las clases de almacenamiento de datos y 2 módulos de utilidades que prestan servicios transversales a todo el conjunto.

1. El núcleo 
  • principal.py: Es el centro de mando. Lanza la interfaz, mantiene el estado global del programa y coordina la interacción entre todos los módulos.
2. Gestores especializados 

Los gestores constituyen la capa de control y operativa del software, funcionando como el motor que sostiene la ejecución técnica de la herramienta. Estos seis módulos especializados se encargan de resolver las tareas transversales del programa, desde la persistencia de datos y la configuración del órgano judicial hasta la generación automatizada del documento final en formato RTF.
  • gestor_config.py: Administra la persistencia de datos mediante el archivo config.json. Se encarga de cargar y guardar la configuración del órgano judicial, las rutas de acceso y las preferencias del usuario, garantizando que la información se mantenga entre sesiones. 
  • gestor_datos.py: Gestiona la lógica de los diálogos de configuración. Controla las ventanas modales destinadas a introducir los datos del juzgado y del usuario.
  • gestor_guardado.py: Actúa como el motor de exportación del programa. Su función es recopilar la información de todos los apartados para componer el documento RTF final, procesando una estructura compleja de más de 650 líneas de código y automatizando la nomenclatura de los archivos. 
  • gestor_traducciones.py: Implementa el sistema multiidioma para permitir el cambio en caliente entre castellano y catalán. Se encarga de actualizar en tiempo real todos los widgets, menús y etiquetas de la interfaz sin necesidad de reiniciar la aplicación. 
  • gestor_treeview.py: Controla la visualización jerárquica en el panel derecho de la aplicación. Organiza los datos del modelo en una estructura de árbol que permite navegar de forma lógica entre el acusado, sus delitos, las penas impuestas y los detalles de cada pronunciamiento. 
  • gestor_utilidades.py: Centraliza las funciones de soporte técnico. Incluye la gestión de rutas internas para el correcto funcionamiento del ejecutable generado con PyInstaller y diversos ayudantes para tareas genéricas del sistema.

3. Apartados jurídicos 

Representan el núcleo de derecho sustantivo del programa, donde la norma legal se transforma en lógica de código. Este bloque está compuesto por doce módulos que siguen la estructura secuencial de una sentencia, permitiendo que cada fase del fallo tenga su propio espacio de procesamiento independiente. 
  • encabezamiento.py: Gestiona los datos del procedimiento y la identificación de las partes procesales. Configura dinámicamente la interfaz mediante el uso de pestañas según el número de acusados o responsables civiles, permitiendo distinguir entre distintos tipos de juicio como el Procedimiento Abreviado o el Juicio Rápido.
  • hechos_probados.py: Proporciona un editor de texto libre para la redacción de la base fáctica de la sentencia.
  • penas/ (submódulo): Dada la complejidad que requiere la determinación de la pena y las medidas de seguridad, este bloque se fragmenta en cuatro archivos especializados para mantener la claridad del código:

    • punicion.py: Es el orquestador de la interfaz de condenas. Gestiona la selección del acusado y el número de delitos, generando pestañas dinámicas para cada uno. Coordina la interacción entre el resto de archivos del submódulo y permite aplicar las circunstancias modificativas de la responsabilidad penal.
    • comunes.py: Centraliza las funciones lógicas compartidas. Contiene los algoritmos para el cálculo de duraciones (conversión de años, meses y días), las validaciones de los campos de entrada y los procesos que actualizan el modelo de datos cada vez que el usuario realiza un cambio.
    • penas.py: Define la tipología y los campos específicos de cada castigo. Diferencia entre penas privativas de libertad (prisión, localización, TBC), privativas de derechos (inhabilitaciones, prohibiciones) y pecuniarias (multas por cuotas o proporcionales), incluyendo las reglas de sustitución del Art. 71.2 del Código Penal.
    • medidas.py: Se encarga exclusivamente de las medidas de seguridad reguladas en los Art. 101 al 107 del Código Penal. Gestiona opciones como el internamiento en centros psiquiátricos, la libertad vigilada con condiciones específicas o la expulsión del territorio para casos de medidas de seguridad.
  • rps.py: Gestiona todo el bloque de interfaz dedicado a la lógica de la Responsabilidad Personal Subsidiaria según el Art. 53 del Código Penal, calculando los días de privación de libertad correspondientes en caso de impago de las penas de multa.
  • expulsion.py: Gestiona todo el bloque de interfaz dedicado a la lógica de la  sustitución de la pena de prisión por la expulsión del territorio nacional.
  • suspension.py: Gestiona todo el bloque de interfaz dedicado a la lógica de la suspensión y las obligaciones específicas o prohibiciones impuestas al penado.
  • responsabilidad_civil.py: Organiza la vertiente indemnizatoria de la sentencia. Permite definir múltiples conceptos resarcitorios, asignar perjudicados y establecer la responsabilidad solidaria entre los distintos acusados.
  • fraccionamiento.py: Procesa la lógica de los pagos aplazados, permitiendo definir el número de cuotas, los importes mensuales y los plazos para el abono de multas o indemnizaciones civiles.
  • decomiso.py: Gestiona el comiso de los efectos, instrumentos y ganancias del delito. Incluye apartados específicos para el tratamiento de vehículos y el decomiso por valor equivalente.
  • piezas_conviccion.py: Determina el destino final de los objetos intervenidos en la causa, automatizando los pronunciamientos sobre su destrucción, devolución...

4. Clases 

El directorio Clases es el lugar donde se define cómo se almacena y organiza toda la información que el usuario introduce en el programa, recurriendo a la lógica de clases y objetos para transformar esos datos en entidades jurídicas estructuradas y relacionadas entre sí.
  • sentencia.py: Es el contenedor principal de la aplicación. Esta clase aglutina toda la información del procedimiento, desde los datos del juzgado hasta las listas completas de acusados, hechos probados y pronunciamientos especiales. Es el objeto que se pasa entre módulos para asegurar que la información sea coherente en todo momento.
  • partes.py: Define la estructura técnica de los elementos básicos del Derecho. Aquí se codifica qué datos componen a una Parte (datos personales y procesales), un Delito (tipificación y circunstancias), una Pena (naturaleza y clase), las Duraciones (años, meses y días) y la Responsabilidad Civil (conceptos, importes y solidarios).
  • requerimiento.py: Se encarga del modelado de los requerimientos. Esta clase gestiona la generación de los textos personalizados necesarios para requerir formalmente al penado el cumplimiento de las penas o las condiciones de la suspensión impuestas en el fallo.

5. Utilidades

Finalmente, existen dos módulos que prestan soporte a todo el sistema de forma invisible pero constante:

  • traducciones.py: Contiene el motor del sistema multiidioma. Gestiona un diccionario con aproximadamente 500 claves que incluyen desde etiquetas de la interfaz hasta fragmentos de textos legales de la LECrim y el Código Penal en castellano y catalán.
  • logging_config.py: Implementa el sistema de registro de eventos.