Date: 2026-03-31 Status: Initial Research Complete — Key Uncertainties Remain
Lexware Office (formerly lexoffice) is a cloud-based accounting platform by Haufe Group, widely used by German SMEs, freelancers, and their tax advisors. It provides a REST API (Public API and Partner API) with endpoints for contacts, invoices, vouchers, files, posting categories, and webhooks.
The central challenge for Orcha's AP automation use case is that voucher creation via the API is restricted to sales voucher types (salesinvoice, salescreditnote). Expense vouchers (purchaseinvoice, purchasecreditnote) — which are the voucher types Orcha needs to create — are read-only via the Public API. The official bookkeeping cookbook states this explicitly. Three alternative paths exist for submitting incoming invoices: (1) uploading files via POST /v1/files with type=voucher, which places the document in lexoffice's receipt capture inbox for semi-automatic OCR processing; (2) using Maesn's unified API, which is an official Lexware Technology Partner and offers a bills endpoint that may abstract over this limitation; (3) email forwarding to a dedicated lexoffice inbox address.
Master data access is partially available: contacts (customers/suppliers) support full CRUD, and posting categories (lexoffice's equivalent of a chart of accounts) are readable. However, there is no cost center endpoint, and no journal entries endpoint in the native API. Maesn's unified API does offer journal entries, chart of accounts, and suppliers endpoints that could bridge some of these gaps.
| Capability | Available? | Method | Confidence | Notes |
|---|---|---|---|---|
| AP Invoice Submission (structured) | Not directly via native API | Native: Voucher creation restricted to sales types. Workaround: file upload to receipt inbox | High | Cookbook quote: "Auf Ausgabenbelege kann per Public API nur lesend zugegriffen werden" |
| AP Invoice Submission (file upload) | Yes, with caveats | POST /v1/files type=voucher; or POST /v1/vouchers/{id}/files |
Medium | File lands in receipt capture inbox; lexoffice applies own OCR. Structured data from Orcha may be discarded/overwritten |
| AP Invoice Submission via Maesn | Likely yes | Maesn unified API bills endpoint |
Medium | Maesn lists bills creation as a capability; specific lexoffice support for bill writes needs hands-on verification |
| Contacts / Suppliers — Read | Yes | GET /v1/contacts with vendor=true filter |
High | Supports pagination, filtering by name/email/number |
| Contacts / Suppliers — Write | Yes | POST /v1/contacts, PUT /v1/contacts/{id} |
High | Roles: customer, vendor, or both |
| Posting Categories (Chart of Accounts) | Read-only, predefined set | GET /v1/posting-categories |
High | Not a traditional chart of accounts — fixed categories like "Income", "Services", "Goods Sales" with UUIDs |
| Cost Centers | No endpoint found | N/A | High | Not exposed in Public or Partner API docs |
| Journal Entries — Read | Not via native API | Maesn unified API offers journal entries endpoint | Medium | Native API has no journal entries resource |
| Journal Entries — Write | Not via native API | Maesn unified API offers journal entry creation | Medium | Needs verification for lexoffice specifically |
| Historical Bookings | Partial — via voucherlist | GET /v1/voucherlist with date filters |
Medium | Returns voucher metadata, not full double-entry journal data |
| Payment Status | Read-only | GET /v1/payments/{id} |
High | Read access to payment status of vouchers |
| Webhooks / Event Subscriptions | Yes | POST /v1/event-subscriptions |
High | Known types: invoice.status.changed, contact.changed, token.revoked. Full list needs verification |
| Currency | EUR only | N/A | High | Cookbook: only EUR supported. Valid tax rates: 0%, 5%, 7%, 16%, 19% |
| Rate Limit (Public API) | 2 req/sec | Token bucket algorithm | High | HTTP 429 when exceeded |
| Rate Limit (Partner API) | 2 req/sec per connection+endpoint, 5 req/sec per client+endpoint | Burst size: 5 | High | Two-tier rate limiting |
| API Subscription Requirement | XL plan (or free trial) | Lexware Office subscription | High | API access requires XL plan; free trial mirrors XL |
| PDF/Document Download | Yes | /v1/invoices/{id}/file, /v1/vouchers/{id}/files |
High | Supports PDF and XRechnung XML formats |
| XRechnung Support | Yes | GET /v1/invoices/{id}/file with Accept: application/xml |
High | German e-invoicing standard |
"Lexware Office is one of the most widely used accounting and financial management systems in Germany, particularly popular among small and medium-sized businesses, accountants, and tax professionals." — Maesn Blog
Confidence: High
api.lexoffice.io to api.lexware.io. Both may still function."API access is only available for users with the XL plan" — GetApp/Capterra reviews
"Developers can use Lexware's free trial environment, which mirrors the functionality of the highest pricing tier – the XL plan" — Rollout
https://api.lexware.io (new), https://api.lexoffice.io (legacy, may still work)/v1/ prefix, no explicit version numbering beyond thisyyyy-MM-ddTHH:mm:ss.SSSXXX)Articles, Cash Boxes (Partner), Contacts, Countries, Credit Notes, Delivery Notes, Down Payment Invoices, Dunnings, Event Subscriptions, Files, Finance (Partner — financial accounts/transactions), Invoices, Order Confirmations, Organization, Partner Integrations, Payment Conditions, Payments, Posting Categories, Print Layouts, Profile, Quotations, Recurring Templates, Transaction Assignment Hint, Voucherlist, Vouchers.
"Maesn is an official Lexware Technology Partner." — Maesn Integrations
"A single connection to the Maesn API is sufficient — they handle the mapping and communication with the target systems." — Maesn
Maesn's Unified API endpoints for accounting:
"When you work through Maesn, these calls are combined and automated within their unified API, so your integration experience this as one seamless operation rather than a multi-call sequence." — Maesn Blog
Passthrough capability: Maesn offers authenticated passthrough to the underlying lexoffice API.
"The baseUrl is set to
https://api.lexoffice.io/v1/" and "only include the part after this base in the path field" — Maesn Passthrough Docs
Critical question: Does Maesn's bills endpoint successfully create purchase invoices in lexoffice despite the native API's read-only restriction on expense vouchers? Maesn may use the file upload path or have Partner API access that circumvents this. This is the highest-priority item to verify hands-on.
Pricing: Free tier for 30 days with test data; SCALE tier pricing not publicly listed (contact sales). Maesn already has a relationship with Orcha for the DATEV integration.
Confidence: Medium — Maesn clearly supports lexoffice as a system, and lists bills as an endpoint, but whether bill creation works for lexoffice specifically (given the underlying API limitation) is unverified.
"Lexware Office is classified under Chift's accounting integrations category" and is listed as "Live" — Chift Lexware Office
Chift offers a Unified Accounting API that includes lexoffice. They claim to support pulling accounts receivable and accounts payable, and automating invoice capture and reconciliation.
"The API automates data transfer between invoicing or ERP software and accounting software" — Chift Blog
Limitation: Specific operations supported for lexoffice (which endpoints, read vs write) are not documented on the public Chift website. Would need to request access to their developer docs or book a demo.
Confidence: Low — Chift lists lexoffice as supported, but zero specifics about what operations are available for this particular integration.
No dedicated lexoffice connector found. Celigo has 300+ connectors but lexoffice is not among the named ones. Universal connector could be used for custom integration.
Confidence: High (that no connector exists)
Make.com has a Lexware Office connector with:
Confidence: High — Well documented on Make.com Apps
"Navigate to Extensions, Weitere Apps, Public API or open Lexware Developer Portal directly and create a new API key with the desired permissions." — Microsoft Learn Connector
Authorization: Bearer {accessToken}Confidence: High
"Partners receive unique client-id and client-secret credentials" — Lexware Partner API Docs
https://app.lexoffice.de/oauth2/authorizehttps://app.lexoffice.de/oauth2/token/oauth2/revokegrant_type=refresh_tokenvouchers.read, vouchers.write, group.cashbox)"For deeper integration scenarios, such as financial accounts or transaction processing, Lexware provides a Partner API. This version requires a bilateral partner qualification with the Lexware team, after which you receive OAuth 2.0 credentials with specific scopes." — Maesn Blog
Confidence: High for mechanism; Unknown for exact scope list and what's available beyond Public API.
Maesn handles authentication to lexoffice on behalf of the integration. Orcha authenticates to Maesn; Maesn authenticates to lexoffice using stored credentials. The customer connects their lexoffice account through Maesn's drop-in frontend components.
Confidence: High
This is the most critical section for Orcha's use case. Orcha needs to submit structured AP invoice data to lexoffice.
The vouchers endpoint (POST /v1/vouchers) supports creating vouchers with structured line items, posting categories, contacts, and tax information.
However, creation is restricted to sales voucher types:
"Create vouchers (restricted to sales vouchers)" — Microsoft Learn Connector
"Auf Ausgabenbelege kann per Public API nur lesend zugegriffen werden." (Expense vouchers can only be read via the Public API.) — Lexware Bookkeeping Cookbook
The forum discussion confirms user demand:
"Zum Erstellen gibt es aber keinen Endpoint?" (There is no endpoint for creation?) — lex-forum.net
Synesty's integration also confirms:
"Purchase invoices (purchaseinvoice type) are not supported by this integration. The integration is specifically designed for sales-related vouchers, not procurement documents." — Synesty Docs
Writable voucher types: salesinvoice, salescreditnote Read-only voucher types: purchaseinvoice, purchasecreditnote
Confidence: High — Multiple independent sources confirm this restriction.
IMPORTANT NOTE: The search result snippets about the voucher endpoint listing purchaseinvoice as a voucher type refer to filtering/reading vouchers, NOT creating them. This distinction is critical and is a source of potential confusion in the search results.
The POST /v1/files endpoint with type=voucher uploads a document (PDF, image) to the lexoffice receipt capture inbox ("Belegerfassung").
POST https://api.lexware.io/v1/files
Content-Type: multipart/form-data
Authorization: Bearer {accessToken}
file=@invoice.pdf
type=voucher
After upload:
"Once you open the receipt, OCR text recognition automatically reads the relevant receipt data and enters it directly." — Lexware Belegerfassung
Implications for Orcha:
Confidence: High for the mechanism; Medium for exact post-upload behavior (needs testing).
POST /v1/vouchers/{id}/files attaches a file to an already-existing voucher. This requires the voucher to exist first — and since purchase invoices can't be created via API, this path only works if:
Confidence: Medium
"You create a custom address like
ihrefirma@inbox.lexware.email" — Lexware Help Center
Limitations:
This is essentially the same as Path B but via email instead of API. Not suitable for automated structured data transfer.
Confidence: High
Maesn's unified API includes a bills endpoint with create, retrieve, update, and delete operations. Bills in accounting terminology typically represent incoming invoices / accounts payable — exactly what Orcha needs.
"Maesn normalizes data across a multitude of ERP and Accounting systems into a unified schema." — Maesn
Maesn describes the lexoffice workflow:
"Creating financial transactions involves multiple steps: first creating the transaction which returns an internal ID and external reference, then updating or finalizing the associated financial account, uploading attachments, and finally linking them to the transaction using the external reference." — Maesn Blog
How Maesn might handle this:
This is the highest-priority path to verify. If Maesn can create bills in lexoffice, it solves the core integration challenge and leverages Orcha's existing Maesn relationship.
Confidence: Medium — Maesn lists bills as an endpoint and lexoffice as a supported system, but whether bill creation works for lexoffice (given the underlying restriction) is unverified.
| Path | Structured Data? | Automated? | Human Review? | Recommended? |
|---|---|---|---|---|
| A: Native voucher POST | Yes | Yes | No | Blocked (sales only) |
| B: File upload (type=voucher) | No (PDF only) | Partial | Yes, in lexoffice | Fallback option |
| C: File to existing voucher | No (PDF only) | No | Yes | Requires manual pre-creation |
| D: Email forwarding | No (PDF only) | Partial | Yes, in lexoffice | Not suitable |
| E: Maesn bills endpoint | Likely yes | Yes | TBD | Investigate first |
Full CRUD via GET/POST/PUT /v1/contacts.
"The lexoffice API allows you to create, retrieve, and update contact information for customers, suppliers, etc. You can specify roles as a list (for example: ['customer', 'vendor'])" — Rollout
vendor=true to get suppliersLimitations:
Confidence: High
"This endpoint provides read access to the list of posting categories for the (bookkeeping) vouchers revenue or expense which are supported in lexoffice." — Microsoft Learn Connector
GET /v1/posting-categories returns a fixed set of categories with UUIDs. These are NOT a traditional chart of accounts with individual GL account numbers. They are high-level categories that lexoffice uses internally for bookkeeping.
Known categories from the bookkeeping cookbook:
| Category | UUID | Tax Rates | Collective Contact OK? |
|---|---|---|---|
| Income (Einnahmen) | 8f8664a1-fd86-11e1-a21f-0800200c9a66 |
0, 5, 7, 16, 19% | Yes |
| Services (Dienstleistung) | 8f8664a0-fd86-11e1-a21f-0800200c9a66 |
0, 5, 7, 16, 19% | Yes |
| Goods Sales | 8f8664a8-fd86-11e1-a21f-0800200c9a66 |
0, 5, 7, 16, 19% | Yes |
| Revenue Reduction | 8f8664a3-fd86-11e1-a21f-0800200c9a66 |
0, 5, 7, 16, 19% | Yes |
Special categories (no collective contacts): Construction Services section 13b, Intra-EU Supply, Third-country Services, Third-country Exports, Small Business Exemption Income.
Orcha implication: There is no traditional "chart of accounts" to import. Posting categories are a fixed, small set. Orcha's GL account assignment would need to map to these categories rather than specific account numbers.
Confidence: High
No cost center endpoint exists in either the Public API or Partner API documentation. Lexoffice does not appear to support cost centers as a concept in its data model.
Confidence: High (that no endpoint exists)
Full CRUD via /v1/articles. Can be used in line items of sales vouchers. Filter by article number, GTIN, type.
Confidence: High
Maesn's unified API provides:
accounts endpoint (chart of accounts) — create, retrievesuppliers endpoint — create, retrieve, patchcustomers endpoint — create, retrieve, patchdimensions endpoint — could potentially map to cost centerstax-rates endpoint — retrieveWhether these all work for lexoffice specifically needs verification. The chart of accounts endpoint in Maesn may abstract over lexoffice's posting categories.
Confidence: Medium
There is no journal entries endpoint in the native lexoffice API (Public or Partner).
Partial alternative: The voucherlist endpoint (GET /v1/voucherlist) provides a list of all vouchers with metadata. This includes:
"Get voucherlist (bookkeeping) vouchers (e.g. salesinvoices, salescreditnotes), invoices (including down payment invoices), credit notes, order confirmations, quotations, and delivery notes." — Microsoft Learn Connector
The Partner API's Finance endpoint provides financial accounts and transactions data, and the ability to "Retrieve Assigned Vouchers for a Financial Transaction." This could provide bank transaction/payment matching data.
Confidence: High (for voucherlist); Medium (for Partner API Finance endpoint details)
Maesn's unified API offers:
journal-entries endpoint (create, retrieve, bulk create, attachments)journals endpoint (retrieve)trial-balance endpointtransactions endpointopen-items endpointWhether journal entry retrieval works for lexoffice (where no native endpoint exists) is unclear. Maesn may synthesize journal data from vouchers, or this endpoint may simply not be available for lexoffice connections.
Confidence: Low — The endpoint exists in Maesn's schema, but whether it returns data for lexoffice is unverified.
"Using event subscriptions you will be notified about certain events on resources — e.g. you receive a notification every time a contact changes in lexoffice." — Lexware API Docs
Endpoint: POST /v1/event-subscriptions
Confirmed event types:
invoice.status.changed — when invoice status changescontact.changed — when a contact changespayment.changed — referenced in examplestoken.revoked — when API connection is terminated or API key is deleted"Lexware unterstützt neben Events fur Rechnungen auch Events fur Kontakte" (Lexware supports events for contacts in addition to invoices) — Lexware Public API Cookbook
The full list of event types was not extractable from search results. The pattern is {resource}.{event} in lowercase.
Webhook requirements:
X-Lexware-Signature headerWebhook payload includes: organizationId, eventType, resourceId, eventDate.
Confidence: High for mechanism; Medium for complete event type list.
Vouchers have statuses: draft, open, paidoff, voided (all read-only via API — status transitions happen within lexoffice).
Confidence: High
GET /v1/payments/{id} — read-only access to payment status of vouchers including invoices and credit notes.
Confidence: High
Lexoffice provides deeplinks to view/edit resources in the web UI:
{appbaseurl}/permalink/vouchers/view/{id}{appbaseurl}/permalink/invoices/edit/{id}Useful for linking Orcha users directly to the document in lexoffice.
Confidence: High
| Question | Why It Matters | What Was Tried | Next Step |
|---|---|---|---|
Can Maesn's bills endpoint CREATE purchase invoices in lexoffice? |
This is the primary integration path for AP automation | Reviewed Maesn docs, blog, and capabilities list; bills endpoint listed but per-system support matrix not public | Contact Maesn (existing relationship) and ask specifically about bill creation for lexoffice |
What happens exactly after POST /v1/files with type=voucher? |
Determines whether file upload + manual review is a viable fallback | Searched docs and forums; general description of OCR processing found but no step-by-step API response details | Test with free trial: upload a PDF, observe where it appears, what data is extracted |
| Complete list of webhook event types? | Need to know if voucher.created, payment.changed etc. are available | Searched multiple sources; found 4 event types but docs page truncated | Access full docs at developers.lexware.io/docs while logged in, or test by creating subscriptions |
| Does the Partner API unlock write access for purchase invoices? | Could remove the need for intermediaries | Reviewed Partner API docs; same voucher endpoints listed but restriction not explicitly restated | Apply for Partner API access or ask Maesn (who has it) |
| Does Maesn's journal entries endpoint work for lexoffice? | Important for historical booking import and matching | Maesn lists the endpoint; unclear if lexoffice supports it | Ask Maesn or test with sandbox connection |
| What are the exact OAuth scopes available? | Needed for Partner API integration planning | Found general patterns (vouchers.read, vouchers.write, group.cashbox) but no complete list |
Request from Lexware during partner qualification |
| Does Chift's accounting API support bill creation for lexoffice? | Alternative to Maesn | Reviewed Chift docs; lexoffice listed as "Live" but no operation details | Contact Chift or request demo access to their dev platform |
Phase 1: Native API Exploration (1-2 hours)
GET /v1/posting-categories — document the complete response (all categories, UUIDs, types)GET /v1/contacts?vendor=true — verify supplier listingPOST /v1/contacts — create a test supplierPOST /v1/files with type=voucher and a sample invoice PDF:
GET /v1/vouchers?POST /v1/vouchers with voucherType=purchaseinvoice — confirm the expected 4xx error and document the error messagePOST /v1/vouchers with voucherType=salesinvoice — confirm sales vouchers workPOST /v1/event-subscriptions with various eventType values — discover which are acceptedGET /v1/voucherlist — examine the response structure for historical dataPhase 2: Maesn Integration (1-2 hours)
GET /accounting/suppliers — verify supplier data flows throughPOST /accounting/bills — attempt to create a purchase invoice, record responseGET /accounting/accounts — check what chart of accounts data is availableGET /accounting/journal-entries — check if journal data is available for lexofficePOST /accounting/passThrough with path files, method POSTPhase 3: Webhook Verification (30 min)
Earlier search result summaries suggested purchaseinvoice could be created via POST /v1/vouchers. This is incorrect. Multiple authoritative sources confirm voucher creation is restricted to sales types. The confusion arose because purchaseinvoice is a valid filter value for listing vouchers, not for creating them.
One search result summary stated Maesn "confirms bill creation for lexoffice." This is an overstatement. Maesn lists bills as a unified API endpoint and lexoffice as a supported system, but no source explicitly confirms that bill creation works specifically for lexoffice connections. The generic description of multi-step workflows is not the same as confirmation.