Skip to content

Lexware Office Connector changelog

All notable changes to Lexware Office Connector (kv_lexware_office) are documented here. The format follows Keep a Changelog and the project uses Semantic Versioning.

  • Initial release.
  • Connection with an API key (Bearer) for the Lexware Office Public API at api.lexware.io; test and live mode (Lexware Office has no sandbox: the test key belongs to a second, trial account); key stored encrypted; “Test connection” reads the profile (organization, tax type, small business, distance sales principle) and the country list.
  • Finalized invoices (or drafts) created at the order status you choose: product, shipping, payment fee and order discount lines, German or English documents, payment term, introduction text, shipping date = order day, voucher date = the day in the shop time zone.
  • Contacts: companies and every sale that needs one become customer contacts (found by e-mail and name first, VAT ID sent, retried without it when Lexware Office rejects it); consumers get a one-time address unless “contacts for consumers” is on; umlauts and long texts are handled by characters.
  • Tax types: net and gross prices, intra-community supply (or section 13b), export delivery, EU distance sales (DESTINATION principle), vat-free for small business accounts; tax rates from the order’s tax or a per-tax override; rates Lexware Office does not accept stop the job with a message.
  • Credit note for the refund status or a completed RMA return, linked to the invoice with precedingSalesVoucherId and never above the invoice. Lexware Office allows ONE credit note per invoice (“There can only be one credit note related to an invoice”): the first credit is created, a later one for the same invoice is logged as a warning with the instruction to create it in Lexware Office, and is not sent.
  • Payment state read back (GET /v1/payments) by event subscription (invoice.status.changed, payment.changed, credit-note.status.changed, RSA signature verified with the published key) and by the cron run; optional order status change when paid (only from Open or Backordered).
  • Order tab: number, status, totals, open amount, paid date, tax type, e-invoice format, credit notes, PDF / XRechnung XML download, link into Lexware Office, create invoice / credit note now, refresh.
  • Customer order page: invoice PDF (XRechnung: XML) for the signed-in owner of the order, streamed through the store.
  • Existing Lexware Office contacts that the add-on adopts are updated by merging (billing address and VAT ID only), so Leitweg-ID, vendor number, shipping address and notes survive; orders in status Incomplete get no invoice; Queue past orders needs the “Do not sync orders before” date.
  • Idempotency: document row stored before the POST, per-order lock, every invoice and credit note carries a per-attempt reference in its closing text; a lost answer is found again by scanning all pages of the voucher list and reading each unknown document (no guessing by name or amount), and an attempt that cannot be found is never repeated by itself (the merchant presses Issue now after checking), 2 requests per second kept by a database lock per key with 429 back-off.
  • Multi-Vendor: marketplace owner mode or one API key per vendor; vendors only see and (owner mode off) act on their own orders; run now, backfill and cron are for the administrator.
  • Job queue with retries and back-off, cron (command line and secret address), log with CSV export, queue of past orders from a start date, Upgrade Synchronizer, domain-bound licence client.