Appearance
Quotes (Tilbud)
Send quotes to your customers and let them accept or decline with a single click. Accepted quotes automatically convert into draft invoices — ready to send.
Creating a Quote
- Go to Projects → Quotes in the sidebar
- Click + New Quote
- Fill in the form:
- Client — start typing to search your client register. Select a client to auto-fill their contact details.
- Valid until — the expiration date (defaults to 14 days from today)
- Reference / PO — customer's purchase order or reference number (optional)
- Personal message — a note that appears in the email and on the quote PDF (e.g., "Here's the estimate we discussed on Tuesday. Let me know if you have questions.")
- Line items — add products or services with description, quantity, unit price, and VAT rate. Use the quick-add buttons if you have saved line item templates.
- Review the live preview showing the final quote PDF
- Click Save to save as a draft, or Send to deliver to the client immediately
The quote gets an auto-generated number like Q-0001.
Quote Statuses
Each quote moves through a lifecycle:
| Status | Badge color | Meaning |
|---|---|---|
| Draft | Yellow | Created but not yet sent. You can still edit it freely. |
| Sent | Blue | Delivered to the client via email. Waiting for their response. |
| Accepted | Green | The client accepted the quote. A draft invoice is auto-created. |
| Declined | Red | The client declined. Their reason (if provided) is visible on the quote detail page. |
| Expired | Orange | The quote's validity date has passed without a response. Happens automatically via a background check. |
| Converted | Gray | The accepted quote has been turned into an invoice. |
Sending a Quote
When you send a quote, the client receives an email with:
- Your company name and details
- The quote PDF attached
- A personal message (if you wrote one)
- A unique link where the client can accept or decline online
The quote moves from Draft to Sent.
The Public Quote Link
Every sent quote has a unique, unguessable URL (e.g., https://portal.envoi.no/q/abc123...). When the client clicks this link:
- They see the quote details: your company info, line items, totals, and your personal message
- A PDF preview of the full quote
- Two buttons: Accept Quote and Decline
When a client accepts
- The quote status changes to Accepted
- You receive an email notification
- A draft invoice is automatically created with the same client, line items, and totals as the quote — ready for you to review and send
- The quote status changes to Converted once the invoice exists
When a client declines
- The quote status changes to Declined
- The client can optionally provide a decline reason (free text)
- You receive an email notification
- The decline reason is visible on the quote detail page under the "Response" card
Quote expiration
If the client doesn't respond before the Valid until date, the quote automatically expires:
- Status changes to Expired
- You receive an email notification
- The public link still works but shows an "expired" message — the client can no longer accept
Reopening Quotes
If a quote was declined or expired but you want to give the client another chance:
- Open the quote detail page
- Click Reopen
- Set a new Valid until date
- The quote returns to Sent status with a fresh validity period
- The public link becomes active again — the client can now accept or decline
The Quote Detail Page
The detail page shows everything about a quote:
Header
- Quote number (Q-XXXX)
- Download PDF button
- Send Email button (only visible on Draft quotes)
- Reopen button (only visible on Expired/Declined quotes)
- View Invoice button (only visible if the quote was accepted and converted)
- Status badge
Cards
- Client — name, email, address, org number, issue date, valid until, reference
- Personal message — the note you wrote for the client
- Response — shows the current response status:
- Awaiting Response (Sent, with valid-until date countdown)
- Accepted (with timestamp)
- Declined (with timestamp and reason if provided)
- Expired (with timestamp)
- History — timeline of events: quote created → sent to client → accepted/declined/expired
Line Items
Full table with description, quantity, unit price, VAT, and totals. Same format as the invoice detail page.
PDF Preview
A live preview of the quote PDF. Click to expand it full-screen.
Decline Reason
If the client declined with a reason, it's shown in a separate card below the grid.
Managing Quotes from the List
The quotes list page shows all your quotes with filters:
Filters
Use the status buttons at the top: All / Draft / Sent / Accepted / Declined / Expired
Table Columns
- Quote number
- Client name
- Issue date
- Valid until
- Amount (total inc. VAT)
- Status badge
Click a row to open the quote detail page.
Deleting Quotes
You can delete quotes from the list page or detail page — except:
- Accepted quotes cannot be deleted (they've been acted on by the customer and may have a linked invoice)
Draft, Sent, Declined, and Expired quotes can be freely deleted.
Where Quotes Live in the Sidebar
Quotes are under Projects in the sidebar navigation (not under Invoices). This reflects the natural project lifecycle: Tilbud → Prosjekt → Faktura (Quote → Project → Invoice).
Quote vs. Invoice
| Quote | Invoice | |
|---|---|---|
| Purpose | Estimate / proposal | Bill for completed work |
| Status | Can be accepted or declined | Can be paid or remain outstanding |
| Customer action | Accept/decline via public link | Pay the amount owed |
| Editable | Only in Draft status | Only in Draft status |
| Auto-conversion | Accepted quotes create draft invoices | — |
| EHF / Peppol | Not supported (quotes aren't standardized) | Supported |
| KID number | No | Yes |
