Customization and updates

Custom ERP without problems of customizations.

An ERP is aimed at various types of companies, and each company can have, and often has, different procedures and ways of working.
Many of the management software solutions on the market offer the possibility of being customized to customer needs.

So, is customization a good approach? No, unfortunately this is not the case.

Those who wanted an ERP customized to their requirements have immediately realized that this has two main problems.

1. Costs and time of customizations

While the development costs of the standard program are shared among all users, those of the customizations are fully charged to those who request them. The final cost of the changes very often ends up being very high. In addition to this, development times are usually much longer than expected.

The use of the CrossModel development system allows extremely short development times and costs of customizations when compared to traditional methods, and this brings to reduced cost for the customer, while at the same time the vendor can have a good profit margin, so both of them can be happy.

2. Costs of customization updates

Those who have overcome the first obstacle deciding to develop a customized version of the software, later become aware of an even more serious problem. Each update of the standard program to newer versions, in fact, involves considerable costs for the transfer of customizations to the new version.

The alternative, that many end up choosing, is to remain stuck in the version of the program on which the customization was developed, giving up subsequent updates, but obviously with significant disadvantages.  Furthermore, in certain situations (new operating systems, legal updates, etc.) the version update is practically mandatory.

The CROSSMODEL solution

CrossModel offers a brilliant solution for both these problems. CrossModel is the development tool used to develop X-Cross, and was specifically designed to create an ERP that addresses the issues of web based solutions and customizations.

Reduced times and costs

CrossModel, in the development phase, drastically reduces times and costs of customizations, thanks to a very advanced data modeling tool, a sophisticated framework and many very hi-level programming features.

Separated or integrated customizations?

This is the dilemma of those who have to customize a management software.

The CrossModel technology

Thanks to its exclusive technology, the customizations developed with CrossModel are stored separately, but at the same time they can interact with the standard program in an extremely efficient way, practically as if the standard program itself had been modified.

CrossModel, therefore, puts together the advantages of both solutions, eliminating their disadvantages.

The CROSSMODEL data structure

The data modeling tool of CrossModel offers the possibility to create custom data structures that can perfectly interact with the standard program.

Tables extensions

In CrossModel, each database table can have a custom extension, where additional customization data can be stored.
This table works as an “appendix” to the main table, and is kept up to date without any additional programming work.

Complex views

A normal database view is updatable only if it involves data from only one table.
The complex views of CrossModel can contain more then one table in a join relationship. The insert-edit stored procedures “split” the data into the appropriate database table, maintaining referential integrity and joins.
A complex view, once created, can be treated as a proper database table, since all the internal operations are managed by the stored procedures.
A complex view can contain, instead of a table, another complex view with unlimited levels.

What can the complex views be used for?

These data structure is one of the most useful features of CrossModel.
In the standard program, it is used in many situations. For example, a commercial document header (e.g. an invoice, a quotation, etc.) is formed of two tables: one with the general data of all the documents (date, number, etc.) and the second one with the data that are specific for that document.
In customizations, this feature is even more useful. The standard table (or complex view) will form a lower level complex view together with the custom data, resulting in a single structure that can be treated like a table but will keep together the standard and the custom data.

Connections to standard or custom tables

The tables extensions, like the standard tables, can be connected to standard or custom tables in a seamless way, without writing code.
For every connected table CrossModel automatically offers all the functionalities that are needed:

Inheritance of data structures

Inheriting the classes, the standard data structures can be substituted with the customized ones, and in this way the added table columns are available in every part of the program.


The classes of the program are instantiated with the “high library level” technology.

Every time a class is to be instantiated, the CrossModel engine looks for the class with that name in the library of the highest level.

In this way the customized objects (if present) are used instead of the standard ones, without modifying the latter.

Modular windows

The program windows are built with a modular technology (sub-windows), which allows the developer of the customization to add interface elements exactly where it is needed, without any change to the standard. In practice, the windows, which form the user-program interface, can have a highly customized format, but without updating problems.

Windows extensions

In many cases, the appearance of the windows cannot be inherited from the child one, since it will cause an overlapping of fields. The windows extensions technology of CrossModel solves this problem, and gives the possibility to have in the same window or sub-window tandard and custom fields together.

The user interface

As a result, we can have, in addition to a totally customized data structure, a “tailor-made” user interface to read, insert and edit data.

Classes inheritance

Thanks to the high library level technology, every class of the standard program can be substituted with a customized one. This can be a brand new class or a subclass of the standard one.

Cumulative inheritance

In this type of inheritance, the features of the child class can be added to the ones of the parent, without overriding them. For example, a window can have two menus in the parent class, and another one in the child, with a total of three.

In the case of modular windows, the additional sub windows can be added in any part of the parent window.

The programming logic

Each programming method of the standard program can be integrated or completely replaced by customized instructions, modifying the operating logic without altering the original software in any way.

No upgrade costs

Thanks to its unique technology, the CrossModel development system gives the possibility to update the customized program to the latest versions at no additional cost for the “transplant” of the customizations, that are automatically transferred in the new version without any manual programming work.