# FIZ for Claude and ChatGPT

> Markdown edition of https://api.fiz.co/docs/mcp. Português: https://api.fiz.co/docs/mcp.md?lang=pt. Index: https://api.fiz.co/llms.txt

FIZ is an **MCP** (Model Context Protocol) server: connect it to your AI assistant and it can look up your documents, draft invoices and — only after you confirm each one — issue them.

Server URL: `https://api.fiz.co/mcp`

## How to connect

### Claude (web, desktop, mobile)

1.  Settings → Connectors → *Add custom connector*.
2.  Paste `https://api.fiz.co/mcp` and save.
3.  Enable the FIZ connector in a chat: you will be asked to sign in to FIZ and choose the company and permissions.

### ChatGPT

1.  Settings → Apps & Connectors → *Create*.
2.  Paste `https://api.fiz.co/mcp`, OAuth authentication, save.
3.  Sign in to FIZ when prompted and choose the company and permissions.

### Claude Code

```
claude mcp add --transport http fiz https://api.fiz.co/mcp
```

Then, in the session, `/mcp` → *fiz* → Authenticate.

## Permissions

On the authorization screen you pick **one company** and the permissions to delegate. Untick any of them; the connection is valid for that company only.

-   `company.read` — Read company settings
-   `invoicing.read_all` — Read all company invoicing data
-   `invoicing.read` — Read invoices, customers and items
-   `invoicing.write` — Create and edit drafts
-   `invoicing.issue` — Issue fiscal documents
-   `bank.read` — Read bank transactions
-   `expenses.read` — Read expenses
-   `support.write` — Send feedback to support

Issuing, recording payments, cancelling and issuing credit notes are legally binding acts reported to the Portuguese tax authority. The assistant always shows you a preview and executes only after your explicit confirmation; if the document changes in between, the operation is refused.

## Tools

| Tool | What it does | Permission |
| --- | --- | --- |
| `get_company` | Connected company, activity codes, VAT settings, granted permissions, and whether it can issue now (what is missing, with the FIZ page) | `company.read` |
| `find_customers` | Search customers by name, tax number or email | `invoicing.read` |
| `get_customer` | One customer in full | `invoicing.read` |
| `find_items` | Search the catalogue of products and services | `invoicing.read` |
| `find_invoices` | Search documents by type, status and text | `invoicing.read` |
| `get_invoice` | One document with lines, totals and tax-authority status | `invoicing.read` |
| `find_proposals` | Search pro formas by status and text — Personal connections and API keys only; unavailable to registered applications. | `invoicing.read` |
| `get_proposal` | One pro forma with lines, totals and the invoices raised from it — Personal connections and API keys only; unavailable to registered applications. | `invoicing.read` |
| `list_series` | The company’s numbering series | `company.read` |
| `create_customer` | Create a customer | `invoicing.write` |
| `create_item` | Create a catalogue item (with IRS withholding, for self-employed individuals) | `invoicing.write` |
| `create_invoice_draft` | Create a draft document (not reported to the AT) | `invoicing.write` |
| `update_invoice_draft` | Change a draft | `invoicing.write` |
| `create_proposal` | Create a pro forma (numbered, no fiscal effect) — Personal connections and API keys only; unavailable to registered applications. | `invoicing.write` |
| `prepare_issue_invoice / issue_invoice` | Preview and, after your confirmation, issue a draft | `invoicing.issue` |
| `prepare_record_payment / record_payment` | Preview and record a payment (issues a receipt) | `invoicing.issue` |
| `prepare_cancel_invoice / cancel_invoice` | Preview and annul an issued document, with a reason (formal errors such as NIF, name or address, or an operation that never happened; changes to the operation are corrected with a credit note) | `invoicing.issue` |
| `prepare_credit_note / issue_credit_note` | Preview and issue a credit note, full or partial (returned quantity or new price per line) | `invoicing.issue` |
| `find_transport_documents` | Search transport documents (guias) by type, status and text | `invoicing.read` |
| `get_transport_document` | One transport document with loading and unloading places, goods and AT code | `invoicing.read` |
| `create_transport_document_draft` | Create a draft transport document, with or without prices (not reported to the AT) | `invoicing.write` |
| `update_transport_document_draft` | Change a draft transport document | `invoicing.write` |
| `prepare_issue_transport_document / issue_transport_document` | Preview and, after your confirmation, issue a transport document and report it to the AT (before the loading time) | `invoicing.issue` |
| `prepare_cancel_transport_document / cancel_transport_document` | Preview and annul an issued transport document, before the transport starts | `invoicing.issue` |
| `list_bank_connections` | Connected bank accounts | `bank.read` |
| `find_bank_transactions` | Transactions of one bank account | `bank.read` |
| `find_expenses` | Expenses imported from e-Fatura, with categorisation and deductible VAT | `expenses.read` |
| `get_expense_stats` | Expense totals for a period | `expenses.read` |
| `send_feedback` | Send a bug report or suggestion to FIZ support, after you confirm it | `support.write` |

## Disconnect

At [app.fiz.co/settings/integrations](https://app.fiz.co/settings/integrations), section *Connected AI assistants*: *Disconnect* revokes access immediately. Deleting the FIZ account revokes every connection.

## Data

Data returned to the assistant (customer names, tax numbers, amounts) is processed by the assistant’s provider (Anthropic or OpenAI) under their terms. FIZ does not store conversation content. No API keys are involved: access is an OAuth connection with short-lived tokens.
