---
title: "Get payment summary for an estimate"
method: GET
path: "/Payments/estimate/{invoiceId}"
tags: ["Payments"]
---

# Get payment summary for an estimate

`GET /Payments/estimate/{invoiceId}`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/Payments/estimate/{invoiceId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/Payments/estimate/:invoiceId/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `invoiceId` string, required

## Response `200`

OK

- InvoicePaymentSummaryDto
  - `invoiceId` string
  - `totalAmount` union
    - number, double
    - string, double
  - `totalPaid` union
    - number, double
    - string, double
  - `balanceDue` union: What is still collectable on this bill. Always 0 for a terminal invoice (Void, or Superseded by a payment-time merge): the write paths refuse those, so reporting a non-zero figure advertises a payment that can only fail (ITE-326). The obligation on a merged source lives on its successor — see bool InvoicePaymentSummaryDto.IsPayable.
    - number, double
    - string, double
  - `isPayable` boolean: False when the invoice's status refuses payment (Void / Superseded). Lets a client distinguish "nothing left to collect because it's paid" from "this bill can't take money at all" — both of which read as `balanceDue == 0`.
  - `payments` PaymentSummaryDto[]
    - `id` string
    - `paymentNumber` string
    - `paymentMethod` string
    - `amount` union
      - number, double
      - string, double
    - `status` string
    - `refundedAmount` union
      - number, double
      - string, double
    - `createdAt` string, date-time
    - `clientName` string, nullable
    - `invoiceNumber` string, nullable
    - `cashReceived` union
      - number, double
      - string, double
    - `changeDue` union
      - number, double
      - string, double

## Other responses

- `404`: Not Found

## Changes

- **2026-08-12** `e7d381a5453b`: 6 info
  - added the optional property `payments/items/cashReceived` to the response with the `200` status (media type: text/plain)
  - added the optional property `payments/items/cashReceived` to the response with the `200` status (media type: application/json)
  - added the optional property `payments/items/cashReceived` to the response with the `200` status (media type: text/json)
  - added the optional property `payments/items/changeDue` to the response with the `200` status (media type: text/plain)
  - …2 more
- **2026-08-07** `a905bde4e796`: 3 info
  - added the optional property `isPayable` to the response with the `200` status (media type: text/plain)
  - added the optional property `isPayable` to the response with the `200` status (media type: application/json)
  - added the optional property `isPayable` to the response with the `200` status (media type: text/json)

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Payments/estimate/:invoiceId/get.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
