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

# The Patient Liability Object

> An amount a patient owes a practice, such as a copay, and the payments recorded against it.

## In the EHR

A patient liability is an amount a patient owes the practice, such as a copay, coinsurance or a membership fee. Practice users record and collect it through Patient Payments in the patient's chart, and each liability carries the charges and payment requests made against it. See [Collecting a Patient Payment in the EHR](https://help.elationhealth.com/articles/elation-ehr-billing-collecting-a-patient-payment-in-the-ehr.md).

## Working with patient liabilities via the API

* **Creating a liability records a payment that was already collected.** A `POST` creates the liability already paid in full, with one completed charge. Use it for a payment the practice took outside Elation: cash (`payment_type: cash`), a check (`payment_type: check`), or a card run on the practice's own terminal or processor (`payment_type: card`). It doesn't charge a card, and it can't record a payment through Elation-managed Stripe.
* **No receipt is sent to the patient.** A payment recorded in the chart can send the patient a receipt. A payment created through the API never does, so send your own if your workflow needs one.
* **The payment must cover the full amount.** `payment.amount_usd` must equal `total_amount_usd`; partial payments aren't supported. The amount must be between $0.50 and $99,999.99.
* **Retries create duplicates.** Invoice numbers aren't unique, so the API can't tell a retried `POST` from a second payment. Retain the `id` returned by a successful `POST`, and don't retry after a timeout without first checking whether the liability exists.
* **`payment.paid_at` is a timestamp.** Send an ISO 8601 date-time with an offset, such as `2026-10-26T14:30:00-04:00`. It's stored as that instant and returned in UTC. It defaults to now and can't be in the future.
