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

# Invoices

> Draft, send, track, and reconcile invoices with line items, tax, discounts, and automated payment links

The Invoices page at `/dashboard/commerce/invoices/` is the operational heart of Commerce. From here you draft invoices, send them with payment links, track status from sent through paid, and reconcile against incoming bank deposits. Data lives in `crm_invoices` and `crm_invoice_line_items`; the API is at `/api/crm/invoices`.

## The invoice lifecycle

<Steps>
  <Step title="Draft">
    A new invoice starts as a draft — visible only to your team, no email sent, no due date enforced. Iterate until it's right.
  </Step>

  <Step title="Sent">
    Click **Send** and the client receives an email with a portal link. The status flips to `sent` and the due-date clock starts ticking.
  </Step>

  <Step title="Paid">
    A successful payment via the [client portal](/commerce/client-portal) auto-marks the invoice paid. You can also mark paid manually if the client paid by check or wire — just attach the deposit reference for the audit trail.
  </Step>

  <Step title="Overdue">
    An invoice past its due date with a balance owing. Triggers any automated reminder workflows you've set up.
  </Step>

  <Step title="Void">
    Voiding cancels the invoice without deleting it. Used for billing errors or canceled work — historical record stays, but the balance no longer counts toward AR.
  </Step>
</Steps>

## Creating an invoice

<Tabs>
  <Tab title="From scratch">
    Click **New Invoice**, pick a client (CRM contact or company), and start adding line items. The most common path.
  </Tab>

  <Tab title="From an estimate">
    Open an accepted estimate and click **Convert to Invoice**. The line items, tax, and discounts copy over and the estimate links to the new invoice. See [Estimates — converting](/commerce/estimates#converting-to-an-invoice).
  </Tab>

  <Tab title="From a subscription">
    Active subscriptions auto-generate invoices on their billing schedule. You can also force-generate one early from the subscription's actions menu — useful for catching up missed cycles or pre-billing a known charge.
  </Tab>

  <Tab title="From a schedule">
    The [Schedules page](/dashboard/commerce/schedules/) lets you queue invoices to auto-create at future dates without a full subscription. Useful for milestone billing on long projects.
  </Tab>
</Tabs>

## Line items

Each line item has:

* **Product reference** (optional) — pulls name, description, price, and tax flag from your [Products catalog](/commerce/products)
* **Description** — overridable per line; what the client sees
* **Quantity** — defaults to 1
* **Unit price** — override the catalog price for this client
* **Discount** — percentage or fixed amount, per line
* **Tax** — applied if the line is taxable and the client isn't tax-exempt

You can also add **ad-hoc lines** with no product reference — handy for one-off charges that don't belong in the catalog. If you find yourself adding the same ad-hoc line repeatedly, that's a signal to add it to Products.

## Tax handling

Tax rates come from your account settings (per-jurisdiction) and apply to taxable line items at send time.

* **Tax-exempt clients** — Set the flag on the contact or company. Their invoices skip tax automatically and surface the exemption in the PDF.
* **Per-jurisdiction rates** — Configure separate rates for the regions you sell in. The invoice picks the right rate based on the client's billing address.
* **Multi-rate invoices** — A single invoice can mix tax rates if line items are flagged differently (rare, but supported).

See [Payment Processing — tax configuration](/commerce/payments#tax-configuration) for the full settings reference.

## Discounts

Two flavors:

* **Per-line** — A discount applied to a single line item before tax
* **Invoice-level** — A discount applied after subtotal, before tax

Either can be a percentage or a fixed amount. Discount lines show on the PDF for transparency.

## Payment terms

Pick from `Net 15`, `Net 30`, `Net 60`, `Due on Receipt`, or a custom number of days. The terms set the due date relative to the send date. Overdue automation triggers off this date — see [Track AR Aging](/how-tos/track-ar-aging).

<Tip>
  Net 30 is the default. If your industry standard is Net 15, change the account default in settings so you don't have to set it every time.
</Tip>

## Sending the invoice

When you click **Send**, three things happen:

1. The invoice transitions from `draft` to `sent`.
2. An email goes to the client's billing contact with a link to the [client portal](/commerce/client-portal).
3. A PDF is generated and attached to the email (and stored against the invoice for download later).

The portal link opens an authenticated session — clients don't need an account, just the magic link in the email. From there they can pay with a saved card, a new card, ACH (where supported), or Apple/Google Pay if your processor supports it.

## Marking paid

<Tabs>
  <Tab title="Auto (online payment)">
    A payment through the client portal triggers your processor's webhook (Stripe or Authorize.Net), which marks the invoice paid and records the transaction in `crm_invoice_line_items`-linked payment records. No manual step needed.
  </Tab>

  <Tab title="Manual (check, wire, ACH outside processor)">
    For payments received outside Commerce, click **Mark as Paid** and record the date, amount, and reference (check number, wire confirmation). The invoice flips to paid and the payment shows in your AR.
  </Tab>

  <Tab title="Partial payment">
    Both auto and manual flows support partial payments. The invoice stays `sent` (or `overdue`) with a reduced balance until fully paid.
  </Tab>
</Tabs>

## Reconciliation

For automated processors, transactions reconcile against invoices automatically — the webhook from Stripe or Authorize.Net carries the invoice ID. For manual payments, the **Reconciliation** view shows unmatched deposits and lets you click-to-match against open invoices.

<Warning>
  Don't mark an invoice paid twice. If a client paid online and you also mark it manually, you'll have a credit balance and a confused accountant. Check the status before marking manually.
</Warning>

## PDFs and customization

Every invoice has a downloadable PDF that uses your account's invoice template — logo, colors, footer text, payment instructions. To customize:

* **Logo and colors** — Set in account settings; applies to all invoices and the client portal.
* **Footer / payment instructions** — Free-text block on each invoice or default for the account.
* **Custom template** — For accounts with specific design needs, the API supports custom templates rendered server-side.

## Recurring invoices

Two ways to bill on a recurring cadence:

* **[Subscriptions](/commerce/subscriptions)** — Best for ongoing retainers and SaaS plans. Handles proration, plan changes, and MRR roll-up.
* **[Schedules](/dashboard/commerce/schedules/)** — Best for milestone billing or fixed-date charges that aren't a true subscription (e.g., quarterly check-in fees).

## Bulk operations

For invoice batches (month-end runs, mass reminders), use the bulk actions:

* **Bulk send** — Send all drafts for a client or a billing period
* **Bulk reminder** — Resend a payment-link email to all overdue invoices
* **Bulk export** — CSV of invoices and line items for accounting reconciliation

## API patterns

Common API operations against `/api/crm/invoices`:

* `POST /api/crm/invoices` — create a draft
* `POST /api/crm/invoices/:id/send` — transition to sent and email the client
* `POST /api/crm/invoices/:id/payments` — record a manual payment
* `POST /api/crm/invoices/:id/void` — void an invoice
* `GET /api/crm/invoices?status=overdue` — list overdue invoices for a workflow

See [Track AR Aging](/how-tos/track-ar-aging) for using the overdue endpoint with workflows.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Client says they never got the invoice email">
    Check the invoice's activity log — you'll see whether the email was sent and whether it bounced. Common causes: the client's billing-contact email is wrong, the email landed in spam (have them search for your domain), or your sending domain isn't verified — see [Email Domains](/email/domains).
  </Accordion>

  <Accordion title="Payment went through but invoice still shows sent">
    The processor webhook didn't reach Hiveku, or it failed signature verification. Check your processor connection in [Payments](/commerce/payments) — re-authorize Stripe, or rotate the Authorize.Net credentials. Once the webhook is healthy, you can manually mark the invoice paid for the affected one.
  </Accordion>

  <Accordion title="Tax is wrong on the PDF">
    Three things to check: the line items' taxable flag, the client's tax-exempt flag, and the configured tax rate for the client's billing jurisdiction. Edit the draft, fix whichever is off, and re-send.
  </Accordion>

  <Accordion title="Invoice number skipped a value">
    Voided invoices keep their number, so you'll see gaps in the sequence — that's expected and audit-friendly. Don't try to renumber; auditors prefer to see the void.
  </Accordion>

  <Accordion title="Overdue automation isn't firing">
    Check that the invoice's due date is actually past, the workflow is enabled, and the workflow's filter matches the invoice's client/segment. See [Workflows](/how-tos/workflows) for the trigger model.
  </Accordion>
</AccordionGroup>

## What's next?

<CardGroup cols={2}>
  <Card title="Send Your First Invoice" icon="rocket" href="/how-tos/send-first-invoice">
    Walk through the full first-invoice flow.
  </Card>

  <Card title="Track AR Aging" icon="hourglass-half" href="/how-tos/track-ar-aging">
    Spot overdue invoices and automate follow-ups.
  </Card>

  <Card title="Estimates" icon="file-signature" href="/commerce/estimates">
    Pre-sales quotes that convert to invoices.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/commerce/subscriptions">
    Recurring billing for retainers and plans.
  </Card>
</CardGroup>
