---
title: "Support & Quick Troubleshooting"
description: "Frihet customer support channels and troubleshooting matrix for VeriFactu, invoicing, banking, REST API, and MCP agents."
canonical_url: "https://docs.frihet.io/en/primeros-pasos/soporte-diagnostico"
language: "en"
---

# Support & Quick Troubleshooting

This guide covers Frihet's support channels, what details to include for first-contact resolution, and the quick diagnostic matrix for the most common issues (both in the web UI and via MCP agents or the REST API).

  - [**System Status**](https://status.frihet.io): Real-time availability for the web app, REST API v1, webhooks, and tax gateways.
  - [**Open Contextual Ticket**](https://www.frihet.io/en/contact?topic=support&from=docs:soporte-diagnostico): Direct support form routed by your plan priority and page context.
  - [**In-App Feedback & Bug Report**](/configuracion/widget-feedback): Report issues or request features directly from the screen you are working on.

---

## 1. Support Channels

You can write to us through the [contextual support form](https://www.frihet.io/en/contact?topic=support) or by email (see section 6). Support priority depends on your plan.

### What to Include for First-Contact Resolution

To resolve your request on the first reply—while keeping your account secure—include only reference identifiers (never send passwords, full API keys, or `.p12`/`.pfx` digital certificate files):

1. **Your account email** or workspace name.
2. **Affected document identifier**: invoice number/series (e.g. `F-2026-0142`), expense ID, or bank transaction date.
3. **Exact status code or message**: if you hit a tax authority rejection (AEAT / TicketBAI / SDI / KSeF) or a REST API error (`400`, `401`, `403`, `422`, `429`), paste the exact error code returned.

---

## 2. Quick Troubleshooting: Tax Compliance (VeriFactu, TicketBAI & E-Invoicing)

| Symptom or Message | Common Root Cause | Step-by-Step Resolution (UI & MCP Agent) |
| :--- | :--- | :--- |
| **Cannot edit or delete an issued invoice** | Under anti-fraud regulations ([fiscal immutability](/cumplimiento/inmutabilidad)), an issued and hash-chained invoice cannot be modified or deleted. | Issue a **corrective invoice (credit note)** from the invoice actions menu (**Create corrective**, by substitution `S` or by differences `I`), or call the `create_credit_note` MCP tool. |
| **AEAT rejection: recipient Tax ID (NIF/VAT) not identified** | The client's Tax ID contains formatting errors or does not match the legal business name in the AEAT census. | 1. Update the Tax ID and legal name on the client record ([Client Management](/clientes/gestion-clientes)).<br/>2. For EU intra-community clients, verify the VAT number using `frihet_tax_id_vies_lookup`.<br/>3. Resubmit the record via `verifactu_resubmit`. |
| **Digital certificate error when signing or submitting** | The `.p12` / `.pfx` certificate has expired, the password is incorrect, or the certificate was revoked. | Go to **Settings → VeriFactu and tax compliance**, upload a valid `.p12`/`.pfx` certificate, and enter its password. Check live status via `verifactu_status` or `ticketbai_status`. |
| **Facturae / XRechnung XML rejected by recipient** | Missing administrative routing codes (DIR3 codes for Spanish B2G FACe or `Leitweg-ID` for German B2G). | Fill in the administrative codes in the client profile before sending. More details in [Facturae B2G](/cumplimiento/facturae-b2g). |

---

## 3. Quick Troubleshooting: Invoicing, Payments & Email Delivery

| Symptom or Message | Common Root Cause | Step-by-Step Resolution |
| :--- | :--- | :--- |
| **Client says they did not receive the invoice email** | Typo in recipient address, strict corporate spam filter, or hard bounce recorded in activity log. | 1. Check the **Activity Log** inside the invoice detail view to see if the email status is *Delivered* or *Bounced*.<br/>2. Verify the email address on the client record and click **Resend**. |
| **"Pay online" button does not appear on the invoice or portal** | Payment gateway is not connected or the invoice is already marked as `paid`. | Connect [Stripe Connect](/integraciones/stripe-connect) or [GoCardless](/integraciones/gocardless) under **Settings → Integrations**. |
| **1-cent rounding difference on imported invoices** | Line-level rounding vs. subtotal-level rounding from external software imports. | Check tax and decimal rounding rules in [Pricing & Taxes](/productos/precios-impuestos). |

---

## 4. Quick Troubleshooting: Banking & Reconciliation

| Symptom or Message | Common Root Cause | Step-by-Step Resolution |
| :--- | :--- | :--- |
| **An imported bank payment does not auto-match its invoice** | The bank deposit arrived net of payment gateway fees or without the invoice number in the payment reference. | Go to **Finance → Banking**, filter the unmatched transactions, click **Review** and confirm the suggestion with **Apply**, or use **Link invoice** to do it manually. See [Automatic Bank Reconciliation](/finanzas/conciliacion-bancaria-automatica). |
| **Importing a statement (OFX, QFX, MT940, CAMT.053 or CSV) adds 0 transactions** | Transactions in that date range were already imported (duplicate protection safely skips them). | Verify the exported date range from your bank statement. See [Bank Connections](/finanzas/conexiones-bancarias). |

---

## 5. Quick Troubleshooting: REST API, Webhooks & MCP Server

| Code / Symptom | Root Cause | Resolution |
| :--- | :--- | :--- |
| **`401 Unauthorized` calling `https://api.frihet.io/v1`** | Missing `X-API-Key` header, revoked key, or trailing whitespace when copying the key. | Generate or verify your active key (`fri_live_...`) under **Settings → API Keys** and pass it in the `X-API-Key` HTTP header. |
| **`429 Too Many Requests`** | Per-minute API rate limit exceeded. | Honor the `Retry-After` response header and use pagination (`limit` / `cursor`). See [REST API](/desarrolladores/api-rest). |
| **Webhook endpoint is not receiving events** | Endpoint is not publicly reachable over HTTPS, has an invalid TLS certificate, or takes >10s to return a `2xx` status. | Click **Send test** under **Settings → Webhooks** or call the `test_webhook` MCP tool to inspect the HTTP status returned by your endpoint. |
| **AI agent (Claude Code / Cursor / ChatGPT) is missing new MCP tools** | Cached older version in `npx` or missing `FRIHET_API_KEY` environment variable in MCP config. | Ensure you run the latest published version of `@frihet/mcp-server` (1.17.0) or connect to `https://mcp.frihet.io/mcp`. See [Connect Your Agent](/agentes/conectar-tu-agente). |

---

## 6. Direct Contact

If you still need assistance after checking this guide:

- **Inside Frihet ERP**: open the sidebar menu → **Feedback**.
- **Contextual Web Support Form**: [www.frihet.io/en/contact](https://www.frihet.io/en/contact?topic=support&from=docs:soporte-diagnostico)
- **Support Email**: [ayuda@frihet.io](mailto:ayuda@frihet.io)
