---
title: "Azure DevOps CapEx reporting guide"
canonical_url: "https://docs.getdx.com/reports/ado-capex/"
md_url: "https://docs.getdx.com/reports/ado-capex.md"
last_updated: "2026-06-08"
---

# Azure DevOps CapEx reporting guide
GAAP outlines requirements for financial reporting of capitalized and expensed software development costs. DX simplifies this process of capitalizing work by generating Excel reports that break down developer time into capitalized and non-capitalized work.

## GAAP rules

Please consult your own finance team to determine work classification and reporting requirements. For a simplified understanding of GAAP reporting rules based on the ASC (Accounting Standards Codification), please read below.

### Internal-use software

ASC 350-40 provides guidance for the costs to develop or obtain software for internal use. Under this guidance, all design, coding, installation, and testing costs for internal-use software should be capitalized.

![Internal-use software flow chart](https://docs.getdx.com/assets/images/capex/internal-use-software.png)

### Software to be sold, leased, or marketed

ASC 985-20 provides guidance for costs to develop software to be sold, leased, or marketed. Costs incurred prior to reaching technological feasibility are considered expensed, whereas costs to develop software once technological feasibility is reached are capitalized. Once a product is available for general release, only product enhancements are capitalized.

![Software to be sold flow chart](https://docs.getdx.com/assets/images/capex/marketed-software.png)

## Calculation methods

DX lets you track [Work allocation](https://docs.getdx.com/reports/ado-allocation/) across different types of work, based on categorization rules which you define. For CapEx reporting, customers typically rely on a categorization rule based on a tag (e.g., where ADO Epics are marked as capitalized or not). When generating CapEx reports, you can apply additional conditions such as excluding specific ADO projects.

Developer time is measured in _Dev Weeks_, each representing one full week of developer effort. DX can also incorporate salary data (without storing it) to translate Dev Weeks into dollar amounts in your reports.

DX's allocation methodology has been reviewed by licensed CPAs and validated in independent tax audits. Our team is available to support you during audits and ensure you have the documentation and insights you need.

When you generate a CapEx report, you can choose how DX converts work into time:

- **Time spent (dev time):** Counts only the time actually logged to work items in the period; unlogged time is ignored, so a person may add up to less than 1 FTE.
- **FTE time (adjusted for full time):** Treats each person as a full-time FTE for the period and applies their logged mix (CapEx vs. non-CapEx) across the full period.

### Example: Time spent vs. FTE time

Suppose a contributor worked on **Issue A** during **August**. They logged **1 day** on Issue A and **10 total days** across all work items that month. (August has **21 weekdays**.)

- **Time spent:** We count raw recorded time. `1 day ÷ 21 weekdays = 0.048 dev months` on Issue A.
- **FTE time:** We normalize their work to a full month using the issue’s share of their logged time. `1 ÷ 10 = 10%`, applied to 1 FTE month → `0.1 FTE months`.

In this example, Issue A represents **0.048 dev months** using _Time spent_ and **0.1 FTE months** using _FTE time_.

## Generating reports

To generate CapEx reports for your work:

1. Go to **DX** -> **Reports** -> [**ADO CapEx**](https://app.getdx.com/report/capex-ado).
1. Select a time period.
1. Select which method you wish to capitalize by:
   - **Time spent:** Uses only observed, attributable time on work items to compute CapEx, ignoring any unrecorded time (so totals may be < 1 FTE).
   - **FTE time:** Scales each contributor’s recorded CapEx share up to a full FTE for the period—assuming unrecorded time follows the same CapEx vs. non-CapEx mix.
1. Specify the categorization rule you wish to use.
1. Choose which categories should be treated as capitalized work. You can also mark specific ADO projects as non-capitalized.
1. Optionally, customize which columns generate in the export. You can choose to include custom fields from work items and epics, as well customize which user attributes generate columns.
1. Click **Generate report** to download your report. Processing may take a minute.

## CapEx report structure

![Screenshot of CapEx report interface](https://docs.getdx.com/assets/images/capex/example-report.png)

The report includes multiple sheets with prepopulated formulas to streamline your analysis:

- **Salary Worksheet** – Enter individual salaries or an average salary to automatically populate dollar amounts across other sheets.
- **Monthly Overview** – Summarizes total capitalizable (CapEx) vs. non-capitalizable (non-CapEx) time and cost by month.
- **Epics** – Breaks down time and cost by Azure DevOps Epic. If your organization uses a custom type for Epics, you can specify an override in the report settings.
- **Work Items By Contributor** – Provides a detailed view of time and cost by individual ADO work items and contributor.
- **Contributor Overview** – Summarizes total capitalizable (CapEx) vs. non-capitalizable (non-CapEx) time by individual.

For the best experience and full formula functionality, we recommend opening the report in Microsoft Excel rather than alternative tools like Google Sheets.

## Uploading salary data

Salary data can be uploaded to DX for automatic cost calculation. Due to the sensitivity of salary information, this can only be done by users with the [Finance Manager role](https://docs.getdx.com/roles/#finance-manager).

To upload salary data:

1. Go to **DX** -> **Reports** -> [**ADO CapEx**](https://app.getdx.com/report/capex-ado).
1. Click the Settings gear in the top right corner and select the "Salaries" tab.
1. Download your current data.
1. Fill in the annual_salary column, then import it back into DX.
---

## Sitemap

[Overview of all docs pages](/llms.txt)
