Adding a Project ID Mapping from a CSV File

Upload a CSV file that maps OpenAI project IDs, Anthropic workspace IDs, and an OCI tenancy OCID to management hierarchies and cost centers.

Important

A project ID mapping assigns the costs associated with a provider resource to a management hierarchy and cost center. The resource can be an OpenAI project, an Anthropic workspace, or an OCI tenancy. The mapping identifies who is responsible for those resource costs, rather than mapping an owner's individual AI use.

Prepare the provider identifiers, management hierarchies, and cost-center codes using the project ID mapping template. You can include rows for OpenAI, Anthropic, and OCI Generative AI in one file.

Project ID mapping is optional and recommended for allocating OpenAI API, Anthropic Console, and OCI Generative AI costs. Each project row supplies its hierarchy independently. Its manager and owner emails don't need corresponding records in a person mapping file.

  1. Open the workspace, select Integrations, and then select Add project mapping.
  2. Download the project ID mapping template, project_mapping.csv, and replace the example row with your project ID mapping data.

    Use the following provider codes and identifiers. Enter the resource's identifier in project_id, not its display name.

    Providerprovider_codeproject_id
    OpenAIOPENAIThe OpenAI project ID. Use the id returned for the project by List projects.
    AnthropicANTHROPICThe Anthropic workspace ID. Use the id returned for the workspace by List Workspaces.
    OCI Generative AIOCIThe OCID of the tenancy associated with the collected OCI Generative AI costs.

    Enter management hierarchy emails from highest (m1) to lowest, with the project owner's email in the lowest populated level. For example, if the chain is CEO, vice president, and project owner, enter their emails in m1, m2, and m3. Leave m4 through m11 blank and keep all columns. Enter the cost center responsible for the resource's costs in cost_center_code.

    Preserve the template's column names and order. The following example uses fictional hierarchy emails and cost-center codes. Replace each identifier placeholder and the example values with your data:

    provider_code,project_id,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,cost_center_code
    OPENAI,<OPENAI_PROJECT_ID>,ceo@example.com,vp@example.com,app-owner@example.com,,,,,,,,,CC-100
    ANTHROPIC,<ANTHROPIC_WORKSPACE_ID>,ceo@example.com,vp@example.com,team-owner@example.com,,,,,,,,,CC-200
    OCI,<TENANCY_OCID>,ceo@example.com,vp@example.com,cloud-owner@example.com,,,,,,,,,CC-300

    In these examples, m3 identifies the owner and m4 through m11 are blank. The OpenAI project's API costs are associated with CC-100, the Anthropic workspace's costs with CC-200, and the OCI tenancy's collected Generative AI costs with CC-300. Each row supplies its own hierarchy. The owner and manager emails don't need records in a person mapping file.

    For OCI Generative AI, a tenancy row assigns the collected costs for that tenancy to one hierarchy and cost center. This mapping doesn't allocate costs within the tenancy by compartment or cost-allocation tag.

    Note

    If Anthropic returns null for workspace_id in a cost report, Cost Advisor can't match those costs to a project ID mapping. Adding that workspace's ID to the CSV doesn't resolve the missing identifier in the report.

    Don't substitute a person mapping CSV file.

    For example, a CSV file with extra columns or unsupported details can upload successfully but fails validation.

  3. Upload the completed CSV file and address any errors reported by the setup flow.
    The upload usually takes 5 to 10 minutes, depending on file size.
  4. Submit the mapping.

Validation takes about 5 minutes, depending on the file size, and is separate from the upload. Review the project ID mapping's state on the Integrations tab and the validation result in Work requests. If validation fails, review the error log and correct the reported issues. See Monitoring Cost Advisor Work Requests.

To add organizational context for people, see Person Mappings.