Sometimes a customer that has a working CMS, like Wordpress, Joomla, Prestashop or whatever, asks you to develop a feature that the CMS can't do (and there's no plugin, module or component to do it). The customer wants that functionality programmed as a "component, module or plugin" for that CMS.
And of course, when you give him the price for that, he says it is very expensive, "because it is an open-source CMS."
What he do not realize is that programming a plugin for a CMS means several things:
It is a long development that can only be profitable if you're going to sell it by units, but to do all this for a single project is a futile effort unless you are very well paid.
But you can develop it with custom programming. You can get the same functionality without having to make a plugin. You can develop it with your own programming, and put it to work in the frontend in an iframe. Let's look at the advantages and disadvantages of this procedure:
Example: The budget calculator of the Wordpress at certificasturias.es
It is an html form that depending on the parameters you choose, it calculates a result and will generate a PDF with the budget.
Developing a Wordpress plugin with this, integrating the PHP library that generates the PDF, etc... it's a considerable work. Developing it as custom programming and integrating it through an iframe, it's the best solution in terms of cost / time. The backend part does not exist, so for changing the calculator values??, these values ??were placed on a Wordpress hidden page, invoked by URL, the admin can change the values on that page, they are stored with shortcode format.