Facturalia MCP by usefulapi
Create invoices and credit notes; check whether invoices are sent and paid in Facturalia.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin facturalia_get_credit_note_status
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"facturalia": {
"url": "https://facturalia.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://facturalia.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (4)
🟢facturalia_get_invoice_status(number)
Get the sent and paid status of one invoice by its number. Facturalia API: GET /invoices/status/?number=.
Eingabe-Schema
{
"type": "object",
"properties": {
"number": {
"type": "string",
"minLength": 1,
"description": "The document number, exactly as Facturalia shows it (for example VF20260215)."
}
},
"required": [
"number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢facturalia_get_credit_note_status(number)
Get the paid status of one credit note by its number. Facturalia API: GET /creditnotes/status/?number=.
Eingabe-Schema
{
"type": "object",
"properties": {
"number": {
"type": "string",
"minLength": 1,
"description": "The document number, exactly as Facturalia shows it (for example VF20260215)."
}
},
"required": [
"number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴facturalia_create_invoice(external_id, invoice, customer, lines)
Create a sales invoice in the live Facturalia account from customer and line data. It creates a real invoice that counts toward the account's invoices; it is not sent by e-mail (autosend is not offered). Send external_id so a retry does not create a second invoice. Facturalia API: POST /invoices/.
Eingabe-Schema
{
"type": "object",
"properties": {
"external_id": {
"description": "Your own unique reference for this document. Send it on every create: the same external_id with the same body returns the same document; with a different body the API returns a conflict.",
"type": "string"
},
"invoice": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Document date, yyyy-mm-dd (Europe/Brussels)."
},
"number": {
"description": "Own document number. Omit it to let Facturalia number the document (recommended).",
"type": "string"
},
"language": {
"type": "string",
"enum": [
"nl",
"fr",
"en"
]
},
"note": {
"type": "string"
},
"reference": {
"description": "Free reference, for example the order number.",
"type": "string"
},
"is_paid": {
"description": "1 marks the document as paid.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"is_sent": {
"description": "1 marks the document as sent. This does not send it.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"vat_exemption_code": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"layout": {
"description": "PDF layout id from Facturalia.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"discount_amount": {
"description": "Do not combine with discount_percent.",
"type": "number"
},
"discount_percent": {
"description": "Do not combine with discount_amount.",
"type": "number"
},
"update_customer": {
"description": "1 updates the stored customer data when the customer already exists.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"update_products": {
"description": "1 updates the stored product data when the product already exists.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"due_days": {
"description": "Payment term in days from the invoice date.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"date"
],
"description": "The invoice header."
},
"customer": {
"type": "object",
"properties": {
"external_customer_no": {
"description": "Facturalia customer number (the customer's number in Facturalia).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"vat_number": {
"description": "VAT number, for example BE0123456789. Used to find an existing customer first.",
"type": "string"
},
"name": {
"description": "Customer name.",
"type": "string"
},
"street": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"description": "ISO-2 country code, for example BE.",
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"email": {
"description": "Billing e-mail address. Used to find an existing customer if the VAT number finds none.",
"type": "string"
},
"phone": {
"type": "string"
}
},
"description": "The customer. Give at least one of vat_number, name or external_customer_no."
},
"lines": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"product_code": {
"type": "string",
"description": "Product code. An existing product keeps its stored data on the invoice."
},
"quantity": {
"type": "number"
},
"unit_price": {
"type": "number",
"minimum": 0,
"description": "Unit price excluding VAT."
},
"vat_rate": {
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 6
},
{
"type": "number",
"const": 12
},
{
"type": "number",
"const": 21
}
],
"description": "VAT rate in percent: 0, 6, 12 or 21."
},
"unit": {
"description": "Unit name exactly as in Facturalia (default: stuks).",
"type": "string"
},
"product_name": {
"type": "string"
},
"product_group": {
"description": "Product group name exactly as in Facturalia.",
"type": "string"
},
"detail": {
"type": "string",
"maxLength": 200
},
"detail_long": {
"type": "string",
"maxLength": 5000
}
},
"required": [
"product_code",
"quantity",
"unit_price",
"vat_rate"
]
},
"description": "Invoice lines (at least one)."
}
},
"required": [
"invoice",
"customer",
"lines"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴facturalia_create_credit_note(external_id, creditnote, customer, lines)
Create a credit note in the live Facturalia account from customer and line data. It creates a real document; it is not sent by e-mail (autosend is not offered). Send external_id so a retry does not create a second credit note. Facturalia API: POST /creditnotes/.
Eingabe-Schema
{
"type": "object",
"properties": {
"external_id": {
"description": "Your own unique reference for this document. Send it on every create: the same external_id with the same body returns the same document; with a different body the API returns a conflict.",
"type": "string"
},
"creditnote": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Document date, yyyy-mm-dd (Europe/Brussels)."
},
"number": {
"description": "Own document number. Omit it to let Facturalia number the document (recommended).",
"type": "string"
},
"language": {
"type": "string",
"enum": [
"nl",
"fr",
"en"
]
},
"note": {
"type": "string"
},
"reference": {
"description": "Free reference, for example the order number.",
"type": "string"
},
"is_paid": {
"description": "1 marks the document as paid.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"is_sent": {
"description": "1 marks the document as sent. This does not send it.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"vat_exemption_code": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"layout": {
"description": "PDF layout id from Facturalia.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"discount_amount": {
"description": "Do not combine with discount_percent.",
"type": "number"
},
"discount_percent": {
"description": "Do not combine with discount_amount.",
"type": "number"
},
"update_customer": {
"description": "1 updates the stored customer data when the customer already exists.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
},
"update_products": {
"description": "1 updates the stored product data when the product already exists.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
}
]
}
},
"required": [
"date"
],
"description": "The credit note header."
},
"customer": {
"type": "object",
"properties": {
"external_customer_no": {
"description": "Facturalia customer number (the customer's number in Facturalia).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"vat_number": {
"description": "VAT number, for example BE0123456789. Used to find an existing customer first.",
"type": "string"
},
"name": {
"description": "Customer name.",
"type": "string"
},
"street": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"description": "ISO-2 country code, for example BE.",
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"email": {
"description": "Billing e-mail address. Used to find an existing customer if the VAT number finds none.",
"type": "string"
},
"phone": {
"type": "string"
}
},
"description": "The customer. Give at least one of vat_number, name or external_customer_no."
},
"lines": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"product_code": {
"type": "string",
"description": "Product code. An existing product keeps its stored data on the invoice."
},
"quantity": {
"type": "number"
},
"unit_price": {
"type": "number",
"minimum": 0,
"description": "Unit price excluding VAT."
},
"vat_rate": {
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 6
},
{
"type": "number",
"const": 12
},
{
"type": "number",
"const": 21
}
],
"description": "VAT rate in percent: 0, 6, 12 or 21."
},
"unit": {
"description": "Unit name exactly as in Facturalia (default: stuks).",
"type": "string"
},
"product_name": {
"type": "string"
},
"product_group": {
"description": "Product group name exactly as in Facturalia.",
"type": "string"
},
"detail": {
"type": "string",
"maxLength": 200
},
"detail_long": {
"type": "string",
"maxLength": 5000
}
},
"required": [
"product_code",
"quantity",
"unit_price",
"vat_rate"
]
},
"description": "Credit note lines (at least one)."
}
},
"required": [
"creditnote",
"customer",
"lines"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis