FacturaScripts is redesigned for 2018

Last year we told you about the benefits of InvoiceScripts: invoicing and accounting with free software, an ERP and CRM with incredible potential that stood out for its easy use and the speed with which it can be adapted and implemented in any type of business, today FacturaScripts continues to grow, bringing new features to its users and expanding its support. This accelerated growth has brought with it the need to improve the software from its heart so that it is more scalable over time and so that it is on track with current technologies, which is why its creator Carlos Garcia (NeoRazorX) tells us first-hand how it has been Redesigning FacturaScripts for 2018.

Redesigning InvoiceScripts for 2018 by NeoRazorX

During the summer, with more than 60.000 downloads, 12.000 installations that are updated monthly, 4.000 registered users on the web and 90 plugins, we are facing a brief period of calm that we wanted to take advantage of to fix some core design issues in FacturaScripts: dependency problems, inability to inherit between controllers or views, and a gigantic mass of code, the result of these years of development.

It was time to rethink everything. Learn from mistakes and successes, and build a new foundation for the next few years. Otherwise we would die of success, since adding new features required more and more effort.

Under these premises we started a kernel prototype with composer and some of the symfony components. Compose allows us to add and manage dependencies in PHP very easily, and benefit from the automatic loading of the necessary classes. Of symphony we choose httpfoundation, to conveniently manage the input and output of data, translator to convert FacturaScripts into multi-language, event-dispatcher to manage events, and twig, a template engine with inheritance that we have fallen in love.

On these foundations we begin to build 3 types of extended controllers: ListControllers, for listings, EditControllers, for simple models, and PanelControllers, for more complex models that have relationships with other models. For example, clients, when editing a client you also want to see their addresses, bank accounts, recent invoices, etc ...

The FacturaScripts interfaces were already intuitive, and one of the parts most valued by users, what we weighed down was the code. Extended controllers have long been a need for us to reuse code and add new features much more easily.

If you are a developer, you have often found yourself in the situation of believing that your code is wonderful, and a few months later realizing how bad it is. It is normal. Fortunately, there are now tools and services, such as scrutinizer-ci, which allow you to obtain a more objective assessment of your code, in addition to pointing out common errors and offering advice.

Before starting with the prototype we decided to review our code with scrutinizer-ci, obtaining a score of 5.4, being the class fs_controller the great responsible, although not the only one. And with little chance of improving the design without breaking compatibility. More reasons to start with a new core.

Today, FacturaScripts 2018 score is 8.66, having outstanding in the vast majority of classes and their methods.

A better design has allowed us to add new options to all forms, such as exporting to PDF or Excel on any page or list, and the mega search engine, which will save all users a lot of time.

Now it only remains to finish some tasks and start the beta and the plugin update. We will keep you informed ;-).

Comments on FacturaScripts 2018

If we like something, it is to see that open source tools that are also intended for business growth are successful, it is hard work that often goes under the table, I am sure that this is not the case because the satisfaction of the users that today they use this tool is very high.

The growth in the complexity and functionalities of tools as it is entails a fairly large technical challenge, many times the applications are not prepared to grow so much or their developers are simply focused on maintaining old structures that are not aligned with new technologies, I think A very favorable point of FacturaScripts is that clarity with which they look at their software and that humility to know when the changes should be made.

With this new version, In addition to being more efficient, FacturaScripts will bring new functionalities that are closely related to the needs of current organizations, we believe that this will also be a successful version and that users of this powerful ERP will be able to grow their businesses in a better way. .

The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *



  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.