Lexware Office MCP by usefulapi

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
99%
Vollständigkeit des Schemas
87%
Qualität der Benennung
76%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (4)

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

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~7,186Tokens (Tool-Definitionen)
~2.7 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.61% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (21)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet21 Tools