# PaidPilot Invoice PDF Generator

> PaidPilot Invoice PDF Generator is a paid API for AI agents from api.paidpilot.io, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-15).

Generates a professional, branded invoice as a downloadable PDF from structured billing data, with no signup or watermark required.

## Facts

- Endpoint: POST https://api.paidpilot.io/v1/invoice.pdf?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/paidpilot-invoice-pdf-generator-a1a25d5d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_274rO9sHAKsRfdAA5YWdS

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability paidpilot-invoice-pdf-generator-a1a25d5d -d '<json body>'
```

Example prompt: Can you generate a PDF invoice from my business Apex Design Studio to my client TechNova Inc for 10 hours of UI design at $150/hour and 5 hours of consulting at $200/hour, invoice number INV-2024-088, issued today with payment due in 30 days, 8.5% tax, and payment instructions to wire to my Chase account?

## When to prefer this

Choose this endpoint when you need a clean, no-dependency PDF invoice generated instantly without user accounts, persistent storage, or third-party integrations. Ideal for agents automating one-off billing for freelancers, consultants, or small businesses, especially when privacy matters (data stays ephemeral). Prefer over heavier accounting APIs (QuickBooks, FreshBooks) when you only need a document artifact, not ledger entries or recurring billing logic.

## Known failure modes

- Missing required seller.name or buyer.name returns a 400 validation error
- line_items array is empty or missing all three required fields (description, quantity, unit_price) causes a 400 error
- tax_rate outside 0–100 range or discount exceeding maximum returns validation failure
- Malformed date strings not matching YYYY-MM-DD pattern cause a 400 error
- More than 200 line items submitted returns a 400 maxItems error
- Payment failure or insufficient USDC balance results in 402 response before PDF is generated

## How this service works

Free online invoice generator. Create a professional, branded invoice and download it as a PDF in under a minute — no signup, no watermark. Your data stays in your browser.

## Output

A binary PDF file containing a fully rendered, professional invoice with seller and buyer details, line items with subtotals, discount, tax, grand total, invoice number, dates, payment instructions, and notes — ready to save or email.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "buyer": {
   "type": "object",
   "required": [
    "name"
   ],
   "properties": {
    "name": {
     "type": "string",
     "maxLength": 120,
     "minLength": 1
    },
    "email": {
     "type": "string",
     "format": "email",
     "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
     "maxLength": 254
    },
    "phone": {
     "type": "string",
     "maxLength": 40
    },
    "tax_id": {
     "type": "string",
     "maxLength": 60
    },
    "address": {
     "type": "string",
     "maxLength": 400
    }
   }
  },
  "notes": {
   "type": "string",
   "maxLength": 2000
  },
  "seller": {
   "type": "object",
   "required": [
    "name"
   ],
   "properties": {
    "name": {
     "type": "string",
     "maxLength": 120,
     "minLength": 1
    },
    "email": {
     "type": "string",
     "format": "email",
     "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
     "maxLength": 254
    },
    "phone": {
     "type": "string",
     "maxLength": 40
    },
    "tax_id": {
     "type": "string",
     "maxLength": 60
    },
    "address": {
     "type": "string",
     "maxLength": 400
    }
   }
  },
  "currency": {
   "type": "string",
   "default": "USD"
  },
  "discount": {
   "type": "number",
   "maximum": 1000000000,
   "minimum": 0,
   "description": "absolute amount subtracted before tax"
  },
  "due_date": {
   "type": "string",
   "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
  },
  "tax_rate": {
   "type": "number",
   "maximum": 100,
   "minimum": 0,
   "description": "percent, e.g. 7.5"
  },
  "issue_date": {
   "type": "string",
   "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
  },
  "line_items": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "description",
     "quantity",
     "unit_price"
    ],
    "properties": {
     "quantity": {
      "type": "number",
      "maximum": 1000000,
      "exclusiveMinimum": 0
     },
     "unit_price": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0
     },
     "description": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1
     }
    }
   },
   "maxItems": 200,
   "minItems": 1
  },
  "invoice_number": {
   "type": "string",
   "maxLength": 64,
   "minLength": 1
  },
  "payment_instructions": {
   "type": "string",
   "maxLength": 1000
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/paidpilot-invoice-pdf-generator-a1a25d5d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.paidpilot.io](https://www.zero.xyz/host/api.paidpilot.io/llms.txt)
