KS.CRM Online Help

Extensible Customer Relation Management with PlugIn Interface


KS.CRM is a modular system. The core module (Core Framework) is permanently free and consists of the main application and the modules contacts, appointments and favorites.

Other modules - called plug-ins - are available and can be licensed. The installer already contains some additional modules which run in demo mode. You can try out these modules to decide whether they support your work.

You can instruct Kroll-Software to build more plug-ins for you, or you can do it yourself using the PlugIn Software Development Kit (SDK).

KS.CRM is characterized by it's high efficiency and speed. The use of asynchronous concurrent database queries and sophisticated caching methods enable this application for millions of rows processed by many users with high performance. The well designed data model and transaction-based queries ensure an optimum level of data integrity.


Download and install the latest version.

Within the Installer there is nothing further to be considered. This is a modern DotNet program and it doesn't make any changes to your system. It can be safely uninstalled from the Control Panel.

The language in the SetUp refers only to the Setup program. Choose your language later in the program from the main menu Extras|Language.


Simply install a new version over your existing, best into the default directory. The program has to be closed before.


SQL Server

KS.CRM supports MS-SQL Server since version 2005 or above. The latest version is recommended. The free Express version is enough. Large databases run faster on a non-free version of the SQL server. You should not install a SQL Server on a notebook. You may also use a SQL Server hosting service or you could use cloud services that provide a SQL Server, so that you can access your database from anywhere in the world.

Create database

Select the Program menu Tools|Create new database.

You will need a login on the SQL Server, which has sufficient rights to create databases and objects. You should normally be DBO (database owner) for this database.

Manage Users

In menu Extras|Manage Users you can create additional users or delete them if you have the rights to the database. Of course you can also use the SQL Server Management Studio.

A new database user should open menu Extras|Edit my profile and enter at least his first and last name. Many program functions show this user name later on.

Database Backups

Use the SQL Server Management Studio (SSMS) to make a backup plan. This requires good administration skills for the SQL Server.

Short-Cuts and Hot-Keys

F6, Ctrl-F
Extended search
F8, Escape
Reset current search
Reset all searches and selections to show all records
New record
First record
Last record
Alt-Cursor left/right
Toggle details tab


The following settings can be configured in menu Extras|Options

Caching Strategies

In traditional database applications, a request is sent to the database and then you wait until all data is transmitted. For larger databases, the selection must be limited so that not too many records are returned and thus the response time would be too long. Such programs are typically limited to either an average 5-digit number of records, or the program must be designed to ensure that not more than some few rows are returned.

KS.CRM takes a very different apporoach by using asynchronous queries and intelligent caching of the data. This leads to lightning-fast responses even with millions of records, without limiting the result set.

Under Extras|Options you can adjust different settings for these strategies.

Right below you can find three settings: Small DB, Medium and Large DB. Small DB still means databases with a few hundred thousand rows.

This also depends on the number of concurrent users, the performance of the database server and the speed of the network connection.

Medium and Large (Enterprise) optimizes the number of returned rows. So these settings also affect the performance for other users of the database, because the server is less stressed.

Start with the defaults for Small Databases and adjust these settings when needed.

Loading Details

Especially with CRM and ERP applications there is a typical problem, that each query of a master record invokes the load of many related details records. Often about 30 to 50 details records needs to be queried and processed for each master record. This could take many seconds when the complexity of the application grows.

KS.CRM solves this by making use of the Multiple Active Result Sets (MARS) technology. Multithreading uses the power of all available processor cores on the client and the server. Answers are shown lightning-fast and the user interface stays always fluid, even with pending requests.

Under Extras|Options|Details Load Options you can decide, whether you'd like to load all details when a dialog is opened, or just the currently visible details tab on demand. With very large databases and many users it is recommended to use load on demand.

The development of such an application with multi-threaded async data access is quite difficult and not widely seen today. The latest data access technologies like MARS make this first possible. Things happen simultaneously and in an undefined order. Results must be synchronized with big effort and unexpeced side effects have to be handled.

KS.CRM defines a new standard when it comes to performance and efficiency. The caching algorithms and the entire program architecture are an innovative development by Kroll-Software.

Other Options

Some plug-ins provide their own tab-page for the options dialog. More infos about these settings can be found on the help page of the according plug-in.


Many plugins provide a hierarchical category structure in the selection area on the left hand side of the screen. You can organize the records using these categories. The assignment to the records is m:n, this means that every record can be assigend to many categories at the same time. So in KS.CRM the categories are a powerful instrument to organize your data in a hierarchical structure.

Manage Categories

After creating a new database, you can see the first root-node in the categories tree-view. By right-clicking with the mouse you can add or remove categories and folders. You can reorder the categories by drag-and-drop.

Changing the categories does not affect changes in the data records. You can always add categories, assign records, delete categories, as you like without changing or deleting the assigned records in any way.

Personal categories are invisible for other users.

Assign Records

Double-click on a record or press <Enter> to edit this record. In the form you can check some categories to assign this record to them or uncheck to remove.

In the table view, you can select multiple records with pressed Shift or Control Key or select all rows with Ctrl-A. You can also select some records with a search (F6) or an extended search (F7). Right-click on a selected row and select Add/Remove from categories from the context menu. In the following dialog you can bulk-update the categories for all selected rows. The check-boxes have three states: Gray means no change, checked adds all rows to this category, unchecked removes rows from this category. This way you can add or remove categories from thousands of rows in one step.

Filter for Categories

By clicking on a category you can filter for this category very fast, even with large databases and when meny records are assigned. All deeper categories in the hierarchy are respected.

You can filter for multiple categories with pressed Shift or Ctrl-key. Categories on the same level are combined with logical-OR operator, categories on different levels are combined with logical-AND.

By pressing Ctrl-F8 you can reset all filters and searches, to show all records with one key-press.


By clicking on a column header you can sort for this column. Clicking again sorts to the other direction. Ctrl-click removes the sorting. With Shift-click you can sort for multiple columns.

Sorting in KS.CRM is done by real database queries. This is a strength of the SQL server, which can use it's indices to return the data sorted very quickly.

Each table-view has it's default sorting. In most tables it is the creation time, descending. This also has the advantage, that new rows are shown on the top. The speed can be very different for some columns. This depends on indices and related tables on the server. When the program reacts slow, you should check the current sort. When you set Extras|Options|Sorting on application startup to Standard Column, you can ensure that the program uses a fast sorting on next start up.

After importing a lot of data or after performing some other database tasks, it may happen that the server needs to recalculate it's indices again. This can take some time with huge tables. The program will react quickly on the next access to this table. This behaviour is typical for relational databases.