Quire PDFQuote

All templates

Quote

Quote or estimate for agencies and service businesses: line items grouped into sections with subtotals, discount, tax, terms and a client acceptance block with signature lines. Multi-page with a repeating table header.

quote.pdf2 pages
Quote sample, page 1 of 2
Quote sample, page 2 of 2

Rendered by the engine from the sample data below.

Render it

curl "https://api.quirepdf.dev/v1/render?template=quote" \
  -H "Authorization: Bearer $QUIRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d @quote.json -o quote.pdf

Edit the sample in the playground

Fields

Required at the top level: number, issued, valid_until, seller, customer, sections. Everything else is optional.

FieldTypeNotes
numberRequiredstringQuote number, e.g. Q-2026-0057
status"draft" | "sent" | "accepted" | "expired"
issuedRequiredstringIssue date, pre-formatted for display
valid_untilRequiredstringExpiry date, pre-formatted for display
currencystringCurrency symbol prefix
accentstringBrand colour, e.g. #c2410c
sellerRequiredobjectThe business preparing the quote (shown as 'Prepared by')
seller.nameRequiredstring
seller.contactstringPerson responsible, e.g. 'Jonas Berg, Account Director'
seller.emailstring
seller.phonestring
seller.addressstring[]
customerRequiredobjectThe client receiving the quote (shown as 'Prepared for')
customer.nameRequiredstring
customer.companystring
customer.addressstring[]
customer.emailstring
projectstringShort project title
summarystringOne-paragraph project summary
sectionsRequiredobject[]Line items grouped into sections. Use a single section without a title for an ungrouped quote. Titles and subtotals are shown when there is more than one section.
sections[].titlestring
sections[].notestringShort muted text shown next to the section title
sections[].itemsRequiredobject[]
sections[].items[].descriptionRequiredstring
sections[].items[].detailstring
sections[].items[].qtyRequirednumber
sections[].items[].unitstringShown after the quantity, e.g. hrs, days
sections[].items[].unit_priceRequirednumber
discountobject
discount.labelRequiredstring
discount.rateRequirednumber
taxobject
tax.labelRequiredstring
tax.rateRequirednumber
termsstring[]
acceptance_notestringText above the signature lines. Defaults to a sign-and-return instruction.
quote.jsonShow sample data
{
  "number": "Q-2026-0057",
  "status": "sent",
  "issued": "3 Oct 2026",
  "valid_until": "2 Nov 2026",
  "currency": "£",
  "accent": "#c2410c",
  "seller": {
    "name": "Kestrel Digital",
    "contact": "Jonas Berg, Account Director",
    "email": "hello@kestrel.digital",
    "phone": "+44 20 7946 0321",
    "address": [
      "12 Clerkenwell Green",
      "London EC1R 0DP"
    ]
  },
  "customer": {
    "name": "Sofia Marín",
    "company": "Greenline Bikes Ltd.",
    "address": [
      "4 Canal Wharf",
      "Bristol BS1 6QH"
    ],
    "email": "sofia@greenlinebikes.co.uk"
  },
  "project": "Website redesign and online booking",
  "summary": "A refreshed brand website for Greenline Bikes with a new service-booking flow, so customers can book repairs and rentals online and pay a deposit up front. Delivered in three phases over roughly ten weeks.",
  "sections": [
    {
      "title": "Discovery & strategy",
      "items": [
        {
          "description": "Stakeholder workshops",
          "detail": "Two half-day sessions with your team",
          "qty": 2,
          "unit": "sessions",
          "unit_price": 850
        },
        {
          "description": "Customer research",
          "detail": "8 interviews plus synthesis report",
          "qty": 1,
          "unit_price": 2400
        },
        {
          "description": "Content audit and sitemap",
          "qty": 1,
          "unit_price": 950
        }
      ]
    },
    {
      "title": "Design",
      "items": [
        {
          "description": "UX wireframes",
          "detail": "Up to 12 key page templates",
          "qty": 12,
          "unit": "pages",
          "unit_price": 180
        },
        {
          "description": "Visual design system",
          "detail": "Type, colour, components, Figma library",
          "qty": 1,
          "unit_price": 3200
        },
        {
          "description": "High-fidelity page designs",
          "qty": 12,
          "unit": "pages",
          "unit_price": 260
        }
      ]
    },
    {
      "title": "Build & launch",
      "items": [
        {
          "description": "Front-end development",
          "detail": "Responsive, accessible, CMS-driven",
          "qty": 96,
          "unit": "hrs",
          "unit_price": 95
        },
        {
          "description": "Booking flow integration",
          "detail": "Stripe deposits and calendar sync",
          "qty": 1,
          "unit_price": 2800
        },
        {
          "description": "QA and accessibility testing",
          "qty": 24,
          "unit": "hrs",
          "unit_price": 85
        },
        {
          "description": "Launch support",
          "detail": "Two weeks after go-live",
          "qty": 1,
          "unit_price": 1200
        }
      ]
    }
  ],
  "discount": {
    "label": "Returning client (5%)",
    "rate": 0.05
  },
  "tax": {
    "label": "VAT (20%)",
    "rate": 0.2
  },
  "terms": [
    "40% deposit on acceptance, 30% on design sign-off, 30% on launch.",
    "Invoices are payable within 14 days.",
    "Includes two rounds of revisions per phase; further changes are billed at £95/hr.",
    "Third-party costs (hosting, fonts, plugins) are not included and will be passed on at cost.",
    "This quote is valid for 30 days from the issue date."
  ]
}