xTuple includes powerful tools to help you deploy an ERP solution that meets the exact requirements of your business. For most major functionality, we prefer to include the solution in the main, supported product, so no one has to worry about maintaining custom software. But sometimes an extremely narrow requirement exists, perhaps a unique business process that needs to be mirrored in the software. These situations are good candidates for a scripted approach — custom screens built with the xTuple ERP Screen Builder and Qt's implementation of JavaScript — called "extensions." Customers can develop their own screens and scripts, or they can have xTuple-trained partners do the work for them. If a customer engages xTuple HQ to develop custom screens and scripts, we certify them for the current release of xTuple ERP only, as minor tweaks may be required to keep custom scripts working 100% in future versions of the base product. If xTuple does that tweaking, it requires a separate services engagement, and the same rule applies for custom reports built with the integrated OpenRPT report writer. In both cases, the skills required to build and maintain these custom elements are fairly common — standard SQL for database reporting, and XML and JavaScript for custom screens. xTuple partners — serving customers who do not have these basic IT skills in-house — are a great resource. Our goal is not to maintain a multitude of customized enhancements, but rather to have as many people as possible using the tools to provide this last 1% of the solution. See Extensions on xTuple's GitHub wiki.