The VECTO simulation tool is mandatory to calculate CO2 emissions of heavy lorries and starting from January 2024 of heavy buses and medium lorries according to Regulation (EU) 2017/2400. VECTO itself can be operated either via a graphical user interface or a command-line application.

The VECTO Data exchange API (DEA) was developed as an extension for VECTO that allows to integrate VECTO simulations into OEM-specific IT infrastructure. This means OEM-specific applications or services are linked against the VECTO DEA and can then easily start VECTO simulations and obtain the results.

Supported Vehicle Categories and Powertrain Architectures

The current version of VECTO DEA is compatible with the official VECTO simulation tool used for CO2 declaration and can be used for conventional heavy lorries.

Starting with January 2024, additional vehicle categories and powertrain architectures have to declare the CO2 emissions using the VECTO simulation tool. The VECTO DEA development version supports the following vehicle categories:

  • Heavy lorries
  • Medium lorries 
  • Heavy buses primary step
  • Heavy buses intermim step
  • Heavy buses completed step
  • Trailers

and the following powertrain architectures:

  • Conventional powertrain
  • Parallel hybrid powertrain (P2, P2.5, P3, P4)
  • Serial hybrid powertrain (S2, S3, S4)
  • Battery electric powertrain (E2, E3, E4)
  • IEPC powertrain
  • IHPC powertrain

Usage Examples

VECTO DEA is a Microsoft .net library and can be included in any .net application or service. The following examples only showcase basic usage. In the examples it is assumed that the VECTO job (i.e., vehicle XML) is available as file. However, it is possible to pass the job data to VECTO either as XmlReader or XmlDocument.  If you need more information, e.g., on multi-step simulations, exception handling, etc. do not hestitate to contact us.

Basic usage, blocking call 

Creating the simulation run and starting the simulation:

    var data = XmlReader.Create("vecto_vehicle-sample.xml");
    var run = VectoApi.VectoInstance(data);

and the reports are then available via


Non-blocking call and multiple simulations in parallel

The method 'RunSimulation' is by default blocking (i.e. the simulation is finished when it returns). However, by setting the 'WaitFinished' property to false, the 'RunSimulation' method is non-blocking, i.e., multiple simulations can be run in parallel. In this case the user has to make sure the simulation is finished before accessing the results, for example:

    var data1 = XmlReader.Create("vecto_vehicle-sample.xml");
    var data2 = XmlReader.Create("vecto_vehicle-sample.xml");
    var run1 = VectoApi.VectoInstance(data1);
    var run2 = VectoApi.VectoInstance(data2);

    run1.WaitFinished = false;    // RunSimulation is non-blocking!
    run2.WaitFinished = false;    // RunSimulation is non-blocking!


    while (!(run1.IsFinished && run2.IsFinished)) {

RunSimulation by itself uses multiple threads to simulate the different 
cycles and loadings contained in a job in parallel.


Please contact us to get an individual quote for a VECTO DEA license.


  • Bitte Javascript aktivieren!