Feature
Send a quote. Customer accepts. You're ready to invoice.
Quotes share the same shareable link, the same brand, and the same recipient experience as your invoices. They expire when you say. They flip to accepted or declined with one click on the customer's side. No separate quoting tool to wire up.
Why quotes are different from invoices (but not that different)
A quote is the same data as an invoice with two changes: it has an expiration instead of a due date, and the customer accepts or declines it instead of paying it. Most quoting products treat this as a reason to build a parallel app with parallel concepts. We treated it as a reason to add one toggle.
Same form, same brand, same share link, same view tracking. The recipient sees a "Quote" badge, a "Valid until" date, and Accept / Decline buttons in the place where the bank details would be on an invoice.
What you get
One toggle on the new-invoice form
Pick "Quote" instead of "Invoice" at the top of the form. The "Due Date" label becomes "Valid until," the totals say "Quoted Total" instead of "Total Due," and the bank details get hidden. Everything else is identical.
Expiration handling, automatic
Pick a valid-until date the same way you pick a due date (Net 7 / 30 / 60 chips, or a custom date). When the date passes, the quote shows "Expired" to the recipient and the accept button stops working.
Accept and decline buttons on the share link
Where the payment details would be on an invoice, your customer sees two buttons: Accept Quote (sends a confirmation, pings you on Slack) and Decline (with a reason in the comment thread).
Same recipient features as invoices
The customer can leave comments, ask for changes via the comment thread, and forward the quote to their own decision-maker. Recipient editing of address and tax ID still works for prep.
Webhook + Slack notifications
quote.accepted and quote.declined fire on your subscribed webhook URLs. Slack pings on either action. Wire your CRM or project tool to start the work the moment a quote turns green.
View analytics, same as invoices
See whether the customer actually opened the quote, what city they opened it from, and when. Your own previews don't pollute the count. More on view analytics →
When you'd use a quote
- →Procurement gating. The customer's procurement team requires a quote before they cut a PO. You send the quote with a 30-day validity, they accept, you invoice with the matching PO.
- →Scope confirmation. Before starting work, you want the customer to sign off on the line items and price. Accept-button on the share link is your sign-off.
- →Multiple options pricing. Send three quotes for three packages, let the customer accept the one they want, decline the others.
- →Pre-approval audit trail. Some industries (legal, regulated) need a documented "yes" before billable work starts. The accept action and timestamp gives you that trail.
How quotes work in JupiterInvoice
Is a quote a separate object from an invoice?
What happens to an expired quote?
Does the recipient need an account to accept a quote?
What's the URL for accepting / declining?
Can I send a quote without filling in payment details?
Does the quote have a different number format?
Try sending a quote
Free to try. The toggle is right at the top of the new-invoice form. Send a real quote in under two minutes.
Create your first invoiceNo signup required. Build now, save later.