canonical: https://jentic.com/apis/invovate.com/invovate

# Invovate Invoice API

The Invovate Invoice API generates an invoice from a single JSON payload and does the line-item math server-side, including per-line and global discounts, single or multi-component tax, tax-inclusive pricing, shipping, deposits, and rounding. It returns the computed totals as JSON, a rendered PDF, or UBL 2.1 XML, in 11 languages and across 21 currencies, with 5 templates, logo and signature, payment details, and an optional QR code that opens a signed hosted link. A batch call renders up to 50 invoices at once, and webhooks report invoice.generated and batch.generated events. UBL export is for interoperability and archival, not regulated e-invoice transmission.

## For AI agents

Generate invoices with server-side tax, discount, and total calculation and get them back as JSON, PDF, or UBL 2.1 XML, singly or in batches of up to 50.

## Scope

Does not handle payment collection, accounting ledgers, or regulated e-invoice transmission such as Peppol. Use for generating invoice totals, PDFs, and UBL documents only.

## Capabilities

- Generate an invoice from from, to, and items with tax, discounts, shipping, and deposit computed server-side
- Render the invoice as a PDF or UBL 2.1 XML instead of JSON totals
- Set invoice language, currency, due_date, po_number, and a custom title such as QUOTE
- Render up to 50 invoices in one batch request
- Register a webhook for invoice.generated or batch.generated events
- Make retries safe by sending an Idempotency-Key header

## Use cases

### AI billing agent issuing invoices on request

A developer's agent connected through Jentic finds the Invovate generate-invoice operation by intent and calls it with the inv_ key injected at execution time. Given a client, line items, and a tax rate, it gets back computed totals and a rendered PDF, so a freelancer can say 'invoice Acme for 12 hours at 90 an hour' and receive a finished document without the key entering the agent's context.

Example prompt: POST `/api/generate-invoice` with from and to parties, one item of 12 hours at 90 USD, global_tax 20, invoice.due_date in 14 days, and an Idempotency-Key, requesting PDF output

### Multilingual invoices and quotes

Businesses billing abroad need invoices in the client's language and currency. The invoice block takes a language such as de, ja, ar, or hi, a currency code, and a title override like 'QUOTE' or 'TAX INVOICE', and tax_inclusive switches the math to inclusive pricing.

Example prompt: POST `/api/generate-invoice` with invoice.language 'de', invoice.currency 'EUR', invoice.title 'ANGEBOT', and tax_inclusive true for three line items

### Month-end batch invoicing

Month-end billing for many customers runs faster as one request. The batch endpoint accepts up to 50 invoice payloads, requires an API key, and a batch.generated webhook can notify a downstream system when the batch completes.

Example prompt: POST `/api/webhooks` with url 'https://example.org/hooks/invoices' and events ['batch.generated'], then POST `/api/batch` with this month's 30 invoice payloads

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/generate-invoice` | Generate an invoice |
| POST | `/api/batch` | Generate up to 50 invoices |
| GET | `/api/i/{id}` | Open a hosted invoice |
| POST | `/api/webhooks` | Register a webhook |
| GET | `/api/webhooks` | List webhooks |

## Key resources

- **Invoices** — Generate a single invoice as JSON, PDF, or UBL 2.1 XML, or a batch of up to 50
- **Hosted invoices** — Open a signed hosted invoice link as JSON or PDF
- **Webhooks** — Register, list, get, and delete webhooks for invoice.generated and batch.generated events

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 66 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 100 / 100
  - Developer Experience & Jentic Compatibility: 62 / 100
  - AI-Readiness & Agent Experience: 45 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 80 / 100
- **View full report:** https://jentic.com/apis/invovate.com/invovate/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Invovate by hand means knowing which outputs need the inv_ bearer key and which run anonymously, adding Idempotency-Key headers for safe retries, and mapping the nested invoice payload. Through Jentic you install once, import Invovate from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Invovate carries the invoice content in the request body, so rules bound which operations your agent may call rather than which customer it invoices. You choose the operations it may call, so batch generation or webhook registration and deletion are not included unless you add them.
- **Credential handling:** Your Invovate API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate an invoice' or 'create a PDF quote', and Jentic returns the matching Invovate operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **PDFMonkey** — Template-based PDF document generation
- **Zoho** — Business software suite including invoicing
- **Stripe** — Payment processing for collecting what the invoice bills

## FAQ

### What authentication does the Invovate Invoice API use?

Per its OpenAPI spec, Invovate uses bearer authentication with an API key from your dashboard (format inv_xxxxxxxx) in the Authorization header. The key is optional on POST `/api/generate-invoice` when you only need JSON totals, and required for PDF or UBL output, POST `/api/batch`, and the webhook operations. GET `/api/i/{id}` needs no key and is authorised by the signed t parameter in the hosted link. Through Jentic the key is stored by your own instance and attached at call time.

### Can I get a PDF invoice from the Invovate API?

Yes. POST `/api/generate-invoice` returns JSON totals by default, a rendered PDF, or UBL 2.1 XML. PDF and UBL output require an API key, which Invovate issues on a free tier.

### What are the rate limits for the Invovate Invoice API?

The OpenAPI spec states that anonymous calls to POST `/api/generate-invoice`, without an API key, are rate-limited to 30 per hour per IP, shared across cloud egress IPs. Limits for keyed calls are not given in the spec, so check https://invovate.com for current figures.

### Is there an Invovate MCP server?

You don't need an MCP server to give your agent Invovate. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the invoice and webhook operations it needs, discovered on demand rather than loaded into its context.

### Can I limit what my agent is allowed to do with Invovate?

Yes. For example, write a rule that allows only POST `/api/generate-invoice`, so the agent can produce single invoices but cannot run batches, register webhooks that send data to another URL, or delete existing webhooks, and every call it makes is logged.

### How do I generate an invoice through Jentic?

Import the Invovate Invoice API from the Jentic API Directory and store your inv_ key once. Your agent searches for 'generate an invoice', gets POST `/api/generate-invoice` with its schema, and sends from, to, and items, the three required fields. To run it on your own infrastructure, install Jentic One from its GitHub repo.
