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

# Tag & Allocate Cloud Costs

> FinOps cost allocation made simple. Create dimensions, allocate untagged resources, and split shared costs across AWS, GCP, and Azure without touching your cloud console.

Costory maps inconsistent cloud billing data to clean, team-level cost breakdowns. Use dimensions to unify tags, allocate untagged resources, and split shared infrastructure costs, all from one place and applied retroactively to your historical data.

### See it in action

<CardGroup cols={2}>
  <Card title="Automated Environment Visibility" icon="eye" href="/use-cases/automated_env_allocation/visibility">
    Unify inconsistent environment tags across providers and get a clean cost-per-environment breakdown in minutes.
  </Card>

  <Card title="Allocate a Shared Cloud SQL Database" icon="database" href="/use-cases/allocate_shared_cloud_sql_database/allocate">
    Split the cost of a shared database across the teams that use it, based on actual usage metrics.
  </Card>

  <Card title="Reallocate API Costs" icon="arrow-right-arrow-left" href="/use-cases/reallocate_api_costs">
    Reallocate untagged API costs to teams using an external usage metric like API call counts.
  </Card>
</CardGroup>

***

## How it works

```mermaid theme={null}
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#EEF2FF', 'primaryTextColor': '#1D3C93', 'primaryBorderColor': '#C7D2FE', 'lineColor': '#6366F1', 'secondaryColor': '#F0FDF4', 'tertiaryColor': '#FFF7ED'}}}%%
graph LR
    subgraph messy ["🏷️ Messy Tags"]
        R1["Env = prod"]
        R2["environment = production"]
        R3["k8s_label_env = prd"]
    end

    subgraph meta ["📦 Billing Metadata"]
        R4["namespace: payments"]
        R5["resource: api-gateway-eu"]
        R6["account: 1234-prod"]
    end

    DIM["⚙️ <b>Dimensions</b><br/>Merge tag keys · Normalize values · Apply rules"]

    CLEAN["✅ environment = production"]

    subgraph output ["🎯 Business Concepts"]
        T["Team: Payments"]
        BU["Business Unit: Commerce"]
        PL["P&L Line: Revenue"]
    end

    R1 --> DIM
    R2 --> DIM
    R3 --> DIM
    DIM --> CLEAN
    CLEAN --> T
    R4 --> DIM
    R5 --> DIM
    R6 --> DIM
    DIM --> BU
    DIM --> PL

    style DIM fill:#DBEAFE,stroke:#3B82F6,stroke-width:2px,color:#1E3A8A
    style CLEAN fill:#D1FAE5,stroke:#10B981,stroke-width:2px,color:#065F46
    style T fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#92400E
    style BU fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#92400E
    style PL fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#92400E
    style R1 fill:#FEE2E2,stroke:#EF4444,stroke-width:1px,color:#991B1B
    style R2 fill:#FEE2E2,stroke:#EF4444,stroke-width:1px,color:#991B1B
    style R3 fill:#FEE2E2,stroke:#EF4444,stroke-width:1px,color:#991B1B
    style R4 fill:#F3F4F6,stroke:#9CA3AF,stroke-width:1px,color:#374151
    style R5 fill:#F3F4F6,stroke:#9CA3AF,stroke-width:1px,color:#374151
    style R6 fill:#F3F4F6,stroke:#9CA3AF,stroke-width:1px,color:#374151
```

Costory's allocation workflow has two core parts: dimensions for consistent reporting fields, and shared cost allocation for costs that need proportional splits.

<CardGroup cols={2}>
  <Card title="Dimensions" icon="layer-group" href="/features/tagging/dimensions">
    Merge native tags and labels, normalize values, and define virtual dimensions from rules.
  </Card>

  <Card title="Shared Cost Allocation" icon="chart-pie" href="/features/tagging/shared-cost-allocation">
    Split shared infrastructure costs across teams based on actual usage metrics from Datadog, BigQuery, Snowflake, or Google Sheets.
  </Card>
</CardGroup>

***

<Card title="Get started in 30 minutes" icon="play" href="/get-started/quickstart">
  Sign up for free, connect your cloud provider, and see your costs allocated. No engineering tickets required.
</Card>

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="What is virtual tagging?">
    Virtual tagging lets you assign cost allocation values to cloud resources without modifying the resources themselves. In Costory, this is done with [dimensions](/features/tagging/dimensions), which support imported tags, rule-based virtual dimensions, usage-based shared cost splitting, and retroactive application to historical data.
  </Accordion>

  <Accordion title="What is the difference between an imported dimension and a virtual dimension?">
    An imported dimension points several native tags or labels at one reporting field. For example, `aws:Environment`, `env`, and `environment` can become one `Environment` dimension.

    A virtual dimension defines values from rules. For example, a `Team` virtual dimension can map resources to teams using project IDs, namespaces, account names, or other billing metadata.
  </Accordion>

  <Accordion title="Can I use Costory for chargeback and showback?">
    Yes. Dimensions let you allocate 100% of your cloud bill to teams, products, or cost centers, which is the foundation of any chargeback or showback model. Combined with [Cost Reports](/features/slack-reports) and [Explorer](/features/cost-explorer), you can automate the reporting side too.
  </Accordion>

  <Accordion title="How do I handle untagged resources?">
    Virtual dimensions can allocate untagged resources using any available billing metadata: account ID, service name, resource name, Kubernetes namespace, region, and more. You don't need to go back and tag resources in your cloud console.
    For network costs, you can rely on [shared cost allocation](/features/tagging/shared-cost-allocation) based on usage metrics.
  </Accordion>

  <Accordion title="Does this work retroactively on historical data?">
    Yes. When you create or update a dimension, Costory reprocesses your billing history so the new allocation applies to past months as well.
  </Accordion>

  <Accordion title="Can I manage dimensions via GitHub?">
    Yes. Virtual dimensions can be created and updated using a JSON Schema, so you can version-control allocation logic from the UI.
  </Accordion>

  <Accordion title="How often are allocations recomputed?">
    Allocations are recomputed every time Costory ingests new billing data from your providers, typically daily. If you update a rule or a usage metric, historical data is also reprocessed automatically.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Explore Your Costs" icon="chart-bar" href="/features/cost-explorer">
    Use your new allocations in Explorer
  </Card>

  <Card title="Automate FinOps Reports" icon="slack" href="/features/slack-reports">
    Send cost-per-team reports to Slack automatically
  </Card>

  <Card title="Allocate a Shared Database" icon="database" href="/use-cases/allocate_shared_cloud_sql_database/allocate">
    Step-by-step: split a Cloud SQL bill across teams
  </Card>

  <Card title="Environment Cost Visibility" icon="eye" href="/use-cases/automated_env_allocation/visibility">
    Unify environment tags and see cost per env in minutes
  </Card>
</CardGroup>
