> ## Documentation Index
> Fetch the complete documentation index at: https://docs.layerfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Project Profitability

> Project-level profitability tracking with tag-based filtering.

The ProjectProfitabilityView provides a project-level financial overview with three tabs: Overview, Transactions, and Report. It uses tag-based filtering to scope financial data to specific projects.

The view renders:

* **Overview tab** - An `AccountingOverview` filtered to the selected project
* **Transactions tab** - Categorized `BankTransactions` for the selected project
* **Report tab** - A `ProfitAndLoss.Report` for the selected project

```tsx theme={null}
import { ProjectProfitabilityView } from '@layerfi/components'

<ProjectProfitabilityView
  valueOptions={[
    { label: 'Project Alpha', tagKey: 'project', tagValues: ['alpha'] },
    { label: 'Project Beta', tagKey: 'project', tagValues: ['beta'] },
  ]}
  stringOverrides={{ title: 'Project P&L' }}
  dateSelectionMode="month"
/>
```

### Properties

<ParamField body="valueOptions" required="true" type="TagOption[]">
  Array of project tag options for the project selector dropdown.

  <Expandable title="TagOption properties">
    <ParamField body="label" required="true" type="string">
      Display label in the dropdown (e.g., "Project Alpha").
    </ParamField>

    <ParamField body="tagKey" required="true" type="string">
      The tag key used to filter data (e.g., "project").
    </ParamField>

    <ParamField body="tagValues" required="true" type="string[]">
      Tag values to filter by (e.g., `['alpha']`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="showTitle" type="boolean">
  Controls whether the page title/header is displayed.
</ParamField>

<ParamField body="stringOverrides" type="ProjectsStringOverrides">
  <Expandable title="ProjectsStringOverrides properties">
    <ParamField body="title" type="string">
      Override for the page title.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="dateSelectionMode" type="'full' | 'month'" default="month">
  Controls the date range granularity in the Report tab.

  * `'full'` - Full date range picker
  * `'month'` - Month picker only
</ParamField>

<ParamField body="csvMoneyFormat" type="'CENTS' | 'DOLLAR_STRING'" default="DOLLAR_STRING">
  Format for monetary values in CSV exports.

  * `'CENTS'` - Integer of cents (e.g., `1000` for \$10.00)
  * `'DOLLAR_STRING'` - Dollar string (e.g., `"$10.00"`)
</ParamField>
