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

> ## Agent Instructions
> Taberna is a crypto payments API. Amounts are priced in fiat (USD or EUR) and paid in crypto.
> Fiat amounts are ALWAYS decimal strings ("9.99"), never numbers. Crypto amounts are integer strings in the asset's smallest unit.
> Authenticate merchant endpoints with `Authorization: Bearer tbrn_live_...`. Every key is bound to one store and carries an explicit scope set, so never pass a store id to a /v1 endpoint.
> A 401 means the credential is bad; a 403 means the key lacks a scope. Never retry or re-authenticate on a 403 — surface it as a configuration error.
> The /v1/checkouts endpoints are deliberately unauthenticated and run in the buyer's browser. Never send an API key to a browser.
> Verify webhook signatures over the RAW request body before parsing JSON, and treat delivery as at-least-once: handlers must be idempotent.
> Never grant value based on a browser redirect to successUrl. Fulfil on a signature-verified webhook, or on a server-side read of GET /v1/orders/{id} or GET /v1/invoices/{id}.
> There is no test mode: every payment method is a live chain moving real funds.
> A merchant can run an entire shop with no code: the dashboard creates products and invoices, and every store can host a storefront at {slug}.taberna.io with its own theme, sections, branding and optional custom domain. Never assume the reader has an API integration.
> Taberna issues no refunds and performs no KYC. A refund is something the merchant sends from their own payout wallet, off-platform.

# Invoices

> Bill a customer for any amount and send them a payment link.

An invoice is a one-off bill. Unlike a product, you write the line items each time, so
it suits consulting fees, custom work, deposits and top-ups — anything where the amount
is decided per customer.

Invoices live under **Invoices** in the sidebar. Creating, sending and voiding them needs
the owner, admin or manager [role](/guides/team).

## How it works

1. Write the line items and press **Create**.
2. Email it to your customer, or copy the payment link and send it yourself.
3. They pay in crypto on a hosted page and you both get a receipt.

## Create an invoice

Press **New invoice**.

**Items.** One row each: a name, a quantity, a unit price and an optional description.
Add up to 100 rows; the total is worked out as you type.

**Customer.** A name and an email address, both optional — but **you can only email an
invoice if it has an email address on it**, and the address cannot be changed afterwards.

**Details.** Currency (USD or EUR), when it expires — 24 hours, 3 days, 7 days or 30
days, with 7 days pre-selected — and a memo of up to 5,000 characters, shown to the
customer on the invoice.

<Frame caption="Creating an invoice with line items and a customer.">
  <img src="https://mintcdn.com/taberna/CSV07Wzd5bzv2KKK/images/dashboard-invoice-new.png?fit=max&auto=format&n=CSV07Wzd5bzv2KKK&q=85&s=62430d44faa3cdbf4ab0bb44c3fc881a" alt="The New Invoice form showing line item rows with name, quantity and unit price, a customer card and a details card" width="1200" height="675" data-path="images/dashboard-invoice-new.png" />
</Frame>

## Templates

If you bill the same thing repeatedly, tick **Save these items as a template** and give it
a name. Next time, pick it from **Start from template** and the line items, memo and
expiry are filled in for you — your customer details are left alone.

Templates have their own tab on the invoices page. Deleting one does not affect invoices
already created from it.

## Send it

Open the invoice. While it is still **open** you have three actions:

* **Send invoice** — emails it to the address on the invoice.
* **Copy payment link** — for sending it yourself, however you like.
* **Void** — cancels it. The payment link stops working, and it cannot be undone.

There is no way to edit an invoice after creating it. Void it and make a new one.

### The email allowance

Emailing is limited, so a mistake cannot turn into a mail flood:

* **3 sends per invoice**, and at least **5 minutes** between them.
* **100 invoice emails per store per day**, over a rolling 24 hours.

The invoice page shows where you stand — *"Sent 1 of 3"* and how many remain. When a
limit blocks a send, Taberna tells you when it frees up. If the email provider itself
fails, the attempt does not count against your allowance.

<Info>
  An invoice can only ever be emailed to the address stored on it. If you sent it to
  the wrong person, void it and create a new one — there is no way to change the
  recipient.
</Info>

## What your customer receives

An email from your store with the invoice number, the total and a button to a hosted
payment page. There they pick a coin, pay, and get a receipt. You see the payment appear
on the invoice, with a link to the transaction.

## Invoice statuses

| Status      | Meaning                                                                                 |
| ----------- | --------------------------------------------------------------------------------------- |
| **Open**    | Waiting to be paid.                                                                     |
| **Paid**    | Paid in full.                                                                           |
| **Partial** | Less than the full amount arrived before it expired. Nothing is returned automatically. |
| **Expired** | Nobody paid in time.                                                                    |
| **Voided**  | You cancelled it.                                                                       |

You can filter the list by status. There is no search box and no export.
