Create quote
Save a draft quote for a contact. Nothing is sent.
MCP tool lexware_office_write → create_quotation
write
Saves a quote (Angebot) as a draft. It has no number yet, reaches no customer and is deleted with one call in the app, so it does not ask for your OK. Returns the totals so you can read them before finalize_document.
Parameters
| Name | Type | Description |
|---|---|---|
| contact_id string required | string | Contact ID from list_contacts or create_contact. |
| quotation_date string required | string | Quote date, YYYY-MM-DD. |
| lines array required | array | Line items. Each has name, quantity, unit_price_net (EUR) and tax_rate (percent, as offered in your Lexware Office tax settings). Free-text lines need only a name. |
| valid_until string | string | Last day the quote is valid, YYYY-MM-DD. |
| intro_text string | string | Introduction text above the lines. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "lexware_office_write",
"arguments": {
"operation": "create_quotation",
"arguments": {
"contact_id": "contact_8c41d2",
"quotation_date": "quotation date",
"lines": "lines"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"document_id": "d_e5120a",
"type": "quotation",
"number": null,
"status": "draft",
"contact": {
"contact_id": "c_88d0e1",
"name": "Studio Fjord"
},
"date": "2026-10-14",
"lines": [
{
"name": "Site audit",
"quantity": 1,
"unit_price_net": 1200,
"tax_rate": 19
},
{
"name": "Fixes, hours",
"quantity": 6,
"unit_price_net": 95,
"tax_rate": 19
}
],
"total_net": 1770,
"total_tax": 336.3,
"total_gross": 2106.3,
"currency": "EUR"
},
"isError": false
}