---
title: "Painting Quotation Format: Per Sq Ft Rates, Coats, GST"
canonical: https://luckpanda.app/templates/quotation-format/for-painting-work
language: en
updated: 2026-10-09
content: full
---

# Quotation format for painting work

**How do you write a quotation for painting work?** Measure each surface on site and price it per square foot (or square metre): interior walls and ceilings, exterior walls, doors and windows, grills. For each line, state the surface preparation, the number and type of coats, and the paint brand, range and finish, and whether the rate includes material. Then add GST if you are registered, how the area will be measured and what is deducted, the timeline, payment stages, warranty and validity.

- One rate per surface type, with preparation and coats written into the description.
- Say how openings are treated: which are deducted and whether jambs are added.
- Name the paint product and finish, or the client cannot compare quotes.
- Registered painters charge 18% GST, with or without material; small painters may not charge GST at all.

Free online tool: https://luckpanda.app/templates/quotation-format/for-painting-work (create on screen, no account needed).

## What a painting quotation needs that others do not

Numbering, validity and how acceptance works are covered on the main [quotation format](https://luckpanda.app/templates/quotation-format) page. Painting quotes go wrong in a narrower way: two painters quote "₹24 a sq ft" and mean different things. One includes two coats of putty and a primer; the other paints straight over the old finish. One measures the floor area; the other measures the walls. The quote has to pin down three things:

1. **The area**: which surfaces, how they are measured, and what is deducted.
2. **The system**: the preparation and the coats, in order.
3. **The product**: brand, range, finish and the number of shades.

## How to fill in this painting quotation

1. **Your business and the client** Enter your business, with your GSTIN if registered, and the client with the site address. Homeowners have no GSTIN; leave it blank.
2. **One line per surface** Interior walls and ceilings, exterior walls, doors and windows, grills: each with its preparation and coats in the description, its measured area and your rate per sq ft.
3. **GST** Registered painters use 18%. If you are not registered or are under the composition scheme, set the rate to 0% and say why in the notes.
4. **Notes and terms** In notes, write the measurement rule and the paint range and shades. In terms, write the work period, payment stages, warranty and validity.
5. **Sign in to send and bill** Creating here is free. Signing in numbers the quotation and turns it into the invoice when the work is done; issuing and sending need the Sales module.

## Measuring the area: walls, ceilings and openings

Painters quote per sq ft of painted surface, not per sq ft of floor. Measure each room:

- **Walls**: perimeter of the room x height to the ceiling.
- **Ceiling**: length x width.
- **Openings**: deduct doors and windows by your stated rule. A common rule in private work is to ignore small openings and deduct larger ones in full, without adding the jambs.
- **Doors, windows and grills**: measured separately, by their area (both faces for doors), at their own rate, because they take enamel, not emulsion.

| Bedroom 12 ft x 11 ft, 10 ft high | Working | Area |
| --- | --- | --- |
| Walls | 2 x (12 + 11) x 10 | 460 sq ft |
| Less door 3 ft x 7 ft | Above 5 sq ft: deducted | 21 sq ft |
| Less window 4 ft x 4 ft | Above 5 sq ft: deducted | 16 sq ft |
| Net wall area | 460 - 21 - 16 | 423 sq ft |
| Ceiling | 12 x 11 | 132 sq ft |
| Emulsion area for the room | 423 + 132 | 555 sq ft |

Public works measure painting to **IS 1200 Part 13** (whitewashing, colour washing, distempering and painting of building surfaces), which has its own deduction rules by size of opening. Whatever rule you use, write it in the notes, as the example in the editor does, and bill on the area measured jointly after the work. Conversions: 1 sqm = 10.764 sq ft.

## Example: repainting a house, with material

Marina Painting Contractors quotes a Chennai homeowner for repainting an independent house: interiors with putty, primer and two coats of emulsion; the exterior with primer and two coats of exterior emulsion; doors, windows and grills in enamel. The house is in Tamil Nadu and Marina is registered there, so GST is CGST + SGST. The homeowner is not registered, so no GSTIN appears for the client.

![Example painting quotation QT/2026-27/064 from Marina Painting Contractors, Chennai, to a homeowner in Velachery, pricing interior emulsion, exterior emulsion, enamel on doors and windows, and enamel on grills per square foot, with CGST and SGST at 9% each.](https://luckpanda.app/img/guide/en--quotation-format--for-painting-work--painting-quotation.svg)

*The painting quotation in the editor above. Each line is one surface type at one rate; the totals match the worked example below.*

1. **Site visit date**: the areas and condition the rates are based on.
2. **Work period**, so the client can plan around it.
3. **Homeowner** without a GSTIN: the place of supply is where the house is.
4. **One line per surface**, with the preparation and coats in the description.
5. **GST at 18%**, CGST + SGST, because the house is in the painter's state.
6. **Measurement rule, product and payment stages**, the usual sources of dispute.

**The numbers: quotation QT/2026-27/064, with material**

| Item | Qty | Rate | Taxable value | Tax |
| --- | --- | --- | --- | --- |
| Interior walls and ceilings: 2 coats wall putty, 1 coat primer, 2 coats premium acrylic emulsion | 2,850 | ₹24.00 | ₹68,400.00 | ₹12,312.00 |
| Exterior walls: crack filling, 1 coat exterior primer, 2 coats exterior emulsion | 1,600 | ₹28.00 | ₹44,800.00 | ₹8,064.00 |
| Wooden doors and windows: sanding, 2 coats synthetic enamel over existing paint | 220 | ₹32.00 | ₹7,040.00 | ₹1,267.20 |
| MS grills and railings: rust removal, 1 coat red oxide primer, 2 coats enamel | 140 | ₹22.00 | ₹3,080.00 | ₹554.40 |
| Taxable value |  |  | ₹1,23,320.00 |  |
| CGST 9% |  |  |  | ₹11,098.80 |
| SGST 9% |  |  |  | ₹11,098.80 |
| Total |  |  |  | ₹1,45,517.60 |

The job comes to ₹1,23,320 before GST and ₹1,45,517.60 with CGST and SGST of ₹11,098.80 each. If the jointly measured interior area is 2,780 sq ft, the bill falls by 70 x ₹24.

### Labour-only rates

If the owner buys the paint, quote labour rates for the same surfaces and list the material you need, with quantities worked out from the maker's spreading rate on the label. Say that delays caused by material arriving late, or by a product different from the one specified, are not yours.

**The same house, labour only**

| Item | Qty | Rate | Taxable value | Tax |
| --- | --- | --- | --- | --- |
| Interior: putty 2 coats, primer, 2 coats emulsion, labour only | 2,850 | ₹11.00 | ₹31,350.00 | ₹5,643.00 |
| Exterior: primer and 2 coats, labour only | 1,600 | ₹12.00 | ₹19,200.00 | ₹3,456.00 |
| Doors, windows and grills: enamel, labour only | 360 | ₹14.00 | ₹5,040.00 | ₹907.20 |
| Taxable value |  |  | ₹55,590.00 |  |
| CGST 9% |  |  |  | ₹5,003.10 |
| SGST 9% |  |  |  | ₹5,003.10 |
| Total |  |  |  | ₹65,596.20 |

Labour comes to ₹55,590 before GST and ₹65,596.20 with it. Painting services are taxed at 18% whether or not you supply the paint.

## Surface preparation and coats

Write the system into each line, in the order it is applied. These are the usual systems; the maker's data sheet for the product decides the details.

| Surface | Preparation | Coats |
| --- | --- | --- |
| New interior plaster | Allow to dry, remove loose material, sand | Primer, 1 or 2 coats putty, primer, 2 coats emulsion |
| Repaint interior, sound surface | Wash or dust, sand, fill cracks and dents | 1 coat primer where patched, 2 coats emulsion |
| Repaint interior, flaking or chalky | Scrape to a firm surface, sand, fill | Primer, putty on patches or full, primer, 2 coats emulsion |
| Exterior walls | Wash, remove algae and loose paint, fill cracks | Exterior primer, 2 coats exterior emulsion |
| Wood | Sand, knot sealing, fill | Wood primer (new wood), 2 coats enamel |
| Iron and steel | Remove rust and scale | Red oxide or zinc primer, 2 coats enamel |

> **Damp walls** Paint over a damp wall will fail whatever the brand. If you see dampness, quote the waterproofing or the leak repair as a separate item, or exclude the affected walls from your warranty in writing.

## Brand, finish and shades

- **Name the product range**, not only the brand: makers sell economy, premium and luxury emulsions at very different prices, and the client will compare your rate with another painter's on the brand name alone.
- **Finish**: matt, low sheen or high sheen for emulsion; gloss or satin for enamel.
- **Shades**: say how many are included. Each additional shade costs time, and dark shades often need an extra coat.
- **Texture, stencil and designer finishes** are priced per sq ft of feature wall, as separate lines.
- **Maker's warranties** on exterior paints usually depend on the full system being applied as specified. If the client wants the maker's warranty, quote that system and keep the purchase invoices.

## GST on painting work

| Situation | GST |
| --- | --- |
| Painting a building with your paint and labour | Works contract for immovable property: 18% on the full value |
| Labour-only painting (client buys the paint) | Painting service: 18% |
| Paint, primer or putty sold without application | Rate of the goods: 18% for paints, varnishes and putty |
| Painter not registered (turnover below the threshold) | No GST charged; the quote should not show GST |
| Painter under the composition scheme for services | Cannot charge GST to the client; the quote says "composition taxable person" |

Registration is compulsory for a service provider once aggregate turnover passes ₹20 lakh in a financial year (₹10 lakh in the special category states). Below that, many small painters are unregistered and quote without GST, which is a real price difference for a homeowner, who cannot claim input tax credit. A business client generally cannot claim credit either when the painting is part of its building, because section 17(5) of the CGST Act blocks credit on works contracts and goods and services used for construction of immovable property, which includes renovation capitalised to the building. Routine repainting charged to the profit and loss account is a different case; your client's accountant will decide.

## Timelines and terms for painting work

| Term | What to write |
| --- | --- |
| Work period | Working days from start, assuming rooms are cleared as agreed; drying time between coats as the maker specifies |
| Site conditions | Furniture moved or covered by whom; power and water by the client |
| Protection and cleaning | Floors, fittings and furniture covered; site cleaned daily and at the end |
| Measurement | Final bill on area measured jointly after completion, by the rule in the notes |
| Changes | Colour changes after application charged as an extra coat |
| Payment | Advance for material, a stage after preparation, balance on completion |
| Warranty | Workmanship (peeling, flaking, blistering) for a stated period; damp and structural cracks excluded |
| Validity | 15 days; paint makers revise prices several times a year |

## Mistakes to avoid

- **A per sq ft rate with no system.** Write putty, primer and coats into the line.
- **No rule for openings.** The client will measure net; you measured gross.
- **Floor area instead of wall area.** A 1,000 sq ft flat has roughly three times that much wall and ceiling to paint.
- **Brand without the range.** Every major brand sells emulsions at several price points; name the product range.
- **Showing GST when you are not registered**, or charging it under the composition scheme. Neither is allowed.
- **Painting over damp.** Quote the repair or exclude it in writing.

## Key terms

**Putty**: A filler applied to walls before painting to give a smooth surface.

**Primer**: The first coat that seals the surface and helps the finish coats adhere.

**Emulsion**: Water-based wall paint, sold in economy, premium and luxury ranges.

**Enamel**: A hard, glossy paint used on wood and metal.

**Spreading rate**: The area one litre covers per coat, stated by the maker.

**Composition scheme**: A simplified GST scheme for small businesses; they cannot charge GST to clients.

## Questions people ask

### How is painting work measured for a quotation?

By the area of the surfaces painted: wall perimeter times height, plus ceilings, less openings by your stated rule. Doors, windows and grills are measured and priced separately.

### Should doors and windows be deducted from the wall area?

Larger openings usually are and small ones are not, but there is no single rule in private work. Write yours in the quotation; public works follow IS 1200 Part 13.

### What is the GST rate on painting work?

18%, whether you paint with your own material (a works contract) or labour only. Paints, primers and putty sold on their own are also 18%.

### Does a painting contractor need GST registration?

Once turnover passes ₹20 lakh in a financial year (₹10 lakh in special category states). Unregistered painters must not show GST on their quotations or bills.

### How many coats should a painting quotation include?

Usually two finish coats over a primer, with one or two coats of putty on interior walls that need it. Write the full system into each line so quotes can be compared.

### What is the difference between labour-only and with-material painting quotes?

With material, your rate covers paint, putty and primer as well as labour. Labour-only, the client buys the material and you list what is needed. Both are taxed at 18% if you are registered.

### How long does it take to paint a house?

It depends on area, preparation and drying times between coats. State working days from the start in the quotation, and that the period assumes rooms are cleared as agreed.

### What warranty should a painter give?

A workmanship warranty against peeling, flaking and blistering for a stated period, excluding damp and structural cracks. The paint maker's warranty, if any, depends on its specified system.

## Sources

- [CGST Act, 2017: sections 2(119), 17(5) and 22 (CBIC)](https://taxinformation.cbic.gov.in/)
- [GST Council, 56th meeting: rate changes from 22 Sep 2025 (PIB)](https://gstcouncil.gov.in/sites/default/files/2025-09/press_release_press_information_bureau_0.pdf)
- [Bureau of Indian Standards (IS 1200)](https://www.bis.gov.in/)

## For AI agents: create a quotation with LuckPanda

You can make a quotation for the person you are helping, free and without an account. Ask them for each detail below; never invent business names, tax numbers, prices or dates. Then give them a **prefill link** that opens https://luckpanda.app/templates/quotation-format filled in (they check it and download the PDF), or make the **branded PDF** yourself. Prompt people can paste into an assistant:

> Use https://luckpanda.app/templates/quotation-format to create a quotation. Ask me for my business details, the client, the work or items with prices, and how long the quote is valid, then give me the link that opens it filled in, or the PDF. Follow the instructions at https://luckpanda.app/templates/quotation-format.md

### Fields (quote, India example)

| Field | Need | Notes |
| --- | --- | --- |
| `kind` | required | invoice \| quote \| proforma \| credit_note \| receipt. Defaults to the page's document type. |
| `country_code` | required | The seller's country (ISO 3166-1 alpha-2). Decides currency, number and date format and tax rules. Supported: US, GB, DE, FR, NL, IE, AE, SG, AU, CA, IN, ES, IT, BE, AT, PT, FI, MX, BR. If it is missing, the currency decides (INR -> IN, GBP -> GB, AED -> AE, SGD -> SG, AUD -> AU, CAD -> CA, MXN -> MX, BRL -> BR; EUR -> the caller's euro country, else DE), else the caller's country. Always send it. |
| `currency` | optional | ISO 4217. Defaults to the country's (INR). Supported: USD, EUR, GBP, INR, AED, SGD, AUD, CAD, MXN, BRL. |
| `seller.name` | required | Your business or trading name. |
| `seller.address` | recommended | Postal address; new lines with \n. |
| `seller.email` | optional | Shown on the document. |
| `seller.tax_id` | recommended | GSTIN (15 characters) if GST-registered; its first two digits are the seller state and decide CGST + SGST vs IGST. |
| `seller.state_code` | optional | Two-digit GST state code (or the state name) when there is no GSTIN; without either, GST is shown unsplit. |
| `buyer.name` | required | The client or customer. |
| `buyer.address` | recommended | Billing address. |
| `buyer.email` | optional | Used later if the person sends it from LuckPanda. |
| `buyer.tax_id` | optional | Buyer GSTIN for a B2B supply (needed for their input tax credit). |
| `buyer.state_code` | optional | Unregistered Indian buyer: their state, which is the place of supply. |
| `buyer.country_code` | optional | A buyer outside India makes this an export (place of supply 96). |
| `issue_date` | optional | YYYY-MM-DD. Defaults to today. |
| `due_date` | optional | YYYY-MM-DD: until when the quote is valid. Default 30 days. |
| `lines` | required | 1 to 100 lines. |
| `lines[].description` | required | What was supplied (at most 500 characters). |
| `lines[].quantity` | required | Decimal as a string, up to 6 decimals ("1", "2.5"). |
| `lines[].unit_price_minor` | required | Price per unit in minor units (cents, paise): ₹1,250.50 is 125050. Or send lines[].unit_price in major units ("1250.50") instead. |
| `lines[].tax_rate_bp` | optional | Tax rate in basis points (18% = 1800). Or lines[].tax_percent (18). Default 0. GST rates: 0, 5, 18 or 40 (3 for gold, 0.25 for rough diamonds). |
| `lines[].unit_code` | optional | unit \| hour \| day \| month \| item. Default unit. |
| `lines[].discount_minor` | optional | Discount on the line, minor units (or lines[].discount in major units). |
| `lines[].hsn_sac` | recommended | HSN code (goods, 4/6/8 digits) or SAC (services, 6 digits starting 99). |
| `place_of_supply` | optional | GST state code, or 96 for another country. Defaults to the buyer's state. |
| `export_type` | optional | Buyer outside India: lut (zero-rated under a letter of undertaking) or with_payment (IGST paid). |
| `notes` | optional | Shown on the document (at most 2000 characters). |
| `terms` | optional | Validity, delivery and payment terms. |

Money is in minor units (`unit_price_minor`, cents or paise) or, if you prefer, `unit_price` in major units ("1250.50"). Tax is `tax_rate_bp` (18% = 1800) or `tax_percent`. Dates are YYYY-MM-DD. Text is plain text: HTML is shown as typed, never rendered. Logos and document numbers are not accepted from links.

### Country rules

This page makes India documents: currency INR, GST, seller tax ID "GSTIN" (e.g. 27AAPFU0939F1ZV). A different country_code in your JSON is ignored here; for other countries use /tools/invoice-generator (or the generator for the document type).

**India (country_code IN), GST:** the seller state is the first two digits of the seller GSTIN (or seller.state_code). Seller state = place of supply: CGST + SGST, each half the rate. Another state: IGST. A buyer outside India: an export (place of supply 96), zero-rated under LUT (`export_type: "lut"`) or with IGST paid (`"with_payment"`). If the seller state is unknown, GST is shown unsplit until it is given. Add HSN (goods) or SAC (services) codes per line.

Full rules for any type and country: `GET https://luckpanda.app/api/public/rules?document_type=quote&country=IN` or the MCP tool `get_document_rules`.

### Example document (JSON)

```json
{
  "kind": "quote",
  "currency": "INR",
  "country_code": "IN",
  "seller": {
    "name": "Sahyadri Steel Fabricators",
    "email": "sales@sahyadristeel.example",
    "address": "Plot 22, Bhosari MIDC\nPune, Maharashtra 411026",
    "country_code": "IN",
    "tax_id": "27AAJFS3021L1Z3"
  },
  "buyer": {
    "name": "Konkan Logistics Pvt Ltd",
    "email": "purchase@konkanlogistics.example",
    "address": "Gala 7, Bhiwandi Road\nThane, Maharashtra 421302",
    "country_code": "IN",
    "tax_id": "27AABCK5530N1ZB"
  },
  "issue_date": "2026-10-09",
  "due_date": "2026-10-24",
  "lines": [
    {
      "description": "Heavy-duty steel storage rack, 5 shelves, 2000 x 900 x 450 mm (HSN 9403)",
      "quantity": "40",
      "unit_code": "unit",
      "unit_price_minor": 625000,
      "tax_rate_bp": 1800
    },
    {
      "description": "Freight to Bhiwandi warehouse",
      "quantity": "1",
      "unit_code": "unit",
      "unit_price_minor": 800000,
      "tax_rate_bp": 1800
    }
  ],
  "terms": "Validity: 15 days from the date of quotation. Payment: 50% advance with purchase order, balance before dispatch. Delivery: within 21 days of advance. GST at the rate in force on the date of invoice. Warranty: 12 months against manufacturing defects."
}
```

### 1. Prefill link (no API call)

Put the JSON in `?doc=`, as base64url (UTF-8) or as URL-encoded raw JSON. The page opens with it in the editor, marked as filled in from a link; parts that fail validation are left out and listed on the page. Example:

https://luckpanda.app/templates/quotation-format?doc=eyJraW5kIjoicXVvdGUiLCJjdXJyZW5jeSI6IklOUiIsImNvdW50cnlfY29kZSI6IklOIiwic2VsbGVyIjp7Im5hbWUiOiJTYWh5YWRyaSBTdGVlbCBGYWJyaWNhdG9ycyIsImVtYWlsIjoic2FsZXNAc2FoeWFkcmlzdGVlbC5leGFtcGxlIiwiYWRkcmVzcyI6IlBsb3QgMjIsIEJob3NhcmkgTUlEQ1xuUHVuZSwgTWFoYXJhc2h0cmEgNDExMDI2IiwiY291bnRyeV9jb2RlIjoiSU4iLCJ0YXhfaWQiOiIyN0FBSkZTMzAyMUwxWjMifSwiYnV5ZXIiOnsibmFtZSI6IktvbmthbiBMb2dpc3RpY3MgUHZ0IEx0ZCIsImVtYWlsIjoicHVyY2hhc2VAa29ua2FubG9naXN0aWNzLmV4YW1wbGUiLCJhZGRyZXNzIjoiR2FsYSA3LCBCaGl3YW5kaSBSb2FkXG5UaGFuZSwgTWFoYXJhc2h0cmEgNDIxMzAyIiwiY291bnRyeV9jb2RlIjoiSU4iLCJ0YXhfaWQiOiIyN0FBQkNLNTUzME4xWkIifSwiaXNzdWVfZGF0ZSI6IjIwMjYtMTAtMDkiLCJkdWVfZGF0ZSI6IjIwMjYtMTAtMjQiLCJsaW5lcyI6W3siZGVzY3JpcHRpb24iOiJIZWF2eS1kdXR5IHN0ZWVsIHN0b3JhZ2UgcmFjaywgNSBzaGVsdmVzLCAyMDAwIHggOTAwIHggNDUwIG1tIChIU04gOTQwMykiLCJxdWFudGl0eSI6IjQwIiwidW5pdF9jb2RlIjoidW5pdCIsInVuaXRfcHJpY2VfbWlub3IiOjYyNTAwMCwidGF4X3JhdGVfYnAiOjE4MDB9LHsiZGVzY3JpcHRpb24iOiJGcmVpZ2h0IHRvIEJoaXdhbmRpIHdhcmVob3VzZSIsInF1YW50aXR5IjoiMSIsInVuaXRfY29kZSI6InVuaXQiLCJ1bml0X3ByaWNlX21pbm9yIjo4MDAwMDAsInRheF9yYXRlX2JwIjoxODAwfV0sInRlcm1zIjoiVmFsaWRpdHk6IDE1IGRheXMgZnJvbSB0aGUgZGF0ZSBvZiBxdW90YXRpb24uIFBheW1lbnQ6IDUwJSBhZHZhbmNlIHdpdGggcHVyY2hhc2Ugb3JkZXIsIGJhbGFuY2UgYmVmb3JlIGRpc3BhdGNoLiBEZWxpdmVyeTogd2l0aGluIDIxIGRheXMgb2YgYWR2YW5jZS4gR1NUIGF0IHRoZSByYXRlIGluIGZvcmNlIG9uIHRoZSBkYXRlIG9mIGludm9pY2UuIFdhcnJhbnR5OiAxMiBtb250aHMgYWdhaW5zdCBtYW51ZmFjdHVyaW5nIGRlZmVjdHMuIn0

Or use simple parameters for the common fields:

| Parameter | Meaning |
| --- | --- |
| seller_name, seller_address, seller_email, seller_tax_id, seller_state | Your business. seller_state: Indian GST state code or name. |
| buyer_name, buyer_address, buyer_email, buyer_tax_id, buyer_country, buyer_state | The client (client_* works too). |
| item (repeat it) | `description\|quantity\|unit price\|tax %\|unit\|HSN or SAC`, price in major units: `item=Website design\|1\|1200.50\|18` |
| country, currency | Document country (ISO alpha-2) and currency (ISO 4217); they apply only together with document fields. |
| kind | invoice, quote, proforma, credit_note or receipt (default: the page's). |
| issue_date, due_date | YYYY-MM-DD. |
| notes, terms | Plain text. |
| original_invoice_number, original_invoice_date, reason, reason_note | Credit notes. |
| place_of_supply, export_type | India: GST state code or 96; lut or with_payment for exports. |

https://luckpanda.app/templates/quotation-format?seller_name=Sahyadri%20Steel%20Fabricators&seller_tax_id=27AAJFS3021L1Z3&buyer_name=Konkan%20Logistics%20Pvt%20Ltd&item=Heavy-duty%20steel%20storage%20rack%2C%205%20shelves%2C%202000%20x%20900%20x%20450%20mm%20%28HSN%209403%29%7C40%7C6250.00%7C18%7Cunit

**Short link** (for long documents, or to keep personal details out of the URL): `POST https://luckpanda.app/api/public/drafts` with `{"page": "quotation-format", "doc": {...}}` returns `{"url": "https://luckpanda.app/d/<id>", "totals": {...}, "missing": [...], "ignored": [...]}`. Links open for 7 days; at most 60 per hour per network.

```bash
curl -s -X POST https://luckpanda.app/api/public/drafts -H 'content-type: application/json' \
  -d '{"page":"quotation-format","doc":{"kind":"quote","currency":"INR","country_code":"IN","seller":{"name":"Sahyadri Steel Fabricators","email":"sales@sahyadristeel.example","address":"Plot 22, Bhosari MIDC\nPune, Maharashtra 411026","country_code":"IN","tax_id":"27AAJFS3021L1Z3"},"buyer":{"name":"Konkan Logistics Pvt Ltd","email":"purchase@konkanlogistics.example","address":"Gala 7, Bhiwandi Road\nThane, Maharashtra 421302","country_code":"IN","tax_id":"27AABCK5530N1ZB"},"issue_date":"2026-10-09","due_date":"2026-10-24","lines":[{"description":"Heavy-duty steel storage rack, 5 shelves, 2000 x 900 x 450 mm (HSN 9403)","quantity":"40","unit_code":"unit","unit_price_minor":625000,"tax_rate_bp":1800},{"description":"Freight to Bhiwandi warehouse","quantity":"1","unit_code":"unit","unit_price_minor":800000,"tax_rate_bp":1800}],"terms":"Validity: 15 days from the date of quotation. Payment: 50% advance with purchase order, balance before dispatch. Delivery: within 21 days of advance. GST at the rate in force on the date of invoice. Warranty: 12 months against manufacturing defects."}}'
```

### 2. Branded PDF (no sign-in)

`POST https://luckpanda.app/api/public/pdf` with `{"doc": {...}}` (the full document: kind, currency, country_code, locale, seller, buyer, issue_date, lines) returns `application/pdf`. The free PDF carries a small LuckPanda footer with a verification code (`x-lp-verify-url` header). Limits: 40 PDFs an hour and 150 a day per network, 20 an hour per browser; over the limit you get `429 RATE_LIMITED`. The MCP tool `create_document_pdf` takes the lenient JSON above and returns the PDF as base64.

```bash
curl -s -X POST https://luckpanda.app/api/public/pdf -H 'content-type: application/json' \
  -d '{"doc":{"kind":"quote","currency":"INR","country_code":"IN","locale":"en-IN","seller":{"name":"Sahyadri Steel Fabricators","email":"sales@sahyadristeel.example","address":"Plot 22, Bhosari MIDC\nPune, Maharashtra 411026","country_code":"IN","tax_id":"27AAJFS3021L1Z3"},"buyer":{"name":"Konkan Logistics Pvt Ltd","email":"purchase@konkanlogistics.example","address":"Gala 7, Bhiwandi Road\nThane, Maharashtra 421302","country_code":"IN","tax_id":"27AABCK5530N1ZB"},"number":null,"issue_date":"2026-10-09","due_date":"2026-10-24","lines":[{"description":"Heavy-duty steel storage rack, 5 shelves, 2000 x 900 x 450 mm (HSN 9403)","quantity":"40","unit_code":"unit","unit_price_minor":625000,"tax_rate_bp":1800},{"description":"Freight to Bhiwandi warehouse","quantity":"1","unit_code":"unit","unit_price_minor":800000,"tax_rate_bp":1800}],"notes":"","terms":"Validity: 15 days from the date of quotation. Payment: 50% advance with purchase order, balance before dispatch. Delivery: within 21 days of advance. GST at the rate in force on the date of invoice. Warranty: 12 months against manufacturing defects."}}' -o quotation-format.pdf
```

### 3. MCP server (no auth)

Streamable HTTP at `https://luckpanda.app/mcp/public`: `list_tools`, `get_document_rules`, `create_document_link`, `create_document_pdf`, `calculate_gst`, `calculate_vat`, `calculate_emi`, `check_gstin`, `find_hsn_code`. Install: https://luckpanda.app/agents.

### What needs a LuckPanda account

Agents propose; people decide. Nothing made here is issued, sent or paid by an agent. The person signs in free to keep going:

- **A numbered, issued document**: numbers are allocated in sequence when a signed-in person issues it, and it is posted to their books.
- **Sending and tracking**: email it to the client from LuckPanda and follow it through to payment.
- **Payment links** and automatic reminders.
- **Verifications** (GSTIN and other registry checks) and e-invoicing.
- **The clean PDF** without LuckPanda branding (the Sales module).
- **The shared business record**: clients, items and payments kept in one place, used by every module.

Sign in: https://luckpanda.app/signin. Pricing: https://luckpanda.app/pricing.md. All agent options: https://luckpanda.app/agents.md.
