Lexware Office MCP by usefulapi

Read Lexware Office contacts, articles, invoices and vouchers; create contacts and draft invoices.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
99%
Integridad del esquema
87%
Calidad de los nombres
76%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (4)

  • LOWTool 'lexware_get_down_payment_invoice' name length outside 3-30 rangeen lexware_get_down_payment_invoice
  • LOWTool 'lexware_get_bookkeeping_voucher' name length outside 3-30 rangeen lexware_get_bookkeeping_voucher
  • LOWTool 'lexware_list_payment_conditions' name length outside 3-30 rangeen lexware_list_payment_conditions
  • LOWTool 'lexware_list_posting_categories' name length outside 3-30 rangeen lexware_list_posting_categories

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~7,186Tokens (definiciones de herramientas)
~2.7 KBTamaño de respuesta típico
Impacto significativo en la atención (5.61% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "lexware-office": {
      "url": "https://lexware-office.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://lexware-office.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (21)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢lexware_get_profile

The connected Lexware Office organization: organizationId, company name, the user who created the API key, tax type (net/gross/vatfree), small-business flag (Kleinunternehmer), distance-sales principle and the plan's business features (INVOICING, INVOICING_PRO, BOOKKEEPING). Good first call. GET /v1/profile.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_list_contacts(name, email, number, customer, vendor, ...)

List customers and vendors, optionally filtered (filters combine with AND). name and email match as case-insensitive substrings (at least 3 characters; _ and % are wildcards). Paged: pass next_page as page. GET /v1/contacts.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Part of the contact's name (min 3 characters).",
      "type": "string",
      "minLength": 3,
      "maxLength": 255
    },
    "email": {
      "description": "Part of any of the contact's email addresses (min 3 characters).",
      "type": "string",
      "minLength": 3,
      "maxLength": 255
    },
    "number": {
      "description": "Customer or vendor number.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "customer": {
      "description": "true = only contacts with the customer role, false = only contacts without it.",
      "type": "boolean"
    },
    "vendor": {
      "description": "true = only contacts with the vendor role, false = only contacts without it.",
      "type": "boolean"
    },
    "page": {
      "description": "Page index, 0-based (default 0). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9999
    },
    "size": {
      "description": "Results per page, 1-250 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_list_articles(article_number, gtin, type, page, size)

List articles (products and services usable as invoice line items), with price, tax rate and unit. Optional exact filters by article number, GTIN or type. Paged: pass next_page as page. GET /v1/articles.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "article_number": {
      "description": "Exact article number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "gtin": {
      "description": "GTIN (EAN) of the article.",
      "type": "string",
      "pattern": "^\\d{8,14}$"
    },
    "type": {
      "description": "Only products or only services.",
      "type": "string",
      "enum": [
        "PRODUCT",
        "SERVICE"
      ]
    },
    "page": {
      "description": "Page index, 0-based (default 0). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9999
    },
    "size": {
      "description": "Results per page, 1-250 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_list_vouchers(voucher_types, voucher_statuses, archived, contact_id, voucher_date_from, ...)

Search the voucher list: metadata (id, type, status, number, dates, contact, total and open amount) of sales documents (invoice, quotation, creditnote, orderconfirmation, deliverynote, downpaymentinvoice) and bookkeeping vouchers (salesinvoice, salescreditnote, purchaseinvoice, purchasecreditnote). Omit voucher_types / voucher_statuses for all. Then fetch details with the matching get tool (invoice → lexware_get_invoice, quotation → lexware_get_quotation, creditnote → lexware_get_credit_note, orderconfirmation → lexware_get_order_confirmation, deliverynote → lexware_get_delivery_note, downpaymentinvoice → lexware_get_down_payment_invoice, the four bookkeeping types → lexware_get_bookkeeping_voucher). Dates are yyyy-mm-dd, whole days in German time. Up to 10,000 results can be paged through; narrow the dates for more. GET /v1/voucherlist.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "voucher_types": {
      "description": "Voucher types to include (default: all).",
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "salesinvoice",
          "salescreditnote",
          "purchaseinvoice",
          "purchasecreditnote",
          "invoice",
          "downpaymentinvoice",
          "creditnote",
          "orderconfirmation",
          "quotation",
          "deliverynote"
        ]
      }
    },
    "voucher_statuses": {
      "description": "Statuses to include (default: all). overdue cannot be combined with other statuses; accepted/rejected apply to quotations, unchecked to bookkeeping vouchers.",
      "minItems": 1,
      "maxItems": 11,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "draft",
          "open",
          "overdue",
          "paid",
          "paidoff",
          "voided",
          "transferred",
          "sepadebit",
          "accepted",
          "rejected",
          "unchecked"
        ]
      }
    },
    "archived": {
      "description": "true = only archived, false = only not archived.",
      "type": "boolean"
    },
    "contact_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Only vouchers of this contact."
    },
    "voucher_date_from": {
      "description": "Voucher date from (yyyy-mm-dd, inclusive).",
      "type": "string"
    },
    "voucher_date_to": {
      "description": "Voucher date to (yyyy-mm-dd, inclusive).",
      "type": "string"
    },
    "created_date_from": {
      "description": "Created from (yyyy-mm-dd, inclusive).",
      "type": "string"
    },
    "created_date_to": {
      "description": "Created to (yyyy-mm-dd, inclusive).",
      "type": "string"
    },
    "updated_date_from": {
      "description": "Last changed from (yyyy-mm-dd, inclusive).",
      "type": "string"
    },
    "updated_date_to": {
      "description": "Last changed to (yyyy-mm-dd, inclusive).",
      "type": "string"
    },
    "voucher_number": {
      "description": "Exact voucher number, e.g. RE1019.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "sort": {
      "description": "Sort field (default voucherDate).",
      "type": "string",
      "enum": [
        "voucherDate",
        "voucherNumber",
        "createdDate",
        "updatedDate"
      ]
    },
    "direction": {
      "description": "Sort direction (default DESC).",
      "type": "string",
      "enum": [
        "ASC",
        "DESC"
      ]
    },
    "page": {
      "description": "Page index, 0-based (default 0). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9999
    },
    "size": {
      "description": "Results per page, 1-250 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_invoice(id)

Get one invoice by id: status (draft/open/paid/voided), line items, totals, tax amounts, payment and shipping conditions, related vouchers. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/invoices/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The invoice id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_quotation(id)

Get one quotation by id: status (draft/open/accepted/rejected), expiration date, line items, totals. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/quotations/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The quotation id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_credit_note(id)

Get one credit note by id: status, line items, totals, related invoice. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/credit-notes/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The credit note id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_order_confirmation(id)

Get one order confirmation by id: status, line items, totals, delivery terms. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/order-confirmations/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The order confirmation id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_delivery_note(id)

Get one delivery note by id: status, line items, shipping conditions. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/delivery-notes/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The delivery note id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_down_payment_invoice(id)

Get one down payment invoice (Abschlagsrechnung) by id: status, amounts, related closing invoice. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/down-payment-invoices/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The down payment invoice id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_dunning(id)

Get one dunning (payment reminder) by id: status, the dunned invoice in relatedVouchers, line items, totals. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/dunnings/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The dunning id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_bookkeeping_voucher(id)

Get one bookkeeping voucher (salesinvoice, salescreditnote, purchaseinvoice or purchasecreditnote from the voucher list) by id: status, voucher items with posting category ids, tax amounts, contact, file ids. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/vouchers/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The bookkeeping voucher id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_article(id)

Get one article (product or service) by id: title, type, article number, GTIN, unit, net/gross price and tax rate. GET /v1/articles/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The article id (from lexware_list_vouchers / lexware_list_articles)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_contact(id)

Get one contact (customer and/or vendor) by id: customer/vendor numbers, company or person, contact persons, addresses, emails, phones, note. Includes lexwareAppUrl, a link that opens it in Lexware Office. GET /v1/contacts/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The contact id (from lexware_list_vouchers / lexware_list_contacts)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_get_payments(voucher_id)

Payment status of an invoice, credit note, down payment invoice or bookkeeping voucher: open amount, payment status (balanced/openRevenue/openExpense), paid date and the payment items (bank transactions, cash, credit notes, Skonto). Not available for quotations or drafts. GET /v1/payments/{voucherId}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "voucher_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "The voucher id (from lexware_list_vouchers)."
    }
  },
  "required": [
    "voucher_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_list_countries

Countries known to Lexware Office with their code, English and German name and tax classification (de, intraCommunity, thirdPartyCountry). GET /v1/countries.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_list_payment_conditions

The payment conditions configured in Lexware Office (days until due, early-payment discount, label template, which is the organization default). GET /v1/payment-conditions.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lexware_list_posting_categories(type)

Bookkeeping posting categories (id, name, group, income or outgo, whether a contact is required and split tax rates are allowed), used by bookkeeping vouchers' categoryId. Optionally only income or outgo. GET /v1/posting-categories.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "type": {
      "description": "Only income (revenue) or outgo (expense) categories.",
      "type": "string",
      "enum": [
        "income",
        "outgo"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴lexware_create_contact(roles, company_name, tax_number, vat_registration_id, allow_tax_free_invoices, ...)

WRITE: creates a new customer and/or vendor in Lexware Office (Lexware assigns the customer/vendor number). Give company_name for a company OR person_last_name for a private person. One billing and one shipping address, one email and one phone at most. Check lexware_list_contacts first to avoid duplicates. POST /v1/contacts.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "roles": {
      "description": "Roles of the new contact (default customer).",
      "minItems": 1,
      "maxItems": 2,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "customer",
          "vendor"
        ]
      }
    },
    "company_name": {
      "description": "Company name (for a company contact).",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "tax_number": {
      "description": "Company tax number (Steuernummer).",
      "type": "string",
      "maxLength": 50
    },
    "vat_registration_id": {
      "description": "Company VAT id (USt-IdNr.), e.g. DE123456789.",
      "type": "string",
      "maxLength": 50
    },
    "allow_tax_free_invoices": {
      "description": "Company: allow tax-free invoices.",
      "type": "boolean"
    },
    "contact_person_last_name": {
      "description": "Company: last name of the (primary) contact person.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "contact_person_first_name": {
      "type": "string",
      "maxLength": 255
    },
    "contact_person_salutation": {
      "type": "string",
      "maxLength": 25
    },
    "contact_person_email": {
      "type": "string",
      "maxLength": 255,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "contact_person_phone": {
      "type": "string",
      "maxLength": 50
    },
    "person_last_name": {
      "description": "Private person: last name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "person_first_name": {
      "description": "Private person: first name.",
      "type": "string",
      "maxLength": 255
    },
    "person_salutation": {
      "description": "Private person: salutation, e.g. Frau, Herr.",
      "type": "string",
      "maxLength": 25
    },
    "billing_address": {
      "type": "object",
      "properties": {
        "supplement": {
          "type": "string",
          "maxLength": 255
        },
        "street": {
          "description": "Street and number.",
          "type": "string",
          "maxLength": 255
        },
        "zip": {
          "type": "string",
          "maxLength": 20
        },
        "city": {
          "type": "string",
          "maxLength": 255
        },
        "country_code": {
          "type": "string",
          "pattern": "^[A-Z]{2}(_[A-Z0-9]{1,3})?$",
          "description": "ISO 3166 alpha-2 country code, e.g. DE, AT, CH (lexware_list_countries lists the supported codes)."
        }
      },
      "required": [
        "country_code"
      ]
    },
    "shipping_address": {
      "type": "object",
      "properties": {
        "supplement": {
          "type": "string",
          "maxLength": 255
        },
        "street": {
          "description": "Street and number.",
          "type": "string",
          "maxLength": 255
        },
        "zip": {
          "type": "string",
          "maxLength": 20
        },
        "city": {
          "type": "string",
          "maxLength": 255
        },
        "country_code": {
          "type": "string",
          "pattern": "^[A-Z]{2}(_[A-Z0-9]{1,3})?$",
          "description": "ISO 3166 alpha-2 country code, e.g. DE, AT, CH (lexware_list_countries lists the supported codes)."
        }
      },
      "required": [
        "country_code"
      ]
    },
    "email": {
      "description": "Business email address.",
      "type": "string",
      "maxLength": 255,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "description": "Business phone number.",
      "type": "string",
      "maxLength": 50
    },
    "note": {
      "description": "Internal note (max 1000 characters).",
      "type": "string",
      "maxLength": 1000
    },
    "xrechnung_buyer_reference": {
      "description": "German public authority: Leitweg-ID (needs xrechnung_vendor_number_at_customer).",
      "type": "string",
      "maxLength": 255
    },
    "xrechnung_vendor_number_at_customer": {
      "description": "Your vendor number at that customer (with the Leitweg-ID).",
      "type": "string",
      "maxLength": 255
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴lexware_create_draft_invoice(contact_id, name, supplement, street, zip, ...)

WRITE: creates an invoice in Lexware Office as a DRAFT (never finalized, numbered or sent; Lexware assigns the number when the user finalizes it in the app). Address it to an existing customer (contact_id) or a one-time address (name + country_code). Prices are EUR. Returns the new id and lexwareAppUrl to review and finalize it in Lexware Office. POST /v1/invoices (without finalize).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "An existing Lexware contact with the customer role (from lexware_list_contacts). Give this OR name + country_code."
    },
    "name": {
      "description": "One-time recipient name (no contact is created). Required without contact_id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "supplement": {
      "description": "One-time address supplement.",
      "type": "string",
      "maxLength": 255
    },
    "street": {
      "description": "One-time address street and number.",
      "type": "string",
      "maxLength": 255
    },
    "zip": {
      "description": "One-time address ZIP code.",
      "type": "string",
      "maxLength": 20
    },
    "city": {
      "description": "One-time address city.",
      "type": "string",
      "maxLength": 255
    },
    "country_code": {
      "type": "string",
      "pattern": "^[A-Z]{2}(_[A-Z0-9]{1,3})?$",
      "description": "ISO 3166 alpha-2 country code, e.g. DE, AT, CH (lexware_list_countries lists the supported codes)."
    },
    "voucher_date": {
      "type": "string",
      "description": "Invoice date (yyyy-mm-dd)."
    },
    "shipping_type": {
      "type": "string",
      "enum": [
        "service",
        "serviceperiod",
        "delivery",
        "deliveryperiod",
        "none"
      ],
      "description": "Leistungs-/Lieferdatum type: service or delivery (needs shipping_date), serviceperiod or deliveryperiod (needs shipping_date and shipping_end_date), none."
    },
    "shipping_date": {
      "description": "Service/delivery date, or the start of the period (yyyy-mm-dd).",
      "type": "string"
    },
    "shipping_end_date": {
      "description": "End of the service/delivery period (yyyy-mm-dd).",
      "type": "string"
    },
    "language": {
      "description": "Document language (default de; en needs the INVOICING_PRO feature).",
      "type": "string",
      "enum": [
        "de",
        "en"
      ]
    },
    "tax_type": {
      "description": "Tax type (default net): net, gross, vatfree, intraCommunitySupply, constructionService13b, externalService13b, thirdPartyCountryService, thirdPartyCountryDelivery.",
      "type": "string",
      "enum": [
        "net",
        "gross",
        "vatfree",
        "intraCommunitySupply",
        "constructionService13b",
        "externalService13b",
        "thirdPartyCountryService",
        "thirdPartyCountryDelivery"
      ]
    },
    "tax_type_note": {
      "description": "Note for a vat-free tax type (Lexware uses the organization's default when omitted).",
      "type": "string",
      "maxLength": 1000
    },
    "line_items": {
      "minItems": 1,
      "maxItems": 300,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "custom",
              "service",
              "material",
              "text"
            ],
            "description": "custom = a free item without an article; service/material = an existing article (article_id required); text = a text-only line."
          },
          "article_id": {
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "description": "The article id (from lexware_list_articles); required for type service and material, not allowed otherwise."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Item name (max 255 characters)."
          },
          "description": {
            "description": "Item description (max 2000; **bold**, __italic__ and '- ' lists are supported).",
            "type": "string",
            "maxLength": 2000
          },
          "quantity": {
            "description": "Quantity (up to 4 decimals); required unless type is text.",
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 1000000000
          },
          "unit_name": {
            "description": "Unit, e.g. Stück, Stunde, piece, hour; required unless type is text.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "unit_price": {
            "description": "Unit price in EUR (up to 4 decimals): NET when tax_type is not gross, GROSS when tax_type is gross. Required unless type is text.",
            "type": "number",
            "minimum": -1000000000,
            "maximum": 1000000000
          },
          "tax_rate": {
            "description": "VAT rate in percent, e.g. 19, 7 or 0 (0 for every vat-free tax_type). Required unless type is text.",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "discount_percentage": {
            "description": "Line discount in percent (up to 2 decimals).",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "description": "1-300 line items."
    },
    "total_discount_percentage": {
      "description": "Total discount in percent.",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "payment_term_duration": {
      "description": "Days until payment is due (the organization's or contact's default when omitted).",
      "type": "integer",
      "minimum": 0,
      "maximum": 3650
    },
    "payment_term_label": {
      "description": "Payment terms text shown on the document.",
      "type": "string",
      "maxLength": 255
    },
    "title": {
      "description": "Document title (max 25 characters; default from Lexware).",
      "type": "string",
      "maxLength": 25
    },
    "introduction": {
      "description": "Introduction text (max 2000).",
      "type": "string",
      "maxLength": 2000
    },
    "remark": {
      "description": "Closing remark (max 2000).",
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "voucher_date",
    "shipping_type",
    "line_items"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴lexware_create_draft_quotation(contact_id, name, supplement, street, zip, ...)

WRITE: creates a quotation (Angebot) in Lexware Office as a DRAFT (never finalized or sent). Address it to an existing customer (contact_id) or a one-time address (name + country_code). Prices are EUR. Returns the new id and lexwareAppUrl to review and finalize it in Lexware Office. POST /v1/quotations (without finalize).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "An existing Lexware contact with the customer role (from lexware_list_contacts). Give this OR name + country_code."
    },
    "name": {
      "description": "One-time recipient name (no contact is created). Required without contact_id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "supplement": {
      "description": "One-time address supplement.",
      "type": "string",
      "maxLength": 255
    },
    "street": {
      "description": "One-time address street and number.",
      "type": "string",
      "maxLength": 255
    },
    "zip": {
      "description": "One-time address ZIP code.",
      "type": "string",
      "maxLength": 20
    },
    "city": {
      "description": "One-time address city.",
      "type": "string",
      "maxLength": 255
    },
    "country_code": {
      "type": "string",
      "pattern": "^[A-Z]{2}(_[A-Z0-9]{1,3})?$",
      "description": "ISO 3166 alpha-2 country code, e.g. DE, AT, CH (lexware_list_countries lists the supported codes)."
    },
    "voucher_date": {
      "type": "string",
      "description": "Quotation date (yyyy-mm-dd)."
    },
    "expiration_date": {
      "type": "string",
      "description": "Valid until (yyyy-mm-dd), on or after voucher_date."
    },
    "language": {
      "description": "Document language (default de; en needs the INVOICING_PRO feature).",
      "type": "string",
      "enum": [
        "de",
        "en"
      ]
    },
    "tax_type": {
      "description": "Tax type (default net): net, gross, vatfree, intraCommunitySupply, constructionService13b, externalService13b, thirdPartyCountryService, thirdPartyCountryDelivery.",
      "type": "string",
      "enum": [
        "net",
        "gross",
        "vatfree",
        "intraCommunitySupply",
        "constructionService13b",
        "externalService13b",
        "thirdPartyCountryService",
        "thirdPartyCountryDelivery"
      ]
    },
    "tax_type_note": {
      "description": "Note for a vat-free tax type (Lexware uses the organization's default when omitted).",
      "type": "string",
      "maxLength": 1000
    },
    "line_items": {
      "minItems": 1,
      "maxItems": 300,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "custom",
              "service",
              "material",
              "text"
            ],
            "description": "custom = a free item without an article; service/material = an existing article (article_id required); text = a text-only line."
          },
          "article_id": {
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "description": "The article id (from lexware_list_articles); required for type service and material, not allowed otherwise."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Item name (max 255 characters)."
          },
          "description": {
            "description": "Item description (max 2000; **bold**, __italic__ and '- ' lists are supported).",
            "type": "string",
            "maxLength": 2000
          },
          "quantity": {
            "description": "Quantity (up to 4 decimals); required unless type is text.",
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 1000000000
          },
          "unit_name": {
            "description": "Unit, e.g. Stück, Stunde, piece, hour; required unless type is text.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "unit_price": {
            "description": "Unit price in EUR (up to 4 decimals): NET when tax_type is not gross, GROSS when tax_type is gross. Required unless type is text.",
            "type": "number",
            "minimum": -1000000000,
            "maximum": 1000000000
          },
          "tax_rate": {
            "description": "VAT rate in percent, e.g. 19, 7 or 0 (0 for every vat-free tax_type). Required unless type is text.",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "discount_percentage": {
            "description": "Line discount in percent (up to 2 decimals).",
            "type": "number",
            "minimum": 0,
            "maximum": 100
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "description": "1-300 line items."
    },
    "total_discount_percentage": {
      "description": "Total discount in percent.",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "payment_term_duration": {
      "description": "Days until payment is due (the organization's or contact's default when omitted).",
      "type": "integer",
      "minimum": 0,
      "maximum": 3650
    },
    "payment_term_label": {
      "description": "Payment terms text shown on the document.",
      "type": "string",
      "maxLength": 255
    },
    "title": {
      "description": "Document title (max 25 characters; default from Lexware).",
      "type": "string",
      "maxLength": 25
    },
    "introduction": {
      "description": "Introduction text (max 2000).",
      "type": "string",
      "maxLength": 2000
    },
    "remark": {
      "description": "Closing remark (max 2000).",
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "voucher_date",
    "expiration_date",
    "line_items"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada21 herramientas