Skip to main content
Glama
cmendezs

mcp-fattura-elettronica-it

Generate Fattura Semplificata

generate_fattura_semplificata

Generate compliant Italian simplified invoice XML (TD07/TD08/TD09) for transactions up to EUR 400. Assemble FatturaSemplificata VFSM10 documents ready for SDI transmission.

Instructions

Assemble a complete FatturaSemplificata VFSM10 XML document.

Use this for simplified invoices (TD07), simplified credit notes (TD08), and simplified debit notes (TD09) per art. 21-bis DPR 633/72. These are valid for transactions up to EUR 400 (tax-inclusive).

The simplified format has a flatter structure than the ordinary FatturaPA: no per-line VAT breakdown (DettaglioLinee/DatiRiepilogo), no DatiPagamento in the body. Each DatiBeniServizi entry carries its own Descrizione, Importo, and DatiIVA.

On success returns {'xml': str, 'filename': str, 'length_bytes': int}. On error returns {'error': ''}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
allegatiNoOptional list of attachments. Each: NomeAttachment, Attachment (base64), optional FormatoAttachment, DescrizioneAttachment.
dati_generaliYesGeneral document data: TipoDocumento (TD07/TD08/TD09), Divisa, Data (YYYY-MM-DD), Numero. Optional: BolloVirtuale ('SI'), DatiFatturaRettificata (NumeroFR, DataFR, ElementiRettificati) for TD08/TD09.
dati_beni_serviziYesList of goods/services entries. Each entry: Descrizione (max 1000 chars), Importo (decimal, tax-inclusive amount), DatiIVA (Imposta and/or Aliquota), optional Natura code, optional RiferimentoNormativo.
dati_trasmissioneYesTransmission data: IdTrasmittente (IdPaese + IdCodice), ProgressivoInvio, CodiceDestinatario (7-char, or '0000000' for PEC), and optionally PECDestinatario. FormatoTrasmissione is always FSM10.
cedente_prestatoreYesSeller data: IdFiscaleIVA (IdPaese + IdCodice), optional CodiceFiscale, Denominazione or Nome+Cognome, Sede (Indirizzo, CAP, Comune, Nazione), RegimeFiscale (RF01-RF19).
cessionario_committenteYesBuyer data: IdentificativiFiscali (IdFiscaleIVA and/or CodiceFiscale), optional AltriDatiIdentificativi (Denominazione or Nome+Cognome, Sede).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the output shape on success ({'xml': str, 'filename': str, 'length_bytes': int}) and on error ({'error': '<reason>'}), and it explains structural behaviors such as the absence of per-line VAT breakdown and DatiPagamento. It could add more about validation or side effects, but for a document-assembly tool the disclosed behavior is solid.

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?

The description is well-structured and front-loaded: the main purpose is stated in the first sentence, followed by usage conditions, structural differences, and return values. Every sentence earns its place, and the format is scannable with clear paragraphs. No filler or repetition.

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

Completeness4/5

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

Given the tool's complexity (6 params, nested objects, 5 required) and the rich schema descriptions, the description covers the key context: document types, legal basis, EUR 400 threshold, structural differences from FatturaPA, and return shape. It doesn't detail every optional field, but the schema already does that. The only minor gap is not mentioning validation or XSD compliance, but the output schema and sibling validate_fattura_semplificata_xsd cover that context.

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 description coverage is 100%, so the baseline is 3. The description adds value by explaining the simplified format's flat structure and clarifying that Importo is tax-inclusive and DatiIVA carries Imposta and/or Aliquota. It also notes FormatoTrasmissione is always FSM10, which is not obvious from the schema alone. This goes beyond the schema descriptions.

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

Purpose5/5

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

The description states a specific verb ('Assemble a complete FatturaSemplificata VFSM10 XML document') and resource, and explicitly distinguishes the simplified format from the ordinary FatturaPA by listing structural differences. It also names the document types (TD07/TD08/TD09) and the legal basis, so an agent can clearly tell this tool apart from siblings like generate_fattura_xml or generate_ubl_invoice.

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

Usage Guidelines5/5

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

The description explicitly says when to use this tool: for simplified invoices, credit notes, and debit notes per art. 21-bis DPR 633/72, valid for transactions up to EUR 400 tax-inclusive. It also contrasts with the ordinary FatturaPA format, giving the agent a clear exclusion criterion. This is strong usage guidance without needing to name a specific sibling.

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