# FreelanceDesk Invoice HTML Renderer

> FreelanceDesk Invoice HTML Renderer is a paid API for AI agents from afraid-butterfly-5236.obtranzat.deno.net, paid per call via x402, $0.1/call, status unknown (last checked 2026-11-01).

Generates a self-contained HTML invoice document from structured invoice JSON, returned in the same response after a $0.10 USDC micropayment on Base.

## Facts

- Endpoint: POST https://afraid-butterfly-5236.obtranzat.deno.net/v1/invoice/render?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/freelancedesk-invoice-html-renderer-f0505fd0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mNicNJWOt5oVHmn4ZpzSh

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 freelancedesk-invoice-html-renderer-f0505fd0 -d '<json body>'
```

Example prompt: Generate an HTML invoice for my client Acme Corp (acme@example.com, VAT DE123456789) from my company Pixel Studio (studio@pixelstudio.dev) — invoice number 2026-014, issued 2026-06-01, due 2026-06-30, for 8 hours of web design at €120/hour plus 20% VAT exclusive, currency EUR.

## When to prefer this

Choose this endpoint when you need a self-contained, browser-renderable HTML invoice document that can be emailed directly or embedded in a web page — as opposed to the PDF endpoint when a print-ready fixed-layout file is needed, or the validate endpoint when you only want to check invoice data without generating a document. Ideal for agents that need to deliver invoices via email HTML or display them inline.

## Known failure modes

- Missing required seller or client name returns 422 validation error
- Invalid date format (not YYYY-MM-DD) causes rejection
- Line items with negative or zero quantity are rejected (exclusiveMinimum: 0)
- unitPrice with more than 2 decimal places may be rejected
- Payment not settled (insufficient USDC balance or wrong chain) returns 402 with payment challenge and no document
- More than 100 line items exceeds maxItems limit
- Invalid currency code (non-ISO 4217) may produce unexpected output or error

## How this service works

Invoicing and billing resources sold per call to software. POST invoice JSON to check it (0.05 USD), get a print-ready A4 invoice as PDF (0.10 USD) or as self-contained HTML (0.10 USD), or GET the FreelanceDesk app and document pack as zip downloads. Each endpoint answers 402 with two payment options: an x402 v2 PAYMENT-REQUIRED challenge and an MPP WWW-Authenticate challenge (method evm, intent charge). Both settle an exact USDC EIP-3009 transfer on Base (eip155:8453) and return the resource in the same response.

## Output

A JSON object containing a 'html' field with the complete self-contained HTML invoice document as a string, a 'total' field with the computed invoice total as a formatted string, and a 'currency' field with the ISO 4217 currency code used.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "date": {
   "type": "string",
   "description": "Issue date, YYYY-MM-DD"
  },
  "items": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "description",
     "quantity",
     "unitPrice"
    ],
    "properties": {
     "taxRate": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
     },
     "quantity": {
      "type": "number",
      "exclusiveMinimum": 0
     },
     "unitPrice": {
      "type": "string",
      "description": "Non-negative amount, max 2 decimals"
     },
     "description": {
      "type": "string"
     }
    }
   },
   "maxItems": 100,
   "minItems": 1
  },
  "notes": {
   "type": "string"
  },
  "client": {
   "type": "object",
   "required": [
    "name"
   ],
   "properties": {
    "name": {
     "type": "string"
    },
    "email": {
     "type": "string"
    },
    "vatId": {
     "type": "string"
    },
    "address": {
     "type": "string"
    }
   }
  },
  "number": {
   "type": "string",
   "description": "Invoice number, e.g. 2026-014"
  },
  "seller": {
   "type": "object",
   "required": [
    "name"
   ],
   "properties": {
    "name": {
     "type": "string"
    },
    "email": {
     "type": "string"
    },
    "vatId": {
     "type": "string"
    },
    "address": {
     "type": "string"
    }
   }
  },
  "dueDate": {
   "type": "string",
   "description": "Due date, YYYY-MM-DD"
  },
  "taxMode": {
   "enum": [
    "exclusive",
    "inclusive"
   ],
   "type": "string",
   "description": "default exclusive"
  },
  "currency": {
   "type": "string",
   "description": "ISO 4217 code, default EUR"
  },
  "taxLabel": {
   "type": "string",
   "description": "default VAT"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "html": "<!doctype html><html lang=\"en\"></html>",
  "total": "242.00",
  "currency": "EUR"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/freelancedesk-invoice-html-renderer-f0505fd0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from afraid-butterfly-5236.obtranzat.deno.net](https://www.zero.xyz/host/afraid-butterfly-5236.obtranzat.deno.net/llms.txt)
