← All integrations
Shopify → lexoffice

Shopify lexoffice integration

In short

A Shopify to lexoffice integration turns each paid Shopify order into the right lexoffice record - a finalized invoice or a sales voucher (Beleg) - with the customer matched to a single lexoffice contact, line items and shipping carrying the correct 19% or 7% tax rate, and refunds posted as credit notes rather than edits to a locked document. Done properly it is not a nightly CSV import: it is an idempotent pipeline that respects lexoffice rate limits and GoBD immutability, so your books stay clean without anyone re-keying orders.

What a Shopify to lexoffice integration actually does

Shopify records everything about a sale - the customer, the line items, the discount code, the shipping, the VAT collected, the refund three days later. lexoffice (now lexware office) needs that same sale expressed as clean bookkeeping: a contact for the buyer, an invoice or voucher with the right tax rate on every line, and a credit note when money goes back. In between sits a surprising amount of judgement that a CSV import or a generic plugin simply does not make.

A Shopify to lexoffice integration closes that gap automatically. It reads each relevant order and refund from Shopify, matches or creates the right lexoffice contact, and writes a correctly taxed invoice or sales voucher - without your bookkeeper re-typing a single figure and without duplicate customers piling up in the Kontakte list.

What data moves

Shopify object / eventBecomes in lexofficeNotes
Paid orderFinalized invoice (Rechnung) or sales voucher (Beleg)Choice depends on who issues the legal invoice; agreed once
Customer / billing addressContact (Kontakt, role customer / Debitor)Deduplicated by email and address to avoid duplicate contacts
Line itemsInvoice / voucher line itemsNet or gross unit price plus taxRatePercentage per item
Discount codeLine-item or document discountApplied so the document total matches the Shopify total
Shipping lineSeparate line itemShipping is taxable and needs its own line and rate
Tax linestaxType + tax rate (19% / 7%)Domestic straightforward; cross-border is the hard part
Refund / partial refundCredit note (Rechnungskorrektur)References the original document; original stays locked
Payment / transactionDocument marked paidOptional, where lexoffice tracks payment status
Payout & provider feesBank booking / expense voucherReconciled in the lexoffice bank feed, not on the sales invoice

The mapping - which orders become vouchers, which tax rate applies where, how contacts are matched - is agreed once and encoded in the pipeline. After that, nobody maps an order by hand.

The details that break naive syncs

A nightly export or an off-the-shelf connector gets you most of the way and leaves the expensive edge cases on your desk:

How we build and run it

We treat this as a pipeline, not a nightly job. Shopify order and refund events are pulled by webhook or on a schedule, validated, matched to the right lexoffice contact, and written out as the agreed invoice or voucher - with refunds emitted as credit notes against the original document.

The pipeline is idempotent: every Shopify order carries a stable identifier that we map to its lexoffice document, so a retry or a re-run never creates a duplicate against GoBD-locked records. It respects the lexoffice rate limit by design, paces and retries writes, and isolates partial failures so one malformed order never blocks the batch. It runs on cloud-native, fully EU-hosted AWS infrastructure, so order and customer data never leaves the EU - which keeps your DPA / AVV and GDPR obligations clean.

And then we keep it running. Monitoring, alerting, incident response, and watching for Shopify and lexoffice API changes are our responsibility under contract, with a named owner and an SLA. Your books stop depending on someone remembering to run an import.

When this integration is worth building

If you process a handful of domestic orders a month at a single VAT rate, lexoffice’s own import or a light connector is genuinely fine, and we will tell you so. A managed pipeline earns its place when order volume climbs, when guest checkouts and duplicate contacts start polluting your Kontakte, when refunds and GoBD corrections become a monthly chore, or when you sell across EU borders under OSS and the tax coding has to be right the first time - because a locked, wrong invoice is far more expensive to fix than a correct one is to build.

Frequently asked questions

Should each Shopify order become a lexoffice invoice or a voucher (Beleg)?
It depends on who issues the legal invoice. If Shopify already sends the customer their receipt, recording each order as a sales voucher (Beleg) in lexoffice keeps your revenue booked without a second invoice number. If lexoffice should be the system of record that issues and numbers the invoice, we create finalized invoices instead. We decide this once with you and your tax advisor, because it drives numbering, VAT display, and what your Steuerberater sees.
Will it create duplicate customers in lexoffice?
Not if it is built correctly. lexoffice does not enforce a unique email on contacts, and Shopify guest checkouts produce no stable customer record, so a naive sync creates a new Debitor for every order. The pipeline matches on email and address first and only creates a contact when there is genuinely no match, so one buyer stays one contact with one customer number.
How does it handle refunds if lexoffice invoices are locked?
Finalized lexoffice documents are immutable under GoBD - they cannot be edited or deleted, only corrected. A Shopify refund or partial refund is therefore posted as a credit note (Rechnungskorrektur) referencing the original document, with the same accounts and tax rates, dated to the refund. The pipeline never tries to reopen or overwrite a booked invoice.
Does it cope with the lexoffice API rate limit at high order volume?
Yes. The lexoffice API allows roughly two requests per second per key, which a bulk import blows straight through. Our pipeline queues and paces writes to stay under the limit, retries on 429 responses with backoff, and processes orders idempotently, so a Black Friday spike drains safely instead of failing half-written.
Who operates it after go-live?
We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor. If Shopify or lexoffice changes an API, that is our problem to fix under contract, not a surprise your bookkeeper finds at month-end. You get a named owner, alerting, incident response, and an SLA rather than a script someone has to remember to run.

Need this integration built and permanently operated? Tell us which systems connect and what data has to move. Fixed-price scoping quote within 48 hours.

Request a scoping call