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...
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.
Imprimir un arqueo o cierre de caja al finalizar el proceso, preferiblemente en formatos Ticket y PDF, para mejorar la documentación y facilitar la revisión y auditoría de los ingresos y egresos.
Generar el informe "Inventario valorado" que detalle el valor de los activos en existencia basado en su precio de coste. El objetivo es proporcionar información clara para la gestión financiera y control de inventarios.
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.
Añadir una sola imagen a las familias de productos para su uso en TPVneo y potencialmente en otras aplicaciones futuras, mejorando la visualización y gestión de productos.
Agregar soporte de inversión del sujeto pasivo en facturas y desglosarlo en el modelo 303, usar subcuenta e IVA 0 por ciento por línea, pendiente desglosar impuestos por tipo y corregir facturas con mismas tasas y distinto tipo.
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.
Generar un documento exportable en PDF o CSV que incluya presupuestos de venta vinculados a un proyecto, mostrando datos, líneas y subtotales sin agrupar. Incluir totales, desglose de impuestos y forma de pago para entrega al cliente.
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 la función de impresión de tickets desde dispositivos Android a impresoras Bluetooth, facilitando la gestión de ventas y mejorando la experiencia del usuario.
Reprogramar la caja para recargar automáticamente monedas y billetes al abrir, permitiendo su uso inmediato. Incluir un botón para limpiar y reiniciar el conteo facilita la gestión del dinero acumulado en cierres anteriores.
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.
Agregar una imagen de marca de agua global y específica para impresión, permitiendo ajustar opacidad, tamaño y posición para mejorar la presentación visual.
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
Imprimir facturas por defecto en el idioma del cliente añadiendo campo idioma en cliente o haciendo que el plugin PDF use el país de envío, incluir en la próxima actualización de plantillas PDF, desarrollo estimado bajo.
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.
Permitir asignar o cambiar la fecha de cada linea de conteo para corregir, programar o ajustar registros, manteniendo coherencia y trazabilidad de los datos.
En TpvNeo, al cambiar de cliente no se actualizan los precios del panel izquierdo; si el cliente por defecto tiene tarifa, los precios mostrados son incorrectos. Objetivo: arreglar la actualización de tarifas al cambiar de cliente.
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
Integrar conexión directa con bancos y cuentas para automatizar la conciliación bancaria cada 24 horas o bajo demanda, permitiendo ejecutar conciliaciones automáticas o al pulsar un botón.
Implementar copias de seguridad automaticas programadas e incrementales para garantizar respaldos regulares y minimizar perdida de datos
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.
Mostrar diversos datos de la empresa en cada formato. En presupuestos debe aparecer el logotipo y nombre de la marca, mientras que en facturas no. Adaptar la presentación de información según el documento.
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 opción configurable para evitar que la barra se oculte automáticamente, reduciendo así la cantidad de clics necesarios y mejorando la eficiencia 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
Permitir seleccionar empresa y almacén al importar productos, facturas y clientes, sin cambiar la pestaña Por defecto, añadiendo soporte multiempresa y multialmacén en el plugin de importación.
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.
Agregar dos campos de firma a la tabla trabajos para registrar la firma del cliente al inicio y al finalizar servicios de mantenimiento a domicilio
Crear vista de proyectos con Kanban y Gantt para que el cliente supervise progreso, comente y cree tareas nuevas facturables.
Tarea 3331 Nueva opcion para mostrar el desglose de IVA incluso cuando su valor sea cero
Mostrar en la línea de la factura el albarán relacionado como en FS2017 con el mismo plugin añadiendo campo o vínculo visible e impresión en PDF revisar templates plugin backend generación de PDF y estimar plazo y horas
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.
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.
Definir FS_PASSWORDS_STRENGTH en config con valores low medium hard para imponer políticas de contraseña, low 6 caracteres, medium 10 con números letras y signo, hard 12 con mayúsculas minúsculas números y signo, actualizar modelo y tests
Para principiantesArreglar 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.
Corregir bucle infinito en BaseView linea 286 al usar loadData offset limit 0 en EditController, tratar limit 0 como sin limite o como minimo valido para evitar fallo, modificar EditController PanelController y BaseView.
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.
Integrar avisos y notificaciones en el plugin CRM para gestionar y alertar sobre notas de clientes en creación actualización y vencimiento y mejorar visibilidad y seguimiento.
Tarea 3243: Notificar mediante TPVneo el cierre de caja en tiempo real para registrar el evento, generar informe y alertar a responsables.
Tarea 3242 Notificar mediante el plugin FacturasProgramadas la cantidad de facturas creadas para informar estado y facilitar el seguimiento
Añadir notificación automática para el informe SII que avise a los responsables con antelación sobre vencimientos y pasos necesarios para presentar el informe a tiempo.
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.
Implementar notificaciones en los modelos 111 115 130 303 390 y 347 para avisar las fechas de presentacion y garantizar recordatorios y visibilidad de vencimientos
Crear una página de contacto para mostrar fotos direcciones teléfonos y ubicaciones de la empresa facilitando la comunicación y localización de sucursales
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.
Habilitar edición del campo comisión en líneas de facturas y albaranes para permitir modificar comisiones asignadas por línea tras la venta
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
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.
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.
Implementar la migración de datos para el plugin Trazabilidad al estar activado, asegurando que la información relevante se transfiera correctamente y se mantenga la integridad de los datos en el sistema.
Reemplazar la librería de compresión actual por una más eficiente en uso de memoria para resolver el error de "allowed memory size" al realizar copias de seguridad de archivos mayores a 1GB. Se sugieren dos alternativas.
Se implementará una opción para enviar emails a clientes y proveedores, informando las cantidades a declarar en el modelo 347, asegurando la notificación de cambios y evitando errores.
Al actualizar un plugin enviar avisos a desarrolladores de plugins dependientes para que verifiquen compatibilidad y corrijan conflictos igual que se hace al lanzar una nueva version del core.
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
Mejorar la creación de modelos mostrando los campos habituales añadidos. 📋 Descripción Actualmente, al crear un nuevo modelo desde FacturaScripts y seleccionar la opción de añadir los campos habituales, el sistema no proporciona una confirmación explícita ni un listado de los campos...
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.
La generación de comisiones de prueba debe trasladarse al plugin Comisiones, alineándose con la gestión de comisiones y el movimiento previo realizado con Proyectos.