018087: Khaos Control multi-system integration

Khaos Control multi-system integration is not enabled by default.

Please email Development for more information.
Note: there will be additional costs involved if this option is enabled.


Khaos Control has been developed allowing Supplier Quantities to be updated between two separate instances of Khaos Control.


KCSL have provided a means to poll a second instance of Khaos Control and extract current stock level changes. This will then update a second instance of Khaos Control and set the Supplier Quantity to show the Stock Holding for that business.

Process outline:

  1. Instance 1 polls Instance 2 for changed Stock Levels since the last request.
  2. Instance 2 provides the list of Stock Codes that have changed and the new Available level.
  3. Instance 1 cross-references the returned Stock Codes against the Supplier Ref field to find the Stock Code to update in Instance 1
  4. Instance 1 updates the Supplier Qty field in the Stock Code's Supplier information with the new Available level.

The system will also have the Supplier Qty added to the evaluation of the Stock Holding on the Sales Order screen so that an agent entering orders can see the stock holding at Instance 2 for the Stock Code they are dealing with.


  1. An update to both Khaos Control applications and webservices is required. The first part of the database configuration will be done as part of applying the update.
  2. The website url to pull stock information from should be HTTPS, if this is not already done. Please seek additional technical assistance to ensure this is the case.
  3. On the first instance (i.e. the requester, for example, The Internet Company – URN TIC):
    1. Create the Supplier with the second instance of Khaos Control (e.g. Electric Cloud Ltd– URN: ECL. )
    2. In KSS Options set the following options:
      SupplierURN=<Supplier URN Code as above>
      WebServiceURL=<Web Service of the supplier>
  4. WebServices will have been set up already. No special set up is required, but this will be specific to the customer’s environment and outside the scope of this development.
  5. No particular setup is required on the second instance.

Note: the behaviour can work in reverse, that is, a mirror image of this functionality. Set up as above, but with the instances reversed.


After applying the above Configuration, using the following instances in the scenario, typical steps for usage would include:

  • TIC - The Internet Company = Khaos Control instance 1
  • ECL = Electric Cloud Ltd = Khaos Control instance 2
  1. Create the Stock Item(s) on both instances.
  2. On the TIC instance, in [ Stock | Detail | Suppliers ], set the Stock Item to have ECL as a preferred Supplier.
  3. Set your data to match on either:
    StockCode to StockCode
    Supplier Ref (on TIC instance) to StockCode (on ECL instance.)
  4. Check the Stock Levels by going to [ Supplier | Supplier Summary | Supplier Stock ] .
  5. Update the available Stock Level on ECL
  6. Open KDSMU on TIC’s side.
  7. Run the Action: SupplierStockSync_Levels
  8. Set the Parameters as described below in the KSDMU section.
  9. Select [ Ok ] to run KSDMU.
  10. Recheck the Stock Levels by going to [ Supplier | Supplier Summary | Supplier Stock ] .


The KSDMU parameters available are:

Site(s) to get the values from

This holds the comma delimited site names, for example Sites="Head Office","Computer Gear". Sets the supplier stock level to the total stock level of the enlisted sites.

Get the totals of all Sites

Sets the supplier stock level to the total stock level of all the supplier sites. It overrides the Sites parameter; they are mutually exclusive

Get all stock items (ignore last updated time)

Requests all the stock items, not just the stock items updated since the last synchronisation (basically ignores the last actioned date).

Stock matching fields

These are comma delimited values. Matching fields (comma separated) to match the supplier stock code to the local stock item. Possible values are: [ SupplierRef | StockCode ] for example StockCodeMatching=StockCode.
The system will only match by (local) Stock Code. Default (when the option is not specified) is [ SupplierRef, StockCode ] or StockCodeMatching=SupplierRef will match requester Supplier Ref to supplier Stock Code.
Default (when the option is not specified) is [ SupplierRef, StockCode ].

Debug Level override

Overrides the default DebugLevel (which is dbgLvlInfo), useful when debugging for example DebugLevel="dbgLvlExtraDetail_04".

Hint: use Advanced Option > General > Verbose=ALL for debugging / testing, otherwise only Warnings and Errors are displayed.

Running KSDMU Automatically

KSDMU can be set to run automatically on a scheduled task, using a .BAT file using the parameter '--NoGIU'

Running KSDMU from a Command Line

When running KSDMU from command line, separate parameters with comma, for example Sites="Head Office","Computer Gear"

Running KSDMU from the GUI

When using the GUI, add the parameters by separating them on a new line. If you don’t specify '—NoGUI' then KSDMU will open, with the parameters set as specified.

Notes / Caveats

  1. Stock Levels will not be updated, if after the last updated time, the stock item(s) have not been updated.
  2. The last updated can be queried on the requester side by running the query below in a [Report] screen.
    select ACTION_DATE from LAST_ACTIONED where SHORT_DESC = 'KC Supplier Stock Level Sync'
  3. It is recommended that Stock Code and Supplier Ref match correctly. Multiple Supplier Refs to one Stock Item is not supported.
  4. For ease of use, the matching procedure does not care about case; a lower case Supplier Ref will match to an upper case Stock Code. Care should be taken to match to expected items if case is used to differentiate the criteria.

See Also

Visit KhaosWikiX at http://wiki.keystonesupport.net/wiki_kcx/ to see the following:

Contact the Khaos Team