# FreelanceDesk Invoice Validator

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

Validates invoice JSON for correctness and returns computed totals, currency, and any validation findings for $0.05 USDC per call.

## Facts

- Endpoint: POST https://afraid-butterfly-5236.obtranzat.deno.net/v1/invoice/validate?utm_source=zero.xyz
- Price: $0.05/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-validator-f2d5cf74
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ycXm4PleFxeLiyGbbJig0

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-validator-f2d5cf74 -d '<json body>'
```

Example prompt: Can you check this invoice for me — it's invoice number 2026-014 from Acme Consulting to ClientCorp, dated 2026-06-01, due 2026-06-30, with two line items: 10 hours of development at 80.00 EUR each and 1 project setup fee at 200.00 EUR, both with 21% VAT exclusive, currency EUR?

## When to prefer this

Use this endpoint when you need a fast, cheap ($0.05) pre-flight check on invoice data before committing to a more expensive PDF or HTML render ($0.10). Ideal for catching structural errors, verifying tax computations, and confirming totals in an automated billing workflow. Prefer this over direct PDF generation when the invoice data source is uncertain or programmatically assembled and may contain errors.

## Known failure modes

- Invalid or missing required fields (seller.name, client.name, or items) cause validation findings in the findings array
- Payment not completed (402 response with x402 or MPP challenge if USDC payment not settled)
- Malformed JSON body returns parse error
- Items array empty or exceeds 100 items returns schema validation error
- Invalid date format (not YYYY-MM-DD) causes rejection
- unitPrice with more than 2 decimal places fails schema validation
- Unsupported currency code may cause downstream rendering issues

## 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 indicating whether the invoice is valid (boolean), the invoice number, computed totals (net, tax, and total amounts as strings), currency code, and an array of findings or validation errors. Returns valid:true with an empty findings array when the invoice passes all checks.

## 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": {
  "valid": true,
  "number": "2026-014",
  "totals": {
   "net": "200.00",
   "tax": "42.00",
   "total": "242.00"
  },
  "currency": "EUR",
  "findings": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/freelancedesk-invoice-validator-f2d5cf74/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)
