canonical: https://jentic.com/apis/evoliz.io/evoliz

# Evoliz API

Jentic publishes the only available OpenAPI specification for Evoliz API, keeping it validated and agent-ready. Evoliz is a French accounting and invoicing platform whose API exposes 10 endpoints for managing companies, clients, deliveries, payments, and PDF settings. Operations are scoped under `/api/v1/companies/{companyId}`/* so each request targets a specific accounting entity, with bearer-token authentication issued via `/api/login.`

## For AI agents

Manage Evoliz companies, clients, deliveries, payments, and PDF settings via 10 bearer-token-secured endpoints scoped to a company ID.

## Scope

Does not handle payroll, inventory, or general-ledger journal entries - use for client, delivery, payment, and PDF-settings operations within Evoliz only.

## Capabilities

- Authenticate against `/api/login` to obtain a bearer token for subsequent calls
- List the companies attached to the authenticated Evoliz account
- Manage clients per company via `/api/v1/companies/{companyId}/clients`
- Track deliveries linked to invoices and orders via `/api/v1/companies/{companyId}/deliveries`
- Record and reconcile payments via `/api/v1/companies/{companyId}/payments`
- Configure PDF document settings (branding, labels, templates) per company

## Use cases

### Multi-Company Invoice Operations

Accountants who manage several SARLs, micro-entreprises, or holding structures juggle different VAT rules and branding per entity. The `/api/v1/companies/{companyId}`/* path family scopes every Evoliz call to one company, so an agent can iterate across the company list and apply per-entity actions (create clients, record payments) without mixing data between books.

Example prompt: GET `/api/v1/companies`, then for each companyId POST `/api/v1/companies/{companyId}/clients` with the new client payload

### Payment Reconciliation

Finance teams reconcile bank receipts against issued invoices nightly. The Evoliz payments endpoint accepts payment records linked to a company, letting an agent ingest a bank statement, match each receipt against an Evoliz invoice, and POST the reconciled payment so the ledger updates without manual spreadsheet work.

Example prompt: Read the day's bank statement, match each receipt to an open invoice, and POST `/api/v1/companies/{companyId}/payments` for each matched receipt

### Branded PDF Configuration

Boutique firms tailor invoice PDFs per company brand - logo, colour, payment instructions, mandatory legal mentions. The PDF settings endpoint lets an agent push that configuration programmatically when onboarding a new entity, so the first invoice issued already matches the brand without manual UI configuration.

Example prompt: PATCH `/api/v1/companies/{companyId}/settings/pdf` with the new logo URL and accent colour after onboarding a new client company

### AI Bookkeeper via Jentic

An AI bookkeeping assistant inside a French SME drafts client records and books payments inside Evoliz from chat instructions. Jentic exposes Evoliz's bearer-secured endpoints as MCP tools so the agent searches by intent and executes per-company calls without staff ever leaving the chat.

Example prompt: Use Jentic search 'record an evoliz payment' to find POST `/api/v1/companies/{companyId}/payments`, load schema, and execute on bank-receipt events

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/login` | Issue a bearer token |
| GET | `/api/v1/companies` | List companies |
| GET | `/api/v1/companies/{companyId}/clients` | List clients of a company |
| GET | `/api/v1/companies/{companyId}/deliveries` | List deliveries |
| GET | `/api/v1/companies/{companyId}/payments` | List payments |
| GET | `/api/v1/companies/{companyId}/settings/pdf` | Read PDF settings |

## Key resources

- **login** — Issue a bearer token from Evoliz credentials
- **companies** — List companies under the account
- **clients** — Per-company client records
- **deliveries** — Delivery records linked to invoices and orders
- **payments** — Payment records reconciled against invoices
- **settings/pdf** — Company-level PDF document configuration

## Why Jentic

- **Setup:** Wiring the Evoliz API by hand means calling its `/api/login` to mint a bearer token, refreshing it, pointing at the www.evoliz.io host, and coding the per-company client, delivery, and payment reads yourself. Through Jentic you install once, import the Evoliz API from the API Directory, store the credentials once, and your agent calls it while Jentic refreshes the bearer for you.
- **Permission scoping:** Evoliz puts the company id in the URL path (`/api/v1/companies/{companyId}/clients`), so a rule can pin your agent to one company: it can read that company's clients, deliveries, payments, and PDF settings and nothing else. You choose the operations it may call, so the agent only gets the ones you place in the allowed set.
- **Credential handling:** Your Evoliz login credentials and bearer token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list evoliz clients' or 'read company payments', and Jentic returns the matching Evoliz operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Xero Accounting API** — Xero offers a richer accounting and invoicing surface for English-speaking markets.
- **Sage API** — Sage covers accounting and ERP across many regions including France.
- **Stripe API** — Stripe collects payments that can then be recorded against Evoliz invoices.

## FAQ

### Why is there no official OpenAPI spec for Evoliz API?

Evoliz does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Evoliz API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Evoliz API use?

Evoliz uses HTTP bearer tokens issued by POST `/api/login.` Through Jentic, login credentials sit in your Jentic One instance and Jentic refreshes the bearer token transparently so the agent only sees scoped execution rights.

### Can I record a payment against an invoice with the Evoliz API?

Yes. POST `/api/v1/companies/{companyId}/payments` with the payment payload referencing the invoice ID. Evoliz reconciles the payment to the invoice in the ledger automatically.

### What are the rate limits for the Evoliz API?

The OpenAPI spec does not declare specific rate limits; Evoliz applies plan-based throttling. Inspect 429 responses and Retry-After headers and confirm your account ceiling with Evoliz support before high-volume reconciliations.

### How do I list a company's clients through Jentic?

Run pip install jentic, then await client.search('list evoliz clients'), client.load, client.execute. Jentic returns GET `/api/v1/companies/{companyId}/clients` with the companyId path parameter wired into the input schema.

### Can I configure invoice PDF branding via the Evoliz API?

Yes. The `/api/v1/companies/{companyId}/settings/pdf` endpoint exposes per-company PDF configuration so an agent can push logo, accent colour, and template choices without using the Evoliz web UI.

### Can I limit what my agent is allowed to do with the Evoliz API?

Yes. Because Evoliz puts the company id in the URL path, such as `/api/v1/companies/{companyId}/clients`, a rule in your self-hosted Jentic One can pin your agent to a single company so it only reads that company's clients, deliveries, payments, and PDF settings and nothing else. You decide which operations sit in the allowed set, so the agent can call GET `/api/v1/companies/{companyId}/payments` without also being able to POST new payments unless you permit it. The rules and stored credentials live in your own instance, so the agent only ever gets the scoped operations you grant.
