# Introduction

Exivity is a metering and billing software solution for public and private cloud environments that allows you to report on cloud consumption from any IT resource. Exivity enables you to apply your MSP/CSP business rules and makes any type of Pay-as-you-Go model work. It also facilitates internal charge-back and show-back requirements for Enterprise IT.

These things are done by extracting IT consumption data from various endpoints and then mapping this data to meaningful customer-specific information such as services, customer IDs, names, and contracts.

There are four main steps involved in a successful deployment:

1. Extract
2. Transform
3. Report
4. Integrate (optional)

![](https://1141395848-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-MeUbRDTLztZ2vtkoXvA%2F-MeUdiDV5hIyySJdQ970%2FProduct%20overview.png?alt=media\&token=1995fe15-52fe-43a0-a040-ac9d3043c6cd)

## Extract

The **Extract** step defines your data sources such as:

* APIs that return usage data, service catalogue, rate card, customer/subscriber lists, and similarly available records from public or private clouds
* APIs or ODBC queries that return contracts, customer names, IDs, and other contextual lookup data from CMDB / CRM systems
* Flat files on disk in CSV, JSON, or XML format
* Other HTTP/S sources

Exivity provides a rich scripting interface via its **Unified Scriptable Extractor** (USE) component which facilitates integration with almost any data source. For most of the big cloud platforms, we provide template extractor scripts as part of the product. Additionally, you can also write your own USE scripts from scratch in order to integrate with custom data sources.

{% content-ref url="data-pipelines/extract" %}
[extract](https://olddocs.exivity.io/data-pipelines/extract)
{% endcontent-ref %}

## Transform

The **Transform** step provides a powerful [ETL framework](https://en.wikipedia.org/wiki/Extract,_transform,_load) for processing extracted data. Using it you can merge consumption metrics, contract details, customer information, custom metadata, service definitions or any other imported information to produce an enriched and/or normalised result.

![](https://1141395848-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-MeyIbaJjcq6TDeJROSH%2F-MeyKZxqZDTlBTAC-3ep%2Fimage.png?alt=media\&token=33f4a72b-e382-459e-a6e1-a92e706089b4)

This is done using the **Transcript** component, which executes user-definable scripts (termed **tasks**) in order to produce a meaningful set of data suitable for reporting against. Often this data will feed a consolidated bill of IT based on the various different consumed services.

Transcript also allows you to define and populate services and rates, either of which may be passed through from cloud data, defined as custom offerings, or a mixture of the two.

{% content-ref url="data-pipelines/transform" %}
[transform](https://olddocs.exivity.io/data-pipelines/transform)
{% endcontent-ref %}

## Report

![](https://1141395848-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-MeyIbaJjcq6TDeJROSH%2F-MeyKo70oJGkqH6RNg5n%2Fimage.png?alt=media\&token=7fc2fe49-a1b9-438a-9df9-f636d3a5cfd6)

Exivity provides a modern responsive **User Interface**, that allows you to 'slice and dice' the processed data in any way you choose. Multiple **Report Definitions** can be created with ease which allows you to graphically and textually display both cost and usage statistics.

{% content-ref url="data-pipelines/reports" %}
[reports](https://olddocs.exivity.io/data-pipelines/reports)
{% endcontent-ref %}

## Integrate

We think that Exivity should be part of your automation landscape, where it can provide (for example) line items that can be digested by your ERP and/or invoicing system. Therefore we consider **Integrate** as the logical final step for any deployment where it is useful.

![](https://1141395848-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-MeyIbaJjcq6TDeJROSH%2F-MeyL0wILbppfarENkuG%2Fimage.png?alt=media\&token=6ac2adad-8bf9-4e3a-96fc-9e38af400363)

To this end, we offer an open and fully-featured REST API. Our **GUI** uses our own API for all back-end processes meaning that all textual data shown in the Exivity **GUI** is also obtainable via our **API**.

Detailed information about the REST API can be found at <https://api.exivity.com>

{% content-ref url="advanced/integrate" %}
[integrate](https://olddocs.exivity.io/advanced/integrate)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://olddocs.exivity.io/undefined.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
