---
title: "Issue an immutable pre-elimination reporting-scope trial balance"
method: POST
path: "/companies/{companyId}/reporting-scopes/{reportingScopeId}/versions/{versionId}/trial-balances"
tags: ["Reports"]
---

# Issue an immutable pre-elimination reporting-scope trial balance

`POST /companies/{companyId}/reporting-scopes/{reportingScopeId}/versions/{versionId}/trial-balances`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/companies/{companyId}/reporting-scopes/{reportingScopeId}/versions/{versionId}/trial-balances`
- Auth: HTTP bearer

Demo-parity, admin-only, and all-entity protected for an explicitly allowlisted active or test company. The explicit manifest must contain every legal entity in the sealed hierarchy exactly once, pin each current adjusted pre-closing trial balance, and share the exact company GL-account mapping and presentation currency. The result remains labeled incomplete and non-consolidated until elimination, NCI, policy, and disposal procedures are applied. No runtime fixture or inferred latest snapshot is accepted.

## Request body

- CreateReportingScopeTrialBalanceInput
  - `constituentSnapshots` ReportingScopeRollupManifestItem[], required
    - `entityId` string, uuid, required
    - `snapshotId` string, uuid, required

## Response `201`

Immutable reporting-scope trial balance

- ReportingScopeTrialBalanceResponse
  - `success` boolean, required
  - `data` ReportingScopeTrialBalance, required
    - `id` string, uuid, required
    - `companyId` string, uuid, required
    - `reportingScopeId` string, uuid, required
    - `reportingScopeVersionId` string, uuid, required
    - `glPeriodId` string, uuid, required
    - `periodStart` string, date, required
    - `periodEnd` string, date, required
    - `presentationCurrency` string, required
    - `sourceHash` string, required
    - `outputHash` string, required
    - `fingerprint` string, required
    - `payload` object, required: Adjusted pre-closing, pre-elimination control schedule with exact entity, standalone snapshot, GL account, journal line, and FX-rate provenance. It explicitly remains incomplete, non-consolidated, and unposted to the ledger.
    - `constituentSnapshots` ReportingScopeTrialBalanceConstituentSnapshot[], required
      - `entityId` string, uuid, required
      - `snapshotId` string, uuid, required
      - `snapshotOutputHash` string, required
      - `coaMappingRevisionHash` string, required
      - `rateSetRevisionHash` string, required
    - `createdByUserId` string, uuid, required
    - `createdAt` string, date-time, required
    - `sealedAt` string, date-time, required

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `404`: Resource not found
- `409`: A different immutable authority already exists for this period
- `422`: Request failed validation

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
