lexware_create_article
Create a new article.
Issue and chase Lexware Office paperwork from the client — invoices, credit notes, quotations, order confirmations, delivery notes and dunnings — and pull each one back as a PDF or an XRechnung XML.
LABSCO SUMMARY
lexware_create_invoice takes finalize=true to come out with status open; the API does not support finalizing an existing draft, so a draft made without it stays one. Documents connect through the pursue tools rather than through edits — a quotation leads to an order confirmation, that or the quotation to a delivery note, an invoice to a credit note or a dunning — each by precedingSalesVoucherId. Webhook verification is exacting for a reason: it wants the raw HTTP body bytes as received, because the signature covers the compact JSON as transmitted, whitespace and key order included.
A Lexware Office client of 66 tools across 20 resource domains, covering the sales-voucher chain, bookkeeping vouchers, contacts and articles, file upload and webhook subscriptions. Five narrower entry points ship alongside the full one, so a client with a tool limit can load only the domain it needs.
A Lexware Office organization and an API token from its public-API settings. The token is read from your OS keyring first and from LEXWARE_API_TOKEN second — the keyring route is the one the author documents, with prompts that keep the token out of your shell history and the process list. Install with npm and run the full server, or pick one of the narrower entry points for sales, contacts, bookkeeping, reference data or system when your client caps how many tools it will load. Creating an event subscription needs a callbackUrl Lexware can reach, and the update tools for articles, contacts and vouchers need the record's version field for optimistic locking. Unofficial and not affiliated with Lexware.
One command plus a key — npm install -g @lazyants/lexware-mcp-server, then supply credentials
USE CASES
Create each following document as a pursuit of the one before, so the chain stays linked in Lexware.
Create it finalized rather than as a draft, then download the XML representation instead of the PDF.
Check what has been paid against it, then raise the dunning as a follow-up to the invoice itself.
One search runs across every voucher type rather than checking each kind separately.
Create the bookkeeping voucher and attach the file to it, then open it in the web app if it needs a human.
Subscribe to the event, then verify the signature against the exact bytes you received.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
lexware_create_articleCreate a new article.
lexware_create_contactCreate a new contact.
lexware_create_credit_noteCreate a new credit note in Lexware.
lexware_create_delivery_noteCreate a new delivery note in Lexware.
lexware_create_event_subscriptionCreate a new webhook event subscription in Lexware.
lexware_create_invoiceCreate a new invoice in Lexware. Set finalize=true to immediately finalize (status "open"); omit or false to create as draft. The Lexware API does not support finalizing an existing draft — this is the only documented way to obtain a finalized invoice.
lexware_create_order_confirmationCreate a new order confirmation in Lexware.
lexware_create_quotationCreate a new quotation in Lexware.
lexware_create_voucherCreate a new bookkeeping voucher in Lexware.
lexware_deeplink_contactGet a direct URL to view a contact in the Lexware web app.
lexware_deeplink_credit_noteGet a direct link to view/edit a credit note in the Lexware web app.
lexware_deeplink_delivery_noteGet a direct link to view/edit a delivery note in the Lexware web app.
lexware_deeplink_down_payment_invoiceGet a direct link to view/edit a down payment invoice in the Lexware web app.
lexware_deeplink_dunningGet a direct link to view/edit a dunning in the Lexware web app.
lexware_deeplink_fileGet a direct link to the bookkeeping inbox of newly-uploaded files in the Lexware web app.
lexware_deeplink_invoiceGet a direct link to view/edit an invoice in the Lexware web app.
lexware_deeplink_order_confirmationGet a direct link to view/edit an order confirmation in the Lexware web app.
lexware_deeplink_quotationGet a direct link to view/edit a quotation in the Lexware web app.
lexware_deeplink_recurring_templateGet a direct link to view/edit a recurring invoice template in the Lexware web app.
lexware_deeplink_voucherGet a direct link to view/edit a bookkeeping voucher in the Lexware web app.
lexware_delete_articleDelete an article by ID.
lexware_delete_event_subscriptionDelete a webhook event subscription from Lexware.
lexware_download_credit_note_fileDownload the file for a credit note. Defaults to PDF; pass format="xml" to request the XRechnung XML e-invoice when available (the API returns whatever representation it can render).
lexware_download_delivery_note_fileDownload the PDF file for a delivery note.
lexware_download_down_payment_invoice_fileDownload the file for a down payment invoice. Defaults to PDF; pass format="xml" to request the XRechnung XML e-invoice when available (the API returns whatever representation it can render).
lexware_download_dunning_fileDownload the PDF file for a dunning.
lexware_download_fileDownload a file from Lexware. Returns the file as base64-encoded content.
lexware_download_invoice_fileDownload the file for an invoice. Defaults to PDF; pass format="xml" to request the XRechnung XML e-invoice when available (the API returns whatever representation it can render).
lexware_download_order_confirmation_fileDownload the PDF file for an order confirmation.
lexware_download_quotation_fileDownload the PDF file for a quotation.
lexware_get_articleGet a single article by ID.
lexware_get_contactGet a single contact by ID.
lexware_get_credit_noteRetrieve a credit note by ID from Lexware.
lexware_get_delivery_noteRetrieve a delivery note by ID from Lexware.
lexware_get_down_payment_invoiceRetrieve a down payment invoice by ID from Lexware.
lexware_get_dunningRetrieve a dunning by ID from Lexware.
lexware_get_event_subscriptionRetrieve a webhook event subscription by ID from Lexware.
lexware_get_file_statusGet file metadata and processing status from Lexware.
lexware_get_invoiceRetrieve an invoice by ID from Lexware.
lexware_get_order_confirmationRetrieve an order confirmation by ID from Lexware.
lexware_get_paymentsGet payment details for a specific voucher.
lexware_get_profileGet the organization profile information.
lexware_get_quotationRetrieve a quotation by ID from Lexware.
lexware_get_recurring_templateRetrieve a recurring invoice template by ID from Lexware.
lexware_get_voucherRetrieve a bookkeeping voucher by ID from Lexware.
lexware_list_articlesList all articles with optional pagination.
lexware_list_contactsList all contacts with optional pagination and filters.
lexware_list_countriesList all available countries with their tax classifications.
lexware_list_event_subscriptionsList all webhook event subscriptions in Lexware.
lexware_list_payment_conditionsList all available payment conditions.
lexware_list_posting_categoriesList all available posting categories for bookkeeping.
lexware_list_print_layoutsList available print layout templates.
lexware_list_recurring_templatesList recurring invoice templates from Lexware.
lexware_list_voucherlistSearch and filter across all voucher types in Lexware. This is the main way to find invoices, credit notes, quotations, and other voucher types.
lexware_list_vouchersList bookkeeping vouchers from Lexware with optional filters.
lexware_pursue_credit_noteCreate a new credit note as a follow-up to a preceding invoice. Maps to the documented POST /credit-notes?precedingSalesVoucherId={id}[&finalize=true] endpoint. Set finalize=true to immediately finalize the credit note; omit or false to create as draft.
lexware_pursue_delivery_noteCreate a new delivery note as a follow-up to a preceding quotation or order confirmation. Maps to the documented POST /delivery-notes?precedingSalesVoucherId={id} endpoint.
lexware_pursue_dunningCreate a new dunning as a follow-up to a preceding invoice via the documented POST /dunnings?precedingSalesVoucherId={id} endpoint. Dunnings are always created in draft mode and do not need to be finalized.
lexware_pursue_invoiceCreate a new invoice as a follow-up to a preceding sales voucher (quotation, order confirmation, or delivery note). Maps to the documented POST /invoices?precedingSalesVoucherId={id}[&finalize=true] endpoint. Set finalize=true to immediately finalize the new invoice (status "open"); omit or false to create as draft.
lexware_pursue_order_confirmationCreate a new order confirmation as a follow-up to a preceding quotation. Maps to the documented POST /order-confirmations?precedingSalesVoucherId={id} endpoint.
lexware_update_articleUpdate an existing article. The body must include the version field for optimistic locking.
lexware_update_contactUpdate an existing contact. The body must include the version field for optimistic locking.
lexware_update_voucherUpdate an existing bookkeeping voucher in Lexware. Requires version field for optimistic locking.
lexware_upload_fileUpload a file to Lexware.
lexware_upload_voucher_fileUpload a file attachment to a bookkeeping voucher.
lexware_verify_webhook_signatureVerify a Lexware webhook X-Lxo-Signature (RSA-SHA512, base64) against the raw request body. Pass the EXACT raw HTTP body bytes you received — do not JSON.parse/stringify round-trip, as Lexware signs the compact JSON as transmitted (whitespace and key order matter). On first call the public key is fetched once from developers.lexware.io and cached for the process lifetime; set LEXWARE_WEBHOOK_PUBLIC_KEY (PEM) to override (recommended for production where you cannot tolerate one-time TLS-substitution risk on the public-key fetch).
BEFORE YOU INSTALL
66 tools when we connected. Separate binaries load subsets: lexware-mcp-sales 32, lexware-mcp-contacts 10, lexware-mcp-bookkeeping 8, lexware-mcp-reference 5 and lexware-mcp-system 12, with the Voucherlist tool in both sales and bookkeeping.
Both documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 66 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npm install -g @lazyants/lexware-mcp-server{
"mcpServers": {
"lexware": {
"command": "npx",
"args": [
"-y",
"@lazyants/lexware-mcp-server"
]
}
}
}{
"mcpServers": {
"lexware": {
"command": "npx",
"args": [
"-y",
"@lazyants/lexware-mcp-server"
],
"env": {
"LEXWARE_API_TOKEN": "<YOUR_LEXWARE_API_TOKEN>"
}
}
}
}