Roadmap

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ú comunidad) para colaborar.

CORE v9999 13-10-2024
  1. Tarea #3505 Hay que añadir el método ``getUrl()`` a la clase ``MyFilesToken``, para que devuelva la ruta del archivo con el token ya incluído, en lugar de tener que añadirlo después, como está ahora: - https://facturascripts.com/publicaciones/descargar-archivos-de-myfiles ## Ahora ``` $path =...
  2. Tarea #3506 Hay que corregir la función Tools::folder(). Esta función devuelve la carpeta de trabajo, y si le pasas carpetas como parámetro, las concatena. El problema es que si esas carpetas empiezan o terminan por /, les añade la barra igualmente al concatenar, por lo que terminas con una ruta con...
  3. Tarea #1272 Actualizar 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 que revisar todas las plantillas twig y modificar lo que sea necesario. Aunque en principio el cambio de la versión 4 a la 5 es...
  4. Tarea #3567 Hay que implementar nuestras propias clases de **Cookie**, **Request** y **Response** para eliminar el uso del http-foundation de symfony. ## Objetivo Algunas librerías de terceros utilizan internamente versiones más recientes de symfony y genera problemas de compatibilidad con las...
  5. Tarea #3565 Mover las clases **Core/Base/AjaxForms** a **Core/Lib/AjaxForms**, sin romper la compatibilidad hacia atrás. Actualmente las clases AjaxForms, para editar asientos, albaranes, facturas, pedidos y presupuestos, se encuentran en Core/Base/AjaxForms. Su nueva ubicación en Core/Lib/AjaxForms. De...
  6. Tarea #3564 Mover la clase **Calculator** a Core/Lib, **sin romper la compatibilidad** hacia atrás. Actualmente la clase Calculator se encuentra en Core/Base y su contrato en Core/Base/Contract/CalculatorModInterface. Las nuevas ubicaciones con **Core/Lib/Calculator** y...
Servicios v3.2 07-10-2024
  1. Tarea #3573 Al crear un cliente desde nuevo servicio debe pedir también la dirección, para poder guardarla.
PortalCliente v9999 04-10-2024
  1. Tarea #3548 En los listados falta poder filtrar por trimestres. No sé si ahora se puede filtrar por fechas.
  2. Tarea #3219 Poder cambiar de manera amigable el nombre de pago en Stripe. No todos aceptan PayPal y puede ser confuso.
  3. Tarea #3418 En listado de contactos mostrar la fecha de conexión y la ip, ocultas las columnas. Además añadir unos filtros para ordenar o buscar. El objetivo es saber cuantos contactos entran al portal.
  4. Tarea #3547 Añadir en los documentos el descuento global 1 y 2, también el subtotal, la idea es verlo igual que desde el admin, pero sin mostrar el coste y el beneficio.
Notificaciones v1.8 03-10-2024
  1. Tarea #3429 Antes de enviar una notificación validar que se escogió en el modal algún usuario, grupo o empresa, para que el modal de resultado no diga "enviado a 0 de 0 usuarios."
  2. Tarea #3430 En el chat, añadir un loading cuando se muestra el detalle de la conversación o cuando se cambia de una conversación a otra, si tarda en cargar el ajax y no hay loading no sabes si termino o no.
  3. Tarea #3431 dentor del chat, viendo una conversación, si te sacan de la conversación se actualiza el listado de conversaciones y ya no la ves, pero la que tienes abierta sigues pudiendo verla y no se debería.
  4. Tarea #3433 En el chat cuando mostramos un mensaje, mostrar en la parte de arriba el nick de quien envío el mensaje.
CORE v2024.92 30-09-2024
  1. Tarea #3561 (BUG) cuando tenemos un documentos de compra o venta con una línea que tiene referencia con comas, no está mostrando el enlace del producto. Falla el DataBaseWhere IN.
  2. Tarea #2970 Añadir [un worker](/publicaciones/la-cola-de-trabajos) para actualizar el número de productos de las familias, cuando se crea, modifica o elimina un producto. ## Implementación final Lo he resuelto finalmente en el cron.
  3. Tarea #1835 (Posible bug) al instalar, el instalador puede que no detecte la zona horaria y se quede en blanco, por lo que fallará después. ## Issue relacionada - https://facturascripts.com/issues/5842
Servicios v3.1 30-09-2024
  1. Tarea #2485 Añadir la opción para imprimir el nombre del agente. También añadir la opción de imprimir el asignado. ## Implementación Añadir estas opciones al menú administrador, servicios, además de usarlas al generar el PDF del servicio.
  2. Tarea #2995 (BUG) Al imprimir un ticket de servicio, no está añadiendo el texto de pié de página de los servicios (menú administrador, servicios).
Anticipos v4.23 21-09-2024
  1. Tarea #3520 - Mover el código de los controladores extendidos, de la Edición de Documentos de Compra y Venta, a un Trait. Así se evita tener que replicar ese código en cada controlador extendido. - Cambiar el nombre al Trait de los Listados de Documentos de Compra y Venta, para equipararlo con el de la...
  2. Tarea #3515 - Cambiar la versión mínima necesaria del Core a la 2024.1. - Actualizar el código para llamar de forma estática al método all() de los modelos. - Mover el código de los controladores extendidos, de los Listados de Documentos de Compra y Venta, a un Trait. Así se evita tener que replicar...
Randomizer v3.2 17-09-2024
  1. Tarea #3117 (BUG) al generar albaranes, pedidos y presupuestos, está usando series rectificativas. No se deben crear albaranes, pedidos o presupuestos con serie rectificativas.
AdmReportico v1.27 05-09-2024
  1. Tarea #3463 Cambiar el Canal de LOGs a uno genérico, ya que los del canal AUDIT no se pueden eliminar desde la aplicación. ## Implementación Se ha de sustituir el nombre del canal LOG, de "audit" a "any_plg", en los modelos, para poder eliminar registros sin restricciones. ###...
Textos v1.23 05-09-2024
  1. Tarea #3464 Cambiar el Canal de LOGs a uno genérico, ya que los del canal AUDIT no se pueden eliminar desde la aplicación. ## Implementación Se ha de sustituir el nombre del canal LOG, de "audit" a "any_plg", en los modelos, para poder eliminar registros sin restricciones. ###...
Anticipos v4.22 21-08-2024
  1. Tarea #3481 Al generar un nuevo anticipo, no se muestra bien el mensaje del LOG. Está indicando la fecha en formato 'Y-m-d', en vez de 'd-m-Y'. ## Implementación Modificar Incluir la "function onInsert()" del modelo, para cambiar el formato de la fecha. ### Plazo máximo Un...
  2. Tarea #3487 Cuando se han cobrado anticipos por un importe superior al documento que está asociado, está mostrando un mensaje de error. Por lo que el mensaje está generando un nuevo registro de LOG en el canal "master". ## Implementación Cambiar el mensaje de "error" a...
CORE v2024.91 20-08-2024
  1. Tarea #3459 (Bug) al crear o modificar un asiento estamos revisando si hay una regularización en esa fecha, pero no tenemos en cuenta el ejercicio o empresa, por lo que recibimos un falso positivo cuando la regularización está en otra empresa distinta.
  2. Tarea #3183 Modificar el tablero (controlador Dashboard) para sacar un mensaje cuando hay actualizaciones disponibles, junto a un botón para ir al actualizador. Añadir también el mensaje de actualizaciones disponibles al listado de plugins. ## Detectar actualizaciones Podemos saber si hay...
Ticketbai v1.5 13-08-2024
  1. Tarea #3361 Al poner el código de iva del cliente, cuando es VAT no debe ser 02, debe ser 06 por defecto, eliminar el case VAT que se añadió en la última actualización.
CORE v2024.9 01-08-2024
  1. Tarea #3466 Añadir la opción de activo a los estados de documentos, para poder desactivarlos. ## Implementación Se debe modificar tabla, modelo, xmls y los widgets de los documentos de compra y venta.
  2. Tarea #2501 (BUG) en los recibos de las facturas. * Creas una factura con una serie X, guardas. * Se crean los recibos y se rellena el campo codigofactura. * Cambias la serie de la factura y guardas. * No se actualiza el campo codigofactura del recibo
  3. Tarea #3445 Hay que marcar formas de pago como activas o inactivas. Ahora mismo tenemos claves ajenas hacia las formas de pago en facturas, albaranes, pedidos y presupuestos, por lo que no es posible eliminarlas. Hay que marcar las que no están activas para no mostrarla en los selectores, a menos que sea la...
  4. Tarea #2313 (BUG) cuando abrimos un presupuesto, pedido, albarán o factura, pulsamos cambiar el cliente y pulsamos en el botón nuevo, al guardar el cliente realmente nos ha creado un presupuesto nuevo (o lo que sea), en lugar de asignar ese nuevo cliente al documento original.
  5. Tarea #2770 * Creas un presupuesto con fecha 26/09/2024 * Apruebas el presupuesto y crea el pedido con la fecha actual * Ahora cambias la fecha del pedido a una fecha de un año futuro y no deja por que el ejercicio es otro. Quizás debería cambiar el ejercicio al cambiar la fecha, o poder cambiar el...
Anticipos v4.2 25-07-2024
  1. Tarea #3461 Cambiar el Canal de LOGs de los Anticipos a uno propio, ya que los del canal AUDIT no se pueden eliminar desde la aplicación. ## Implementación Se ha de sustituir el nombre del canal LOG, de AUDIT a anticipos, en los modelos, para poder eliminar registros sin restricciones. ### Plazo...
  2. Tarea #3462 Error que se produce al intentar enviar un anticipo por mail, cuando hay algún plugin activado que personalice el fichero PDFExport. ## Implementación Sustituir el "use FacturaScripts\Dinamic\Lib\Export\PDFExport as MailAnticipos;" por "use...
CORE v2023 22-06-2024
  1. Tarea #1217 Hay que reemplazar la clase que actualiza las tablas de la base de datos por una nueva. ## Objetivos - Comprobar las tablas una sola vez, y solamente después de haber instalado o actualizado. - Tener esta clase con sus tests unitarios correspondientes. ### Estado actual Ahora mismo...
CORE v2024.8 19-06-2024
  1. Tarea #3422 Modificar los formularios para hacer una factura rectificativa y añadir un selector de estado, para poder seleccionar el estado final de la factura rectificativa. ## Motivación En ocasiones queremos hacer una rectificativa pero sin devolver stock al almacén. Para eso podemos asignarle un...
CORE v2024.7 07-06-2024
  1. Tarea #461 Añadir al controlador DocumentStitcher un checkbox para indicar que queremos cerrar el documento, que no vamos a agruparlo, ni partirlo más. Añadirlo en el card del documento, ya que podemos agrupar varios y cerrar unos si y otros no. ## Contexto En el controlador DocumentStitcher podemos...
Backup v1.5 04-06-2024
  1. Tarea #3156 Parece que al hacer el backup se está asumiento que el puerto es el estándar, cuando puede ser uno distinto. La librería no soporta otro. Hay que sacar un aviso si no es el mismo.
CORE v2024.6 31-05-2024
  1. Tarea #3042 Debemos bloquear la ejecución concurrente del ``Init::update()`` de cualquier plugin, para evitar problemas. ## Problema Si activamos un plugin y después cargamos un javascript que llame varias veces al controlador, para cada llamada se va a ejecutar un hilo, y en cada hilo se va a ejecutar...
PortalCliente v1.4 29-05-2024
  1. Tarea #3368 En el listado de tickets debería mostrar el nombre del contacto en lugar del número. ![bug](/MyFiles/2024/05/2111.png?myft=bf7f5e5f6130289e731b9ba20f929340e761d849)
  2. Tarea #3354 Mostrar la imagen del producto en presupuestos, pedidos, albaranes y facturas.
  3. Tarea #3293 Añadir al catálogo de productos un sistema de carrito online para poder hacer compras.
  4. Tarea #3342 Compatibilidad con el plugin [Traducciones](https://facturascripts.com/plugins/traducciones)
  5. Tarea #3075 Añadir un listado de productos con el estado público, para que los clientes puedan ver un catálogo de productos.
CORE v2024.5 28-05-2024
  1. Tarea #324 Necesitamos poder generar el PDF de una factura desde la API. Para ello hay que añadir el endpoint ``ExportFacturaCliente`` a la API. Este endpoint debe cargar la factura indicada, generar el PDF y devolverlo.
  2. Tarea #3396 (BUG) el asistente para **editar permisos de roles** no funciona con los **submenús**, como es el caso del plugin Fixer, que tiene sus páginas en el menú administrador, submenú Fixer. Estas páginas no aparecen en el asistente de permisos.
  3. Tarea #3024 En la pestaña de stock del menú almacén, productos, faltan filtros para: - reservado >= - reservado <= - pendiente recepción >= - pendiente recepción <= - disponible >= - disponible <=
  4. Tarea #3119 (BUG) al agrupar documentos, el listado de más documentos está mostrando documentos que no son compatibles: - Tienen otra serie. - Tienen otra divisa. - Tienen otro descuento global.
  5. Tarea #3351 (BUG) la página de administrar permisos del grupo no está eliminando los permisos de controladores que ya no existen al guardar. ## Contexto Hace tiempo teníamos una clave ajena en roles_access para eliminar automáticamente permisos a controladores cuando desaparecía el registro de la...
  6. Tarea #2972 En el formulario de edición de facturas, en el botón impagado, cuando marcamos pagado, debería mostrar un modal donde podamos seleccionar la forma de pago y la fecha de pago (por defecto hoy). De esta forma podemos pagar con una forma de pago y fecha distinta a la actual, en un solo...
  7. Tarea #2830 Añadir documentación de cómo añadir campos a los formularios de compra y de venta: - Añadir un campo a la cabecera. - Añadir un campo a las líneas. - Añadir un campo al pié de página.
  8. Tarea #3007 (Posible bug) Se puede producir un bucle al ejecutar más de 5000 consultas SQL, ya que estas se añaden como debug al canal database y cada 5000 entradas se guarda en la base de datos, lo que hace que se vuelvan a añadir consultas SQL ...
  9. Tarea #3048 Al agrupar o partir documentos y añadir las líneas de información y las líneas blancas, sería interesante poder añadir los pipes, para poder modificar o añadir datos a esa línea. Por ejemplo un plugin que añade una columna nueva en las líneas, y al agrupar un documento interesa que en...
  10. Tarea #3283 (BUG) al añadir un archivo a un documento de compra o venta, si luego eliminamos el archivo de la biblioteca, no se actualiza el número de adjuntos del documento. ## Implementación Si lo implementamos con un cronjob que periodicamente recalcule el número de adjuntos de cada documento,...
Modelo303 v2.5 15-05-2024
  1. Tarea #2858 Este informe presenta un problema importante: no usa los importes de los asientos, sino que hace los cálculos en base a los campos: - baseimponible - iva Esto produce descuadres de varios céntimos, además de dificultar el trabajo con asientos manuales (el usuario se tiene que acordar de...
TPVneo v3 02-05-2024
  1. Tarea #1713 Poder aplicar un **descuento global** a una venta concreta como en las facturas. Siempre que esté marcado en el terminal poder hacer descuentos.
  2. Tarea #1829 AÑADIR BOTÓN MAX A FORMA DE PAGO "AL CONTADO"
  3. Tarea #2022 Ahora que estamos trabajando ya en producción, mi cliente encuentra a faltar en el TPV la posibilidad de que algunas ventas deberían poder asignarlas a una serie distinta. La mayoría de ventas ya funcionan por el TPV con la serie por defecto pero dada la problemática de los regímenes de IVA...
  4. Tarea #2603 Al cerrar la caja y ver el total esperado en caja, se debe meter cuanto dinero hay de cada moneda y billete, pues entonces ir haciendo un cálculo de la suma de cada moneda y billete para saber si el total que hay en caja al contrar es menor, igual o superior al esperado.
  5. Tarea #2495 Necesitamos indicar el el terminal cuantos tickets queremos imprimir de forma predeterminada, normalmente 1, pero en algunas instalaciones querremos 2. Además, en la ventana de imprimir ticket debe indicarse también el número de tickets a imprimir, de forma que podamos tener 2 de forma...
  6. Tarea #2433 Cuando activamos la opción de añadir líneas libres al tpv, siempre las añade con el IVA predeterminado. Necesitamos que se pueda especificar el impuesto al añadir la línea. ## Implementación Reemplazar el prompt de nueva línea por un modal, en el que podamos seleccionar el impuesto.
  7. Tarea #2388 TPV NEO PODER MOSTRAR U OCULTAR FAMILIAS. PODER ORDENAR FAMILIAS IGUAL QUE LOS PRODUCTOS QUE NO SEA SÓLO POR ORDEN ALFABÉTICO. ## Implementación Añadir los campos mostrar_tpv y orden para estas opciones: - mostrar_tpv = true, se muestra en el tpv. - orden, para indicar el orden, como en...
  8. Tarea #2329 AÑADIR BOTÓN SELECCIONAR TODO EN LAS DEVOLUCIONES.
neorazorx_1
Sugerencia #782 CORE

Al hacer compras o ventas en una divisa diferente a la predeterminada, convertir los precios en el momento de añadir la línea.

daniel89fg_739
Sugerencia #1917 CORE

Mostrar en los EditListView el paginador en la parte superior como en los ListView.

neorazorx_1
Sugerencia #799 CORE

Modificar la visualización de logs para hacer los cambios en documentos más legibles, para que quede claro qué se ha cambiado.

neorazorx_1
Sugerencia #1018 CORE

Modificar el atributo onclick de los widgets para permitir enlaces externos como este: ``` <column name="web" order="130"> <widget type="text" fieldname="codcliente" onclick="https://www.google.es?q="/> </column> ``` Si...

mariano_6807
Sugerencia #2568 CORE

Crear el informe 349 para poder presentarlo a hacienda. y poder hacerlo mensualmente. https://sede.agenciatributaria.gob.es/Sede/procedimientoini/GI28.shtml

smartcuines_1378
Sugerencia #3194 CORE

Al marcar varios documentos de Compra o Venta desde su listado, para generar PDF o enviar por MAIL, no se está mostrando la opción de "Avanzado" para decidir el tipo de exportación, el Formato de impresión y el idioma. Ya que hay ocasiones que nos puede interesar utilizar un formato...

neorazorx_1
Sugerencia #247 CORE

Al cambiar la divisa de un documento, convertir automáticamente los precios a la nueva divisa.

neorazorx_1
Sugerencia #486 CORE

Añadir el campo de observaciones privadas o notaspriv en las facturas, albaranes, pedidos y presupuestos de cliente.

neorazorx_1
Sugerencia #876 CORE

Al 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 apellidos. Hay que cambiar este comportamiento para que: - Si es empresa, meter todo en el nombre. - Si no es empresa, hacer explode...

daniel89fg_739
Sugerencia #1919 CORE

Añadir una única imagen a las familias de los productos, para poder usarlo por ejemplo en TPVneo y quizás en alguna otra aplicación futura.

daniel89fg_739
Sugerencia #2322 CORE

En el widget money poder añadir la divisa desde el xml y desde el controlador. EN varias ocasiones queremos que aparezca el símbolo que queramos y que no sea el de la configuración general. El widget money busca si el modelo tiene coddivisa si no tiene coge el general, pero en ocasiones el...

neorazorx_1
Sugerencia #2367 CORE

En los estados tenemos un único nombre, como "facturar", que tiene sentido en el botón de estado del documento, pero en el listado al ver "facturar" da la impresión de que no se ha facturado todavía. Necesitamos un segundo título, para usar uno para acción y otro para...

jmoreno_2610
Sugerencia #2368 CORE

Posibilidad de cierre de sesión automático a los x minutos de inactividad. Configurable en el panel de Control.

mariano_6807
Sugerencia #2574 CORE

Añadir columna Saldo a cada línea del asiento contable. Es muy práctico a la hora de puntear una cuenta.

mariano_6807
Sugerencia #2595 CORE

Implementar sistema de detección de bots rastreadores para elevar seguridad y evitar ataques DDOS Ahora mismo cuando un bot chino / ruso intenta atacar una instalacion publica de Facturascripts, al intentar entrar en urls no conodidas da error de...

acaselles_13670
Sugerencia #3181 CORE

El campo "operacion" que aparece en el boton "detalles" de los presupuestos/pedidos/albaranes/facturas, actualmente solo tiene la opcion de "intracomunitarias", que aparezcan tambien "extracomunitarias" y "sujeto pasivo"

neorazorx_1
Sugerencia #630 CORE

Al 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 - https://github.com/NeoRazorX/facturascripts/blob/master/Core/App/AppRouter.php#L139

neorazorx_1
Sugerencia #643 CORE

Añadir numproveedor a los recibos de compra. De forma que aparezca en los listados y se pueda buscar e imprimir.

neorazorx_1
Sugerencia #645 CORE

Mostrar 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.

neorazorx_1
Sugerencia #680 CORE

Añadir mensaje de advertencia al crear un cliente o proveedor cuyo cifnif ya existe. Pero dejar crearlo. ## Archivos a modificar - https://github.com/NeoRazorX/facturascripts/blob/master/Core/Model/Cliente.php -...

dontechnico_15855
Sugerencia #1435 CORE

Desarrollar un plugin para administración de moteles.

jmoreno_2610
Sugerencia #1598 CORE

Al facturar albaranes, bien desde el listado o bien desde el albarán abierto, debería pedir la fecha de factura y, en el caso de compras, el número de la factura del proveedor

elurk_3992
Sugerencia #1715 CORE

Hacer que los menús se desplieguen sin tener que hacer click en ellos sólo con el hover; ahorraríamos un click que a lo largo del día se traduce en miles de clicks.

neorazorx_1
Sugerencia #1854 CORE

En el caso de los **filtros SelectWhere**, como se aplica por defecto la primera opción, habría que **inciar visualmente** de alguna forma que **se está aplicando un filtro**, es decir, que no estás viendo todo. Por ejemplo, en el listado de clientes, por defecto solamente se muestran los...

daniel89fg_739
Sugerencia #1863 CORE

Añadir la opción a la configuración general para indicar el número de caracteres que debe tener la referencia al crear un nuevo producto. Ejemplo: - Al añadir un producto pone por defecto el número 1. - Si ponemos en la configuración que queremos 5 dijitos el resultado sería:...

daniel89fg_739
Sugerencia #1978 CORE

Añadir posibilidad de ordenar los grupos en los xmlview, cuando haces una extensión de un xmlview y añades un nuevo grupo este se añade siempre al final. Poder tener la posibilidad de ubicarlo en otro orden.

neorazorx_1
Sugerencia #2056 CORE

(BUG) Al **cambiar de cliente o proveedor** una factura, albarán, etc, se deben **recalcular las líneas**. ## Motivación - El nuevo cliente puede estar exento de IVA o puede tener recargo de equivalencia.

yopli2000_5
Sugerencia #2211 CORE

Al listar (Pantalla y PDF) registros que contienen campos de tipo divisa, y el registro tiene el campo coddivisa, se interpretan todos los campos de tipo divisa del mismo tipo de divisa que el valor de coddivisa. Esto no se cumple cuando el campo es por ejemplo 'TotalEnEuros'. Este...

neorazorx_1
Sugerencia #2560 CORE

Rediseño de los xmlview de listados (ListView): - El **fieldname** (nombre de la columna del modelo) se establece en la **columna**. - Por defecto todas las columnas se añaden como opciones de **ordenación**, salvo que tenga **sort='false'**. - Por defecto todas las columnas se...

daniel89fg_739
Sugerencia #3360 CORE

Cuando se generá un error se muestra la pantalla de error y los botones de reconstruir y desactivar los plugins. El botón de desactivar plugins solo debería de poder verlo los usuarios administradores. Se han dado casos en los que se genera un error, y el usuario en cuestión no administrador,...

neorazorx_1
Sugerencia #988 CORE

Añ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 dirección de envío, la agencia de transporte y el código de envío, pero no tenemos nada para filtar lo que ya se ha enviado ¿Cómo...

daniel89fg_739
Sugerencia #1240 CORE

Cuando 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 tuyo". Por ejemplo, el listado de productos no tiene dicha opción y aunque la marques en el grupo seguirás viendo todos los productos y eso...

daniel89fg_739
Sugerencia #1341 CORE

Mostrar 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 proceso se debería de tener en cuenta si va encadenado con otro subproceso, quizás al cancelar un proceso existán otros procesos que...

yopli2000_5
Sugerencia #1365 CORE

Cambiar icono autocomplete (lupa) por otro que no induzca a "pulsar para buscar". En muchas ocasiones los usuarios pulsan el icono pensando que es un botón. Para intentar evitar una mayor claridad se propone cambiar el icono por "far fa-list-alt" o similar que no sea el icono...

neorazorx_1
Sugerencia #1474 CORE

Usar **flow.js** para poder subir plugins grandes en partes y evitar así los límites de PHP. Ejemplo: - https://github.com/channaveer/php-flowjs-resumable-file-upload ## Motivación Los plugins grandes como PlantillasPDF no se pueden subir en algunas instalaciones de FacturaScripts debido...

neorazorx_1
Sugerencia #1494 CORE

Añadir los tipos SIREN y SIRET a la lista de identificadores fiscales. Son los tipos para Francia.

neorazorx_1
Sugerencia #1541 CORE

Necesitamos mostrar los totales de los documentos a agrupar en el asistente para agupar o partir, es decir, cuando seleccionamos dos albaranes y pulsamos agrupar, en la parte de abajo deberían aparecer la suma de los netos, ivas y totales de todos los documentos a...

elurk_3992
Sugerencia #1660 CORE

MOSTRAR VARIAS CUENTAS EN FORMA DE PAGO TRANSFERENCIA. ¿CÓMO PODRÍAMOS HACERLO?

elurk_3992
Sugerencia #1662 CORE

Mostrar columna "precio con IVA" en el listado de productos.

daniel89fg_739
Sugerencia #1737 CORE

Añadir funcionalidad de copiar y pegar líneas en los documentos de compra y venta, como se hacía antes con el modo rejilla.

jmoreno_2610
Sugerencia #1804 CORE

Añadir campo "Fecha de entrega" a los pedidos, y poder ordenar.

daniel89fg_739
Sugerencia #1820 CORE

Dar soporte de **HAVING** al construir las consultas sql para los filtros. Necesitamos por crear por ejemplo un filtro númerico sobre una columna de suma desde un JoinModel(). JoinModel de ejemplo ``` protected function getFields(): array { return [ ...

neorazorx_1
Sugerencia #1833 CORE

Al agrupar documentos, en el formulario, hay que poner tabindex="-1" en los campos desactivados, para que al pulsar tabulador para moverse entre campos, que no se mueva a esos campos desactivados. ![boceto](https://i.imgur.com/ulKTpVR.png)

jmoreno_2610
Sugerencia #1921 CORE

Cambiar de tarifa en documentos de venta.

daniel89fg_739
Sugerencia #2021 CORE

Al devolver un recibo el asiento en el titulo pone cobro, quizás sería mejor poner devolución.

elurk_3992
Sugerencia #2070 CORE

Añadir Fecha de Operación a las facturas. Usar el actual campo fecha como "Fecha de Expedición" (Es lo que ya se hace) y añadir otro "Fecha de Operación" para enviar esta fecha en la etiqueta opcional "Fecha de Operación". Varios clientes preguntaron sobre qué...

contacta_2746
Sugerencia #2196 CORE

¿Qué problema hay que solucionar? Mismo producto se compra por varios proveedores. Poder ver las variaciones de precio en un mismo lugar, con todos los movimientos del mismo.

raul_99
Sugerencia #2349 CORE

Crear en la ficha de clientes dos tipos de observaciones, publicas y privadas, al mas puro estilo puglin documentos recurrentes. Las observaciones públicas aparecerian siempre por defecto en las facturas que se emitan de ese cliente, mientras que las privadas permanecerían para uso...

mariano_6807
Sugerencia #2606 CORE

Añadir opcion para poder marcar proveedores y clientes para que siempre que se hagan facturas intracomunitarias sin tener que ir al modal y seleccionar operacion --> intracomunitaria.

elguitarraverde_19045
Sugerencia #2743 CORE

# Registro de Logs en archivo Actualmente todos los registros de logs se guardan en la base de datos. Algunos usuarios reportan que la tabla logs se hace enorme con el paso del tiempo. Se sugiere dotar a FacturaScripts de la opción que permita elegir entre guardar los registros de logs en...

CORE

Núcleo de FacturaScripts. Requisitos: - PHP 7.3 o...

30 64 176

RemesasSEPA

Añade gestión de Remesas bancarias en formatos SEPA...

1

Trazabilidad

Permite el control de trazabilidad de números de serie o...

1 2

StockAvanzado

Permite ver los movimientos de stock de cada producto del...

3

Modelo303

Modelos 303 y 390 de la Hacienda española para la...

2 1

Informes

Añade informes adicionales de resultados anuales, estado...

6

Comisiones

Con este plugin podrá asignar comisiones de venta a sus...

2

PortalCliente

Añade un panel de gestión para clientes, donde sus...

7

PlantillasPDF

Permite configurar o personalizar los diseños PDF de...

7

Proyectos

Permite gestionar proyectos con fechas de inicio y de...

10

Anticipos

Plugin que permite generar cobros y pagos a cuenta. Se...

fsmaker

Herramienta en línea de comandos para el desarrollo...

PrePagos

Añade gestión de pagos (anticipos) en presupuestos,...

Randomizer

Permite crear datos de pruebas para usar en demos o...

FS2017Migrator

Permite migrar los datos de FacturaScripts 2017 a la...

Backup

Permite crear y restaurar copias de seguridad de la base...

2

Tickets

Permite imprimir tickets de facturas de venta, albaranes,...

4

TPVneo

Terminal Punto de Venta (PoS) con diseño para pantalla...

13

Forja

La forja de facturascripts.com

1

Modelo111

El Modelo 111 es una declaración trimestral de las...

Ticketbai

Implementación de Ticket-bai para FacturaScripts....

1

ClearDB

Permite eliminar todos los datos de la base de datos y...

GrupoClientesCRM

Añade el campo grupo de clientes a los contactos del...

POS

Agrega un punto de venta (TPV, Point of Sale) que permite...

Ubicaciones

Sistema de localización de productos en almacenes para...

PlazosPago

Añade plazos a las formas de pago y los aplica en los...

CRM

Permite gestionar contactos, listas, notas y...

Modelo347

El Modelo 347 de la hacienda española es un modelo...

CSVimport

Permite importar clientes, proveedores, productos o...

Fixer

Incluye herramientas para corregir automáticamente...

Etiquetas

Permite imprimir etiquetas de códigos de barras de...

DobleAgente

Permite asignar un segundo agente comercial a los...

TarifasAvanzadas

Añade gestión de descuentos de venta, ya sea por...

Servicios

Permite gestionar servicios (SAT) en negocios como...

EnviarDocumentos

Añade un botón email en el listado de facturas de...

NeoTheme

Modifica el aspecto de FacturaScripts para usar una barra...

Facturae

Añade soporte para la factura electrónica española: el...

AdmReportico

Este Plugin te permite administrar los informes...

OpenServBus

El All in One que complementa a FacturaScripts para la...

DiarioAgrupado

Modifica el diario contable para agrupar por cuenta y...

Modelo130

El Modelo 130 es una declaración trimestral del impuesto...

AsientosPredefinidos

Con este plugin puede crear plantillas de asientos para...

AgrupadorMultiAlmacen

Permite agrupar documentos de distintos almacenes,...

EtiquetasEnvio

Permite generar etiquetas de envío en base a la...

FacturasCompraUniq

Añade fecha de proveedor a las facturas de compra e...

ServiciosFabricacion

Modifica el plugin Servicios y permite añadir varias...

PlantillaDetallada

Añade un nueva plantilla al plugin PlantillasPDF. La...

FechaVentas

Añade la columna fecha a las líneas de facturas,...

PrintChecker

Plugin de Control de Impresión para Documentos Este...

InformeSII

Añade los informes necesarios para el "Suministro...

Textos

Plugin que permite administrar textos de uso cotidiano,...

ConciliacionBancaria

Plugin de conciliación bancaria: - Permite importar los...

Notificaciones

Añade un sistema de notificaciones y avisos tanto en el...

ISPAmigo

Un plugin que permite llevar registro de información...

Tarea #2588 CORE

Añadir soporte para VERI-FACTU al core. Debe estar implementado antes del 1 de enero de 2025. ## Documentación -...

Tarea #1331 CORE

La clase ExportManager, que combina la generación de PDF, CSV y Excel fue una mala idea. Estos formatos son demasiando diferentes como para unificarlos. En su lugar se deben crear clases independientes para cada uno. Necesitamos una nueva clase ExportPDF que permita: - Poder añadir...

Tarea #779 CORE

Reemplazar **bootbox**, la librería javascript que utilizamos para mostrar los modal de confirmación y eliminar, por algo nativo. ## Motivación Bootbox es una dependencia que va ligada a bootstrap, y que aporta una funcionalidad que tampoco es demasiado compleja como para hacerla nosotros....

Tarea #3501 CORE

Los métodos ``max()`` y ``min()`` de la clase ``DbQuery`` devuelven siempre un float, pero en ocaciones queremos operar con cadenas, fechas o bien horas, por lo que hay que añadir los métodos ``maxString()`` y ``minString()`` que no hagan esta conversión a float que hacen los métodos...

Tarea #2597 CORE

(BUG) al instalar con MySql/Mariadb, nos permite poner mayúsculas en el nombre de la base de datos, lo cual es muy problemático. No debe dejar poner mayúsculas en el nombre de la base de datos en ningún caso.

Tarea #2587 CORE

(BUG) Cuando aprobamos un pedido, generamos un albarán, y luego eliminamos una línea del albarán, no se está restaurando el stock (reservado / pendiente) del producto de la línea eliminada. ## Implementación Hay que implementar el correspondiente test unitario. ### Cliente...

Tarea #2478 CORE

El proceso de cierre del ejercicio, cuando crea los asientos de regularización, cierre y apertura, no debería tener en cuenta los bloqueos de regularizaciones de impuestos. ## Implementación Habrá que modificar tanto el modelo Asiento o Partida como la clase para cerrar el...

Tarea #1426 CORE

Modificar las **secuencias** para poder indicar que queremos usar el último número disponible, pero sin cambiar la fecha. ## Ejemplo - El último albarán es el 100. - Aprobamos un pedido para convertirlo en albarán, pero no hay suficiente stock. - Añadimos el stock. - Aprobamos de...

Tarea #3277 CORE

Al añadir líneas a un **documento de compra o venta**, debemos rellenar el **campo orden** con un valor cada vez más alto. De esta forma cuando usamos un plugin como **ProductoPack**, que añade más líneas, las añadirá justo debajo de la original, en lugar de al final del documento.

Tarea #3162 CORE

Añadir el **widget subcuenta**, similar al [widget variante](/publicaciones/widget-variante), pero para seleccionar una subcuenta. En muchas pantallas tenemos campo autocompletar para las subcuentas, pero a veces queremos buscar la subcuenta por el nombre y no podemos. O tenemos cuentas...

Tarea #2399 CORE

Poder agrupar todos los albaranes de un rango de fechas de todos los clientes en sus respectivas facturas en un solo click. Ejemplo, clientes que generan 500 albaranes al mes.

Tarea #3455 CORE

(Posible bug) al instalar un plugin, consultar la forja para ver la versión máxima del core para ese plugin. Si es menor que la actual, sacar un aviso.

Tarea #1918 CORE

En los ListView y EditListView cuando ejecutamos una acción y estamos en una página o tenemos un filtro aplicado mantener dichos filtros o página activa.

Tarea #1810 CORE

Poder bloquear las variantes de un producto sin bloquear el producto. Esto es necesario porque en ocasiones simplemente se deja de distribuir una variante del producto (color, talla, temporada, etc) pero el producto se sigue vendiendo en otras variantes.

Tarea #851 CORE

Modificar 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é forma de pago. ## Motivación Cuando te devuelven una factura entera que no te han pagado, además de la rectificativa tienes que marcar...

Tarea #2601 CORE

Necesitamos ampliar algunas funciones del logger, así como moverlo fuera de la carpeta Core/Base. La nueva clase se llamará Core/Logger y será una copia del MiniLog, pero con las siguientes funciones adicionales: ### readLast(int $count = 1, string $channel = '', string $level =...

Tarea #1112 CORE

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 acreedores, para que al crear clientes, se cree una subcuenta dentro de la 4300, al crear un proveedor lo haga dentro de la 4100, etc. ##...

Tarea #1111 CORE

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 línea con precio 100 y cantidad 1. 2. Comprobar que se ha creado un asiento y que está bloqueado. 3. Modificar el precio de la línea....

Tarea #3374 CORE

En TPVneo, si añades una línea en negativo y otra en positivo, con el mismo importe. (Típico caso de cambio de producto). El botón de cobrar desaparece. Si lo haces a la inversa. Es decir, primero añades el positivo y luego negativo, funciona correctamente. Sería conveniente preguntarse...

Tarea #2533 CORE

(BUG) al poner una fecha de pago para la cual todavía no existe ejercicio, se genera el pago, pero no se genera el asiento porque el ejercicio no existe. La única forma de solucionar esto es por sql. Necesitamos poder hacerlo desde la interfaz. ## Necesitamos - Poder generar el asiento de...

Tarea #2724 CORE

En los asientos se está colocando un enlace para abrir el documento relacionado solamente cuando es factura, pero tenemos asientos que son de recibos, asientos que son de remesas, etc. En todos estos casos deberíamos poder ir igualmente al modelo original. ## Implementación Hay que añadir...

Tarea #2650 CORE

(BUG) Cuando tenemos alguna columna con nombre reservado como **user** y además tenemos una clave ajena ahí, en PostgreSQL es necesario poner el nombre de la columna entre comillas dobles, pero en MySQL con comillas tipo acento. Necesitamos poder poner comillas en las constraints del xml de las...

Tarea #2493 CORE

Añadir el régimen especial para agricultores a la lista de regímenes de IVA. Y modificar el Calculator para soportar este nuevo régimen. ## Test Añadir el correspondiente test unitario.

Tarea #3587 CORE

Necesitamos poder establecer una fortaleza mínima para las contraseñas de usuarios, en una constante en el config.php, por ejemplo FS_PASSWORDS_STRENGTH, con valores posibles ``low``, ``medium`` y ``hard``: - low: mínimo 6 caracteres. - medium: mínimo 10 caracteres, con números, letras y...

Tarea #1110 CORE

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 añadir la validación de token en los respectivos controladores. ## Token de formulario - El token (input multireqtoken) tiene este...

Tarea #860 CORE

Añadir las traducciones cortas save-ok, save-error, delete-ok y delete-error para usarlas al mostrar los mensajes al guardar o eliminar registros.

Tarea #3629 CORE

En el wizard, el paso donde se inicializan todos los modelos, se debe partir en varios pasos, ya que es lento en muchas ocasiones. Convendría cargar primer los modelos de 5 en 5, es decir, cargar 5, recargar la página, cargar los siguientes 5, etc. Para ello se puede usar un offset.

Tarea #1177 CORE

(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 de documento y añadir la comprobación al correspondiente test unitario.

Tarea #1152 CORE

Resolver bug con postgresql al inicializar modelos con datos predefinidos en data. ## Problema - Se están importando correctamente los datos de data, pero no se están actualizando la secuencias. Eso produce errores al añadir nuevos registros. - Se han tenido que modificar los tests...

Tarea #3562 CORE

Añadir la columna total_pendiente a las facturas de compra y de venta, para indicar el importe pendiente de pago. Mostrar este campo en los listados y actualizarlo conforme a los recibos. ## Implementación Ya existe una clase que actualiza la factura cuando se modifican los recibos. Hay que...

Tarea #3553 CORE

(BUG) ahora mismo 2 procesos que se ejecuten en paralelo pueden llegar a procesar el mismo evento. Esto es debido al tiempo que pasa entre que se obtiene de la base de datos el siguiente evento a procesar y cuando se bloquea el proceso. En esos milisegundos puede que otro proceso llegue casi a la...

Tarea #2944 CORE

(Bug) el widget datetime en safari no rellena automáticamente la hora y minutos. Además, si el usuario cambia la fecha con el teclado, puede pulsar intro y enviar el formulario sin rellenar completamente la fecha. ## Posible solución Añadir una función onchange() al input datetime para...

Tarea #2173 CORE

Al crear un **cliente o proveedor**, si existe el Plan Contable, **crear subcuenta automáticamente** y relacionarla. Añadir también un botón a la pestaña de subcuentas, en la página del cliente o proveedor, para poder crear la subcuenta del cliente, si no existe.

Tarea #1745 CORE

Añadir el campo **dailyexec** al modelo CronJob para poder almacenar el número de ejecuciones diarias del trabajo. Modificar: - Tabla - Modelo - XMLViews ## CronClass Modificar CronClass::jobDone() para que: - Ponga a 0 dailyexec cuando la fecha de la última ejecución no es de hoy. -...

Tarea #878 CORE

Modificar 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 dinamic. ## Motivación Hay que mejorar la tolerancia a errores del actualizador. No puede ser que cada vez que hagamos un cambio...

Tarea #2934 CORE

Modificar la clases de Core/AjaxForms para poner la mayoría de métodos estáticos como públicos, para poder llamarlos desde fuera en los mods (para cuando solamente queremos añadir algo después, o modificar levemente el html). ## Requisito Hay que completar primero la [tarea...

Tarea #2370 CORE

En ocasiones es necesario hacer facturas a cero, por distintos motivos. El problema es que estas facturas no están generando asientos y por tanto no aparecen en los informes de impuestos, ni los modelos fiscales. Hay que dar soporte a este tipo de facturas para que si aparezca en el informe de...

Tarea #1676 CORE

Crear un **test unitario** para el **modelo Impuesto**. ## Comprobar - Se puede crear un impuesto y borrarlo. - Se pueden crear dos impuestos con el mismo iva. - Si se crea un impuesto de **tipo porcentaje** y 10 de iva, al hacer una compra con una línea con ese impuesto, cantidad 2 y...

Tarea #3558 CORE

(API) Necesitamos poder obtener los tokens para los archivos de myfiles. Hay que añadir un endpoint a la API para obtener rápidamente el token y la url completa, con token incluído, para un archivo de MyFiles. ## Ejemplo de uso En ocasiones leemos la lista de producto de la API y...

Tarea #3399 CORE

(BUG) al aprobar documentos de compra, no debería copiar el campo ``numproveedor`` al siguiente documento, ya que si apruebas el albarán 123, puede que la factura no sea la 123.

Tarea #3282 CORE

(BUG) al hacer un asiento de venta (pasa lo mismo en compras), en ocasiones tenemos líneas a 0 en la cuenta 700.0. Esto es porque en la instalación hay una 700.1 y todos los productos vinculados a ella, pero cuando hacemos una compra o venta y metemos alguna líne de texto, se desglosa en la...

Tarea #3601 CORE

Añadir el método ``getLogo()`` al modelo **Empresa**, para que devuelva el AttachedFile del logotipo vinculado en el campo ``idlogo``.

Tarea #3559 CORE

(API) al igual que podemos crear facturas de cliente con una sola llamada, hay que poder crear también albaranes, pedidos y presupuestos. Tanto de compra como de venta. ## Posible implementación Hay que añadir un endpoint a la API para cada tipo de documento de compra o venta.

Tarea #1682 CORE

Modificar el **modelo Partida** para poder desactivar la comprobación de si el asiento o el ejercicio está bloqueado. Necesitamos poder modificar el saldo de una partida independientemente de si el asiento está bloqueado. ## Nota - No es toy seguro de si el modelo está comprobando si el...

Tarea #1893 CORE

Hay que definir claramente en los modelos de documentos de compras y ventas qué campos son realmente no editables, para que no se permita modificar esos, peri el resto.

Tarea #1334 CORE

Rediseñ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 de carpetas del Core](/roadmap/1268). La versión original permanecería en Core/Model/Base para mantener compatibilidad durante unos...

Tarea #2940 CORE

Añadir un cron para generar cada diario y almacenarlo en MyFiles. Así ver el diario, si tenemos este archivo ya generado, podemos descargar este archivo en lugar de generarlo al momento.

Tarea #2933 CORE

(Posible bug) Parece que se puede hacer una devolución de la misma línea varias veces, es decir, tienes una línea con cantidad 1, haces la rectificativa de eso y vuelves a hacerla igual. Te deja.

Tarea #2962 CORE

Al enviar un email con la clase NewMail no se vacían las listas de direcciones de correos, por lo que si queremos enviar el mismo correo a miles de emails, nos toca hacerlo varias veces. Si añadimos funciones para vaciar las direcciones de correo, podemos reducir código. ##...

Tarea #3059 CORE

Modificar el instalador para poder leer los datos de configuración de variables de entorno. ## Issue relacionada - https://github.com/truecharts/charts/issues/16824

Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2024 FacturaScripts
0.28049s

Soporte