Plan de desarrollo y sugerencias de FacturaScripts. Los usuarios pueden hacer sugerencias, los patrocinadores votarlas, el equipo de desarrollo puede escoger una tarea y encargarse. Consulte la sección colabora (menú comunidad) para colaborar.
En este roadmap se gestionan las sugerencias y tareas del core de FacturaScripts y de sus plugins. Cualquier usuario registrado puede añadir sugerencias gratis; los patrocinadores reciben votos cada mes según su nivel y pueden usarlos para votar o añadir más sugerencias. Cada semana el equipo de programadores revisa las más votadas y aprueba las que se incorporarán al desarrollo.
Hay varias formas de contribuir a FacturaScripts, elige la que mejor se adapte a ti:
Cualquier usuario registrado puede añadir hasta 2 sugerencias gratis. Los patrocinadores reciben votos cada mes y pueden usarlos para votar sugerencias o añadir más allá del límite gratuito.
Simplemente regístrate y podrás enviar correcciones a cualquier página de la documentación: actualizar imágenes obsoletas, mejorar descripciones, explicar funciones que no están bien documentadas...
Únete al equipo de desarrollo y empieza con alguna tarea sencilla: clona el repositorio en GitHub, haz los cambios y envía un Pull Request. Siempre hay alguien en el equipo dispuesto a ayudarte con tus primeros pasos.
Únete al equipo de desarrollo para colaborar en FacturaScripts y/o sus plugins. Siempre necesitamos programadores, testers y personas que puedan ayudar con la documentación.
Unirse al equipoEn este roadmap se gestionan las tareas tanto del core de FacturaScripts como de sus plugins. Esta pestaña te da una visión global por proyecto: de un vistazo puedes ver qué hay pendiente en cada uno y priorizar dónde enfocar tu contribución.
Añade el campo grupo de clientes a los contactos del...
Permite eliminar todos los datos de la base de datos y...
Plugin para FacturaScripts que permite gestionar...
Permite crear datos de pruebas para usar en demos o...
Permite migrar los datos de FacturaScripts 2017 a la...
El Modelo 111 es una declaración trimestral de las...
Herramienta en línea de comandos para el desarrollo...
Agrega un punto de venta (TPV, Point of Sale) que permite...
Sistema de localización de productos en almacenes para...
Añade plazos a las formas de pago y los aplica en los...
Permite gestionar contactos, listas, campañas, notas y...
Añade gestión de Remesas bancarias en formatos SEPA...
Permite importar clientes, proveedores, productos o...
Incluye herramientas para corregir automáticamente...
Permite imprimir etiquetas de códigos de barras de...
Modelos 303 y 390 de la Hacienda española para la...
Permite asignar un segundo agente comercial a los...
Permite ver los movimientos de stock de cada producto del...
Permite gestionar servicios (SAT) en negocios como...
Shopea.me es un servicio web con el que puedes...
Plugin que permite generar cobros y pagos a cuenta. Se...
Añade un botón email en el listado de facturas de...
Modifica el aspecto visual de FacturaScripts para usar...
Añade soporte para la factura electrónica española: el...
Este Plugin te permite administrar los informes...
Este plugin está abandonado por el autor, solo se...
Modifica el diario contable para agrupar por cuenta y...
Permite imprimir tickets de facturas de venta, albaranes,...
El Modelo 130 es una declaración trimestral del impuesto...
Con este plugin puede crear plantillas de asientos para...
Permite agrupar documentos de distintos almacenes,...
Añade 21 themes/skins nuevos a FacturaScripts para...
Añade informes adicionales de resultados anuales, estado...
Añade el campo de "fecha de proveedor" a las...
Modifica el plugin Servicios y permite añadir varias...
Añade un nueva plantilla al listado de plantillas del...
Añade la columna fecha a las líneas de facturas,...
Plugin de Control de Impresión para Documentos Este...
Añade gestión de pagos (anticipos) en presupuestos,...
Añade los informes necesarios para el "Suministro...
Plugin que permite administrar los Textos que generemos...
Plugin de conciliación bancaria: - Permite importar los...
Permite escanear documentos (facturas, albaranes,...
Un plugin que permite llevar registro de información...
Este plugin añade soporte para Verifactu: Veri-factu es...
Optimizador de Imágenes para FacturaScript Un plugin...
El plugin Citas para FacturaScripts es la solución...
Preparar y automatizar el Informe 349 para su presentación mensual ante la Agencia Tributaria, garantizando formato y cumplimiento legal.
Implementar conversión de precios al añadir líneas de compra o venta en divisas diferentes a la predeterminada, asegurando transacciones precisas y actualizadas.
Implementar el paginador en la parte superior de los EditListView, similar a los ListView, para mejorar la navegación y la experiencia del usuario al visualizar listas extensas.
Convertir automáticamente los precios de un documento a la nueva divisa al cambiar la divisa, asegurando que todos los valores reflejen la conversión correcta y actualizada.
Modificar la visualización de logs para mejorar la legibilidad de los cambios en documentos, asegurando que sea claro qué modificaciones se han realizado.
Se debe añadir un nuevo campo de observaciones privadas o notaspriv en facturas, albaranes, pedidos y presupuestos para mejorar el registro de información exclusiva relacionada con los clientes.
Modificar el atributo onclick de los widgets para que si comienza con ciertos protocolos, construya enlaces directos sin FS_ROUTE, concatenando directamente con el valor de fieldname.
Implementar cierre de sesión automático tras x minutos de inactividad configurable desde el panel de control para mejorar la seguridad y la gestión de sesiones
Implementar detección y bloqueo de bots rastreadores a nivel Core para prevenir ataques DDoS, detectando accesos a URLs no válidas y respondiendo con error o bloqueo temporal BAN para proteger instalaciones públicas.
Al exportar por PDF o enviar por mail varios documentos de Compra o Venta desde el listado no aparece la opcion Avanzado para elegir tipo de exportacion formato de impresion e idioma implementar la misma funcionalidad que en la edicion del documento
Añadir botones siguiente y anterior al ver documentos de compra o venta para navegar entre documentos del mismo cliente o proveedor y agilizar la revisión sin volver al listado ni abrir múltiples pestañas.
Modificar la creación de clientes: para empresas, almacenar todo el nombre en un solo campo; para individuos, separar el nombre y apellidos, asignando la primera parte al nombre y el resto a los apellidos.
Crear ExportPDF en Core Lib y contrato en Core Contract para reemplazar ExportManager Exportar PDFs con extensiones por modelo newPage addText addImage addTable save output setLang orientation size company setData mods y desactivar cabecera o pie
Añadir opción en configuración para definir el número de caracteres en referencias al crear productos. Facilitará búsquedas precisas y se podría aplicar a servicios, proyectos y variantes.
Permitir establecer la divisa del widget money desde XML y desde el controlador para usar un simbolo distinto al global, actualmente busca coddivisa en el modelo o usa la general, pero a veces esta en un modelo superior
Agregar segundo título por estado para distinguir acción y listado por ejemplo facturar versus facturado añadiendo una segunda columna de nombre en los estados.
Añadir columna Saldo a cada línea del asiento contable para mostrar el saldo acumulado y facilitar el punteo y la conciliación de cuentas.
Permitir registrar un segundo correo electrónico en la ficha del cliente para mejorar contacto y gestión de comunicaciones
Modificar la descarga de archivos en la biblioteca para que utilice el nombre original en lugar del id, o en su defecto, combine el id con el nombre original, mejorando la identificación de los archivos descargados.
Incorporar el campo numproveedor en los recibos de compra para que pueda visualizarse en los listados, permitiendo la búsqueda e impresión de esta información de manera eficiente.
Implementar la funcionalidad que muestre el último precio de venta al cliente en el campo de precio al añadir un producto, similar a cómo se muestra el stock en cantidad.
Añadir un mensaje de advertencia al crear un cliente o proveedor con cifnif existente, permitiendo su creación. Modificar los métodos saveInsert() en Cliente y Proveedor para verificar duplicados y registrar advertencias.
Desarrollar un plugin que facilite la administración de moteles, mejorando la gestión de reservas, disponibilidad y servicios, optimizando así la experiencia del usuario y la operativa del negocio.
Al facturar albaranes, se debe requisitar la fecha de factura y, para compras, el número de factura del proveedor, ya sea desde el listado o el albarán abierto, asegurando información completa y precisa en el proceso.
Optimizar la navegación permitiendo que los menús se desplieguen con hover en lugar de un clic, lo que ahorrará millones de clics diarios y mejorará la experiencia del usuario.
Implementar una visualización clara de la aplicación del filtro SelectWhere, indicando que no se están viendo todos los elementos, mediante un cambio de color o icono en el botón de filtros o en el propio filtro aplicado.
Añadir funcionalidad para ordenar grupos en xmlview al extender uno existente, permitiendo ubicar un nuevo grupo en cualquier posición, en lugar de agregarlo siempre al final.
Corregir el bug al cambiar cliente o proveedor en facturas y albaranes, asegurando que se recalculen las líneas para reflejar exenciones de IVA o recargos de equivalencia aplicables.
Modificar el Widget Moneda para que campos con EUROS en el nombre muestren la moneda configurada de la empresa o el simbolo de euro en listados y PDF en vez de heredar coddivisa del registro
Redisenar xml de listados para definir columnas con fieldname, filtro, orden y busqueda por defecto, soportar botones y funciones JS con parametros, totales, filtros, assets y modals configurables via xml, nombres para extensiones y onhover y onclick.
Añadir columna "materialenviado" a documentos de venta para filtrar el estado de envío. Esto permitirá identificar fácilmente si el material ha sido enviado o recibido por el cliente, mejorando la gestión y seguimiento de pedidos.
Optimizar la gestión de permisos en grupos de usuarios evitando que se muestren opciones de filtrado irrelevantes y pestañas sin acceso. Esto previene confusiones en la configuración y mejora la experiencia del usuario al navegar por la plataforma.
Mostrar la cola de procesos pendientes en segundo plano y permitir su cancelación previa, considerando las dependencias con otros subprocesos para evitar fallos o cancelaciones innecesarias.
Cambiar el icono de autocompletar por uno que no sugiera la búsqueda, como "far fa-list-alt", para evitar confusiones entre los usuarios que pulsan el icono creyendo que es un botón de búsqueda.
Implementar flow.js para permitir la subida de plugins grandes en partes, superando las limitaciones de PHP en FacturaScripts, facilitando así la instalación de plugins como PlantillasPDF sin restricciones.
Incluir los identificadores fiscales SIREN y SIRET en la lista existente, para adaptarse a los requisitos de identificación fiscal en Francia y asegurar una correcta gestión de datos.
Mostrar totales de documentos al agrupar en el asistente, sumando netos, ivas y totales de los albaranes seleccionados, para mejorar la experiencia del usuario y facilitar el proceso de agrupación.
Mostrar diversas cuentas como opciones de pago mediante transferencia. Se busca definir un método eficiente para implementar esta funcionalidad en el sistema de pagos.
Mostrar la columna "precio con IVA" en el listado de productos para facilitar a los usuarios la visualización del costo total, asegurando una mejor transparencia en la información de precios ofrecidos.
Implementar la capacidad de copiar y pegar líneas en los documentos de compra y venta, recuperando la funcionalidad anterior del modo rejilla para mejorar la eficiencia y usabilidad del sistema.
Se debe añadir un campo "Fecha de entrega" a los pedidos para mejorar la gestión y permitir ordenar los pedidos según esta fecha, optimizando el seguimiento y la planificación de entregas.
Implementar soporte para HAVING en consultas SQL para permitir filtros numéricos sobre un alias de suma en JoinModel. El objetivo es evitar errores al filtrar por "cantidadtotal", una columna calculada a partir de un JOIN.
Actualizar las tarifas en los documentos de venta para asegurar la correcta facturación y seguimiento de los precios actuales.
Se sugiere cambiar la etiqueta del asiento en el recibo de "cobro" a "devolución" para reflejar con mayor claridad la naturaleza de la transacción.
Añadir un campo "Fecha de Operación" a las facturas, manteniendo "Fecha de Expedición" como actual. Esto permitirá incluir la fecha de la operación para cumplir con las necesidades de contabilidad de los clientes y responder a consultas sobre facturas de 2022.
Unificar en un panel las compras del mismo producto por distintos proveedores para visualizar en un solo lugar las variaciones de precio y todos los movimientos asociados
Agregar en la ficha de cliente observaciones públicas que se añaden por defecto en sus facturas y observaciones privadas solo para uso interno, permitiendo insertar automáticamente textos legales de IVA o notas de inversión del sujeto pasivo.
Agregar opción para marcar proveedores y clientes como intracomunitarios por defecto, de modo que las facturas intracomunitarias se creen automáticamente sin abrir el modal ni seleccionar la operación.
Añadir opción para almacenar logs en archivos o en la base de datos, con rotación diaria, mensual, anual o como archivo único, separación por canal, formato JSON o Monolog e implementación similar a drivers de almacenamiento.
Implementar en WidgetDataList un encadenamiento tipo WidgetSelect para vincularlo a otro campo y que su lista se actualice al cambiar el campo relacionado, por ejemplo país a provincia y provincia a ciudad.
Revisar y eliminar codigo duplicado en actualizacion de precios de coste y productos de proveedor mover la logica de ProductoProveedor a un worker y actualizar los tests unitarios
Desarrollo de funcionalidad para bloquear variantes de un producto sin afectar la venta del producto principal, permitiendo gestionar eficazmente la disponibilidad de variantes como color, talla o temporada sin interrumpir las ventas.
Agregar opción por secuencia en FacturaScripts para rellenar huecos sin cambiar fechas; modificar SecuenciaDocumento.php, secuencias_documentos.xml, BusinessDocumentCode.php y añadir test unitario.
Arreglar en Core/Lib/Accounting/PaymentToAccounting.php la generación de asientos de pago que se omiten cuando la fecha de pago coincide con una regularización de IVA, asegurar crear el asiento y mantener la integridad contable.
Modificar el proceso de cierre contable en FacturaScripts para que al generar asientos de regularización, cierre y apertura ignore los bloqueos de regularizaciones de impuestos y así evitar ajustes manuales.
Permitir agrupar con un solo clic todos los albaranes de un rango de fechas por cliente para generar sus facturas automáticamente, optimizando procesos para volúmenes altos por ejemplo 500 albaranes al mes.
Mantener filtros y página activa en ListView y EditListView tras ejecutar acciones, asegurando que la experiencia del usuario sea fluida y consistente.
Restaurar las cuentas 4000, 4100 y 4300 del plan contable de España, asegurando que se creen subcuentas de clientes y proveedores adecuadamente. Modificar el archivo CSV y añadir tests unitarios para validar los cambios.
Generar asientos de factura bloqueados tras su creación. Se debe validar mediante pruebas que el asiento está bloqueado, que las modificaciones y eliminación se reflejan correctamente, y ajustar los tests unitarios para asegurar la funcionalidad.
Modificar el formulario de devoluciones para permitir la selección de si ambas facturas se marcan como pagadas y especificar la forma de pago, con el objetivo de minimizar errores del usuario en el proceso de devolución.
Corregir bug: al registrar un pago con fecha en un ejercicio inexistente se crea el pago pero no el asiento; añadir en interfaz generación manual de asientos, eliminar pagos y bloquear fechas si el ejercicio no existe o está cerrado.
Añadir tipodocumento al modelo asientos e implementar el método getDoc para enlazar el documento original como factura, recibo o remesa, ajustar el formulario para mostrar el enlace correspondiente y completar antes la tarea 3656
Comprobar el efecto de crear un estado que genere el mismo tipo de documento. Si se detectan problemas, evitar su creación y añadir la verificación correspondiente en el test unitario.
Añadir las traducciones cortas save-ok, save-error, delete-ok y delete-error para facilitar la visualización de mensajes al guardar o eliminar registros en la aplicación.
Implementar generacion y validacion de tokens formulario en Session: opcion especifica por usuario, TTL 72h configurable en config.php; actualizar formToken de twig y validateFormToken de Core/Base/Controller para usar Session; agregar test unitario.
Modificar el JavaScript para actualizar el token en cada solicitud AJAX en la edición de asientos, compras y ventas, y agregar validación del token en los controladores pertinentes, previniendo ataques CSRF y asegurando la autenticidad de las peticiones.
Agregar opciones extracomunitarias y sujeto pasivo al campo operacion del boton detalles en presupuestos pedidos albaranes y facturas
Al crear un cliente o proveedor, si existe el plan contable crear y vincular automáticamente la subcuenta correspondiente, y añadir un botón en la pestaña Subcuentas para crear la subcuenta desde la ficha si no existe.
Modificar el actualizador para que la acción de actualización tras descargar el zip sea una llamada ajax. Esto mejorará la tolerancia a errores y evitará que problemas en dependencias interrumpan el proceso de actualización.
Centralizar en un modal Cuadro de impuestos todas las opciones fiscales por cliente al crear documentos, prellenando régimen y retenciones, unificando IGIC, suplidos, importación, exportación, inversión del sujeto pasivo y ajustes por producto.
Hacer públicos la mayoría de los métodos estáticos de las clases Core AjaxForms para permitir su invocación desde mods y así añadir o ajustar el HTML, primero completar la tarea 3656
Crear un test unitario para el modelo Impuesto que verifique la correcta creación, borrado y cálculo de impuestos, incluyendo tipos porcentaje y valor fijo, y la asignación de subcuentas en facturas de compra y venta.
Corregir bug al aprobar documentos de compra, no copiar el campo numproveedor al documento siguiente porque el número del albarán puede diferir del de la factura
Corregir bug en InvoiceToAccounting.php que genera líneas con importe 0 en la cuenta 700.0 al desglosar líneas de texto de productos vinculados a 700.1 y evitar crear desgloses con valor 0
Bug en Safari, el widget datetime no autocompleta hora y minutos y al editar con teclado Enter puede enviar fecha incompleta. Solución añadir onchange que rellene hora con hora actual y avise si faltan día mes o año
Corregir fallo que no restaura stock al eliminar una linea de albaran tras aprobar pedido objetivo anadir test unitario que verifique la restauracion del stock reservado y pendiente Cliente yopli2k
Anadir regimen especial para agricultores a la lista de regimenes de IVA actualizar el Calculator para soportarlo y agregar el test unitario correspondiente
Anadir un cron para generar y almacenar diarios en MyFiles y servir el archivo pregenerado al descargar para evitar generacion en tiempo real
Bug permitir devolver la misma linea varias veces una linea con cantidad 1 puede rectificarse y volver a rectificarse causando devoluciones duplicadas Objetivo evitar devoluciones duplicadas y validar la rectificativa
Actualizar el instalador para leer datos de configuración desde variables de entorno y permitir carga y parametrización automática durante la instalación
Al cambiar el estado de un documento que genera otro, mostrar un modal para elegir la fecha del nuevo documento, permitiendo al aprobar un albarán seleccionar la fecha de la factura al instante y reducir clics.
Rediseñar la clase Core DB para implementar PDO, leer configuración con Tools config, aceptar URL de conexión, soportar SQLite, permitir múltiples conexiones y métodos públicos como newConnection connection connected select, e integrarlo en Installer
Mover generación de tokens de Core/Lib/MultiRequestProtection a Core/Session, Session debe generar tokens vinculados y anónimos, duración configurable en config.php, MultiRequestProtection marcada como deprecated y tests de Session actualizados
Agregar Bootstrap Icons y usar AssetManager para combinar todos los CSS en un único archivo, reemplazando los enlaces CSS en la plantilla Twig por llamadas a AssetManager.addCss y usando AssetManager.combinedCss para incluir el archivo combinado.
Implementar addCronWorker para registrar workers que sólo se ejecutan por cron, marcar esos eventos en la tabla y modelo, y ajustar la función run de la cola para distinguir ejecuciones desde el cron.
Actualizar DbUpdater para eliminar restricciones NOT NULL de campos ausentes en el XML, asegurando que la estructura de la tabla se modifique correctamente y que los modelos puedan guardar sin requerir valores para esos campos.