# How a quotation becomes an invoice

The life of a quotation, from its states and its validity to what a template copies, the body and the terms, the signature and the payment, the discounts, the invoicing, and what this app does not do.

**Quotations** is the sales app of Jaah with a quotation body added on top: a free text that opens each offer. This page follows a quotation from the first draft to the invoice.

## One record, four states {#states}

A quotation and its sales order are the same record. Its status changes; its number stays.

| Status | Reached when | What it means |
|---|---|---|
| **Quotation** | the record is created | A draft offer; everything can change. |
| **Quotation Sent** | **Send** e-mails it, or **Mark Quotation as Sent** in the **Actions** menu records that it left another way | The client has the offer. |
| **Sales Order** | **Confirm** in the back office, or the client signs or pays online | The deal is agreed; the order can be invoiced. |
| **Cancelled** | **Cancel**, or the client clicks **Reject** | Kept for the history; **Set to Quotation** reopens it as a draft. |

**Sales/Orders/Quotations** opens on your own quotations, and **Sales/Orders/Orders** on the confirmed orders; both lists show the same records with different filters.

## Validity and expiry {#validity}

The **Expiration** date comes from the template's validity or, without one, from the default validity of the settings. Nothing runs on that date: the status stays and no one is warned. From the next day the client's page shows **This offer expired!** and offers neither signature nor payment. The team can still confirm the quotation from the back office, or move the date and send it again.

## What a template brings {#template}

Choosing a template fills the quotation with a copy of the template: its lines (the prices come from the services at that moment), its terms, its signature and payment rules with the prepayment share, its validity, its invoicing journal and its body, read in the language of the client. The copy is independent: editing the quotation does not touch the template, and editing the template does not touch the quotations already made.

Until the order is confirmed, the body and the terms follow the client and the template: changing either one loads them again from the template, over what was typed.

## The body and the terms {#body-and-terms}

Two texts frame the prices. The **Quotation Body** opens the offer: it is printed above the prices on the quotation, the order and the pro-forma invoice, and shown on the client's page under **Quotation Details**. The **Terms and conditions**, under the lines, hold the conditions of sale; they come from the template, or from the default terms of the company when the Accounting settings define them, and they are copied to the invoice. The body is not: it stays on the sales documents. A quotation has one body; a template's body can be translated, and each quotation copies the version of its client's language.

## Signature and payment {#signature-and-payment}

Two switches on each quotation decide how the client confirms online:

| Online signature | Online payment | The client's page offers | The order is confirmed |
|---|---|---|---|
| on | off | **Accept & Sign** | at the signature |
| off | on | **Accept & Pay** | when the payment reaches the prepayment share |
| on | on | **Sign & Pay** | when the payment reaches the prepayment share |
| off | off | the offer only | when someone clicks **Confirm** |

An online payment needs a payment provider, set up in [Online payments](/docs/online-payments). A confirmation by the client sends the order confirmation e-mail; a **Confirm** in the back office sends none, unless the template names a **Confirmation Mail**.

## Discounts {#discounts}

A discount on a quotation is either a percentage on a line, in **Disc.%**, or a discount line made by the **Discount** button. Both travel to the invoice: the percentage as the discount of the invoice line, the discount line as a negative invoice line. The invoice's own **Total Discount** belongs to the invoice only, and replaces the line discounts when it is used; see [Customer invoices](/docs/customer-invoices).

## From the order to the invoice {#invoicing}

Once confirmed, the order shows an invoice status: **To Invoice** while something can be billed, **Fully Invoiced** when everything is, **Nothing to Invoice** when the services wait for delivered quantities, and **Upselling Opportunity** when more was delivered than ordered. Each service follows its invoicing policy: what is ordered, or what is delivered. A down payment adds a **Down Payments** section to the order, and the final invoice deducts it. The invoice is then a document of its own, posted and paid in [Customer invoices](/docs/customer-invoices).

## What this app does not do {#limits}

- It gives no total discount on a quotation; the **Total Discount** field exists on invoices only.
- It runs no job on the expiration date and sends no reminder to the client.
- It does not translate the body of a quotation: one text per quotation.
- It neither takes payments nor posts invoices: these belong to [Online payments](/docs/online-payments) and [Customer invoices](/docs/customer-invoices).

## Who may do what {#access}

| Access right on Sales | Can |
|---|---|
| **User: Own Documents Only** | Create and edit the quotations where they are the salesperson, and those without one; read the templates. |
| **User: All Documents** | The same on every quotation and order. |
| **Administrator** | All of the above, delete quotations, manage the templates and the configuration, lock and unlock orders. |

The client, through the portal, sees the orders of their company and can sign, pay, write or reject. Every user works within the companies they are allowed in.

---

- Source: https://jaah.app/docs/quotations/how-a-quotation-becomes-an-invoice
- Updated: 2026-10-23
- Version: Quotations 19.0.1.1.1
