Kema Invoice
Server Details
Compliant invoicing for freelancers: create, issue and track invoices from your AI agent.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 46.0% over 41 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Kema-Studio/kema-invoice-mcp
- GitHub Stars
- 0
- Server Listing
- Kema Invoice MCP connector
TDQS
Scored across 41 tools
Each tool targets a distinct resource-action pair (quotes, invoices, provisions, companies, profiles, settings, activity). Overlapping tools like cancel_invoice vs create_credit_note are clearly distinguished by status context, and specialized tools like rectify_invoice and reorder_invoice_items have unambiguous purposes.
All tools follow a consistent lowercase snake_case verb_noun pattern (e.g., create_invoice, list_companies, mark_invoice_paid). Even compound verbs like apply_provisions_to_invoice and list_available_provisions follow the same convention, with no mixed styles.
At 41 tools, the surface is large and exceeds the typical well-scoped range. While each tool covers a distinct aspect of invoicing, the count is heavy and may overwhelm agents; many operations could be consolidated (e.g., combined update/upsert for profiles, or grouped item operations).
The tool surface covers the full lifecycle for quotes (create, send, accept, reject, convert), invoices (create, issue, update, delete, cancel, credit note, rectify, mark paid, PDF, rectification chain), provisions (create, send, mark paid, apply), companies (CRUD), client profiles (get/upsert/delete), and supporting features (settings, revenue, activity, import). No obvious gaps exist for the stated domain.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
cancel_invoice1 field changed- changed
Input schema / properties / invoice_id / descriptionPrevious value: -"The invoice UUID to cancel (not Paid)."New value: +"The draft invoice UUID to cancel."
- Changed
issue_invoice5 fields changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true to issue + certify. Omit/false to preview the invoice that would be certified."New value: +"Must be true to issue. Omit/false to preview the invoice that would be issued." - removed
Output schema / properties / certification_statusRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Certification status right after submission (after confirm:true)." -} - changed
Output schema / properties / note / descriptionPrevious value: -"Outcome summary (after confirm:true)."New value: +"What to tell the user (after confirm:true)." - added
Output schema / properties / would_issueAdded value: +{ + "additionalProperties": false, + "description": "Invoice that would be issued (preview only).", + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Document UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "items": { + "description": "Line items that would be certified.", + "items": { + "additionalProperties": false, + "properties": { + "description": { + "description": "Line text.", + "type": "string" + }, + "quantity": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Quantity, null for section/description lines." + }, + "tax_rate": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "VAT rate in percent, null for non-item lines." + }, + "unit_price": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Unit price excl. VAT, null for non-item lines." + } + }, + "required": [ + "description", + "quantity", + "unit_price", + "tax_rate" + ], + "type": "object" + }, + "type": "array" + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "gross_total", + "company", + "issue_date", + "due_date", + "net_total", + "tax_total", + "currency", + "items" + ], + "type": "object" +} - removed
Output schema / properties / would_issue_and_certifyRemoved value: -{ - "additionalProperties": false, - "description": "Invoice that would be issued and certified (preview only).", - "properties": { - "company": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Client company name, null when unknown." - }, - "currency": { - "description": "ISO 4217 currency code.", - "type": "string" - }, - "due_date": { - "description": "Due date, YYYY-MM-DD.", - "type": "string" - }, - "gross_total": { - "description": "Total incl. VAT, in the document currency.", - "type": "number" - }, - "id": { - "description": "Document UUID.", - "type": "string" - }, - "invoice_number": { - "description": "Human-readable document number.", - "type": "string" - }, - "issue_date": { - "description": "Issue date, YYYY-MM-DD.", - "type": "string" - }, - "items": { - "description": "Line items that would be certified.", - "items": { - "additionalProperties": false, - "properties": { - "description": { - "description": "Line text.", - "type": "string" - }, - "quantity": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Quantity, null for section/description lines." - }, - "tax_rate": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "VAT rate in percent, null for non-item lines." - }, - "unit_price": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Unit price excl. VAT, null for non-item lines." - } - }, - "required": [ - "description", - "quantity", - "unit_price", - "tax_rate" - ], - "type": "object" - }, - "type": "array" - }, - "net_total": { - "description": "Total excl. VAT, in the document currency.", - "type": "number" - }, - "status": { - "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", - "type": "string" - }, - "tax_total": { - "description": "VAT amount, in the document currency.", - "type": "number" - } - }, - "required": [ - "id", - "invoice_number", - "status", - "gross_total", - "company", - "issue_date", - "due_date", - "net_total", - "tax_total", - "currency", - "items" - ], - "type": "object" -}
- Changed
send_provision4 fields changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true to issue + certify. Omit/false to preview the provision that would be certified."New value: +"Must be true to issue. Omit/false to preview the provision that would be issued." - changed
Output schema / properties / note / descriptionPrevious value: -"Next-step guidance, present on preview responses."New value: +"What to tell the user (after confirm:true)." - added
Output schema / properties / would_issueAdded value: +{ + "additionalProperties": false, + "description": "Provision that would be issued (preview only).", + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Provision UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Provision number (PROV series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) name, null when unknown." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "matter", + "company", + "issue_date", + "due_date", + "paid_at", + "currency", + "gross_total" + ], + "type": "object" +} - removed
Output schema / properties / would_issue_and_certifyRemoved value: -{ - "additionalProperties": false, - "description": "Provision that would be issued and certified (preview only).", - "properties": { - "company": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Client company name, null when unknown." - }, - "currency": { - "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", - "type": "string" - }, - "due_date": { - "description": "Due date, YYYY-MM-DD.", - "type": "string" - }, - "gross_total": { - "description": "Total incl. VAT, in the document currency.", - "type": "number" - }, - "id": { - "description": "Provision UUID.", - "type": "string" - }, - "invoice_number": { - "description": "Provision number (PROV series).", - "type": "string" - }, - "issue_date": { - "description": "Issue date, YYYY-MM-DD.", - "type": "string" - }, - "matter": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Matter (dossier) name, null when unknown." - }, - "paid_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Payment timestamp (ISO 8601), null while unpaid." - }, - "status": { - "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", - "type": "string" - } - }, - "required": [ - "id", - "invoice_number", - "status", - "matter", - "company", - "issue_date", - "due_date", - "paid_at", - "currency", - "gross_total" - ], - "type": "object" -}
4 tool updates
- Changed
create_provision2 fields changed- changed
Input schema / properties / matter_id / descriptionPrevious value: -"Matter (dossier) UUID - required for provisions."New value: +"Matter UUID to attach the retainer to; omit for a standalone retainer, which is the normal case in Kema Invoice." - changed
Input schema / requiredPrevious value: -[ - "company_id", - "matter_id", - "issue_date", - "due_date", - "items" -]New value: +[ + "company_id", + "issue_date", + "due_date", + "items" +]
- Changed
get_invoice3 fields changed- added
Output schema / properties / items / items / properties / display_orderAdded value: +{ + "description": "0-based position of the line on the document.", + "type": "number" +} - added
Output schema / properties / items / items / properties / idAdded value: +{ + "description": "Line item UUID, to pass to update_invoice_item, delete_invoice_item or reorder_invoice_items.", + "type": "string" +} - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "description", - "line_type", - "quantity", - "unit_price", - "tax_rate", - "line_total" -]New value: +[ + "id", + "display_order", + "description", + "line_type", + "quantity", + "unit_price", + "tax_rate", + "line_total" +]
- Changed
get_invoice_pdf5 fields changed- changed
Output schema / properties / available / descriptionPrevious value: -"False when the invoice has no stored PDF."New value: +"True when a download URL is returned; false only when the PDF could not be produced." - added
Output schema / properties / invoice_numberAdded value: +{ + "description": "Document number, handy to name the downloaded file.", + "type": "string" +} - added
Output schema / properties / is_draftAdded value: +{ + "description": "True when the document is still a Draft: the PDF is a preview, not a legal document.", + "type": "boolean" +} - changed
Output schema / properties / reason / descriptionPrevious value: -"Why no PDF is available, present when available is false."New value: +"Why the PDF could not be produced and what to do next, present when available is false." - changed
Output schema / requiredPrevious value: -[ - "available" -]New value: +[ + "available", + "is_draft", + "invoice_number" +]
- Changed
list_available_provisions3 fields changed- changed
Input schema / properties / matter_id / descriptionPrevious value: -"The matter (dossier) UUID."New value: +"Matter (dossier) UUID to restrict to; omit to list standalone retainers, the normal case in Kema Invoice." - removed
Input schema / requiredRemoved value: -[ - "matter_id" -] - changed
Output schema / properties / items / descriptionPrevious value: -"Paid provisions of the matter not yet applied to an invoice, most recently paid first."New value: +"Paid provisions not yet applied to an invoice (standalone, or of the given matter), most recently paid first."
41 tool updates
- Changed
accept_quote2 fields changed- changed
Input schema / properties / quote_id / descriptionPrevious value: -"The quote UUID."New value: +"The Sent quote UUID." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Quote UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Quote number (own series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Validity limit, YYYY-MM-DD." + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "issue_date", + "due_date", + "valid_until", + "currency", + "net_total", + "tax_total", + "gross_total" + ], + "type": "object" +}
- Changed
add_invoice_item7 fields changed- added
Input schema / properties / description / descriptionAdded value: +"Line text printed on the invoice (1-500 characters)." - added
Input schema / properties / invoice_id / descriptionAdded value: +"The Draft invoice UUID." - changed
Input schema / properties / line_type / descriptionPrevious value: -"Defaults to 'item'."New value: +"Line kind: 'item' (billable, needs quantity and unit_price), 'section' (visual header) or 'description' (text-only sub-line). Defaults to 'item'." - changed
Input schema / properties / quantity / descriptionPrevious value: -"Required for 'item' lines."New value: +"Quantity billed. Required for 'item' lines." - changed
Input schema / properties / tax_rate / descriptionPrevious value: -"OMIT — do NOT ask the user for a VAT rate. VAT is determined server-side by strict fiscal rules (default rate + automatic 0% for reverse-charge/export scenarios). Only set when the user explicitly states a rate."New value: +"OMIT - do NOT ask the user for a VAT rate. VAT is determined server-side by strict fiscal rules (default rate + automatic 0% for reverse-charge/export scenarios). Only set when the user explicitly states a rate, as a percent (0-100)." - changed
Input schema / properties / unit_price / descriptionPrevious value: -"Required for 'item' lines."New value: +"Unit price excl. VAT, in the invoice currency. Required for 'item' lines." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "description": { + "description": "Line text.", + "type": "string" + }, + "display_order": { + "description": "0-based position on the document.", + "type": "number" + }, + "id": { + "description": "Line item UUID.", + "type": "string" + }, + "invoice_id": { + "description": "Parent invoice UUID.", + "type": "string" + }, + "line_total": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Line total incl. VAT, null for non-item lines." + }, + "line_type": { + "description": "Line kind: item, section or description.", + "type": "string" + }, + "product_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Linked product UUID, if any." + }, + "quantity": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Quantity, null for section/description lines." + }, + "tax_rate": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "VAT rate in percent, null for non-item lines." + }, + "tax_rate_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "VAT rate key (e.g. standard, reduced), null for non-item lines." + }, + "unit_price": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Unit price excl. VAT, null for non-item lines." + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + } + }, + "required": [ + "id", + "invoice_id", + "line_type", + "description", + "quantity", + "unit_price", + "tax_rate", + "tax_rate_key", + "line_total", + "display_order", + "product_id", + "created_at", + "updated_at" + ], + "type": "object" +}
- Changed
apply_provisions_to_invoice1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions now applied to the invoice, in the document currency.", + "type": "number" + }, + "amount_due": { + "description": "Gross total minus applied provisions, in the document currency.", + "type": "number" + } + }, + "required": [ + "advances_total", + "amount_due" + ], + "type": "object" +}
- Changed
cancel_invoice3 fields changed- added
Input schema / properties / invoice_id / descriptionAdded value: +"The invoice UUID to cancel (not Paid)." - added
Input schema / properties / reason / descriptionAdded value: +"Cancellation reason, appended to the internal notes (max 500 characters)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions applied, in the document currency.", + "type": "number" + }, + "amount_due": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Gross total minus applied provisions, null when not computed." + }, + "company_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company UUID." + }, + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "created_source": { + "description": "Origin of the document: manual (app) or mcp (agent).", + "type": "string" + }, + "credit_note_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Credit note UUID that cancelled this invoice." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "internal_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Private notes, never printed." + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "invopop_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status from the provider, null before issuance." + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) UUID, null when unassigned." + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the document." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "replaced_by_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rectificative UUID when this invoice was rectified." + }, + "replaces_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Original invoice UUID when this is a rectificative." + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Issue timestamp (ISO 8601), null while Draft." + }, + "source_quote_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote UUID this invoice was converted from." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote validity limit, YYYY-MM-DD; null for other types." + }, + "vat_scenario": { + "description": "Fiscal scenario frozen at creation (e.g. domestic, eu_b2b_reverse_charge).", + "type": "string" + }, + "would_cancel": { + "additionalProperties": false, + "description": "Invoice that would be cancelled (preview only).", + "properties": { + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Document UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "gross_total" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
check_certification_status2 fields changed- added
Input schema / properties / invoice_id / descriptionAdded value: +"The issued invoice UUID." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "certification_code": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Certification code returned by the provider, null until certified." + }, + "certification_status": { + "description": "Reconciled certification status: processing, certified or error.", + "type": "string" + } + }, + "required": [ + "certification_code" + ], + "type": "object" +}
- Changed
convert_quote_to_invoice1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Quote UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Quote number (own series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Validity limit, YYYY-MM-DD." + }, + "would_convert": { + "additionalProperties": false, + "description": "Quote that would be converted (preview only).", + "properties": { + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Document UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "gross_total" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
create_company10 fields changed- added
Input schema / properties / city / descriptionAdded value: +"City." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country, e.g. FR."New value: +"ISO 3166-1 alpha-2 country code, e.g. FR." - added
Input schema / properties / email / descriptionAdded value: +"Billing email address." - added
Input schema / properties / name / descriptionAdded value: +"Company display name." - added
Input schema / properties / phone / descriptionAdded value: +"Phone number, any format." - added
Input schema / properties / postal_code / descriptionAdded value: +"Postal code." - added
Input schema / properties / street_address / descriptionAdded value: +"Street address (number and street)." - changed
Input schema / properties / tax_id / descriptionPrevious value: -"VAT number."New value: +"VAT number, e.g. FR12345678901." - added
Input schema / properties / website / descriptionAdded value: +"Website URL, including the scheme (https://)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Billing email." + }, + "id": { + "description": "Company UUID.", + "type": "string" + }, + "name": { + "description": "Display name.", + "type": "string" + }, + "siren": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "French SIREN (9 digits)." + }, + "tax_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "VAT number." + } + }, + "required": [ + "id", + "name", + "email", + "tax_id", + "siren" + ], + "type": "object" +}
- Changed
create_credit_note1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "credit_note_id": { + "description": "UUID of the created credit note (after confirm:true).", + "type": "string" + }, + "note": { + "description": "Outcome summary (after confirm:true).", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "warning": { + "description": "Irreversibility warning (preview only).", + "type": "string" + }, + "would_cancel_with_credit_note": { + "additionalProperties": false, + "description": "Invoice that would be cancelled by a credit note (preview only).", + "properties": { + "already_has_credit_note": { + "description": "True when a credit note already exists for this invoice.", + "type": "boolean" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Document UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "gross_total", + "already_has_credit_note" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
create_invoice10 fields changed- added
Input schema / properties / currency / descriptionAdded value: +"ISO 4217 currency code. Defaults to EUR." - added
Input schema / properties / items / descriptionAdded value: +"Line items in display order (1-100)." - added
Input schema / properties / items / items / properties / description / descriptionAdded value: +"Line text printed on the invoice (1-500 characters)." - changed
Input schema / properties / items / items / properties / line_type / descriptionPrevious value: -"Defaults to 'item'."New value: +"Line kind: 'item' (billable, needs quantity and unit_price), 'section' (visual header) or 'description' (text-only sub-line). Defaults to 'item'." - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Required for 'item' lines."New value: +"Quantity billed. Required for 'item' lines." - changed
Input schema / properties / items / items / properties / tax_rate / descriptionPrevious value: -"OMIT — do NOT ask the user for a VAT rate. VAT is determined server-side by strict fiscal rules (default rate + automatic 0% for reverse-charge/export scenarios). Only set when the user explicitly states a rate."New value: +"OMIT - do NOT ask the user for a VAT rate. VAT is determined server-side by strict fiscal rules (default rate + automatic 0% for reverse-charge/export scenarios). Only set when the user explicitly states a rate, as a percent (0-100)." - changed
Input schema / properties / items / items / properties / unit_price / descriptionPrevious value: -"Required for 'item' lines."New value: +"Unit price excl. VAT, in the invoice currency. Required for 'item' lines." - added
Input schema / properties / notes / descriptionAdded value: +"Free text printed on the invoice (max 2000 characters)." - added
Input schema / properties / payment_terms / descriptionAdded value: +"Payment terms printed on the invoice. Defaults to the client profile or Net-30." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions applied, in the document currency.", + "type": "number" + }, + "amount_due": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Gross total minus applied provisions, null when not computed." + }, + "company_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company UUID." + }, + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "created_source": { + "description": "Origin of the document: manual (app) or mcp (agent).", + "type": "string" + }, + "credit_note_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Credit note UUID that cancelled this invoice." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "internal_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Private notes, never printed." + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "invopop_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status from the provider, null before issuance." + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) UUID, null when unassigned." + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the document." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "replaced_by_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rectificative UUID when this invoice was rectified." + }, + "replaces_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Original invoice UUID when this is a rectificative." + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Issue timestamp (ISO 8601), null while Draft." + }, + "source_quote_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote UUID this invoice was converted from." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote validity limit, YYYY-MM-DD; null for other types." + }, + "vat_scenario": { + "description": "Fiscal scenario frozen at creation (e.g. domestic, eu_b2b_reverse_charge).", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "company_id", + "matter_id", + "issue_date", + "due_date", + "valid_until", + "currency", + "payment_terms", + "delivery_channel", + "net_total", + "tax_total", + "gross_total", + "advances_total", + "amount_due", + "notes", + "internal_notes", + "paid_at", + "sent_at", + "invopop_status", + "vat_scenario", + "source_quote_id", + "replaces_invoice_id", + "replaced_by_invoice_id", + "credit_note_id", + "created_source", + "created_at", + "updated_at" + ], + "type": "object" +}
- Changed
create_provision11 fields changed- added
Input schema / properties / currency / descriptionAdded value: +"ISO 4217 currency code. Defaults to EUR." - added
Input schema / properties / items / descriptionAdded value: +"Line items in display order (1-100)." - added
Input schema / properties / items / items / properties / description / descriptionAdded value: +"Line text printed on the provision (1-500 characters)." - changed
Input schema / properties / items / items / properties / line_type / descriptionPrevious value: -"Defaults to 'item'."New value: +"Line kind: 'item' (billable, needs quantity and unit_price), 'section' (visual header) or 'description' (text-only sub-line). Defaults to 'item'." - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Required for 'item' lines."New value: +"Quantity. Required for 'item' lines." - changed
Input schema / properties / items / items / properties / tax_rate / descriptionPrevious value: -"OMIT — do NOT ask the user for a VAT rate. VAT is determined server-side by strict fiscal rules (default rate + automatic 0% for reverse-charge/export scenarios). Only set when the user explicitly states a rate."New value: +"OMIT - do NOT ask the user for a VAT rate. VAT is determined server-side by strict fiscal rules (default rate + automatic 0% for reverse-charge/export scenarios). Only set when the user explicitly states a rate, as a percent (0-100)." - changed
Input schema / properties / items / items / properties / unit_price / descriptionPrevious value: -"Required for 'item' lines."New value: +"Unit price excl. VAT, in the provision currency. Required for 'item' lines." - changed
Input schema / properties / matter_id / descriptionPrevious value: -"Matter (dossier) UUID — required for provisions."New value: +"Matter (dossier) UUID - required for provisions." - added
Input schema / properties / notes / descriptionAdded value: +"Free text printed on the provision (max 2000 characters)." - changed
Input schema / properties / payment_terms / descriptionPrevious value: -"Defaults to 'Due on Receipt'."New value: +"Payment terms printed on the provision. Defaults to 'Due on Receipt'." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions applied, in the document currency.", + "type": "number" + }, + "amount_due": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Gross total minus applied provisions, null when not computed." + }, + "company_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company UUID." + }, + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "created_source": { + "description": "Origin of the document: manual (app) or mcp (agent).", + "type": "string" + }, + "credit_note_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Credit note UUID that cancelled this invoice." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "internal_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Private notes, never printed." + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "invopop_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status from the provider, null before issuance." + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) UUID, null when unassigned." + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the document." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "replaced_by_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rectificative UUID when this invoice was rectified." + }, + "replaces_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Original invoice UUID when this is a rectificative." + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Issue timestamp (ISO 8601), null while Draft." + }, + "source_quote_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote UUID this invoice was converted from." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote validity limit, YYYY-MM-DD; null for other types." + }, + "vat_scenario": { + "description": "Fiscal scenario frozen at creation (e.g. domestic, eu_b2b_reverse_charge).", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "company_id", + "matter_id", + "issue_date", + "due_date", + "valid_until", + "currency", + "payment_terms", + "delivery_channel", + "net_total", + "tax_total", + "gross_total", + "advances_total", + "amount_due", + "notes", + "internal_notes", + "paid_at", + "sent_at", + "invopop_status", + "vat_scenario", + "source_quote_id", + "replaces_invoice_id", + "replaced_by_invoice_id", + "credit_note_id", + "created_source", + "created_at", + "updated_at" + ], + "type": "object" +}
- Changed
create_quote14 fields changed- added
Input schema / properties / currency / descriptionAdded value: +"ISO 4217 currency code. Defaults to EUR." - changed
Input schema / properties / due_date / descriptionPrevious value: -"Defaults to +30 days."New value: +"Due date, YYYY-MM-DD. Defaults to +30 days." - changed
Input schema / properties / issue_date / descriptionPrevious value: -"Defaults to today."New value: +"Issue date, YYYY-MM-DD. Defaults to today." - added
Input schema / properties / items / descriptionAdded value: +"Line items in display order (1-100)." - added
Input schema / properties / items / items / properties / description / descriptionAdded value: +"Line text printed on the quote (1-500 characters)." - added
Input schema / properties / items / items / properties / display_order / descriptionAdded value: +"0-based position on the quote. Defaults to the array order." - changed
Input schema / properties / items / items / properties / line_type / descriptionPrevious value: -"Defaults to 'item'."New value: +"Line kind: 'item' (billable, needs quantity and unit_price), 'section' (visual header) or 'description' (text-only sub-line). Defaults to 'item'." - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Required for 'item' lines."New value: +"Quantity. Required for 'item' lines." - changed
Input schema / properties / items / items / properties / tax_rate / descriptionPrevious value: -"VAT percent. Omit to use the tenant default — never ask the user."New value: +"VAT percent (0-100). Omit to use the tenant default - never ask the user." - changed
Input schema / properties / items / items / properties / unit_price / descriptionPrevious value: -"Required for 'item' lines."New value: +"Unit price excl. VAT, in the quote currency. Required for 'item' lines." - added
Input schema / properties / notes / descriptionAdded value: +"Free text printed on the quote (max 2000 characters)." - added
Input schema / properties / payment_terms / descriptionAdded value: +"Payment terms printed on the quote. Defaults to Net-30." - changed
Input schema / properties / valid_until / descriptionPrevious value: -"Quote validity limit. Defaults to +30 days."New value: +"Quote validity limit, YYYY-MM-DD. Defaults to +30 days." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Quote UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Quote number (own series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Validity limit, YYYY-MM-DD." + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "issue_date", + "due_date", + "valid_until", + "currency", + "net_total", + "tax_total", + "gross_total" + ], + "type": "object" +}
- Changed
delete_company2 fields changed- added
Input schema / properties / company_id / descriptionAdded value: +"The company UUID to delete." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "id": { + "description": "Deleted company UUID (after confirm:true).", + "type": "string" + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "would_delete": { + "additionalProperties": false, + "description": "Company that would be deleted (preview only).", + "properties": { + "email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Billing email." + }, + "id": { + "description": "Company UUID.", + "type": "string" + }, + "name": { + "description": "Display name.", + "type": "string" + }, + "tax_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "VAT number." + } + }, + "required": [ + "id", + "name", + "email", + "tax_id" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
delete_invoice2 fields changed- added
Input schema / properties / invoice_id / descriptionAdded value: +"The Draft invoice UUID." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "id": { + "description": "Deleted invoice UUID (after confirm:true).", + "type": "string" + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "would_delete": { + "additionalProperties": false, + "description": "Invoice that would be deleted (preview only).", + "properties": { + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Document UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "gross_total" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
delete_invoice_client_profile2 fields changed- added
Input schema / properties / company_id / descriptionAdded value: +"Company UUID whose billing profile is deleted." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "company_id": { + "description": "Company UUID the profile belonged to (after confirm:true).", + "type": "string" + }, + "deleted": { + "description": "True once the profile is deleted (after confirm:true).", + "type": "boolean" + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "would_delete": { + "additionalProperties": false, + "description": "Profile that would be deleted (preview only).", + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company name, null when not resolvable." + }, + "company_id": { + "description": "Company UUID.", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "id": { + "description": "Profile UUID.", + "type": "string" + }, + "invoice_prefix": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Custom invoice number prefix, null for the tenant default." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + } + }, + "required": [ + "id", + "company_id", + "company", + "payment_terms", + "delivery_channel", + "invoice_prefix" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
delete_invoice_item2 fields changed- added
Input schema / properties / item_id / descriptionAdded value: +"The line item UUID." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "id": { + "description": "Deleted line item UUID (after confirm:true).", + "type": "string" + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "would_delete": { + "additionalProperties": false, + "description": "Line item that would be deleted (preview only).", + "properties": { + "description": { + "description": "Line text.", + "type": "string" + }, + "id": { + "description": "Line item UUID.", + "type": "string" + }, + "invoice_id": { + "description": "Parent invoice UUID.", + "type": "string" + }, + "line_total": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Line total incl. VAT, null for non-item lines." + }, + "quantity": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Quantity, null for section/description lines." + }, + "unit_price": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Unit price excl. VAT, null for non-item lines." + } + }, + "required": [ + "id", + "description", + "quantity", + "unit_price", + "line_total", + "invoice_id" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
get_company1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "account_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "CRM account status." + }, + "account_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "CRM account type." + }, + "city": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "City." + }, + "client_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client classification: pm (legal entity), pp_pro (sole trader) or consumer." + }, + "country": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO 3166-1 alpha-2 country code." + }, + "email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Billing email." + }, + "id": { + "description": "Company UUID.", + "type": "string" + }, + "legal_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Registered legal name, when different from name." + }, + "name": { + "description": "Display name.", + "type": "string" + }, + "phone": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Phone number." + }, + "postal_code": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Postal code." + }, + "siren": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "French SIREN (9 digits)." + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "State or region." + }, + "street_address": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Street address." + }, + "tax_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "VAT number." + }, + "website": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Website URL." + } + }, + "required": [ + "id", + "name", + "email", + "tax_id", + "siren", + "country", + "client_profile", + "legal_name", + "phone", + "street_address", + "city", + "state", + "postal_code", + "website", + "account_type", + "account_status" + ], + "type": "object" +}
- Changed
get_invoice1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "certification_error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Last certification error message, null when none." + }, + "certification_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status (e.g. processing, certified, error), null before issuance." + }, + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable invoice number.", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "items": { + "description": "Line items in display order.", + "items": { + "additionalProperties": false, + "properties": { + "description": { + "description": "Line text.", + "type": "string" + }, + "line_total": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Line total incl. VAT, null for non-item lines." + }, + "line_type": { + "description": "Line kind: item, section or description.", + "type": "string" + }, + "quantity": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Quantity, null for section/description lines." + }, + "tax_rate": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "VAT rate in percent, null for non-item lines." + }, + "unit_price": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Unit price excl. VAT, null for non-item lines." + } + }, + "required": [ + "description", + "line_type", + "quantity", + "unit_price", + "tax_rate", + "line_total" + ], + "type": "object" + }, + "type": "array" + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the invoice." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "issue_date", + "due_date", + "paid_at", + "currency", + "gross_total", + "company", + "net_total", + "tax_total", + "payment_terms", + "notes", + "certification_status", + "certification_error", + "items" + ], + "type": "object" +}
- Changed
get_invoice_client_profile2 fields changed- added
Input schema / properties / company_id / descriptionAdded value: +"Company UUID (use list_companies to resolve)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "profile": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company name, null when not resolvable." + }, + "company_id": { + "description": "Company UUID.", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "id": { + "description": "Profile UUID.", + "type": "string" + }, + "invoice_prefix": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Custom invoice number prefix, null for the tenant default." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + } + }, + "required": [ + "id", + "company_id", + "company", + "payment_terms", + "delivery_channel", + "invoice_prefix" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "description": "The company's billing profile, null when none exists yet." + } + }, + "required": [ + "profile" + ], + "type": "object" +}
- Changed
get_invoice_pdf1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "available": { + "description": "False when the invoice has no stored PDF.", + "type": "boolean" + }, + "expires_in_seconds": { + "description": "Lifetime of the signed URL in seconds, present when available is true.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "reason": { + "description": "Why no PDF is available, present when available is false.", + "type": "string" + }, + "url": { + "description": "Signed download URL, present when available is true.", + "type": "string" + } + }, + "required": [ + "available" + ], + "type": "object" +}
- Changed
get_rectification_links2 fields changed- added
Input schema / properties / invoice_id / descriptionAdded value: +"The invoice UUID to inspect." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "replacedBy": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable invoice number.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Rectificative that superseded this invoice, null when not rectified." + }, + "replaces": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable invoice number.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Original invoice this one rectifies, null when not a rectificative." + } + }, + "required": [ + "replaces", + "replacedBy" + ], + "type": "object" +}
- Changed
get_revenue_summary1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "collected": { + "description": "Gross total of invoices paid within the period (by payment date).", + "type": "number" + }, + "collected_count": { + "description": "Number of invoices paid within the period.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "credit_note_total": { + "description": "Net effect of credit notes issued within the period (negative or zero).", + "type": "number" + }, + "currency_note": { + "description": "Caveat about amounts being summed across currencies.", + "type": "string" + }, + "draft_count": { + "description": "Current number of drafts.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "invoice_count": { + "description": "Documents issued within the period, drafts excluded.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "outstanding": { + "description": "Amount currently due on Sent invoices (point-in-time).", + "type": "number" + }, + "outstanding_count": { + "description": "Number of Sent invoices.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "overdue": { + "description": "Amount currently due on Overdue invoices (point-in-time).", + "type": "number" + }, + "overdue_count": { + "description": "Number of Overdue invoices.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "period": { + "additionalProperties": false, + "description": "Period the collected/issued figures cover.", + "properties": { + "from": { + "description": "Period start, YYYY-MM-DD.", + "type": "string" + }, + "to": { + "description": "Period end (inclusive), YYYY-MM-DD.", + "type": "string" + } + }, + "required": [ + "from", + "to" + ], + "type": "object" + } + }, + "required": [ + "period", + "collected", + "collected_count", + "outstanding", + "outstanding_count", + "overdue", + "overdue_count", + "invoice_count", + "draft_count", + "credit_note_total", + "currency_note" + ], + "type": "object" +}
- Changed
get_settings1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "billing_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Email printed on documents." + }, + "default_payment_terms": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Default payment terms for new documents." + }, + "default_vat_rate_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Default VAT rate key applied to new lines." + }, + "display_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Tenant display name." + }, + "legal_form": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Legal form (e.g. SAS, SARL, EI)." + }, + "legal_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Registered legal name of the tenant." + }, + "preferred_language": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Caller's UI language (ISO 639-1)." + }, + "tax_country": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal country, ISO 3166-1 alpha-2." + }, + "tax_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Tenant VAT number." + }, + "tax_regime": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "VAT regime: normal or franchise_en_base." + } + }, + "required": [ + "legal_name", + "display_name", + "legal_form", + "tax_country", + "tax_id", + "tax_regime", + "default_vat_rate_key", + "default_payment_terms", + "billing_email", + "preferred_language" + ], + "type": "object" +}
- Changed
import_external_invoice9 fields changed- added
Input schema / properties / company_id / descriptionAdded value: +"Client company UUID (use list_companies to resolve); null or omitted when unknown." - added
Input schema / properties / currency / descriptionAdded value: +"ISO 4217 currency code. Defaults to EUR." - changed
Input schema / properties / due_date / descriptionPrevious value: -"Defaults to issue_date + 30 days."New value: +"Due date, YYYY-MM-DD. Defaults to issue_date + 30 days." - changed
Input schema / properties / gross_amount / descriptionPrevious value: -"Defaults to net + tax."New value: +"Total incl. VAT. Defaults to net + tax." - added
Input schema / properties / issue_date / descriptionAdded value: +"Original issue date, YYYY-MM-DD." - added
Input schema / properties / notes / descriptionAdded value: +"Free text kept with the imported record (max 2000 characters)." - added
Input schema / properties / status / descriptionAdded value: +"Status of the historical invoice as it stands today." - added
Input schema / properties / tax_amount / descriptionAdded value: +"VAT amount. Defaults to 0." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions applied, in the document currency.", + "type": "number" + }, + "amount_due": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Gross total minus applied provisions, null when not computed." + }, + "company_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company UUID." + }, + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "created_source": { + "description": "Origin of the document: manual (app) or mcp (agent).", + "type": "string" + }, + "credit_note_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Credit note UUID that cancelled this invoice." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "internal_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Private notes, never printed." + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "invopop_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status from the provider, null before issuance." + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) UUID, null when unassigned." + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the document." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "replaced_by_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rectificative UUID when this invoice was rectified." + }, + "replaces_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Original invoice UUID when this is a rectificative." + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Issue timestamp (ISO 8601), null while Draft." + }, + "source_quote_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote UUID this invoice was converted from." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote validity limit, YYYY-MM-DD; null for other types." + }, + "vat_scenario": { + "description": "Fiscal scenario frozen at creation (e.g. domestic, eu_b2b_reverse_charge).", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "company_id", + "matter_id", + "issue_date", + "due_date", + "valid_until", + "currency", + "payment_terms", + "delivery_channel", + "net_total", + "tax_total", + "gross_total", + "advances_total", + "amount_due", + "notes", + "internal_notes", + "paid_at", + "sent_at", + "invopop_status", + "vat_scenario", + "source_quote_id", + "replaces_invoice_id", + "replaced_by_invoice_id", + "credit_note_id", + "created_source", + "created_at", + "updated_at" + ], + "type": "object" +}
- Changed
issue_invoice2 fields changed- added
Input schema / properties / invoice_id / descriptionAdded value: +"The Draft invoice UUID to issue." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "certification_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Certification status right after submission (after confirm:true)." + }, + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable invoice number.", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "note": { + "description": "Outcome summary (after confirm:true).", + "type": "string" + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "warning": { + "description": "Irreversibility warning (preview only).", + "type": "string" + }, + "would_issue_and_certify": { + "additionalProperties": false, + "description": "Invoice that would be issued and certified (preview only).", + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Document UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "items": { + "description": "Line items that would be certified.", + "items": { + "additionalProperties": false, + "properties": { + "description": { + "description": "Line text.", + "type": "string" + }, + "quantity": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Quantity, null for section/description lines." + }, + "tax_rate": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "VAT rate in percent, null for non-item lines." + }, + "unit_price": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Unit price excl. VAT, null for non-item lines." + } + }, + "required": [ + "description", + "quantity", + "unit_price", + "tax_rate" + ], + "type": "object" + }, + "type": "array" + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "gross_total", + "company", + "issue_date", + "due_date", + "net_total", + "tax_total", + "currency", + "items" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
list_available_provisions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "items": { + "description": "Paid provisions of the matter not yet applied to an invoice, most recently paid first.", + "items": { + "additionalProperties": false, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Provision UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Provision number (PROV series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) name, null when unknown." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "matter", + "company", + "issue_date", + "due_date", + "paid_at", + "currency", + "gross_total" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "description": "Number of provisions returned.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + } + }, + "required": [ + "items", + "total" + ], + "type": "object" +}
- Changed
list_companies1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "items": { + "description": "Client companies, sorted by name.", + "items": { + "additionalProperties": false, + "properties": { + "client_profile": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client classification: pm (legal entity), pp_pro (sole trader) or consumer." + }, + "country": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO 3166-1 alpha-2 country code." + }, + "email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Billing email." + }, + "id": { + "description": "Company UUID.", + "type": "string" + }, + "name": { + "description": "Display name.", + "type": "string" + }, + "siren": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "French SIREN (9 digits)." + }, + "tax_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "VAT number." + } + }, + "required": [ + "id", + "name", + "email", + "tax_id", + "siren", + "country", + "client_profile" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "description": "Number of companies returned.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + } + }, + "required": [ + "items", + "total" + ], + "type": "object" +}
- Changed
list_invoices1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "items": { + "description": "Invoices of the requested page, most recent first.", + "items": { + "additionalProperties": false, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable invoice number.", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "issue_date", + "due_date", + "paid_at", + "currency", + "gross_total", + "company" + ], + "type": "object" + }, + "type": "array" + }, + "page": { + "description": "1-based page number returned.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "per_page": { + "description": "Page size used.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "total": { + "description": "Total number of matching documents.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "total_pages": { + "description": "Total number of pages.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + } + }, + "required": [ + "items", + "total", + "page", + "per_page", + "total_pages" + ], + "type": "object" +}
- Changed
list_mcp_activity2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Default 20."New value: +"Maximum number of entries to return (1-50). Default 20." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "items": { + "description": "Activity entries, newest first.", + "items": { + "additionalProperties": false, + "properties": { + "created_at": { + "description": "Call timestamp (ISO 8601).", + "type": "string" + }, + "invoice_number": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Related document number when the result carried one." + }, + "tool_name": { + "description": "MCP tool that was called.", + "type": "string" + } + }, + "required": [ + "tool_name", + "invoice_number", + "created_at" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "items" + ], + "type": "object" +}
- Changed
mark_invoice_paid3 fields changed- added
Input schema / properties / invoice_id / descriptionAdded value: +"The Sent or Overdue invoice UUID." - changed
Input schema / properties / paid_at / descriptionPrevious value: -"ISO datetime; defaults to now."New value: +"Payment timestamp, ISO 8601 (e.g. 2026-09-07T10:00:00Z); defaults to now." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions applied, in the document currency.", + "type": "number" + }, + "amount_due": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Gross total minus applied provisions, null when not computed." + }, + "company_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company UUID." + }, + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "created_source": { + "description": "Origin of the document: manual (app) or mcp (agent).", + "type": "string" + }, + "credit_note_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Credit note UUID that cancelled this invoice." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "internal_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Private notes, never printed." + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "invopop_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status from the provider, null before issuance." + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) UUID, null when unassigned." + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the document." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "replaced_by_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rectificative UUID when this invoice was rectified." + }, + "replaces_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Original invoice UUID when this is a rectificative." + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Issue timestamp (ISO 8601), null while Draft." + }, + "source_quote_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote UUID this invoice was converted from." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote validity limit, YYYY-MM-DD; null for other types." + }, + "vat_scenario": { + "description": "Fiscal scenario frozen at creation (e.g. domestic, eu_b2b_reverse_charge).", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "company_id", + "matter_id", + "issue_date", + "due_date", + "valid_until", + "currency", + "payment_terms", + "delivery_channel", + "net_total", + "tax_total", + "gross_total", + "advances_total", + "amount_due", + "notes", + "internal_notes", + "paid_at", + "sent_at", + "invopop_status", + "vat_scenario", + "source_quote_id", + "replaces_invoice_id", + "replaced_by_invoice_id", + "credit_note_id", + "created_source", + "created_at", + "updated_at" + ], + "type": "object" +}
- Changed
mark_provision_paid3 fields changed- changed
Input schema / properties / invoice_id / descriptionPrevious value: -"The provision UUID."New value: +"The Sent or Overdue provision UUID." - changed
Input schema / properties / paid_at / descriptionPrevious value: -"Payment timestamp (ISO 8601). Defaults to now."New value: +"Payment timestamp (ISO 8601, e.g. 2026-09-07T10:00:00Z). Defaults to now." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Provision UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Provision number (PROV series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) name, null when unknown." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "matter", + "company", + "issue_date", + "due_date", + "paid_at", + "currency", + "gross_total" + ], + "type": "object" +}
- Changed
rectify_invoice9 fields changed- changed
Input schema / properties / due_date / descriptionPrevious value: -"Defaults from the original's payment terms."New value: +"Due date, YYYY-MM-DD. Defaults from the original's payment terms." - changed
Input schema / properties / issue_date / descriptionPrevious value: -"Defaults to today."New value: +"Issue date, YYYY-MM-DD. Defaults to today." - added
Input schema / properties / items / items / properties / description / descriptionAdded value: +"Line text printed on the invoice (1-500 characters)." - changed
Input schema / properties / items / items / properties / line_type / descriptionPrevious value: -"Defaults to 'item'."New value: +"Line kind: 'item' (billable, needs quantity and unit_price), 'section' (visual header) or 'description' (text-only sub-line). Defaults to 'item'." - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Required for 'item' lines."New value: +"Quantity. Required for 'item' lines." - changed
Input schema / properties / items / items / properties / tax_rate / descriptionPrevious value: -"OMIT — do NOT ask the user for a VAT rate. VAT is determined server-side by strict fiscal rules. Only set when the user explicitly states a rate."New value: +"OMIT - do NOT ask the user for a VAT rate. VAT is determined server-side by strict fiscal rules. Only set when the user explicitly states a rate, as a percent (0-100)." - changed
Input schema / properties / items / items / properties / unit_price / descriptionPrevious value: -"Required for 'item' lines."New value: +"Unit price excl. VAT, in the invoice currency. Required for 'item' lines." - added
Input schema / properties / notes / descriptionAdded value: +"Notes printed on the rectificative (max 2000 characters). Omit to copy the original's notes." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions applied, in the document currency.", + "type": "number" + }, + "amount_due": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Gross total minus applied provisions, null when not computed." + }, + "company_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company UUID." + }, + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "created_source": { + "description": "Origin of the document: manual (app) or mcp (agent).", + "type": "string" + }, + "credit_note_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Credit note UUID that cancelled this invoice." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "internal_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Private notes, never printed." + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "invopop_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status from the provider, null before issuance." + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) UUID, null when unassigned." + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the document." + }, + "original": { + "additionalProperties": false, + "description": "Invoice that would be rectified (preview only).", + "properties": { + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Document UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "gross_total" + ], + "type": "object" + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "replaced_by_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rectificative UUID when this invoice was rectified." + }, + "replaces_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Original invoice UUID when this is a rectificative." + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Issue timestamp (ISO 8601), null while Draft." + }, + "source_quote_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote UUID this invoice was converted from." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote validity limit, YYYY-MM-DD; null for other types." + }, + "vat_scenario": { + "description": "Fiscal scenario frozen at creation (e.g. domestic, eu_b2b_reverse_charge).", + "type": "string" + }, + "would_create": { + "additionalProperties": false, + "description": "Outline of the rectificative that would be created (preview only).", + "properties": { + "company_id": { + "description": "Client company UUID carried over from the original.", + "type": "string" + }, + "items_count": { + "description": "Number of line items the rectificative would carry.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "items_source": { + "description": "Where the items come from: 'override' or 'copied from original'.", + "type": "string" + } + }, + "required": [ + "company_id", + "items_count", + "items_source" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
reject_quote2 fields changed- changed
Input schema / properties / quote_id / descriptionPrevious value: -"The quote UUID."New value: +"The Sent quote UUID." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Quote UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Quote number (own series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Validity limit, YYYY-MM-DD." + }, + "would_reject": { + "additionalProperties": false, + "description": "Quote that would be rejected (preview only).", + "properties": { + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Document UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "gross_total" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
remove_provision_from_invoice1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions now applied to the invoice, in the document currency.", + "type": "number" + }, + "amount_due": { + "description": "Gross total minus applied provisions, in the document currency.", + "type": "number" + } + }, + "required": [ + "advances_total", + "amount_due" + ], + "type": "object" +}
- Changed
reorder_invoice_items5 fields changed- added
Input schema / properties / invoice_id / descriptionAdded value: +"The invoice UUID whose items are reordered." - added
Input schema / properties / item_order / descriptionAdded value: +"Full desired order: one entry per line item (1-200)." - added
Input schema / properties / item_order / items / properties / display_order / descriptionAdded value: +"New 0-based position of that item." - added
Input schema / properties / item_order / items / properties / id / descriptionAdded value: +"Line item UUID." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "invoice_id": { + "description": "The reordered invoice UUID.", + "type": "string" + }, + "items_count": { + "description": "Number of items whose position was set.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "reordered": { + "description": "True once the new order is saved.", + "type": "boolean" + } + }, + "required": [ + "reordered", + "invoice_id", + "items_count" + ], + "type": "object" +}
- Changed
send_provision2 fields changed- changed
Input schema / properties / invoice_id / descriptionPrevious value: -"The provision UUID."New value: +"The Draft provision UUID." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Provision UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Provision number (PROV series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) name, null when unknown." + }, + "note": { + "description": "Next-step guidance, present on preview responses.", + "type": "string" + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "preview": { + "description": "True when the call was a preview (confirm omitted or false): nothing was changed.", + "type": "boolean" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "would_issue_and_certify": { + "additionalProperties": false, + "description": "Provision that would be issued and certified (preview only).", + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company name, null when unknown." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Provision UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Provision number (PROV series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) name, null when unknown." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "status", + "matter", + "company", + "issue_date", + "due_date", + "paid_at", + "currency", + "gross_total" + ], + "type": "object" + } + }, + "type": "object" +}
- Changed
send_quote2 fields changed- changed
Input schema / properties / quote_id / descriptionPrevious value: -"The quote UUID."New value: +"The Draft quote UUID." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Quote UUID.", + "type": "string" + }, + "invoice_number": { + "description": "Quote number (own series).", + "type": "string" + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Validity limit, YYYY-MM-DD." + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "issue_date", + "due_date", + "valid_until", + "currency", + "net_total", + "tax_total", + "gross_total" + ], + "type": "object" +}
- Changed
update_company11 fields changed- added
Input schema / properties / city / descriptionAdded value: +"New city." - added
Input schema / properties / company_id / descriptionAdded value: +"The company UUID to update." - changed
Input schema / properties / country / descriptionPrevious value: -"ISO country, e.g. FR."New value: +"ISO 3166-1 alpha-2 country code, e.g. FR." - added
Input schema / properties / email / descriptionAdded value: +"New billing email address." - added
Input schema / properties / name / descriptionAdded value: +"New display name." - added
Input schema / properties / phone / descriptionAdded value: +"New phone number, any format." - added
Input schema / properties / postal_code / descriptionAdded value: +"New postal code." - added
Input schema / properties / street_address / descriptionAdded value: +"New street address (number and street)." - changed
Input schema / properties / tax_id / descriptionPrevious value: -"VAT number."New value: +"VAT number, e.g. FR12345678901." - added
Input schema / properties / website / descriptionAdded value: +"New website URL, including the scheme (https://)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Billing email." + }, + "id": { + "description": "Company UUID.", + "type": "string" + }, + "name": { + "description": "Display name.", + "type": "string" + }, + "siren": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "French SIREN (9 digits)." + }, + "tax_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "VAT number." + } + }, + "required": [ + "id", + "name", + "email", + "tax_id", + "siren" + ], + "type": "object" +}
- Changed
update_invoice8 fields changed- added
Input schema / properties / company_id / descriptionAdded value: +"Reassign the invoice to another company UUID (the client snapshot is rebuilt); null to detach." - added
Input schema / properties / due_date / descriptionAdded value: +"New due date, YYYY-MM-DD, on or after issue_date." - added
Input schema / properties / internal_notes / descriptionAdded value: +"Private notes never printed (max 2000 characters); null to clear." - added
Input schema / properties / invoice_id / descriptionAdded value: +"The Draft invoice UUID." - added
Input schema / properties / issue_date / descriptionAdded value: +"New issue date, YYYY-MM-DD." - added
Input schema / properties / notes / descriptionAdded value: +"Notes printed on the invoice (max 2000 characters); null to clear." - added
Input schema / properties / payment_terms / descriptionAdded value: +"New payment terms printed on the invoice." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions applied, in the document currency.", + "type": "number" + }, + "amount_due": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Gross total minus applied provisions, null when not computed." + }, + "company_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company UUID." + }, + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "created_source": { + "description": "Origin of the document: manual (app) or mcp (agent).", + "type": "string" + }, + "credit_note_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Credit note UUID that cancelled this invoice." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "internal_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Private notes, never printed." + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "invopop_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status from the provider, null before issuance." + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) UUID, null when unassigned." + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the document." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "replaced_by_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rectificative UUID when this invoice was rectified." + }, + "replaces_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Original invoice UUID when this is a rectificative." + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Issue timestamp (ISO 8601), null while Draft." + }, + "source_quote_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote UUID this invoice was converted from." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote validity limit, YYYY-MM-DD; null for other types." + }, + "vat_scenario": { + "description": "Fiscal scenario frozen at creation (e.g. domestic, eu_b2b_reverse_charge).", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "company_id", + "matter_id", + "issue_date", + "due_date", + "valid_until", + "currency", + "payment_terms", + "delivery_channel", + "net_total", + "tax_total", + "gross_total", + "advances_total", + "amount_due", + "notes", + "internal_notes", + "paid_at", + "sent_at", + "invopop_status", + "vat_scenario", + "source_quote_id", + "replaces_invoice_id", + "replaced_by_invoice_id", + "credit_note_id", + "created_source", + "created_at", + "updated_at" + ], + "type": "object" +}
- Changed
update_invoice_item7 fields changed- added
Input schema / properties / description / descriptionAdded value: +"New line text (1-500 characters)." - added
Input schema / properties / item_id / descriptionAdded value: +"The line item UUID." - added
Input schema / properties / line_type / descriptionAdded value: +"New line kind: 'item', 'section' or 'description'." - added
Input schema / properties / quantity / descriptionAdded value: +"New quantity; null to clear (non-item lines)." - changed
Input schema / properties / tax_rate / descriptionPrevious value: -"OMIT — VAT is determined server-side by fiscal rules; only set on explicit user request."New value: +"OMIT - VAT is determined server-side by fiscal rules; only set on explicit user request, as a percent (0-100)." - added
Input schema / properties / unit_price / descriptionAdded value: +"New unit price excl. VAT, in the invoice currency; null to clear (non-item lines)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "description": { + "description": "Line text.", + "type": "string" + }, + "display_order": { + "description": "0-based position on the document.", + "type": "number" + }, + "id": { + "description": "Line item UUID.", + "type": "string" + }, + "invoice_id": { + "description": "Parent invoice UUID.", + "type": "string" + }, + "line_total": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Line total incl. VAT, null for non-item lines." + }, + "line_type": { + "description": "Line kind: item, section or description.", + "type": "string" + }, + "product_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Linked product UUID, if any." + }, + "quantity": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Quantity, null for section/description lines." + }, + "tax_rate": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "VAT rate in percent, null for non-item lines." + }, + "tax_rate_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "VAT rate key (e.g. standard, reduced), null for non-item lines." + }, + "unit_price": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Unit price excl. VAT, null for non-item lines." + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + } + }, + "required": [ + "id", + "invoice_id", + "line_type", + "description", + "quantity", + "unit_price", + "tax_rate", + "tax_rate_key", + "line_total", + "display_order", + "product_id", + "created_at", + "updated_at" + ], + "type": "object" +}
- Changed
update_invoice_matter3 fields changed- added
Input schema / properties / invoice_id / descriptionAdded value: +"The invoice UUID (any status except Cancelled)." - changed
Input schema / properties / matter_id / descriptionPrevious value: -"Matter UUID, or null to detach."New value: +"Matter (dossier) UUID, or null to detach." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "advances_total": { + "description": "Sum of provisions applied, in the document currency.", + "type": "number" + }, + "amount_due": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Gross total minus applied provisions, null when not computed." + }, + "company_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Client company UUID." + }, + "created_at": { + "description": "Creation timestamp (ISO 8601).", + "type": "string" + }, + "created_source": { + "description": "Origin of the document: manual (app) or mcp (agent).", + "type": "string" + }, + "credit_note_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Credit note UUID that cancelled this invoice." + }, + "currency": { + "description": "ISO 4217 currency code (EUR, USD, GBP or CHF).", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "due_date": { + "description": "Due date, YYYY-MM-DD.", + "type": "string" + }, + "gross_total": { + "description": "Total incl. VAT, in the document currency.", + "type": "number" + }, + "id": { + "description": "Invoice UUID.", + "type": "string" + }, + "internal_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Private notes, never printed." + }, + "invoice_number": { + "description": "Human-readable document number.", + "type": "string" + }, + "invopop_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Fiscal certification status from the provider, null before issuance." + }, + "issue_date": { + "description": "Issue date, YYYY-MM-DD.", + "type": "string" + }, + "matter_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Matter (dossier) UUID, null when unassigned." + }, + "net_total": { + "description": "Total excl. VAT, in the document currency.", + "type": "number" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Notes printed on the document." + }, + "paid_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Payment timestamp (ISO 8601), null while unpaid." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + }, + "replaced_by_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Rectificative UUID when this invoice was rectified." + }, + "replaces_invoice_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Original invoice UUID when this is a rectificative." + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Issue timestamp (ISO 8601), null while Draft." + }, + "source_quote_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote UUID this invoice was converted from." + }, + "status": { + "description": "Document status: Draft, Sent, Paid, Overdue, Cancelled, Rectified, Accepted, Rejected or Expired.", + "type": "string" + }, + "tax_total": { + "description": "VAT amount, in the document currency.", + "type": "number" + }, + "type": { + "description": "Document type: invoice, credit_note, provision or quote.", + "type": "string" + }, + "updated_at": { + "description": "Last update timestamp (ISO 8601).", + "type": "string" + }, + "valid_until": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Quote validity limit, YYYY-MM-DD; null for other types." + }, + "vat_scenario": { + "description": "Fiscal scenario frozen at creation (e.g. domestic, eu_b2b_reverse_charge).", + "type": "string" + } + }, + "required": [ + "id", + "invoice_number", + "type", + "status", + "company_id", + "matter_id", + "issue_date", + "due_date", + "valid_until", + "currency", + "payment_terms", + "delivery_channel", + "net_total", + "tax_total", + "gross_total", + "advances_total", + "amount_due", + "notes", + "internal_notes", + "paid_at", + "sent_at", + "invopop_status", + "vat_scenario", + "source_quote_id", + "replaces_invoice_id", + "replaced_by_invoice_id", + "credit_note_id", + "created_source", + "created_at", + "updated_at" + ], + "type": "object" +}
- Changed
upsert_invoice_client_profile5 fields changed- added
Input schema / properties / company_id / descriptionAdded value: +"Company UUID (use list_companies to resolve)." - added
Input schema / properties / delivery_channel / descriptionAdded value: +"How invoices reach this client: Email, e-Invoice or Manual. Defaults to Email on creation." - added
Input schema / properties / invoice_prefix / descriptionAdded value: +"Custom invoice number prefix (max 10 chars, uppercase letters, digits and hyphens); null to use the tenant default." - added
Input schema / properties / payment_terms / descriptionAdded value: +"Default payment terms for this client's invoices. Defaults to Net-30 on creation." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company name, null when not resolvable." + }, + "company_id": { + "description": "Company UUID.", + "type": "string" + }, + "delivery_channel": { + "description": "Delivery channel: Email, e-Invoice or Manual.", + "type": "string" + }, + "id": { + "description": "Profile UUID.", + "type": "string" + }, + "invoice_prefix": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Custom invoice number prefix, null for the tenant default." + }, + "payment_terms": { + "description": "Payment terms: Net-15, Net-30, Net-60, Net-90 or Due on Receipt.", + "type": "string" + } + }, + "required": [ + "id", + "company_id", + "company", + "payment_terms", + "delivery_channel", + "invoice_prefix" + ], + "type": "object" +}
41 tool updates
- First observed
accept_quote - First observed
add_invoice_item - First observed
apply_provisions_to_invoice - First observed
cancel_invoice - First observed
check_certification_status - First observed
convert_quote_to_invoice - First observed
create_company - First observed
create_credit_note - First observed
create_invoice - First observed
create_provision - First observed
create_quote - First observed
delete_company - First observed
delete_invoice - First observed
delete_invoice_client_profile - First observed
delete_invoice_item - First observed
get_company - First observed
get_invoice - First observed
get_invoice_client_profile - First observed
get_invoice_pdf - First observed
get_rectification_links - First observed
get_revenue_summary - First observed
get_settings - First observed
import_external_invoice - First observed
issue_invoice - First observed
list_available_provisions - First observed
list_companies - First observed
list_invoices - First observed
list_mcp_activity - First observed
mark_invoice_paid - First observed
mark_provision_paid - First observed
rectify_invoice - First observed
reject_quote - First observed
remove_provision_from_invoice - First observed
reorder_invoice_items - First observed
send_provision - First observed
send_quote - First observed
update_company - First observed
update_invoice - First observed
update_invoice_item - First observed
update_invoice_matter - First observed
upsert_invoice_client_profile
Publisher details
- Operator
- Kema Invoice · Publisher source
- Operator website
- https://kema-studio.com/en · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://docs.kema-studio.com/invoice/guide-utilisateur/connecter-votre-agent-mcp · Publisher source
- Trust center
- Not available
- Restrictions
- Requires an active Kema Invoice subscription (EUR 10 excl. VAT per user per month). Free trial: 14 days or 10 invoices, whichever comes first, single user, no credit card. Without an entitlement the connector still connects and lists its tools; every tools/call returns an explanatory refusal instead of data. No admin approval, no regional restriction and no custom OAuth app to create: the server supports dynamic client registration (RFC 7591). The product targets French and EU invoicing rules. · Publisher source
Related MCP Connectors
Log hours and invoice clients from your AI chat. Time tracking and invoicing for freelancers.
Create invoices from your AI assistant in 6 languages and 10 currencies, ready for WhatsApp.
Free invoice drafts, templates and direct PDF generation for AI agents. No account needed.
Invoicing tools for AI assistants: clients, draft invoices with computed tax, and email sending.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to create and manage e-invoices through natural language, supporting EU compliance formats like ZUGFeRD and XRechnung, as well as US plain PDF invoices.7-

InvoiceXMLofficial
AlicenseNot gradedqualityCmaintenanceInvoiceXML brings e-invoice compliance to your AI agent. Create, validate, convert, render, and extract structured invoices across UBL (Peppol BIS Billing 3.0, used worldwide), CII, Factur-X, ZUGFeRD, and XRechnung, all checked against the EN 16931 standard and official Schematron rules. Ask your assistant to generate a compliant invoice, validate one for errors, or convert between formats, with n5MIT- AlicenseNot gradedqualityBmaintenanceEnables drafting quotations and invoices from AI assistants like ChatGPT, Claude, and Gemini, with 133 templates, tax rules for 195 countries, and a link to the finished document.MIT

BeeL MCP serverofficial
AlicenseAqualityAmaintenanceEnables AI agents to issue, correct, and register legally compliant Spanish electronic invoices with AEAT VeriFactu, supporting F1/F2 types, R1–R5 correctives, and NIF validation from Claude, ChatGPT, Cursor, or VS Code.13161 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.