Lexoffice is Germany's most popular cloud accounting software for freelancers and small businesses. With over 300,000 users, Lexoffice has established itself as a modern alternative to traditional accounting solutions. The major advantage: Lexoffice offers a modern REST API that makes automation significantly easier.
Before you read on
Does automation actually pay off for you? Take the 5-minute analysis — score, maturity level and an honest read on whether this path fits your situation. Free, report by email.
Start 5-min analysis →

Why Automate Lexoffice?

Typical manual tasks:
TaskManual EffortAutomated
Creating invoices from shop systems5 min/invoiceAutomatic
Recording and categorizing receipts3 min/receipt30 sec/receipt
Payment reminders30 min/weekAutomatic
Reporting to accountant2h/month1 click
Matching bank transactions1h/weekAI-powered
Potential time savings: 15-20 hours/month for typical SMBs. For the full picture, see our comprehensive guide to accounting automation.

Lexoffice API: The Basics

Setting Up API Access

  • Lexoffice -> Settings -> Public API
  • Generate API key
  • Store key securely (only visible once!)
  • Available API Endpoints

    EndpointFunctionsTypical Use Case
    /contactsManage customers/suppliersCRM sync
    /invoicesCreate/retrieve invoicesShop integration
    /vouchersManage receiptsReceipt capture
    /paymentsManage paymentsPayment reminders
    /credit-notesCredit notesReturns
    /quotationsQuotesSales automation

    API Limits

    • 100 requests/minute - Standard limit
    • Pagination - Max 100 entries per request
    • Rate limiting - 429 error when exceeded
    Tip: Build batching and caching into your workflows.

    The 10 Most Important Lexoffice Automations

    1. Shopify/WooCommerce -> Lexoffice Invoices

    Trigger: New order in shop Workflow:
    Shop (New Order)
            |
        Check/create customer data
            |
        Create invoice in Lexoffice
            |
        Send PDF to customer
            |
        Mark order as "invoiced"
    n8n Implementation:
    // Create Lexoffice invoice
    {
      "voucherDate": "2024-01-15",
      "address": {
        "name": order.customer.name,
        "street": order.shipping.address,
        "zip": order.shipping.zip,
        "city": order.shipping.city,
        "countryCode": "DE"
      },
      "lineItems": order.items.map(item => ({
        "type": "custom",
        "name": item.name,
        "quantity": item.quantity,
        "unitPrice": {
          "netAmount": item.price,
          "taxRatePercentage": 19
        }
      })),
      "totalPrice": {
        "currency": "EUR"
      }
    }

    2. Automatic Receipt Capture

    Trigger: Email with attachment or upload to folder Workflow:
    Email/Dropbox (new receipt)
            |
        OCR extraction
            |
        Lexoffice: Create voucher
            |
        Automatic categorization
            |
        If unclear: Slack notification
    Make.com Scenario:
  • Watch: Gmail -> new emails with attachments
  • Filter: Only PDFs and images
  • OCR: Mindee or Google Vision
  • Create: Lexoffice -> Create Voucher
  • Notify: Slack on success/error
  • 3. CRM Synchronization

    Trigger: New contact in HubSpot/Pipedrive Workflow:
    CRM (New Customer)
            |
        Check: Exists in Lexoffice?
            |
        No: Create contact
        Yes: Update contact
            |
        Save Lexoffice ID in CRM

    4. Automatic Payment Reminders

    Trigger: Daily at 9:00 AM Workflow:
    Schedule (daily)
            |
        Lexoffice: Get open invoices
            |
        Filter: Overdue > 7 days
            |
        For each invoice:
          - Level 1: Payment reminder
          - Level 2: 1st reminder notice
          - Level 3: 2nd reminder notice
            |
        Send email
            |
        Update status in Lexoffice

    5. Quote to Invoice Conversion

    Trigger: Quote accepted Workflow:
    Quote Status: Accepted
            |
        Lexoffice: Retrieve quote
            |
        Create invoice from quote
            |
        Generate PDF
            |
        Send to customer

    6. Recurring Invoices

    Trigger: Monthly on the 1st Workflow:
    Schedule (1st of month)
            |
        List: Get subscription customers
            |
        For each customer:
          - Create invoice
          - Send PDF
          - Trigger SEPA direct debit

    7. Bank Integration with AI

    Trigger: New bank transactions (via finAPI) Workflow:
    finAPI (new transactions)
            |
        AI: Categorization
        (GPT-4/Claude)
            |
        Lexoffice: Match payment
            |
        Unclear bookings: For review

    8. Accountant Report

    Trigger: End of month Workflow:
    Schedule (last day of month)
            |
        Lexoffice: Get monthly summary
            |
        Create Excel/PDF report
            |
        Email to accountant

    9. Expense Approval

    Trigger: New receipt above threshold Workflow:
    Lexoffice (new receipt > 500 EUR)
            |
        Slack: Request approval
            |
        Wait for response
            |
        Approved: Release receipt
        Rejected: Mark receipt

    10. Inventory Sync

    Trigger: Stock level changes Workflow:
    Inventory System (stock change)
            |
        Lexoffice: Update item
            |
        If below threshold: Reorder suggestion
    Build it or have it built?
    We implement this workflow for you — fully tested in 1-4 weeks. Fixed-price quote within 24h.
    Get a Quote →

    Step-by-Step: Shop to Lexoffice with n8n

    Prerequisites

    • n8n Cloud or Self-Hosted
    • Lexoffice API key
    • Shopify/WooCommerce admin access

    Building the Workflow

    Step 1: Set up trigger
    Node: Shopify Trigger
    
    • Event: Order Created
    • Credentials: Shopify OAuth
    Step 2: Check/create contact
    Node: HTTP Request
    
    • Method: GET
    • URL: https://api.lexoffice.io/v1/contacts
    • Query: email={{ $json.customer.email }}
    • Headers: Authorization: Bearer YOUR_API_KEY
    Node: IF
    
    • Condition: Contact exists?
    • Yes: Use contact ID
    • No: Create contact
    Step 3: Create invoice
    Node: HTTP Request
    
    • Method: POST
    • URL: https://api.lexoffice.io/v1/invoices
    • Body: (see JavaScript below)
    {
      "voucherDate": "{{ $now.format('yyyy-MM-dd') }}",
      "address": {
        "contactId": "{{ $('Contact').item.json.id }}"
      },
      "lineItems": [
        {{#each $json.line_items}}
        {
          "type": "custom",
          "name": "{{ this.name }}",
          "quantity": {{ this.quantity }},
          "unitPrice": {
            "netAmount": {{ this.price }},
            "taxRatePercentage": 19
          }
        }{{#unless @last}},{{/unless}}
        {{/each}}
      ],
      "taxConditions": {
        "taxType": "net"
      },
      "shippingConditions": {
        "shippingType": "delivery",
        "shippingDate": "{{ $now.plus(3, 'days').format('yyyy-MM-dd') }}"
      },
      "paymentConditions": {
        "paymentTermLabel": "Payable within 14 days",
        "paymentTermDuration": 14
      }
    }
    Step 4: Finalize invoice
    Node: HTTP Request
    
    • Method: POST
    • URL: https://api.lexoffice.io/v1/invoices/{{ $json.id }}/document
    Step 5: Send PDF
    Node: HTTP Request
    
    • Method: GET
    • URL: https://api.lexoffice.io/v1/invoices/{{ $json.id }}/document
    • Response: Binary
    Node: Send Email
    • To: {{ $('Shopify Trigger').item.json.customer.email }}
    • Subject: Your Invoice {{ $json.voucherNumber }}
    • Attachment: Invoice PDF

    Make.com: Using Lexoffice Modules

    Make.com offers native Lexoffice modules:

    Available Modules

    ModuleFunction
    Watch InvoicesTrigger on new invoices
    Create InvoiceCreate invoice
    Get ContactRetrieve contact
    Create ContactCreate contact
    Create VoucherCreate receipt
    List PaymentsRetrieve payments

    Example Scenario

  • Shopify -> Watch Orders
  • Lexoffice -> Search Contact (by Email)
  • Router:
  • - Contact exists -> continue - Contact missing -> Create Contact
  • Lexoffice -> Create Invoice
  • Lexoffice -> Finalize Invoice
  • Gmail -> Send Email with Attachment
  • Error Handling

    Common Errors

    ErrorCauseSolution
    401 UnauthorizedInvalid API keyGenerate new key
    429 Too Many RequestsRate limitAdd delays
    400 Bad RequestInvalid dataValidate before request
    404 Not FoundResource missingCheck ID

    Best Practice: Retry Logic

    // n8n Code Node
    const maxRetries = 3;
    let attempt = 0;
    
    while (attempt < maxRetries) {
      try {
        // API Request
        return result;
      } catch (error) {
        if (error.response?.status === 429) {
          await new Promise(r => setTimeout(r, 60000)); // Wait 1 min
          attempt++;
        } else {
          throw error;
        }
      }
    }
    Training or implementation?
    Whether you want to learn it yourself or have us build it — we offer both. Custom workshops from 2h or turnkey solutions.
    See Options →

    Security and Compliance

    Protect API Key

    • Never hardcode in code
    • Use n8n Credentials
    • Rotate regularly

    GoBD Compliance

    • Lexoffice is GoBD-certified
    • Automation doesn't change that
    • Observe archiving requirements

    GDPR

    • Process customer data only for intended purposes
    • Observe deletion deadlines (Lexoffice supports this)

    Cost-Benefit Analysis

    Investment

    ItemCost
    Lexoffice (M/L)12-30 EUR/month
    n8n/Make.com50-120 EUR/month
    Setup1,000-3,000 EUR one-time

    Savings

    ProcessBeforeAfterSavings
    100 invoices/month8h0.5h7.5h
    200 receipts/month10h2h8h
    Payment reminders4h0h4h
    Total22h2.5h19.5h
    At 40 EUR/hour = 780 EUR/month savings

    Advanced Integrations

    Lexoffice + Stripe

    For a step-by-step guide on payment webhooks, see our Stripe webhook setup tutorial. Automatically create invoices for Stripe payments:
    Stripe Webhook (Payment Success)
            |
        Lexoffice: Create invoice
            |
        Lexoffice: Mark as paid

    Lexoffice + Calendly

    For service providers with booking systems:
    Calendly (Appointment booked)
            |
        Lexoffice: Create contact
            |
        Lexoffice: Create invoice
            |
        Send email with invoice

    Lexoffice + Notion

    Project-based billing:
    Notion (Project completed)
            |
        Extract time entries from Notion
            |
        Lexoffice: Invoice with line items

    Conclusion

    Lexoffice is an ideal candidate for automation thanks to its modern API. With n8n or Make.com you can:
    • Automatically create invoices from shop systems
    • Intelligently capture and categorize receipts
    • Fully automate payment reminders
    • Generate accountant reports at the click of a button
    Time spent on accounting drops by 80-90%.

    Next Steps

  • Create API key - Activate in Lexoffice
  • Build first workflow - e.g., Shop -> Invoice
  • Expand gradually - Connect additional processes
  • We support you with Lexoffice automation - from analysis to finished integration. If you are a tax firm, also read our guide on automation for tax consultants. Contact us for a free consultation.