WR 34: FacturaScripts, proyecto de software libre con Carlos García
Software de gestión de empresas de código abierto sobre el que viene a hablarnos su creador Carlos García. Los secretos de un proyecto OpenSource real y activo.
Cuando hablamos de software de facturación seguramente se nos venga a la cabeza un bloque gigante de acero y cemento infranqueable. Algo sólido y rígido, difícil de mantener y adaptarse.
Carlos García viene hoy al podcast para contarnos una historia diferente, la de FacturaScripts. Un software OpenSource de generación de facturas, albaranes y pedidos que en muy pocas semanas publicará una nueva versión remozada, flexible y construida en base a buenas prácticas.
Pulsa en el play para escuchar la entrevista completa.
Recomendaciones iniciales ¶
Al comienzo del capítulo menciono el podcast de Borja Girón donde responde a mis preguntas sobre fidelizar oyentes.
También puedes volver a escuchar el episodio 33, donde os cuento mi primera experiencia como mentor.
FacturaScripts, el software para la gestión de empresa que nace de una necesidad ¶
Comienza esta historia de Carlos intentando poner en marcha un software ERP para la tienda de debajo de casa. FacturaLux fue el programa elegido, pero no funcionaba bien desde el punto de vista práctico: tecnología antigua, dificultad de uso…
Montó en PHP un pequeño sistema de gestión a la medida de las necesidades de la tienda de repuestos. La vida sigue pero como la crisis no ayudaba todo empujó a continuar con FacturaScripts.
Con la experiencia ganada en python y otros lenguajes comenzó a reescribir la plataforma a medida, separándose de FacturaLux.
Aunque es complicado definir qué es una empresa y qué necesidades tiene, FacturaScripts trata de cubrir las funciones de propósito general: gestión de facturas, albaranes, pedidos, presupuestos, usuarios, envío de correo…
Aplicación programada en PHP ¶
PHP 7.1 y MySQL son las herramientas base sobre las que se construye FacturaScripts. Después de mucho tiempo trabajando con código la mejor opción para mantener un producto así es programar a medida.
Si utiliza componentes de symfony concretos como HttpFoundation, Translation y el motor de plantillas Twig, pero no le convence los requisitos del framework total. Se une así a otras plataformas (Drupal, Laravel…) que tienen los componentes de symfony como una herramienta para no reescribir código y utilizarlos sin restricciones.
El código de la nueva versión está gestionado con herramientas de testing e integración continua. Sin hacer ruido, las buenas prácticas han invadido este proyecto. Herramientas como PHPUnit, Scrutinizer, Travis, PHP CodeSniffer, PHP Code Standards.
De recursos como estos y de buenas prácticas hablamos todos los domingos en la Reactivísima, mi newsletter sobre desarrollo web y negocio online.
Software libre de éxito ¶
Carlos tiene una dedicación a tiempo completo, porque el proyecto le permite vivir de él. Gracias a los plugins de pago, una de las características de FacturaScripts. Curiosamente el más solicitado es el que permite editar facturas ya emitidas (aunque el paquete básico del programa permite generar facturas rectificativas).
Hay en torno a 17.000 instalaciones de FacturaScripts funcionando (el 50% de fuera de España), de las que más de mil se han convertido en clientes comprando algunos de los productos de pago.
Clientes que vienen de gran software corporativo aterrizan en FacturaScripts buscando soluciones de gestión rápidas.
En el desarrollo de la nueva versión de 2018 existe la colaboración de hasta 31 personas diferentes con distintos niveles de implicación. Para coordinarlos el equipo ha utilizado trello para tareas y jitsi para la las reuniones.
El nuevo FacturaScripts 2018 ¶
El objetivo inicial de la nueva versión era simplificar mucho el núcleo y solucionar problemas de diseño estructural que existían en la antigua versión. Luego se fueron ampliando los deseos y mejorando elementos.
Carlos cuenta todos los avances en su canal de YouTube. Con total transparencia se puede ver de primera mano las novedades que hay y cómo se utilizan en profundidad. También se aprovechan estas grabaciones para que sirvan de documentación, una idea que deberían seguir todos los proyectos de software libre para mostrar sus “encantos”.
También se busca ganar en simplicidad, para que una persona sin grandes conocimientos de programación o un usuario gestor pueda hacer modificaciones a través de ficheros de configuración o el panel de opciones.
Han escuchado a los usuarios en todo momento y también la impresión en PDF o exportación a CSV de los datos se ha incluido, precisamente por ser una de las peticiones más repetidas.
Por supuesto han incluido una REST API completa, para trabajar sobre los recursos de FacturaScripts desde software externo. Cuenta Carlos un caso concreto de TPV de hostelería antiguo que quiere integrarse con la plataforma y como opción ahora tendrá la conexión a través de la API.
El nuevo FacturaScripts 2018 estará disponible en muy pocas semanas, os lo anunciaremos en el podcast.
Los chatbots han llegado para quedarse ¶
Conté mi experiencia en el episodio 13 y en este post. Carlos coincide conmigo en que los chatbots pueden ser una gran herramienta de comunicación. Él ha trabajado directamente con DialogFlow para utilizar la inteligencia artificial de este sistema y está sacando provecho de ello.
Nos adelanta que lo siguiente en su lista es hablar con FacturaScripts a través del teléfono, con el asistente de Google. A base de la orden de voz se podrían interpretar para convertirlos en una nueva factura. Si lo saca adelante será toda una revolución :)
Métodos de contacto ¶
Gracias a todos los “me gusta” en ivoox y las reseñas 5 estrellas en itunes (Apple Podcast). ¡Gracias!
Encuéntranos en la red social de los 280 caracteres, twitter, óomo @webreactiva y en en canal de telegram de t.me/webreactiva.
¡Hasta el próximo!
Escrito por:
Daniel Primo
12 recursos para developers cada domingo en tu bandeja de entrada
Además de una skill práctica bien explicada, trucos para mejorar tu futuro profesional y una pizquita de humor útil para el resto de la semana. Gratis.