Skip to main content
Glama
assoujojo82-coder

synergieloc — French Real-Estate Legal Calculations

facture_facturx

Ensure compliance with French e-invoicing reform by generating Factur-X invoices (PDF/A-3 + XML EN16931). Submit seller, buyer, and line items to get a valid invoice or a preview PDF.

Instructions

QUAND une facture doit être conforme à la facturation électronique française (réforme e-facture, EN 16931). Facture Factur-X (PDF/A-3 + XML EN 16931). POST /api/v1/documents/facturx. seller{}, buyer{}, lines[] (description, quantity, unit_price HT, vat_rate). format=preview pour PDF sans XML.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
buyerYesAcheteur : raison sociale, adresse, et SIRET pour une facture entre professionnels.
linesYesLignes de facturation : désignation, quantité, prix unitaire, taux de TVA.
notesNoRemarques libres ajoutées en bas du document.
formatNoFormat de sortie : « pdf » pour la facture lisible, « xml » pour le flux Factur-X seul.
sellerYesVendeur : raison sociale, adresse, SIRET et numéro de TVA.
due_dateNoDate d'échéance de paiement. Format ISO AAAA-MM-JJ. Par défaut, la date du jour.
invoice_dateYesDate d'émission de la facture. Format ISO AAAA-MM-JJ. Par défaut, la date du jour.
invoice_numberYesNuméro de facture. Il doit être unique et séquentiel : une numérotation à trous se conteste en contrôle.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden and does add meaningful context: the POST endpoint implies a document-creating side effect, the output composition (PDF/A-3 + XML EN 16931) is explicit, and format=preview's 'PDF sans XML' variant is stated. However, it does not disclose whether the document is persisted or transmitted to the e-invoicing platform, whether EN 16931 conformance is validated, or what error behavior looks like — notable gaps for a compliance-critical mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with zero filler, front-loaded with the usage trigger before the format, endpoint, and payload-shape details. Every sentence contributes distinct information — trigger condition, output format, endpoint, required structure, and format variation — with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with nested objects, no annotations, and no output schema, the description covers the invocation essentials (when, format, required structure) and the schema covers all parameters at 100%. However, with no output schema, the description should explain return values and validation/error behavior for a compliance-critical document tool; it does neither, and the schema's enum-versus-description mismatch for the 'format' parameter is only partially resolved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, setting the baseline at 3, but the description adds genuine value beyond the schema: it names the exact required fields of lines[] (description, quantity, unit_price HT, vat_rate) and clarifies format=preview as 'PDF sans XML'. This clarification matters because the schema's own format description cites values ('pdf', 'xml') that do not exist in the actual enum ['facturx', 'preview'], so the description helps resolve a confusing schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific deliverable — 'Facture Factur-X (PDF/A-3 + XML EN 16931)' — and ties it to French e-invoicing reform compliance (EN 16931), which clearly separates it from invoice-adjacent siblings like relance_facture_client, devis_travaux, and quittance_loyer. The verb is implicit rather than stated (POST /api/v1/documents/facturx implies generation) and no sibling is named, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description opens with an explicit trigger condition — 'QUAND une facture doit être conforme à la facturation électronique française (réforme e-facture, EN 16931)' — telling the agent precisely when to select this tool over others. It provides clear usage context but names no exclusions or alternative tools, so the when-not-to-use guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.