---
title: "Plumbing Invoice Template for Plumbers"
canonical: https://luckpanda.app/templates/plumbing-invoice-template
language: en
updated: 2026-10-09
content: full
---

# Plumbing invoice template

**What should a plumbing invoice include?** A plumbing invoice shows your business and licence number, the customer and job address, the problem reported, and then separate lines for the call-out or trip fee, labour (hours at a rate or a flat price per task), each part and fixture, disposal and any permit fee at cost. It ends with sales tax where your state charges it, the total, the due date and your workmanship warranty.

- Separate call-out, labour, parts, disposal and permit: customers query bundled totals.
- For water heaters and fixtures, record make, model and serial for the manufacturer's warranty.
- Emergency and after-hours premiums must be agreed before you attend.
- Sales tax on plumbing depends on the state and the job type; many states tax only the materials.

Free online tool: https://luckpanda.app/templates/plumbing-invoice-template (create on screen, no account needed).

## What goes on a plumbing invoice

Customers want three things from a plumbing invoice: why you came, what you fixed and what the parts cost. A property manager, an insurer or a home buyer may want a fourth: proof of what was installed and that it was permitted.

- **Your business**: name, address, phone, email and your plumbing or contractor licence number.
- **Customer and job address**, plus the tenant or site contact for rentals and commercial jobs.
- **Invoice number, issue date and due date**, and the date and time of the call.
- **Problem reported and what you found**: "no hot water; tank leaking at the base; heater 14 years old".
- **Call-out or trip fee**, and any emergency or after-hours premium, on its own line.
- **Labour**: hours at your rate, or the flat price per task.
- **Parts and fixtures**: each listed, with make and model for water heaters, softeners, pumps and fixtures.
- **Disposal or haul-away** of the old fixture, if you charge for it.
- **Permit fee** at cost with the permit number, and the inspection result.
- **Sales tax** where it applies, the total, payment methods, the warranty on workmanship and the manufacturer's warranty on the equipment.

## How to fill in this plumbing invoice template

1. **Add your business and licence number** Enter your business name, address and email; put your licence number (or your EIN, with the licence in the notes) in the tax ID field under your address.
2. **Add the customer and the problem** Enter the customer under Bill to. In Notes, record the job address if different, what was reported and what you found.
3. **Add the lines in order** Call-out or trip fee, then labour (hours × rate, or 1 × the flat price), then each part and fixture, then disposal and the permit fee at cost with its number.
4. **Set sales tax per line** Leave Tax % at 0 where your state does not tax the line; enter your combined state and local rate on lines it does tax, which may be materials only or the whole job.
5. **Add warranty and terms** Put your workmanship warranty, the manufacturer's equipment warranty and the due date in Terms.
6. **Sign in to issue** Sign in to keep the invoice: it gets the next number in your series and the customer's balance is tracked. Issuing and sending need the Sales module.

## Example: an emergency water heater replacement

Rivera Plumbing & Heating in Phoenix took a Saturday call from Sandra Okafor: no hot water, and the tank leaking at the base. The plumber replaced the 40-gallon gas water heater the same day under a city permit, took the old unit for recycling, and invoiced on completion.

![Example plumbing invoice INV-1077 from Rivera Plumbing & Heating, Phoenix, to Sandra Okafor: emergency call-out $125, 3.5 hours of labour at $95, a 40-gallon gas water heater at $760 and a permit fee of $85 at cost, total $1,302.50, due on completion.](https://luckpanda.app/img/guide/en--plumbing-invoice-template--plumbing-invoice.svg)

*An emergency water heater replacement: the call-out, labour, the heater and the permit are separate lines, and the notes record the problem, the equipment and the warranty split. The numbers match the worked example below.*

1. **Licence number**: in Arizona prefixed "ROC" on bids, estimates and documents sent to customers.
2. **Due on completion**, as agreed when the customer booked the emergency visit.
3. **Permit number**, so the customer can show the replacement was permitted and inspected.
4. **Call-out, labour, equipment and permit** as separate lines; the emergency premium is in the call-out the customer agreed to.
5. **Total** with no sales tax line: in Arizona a repair or replacement contractor pays the tax when buying materials.
6. **Problem found, disposal and the warranty split** between your workmanship and the manufacturer's tank warranty.

**The numbers: invoice INV-1077**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| Emergency call-out, Saturday 4 October | 1 | $125.00 | $125.00 | $0.00 |
| Labour: remove leaking water heater, install new unit, reconnect supply lines | 3.5 | $95.00 | $332.50 | $0.00 |
| 40-gallon gas water heater | 1 | $760.00 | $760.00 | $0.00 |
| Permit fee (permit 25-0819), at cost | 1 | $85.00 | $85.00 | $0.00 |
| Subtotal |  |  | $1,302.50 | $0.00 |
| Total |  |  |  | $1,302.50 |

Labour is 3.5 hours at $95.00, or $332.50. With the $125.00 call-out, the $760.00 heater and the $85.00 permit, Sandra Okafor pays $1,302.50 on completion. Record the heater's make, model and serial number in the notes too; they are left out of the figure only to keep it short.

## Call-out fees, emergency rates and flat-rate pricing

| Line | How to bill it | Why it is separate |
| --- | --- | --- |
| Call-out or trip fee | Fixed fee per visit; some plumbers include the first half hour | Covers travel and attendance; agreed when the customer books |
| Emergency or after-hours premium | A higher call-out fee, a higher hourly rate, or a surcharge | Must be quoted before you attend; showing it separately keeps your normal rate visible |
| Labour, time and materials | Hours on site × rate, usually in quarter or half hours | Leaks behind walls, repiping, jobs where the scope opens up |
| Labour, flat rate | One price per task from your price book ("replace toilet fill valve", "clear kitchen drain up to 25 ft") | Customers approve a price, not a clock; do not convert it to hours on the invoice |
| Parts and fixtures | Each item with its price (cost plus markup, or price-book price) | Customers compare with retail; many states tax materials differently from labour |
| Disposal or haul-away | Fixed fee per fixture removed | Often queried when bundled; some jurisdictions charge to dump water heaters |
| Permit and inspection | At cost, with the permit number | A pass-through, not your income |

### A flat-rate drain job

Flat-rate pricing is common for drains and fixture repairs because the customer approves one price before work starts. For a kitchen drain cleared by cable and a bathroom faucet cartridge replaced on a weekday visit, the invoice shows the trip fee and two price-book tasks, with no hours at all.

**Flat-rate drain and faucet visit (no sales tax charged)**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| Trip fee, weekday visit | 1 | $59.00 | $59.00 | $0.00 |
| Clear kitchen sink drain by cable, up to 25 ft (flat rate) | 1 | $189.00 | $189.00 | $0.00 |
| Replace bathroom faucet cartridge, parts included (flat rate) | 1 | $145.00 | $145.00 | $0.00 |
| Subtotal |  |  | $393.00 | $0.00 |
| Total |  |  |  | $393.00 |

The customer pays $393.00, exactly the sum of the prices approved on site. If the cable had found a root intrusion needing a camera inspection, that would be a new line approved before the work, not a change to the drain price.

## Water heaters, permits and inspections

Water heater replacements, new supply or drain lines, gas piping, backflow devices and repiping usually need a permit from the city or county, and an inspection before the job is closed. The invoice is where the homeowner keeps the proof.

- **Permit number and fee** on their own line, at cost. If you charge for the time spent pulling the permit and meeting the inspector, show a separate permit-handling fee.
- **Inspection result** in the notes, or "final inspection scheduled for 9 October" if it is still pending, with what happens if it fails.
- **Equipment record**: make, model, serial number, capacity, fuel and install date of the water heater, softener, pump or tankless unit. Manufacturers ask for proof of purchase and installation date for warranty claims, and many require registration soon after installation.
- **Code items added** to bring the installation up to current code, such as an expansion tank, a new temperature and pressure relief discharge line or seismic straps, each on its own line with the reason.
- **Disposal** of the old unit: "old heater removed and taken for recycling", with a fee if you charge one.
- **Warranty split**: your workmanship guarantee (for example 12 months) and the manufacturer's tank and parts warranty, which you do not give.

> **Selling more at the customer's home** The FTC Cooling-Off Rule gives buyers 3 days to cancel most sales of $25 or more made at their home. It excludes repairs the buyer asked you to come and do on their personal property, and genuine emergencies where the buyer gives a dated, signed, handwritten statement waiving the right. A water softener or whole-house filter sold during a leak call is a new sale: give the cancellation notice the rule requires.

## Sales tax on plumbing labour and materials

Plumbing on a building is usually taxed as contracting on real property, not as a retail sale, so the answer to "do I charge sales tax?" depends on the state, whether the property is residential, and whether the job is a repair, a replacement or a new installation.

| State | Rule for plumbing work | Source |
| --- | --- | --- |
| Arizona | Maintenance, repair, replacement or alteration (MRRA) work for the owner, such as replacing a water heater, is not taxed under prime contracting; the plumber pays tax on materials when buying them. New construction and modification work is taxed under prime contracting, on 65% of gross receipts | A.R.S. §42-5075 |
| Texas | Labour to repair or remodel residential property is not taxable; on a separated contract the plumber collects tax on the materials, on a lump-sum contract pays it when buying. Nonresidential repair and remodelling is taxable on the total charge | Comptroller Pub. 94-116; Rule 3.357 |
| New York | Repair and maintenance is taxable. **Installing a hot water heater is a capital improvement**: no tax is collected if the customer gives Form ST-124, and the plumber pays tax on the materials. Replacing a water heater's thermostat is a taxable repair | TB-ST-104, TB-ST-129 |
| Washington | Construction and repair for consumers is a retail sale: retail sales tax is collected on the full contract price, labour included | RCW 82.04.050; WAC 458-20-170 |
| California | Contractors are generally the consumers of materials and retailers of fixtures; repairs to fixtures with parts billed separately make the parts taxable | CDTFA Publication 9 |

This is why the Phoenix invoice above has no tax line: replacing a water heater is a replacement under Arizona's MRRA rules, and Rivera paid tax on the heater when it bought it. The same replacement in Seattle would carry Washington retail sales tax on the whole $1,302.50, and in New York it would be tax-free only with a signed capital improvement certificate.

> **Set the lines up to match your state** Keep labour, materials, equipment, disposal and permit fees as separate lines. Then the Tax % on each line can follow your state's rule, and you can show an auditor which part was taxed.

## Licence numbers, deposits and lien rights

| State | What must appear, and where | Rule |
| --- | --- | --- |
| Texas | The responsible master plumber's name and licence number, the words "regulated by the Texas State Board of Plumbing Examiners" and the Board's address, phone and website, in at least 12-point type on the first page of every proposal, invoice or contract (estimates, service invoices and receipts included) | 22 TAC §367.10 |
| Arizona | The licence number, prefixed "ROC", on written bids and estimates, advertising and documents used to correspond with customers; a contract with a property owner over $1,000 also needs the licence number and a notice of the right to complain to the Registrar | A.R.S. §§32-1124, 32-1158 |
| California | Licence number on all construction contracts, subcontracts, calls for bid and advertising | Bus. & Prof. Code §7030.5 |
| Florida | Certificate or registration number on every offer of services, proposal, bid, contract and advertisement | Fla. Stat. §489.119(5) |

Texas is the clearest case that the invoice itself must carry the licence details; elsewhere, putting the number on the invoice is still the simplest way to prove who did the work.

### Deposits on bigger jobs

Repipes, sewer line replacements and tankless conversions are usually billed with a deposit and a final invoice. In **California** the down payment on a home improvement contract may not exceed **$1,000 or 10% of the contract price, whichever is less**, and later payments may not run ahead of the work done (Bus. & Prof. Code §7159.5). Show the deposit on the final invoice as a payment received so the full job price stays visible.

### Mechanic's liens and preliminary notices

- **Arizona**: everyone except wage labourers, including a plumber hired directly by the owner, serves a preliminary 20-day notice to preserve lien rights; the lien is recorded within 120 days after completion, or 60 days after a notice of completion is recorded (A.R.S. §§33-992.01, 33-993).
- **California**: a contractor hired by the owner gives a preliminary notice only to the construction lender, if any, and records the lien within 90 days after completion, or 60 days after a recorded notice of completion (Civil Code §§8200, 8204, 8412).

The deadlines run from when you start or finish work, not from when the invoice falls overdue, so diarise them at the start of any job big enough to matter.

## Payment terms, late fees and 1099-NEC

- **Homeowners** usually pay on completion, by card, check or bank transfer; say so on the estimate and in the terms.
- **Property managers, builders and businesses** usually get Net 15 or Net 30 on an account. Ask for their PO or work order number and put it on the invoice.
- **Late fees** need to be agreed before the work, in the estimate or service agreement, and repeated in the invoice terms. State law limits interest and fees, particularly on consumer debts. Where a California contract sets no rate, a debt carries 10% a year after breach (Civil Code §3289).
- **Insurance jobs**: the policyholder, not the insurer, is usually your customer. Invoice them, with enough detail (cause, photos, parts) for their claim.

A business that pays you $2,000 or more in a year for services files **Form 1099-NEC** for tax years beginning after 2025 (the threshold was $600 and will be adjusted for inflation from 2027), so commercial clients and property managers will ask for your **Form W-9**. Homeowners paying for work on their own home do not file one, and card or app payments are reported on Form 1099-K by the processor instead.

## United Kingdom and India

**United Kingdom.** Anyone working on gas appliances, gas water heaters and boilers included, must be on the **Gas Safe Register**; put the registration number on invoices for gas work. Plumbers register for VAT once taxable turnover passes **£90,000** in 12 months and then charge 20%. Installing water and heating systems for a building contractor falls under the Construction Industry Scheme, and between VAT-registered businesses in a CIS chain the domestic reverse charge applies; private householders are outside both. Installing a heat pump in a home is zero-rated for VAT until 31 March 2027, then 5%.

**UK: emergency call-out for a homeowner, VAT at 20%**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| Emergency call-out, Saturday, first hour included | 1 | £120.00 | £120.00 | £24.00 |
| Additional labour | 1.5 | £60.00 | £90.00 | £18.00 |
| Compression fittings and 15 mm copper pipe | 1 | £18.50 | £18.50 | £3.70 |
| Subtotal |  |  | £228.50 |  |
| VAT 20% |  |  |  | £45.70 |
| Total |  |  |  | £274.20 |

**India.** Plumbing repair and installation services are taxed under GST, generally at 18%; a plumber must register once aggregate turnover exceeds ₹20 lakh (₹10 lakh in special category states). A GST invoice shows your GSTIN, the SAC, and CGST + SGST for work in your own state or IGST otherwise. Use the [GST invoice generator](https://luckpanda.app/tools/gst-invoice-generator) for India.

## Mistakes to avoid

- **An emergency premium the customer was not told about.** Quote it on the phone, note who agreed and when, and show it as its own line.
- **"Parts, $940."** List each part and fixture; a single parts total invites a dispute and helps nobody with a warranty claim.
- **No make, model or serial for the water heater.** The customer needs them for the manufacturer's warranty and you need them for recalls.
- **Charging sales tax on labour where it is not due**, or skipping it where it is. In some states you, not the customer, owe the tax on the materials you bought.
- **Permit fees with a hidden markup.** Bill at cost, or show a separate permit-handling fee.
- **Changing the invoice after the customer pays.** Issue a credit note for a reduction and a new invoice for extra work.
- **Missing lien deadlines on larger jobs.** Where your state requires a preliminary notice, the clock starts when you first deliver work or materials, not when the invoice goes unpaid.

## Plumbing estimate vs work order vs invoice vs receipt

| Document | When | What it does |
| --- | --- | --- |
| Estimate or quote | Before the work | Prices the job (often as flat-rate options); the customer approves one |
| Work order | When the job is dispatched | Tells the plumber what was approved, where and when; collects the customer's signature on site |
| Invoice | On completion, or per phase on larger jobs | Asks for payment; carries the permit, warranty and licence details |
| Receipt | When paid | Confirms payment; insurers and landlords often ask for a "paid plumbing invoice" or receipt |

Price larger jobs with the [estimate generator](https://luckpanda.app/tools/estimate-generator) first; the accepted lines become the invoice, so what the customer approved and what they are billed match word for word.

## Key terms

**Call-out fee**: A fixed charge for attending a job, separate from the labour to fix it.

**Flat-rate pricing**: A fixed price per task from a price book, approved by the customer before work starts.

**MRRA**: Arizona's category of maintenance, repair, replacement or alteration contracts, not taxed under prime contracting.

**Capital improvement**: In New York, a permanent addition or replacement that adds value, such as installing a water heater; exempt from sales tax with Form ST-124.

**Preliminary 20-day notice**: The notice Arizona and California use to preserve mechanic's lien rights, served within 20 days of first furnishing work.

**Gas Safe Register**: The UK register every engineer working on gas appliances must belong to.

## Questions people ask

### Should plumbers charge a call-out fee?

Many do, especially for emergencies and out-of-hours work. Tell the customer before you attend and put it on its own line; if the call-out includes the first half hour, say so.

### Do I need a permit number on the invoice?

Jobs such as replacing a water heater or adding supply lines often need a permit. The permit number on the invoice gives the customer a record for insurance and resale, and shows the fee was passed through at cost.

### Are plumbing parts taxable?

Usually, but who pays the tax varies. In Arizona and California the plumber generally pays tax on materials when buying them; in Texas a separated residential contract charges tax on materials only; Washington taxes the whole job, labour included. In New York, installing a water heater is a tax-exempt capital improvement with Form ST-124.

### How do I write a plumbing invoice?

Add your business and licence number, the customer and job address and the problem reported, then the call-out, labour, each part, disposal and the permit fee as separate lines. Apply sales tax according to your state, add the warranty and payment terms, and set the due date.

### What should a plumber charge for an emergency call?

Whatever you quote before attending. Bill it either as a higher call-out fee or as a premium hourly rate on its own line, so the customer sees the emergency element they agreed to and your normal rate.

### Should the invoice list the water heater's model and serial number?

Yes. The customer needs them, with the installation date, for the manufacturer's warranty, and you need them to find the job again if there is a recall or a claim.

### Can a plumber take a deposit?

Yes, for larger jobs, agreed in the estimate. In California the down payment on a home improvement contract is limited to $1,000 or 10% of the price, whichever is less.

### Do plumbers get a 1099?

From a business or property manager that paid them $2,000 or more for services in the year, for tax years beginning after 2025, unless the plumber is incorporated or was paid by card. Homeowners do not file one for work on their own home.

## Sources

- [Arizona A.R.S. §42-5075 (prime contracting, MRRA)](https://www.azleg.gov/ars/42/05075.htm)
- [Texas Comptroller Pub. 94-116](https://comptroller.texas.gov/taxes/publications/94-116.php)
- [New York TB-ST-104 (capital improvements)](https://www.tax.ny.gov/pubs_and_bulls/tg_bulletins/st/capital_improvements.htm)
- [Washington RCW 82.04.050](https://app.leg.wa.gov/RCW/default.aspx?cite=82.04.050)
- [CDTFA Publication 9](https://www.cdtfa.ca.gov/formspubs/pub9.pdf)
- [Texas 22 TAC §367.10 (plumbing)](https://www.law.cornell.edu/regulations/texas/22-Tex-Admin-Code-SS-367-10)
- [Arizona A.R.S. §32-1158](https://www.azleg.gov/ars/32/01158.htm)
- [Arizona A.R.S. §33-992.01 and §33-993](https://www.azleg.gov/ars/33/00993.htm)
- [California B&P Code §7159.5](https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=BPC&sectionNum=7159.5)
- [FTC Cooling-Off Rule, 16 CFR 429](https://www.ecfr.gov/current/title-16/chapter-I/subchapter-D/part-429)
- [IRS Instructions for Forms 1099-MISC and 1099-NEC](https://www.irs.gov/instructions/i1099mec)
- [HSE: Gas Safe registration](https://www.hse.gov.uk/gas/domestic/newschemecontract.htm)

## For AI agents: create a plumbing invoice with LuckPanda

You can make a plumbing invoice 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/plumbing-invoice-template 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/plumbing-invoice-template to create a plumbing invoice. Ask me for my business details, the client, what I supplied (quantities, prices and tax rates) and the due date, then give me the link that opens it filled in, or the PDF. Follow the instructions at https://luckpanda.app/templates/plumbing-invoice-template.md

### Fields (invoice, United States 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 (USD). 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` | optional | EIN (e.g. 12-3456789), if your client needs it. |
| `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 tax ID if they ask for it. |
| `buyer.country_code` | optional | The buyer's country, if different from yours. |
| `issue_date` | optional | YYYY-MM-DD. Defaults to today. |
| `due_date` | optional | YYYY-MM-DD. Default 14 days after the issue date. |
| `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. |
| `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). |
| `notes` | optional | Shown on the document (at most 2000 characters). |
| `terms` | optional | Payment terms and bank details (at most 2000 characters). |

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 United States documents: currency USD, Sales tax, seller tax ID "EIN" (e.g. 12-3456789). 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.

**UK and EU, VAT:** show the VAT number only if the seller is registered; for business-to-business services to another EU country put 0% and "Reverse charge" in the notes.

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

### Example document (JSON)

```json
{
  "kind": "invoice",
  "currency": "USD",
  "country_code": "US",
  "seller": {
    "name": "Rivera Plumbing & Heating",
    "email": "office@riveraplumbing.example",
    "address": "77 Kiln Road\nPhoenix",
    "country_code": "US"
  },
  "buyer": {
    "name": "Sandra Okafor",
    "email": "accounts@acme.example",
    "address": "14 Lindenwood Drive",
    "country_code": "US"
  },
  "issue_date": "2026-10-09",
  "due_date": "2026-10-09",
  "lines": [
    {
      "description": "Emergency call-out, Saturday 4 October",
      "quantity": "1",
      "unit_code": "unit",
      "unit_price_minor": 12500,
      "tax_rate_bp": 0
    },
    {
      "description": "Labour: remove leaking water heater, install new unit, reconnect supply lines",
      "quantity": "3.5",
      "unit_code": "hour",
      "unit_price_minor": 9500,
      "tax_rate_bp": 0
    },
    {
      "description": "40-gallon gas water heater",
      "quantity": "1",
      "unit_code": "item",
      "unit_price_minor": 76000,
      "tax_rate_bp": 0
    },
    {
      "description": "Permit fee (permit 25-0819), at cost",
      "quantity": "1",
      "unit_code": "unit",
      "unit_price_minor": 8500,
      "tax_rate_bp": 0
    }
  ],
  "notes": "Reported: no hot water, tank leaking at the base. Old heater removed and taken for recycling.",
  "terms": "Payment due on completion. Workmanship guaranteed for 12 months; the water heater carries the manufacturer's 6-year tank warranty."
}
```

### 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/plumbing-invoice-template?doc=eyJraW5kIjoiaW52b2ljZSIsImN1cnJlbmN5IjoiVVNEIiwiY291bnRyeV9jb2RlIjoiVVMiLCJzZWxsZXIiOnsibmFtZSI6IlJpdmVyYSBQbHVtYmluZyAmIEhlYXRpbmciLCJlbWFpbCI6Im9mZmljZUByaXZlcmFwbHVtYmluZy5leGFtcGxlIiwiYWRkcmVzcyI6Ijc3IEtpbG4gUm9hZFxuUGhvZW5peCIsImNvdW50cnlfY29kZSI6IlVTIn0sImJ1eWVyIjp7Im5hbWUiOiJTYW5kcmEgT2thZm9yIiwiZW1haWwiOiJhY2NvdW50c0BhY21lLmV4YW1wbGUiLCJhZGRyZXNzIjoiMTQgTGluZGVud29vZCBEcml2ZSIsImNvdW50cnlfY29kZSI6IlVTIn0sImlzc3VlX2RhdGUiOiIyMDI2LTEwLTA5IiwiZHVlX2RhdGUiOiIyMDI2LTEwLTA5IiwibGluZXMiOlt7ImRlc2NyaXB0aW9uIjoiRW1lcmdlbmN5IGNhbGwtb3V0LCBTYXR1cmRheSA0IE9jdG9iZXIiLCJxdWFudGl0eSI6IjEiLCJ1bml0X2NvZGUiOiJ1bml0IiwidW5pdF9wcmljZV9taW5vciI6MTI1MDAsInRheF9yYXRlX2JwIjowfSx7ImRlc2NyaXB0aW9uIjoiTGFib3VyOiByZW1vdmUgbGVha2luZyB3YXRlciBoZWF0ZXIsIGluc3RhbGwgbmV3IHVuaXQsIHJlY29ubmVjdCBzdXBwbHkgbGluZXMiLCJxdWFudGl0eSI6IjMuNSIsInVuaXRfY29kZSI6ImhvdXIiLCJ1bml0X3ByaWNlX21pbm9yIjo5NTAwLCJ0YXhfcmF0ZV9icCI6MH0seyJkZXNjcmlwdGlvbiI6IjQwLWdhbGxvbiBnYXMgd2F0ZXIgaGVhdGVyIiwicXVhbnRpdHkiOiIxIiwidW5pdF9jb2RlIjoiaXRlbSIsInVuaXRfcHJpY2VfbWlub3IiOjc2MDAwLCJ0YXhfcmF0ZV9icCI6MH0seyJkZXNjcmlwdGlvbiI6IlBlcm1pdCBmZWUgKHBlcm1pdCAyNS0wODE5KSwgYXQgY29zdCIsInF1YW50aXR5IjoiMSIsInVuaXRfY29kZSI6InVuaXQiLCJ1bml0X3ByaWNlX21pbm9yIjo4NTAwLCJ0YXhfcmF0ZV9icCI6MH1dLCJub3RlcyI6IlJlcG9ydGVkOiBubyBob3Qgd2F0ZXIsIHRhbmsgbGVha2luZyBhdCB0aGUgYmFzZS4gT2xkIGhlYXRlciByZW1vdmVkIGFuZCB0YWtlbiBmb3IgcmVjeWNsaW5nLiIsInRlcm1zIjoiUGF5bWVudCBkdWUgb24gY29tcGxldGlvbi4gV29ya21hbnNoaXAgZ3VhcmFudGVlZCBmb3IgMTIgbW9udGhzOyB0aGUgd2F0ZXIgaGVhdGVyIGNhcnJpZXMgdGhlIG1hbnVmYWN0dXJlcidzIDYteWVhciB0YW5rIHdhcnJhbnR5LiJ9

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/plumbing-invoice-template?seller_name=Rivera%20Plumbing%20%26%20Heating&buyer_name=Sandra%20Okafor&item=Emergency%20call-out%2C%20Saturday%204%20October%7C1%7C125.00%7C0%7Cunit

**Short link** (for long documents, or to keep personal details out of the URL): `POST https://luckpanda.app/api/public/drafts` with `{"page": "plumbing-invoice-template", "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":"plumbing-invoice-template","doc":{"kind":"invoice","currency":"USD","country_code":"US","seller":{"name":"Rivera Plumbing & Heating","email":"office@riveraplumbing.example","address":"77 Kiln Road\nPhoenix","country_code":"US"},"buyer":{"name":"Sandra Okafor","email":"accounts@acme.example","address":"14 Lindenwood Drive","country_code":"US"},"issue_date":"2026-10-09","due_date":"2026-10-09","lines":[{"description":"Emergency call-out, Saturday 4 October","quantity":"1","unit_code":"unit","unit_price_minor":12500,"tax_rate_bp":0},{"description":"Labour: remove leaking water heater, install new unit, reconnect supply lines","quantity":"3.5","unit_code":"hour","unit_price_minor":9500,"tax_rate_bp":0},{"description":"40-gallon gas water heater","quantity":"1","unit_code":"item","unit_price_minor":76000,"tax_rate_bp":0},{"description":"Permit fee (permit 25-0819), at cost","quantity":"1","unit_code":"unit","unit_price_minor":8500,"tax_rate_bp":0}],"notes":"Reported: no hot water, tank leaking at the base. Old heater removed and taken for recycling.","terms":"Payment due on completion. Workmanship guaranteed for 12 months; the water heater carries the manufacturer'\''s 6-year tank warranty."}}'
```

### 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":"invoice","currency":"USD","country_code":"US","locale":"en-US","seller":{"name":"Rivera Plumbing & Heating","email":"office@riveraplumbing.example","address":"77 Kiln Road\nPhoenix","country_code":"US"},"buyer":{"name":"Sandra Okafor","email":"accounts@acme.example","address":"14 Lindenwood Drive","country_code":"US"},"number":null,"issue_date":"2026-10-09","due_date":"2026-10-09","lines":[{"description":"Emergency call-out, Saturday 4 October","quantity":"1","unit_code":"unit","unit_price_minor":12500,"tax_rate_bp":0},{"description":"Labour: remove leaking water heater, install new unit, reconnect supply lines","quantity":"3.5","unit_code":"hour","unit_price_minor":9500,"tax_rate_bp":0},{"description":"40-gallon gas water heater","quantity":"1","unit_code":"item","unit_price_minor":76000,"tax_rate_bp":0},{"description":"Permit fee (permit 25-0819), at cost","quantity":"1","unit_code":"unit","unit_price_minor":8500,"tax_rate_bp":0}],"notes":"Reported: no hot water, tank leaking at the base. Old heater removed and taken for recycling.","terms":"Payment due on completion. Workmanship guaranteed for 12 months; the water heater carries the manufacturer'\''s 6-year tank warranty."}}' -o plumbing-invoice-template.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.
