---
title: "Estimate monthly transactions from an uploaded statement"
method: POST
path: "/companies/{companyId}/pricing/statement-estimate"
tags: ["Checkout"]
---

# Estimate monthly transactions from an uploaded statement

`POST /companies/{companyId}/pricing/statement-estimate`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/companies/{companyId}/pricing/statement-estimate`
- Auth: HTTP bearer

Line-counts a recent statement for one unconnected account into a monthly
transaction estimate, so a statement account still contributes to the
onboarding quote. With a documentId the server reads the uploaded
statement itself: text-layer PDFs and text/CSV exports are counted
directly; scanned PDFs/images go through a best-effort LLM count. Falls
back to a conservative per-account default when the statement cannot be
counted.

## Request body

- object
  - `documentId` string, uuid: An uploaded statement document to count server-side (takes precedence over rawText/lineCount).
  - `rawText` string: Raw statement text to line-count.
  - `lineCount` integer: A pre-counted line total (when counted client-side).
  - `monthsCovered` integer: Months the statement covers; the line count is divided by this.

## Response `200`

The per-account monthly transaction estimate

- object
  - `success` true, required
  - `data` object, required
    - `monthlyTransactions` integer, required
    - `source` 'parsed' | 'fallback', required

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `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)
