npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-lexware-office-full

v0.1.1

Published

n8n community node for the COMPLETE Lexware Office (lexoffice) API — all resources, plus an event-subscription trigger.

Readme

n8n-nodes-lexware-office-full

npm version npm downloads License: MIT

The complete Lexware Office (formerly lexoffice) API as an n8n community node — every resource, plus a webhook trigger. Create invoices, quotations, delivery notes, contacts, vouchers, download PDFs, react to events — all from n8n.

This is an unofficial, community-built integration for https://api.lexware.io. Not affiliated with Lexware / Haufe-Lexware.


✨ Features

  • All 20 API resources in one node — see the table below.
  • Trigger node that auto-registers a Lexware event subscription (webhook) and cleans it up again.
  • Hybrid design: read/list/PDF/file operations are fully structured; create/update take the full Lexware JSON body → 100 % field coverage from day one.
  • Built-in handling for the tricky parts:
    • Rate limiting (2 req/s) with automatic HTTP 429 backoff
    • Pagination via a simple Return All toggle
    • Optimistic locking (Auto Version fetches the current version before updating)
    • Two-step PDF (/document/files/{id}) as a single Get PDF operation (PDF or e-invoice XML)
    • Binary upload & download

📦 Installation

Option A — Community Nodes GUI (recommended, self-hosted)

  1. Start n8n with community packages enabled: N8N_COMMUNITY_PACKAGES_ENABLED=true
  2. In n8n: Settings → Community Nodes → Install and enter:
    n8n-nodes-lexware-office-full

Option B — Docker image

FROM n8nio/n8n
RUN npm install -g n8n-nodes-lexware-office-full

Option C — Manual (custom extensions)

npm install n8n-nodes-lexware-office-full
# point n8n at it via N8N_CUSTOM_EXTENSIONS=/path/to/node_modules

🔑 Credentials

Create a Lexware Office API credential and paste your public API key (Lexware Office → Settings → Public API → Generate key). The base URL defaults to https://api.lexware.io (legacy https://api.lexoffice.io also works). The credential is verified against GET /v1/profile.

🧩 Resources & operations

| Resource | Operations | |---|---| | Article | Create · Get · Get Many · Update · Delete | | Contact | Create · Get · Get Many · Update | | Country | Get Many | | Credit Note | Create · Get · Get PDF | | Delivery Note | Create · Get · Get PDF | | Dunning | Create · Get · Get PDF | | Down Payment Invoice | Get · Get PDF | | Event Subscription | Create · Get · Get Many · Delete | | File | Upload · Download | | Invoice | Create · Get · Get PDF | | Order Confirmation | Create · Get · Get PDF | | Payment | Get | | Payment Condition | Get Many | | Posting Category | Get Many | | Print Layout | Get Many | | Profile | Get | | Quotation | Create · Get · Get PDF | | Recurring Template | Get · Get Many | | Voucher | Create · Get · Update · Upload File | | Voucherlist | Get Many (filter by voucherType, voucherStatus) |

🚀 Examples

Create a draft invoice — Resource Invoice, Operation Create, Data (JSON):

{
  "voucherDate": "2026-06-11T12:00:00.000+02:00",
  "address": { "contactId": "<contact-uuid>" },
  "lineItems": [
    { "type": "custom", "name": "Consulting", "quantity": 1, "unitName": "hour",
      "unitPrice": { "currency": "EUR", "netAmount": 100, "taxRatePercentage": 19 } }
  ],
  "totalPrice": { "currency": "EUR" },
  "taxConditions": { "taxType": "net" },
  "shippingConditions": { "shippingType": "none" }
}

Set Finalize = true to issue it instead of saving a draft.

Download a PDF — Resource Invoice, Operation Get PDF, the invoice ID. Returns the PDF as binary (draft vouchers have no PDF yet and return 406).

React to events — add the Lexware Office Trigger, set e.g. invoice.changed. It registers the subscription automatically and emits each event (toggle Resolve Resource to also fetch the full record).

🛠️ Development

npm install
npm run build      # tsc + copy icons -> dist/

🤝 Contributing

Issues and PRs welcome. The create/update operations accept raw JSON so the node already covers every field; structured fields per resource can be added incrementally.

📄 License

MIT © Adrian Awad / Kneissl Messtechnik GmbH