# Invoicing

Manage invoices, coupons, and products for a practice group.

 - [GET /v1/invoicing/coupons](https://developer.herohealth.net/apis/public-api/openapi/invoicing/listcoupons.md): Retrieves a list of Stripe coupons for the requesting practice group.
 - [POST /v1/invoicing/invoices](https://developer.herohealth.net/apis/public-api/openapi/invoicing/createinvoice.md): Creates a new invoice for a patient. The `issuer_id` parameter is required and must be the Admin ID of the person issuing the invoice. Either `patient_id` or `appointment_id` must be provided. If `app
 - [PATCH /v1/invoicing/invoices/{id}](https://developer.herohealth.net/apis/public-api/openapi/invoicing/updateinvoice.md): Updates an existing invoice. The `issuer_id` parameter is required and must be the Admin ID of the person updating the invoice. For draft invoices, all fields can be updated. For finalized invoices, o
 - [POST /v1/invoicing/invoices/link](https://developer.herohealth.net/apis/public-api/openapi/invoicing/linkinvoice.md): Links an external Stripe invoice to an appointment. This endpoint finds or creates a Hero invoice record from a Stripe invoice ID, then links it to the specified appointment.
 - [GET /v1/invoicing/products](https://developer.herohealth.net/apis/public-api/openapi/invoicing/listproducts.md): Retrieves a list of Stripe products for the requesting practice group.
