---
title: "Auto Repair Invoice Template for Mechanics and Garages"
canonical: https://luckpanda.app/templates/auto-repair-invoice-template
language: en
updated: 2026-10-09
content: full
---

# Auto repair invoice template

**What should an auto repair invoice include?** An auto repair invoice identifies the shop (with its state registration number where required), the customer and the vehicle (year, make, model, VIN, plate and odometer), the complaint and diagnosis, each repair with its labour charge, and each part with its price and whether it is new, used, rebuilt or reconditioned. It shows sales tax, the total, any extra work the customer authorised and how, what happened to the replaced parts, and the warranty.

- List labour and parts separately; California and Ohio require it, and sales tax often treats them differently.
- Mark every part new, used, rebuilt or reconditioned (and OEM or aftermarket).
- Get authorisation before work and before exceeding the estimate, and record it on the invoice.
- Say whether replaced parts were returned, declined or kept for a core or warranty return.

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

## What goes on an auto repair invoice

Auto repair is one of the few trades where state consumer law spells out what the invoice must say. The list below follows the stricter rules (California's Automotive Repair Act and Ohio's motor vehicle repair rule), so an invoice built this way works in most states.

- **The shop**: name, address, phone and, in states that register repair shops, the registration number (California: the automotive repair dealer number; Florida: the motor vehicle repair shop registration number).
- **The customer**: name, phone and address.
- **The vehicle**: year, make, model, VIN, licence plate and the odometer reading in (and out, if it was road-tested).
- **Complaint, cause and correction**: what the customer reported, what you found, what you did.
- **Each repair with its labour charge**: the operation, hours billed and rate, or the flat price. Ohio also requires the name of the person who did the work.
- **Each part** with part number, quantity and price, marked **new, used, rebuilt or reconditioned**; for body work, whether crash parts are OEM or aftermarket.
- **Supplies and fees** itemised: fluids, specific consumables, hazardous waste disposal, tyre fees. A vague "shop supplies 8%" line is prohibited in California.
- **Authorisations**: the estimate the customer approved, and any extra work approved later with the date, time, name and phone number.
- **Replaced parts**: returned, declined, or kept for a core exchange or warranty return.
- **Sales tax**, the total, payment received and the **warranty** on parts and labour (months and miles).

## How to fill in this auto repair invoice template

1. **Add the shop and the customer** Enter your shop name, address and email; put your state repair-dealer registration number (or EIN) in the tax ID field under your address. Enter the customer under Bill to.
2. **Record the vehicle and complaint** In Notes, enter year, make, model, VIN, plate and odometer, the complaint and what you found.
3. **Add labour and parts as separate lines** One labour line per operation with hours as the quantity and your rate as the price. One line per part, with "new", "used", "rebuilt" or "reconditioned" and OEM or aftermarket in the description. Itemise supplies and fees.
4. **Set sales tax per line** Enter your combined state and local rate on taxable lines. In states that tax parts but not separately stated labour, leave Tax % at 0 on the labour lines.
5. **Add authorisations, parts and warranty** In Notes, record any extra work approved (date, time, name, phone) and what happened to the replaced parts. In Terms, state the warranty in months and miles and when payment is due.
6. **Sign in to issue** Sign in to keep the invoice: it gets the next number in your series and is stored with the customer's history. Issuing and sending need the Sales module.

## Example: a brake job invoice

Marcus Bell brought his 2019 Honda CR-V to Eastside Auto Care in Cleveland, Ohio, with a grinding noise when braking. The shop found the front pads worn to the backing plates and the rotors scored, quoted the job, and he approved it at the counter. Ohio taxes repair labour as well as parts, so every line carries the 8% Cuyahoga County rate (5.75% state plus 2.25% county).

![Example auto repair invoice RO-5530 from Eastside Auto Care, Cleveland, Ohio, to Marcus Bell for a 2019 Honda CR-V: 1.8 hours flat-rate labour at $135, new OEM front rotors $168, new aftermarket ceramic pads $74 and brake cleaner and lubricant $12, with Ohio sales tax at 8%, total $536.76.](https://luckpanda.app/img/guide/en--auto-repair-invoice-template--auto-repair-invoice.svg)

*An auto repair invoice that follows the stricter state rules: vehicle and odometer in the header, labour and parts on separate lines, every part marked new and OEM or aftermarket, and the fate of the old parts recorded. The numbers match the worked example below.*

1. **Vehicle**: year, make and model, with the VIN and plate on the repair order.
2. **Odometer reading** in; it dates the repair for the warranty and the vehicle's service history.
3. **Complaint and cause**: what the customer reported and what the shop found.
4. **Labour and each part on separate lines**, labour with the hours billed and each part marked new, OEM or aftermarket.
5. **Sales tax** on labour and parts, because Ohio taxes repair labour. In many other states only the parts are taxed.
6. **Replaced parts, technician and warranty**: Ohio requires the name of the person who did the repair.

**The numbers: invoice RO-5530 with Ohio tax at 8%**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| Labour: replace front brake pads and rotors, 1.8 h flat rate | 1.8 | $135.00 | $243.00 | $19.44 |
| Front brake rotors, pair (new, OEM) | 1 | $168.00 | $168.00 | $13.44 |
| Ceramic brake pad set, front (new, aftermarket) | 1 | $74.00 | $74.00 | $5.92 |
| Shop supplies: brake cleaner and lubricant | 1 | $12.00 | $12.00 | $0.96 |
| Subtotal |  |  | $497.00 |  |
| Tax 8% |  |  |  | $39.76 |
| Total |  |  |  | $536.76 |

Labour is 1.8 hours at $135.00, or $243.00; parts and supplies add $254.00. Tax at 8% on $497.00 is $39.76, so Marcus Bell pays $536.76 on collection. Had he asked for a written estimate, the shop could not have gone 10% or more over it without his further approval.

### The same job priced as an estimate in California

In California the estimate comes first, in writing, and the labour is not taxed when it is stated separately from the parts. The example below uses the 7.25% statewide base sales tax rate on the parts only; local district taxes raise the rate in most places, so use your own combined rate. California also prohibits a generic "shop supplies" charge, so the cleaner and lubricant are itemised.

**California estimate: parts taxed at 7.25%, labour untaxed**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| Labour: replace front brake pads and rotors, 1.8 h flat rate | 1.8 | $135.00 | $243.00 | $0.00 |
| Front brake rotors, pair (new, OEM) | 1 | $168.00 | $168.00 | $12.18 |
| Ceramic brake pad set, front (new, aftermarket) | 1 | $74.00 | $74.00 | $5.37 |
| Brake parts cleaner, 1 can, and caliper lubricant, 1 sachet | 1 | $12.00 | $12.00 | $0.87 |
| Subtotal |  |  | $497.00 |  |
| Tax 7.25% |  |  |  | $18.42 |
| Total |  |  |  | $515.42 |

Tax is charged on $254.00 of parts and supplies only ($18.42), so the estimate totals $515.42. The customer signs it before work starts; if the technician then finds a seized caliper, the shop records the customer's approval of the extra cost (date, time, name and phone number if by phone) before fitting it.

## Estimates, authorisation and going over the estimate

Most disputes start with a bill higher than the customer expected, which is why several states regulate the estimate as tightly as the invoice.

| State | Estimate rule | Going over it |
| --- | --- | --- |
| California | Written estimate and the customer's authorisation before any work is done or charges accrue (Bus. & Prof. Code §9884.9) | New authorisation before exceeding it. If given by phone, record the date, time, name of the person and the number called, and show it on the invoice or have the customer initial an acknowledgement |
| Ohio | For repairs above the rule's minimum amount where the customer deals with the shop face to face, the customer chooses a written estimate, an oral estimate or no estimate on a form (Ohio Adm. Code 109:4-3-13) | Authorisation needed for extra work costing 10% or more of the estimate, excluding tax |
| Florida | Written estimate for work over $150 unless the customer signs to waive it or sets a limit; the estimate states flat rate or hourly (Fla. Stat. §559.905) | Customer must approve before charges exceed the estimate by more than $10 or 10%, whichever is greater, up to $50 (§559.909) |
| New York | Written estimate of parts and labour on request; the shop may charge a reasonable fee for it (Vehicle & Traffic Law §398-d) | No charge beyond the estimate without the customer's consent |

Even where no state rule applies, the practice protects you: a signed or texted approval of the estimate, and a recorded approval of every addition, is the evidence that settles a "nobody told me" dispute.

### How to estimate a repair

An auto repair estimate is the same arithmetic as the invoice, done before the work: **labour hours × your labour rate**, plus **each part** at your selling price, plus itemised supplies and fees, plus sales tax on whatever your state taxes. Most shops take the hours from a labour time guide for the operation (book time) and parts prices from their suppliers, then add diagnostic time separately if the cause is not yet known.

## Parts: new, used, rebuilt, OEM and returning old parts

- **Condition.** California requires each part on the invoice to be stated as new, used, reconditioned or rebuilt; on an estimate every part is presumed new unless identified otherwise. Ohio requires a statement for any part that is used, remanufactured or rebuilt, and Florida for any replacement part that is used, rebuilt or reconditioned.
- **OEM or aftermarket.** California requires crash parts to be identified as OEM or non-OEM aftermarket. Saying so for every part is good practice: it explains price differences and warranty terms.
- **Returning replaced parts.** In California the parts are returned if the customer asks when authorising the work; in Ohio they are handed back unless the customer was told beforehand that they will be rebuilt, sold or returned under warranty. Parts exchanged for a core credit or sent back to the maker under warranty are the usual exceptions; record "not returnable: core exchange" on the invoice.
- **Core charges.** If the price of a rebuilt alternator assumes you keep the old one, show the core charge or credit on its own line so the customer sees why returning the old part matters.

> **Independent shops and the vehicle warranty** The FTC states that a dealer cannot deny warranty coverage because routine maintenance or repairs were done elsewhere, and that a warranty stays in effect when aftermarket or recycled parts are used; coverage can be refused only if that part caused the damage. A clear invoice, with mileage and the parts used, is the customer's proof that the service was done.

## Labour: flat rate, actual time and diagnostics

Most shops bill **flat-rate** labour: the hours a labour time guide assigns to the operation, whatever the technician actually takes. Others bill the clock. Either is common; what matters is that the invoice says which. Florida requires the estimate to state whether labour is charged at a flat rate, an hourly rate or both, and Ohio requires the invoice to show the amount charged for labour.

- **Write the hours and the rate**, not just a labour total: "1.8 h at $135" lets the customer compare with the estimate.
- **Diagnostic time** is its own line, especially when the customer declines the repair afterwards.
- **Overlapping operations**: when two jobs share disassembly (a water pump done with a timing belt), do not bill the shared time twice.
- **Sublet work** (alignment, machine shop, glass) goes on its own line at the sublet price, named as sublet.
- **Storage**: if you charge daily storage for vehicles left after the work is done, disclose the rate on the estimate or repair order, not first on the invoice.

## Sales tax on auto repair parts and labour

Parts are taxable in every state with a sales tax. Labour is where states differ, and in several of them labour escapes tax only if it is **stated separately** on the invoice: one more reason to keep labour and parts on their own lines.

| State | Parts | Labour | Source |
| --- | --- | --- | --- |
| Ohio | Taxable | Taxable: tax applies to the total cost of the repair | Ohio Department of Taxation, auto repair guidance |
| Texas | Taxable | Not taxable: no sales tax on labour to repair a motor vehicle | Comptroller Pub. 94-113 |
| California | Taxable (new, used or rebuilt) | Not taxable if listed separately from the parts | CDTFA Pub. 25; Regulation 1546 |
| Missouri | Taxable | Not taxable if separately stated; if not, the whole price is taxable | 12 CSR 10-103.600 |

California and Missouri also have a small-parts rule: where parts are a minor part of the job (10% or less of the price) and not charged separately, the shop pays tax on the parts when buying them and charges none to the customer. Shop supplies, fluids and disposal fees follow their own rules in each state, so itemise them and check how yours treats each one.

## Getting paid: due on collection, fleets and 1099-NEC

- **Retail customers** pay on collection: say "due on collection" in the terms and give the customer a copy of the invoice (California and New York require it).
- **Fleet and business accounts** get Net 15 or Net 30 and need their unit number and PO on each invoice; a monthly statement listing the invoices helps their accounts team.
- **Insurance and warranty work**: if an insurer or warranty company pays part, show the full repair, then the amount billed to the third party and the customer's share (deductible or non-covered items) on the invoice.
- **Unpaid bills**: most states give a repair shop a lien on the vehicle for the agreed repair charges, but the rules on holding it, storage charges, notice and sale differ widely. Check your state's rules before refusing to release a car.

Fleet and business customers that pay you $2,000 or more for services in a year file **Form 1099-NEC** for tax years beginning after 2025 (the threshold was $600, adjusted for inflation from 2027), so they will ask for your **Form W-9**. Drivers paying for their own car do not file one, and card payments are reported on Form 1099-K by the processor.

## United Kingdom and India

**United Kingdom.** Garages register for VAT once taxable turnover passes **£90,000** in 12 months, and then charge 20% on both labour and parts. A VAT invoice shows the garage's VAT number, each item, the VAT rate and amount; customers who are VAT-registered businesses need it to reclaim the VAT. Garages below the threshold invoice without VAT and show no VAT number.

**UK: front brake pads and discs, VAT at 20%**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| Labour: front pads and discs | 1.5 | £78.00 | £117.00 | £23.40 |
| Front brake discs, pair (new) | 1 | £96.00 | £96.00 | £19.20 |
| Front brake pads, set (new) | 1 | £48.00 | £48.00 | £9.60 |
| Subtotal |  |  | £261.00 |  |
| VAT 20% |  |  |  | £52.20 |
| Total |  |  |  | £313.20 |

**India.** From 22 September 2025 all motor vehicle parts carry a uniform **18%** GST irrespective of HS code, and repair and maintenance services are generally taxed at 18% as well, so a service centre invoice usually shows 18% on both parts and labour. Show your GSTIN, the customer's if registered, HSN codes for parts and SAC 9987 for repair services, and CGST + SGST for a customer in your state. Use the [GST invoice generator](https://luckpanda.app/tools/gst-invoice-generator) for India.

## Mistakes to avoid

- **Starting work without a recorded authorisation**, or going over the estimate on a nod. Record who approved, when and how.
- **One labour-and-parts total.** California and Ohio require them listed separately, and tax often differs between them.
- **Parts not marked new, used or rebuilt.** It is the commonest invoice violation and the easiest to avoid.
- **A percentage "shop supplies" fee** in California, where a generic supplies charge is prohibited. Itemise the actual supplies used.
- **Not recording what happened to the old parts.** "Offered and declined", "returned to customer" or "core exchange" on every invoice.
- **Charging storage that was never disclosed.** Put the daily rate on the estimate or repair order.
- **Changing an invoice after payment** to fix a mistake. Issue a credit note or a supplementary invoice so both versions stay on record.

## Estimate vs repair order vs invoice vs receipt

| Document | When | What it does |
| --- | --- | --- |
| Estimate | Before work | Prices the parts and labour; the customer authorises it. Required in writing in California and, on request or by default, in Ohio, Florida and New York |
| Repair order (work order) | At check-in | Records the vehicle, complaint, authorisation and any later approvals; the technician works from it |
| Invoice | When the work is done | Itemises every repair and part with condition, tax and total; a copy goes to the customer |
| Receipt | At payment | Confirms payment; many shops print "paid" on the invoice instead |

Write the estimate with the [estimate generator](https://luckpanda.app/tools/estimate-generator); once the customer authorises it, the same lines become the invoice, with any approved additions added as new lines.

## Key terms

**Flat-rate labour (book time)**: Labour billed at the hours a labour time guide assigns to the operation, not the time actually taken.

**OEM part**: A part made by or for the vehicle manufacturer; "aftermarket" parts are made by others.

**Rebuilt or reconditioned part**: A used part restored to working order; it must be identified as such on the invoice in several states.

**Core charge**: A deposit on a rebuildable part, refunded when the old part is returned for remanufacture.

**Repair order**: The shop's work order recording the vehicle, complaint and the customer's authorisations.

**Sublet**: Work sent to another business (alignment, machining, glass) and billed on the shop's invoice.

## Questions people ask

### Do I need a written estimate before starting work?

In many states, yes. California requires a written estimate and the customer's authorisation before work starts, and fresh authorisation before going over it. Ohio lets the customer choose a written, oral or no estimate on a form before work starts; Florida requires one over $150 unless waived in writing.

### Should the invoice say whether parts are new or used?

Yes. California, Ohio and Florida require used, rebuilt or reconditioned parts to be identified, and California requires every part to be described as new, used, reconditioned or rebuilt. It is good practice everywhere and heads off disputes.

### How is labour usually billed?

Most shops bill flat-rate hours from a labour guide rather than the time actually spent. State the method and the hourly rate on the invoice; Florida requires the estimate to say whether labour is flat rate or hourly.

### Is sales tax charged on parts and labour?

Parts are taxable in states with sales tax. Labour depends on the state: Ohio taxes it, while Texas, California and Missouri do not tax repair labour, California and Missouri only when it is stated separately from the parts.

### Can a mechanic charge more than the estimate?

Only with your approval in states that regulate it. California requires authorisation before any increase; Ohio before extra work of 10% or more; Florida before charges exceed the estimate by more than $10 or 10% (whichever is greater, up to $50).

### Do mechanics have to give you your old parts?

In California, if you ask when you authorise the repair; in Ohio, unless you were told beforehand that they will be rebuilt, sold or returned under warranty. Parts exchanged for a core credit or returned to the manufacturer under warranty are usually excepted, but the shop should let you inspect them.

### Can a shop charge for shop supplies?

In California a generic shop-supplies or miscellaneous-parts charge is prohibited; supplies must be itemised. Elsewhere a supplies line is common, but listing what it covers avoids disputes.

### Does using an independent shop void a car's warranty?

No. The FTC says a dealer cannot deny warranty coverage because maintenance or repairs were done elsewhere or aftermarket parts were used, unless that part caused the damage. Keep the invoice as proof of service.

### How long should a repair shop keep invoices?

California requires invoices, estimates, work orders and authorisation records to be kept for at least three years. Keep them at least as long as your tax records elsewhere.

## Sources

- [California Bureau of Automotive Repair: Write It Right](https://www.bar.ca.gov/wir)
- [California B&P Code §9884.8–9884.11 (BAR laws and regulations)](https://bar.ca.gov/pdf/bar-laws-and-regulations-reference-book.pdf)
- [Ohio Adm. Code 109:4-3-13](https://codes.ohio.gov/ohio-administrative-code/rule-109:4-3-13)
- [Florida Statutes §559.905](http://www.leg.state.fl.us/statutes/index.cfm?App_mode=Display_Statute&URL=0500-0599/0559/Sections/0559.905.html)
- [Florida Statutes §559.911](http://www.leg.state.fl.us/statutes/index.cfm?App_mode=Display_Statute&URL=0500-0599/0559/Sections/0559.911.html)
- [New York Vehicle & Traffic Law §398-d](https://www.nysenate.gov/legislation/laws/VAT/398-D)
- [FTC: Auto warranties and service contracts](https://consumer.ftc.gov/articles/auto-warranties-and-auto-service-contracts)
- [Ohio Department of Taxation: auto repair](https://tax.ohio.gov/help-center/resources/tax-education/auto-repair)
- [Texas Comptroller Pub. 94-113 (motor vehicle repair)](https://comptroller.texas.gov/taxes/publications/94-113.php)
- [CDTFA Publication 25 (auto repair garages)](https://www.cdtfa.ca.gov/formspubs/pub25.pdf)
- [Missouri 12 CSR 10-103.600](https://www.law.cornell.edu/regulations/missouri/12-CSR-10-103-600)
- [IRS Instructions for Forms 1099-MISC and 1099-NEC](https://www.irs.gov/instructions/i1099mec)
- [PIB: GST rate changes, 56th GST Council](https://www.pib.gov.in/PressReleasePage.aspx?PRID=2163555)

## For AI agents: create an auto repair invoice with LuckPanda

You can make an auto repair 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/auto-repair-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/auto-repair-invoice-template to create an auto repair 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/auto-repair-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": "Eastside Auto Care",
    "email": "service@eastsideauto.example",
    "address": "310 Foundry Street\nCleveland",
    "country_code": "US"
  },
  "buyer": {
    "name": "Marcus Bell",
    "email": "accounts@acme.example",
    "address": "45 Larkspur Avenue",
    "country_code": "US"
  },
  "issue_date": "2026-10-09",
  "due_date": "2026-10-09",
  "lines": [
    {
      "description": "Labour: replace front brake pads and rotors, 1.8 h flat rate",
      "quantity": "1.8",
      "unit_code": "hour",
      "unit_price_minor": 13500,
      "tax_rate_bp": 0
    },
    {
      "description": "Front brake rotors, pair (new, OEM)",
      "quantity": "1",
      "unit_code": "item",
      "unit_price_minor": 16800,
      "tax_rate_bp": 0
    },
    {
      "description": "Ceramic brake pad set, front (new, aftermarket)",
      "quantity": "1",
      "unit_code": "item",
      "unit_price_minor": 7400,
      "tax_rate_bp": 0
    },
    {
      "description": "Shop supplies: brake cleaner and lubricant",
      "quantity": "1",
      "unit_code": "unit",
      "unit_price_minor": 1200,
      "tax_rate_bp": 0
    }
  ],
  "notes": "Vehicle: 2019 Honda CR-V, VIN ending 4471, odometer in 48,212 mi. Complaint: grinding noise when braking. Replaced parts offered to the customer and declined.",
  "terms": "Payment due on collection. Parts and labour guaranteed for 12 months or 12,000 miles, whichever comes first."
}
```

### 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/auto-repair-invoice-template?doc=eyJraW5kIjoiaW52b2ljZSIsImN1cnJlbmN5IjoiVVNEIiwiY291bnRyeV9jb2RlIjoiVVMiLCJzZWxsZXIiOnsibmFtZSI6IkVhc3RzaWRlIEF1dG8gQ2FyZSIsImVtYWlsIjoic2VydmljZUBlYXN0c2lkZWF1dG8uZXhhbXBsZSIsImFkZHJlc3MiOiIzMTAgRm91bmRyeSBTdHJlZXRcbkNsZXZlbGFuZCIsImNvdW50cnlfY29kZSI6IlVTIn0sImJ1eWVyIjp7Im5hbWUiOiJNYXJjdXMgQmVsbCIsImVtYWlsIjoiYWNjb3VudHNAYWNtZS5leGFtcGxlIiwiYWRkcmVzcyI6IjQ1IExhcmtzcHVyIEF2ZW51ZSIsImNvdW50cnlfY29kZSI6IlVTIn0sImlzc3VlX2RhdGUiOiIyMDI2LTEwLTA5IiwiZHVlX2RhdGUiOiIyMDI2LTEwLTA5IiwibGluZXMiOlt7ImRlc2NyaXB0aW9uIjoiTGFib3VyOiByZXBsYWNlIGZyb250IGJyYWtlIHBhZHMgYW5kIHJvdG9ycywgMS44IGggZmxhdCByYXRlIiwicXVhbnRpdHkiOiIxLjgiLCJ1bml0X2NvZGUiOiJob3VyIiwidW5pdF9wcmljZV9taW5vciI6MTM1MDAsInRheF9yYXRlX2JwIjowfSx7ImRlc2NyaXB0aW9uIjoiRnJvbnQgYnJha2Ugcm90b3JzLCBwYWlyIChuZXcsIE9FTSkiLCJxdWFudGl0eSI6IjEiLCJ1bml0X2NvZGUiOiJpdGVtIiwidW5pdF9wcmljZV9taW5vciI6MTY4MDAsInRheF9yYXRlX2JwIjowfSx7ImRlc2NyaXB0aW9uIjoiQ2VyYW1pYyBicmFrZSBwYWQgc2V0LCBmcm9udCAobmV3LCBhZnRlcm1hcmtldCkiLCJxdWFudGl0eSI6IjEiLCJ1bml0X2NvZGUiOiJpdGVtIiwidW5pdF9wcmljZV9taW5vciI6NzQwMCwidGF4X3JhdGVfYnAiOjB9LHsiZGVzY3JpcHRpb24iOiJTaG9wIHN1cHBsaWVzOiBicmFrZSBjbGVhbmVyIGFuZCBsdWJyaWNhbnQiLCJxdWFudGl0eSI6IjEiLCJ1bml0X2NvZGUiOiJ1bml0IiwidW5pdF9wcmljZV9taW5vciI6MTIwMCwidGF4X3JhdGVfYnAiOjB9XSwibm90ZXMiOiJWZWhpY2xlOiAyMDE5IEhvbmRhIENSLVYsIFZJTiBlbmRpbmcgNDQ3MSwgb2RvbWV0ZXIgaW4gNDgsMjEyIG1pLiBDb21wbGFpbnQ6IGdyaW5kaW5nIG5vaXNlIHdoZW4gYnJha2luZy4gUmVwbGFjZWQgcGFydHMgb2ZmZXJlZCB0byB0aGUgY3VzdG9tZXIgYW5kIGRlY2xpbmVkLiIsInRlcm1zIjoiUGF5bWVudCBkdWUgb24gY29sbGVjdGlvbi4gUGFydHMgYW5kIGxhYm91ciBndWFyYW50ZWVkIGZvciAxMiBtb250aHMgb3IgMTIsMDAwIG1pbGVzLCB3aGljaGV2ZXIgY29tZXMgZmlyc3QuIn0

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/auto-repair-invoice-template?seller_name=Eastside%20Auto%20Care&buyer_name=Marcus%20Bell&item=Labour%3A%20replace%20front%20brake%20pads%20and%20rotors%2C%201.8%20h%20flat%20rate%7C1.8%7C135.00%7C0%7Chour

**Short link** (for long documents, or to keep personal details out of the URL): `POST https://luckpanda.app/api/public/drafts` with `{"page": "auto-repair-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":"auto-repair-invoice-template","doc":{"kind":"invoice","currency":"USD","country_code":"US","seller":{"name":"Eastside Auto Care","email":"service@eastsideauto.example","address":"310 Foundry Street\nCleveland","country_code":"US"},"buyer":{"name":"Marcus Bell","email":"accounts@acme.example","address":"45 Larkspur Avenue","country_code":"US"},"issue_date":"2026-10-09","due_date":"2026-10-09","lines":[{"description":"Labour: replace front brake pads and rotors, 1.8 h flat rate","quantity":"1.8","unit_code":"hour","unit_price_minor":13500,"tax_rate_bp":0},{"description":"Front brake rotors, pair (new, OEM)","quantity":"1","unit_code":"item","unit_price_minor":16800,"tax_rate_bp":0},{"description":"Ceramic brake pad set, front (new, aftermarket)","quantity":"1","unit_code":"item","unit_price_minor":7400,"tax_rate_bp":0},{"description":"Shop supplies: brake cleaner and lubricant","quantity":"1","unit_code":"unit","unit_price_minor":1200,"tax_rate_bp":0}],"notes":"Vehicle: 2019 Honda CR-V, VIN ending 4471, odometer in 48,212 mi. Complaint: grinding noise when braking. Replaced parts offered to the customer and declined.","terms":"Payment due on collection. Parts and labour guaranteed for 12 months or 12,000 miles, whichever comes first."}}'
```

### 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":"Eastside Auto Care","email":"service@eastsideauto.example","address":"310 Foundry Street\nCleveland","country_code":"US"},"buyer":{"name":"Marcus Bell","email":"accounts@acme.example","address":"45 Larkspur Avenue","country_code":"US"},"number":null,"issue_date":"2026-10-09","due_date":"2026-10-09","lines":[{"description":"Labour: replace front brake pads and rotors, 1.8 h flat rate","quantity":"1.8","unit_code":"hour","unit_price_minor":13500,"tax_rate_bp":0},{"description":"Front brake rotors, pair (new, OEM)","quantity":"1","unit_code":"item","unit_price_minor":16800,"tax_rate_bp":0},{"description":"Ceramic brake pad set, front (new, aftermarket)","quantity":"1","unit_code":"item","unit_price_minor":7400,"tax_rate_bp":0},{"description":"Shop supplies: brake cleaner and lubricant","quantity":"1","unit_code":"unit","unit_price_minor":1200,"tax_rate_bp":0}],"notes":"Vehicle: 2019 Honda CR-V, VIN ending 4471, odometer in 48,212 mi. Complaint: grinding noise when braking. Replaced parts offered to the customer and declined.","terms":"Payment due on collection. Parts and labour guaranteed for 12 months or 12,000 miles, whichever comes first."}}' -o auto-repair-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.
