Plan de desarrollo y sugerencias de FacturaScripts. Los patrocinadores pueden hacer sugerencias y votarlas, el equipo de desarrollo puede escoger una tarea y encargarse. Consulte la sección colabora (menú más) para colaborar.
Modificar el atributo onclick de los widgets para permitir enlaces externos como este: ``` <column name="web" order="130">...
+3Añadir al controlador DocumentStitcher un checkbox para indicar que queremos cerrar el documento, que no vamos a agruparlo, ni partirlo más. ## Contexto En...
+3 DEVELOPMENTAl agrupar documentos, en la sección de añadir más documentos del cliente/proveedor, añadir un checkbox para poder seleccionar todos o ninguno rápidamente....
+2 DEVELOPMENTPosicionar la página al cargar en el registro EditListView donde hemos pulsado "guardar". - Poner un id a cada formulario del EditListView - Pasar...
+2 DEVELOPMENTAñadir al panel de control la opción de reemplazar la columna de **subtotal** por la de **neto**, para aquellos negocios que trabajan principalmente con...
+2 1Cuando se establecen los permisos en los grupos de usuarios no mostrar aquellos que no tienen opción de filtrar los listados de "solo ver lo...
+2 1Cambiar el filtro de fecha de recibos para filtrar por fecha de vencimiento, actualmente esta por fecha de creacion
+2Modificar las series (modelo Serie) para añadir un selector para indicar si es **normal**, **simplificada** o **rectificativa**.
+2Modificar la visualización de logs para hacer los cambios en documentos más legibles, para que quede claro qué se ha cambiado.
+2Mostrar advertencia de huecos en el listado facturas de venta.
+2Mostrar el último precio de venta al cliente cuando se añade un producto, en el campo precio, como hacemos con el stock en la cantidad.
+2 1Al descargar un archivo de la biblioteca, usar el nombre original, en lugar del id. O quizás el id + el nombre original. ## Archivos a modificar -...
+2Añadir el campo de observaciones privadas o notaspriv en las facturas, albaranes, pedidos y presupuestos de cliente.
+2 DEVELOPMENTPoder marcar como enviadas las Facturas sin enviar de alguna manera. ¿Cómo en FS2017, anteriores a una fecha?¿Añadir un botón a listado de Facturas para...
+1Marcar como enviadas en las series
+1Discriminar notificaciones por serie
+1 DEVELOPMENTImpresión de cierre de caja en el plugin POS
+1Desarrollar un plugin para administración de moteles.
+1Crear plugin de amortizaciones, similar a este de 2017: - https://github.com/tecnolife/amortizaciones
+1Al añadir un archivo a la biblioteca, conservar paarcialmente el nombre original. ## Ejemplo Si el archivo original se llama: - mi archivo súper...
+1Añadir un nivel adicional a la configuración de la aplicación para poder tener valores por defecto por empresa. Cuando se tiene una instalación multiempresa...
+1 DEVELOPMENTPoder asignar a los atributos, en que columna de la variante se debe informar. Ahora al dar de alta una variante de un producto se pueden informar (en caso...
+1 DEVELOPMENTCambiar los input select de los atributos en el EditListView de Variantes por el widget autocomplete. El motivo es que cuando se tienen bastantes variantes,...
+1Cambiar icono autocomplete (lupa) por otro que no induzca a "pulsar para buscar". En muchas ocasiones los usuarios pulsan el icono pensando que es...
+1Al usar setValuesFromArray() sería interesante poder pasarle un 3º parámetro que se para decirle al "option" si es disabled o no. En ocasiones...
+1Eliminar la comprobación de la suma total de las clase...
+1(Para reunión) Diseñar la encuesta de uso 2022, para incorporar al dashboard. ## Preguntas - ¿Trabajas principalmente con subtotales netos o con IVA?...
+1El selector de valores de atributos de la variante debería ir agrupado por atributo, es decir, en el campo atributo1 deberían salir solamente los valores...
+1Actualizar bootstrap a la versión 5 (ahora mismo estamos usando la versión 4). ## Objetivo Disfrutar de las mejoras de la nueva versión. ### Problemas Hay...
+1No sé como redactarlo, pero creo que aquí entraría el cambio que hay que hacer para poner notices o warnings en el saveUpdate de una extensión de modelo....
+1En la clase MyFilesToken, cuando se llama al método get() y se le pasa un "path" que empieza por una "/" (barra diagonal) no generá bien...
+1Añadir la opción de poner un title a los botones de los row actions. Ejemplo: ``` $this->addButton('ListProducto', [ 'type' =>...
+1Agilizar la creación de variantes de productos seleccionando los atributos y sus valores desde un listado pulsando luego en un botón para que las genere...
+1Poder modificar el nombre de los ficheros almacenados. Desde la biblioteca, poder modificar el nombre de los ficheros
+1 SOPORTE-COMUNITARIOEl archivo InvoiceTrait elimina los recibos y los asientos de la factura aunque alguna extensión devuelva false. Habría que englobarlo todo en una...
+1Añadir columna materialenviado a los documentos de venta, o una nueva columna para el estado del envío. ## Motivación Ya tenemos columnas para indicar la...
+1Modificar el actualizador para que la acción de actualizar, una vez se ha descargado el zip, sea una llamada ajax, al igual que la acción de actualizar el...
+1Al crear un cliente se añade automáticamente una dirección de contacto y siempre parte el nombre y coloca la primera parte en el campo nombre y el resto en...
+1Eliminar la función newTitles(): array de PurchasesLineHTML y SalesLineHTML, ya que hace lo mismo que la función newFields() ¿O vamos a añadir un campo y no...
+1Modificar el formulario de devoluciones para poder indicar al crear si las 2 facturas (la rectificada y la nueva) se van a marcar como pagadas y con qué...
+1Crear test para el modelo ImpuestoZona y comprobar que la clase calculator lo asigna correctamente: 1. Crear un producto con IVA 21%. 2. Crear un...
+1**Eliminar** el test unitario actual del modelo Impuesto y crear uno nuevo siguiendo el ejemplo de los nuevos tests: -...
+1Poder filtrar por grupo de clientes en los listados de albaranes, facturas, pedidos y presupuestos de venta.
+1Añadir sección de traducciones personalizadas en el panel de control.  ## Archivos a modificar -...
+1Al hacer compras o ventas en una divisa diferente a la predeterminada, convertir los precios en el momento de añadir la línea.
+1Opción de **predeterminar filtros** en listados. (Por ejemplo "facturas impagadas") Es el filtro que echo de menos de la pestaña...
+1Ocultar el bloque con los campos a aplicar de filtros una vez se aplica un filtro guardado con los nuevos botones. El filtro queda aplicado por lo que no...
+1Añadir soporte para el régimen especial de agencias de viaje: -...
+1Poder poner varios botones de volver en el EditController. Por ejemplo, en el caso de recibos, te puede interesar volver a la factura o al listado de...
+1Sustituir el checkbox de pagado en recibos por botones de acción: pagado, devuelto, ¿impagado?
+1Añadir numero2 y numero3 a clientes, y usar esos valores en facturas, albaranes...
+1Añadir campo1 y campo2 a clientes. Campos para apuntar lo que se quiera.
+1Al agrupar albaranes con **observaciones** (también pedidos y presupuestos), **combinar las observaciones** de todos los documentos, cuando son varias....
+1Mostrar mensaje o cuadro de advertencia en el tablero cuando no se detenta el plan contable del ejercicio actual, para indicar al usuario que debe...
+1Al exportar el listado de productos a **csv**, está añadiendo los totales del listado y falla al importar esos datos. Habría que modificar la exportación de...
+1Modificar el informe de impuestos para comprobar y alertar de facturas que todavía tengan estado = boceto.  ##...
+1Al cambiar la divisa de un documento, convertir automáticamente los precios a la nueva divisa.
+1 DEVELOPMENTModificar los formularios de compras y ventas para añadir clases css a los botones de los 3 puntos y el de eliminar de las líneas. ## Objetivo Poder...
(Para reunión) Discutir las modificaciones a los balances propuestas aquí: - https://facturascripts.com/issues/5388
Poder subir varios archivos a la vez en las pestañas de archivos.
EmpleadosActualizar todas las tablas que están siendo modificadas en la clase Migrations para poder ir quitando esos cambios de Migrations.
Quitar clave ajena de roles_access a pages. Añadir al modelo Rol que cuando guardes, se recorra todos los access para ver que se corresponden con páginas...
Añadir campo de días de pago a proveedores, de la misma forma que está en clientes, que permite indicar una serie de días del mes separados por comas....
Poder añadir mensajes para mostrar en la siguiente ejecución, como lo de save-ok, o otros que tenemos. Así no hay que añadir ningún action.
(Dashboard) Añadir la columna descripción al listado de stock bajo mínimos del tablero....
Revisar el balance de pérdidas y ganancias- - http://cuentasanuales.info/index.php/PyG/cuenta-de-perdidas-y-ganancias-abreviada.html
Añadir cuenta 678 al balance de pérdidas y ganancias. Lo mismo con la 631 y 634: -...
Añadir desglose de cuentas en el balance de situación. - http://cuentasanuales.info/index.php/Balance/balance-de-situacion-normal.html
Crear autocomplete propio para sustituir al de jquery. ## Ejemplo - https://www.w3schools.com/howto/howto_js_autocomplete.asp
Añadir columna de precios con impuestos en los productos y variantes. ## Consideraciones Esta podría ser una nueva columna en la tabla o bien una columna...
Añadir numproveedor a los recibos de compra. De forma que aparezca en los listados y se pueda buscar e imprimir.
Poder hacer presupuestos a contactos: al hacer un nuevo presupuesto, mostrar el botón "seleccionar contacto" al lado del botón "seleccionar...
Corregir impuestoZona, que está mal enlazado con provincia.
1Revisión completa de los join models para poder usar los totales como en el resto de listados.
Desactivar caché en listados de forma general. Configurarlo en el panel de control.
Mostrar mensaje de advertencia claro al eliminar un cliente o proveedor cuando tiene facturas, albaranes, pedidos o presupuestos.
Al imprimir una factura en PDF, en la sección de recibos, incluir también el swift (siempre que esté definido).
DEVELOPMENTAñadir opción para poder mantener una sesión de usuario desde varios dispositivos, es decir, añadir la opción a preferencias de la aplicación y modificar el...
DEVELOPMENTModificar todos los widgets sobre provincias y cambiarlos por datalist contra la tabla de provincias.
DEVELOPMENTMandar email a usuarios, contactos, clientes y proveedores. Poder redactar emails en blanco, sin tener que adjuntar un modelo. Osea nos vamos a la ficha del...
+2Crear una nueva clase **Mailer** para el envío de emails que cubra las necesidades de: - Envío de emails de simple texto. - Envío de emails a partir de...
+2 DEVELOPMENTNecesitamos rediseñar el **ExportManager** para que cumpla las siguientes funciones: - Poder añadir clases para modelos concretos. Por ejemplo, un...
+2 DEVELOPMENTNecesitamos poder añadir botones a la cabecera de los documentos, como el botón de pagada/impagada de las facturas:...
+1 DEVELOPMENTPoder añadir desde el xml o controlador un mensaje personalizado al eliminar un registro. Actualmente sale un modal con un mensaje predeterminado, la idea...
+1Generar y guardar una llave pública/privada en el config.php en el instalador, para poder usar encriptación. Como en este caso: -...
+1 DEVELOPMENTAñadir las funciones **setup()** y **session()** a la clase **Html** para poder usar estas clases desde twig.
+1 DEVELOPMENTNecesitamos poder añadir funciones a twig. Para ello debemos añadir el método **addFunction(TwigFunction)** a la clase **Html**. De esta forma podremos...
+1 DEVELOPMENTAñadir **repositorio de contactos** a modo de caché en Core/DataSrc, como el resto de repositorios de almacenes, series, etc.
+1En los controladores necesitamos poder devolver json rápido, sin necesidad de establecer las cabeceras. Ejemplo: ``` $this->json(['error' =>...
+1 DEVELOPMENTNecesidades en materia de envío de emails: - Poder modificar los textos predeterminados para cada modelo: FacturaCliente, Servicio... Podríamos usar...
+1Nueva clase **Tools** para sustituir a ToolBox y con las funciones más comunes de Utils. La calse se situaría en Core/Tools.php ## Funciones - i18n():...
+1Hay que poder desactivar en un controlador o para una pestaña el botón opciones, para que la gente no se ponga a personalizar pantallas que no se deben...
+1Quitar del modelo **Contacto** las columnas **password** y **puntos**, así como los métodos alias(), newLogkey(), verifyLogkey() y el trait PasswordTrait....
+1 DEVELOPMENTPoder crear "extensiones" en las plantillas twig, o quizás mejor llamarlo Includes. Actualmente si un plugin quiere añadir código a una plantilla...
+1Pasar las variables globales a todos los includes de twig. Actualmente las variables como fsc, i18n, template, etc que se usan en las plantillas twig se...
+1Añadir mensajes de alerta de un solo uso como hace codeigniter....
+1Mostrar la cola de procesos pendientes de ejecución en segundo plano e incluso poder cancelarlos antes de que empiece su ejecución. **Ojo** para cancelar un...
+1Rediseñar la clase **Model** para reemplazar a ModelClass. La nueva versión que se colocaría en la carpeta **Template**, de acuerdo a la [nueva estructura...
+1 DEVELOPMENTNueva clase **Where** para reemplazar a [DataBaseWhere](/publicaciones/databasewhere-478). Esta clase iría directamente en la carpeta Core dado su uso...
+1 DEVELOPMENTRediseñar el [EditController](/publicaciones/editcontroller-642). La nueva versión se colocaría en la carpeta **Template**, de acuerdo a la [nueva...
+1 DEVELOPMENTAñadir repositorio de cuentas, en la carpeta dataSrc, como ya hay de series, ejercicios, etc. ## Objetivo - Tener una clase con métodos estáticos donde...
+1 DEVELOPMENTAñadir repositorio de subcuentas, en la carpeta dataSrc, como ya hay de series, ejercicios, etc. ## Objetivo - Tener una clase con métodos estáticos donde...
+1 DEVELOPMENTNecesitamos cambiar la forma en la que guardamos las personalizaciones de listados y formularios para usuarios concreatos. Actualmente las estamos guardando...
+1 DEVELOPMENTNecesitamos sacar los mensajes de **auditoria** referentes a modificaciones de facturas, asientos, etc. ## Problema Ahora mismo cuando se crea una factura,...
+1 DEVELOPMENTNecesitamos poder añadir **enlaces** a los mensajes del log para mostrarlos al usuario. ## Motivación En ocasiones, cuando mostramos un mensaje de error al...
+1 DEVELOPMENTNueva estructura de carpetas del **Core**: - **Assets**: archivos CSS, javascript e imágenes. - **Bridge**: conectores con base de datos, como las clases de...
+1 DEVELOPMENTReorganizar las carpetas de **tests unitarios** (carpeta test) para ejecutar primero los más básicos: - Infraestructura. - Modelos sin dependencias o con...
+1 DEVELOPMENTImplementar la nueva clase Cron, que ejecutará todos los trabajos de cron: - La lista de tareas cron a ejecutar se definirá en el **Init::update()** de cada...
+1Completar la clase **Plugins**, la nueva clase que sustituye a PluginManager. Debe tener una serie de **métodos estáticos** para poder usarla más...
+1 neorazorx_1Completar el nuevo DatabaseUpdater. La clase que se encarga de actualizar la estructura de la base de datos: -...
+1 neorazorx_1Rediseñar el [ListController](/publicaciones/listcontroller-232). La nueva versión se colocaría en la carpeta **Template**, de acuerdo a la [nueva...
+1 DEVELOPMENTReemplazar **bootbox**, la librería javascript que utilizamos para mostrar los modal de confirmación y eliminar, por algo nativo. ## Motivación Bootbox es...
+1 DEVELOPMENTCuando repetimos un xmlview en dos pestañanas o más, y tiene modal, se están repitiendo los modals, con el mismo id. ## Solución Al generar un modal,...
+1 DEVELOPMENTImplementar la nueva clase **WorkQueue**, que se encarga de procesar en segundo plano algunas tareas no fundamentales como: - Actualizar el saldo de la...
+1No mostrar en pantalla los **errores** de la **base de datos**, en su lugar debemos mostrar errores más comprensibles para el usuarios medio. ## Problema...
+1 DEVELOPMENTCrear la clase **Core/Bridge/Forja** para operar con facturascripts.com: - Obtener la lista de plugins disponibles. - Registrar la instalación. - Eliminar...
Revisar el setCustomValue() de los widgets porque en los modal no está funcionando ¿Tiene sentido esta función? ¿Funciona en el resto de casos?
DEVELOPMENTModificar el soporte de **extensiones** para poder llamar a **pipe()** desde métodos estáticos de la clase. ## Problema Ahora mismo el trait de extensiones...
DEVELOPMENTAl exportar un listado a PDF, añadir una **primera sección** con los filtros seleccionados, si hay alguno. Así tenemos todo el contexto del listado impreso....
DEVELOPMENTModificar widget color para usar jscolor. - https://jscolor.com/ ## Archivos a modificar -...
DEVELOPMENTCrear widget TextButton, como el widget de texto, el normal, pero con un botón para poder ejecutar un javascript. Esto sería útil para hacer alguna acción...
DEVELOPMENTAñadirle soporte para onclick al [GroupItem](/publicaciones/group-747), de forma que se pueda añadir un enlace para el título de un grupo, en el xmlview....
DEVELOPMENTModificar el ProductionErrorHandler para hacer que el **botón informar** esté en un formulario que incluya la información de debug y la envíe a...
DEVELOPMENTDocumentar la API con swagger o postman: - Swagger: https://app.swaggerhub.com/apis/facturascripts/FacturaScripts/1.0.0 - Postman:...
El proceso de importación del plan contable en CSV debe **devolver false** cuando falla la **creación del alguna cuenta** o **subcuenta**. Ahora no lo hace....
DEVELOPMENT 2Añadir imágenes a los productos. Crear un modelo para poder asignar imagenes a productos y variantes (imágenes se ha escrito mal a propósito para facilitar...
+2 1Modificar el modelo Variante para no permitir valores nulos en coste, precio o margen. Añadir las correspondientes funciones en el test unitario del modelo....
4Añadir subcuentas separadas para el recargo de equivalencia en los impuestos, para así separar esos importes y partidas en subcuentas distintas. ##...
1Modificar las **secuencias** para poder indicar que queremos usar el último número disponible, pero sin cambiar la fecha. ## Ejemplo - El último albarán es...
(BUG) al renumerar los asientos, si hay varios asiento con fecha del 1 de enero, no está colocando el asiento de apertura en primera posición. El asiento de...
Añadir botón “pagar en fecha vencimiento” al listado de recibos, para marcarlos como pagados con la fecha de vencimiento. Como se hace al aprobar albaranes...
+1Añadir al panel de control la opción de definir cómo se calcula o usa el margen de una variante, sobre el coste o sobre el precio. Siempre se va a usar para...
Modificar el exportAction del PanelController para que cuando se imprime desde una pestaña (listado) se imprima solamente de esa pestaña y no el resto....
(Posible BUG) Comprobar por qué motivo se puede asignar más cantidad de la disponible en el asistente para agrupar o partir documentos. ## Pruebas 1. Crear...
Descomprimir automáticamente los archivos zip de la carpeta Plugins, cuando ejecutamos el controlador AdminPlugins. ## Archivo a modificar -...
Añadir calendario full-calendar al dashboard, para mostrar recibos.
+3Añadir las columnas coddivisa y netoeuros al modelo **ProductoProveedor**, para guardar el precio de compra a cada proveedor en la divisa del documento. Al...
+2 EmpleadosAñadir permisos independientes de **importación** y **exportación** para los grupos de usuarios (roles), de forma que si no tienes permiso de exportación en...
+1 EmpleadosAñadir columna numdocs a albaranes, facturas, pedidos y presupuestos, para guardar el número de documentos adjuntos. Añadir también el correspondiente...
En los formularios de venta, en el modal de detalles, hacer no editable (readonly) el campo agente, cuando el usuario solamente tiene permiso para ver lo...
EmpleadosEn los listview, ocultar el botón de guardar filtros cuando no es un list controller, por ejemplo con una opción en el settings de la vista:...
Al eliminar un contacto, desvincularlo de clientes y proveedores. Los clientes están vinculados con contactos a través de las columnas idcontactofact e...
Copiar enlaces a archivos adjuntos al aprobar un albarán, pedido o presupuesto.
(EditCliente) ocultar la pestaña de facturas si el usuario no tiene permiso para ver EditFactura. - Lo mismo para albaranes, pedidos, presupuestos...
EmpleadosCrear un test unitario para las [secuencias de documentos](/publicaciones/secuencias-de-documentos-184). ## Comprobar - Se puede crear y eliminar una...
Modificar la clase **calculator** para sumar los costes de las líneas en el **totalcoste** del documento. ## Motivación Ahora que ya tenemos los costes...
EmpleadosAñadir las traducciones cortas save-ok, save-error, delete-ok y delete-error para usarlas al mostrar los mensajes al guardar o eliminar registros.
Modificar la **configuración del email** para configurar la opción de responder al **email del usuario**. Hay que añadir un selector (replytouseremail) con...
+1 EmpleadosAñadir extensión a PDFDocument. Con los nuevos formularios de compras y ventas desde la versión 2022, varios plugins pueden añadir columnas y no hay...
+1 1Modificar los **estados de documentos** para poder vincular un "color" (más bien una clase css para el color): - danger - dark - info - light -...
+1 Empleados(SendMail) Usar las notificaciones de email a la hora de elegir el asunto y texto predeterminado cuando se envía un email desde un listado. Ejemplo: abrimos...
Empleados(ListView) Añadir la función addColor() para poder añadir una opción o configuración de coloreado al [row status](/publicaciones/row-status-477) desde el...
EmpleadosNo permitir crear estados predeterminados y no editables. Que un estado no editable sea predeterminado, significa que los nuevos documentos que se creen...
(AdminPlugins) en el listado de plugins instalados, debajo de la descripción, mostrar los plugins requieridos por ese plugins. Por ejemplo, el plugin...
Actualizar los modelos de Dinamic, ya que estará desactualizado con respecto a Core. ## Pasos - Desactivar todos los plugins. - Modificar el .gitignore para...
Modificar el asistente de **copiar** documentos, controlador **CopyModel**, para añadir los campos de descuento global 1 y 2, para poder cambiar los...
Restaurar las cuentas 4000, 4100 y 4300 del plan contable de España. Solamente estas cuentas tienen que tener la cuenta especial de clientes, proveedores y...
Al generar el asiento de la factura, debe generarlo bloqueado, o por lo menos bloquearlo al terminar de generarlo. ## Pruebas 1. Hacer una factura con una...
Modificar el javascript que envía el los datos por ajax en la edición de asientos, compras y ventas para modificar el token en cada petición. Posteriormente...
Resolver bug con postgresql al inicializar modelos con datos predefinidos en data. ## Problema - Se están importando correctamente los datos de data, pero...
(TEST) comprobar qué sucede cuando creamos un estado que genera el mismo tipo de documento. Si es problemático, impedir que un estado genere el mismo tipo...
En las opciones de colores de [row status](/publicaciones/row-status-477) necesitamos poder comparar el valor de un campo con otro. Ejemplo: poner la fila...
Añadir soporte para facturas intracomunitarias (al generar el asiento). ## Archivos a modificar -...
EmpleadosEn algunos casos tenemos pestañas que se añaden en base a nombres configurados por el usuario, como en las oportunidades del CRM. Puede suceder que los...
En los listados de facturas, si hay facturas sin asientos, añadir un botón para generar los asientos de esas facturas. ## Subtareas - Añadir a los...
EmpleadosRediseñar núcleo para que: - Los endpoints de la API sean controladores. - Poder añadir controladores para gestionar errores 404, 403, 401, etc.
neorazorx_1 2Añadir mensaje de advertencia al crear un cliente o proveedor cuyo cifnif ya existe. Pero dejar crearlo. ## Archivos a modificar -...
+1 raljopa_851 1Poner la paginación duplicada arriba y abajo, en los listview, cuando hay más de una página:  ## Archivos a...
+2 joan.murt_11933Añadir la función **trans()** a la clase **Html**, para poder usar directamente trans() en las plantillas twig, sin necesidad de estar siempre llamando a...
+1 neorazorx_1Necesitamos poder generar tokens para descargar archivos hasta cierta fecha. Ejemplo: - Generar un enlace para poder descargar un PDF que hay en MyFiles,...
+1 neorazorx_1(Posible bug) la generación de tokens permanentes para descargar archivos parece que no funciona. Hay que modificar el test unitario para comprobar bien...
daniel89fg_739 Empleados 1Añadir **filtro** por **operación** al listado de asientos, para poder filtrar los asientos por operación:  ##...
neorazorx_1Alinear columnas de cantidad, precio, etc a la derecha en los formularios de compra y venta.
+1 neorazorx_1 2Cuando el editview tiene muchos campos (más de 30), duplicar el **botón guardar** para tenerlo **arriba y abajo**....
+1 neorazorx_1 3Añadir **descripción** con advertencia en el **campo decimales** del **panel de control** para advertir de que ese cambio se aplicará a todo: precios,...
neorazorx_1Al eliminar un registro en un **PanelController**, si es el registro principal (el de la primera pestaña) redirigimos al listado para mostrar ahí el mensaje...
neorazorx_1Resolver bug al mostrar el modal de detalles o detalles de línea tras modificar un descuento global. ## Pasos para reproducir el bug 1. crear un presupuesto...
daniel89fg_739 Empleados 2Añadir columna **comparative** (bool) al modelo **ReportBalance**, de forma que cuando está a true, muestre el comparativo con el ejercicio anterior (como...
yopli2000_5Añadir en la empresa un campo select para indicar el **motivo de la exención** para el **régimen de IVA**.  ##...
+2 daniel89fg_739 2Añadir los régimen de IVA: - Régimen simplificado - Régimen especial de la agricultura, ganadería y pesca. Listado: -...
Alta +2 daniel89fg_739 Empleados 1Añadir pestaña **emails enviados** al controlador EditAgente para poder ver todos los emails enviados al agente. ## Archivos a modificar -...
+1 neorazorx_1Añadir **repositorio de usuarios** en Core/DataSrc como ya hay de almacenes, series, etc.
+1 neorazorx_1Modificar la clase **MailNotifier** para que compruebe si el email está configurado, con NewMail: ``` $newMail = new NewMail(); if (false ===...
neorazorx_1Necesitamos una forma de decirle al traductor que recargue sus fuentes de datos. ## Ejemplo ``` Translator::reload(); ``` ### Motivación En ocasiones...
+1 neorazorx_1(BUG) Cuando hacemos una importación de cientos de facturas, y ya estaban las subcuentas de esos clientes, pero no la relación, cuando va a crear la...
neorazorx_1 neorazorx(BUG) Al crear o editar **asientos**, al añadir una línea escribiendo el número de cuenta con un punto, no está autocompletando correctamente. En el...
Alta daniel89fg_739 EmpleadosActualizar la versión de php-iban: - https://github.com/globalcitizen/php-iban/releases ## Archivos a modificar -...
neorazorx_1 1Añadir botón imprimir asiento. Comprobar que al imprimir se imprimen las líneas. En caso contrario hay que personalizar el exportaction para este...
yopli2000_5 Empleados 1(BUG) al crear una factura con uno o varios recibos cuyo importe suma más que la factura, la marca como impagada aunque los recibos estén pagados. ##...
yopli2000_5 1(BUG) En las líneas de compras y ventas, si la línea tiene referencia, pero no existe en variantes, no está mostrando la referencia:...
Alta neorazorx_1(BUG) en compras y ventas, al **seleccionar el impuesto** IVA 0% para una línea, cuando guardamos se cambia a ----, como si no huviesemos seleccionado nada....
Alta neorazorx_1 2(Bug) Cuando hacemos una venta a un cliente con **régimen de iva general**, si ponemos un **recargo de equivalencia** en la línea no lo está guardando. Esto...
Media neorazorx_1Poder filtrar por país en el informe de impuestos. Sólo aplicable para ventas. ## Archivos a modificar -...
raljopa_851(BUG) al marcar como pagada una factura sin recibos, no la marca como pagada, ni tampoco ofrece ningún mensaje de error, dejando a los usuarios inexpertos...
neorazorx_1Poder editar la dirección de la factura (dirección, codpostal, apartado, ciudad, provincia y país) desde el modal detalles de los formularios de venta. ##...
+1 daniel89fg_739 1Añadir **columna coste** a las líneas de albaranes, facturas, pedidos y presupuestos de venta. Añadir también la **columna totalcoste** a los albaranes,...
+1 yopli2000_5 1Modificar el actualizador para informar mejor de la compatibilidad de los plugins instalados: - Cuando se muestra actualización del core: - Informar de...
daniel89fg_739 1Modificar las clases export para añadir los parámetros opcions y title al método addTablePage. El nuevo método debe quedar así: ``` public function...
yopli2000_5Añadir botón para desvincular instalación registrada, desde el actualizador, dentro del modal de instalación registrada, cuando está registrada. ## Archivos...
daniel89fg_739 DEVELOPMENTMover el controlador y modelo de Informes, gráficos del core al plugin Informes. ## Archivos a mover -...
Alta daniel89fg_739 Empleados 1Implementar un método para poder ejecutar tests unitarios de los plugins: - Añadir un script php para instalar los plugins indicados en el archivo...
Media neorazorx_1 neorazorxAñadir a la lista de archivos que se pueden subir a la biblioteca: - doc - docx - accdb - mdb - txt - odt - ods - cdr - ndg ## Archivos a modificar...
raljopa_851Modificar el test unitario del modelo IdentificadorFiscal para comprobar que valida CIF, NIF y DNI en clientes, contactos, empresas y proveedores. ##...
daniel89fg_739**Eliminar** y rehacer el test del modelo Tarifa para que cumpla su función y evalue correctamente el funcionamiento del modelo: - Se pueden crear y...
neorazorx_1 1Modificar el test de recibos de clientes para comprobar que cuando a un cliente le ponemos días de pago, se respetan al generar los recibos. ## Archivos a...
neorazorx_1 1Al cerrar un ejercicio se debe limpiar la caché de ejercicios. Ahora mismo hay un trait que mantiene esa caché por motivos de rendimiento. Hay que usar un...
neorazorx_1Añadir los tests unitarios de los modelos BalanceCuenta y BalanceCuentaA. Estos modelos sirven para relacionar cuentas con balances (modelo Balance). ##...
daniel89fg_739Ocultar la opción de agrupar o partir en la edición de facturas.
daniel89fg_739Corregir la función para recalcular el precio de la línea cuando hacemos clic en el campo subtotal y escribimos otro valor. Ahora mismo no está teniendo en...
daniel89fg_739Obtener imagen de gravatar el email asociado en clientes, proveedores y usuarios, como ya se hace en el controlador EditContacto. ## Archivos a modificar -...
daniel89fg_739Añadir opción de renumerar facturas de compra, en base a la fecha, y solamente para el ejercicio seleccionado. - Añadir el botón renumerar en el listado de...
+1 joan.murt_11933 1Añadir la cuenta especial IRPFA (IRPF para alquileres). ## Archivo a modificar -...
raljopa_851Añadir clear() (como función pública estática) en todas las clases de Core/DataSrc, para eliminar los datos de esa caché. Estas clases sirven para tener una...
neorazorx_1Eliminar el test actual del modelo proveedor y crear un nuevo, de cero, siguiendo el ejemplo del test unitario del modelo agencia de transporte. ## Archivos...
neorazorx_1Eliminar el test actual de Cliente y crear uno nuevo de cero, siguiendo las pautas del test del modelo agencia de transporte. ## Archivos a modificar -...
neorazorx_1Resolver bug al crear un nuevo presupuesto y seleccionar otra dirección de facturación antes de guardar. ## Ejemplo - Creamos un cliente con dos...
daniel89fg_739Modificar el editor de asientos para poder marcar el tipo de operación del asiento (si la tiene). Se trata de la columna operacion y tiene estos posibles...
daniel89fg_739Añadir el token al formulario de enviar emails: ``` <input type="hidden" name="multireqtoken" value="{{...
daniel89fg_739En los formularios de compras y ventas, en el campo descripción, conforme se escribe se debería redimensionar, de forma que si la descripción pasa a tener 3...
daniel89fg_739Corregir bug al enviar emails muy largos, con mucho texto. No se están guardando en la lista de emails enviados porque el body del modelo es muy largo. Hay...
daniel89fg_739Añadir botones de marcar todos los permisos de ver, todos los de ver solamente lo suyo, todos los de modificar... Y diferencias las páginas de listados, por...
daniel89fg_739(ConfigEmail) Ocultar el botón de test de la configuración de email y solamente mostrarlo cuando se selecciona smtp, ya que es la única opción que tiene...
neorazorx_1Modificar el manejador de errores para añadir un botón que desactive el plugin problemático cuando el error sea producido por un plugin.
neorazorx_1Añadir campo (checkbox) **salto** de página a las líneas de facturas, albaranes, pedidos y presupuestos de venta. Añadir también al formulario de edición...
daniel89fg_739Modificar el manejador de errores para, mirando la ruta del archivo que falla, indicar el plugin problemático. ## Archivo a modificar -...
neorazorx_1(Bug) Al agrupar documentos, las líneas extra están aplicando los descuentos asignados al cliente (con el plugin TarifasAvanzadas). Las líneas extra...
neorazorx_1Modificar el informe de impuestos para no tener en cuenta los desgloses a 0, es decir, cuando una factura tiene líneas con iva 0, y el neto de esas líneas...
+1 yopli2000_5Añadir opción para descargar en un zip todos los archivos de la biblioteca. Meter en el zip los archivos con el id + nombre original. Otra opción es...
+1 j.rodriguez_4692Mover el código para convertir un contacto en cliente o en proveedor a funciones independientes. Y comprobar los permisos del usuario en esas funciones. ##...
daniel89fg_739En una factura no editable, cuando haces clic en el campo subtotal de la línea, te permite poner total + impuestos. No debería ni preguntar.
raljopa_851Añadir una función pipeFalse para detener la ejecución del pipe solamente si devuelve false. La función pipe() actual detiene la ejecución si se devuelve...
+1 joan.murt_11933Añadir **ocultas** las columnas almacén, serie, ejercicio, divisa, forma de pago y número a los xml de los listados de albaranes, facturas, pedidos y...
daniel89fg_739Al hacer compras o ventas, al añadir productos escribiendo la referencia en el campo referencia, está autocompletando incluso productos que están...
daniel89fg_739Ocultar filtros de usuario y agente en los listados de compras y ventas cuando el usuario solamente tiene permiso para ver lo suyo.
daniel89fg_739Formulario de ventas. Cuando el usuario tiene marcado "solamente ver lo suyo" debe mostrar en el modal de clientes y el buscador de clientes...
daniel89fg_739Retirar el texto de último bloque y el último bloque al imprimir facturas con forma de pago con una cuenta bancaria vinculada. ## Archivos a modificar -...
daniel89fg_739Añadir target blank a los enlaces del producto en la referencia en los formularios de compra y de venta.
neorazorx_1Añadir soporte para poder poner la versión de php necesaria en el facturascripts.ini del plugin. ## Ejemplo ``` min_php: 7.4 ``` Al activar el plugin debe...
neorazorx_1Revisar el widget del campo codimpuesto de las líneas de compras y ventas. Ahora mismo comprueba por iva, pero si se repiten varios ivas, seleccionará el...
neorazorx_1Incluir texto de ayuda en la pantalla de opciones: desde aquí puedes modificar los campos visibles en este listado o formulario.
yopli2000_5 DEVELOPMENT 1Quitar las columnas debeme y haberme de las partidas. ## Archivos a modificar - https://github.com/NeoRazorX/facturascripts/blob/master/Core/Table/partidas.xml
ogvilla_68 1Mover la función validateFormToken() a la clase Controller. ## Archivos a modificar -...
yopli2000_5Modificar el login para, además de limitar el número de intentos por IP, limitarlo también por usuario. Probablemente la mejor opción es dejar de usar...
neorazorx_1(ListCliente) Ocultar la columna grupos cuando el usuario tiene marcada la opción de "solamente ver lo suyo".
neorazorx_1Añadir las funciones assets() y map() en los mods para los formularios de compra y venta, para que otros plugins puedan usar esta funcionalidad. ## Archivos...
neorazorx_1Comprobar que al terminarl el wizard se ha asignado el nuevo grupo de usuarios (role) como grupo predeterminado en settings.
raljopa_851Añadir pestaña clientes al agente (controlador EditAgente) para poder ver el listado de clientes vinculados con el agente. ## Archivos a modificar -...
neorazorx_1Modificar el diseño de líneas de los formularios de compras y ventas para: - Añadir una fila superior con todos los label y mostrarla solo cuando se puede...
daniel89fg_739Resolver problema con los campos numéricos al exportar listados a excel. ## Problema Al exportar un listado de productos a Excel, los precios y cantidades...
daniel89fg_739Mover BusinessDocumentController, BusinessDocumentView, PurchasesController, SalesController, BusinessDocumentFormTools, así como BusinessDocumentView.html...
daniel89fg_739Mostrar el concepto de la partida, y añadir el documento de la partida en el modal.
daniel89fg_739Con los nuevos formularios de compras y ventas, cuando se añade una nueva línea y en lugar de guardar, se cambia de estado, la nueva línea se pierde. Debe...
daniel89fg_739Aplicar cambios en los nuevos formularios para corregir bug al asignar cliente cuando se crea una nueva venta desde EditCliente. ## Cambios a aplicar -...
neorazorx_1Modificar los modelos Producto y Variante para que generen una nueva referencia si no se les asigna una. ## Archivos a modificar -...
+1 yopli2000_5Forzar los tipos de retorno en las funciones de las clases ModelCore y ModelClass. Con esto conseguimos reducir errores en el desarrollo, típicos de cuando...
daniel89fg_739(EditEmailNotification) Ocultar el botón nuevo.
yopli2000_5Al crear un producto con precio negativo y añadirlo a una venta, se pone a 0. Debería respetar el precio del producto. **Añadir el correspondiente test**...
yopli2000_5En el controlador ListProducto, en el menú almacén > productos, falla la siguiente consulta sql en postgresql: ``` SELECT stocks.cantidad...
daniel89fg_739Modificar el formulario de asientos para: - Mover el botón eliminar de las líneas a la parte derecha. - Poner la columna de contrapartida a visible, al lado...
daniel89fg_739Completar el test del modelo Asiento: - Se puede crear un asiento, y eliminarlo. - No se puede crear un asiento en un ejercicio cerrado. - No se puede...
yopli2000_5Modificar los tests de facturas para comprobar que al crear, modificar o eliminar una factura, se crea un log en el canal audit. ## Ejecutar los tests -...
daniel89fg_739Cuando se trata de un asiento de una factura, mostrar en enlace o botón para ver la factura correspondiente. ## Archivos a modificar -...
daniel89fg_739Comprobar que las modificaciones de asientos generar registro en el log audit, como las facturas. Incluir esta comprobación en el test del modelo Asiento,...
daniel89fg_739Mostrar mensaje de error cuando la notificación no se encuentra. ## Archivos a modificar -...
daniel89fg_739Sacar comisiones y liquidaciones a un plugin, junto a la clase para calcularlas, que se debe convertir en un mod para la nueva clase Calculator. ## Archivos...
daniel89fg_739Permitir stocks negativos. Uno puede vender antes de meter las compras de ese material. ## Archivos a modificar -...
daniel89fg_739Al pulsar el botón imprimir en una pestaña de un list controller, se debe imprimir en otra pestaña, es decir, se debe añadir un target blank al formulario...
daniel89fg_739Reemplazar todas las llamadas a BusinessDocumentTools por llamadas a la nueva clase Calculator. **Ojo**: la nueva clase tiene los métodos estáticos, no hay...
daniel89fg_739Mover BetaForms al núcleo, mover los formularios antiguos al plugin OldForms, y eliminar todo rastro de handsontable y los gridview.
daniel89fg_739 EmpleadosModificar el test de empresa para comprobar que cuando se crea una empresa con solamente nombre, se crea también un almacén (ahora si falla al crear almacén...
daniel89fg_739 DEVELOPMENTAñadir un test para comprobar que al aprobar un presupuesto de una empresa secuandaria, el presupuesto de la empresa secundaria sigue siendo de la misma...
daniel89fg_739 DEVELOPMENTRenombrar método getAvaliableStatus() a getAvailableStatus() tanto en la clase TransformerDocument como en todas las llamadas a este método. ## Archivo a...
daniel89fg_739 DEVELOPMENTAñadir la clase mb-1 al label de los widget file, como tienen el resto de widgets.
daniel89fg_739Resolver bug con los filtros guardados. ## Ejemplo - En almacén > productos, filtramos por familia y guardamos los filtros. - Al aplicar esos filtros...
daniel89fg_739Añadir el texto **nuevo** en el **botón nuevo**, en los listados (ahora solamente muestra el +): - Mostrar [[+ nuevo]] cuando la pantalla es xl - Mostrar...
daniel89fg_739Retirar soporte de PHP 7.1. El mínimo debe ser PHP 7.2. ## Archivos a modificar - https://github.com/NeoRazorX/facturascripts/blob/master/index.php#L35 -...
daniel89fg_739Eliminar familias y fabricantes por defecto. Los de csv. ## Archivos a modificar -...
daniel89fg_739Evitar agrupar documentos con distintos descuentos globales. ## Issue relacionada - https://facturascripts.com/issues/4719 ## Archivos a modificar -...
daniel89fg_739 DEVELOPMENTAñadir checkbox de actualizaciones beta (betaupdates) en la sección avanzado del panel de control. Si está activada, mostrar actualizaciones beta en el...
daniel89fg_739Hacer tests sobre el cierre y apertura de ejercicios. ## Comprobar - Crear 2 facturas de clientes y 2 de proveedores y hacer el cierre de ejercicio -...
DEVELOPMENT 1Trazabilidad de productos, por lotes y números de serie. Cancelado porque se ha creado el plugin Trazabilidad: - https://facturascripts.com/plugins/trazabilidad
(SendMail) Solucionar el problema al añadir varios archivos. Solamente está admitiendo uno. Si añades otro sustituye al anterior. ## Comportamiento ideal...
daniel89fg_739Poder sacar un balance de sumas y saldos por subcuenta, es decir, con el máximo nivel, nivel de subcuenta. Tal y como está ahora solamente tiene en cuenta...
+2 joan.murt_11933 1En el actualizador, cuando se trata de una actualización beta, al pulsar el botón beta, mostrar un modal advirtiendo de que es una actualización beta y que...
En nuevas facturas/albaranes/pedidos: **Sustituir el botón "seleccionar cliente"** y la ventana que se superpone con clientes **por un campo...
+1 1Crear modelo para poder asignar imágenes a productos y variantes. - Duplicada -> https://facturascripts.com/roadmap/647 ## Modelo: ProductImage -...
Modificar la clase BusinessDocument para que cuando se cambia coddivisa se cambie también tasaconv.
DEVELOPMENTPermitir precios negativos en las líneas de documentos de compra y venta.
DEVELOPMENTSolamente los patrocinadores y autorizados pueden añadir sugerencias.