Skip to main content

Lexoffice Integration

Lexoffice (Haufe Group) is an online accounting and invoicing platform for the German-speaking market (DE / AT / CH). When configured in CADENSA, you can issue legally valid invoices directly from your tracked time entries — including automatic E-Rechnung (ZUGFeRD) generation for German B2B invoices, which is mandatory from 2025.

Supported countries

Lexoffice is designed for businesses in Germany 🇩🇪, Austria 🇦🇹, and Switzerland 🇨🇭.


Before You Begin

You need:

  • An active Lexoffice account (any plan — the Public API is available on all paid plans)
  • A Lexoffice API key (see below)
  • CADENSA unit with at least Admin role

Step 1 — Get Your Lexoffice API Key

  1. Log in to app.lexoffice.de
  2. In the left sidebar, click Erweiterungen (Extensions)
  3. Under the Weitere Apps section, find the Public API card
  4. Click Verwalten (Manage)
  5. Click + API-Schlüssel erstellen (Create API key)
  6. Copy the generated key immediately — it is only shown once
Keep your API key secret

Never share your API key or commit it to version control. Anyone with the key can create and manage invoices on your behalf.


Step 2 — Configure in CADENSA

  1. Open Settings → Invoice in CADENSA
  2. Select Lexoffice 🇩🇪 as the provider
  3. An info box will appear:

Find your Lexoffice API key at: Erweiterungen → Weitere Apps → Public API → Verwalten → + API-Schlüssel erstellen

  1. Paste your API key into the API Key field
  2. Click Test Connection — a green confirms the key is valid
  3. Click Save

Step 3 — Set Defaults

Configure defaults so the Generate Invoice dialog is pre-filled with sensible values:

SettingRecommended value (DE)Description
Default CurrencyEURCurrency used on new invoices
Default VAT %19Standard German VAT rate (reduced: 7, exempt: 0)
Payment Terms Days14 or 30Days until due date
Default Document TypeInvoicePre-selects "Invoice" in the dialog
Austrian & Swiss rates
  • Austria: standard VAT is 20%
  • Switzerland: standard VAT is 8.1%

Issuing an Invoice via Lexoffice

Once configured, follow the standard invoice generation flow:

  1. Open Reports → apply date range and project filters
  2. Click Generate Invoice
  3. In the Document Type field, select Invoice — the output channel shows Lexoffice
  4. (Optional) Use the partner picker to select a client from your Lexoffice contacts address book
  5. Fill in client details, VAT %, and due date
  6. Click Preview Invoice → review line items and totals
  7. Click Issue Invoice (Lexoffice)

CADENSA sends the invoice to the Lexoffice API, receives the invoice number, and downloads the PDF.

What happens in Lexoffice
  • A new invoice is created in draft state, then immediately finalized (which assigns the invoice number)
  • Finalized invoices appear in your Lexoffice invoice list
  • German B2B invoices automatically include a ZUGFeRD / E-Rechnung XML attachment

Partner Picker

When Lexoffice is configured, the Generate Invoice dialog shows a partner picker — a searchable dropdown of your Lexoffice contacts.

Selecting a contact auto-fills:

  • Company name
  • Contact name
  • Street, postal code, city, country
  • Tax number (Steuernummer / USt-IdNr.)

This avoids re-entering client data for repeat invoices. Contacts are fetched live from the Lexoffice /contacts API (customer role only).


VAT Rates

Lexoffice enforces specific valid VAT rates:

RateUse case
19%Standard German VAT (Regelsteuersatz)
7%Reduced German VAT (ermäßigter Steuersatz)
0%VAT-exempt, intra-community supply, third-country
Invalid VAT rates

If you enter a VAT rate other than 0, 7, or 19, CADENSA automatically rounds to the nearest valid Lexoffice value. Use 0 for VAT-free invoices (e.g. Kleinunternehmerregelung § 19 UStG).


Document Routing

Document TypeOutput
ProformaInternal PDF (never sent to Lexoffice)
Work SummaryInternal PDF (never sent to Lexoffice)
InvoiceSent to Lexoffice API → PDF returned

Only Invoice type documents are sent to Lexoffice. Proforma and Work Summary are always generated internally, regardless of provider setting.


Invoice History & PDF Download

After a successful invoice creation:

  • The invoice appears in Billing → Invoice History in CADENSA
  • The invoice also appears in your Lexoffice account under Umsätze → Ausgangsrechnungen
  • You can re-download the PDF at any time from either place

Testing the Connection

Use the Test Connection button after entering your API key. CADENSA calls the Lexoffice /profile endpoint to verify:

  • The API key is valid and not expired
  • The account is active

A successful test shows:

✓ Connection successful

Troubleshooting

"401 Unauthorized" error

The API key is invalid or has been revoked.

Fix: Generate a new API key in Lexoffice (Erweiterungen → Public API → + API-Schlüssel erstellen) and re-enter it in CADENSA.

"INVOICE_NO_ENTRIES" error

No time entries were found for the selected date range and project filters.

Fix: Adjust the date range or project filter and try again.

Invoice stuck in draft / no invoice number

Lexoffice requires invoices to be finalized before an invoice number is assigned. CADENSA finalizes the invoice immediately on creation (?finalize=true). If finalization fails (e.g. missing required fields), the invoice may remain in draft.

Fix:

  1. Log in to Lexoffice and check Umsätze → Ausgangsrechnungen for draft invoices
  2. Review the missing fields (typically: country code or VAT number)
  3. Complete the invoice manually in Lexoffice, or delete it and retry from CADENSA with complete client details

PDF download takes a long time

Lexoffice generates PDFs asynchronously. CADENSA polls the API for up to 30 seconds waiting for the PDF. If the PDF is not ready in time, an error is shown.

Fix: Wait a moment and re-download from Billing → Invoice History.

VAT rate not accepted

Lexoffice only accepts 0, 7, and 19 as valid tax rates.

Fix: In the Generate Invoice dialog, use one of these values in the VAT % field.

Client country code not recognized

Lexoffice requires a valid ISO 3166-1 alpha-2 country code (e.g. DE, AT, CH, US). Free-text country names are auto-converted, but unusual names may fail.

Fix: Enter the 2-letter ISO country code directly in the Country field (e.g. DE instead of Germany).


Lexoffice vs. Billingo

FeatureLexoffice 🇩🇪Billingo 🇭🇺
MarketDE / AT / CHHungary
Legal standardZUGFeRD / E-RechnungNAV Online Számla 3.0
AuthBearer token (API key)API key (v3)
Sandbox mode Not available Available
Partner picker /contacts endpoint /partners endpoint
PDF generationAsync (polling)Synchronous
Invoice finalizationExplicit (?finalize=true)Automatic