> ## Documentation Index
> Fetch the complete documentation index at: https://docs.1club.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Invoices

> Create, send, charge, and track invoice documents that group a contact's outstanding transactions.

An invoice in 1Club is a receivable document that groups one or more [transactions](/billing/transactions) under a single number, with a due date, line items, and an issue PDF. It's the artifact you send to a member or a corporate account when you want a formal record of what's owed.

Invoices don't move money on their own. Money moves through [payments](/billing/payments), which the invoice flow can trigger but doesn't replace.

## How invoices get created

Three paths:

1. **Manual single invoice.** Open a transaction (or a contact) and use **Add invoice**. The transaction is wrapped in a one-line invoice and marked `isInvoiced = true`.
2. **Manual full-page create.** From **Billing > Invoices** click **Add**. Pick a contact and add line items.
3. **Bill run.** A [bill run](/billing/bill-runs) sweeps every billable transaction in a period and groups them by contact. This is the right tool when you have many transactions to invoice at once.

A new invoice gets a generated `invoiceNumber` from your invoice template, a `currency` inherited from the organization, and a 30-day due date when created by a bill run. Manual invoices use the date and due date you enter.

## The invoices grid

**Billing > Invoices** shows every invoice for your organization with tabs **All**, **Pending**, **Paid**, **Overdue**. Each row carries the invoice number, contact, account (when invoices are billed to a household or company), invoice date, due date, total amount, the bill run ID if any, and status.

Row actions:

* **View** the invoice details.
* **Pay** opens the payment dialog (only for `pending` invoices).
* **Delete** removes the invoice, deletes its line items, and reverts every linked transaction back to `isInvoiced = false` so the obligation can be re-invoiced.

Multi-select supports batch delete, which uses the same "revert linked transactions" behavior.

## Invoice details

The details page shows:

* **Invoice details** card with invoice and due dates, total, status, and the bill run reference when present.
* **Account** and **Contact** cards on the right.
* **Line items** with each item's description, quantity, unit price, total, and a link to the source transaction.
* **Billing information** listing related bookings and memberships, each linking to the underlying record.
* **Amount breakdown** with subtotal, tax, and total.
* **Payment information** when the invoice has been associated with a Stripe payment, including the payment ID and a **Refresh payment status** button that re-queries Stripe and updates the invoice if the state has changed.

The header has these actions, conditional on status:

* **Add payment** (pending only): record a payment against the invoice. Uses the same dialog as the [Payments](/billing/payments) flow.
* **Send**: open the **Send payment link** dialog, which emails the contact a hosted Stripe Payment Element scoped to this invoice.
* **Download**: fetch a PDF.
* **Edit**: change invoice fields or line items.
* **Delete**: same as the grid action.

## Invoice statuses

Invoice status is normally derived from the linked transactions:

| Linked transactions               | Invoice status   |
| --------------------------------- | ---------------- |
| All `paid`                        | `paid`           |
| Some `paid` or `partially_paid`   | `partially_paid` |
| Otherwise, due date in the future | `pending`        |
| Otherwise, due date in the past   | `overdue`        |

`cancelled` is sticky - once an invoice is cancelled it stays that way. Some webhook paths set `failed` directly when a Stripe charge fails, so you may see `failed` transiently before the next status recalculation.

## Collecting on an invoice

You have two options from the invoice detail page:

* **Send a payment link** to the contact. They pay through a hosted Stripe Payment Element. On success, the linked transactions flip to `paid`, any pending bookings on those transactions become `confirmed`, and the invoice integrations JSON is updated with the Stripe payment ID.
* **Add payment** to record what you collected outside Stripe (cash, bank transfer, manual card terminal). This creates a payment row, links it to the invoice's transactions, and updates status.

There's no "Charge stored card" action on the invoice details page. Charges against a saved payment method happen at the transaction level - go to [Transactions](/billing/transactions) and use **Batch charge** there, or use the per-transaction action from the Transactions tab on the booking.

The invoice's totals are derived from its line items, which point at transaction IDs - editing the underlying transaction prices after issuing the invoice will not retroactively change the invoice total.

## Known sharp edges

* Partial invoice payments through Stripe Payment Element accept an `amountOverride` that isn't capped to the unpaid balance. If you build a custom collection flow, validate the amount yourself.
* The bill-run-specific invoice payment helper writes columns that don't exist on the `invoices` model; it appears to be unused, but if you discover it firing you'll see write failures in logs.

## Related

* [Transactions](/billing/transactions)
* [Payments](/billing/payments)
* [Bill runs](/billing/bill-runs)
* [Export](/settings/export) - bundle invoices for QuickBooks.
