---
title: "Altoviz Integration"
description: "Altoviz is a French small business management platform for TPE and PME. Agents manage customers, suppliers, and the product catalog, create and send quotes and invoices, and react to webhook events as the books change."
url: https://flowrunner.ai/integrations/altoviz
date_modified: 2026-09-04T14:53:04-07:00
---

# Altoviz

[Accounting](https://flowrunner.ai/integrations/category/finance-accounting)

Altoviz is a French small business management platform for TPE and PME. Agents manage customers, suppliers, and the product catalog, create and send quotes and invoices, and react to webhook events as the books change.

1 trigger · 100 actions · API key · available

[Altoviz website](https://altoviz.com/) · [Platform Documentation](https://developer.altoviz.com/) · Capability data verified 2026-08-24

1.  A job is marked complete in the operations system and is ready to bill
2.  Get Account Settings reports whether the account prices tax included or tax excluded
3.  Create Invoice builds the draft with the customer's region and the catalog lines
4.  Check Invoice E-Invoicing reports what the French electronic invoicing rules are still missing
5.  The agent patches the gaps it can source, usually a SIRET or a Peppol address on the customer record
6.  Finalize Invoice assigns the number, then Send Invoice delivers it to the named recipients
7.  Anything the readiness check flagged that the agent could not source goes to a person before finalizing

## What This Integration Enables

France is moving its businesses onto mandatory electronic invoicing, and Altoviz is one of the few small business platforms that will tell you where you stand before a document is rejected rather than after. Check Invoice E-Invoicing runs against a draft and reports what the rules are missing, usually the customer's SIRET, VAT number, Peppol electronic address or purchase order reference. Get E-Invoicing Readiness does the same across every customer and supplier at once. Those two operations are the reason to automate this connector rather than click through it, because a readiness sweep is exactly the kind of standing job nobody schedules and everybody needs.

Around that sits a full French SMB platform: customers, suppliers, contacts and colleagues, a product catalog, quotes, invoices, credit notes, customer receipts, purchase invoices captured from a file, thirteen accounting exports and a set of turnover reports. Two things shape how agents should write to it. Invoices and credit notes are created as drafts and only Finalize Invoice makes them real. And the region field on a customer is a tax decision rather than an address, selecting between mainland France, the European Union, Ireland, an overseas department, Corsica and Monaco. Set it wrong and the document carries legally wrong VAT with no warning anywhere, which is why FlowRunner's [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) gates sit on the operations that make a document permanent.

### Without FlowRunner

**Rejections discovered one at a time**: A missing SIRET or VAT number surfaces when a specific invoice bounces, months into the relationship

**Drafts that look finished**: Create returns a draft with no number, and nothing on screen distinguishes it from a billable document

**Exports assembled by hand**: Month end means pulling several reports out of the interface and stitching them together in a spreadsheet

### With FlowRunner

**Gaps found before the document exists**: The readiness check runs across counterparties on a schedule, not per invoice at the moment of failure

**Drafts are a state the flow tracks**: The agent knows a draft is not billable and either finalizes it or hands it over as an exception

**Exports arrive as data**: The accounting exports come back as JSON a later step can read, on a schedule, into the warehouse

## Use Case Scenarios

### The readiness sweep nobody has to remember

On a schedule, the agent calls Get E-Invoicing Readiness and gets back which customers and suppliers are configured for the French mandate and which are not. For each flagged counterparty it reads the record with Get Customer, looks the missing SIRET or VAT number up against a company registry, and patches it with Update Customer. Counterparties it cannot resolve, typically foreign entities and one person businesses with no public registration, arrive as a short list in [Slack](https://flowrunner.ai/integrations/slack) with the specific field that is missing. The list shrinks every week instead of arriving all at once on the mandate date.

### Payments recorded once, even when the webhook retries

A settlement lands from [Stripe](https://flowrunner.ai/integrations/stripe) or a credit appears on a [Qonto](https://flowrunner.ai/integrations/qonto) account. The agent calls Find Receipt against the provider's own transaction id, which it stores in the receipt's internal id field. If the receipt already exists, the flow stops and nothing is double credited. If it does not, Create Receipt records it with a link to the invoice, or Mark Invoice As Paid settles the balance directly and finalizes a still draft invoice in the same call. Create Receipt without a link leaves the money sitting unallocated against the customer, so the agent always resolves the invoice first or escalates.

### Month end that produces data instead of files

The agent runs Export Data across the expense book, the receipts book and the settlements register, choosing JSON because it is the one format a later step can read as data rather than as an encoded document. It reconciles those rows against a bank feed, writes the matched set to [Google Sheets](https://flowrunner.ai/integrations/google-sheets) for the accountant, and files everything unmatched as tasks. Get Turnover Evolution and Get Monthly Statistics supply the commentary that usually gets written by hand. The close still ends with a person reading the exceptions, which is the part that was always worth their time.

## Human-in-Loop Highlight

Altoviz publishes create, read, find, delete, send and download for quotes, and no update at all. That absence is the whole gate. When a customer asks for a change to a quote they are already holding, the agent cannot edit it. The only route is Delete Quote and Create Quote, which issues a new quote number, and the customer's copy, the PDF in their inbox and any reference in the thread now point at a document that no longer exists. So the agent stops and asks: "Quote DEV-2026-0184 for Menuiserie Baudry was sent on 14 August and cannot be updated. Changing line 3 means deleting it and issuing a new number. Delete and reissue, or send the change as a separate quote?" The operator decides, and if they choose reissue the agent sends the replacement with an explanation rather than leaving the customer to notice. The agent is fast at rebuilding the document. It should not be the thing that decides a number the customer is already quoting back to you stops existing.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

100 actions

### Account and reference data

9

-   **Test Connection** Calls the vendor's hello route to prove the API key works, without touching any data.
-   **Get Current User** Returns the user the key belongs to.
-   **Get Account Settings** Reports the account's own defaults, including whether prices are read as tax included or tax excluded.
-   **List VAT Rates** Lists the VAT rates available, which document lines reference by id.
-   **List Units** Lists the units of measure lines can carry.
-   **List Classifications** Lists the accounting classifications used to categorize records.
-   **List Bank Account Providers** Lists the bank providers the account can connect to.
-   **List Homecare Activities** Lists the personal services activities, relevant only to accounts registered under the French services a la personne scheme.
-   **List Homecare TSA Groups** Lists the personal services groupings used by the same scheme.

### Customers

12

-   **List Customers** Lists customers with paging. Page size defaults small, so a flow reading a whole book sets it explicitly.
-   **Get Customer** Retrieves a single customer by the Altoviz identifier.
-   **Find Customer** Looks a customer up by criteria rather than by id, which is how a flow matches an incoming order.
-   **Get Customer By Internal ID** Retrieves a customer by the identifier your own system wrote onto it, so nothing has to store Altoviz ids.
-   **Create Customer** Creates a customer. The region field selects the VAT rate set and is a tax decision rather than an address.
-   **Update Customer** Updates a customer. A nested block you supply replaces the stored one whole rather than merging into it.
-   **Delete Customer** Deletes a customer record.
-   **List Customer Contacts** Lists the people attached to a customer.
-   **List Customer Families** Lists the customer groupings configured on the account.
-   **Get Customer Family** Retrieves a single customer grouping.
-   **Create Customer Family** Creates a customer grouping.
-   **Delete Customer Family** Removes a customer grouping.

### Suppliers

8

-   **List Suppliers** Lists suppliers with paging.
-   **Get Supplier** Retrieves a single supplier.
-   **Find Supplier** Looks a supplier up by criteria, used to match an incoming purchase invoice.
-   **Get Supplier By Internal ID** Retrieves a supplier by your own identifier.
-   **Create Supplier** Creates a supplier record.
-   **Update Supplier** Updates a supplier, with the same whole block replacement rule as customers.
-   **Delete Supplier** Deletes a supplier record.
-   **List Supplier Contacts** Lists the people attached to a supplier.

### Contacts

6

-   **List Contacts** Lists contacts across the account.
-   **Get Contact** Retrieves a single contact.
-   **Find Contact** Looks a contact up by criteria.
-   **Create Contact** Creates a contact.
-   **Update Contact** Updates a contact.
-   **Delete Contact** Deletes a contact.

### Colleagues

7

-   **List Colleagues** Lists the people inside the business, used for expense reports and assignment.
-   **Get Colleague** Retrieves a single colleague.
-   **Find Colleague** Looks a colleague up by criteria.
-   **Get Colleague By Internal ID** Retrieves a colleague by your own identifier, which is how an HR system stays the source of truth.
-   **Create Colleague** Creates a colleague record.
-   **Update Colleague** Updates a colleague record.
-   **Delete Colleague** Deletes a colleague record.

### Products

12

-   **List Products** Lists the catalog with prices and VAT rates.
-   **Get Product** Retrieves a single catalog product.
-   **Find Product** Looks a product up by criteria, used when a line references a name rather than an id.
-   **Create Product** Creates a catalog product. Its own tax inclusive flag is independent of the document's, so a catalog built one way and a document built the other will not agree.
-   **Update Product** Updates a catalog product.
-   **Delete Product** Removes a catalog product.
-   **Set Product Image** Attaches an image to a catalog product.
-   **Delete Product Image** Removes a product's image.
-   **List Product Families** Lists the product groupings on the account.
-   **Get Product Family** Retrieves a single product grouping.
-   **Create Product Family** Creates a product grouping.
-   **Delete Product Family** Removes a product grouping.

### Invoices

11

-   **List Invoices** Lists invoices with paging and status filters.
-   **Get Invoice** Retrieves a single invoice, including whether it is still a draft.
-   **Find Invoices** Looks invoices up by criteria, which is how a flow finds the document carrying your own reference.
-   **Create Invoice** Creates an invoice as a draft with no legal number. Nothing in the response says so other than the draft flag.
-   **Update Invoice** Updates a draft invoice. Supplying the lines replaces the entire set.
-   **Delete Invoice** Deletes a draft invoice. A finalized one is refused rather than silently ignored.
-   **Finalize Invoice** Assigns the next number in the sequence and locks the document. After this the correction is a credit note.
-   **Check Invoice E-Invoicing** Reports what the French electronic invoicing rules are missing on a draft, while it can still be fixed.
-   **Mark Invoice As Paid** Records settlement, defaulting to the whole outstanding balance. It can finalize a still draft invoice in the same call.
-   **Send Invoice** Emails the invoice to an explicit list of recipients. The customer's own address is not assumed.
-   **Download Invoice PDF** Fetches the rendered PDF for archiving.

### Credit notes

11

-   **List Credit Notes** Lists credit notes with paging.
-   **Get Credit Note** Retrieves a single credit note.
-   **Find Credit Notes** Looks credit notes up by criteria.
-   **Create Credit Note** Creates a credit note as a draft.
-   **Update Credit Note** Updates a draft credit note.
-   **Delete Credit Note** Deletes a draft credit note.
-   **Finalize Credit Note** Assigns the number and locks the credit note.
-   **Check Credit Note E-Invoicing** Reports what the electronic invoicing rules are missing on a draft credit note.
-   **Mark Credit Note As Refunded** Records that the credit note has been refunded to the customer.
-   **Send Credit Note** Emails the credit note to an explicit list of recipients.
-   **Download Credit Note PDF** Fetches the rendered credit note PDF.

### Quotes

7

-   **List Quotes** Lists quotes with their status.
-   **Get Quote** Retrieves a single quote.
-   **Find Quotes** Looks quotes up by criteria.
-   **Create Quote** Creates and issues a quote straight away, with no separate finalization step.
-   **Delete Quote** Deletes a quote. With no update route published, this is half of the only way to change one, which is why it carries this page's human gate.
-   **Send Quote** Emails the quote to an explicit list of recipients.
-   **Download Quote PDF** Fetches the rendered quote PDF.

### Receipts

6

-   **List Receipts** Lists customer receipts.
-   **Get Receipt** Retrieves a single receipt.
-   **Find Receipt** Looks a receipt up by criteria, which is how a retried payment webhook proves the money was already recorded.
-   **Create Receipt** Records a customer payment. Without links it leaves the money unallocated against the customer rather than applied to an invoice.
-   **Update Receipt** Updates a receipt's amount or allocation.
-   **Delete Receipt** Removes a receipt.

### Purchase invoices

2

-   **Create Purchase Invoice From File** Posts a PDF or image and lets Altoviz extract the amounts. The extraction is automatic, so the created record is worth reading before the figures are trusted.
-   **Download Purchase Invoice PDF** Fetches the stored purchase invoice file.

### Exports and statistics

6

-   **Export Data** Runs any of the thirteen accounting exports. JSON is the only format a later flow step can read as data.
-   **Get Monthly Statistics** Returns the account's monthly figures.
-   **Get Turnover Comparison** Compares turnover across periods.
-   **Get Global Turnover** Returns overall turnover for the account.
-   **Get Turnover Evolution** Returns how turnover has moved over time, useful as context before a collections decision.
-   **Get E-Invoicing Readiness** Reports which customers and suppliers are configured for the French mandate and which are not.

### Webhooks

3

-   **List Webhooks** Shows what is currently registered, which is the first place to look when deliveries stop arriving.
-   **Create Webhook** Registers a webhook by hand, outside the trigger's own lifecycle.
-   **Delete Webhook** Removes a registered webhook.

## Triggers

1 triggers

### Event Triggers

1

-   **On Altoviz Event** Fires on the documented created, updated and deleted events for contacts, customers, invoices, products and quotes, or on all of them at once. FlowRunner registers the webhook when the trigger is switched on and removes it when it is switched off. Altoviz signs each delivery with an HMAC over the raw body, so configure the signing secret and every delivery is verified before the flow runs. Without a secret the deliveries are accepted unverified, which makes the callback URL the only thing standing between a stranger and your workflow.

## Frequently asked questions

### What can FlowRunner do with Altoviz?

FlowRunner agents can run Test Connection, Get Current User, and Get Account Settings in Altoviz, plus 97 more actions.

### Does connecting Altoviz to FlowRunner require OAuth?

No. Altoviz connects to FlowRunner with an API key, no OAuth flow required.

### Can Altoviz trigger a FlowRunner workflow automatically?

Yes. Altoviz supports 1 trigger that can start a FlowRunner workflow automatically.

**Work at Altoviz?** This integration exposes Altoviz to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/altoviz. Site index: https://flowrunner.ai/llms.txt
