{"id":344257,"date":"2026-07-25T05:45:48","date_gmt":"2026-07-25T05:45:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nota-invoice-sync-for-lexware-office\/"},"modified":"2026-07-28T10:38:12","modified_gmt":"2026-07-28T10:38:12","slug":"nota-invoice-sync","status":"publish","type":"plugin","link":"https:\/\/kaa.wordpress.org\/plugins\/nota-invoice-sync\/","author":23481962,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.7","stable_tag":"0.1.7","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Nota Invoice Sync for Lexware Office","header_author":"wp-nota.com","header_description":"Creates invoices in Lexware Office directly from WooCommerce orders \u2014 no third-party middleware. Tax amounts are calculated by Lexware itself, which avoids rounding mismatches.","assets_banners_color":"643f92","last_updated":"2026-07-28 10:38:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.wp-nota.com\/lexware-invoice-sync\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":108,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.5":{"tag":"0.1.5","author":"wpnota","date":"2026-07-25 05:45:38"},"0.1.6":{"tag":"0.1.6","author":"wpnota","date":"2026-07-27 06:02:11"},"0.1.7":{"tag":"0.1.7","author":"wpnota","date":"2026-07-28 10:38:12"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3622120,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3622120,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3622120,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.5","0.1.6","0.1.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3622120,"resolution":"1","location":"assets","locale":"","width":367,"height":655},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3622120,"resolution":"2","location":"assets","locale":"","width":1691,"height":459},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3622120,"resolution":"3","location":"assets","locale":"","width":1691,"height":564},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3622120,"resolution":"4","location":"assets","locale":"","width":1691,"height":1201},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3622120,"resolution":"5","location":"assets","locale":"","width":1691,"height":481},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3622120,"resolution":"6","location":"assets","locale":"","width":1691,"height":536},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3622120,"resolution":"7","location":"assets","locale":"","width":1691,"height":350}},"screenshots":{"1":"The Lexware Office invoice panel on the order screen \u2014 status, actions and a credit note button.","2":"Settings \u2014 Connection: add your Lexware Office API key.","3":"Settings \u2014 When to create invoices: manual creation in this version, plus draft\/finalise document mode.","4":"Settings \u2014 Invoice content: language, payment terms, supply date and custom invoice text.","5":"Settings \u2014 Automation: PDF delivery, payment reminders and payment status sync (available in Pro).","6":"Settings \u2014 Diagnostics: order notes, test mode, logging and uninstall behaviour.","7":"Settings \u2014 Compliance export: a GoBD-ready CSV of every finalised invoice (available in Pro)."}},"plugin_section":[],"plugin_tags":[2526,12480,273251,3675,286],"plugin_category":[45],"plugin_contributors":[264592],"plugin_business_model":[],"class_list":["post-344257","plugin","type-plugin","status-publish","hentry","plugin_tags-accounting","plugin_tags-invoice","plugin_tags-lexoffice","plugin_tags-lexware","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-wpnota","plugin_committers-wpnota"],"banners":{"banner":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/banner-772x250.png?rev=3622120","banner_2x":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/banner-1544x500.png?rev=3622120","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/icon-128x128.png?rev=3622120","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/screenshot-1.png?rev=3622120","caption":"The Lexware Office invoice panel on the order screen \u2014 status, actions and a credit note button."},{"src":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/screenshot-2.png?rev=3622120","caption":"Settings \u2014 Connection: add your Lexware Office API key."},{"src":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/screenshot-3.png?rev=3622120","caption":"Settings \u2014 When to create invoices: manual creation in this version, plus draft\/finalise document mode."},{"src":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/screenshot-4.png?rev=3622120","caption":"Settings \u2014 Invoice content: language, payment terms, supply date and custom invoice text."},{"src":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/screenshot-5.png?rev=3622120","caption":"Settings \u2014 Automation: PDF delivery, payment reminders and payment status sync (available in Pro)."},{"src":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/screenshot-6.png?rev=3622120","caption":"Settings \u2014 Diagnostics: order notes, test mode, logging and uninstall behaviour."},{"src":"https:\/\/ps.w.org\/nota-invoice-sync\/assets\/screenshot-7.png?rev=3622120","caption":"Settings \u2014 Compliance export: a GoBD-ready CSV of every finalised invoice (available in Pro)."}],"raw_content":"<!--section=description-->\n<p>Nota Invoice Sync for Lexware Office creates a real Lexware Office invoice directly from a\nWooCommerce order \u2014 no ERP or middleware in between.<\/p>\n\n<p><strong>Why not go through a sync tool?<\/strong><\/p>\n\n<p>Most WooCommerce \u2194 Lexware connectors work by re-calculating tax on their side and sending a\nfinished total to Lexware, which then re-validates that calculation. On low-value line items\n(a sample product priced at a few cents, for example) that round-trip can produce a rate that\ndoesn't quite match after rounding, and the invoice is rejected.<\/p>\n\n<p>This plugin sends only the net amount and tax rate for each line. Lexware Office itself\ncomputes every tax amount and total \u2014 there is no second calculation to disagree with.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>Creates a Lexware Office invoice (draft or finalised) from the order screen, with one click.<\/li>\n<li>Finds or creates the matching Lexware contact by email, and keeps the contact's address in\nsync with the order if it changes on a later order.<\/li>\n<li>Works out the correct German\/EU tax treatment for the order \u2014 domestic, intra-community\nreverse charge, EU distance sales (OSS), or export to a third country.<\/li>\n<li>Warns you on the settings page if your shop's tax setup conflicts with your Lexware Office\naccount's own configuration, before it causes a rejected invoice.<\/li>\n<li>Shows the invoice number and status right on the order list and the order screen.<\/li>\n<li>Includes a test mode that builds the full invoice payload and writes it to the log without\nsending anything, so you can verify everything before the first real invoice.<\/li>\n<\/ul>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<ul>\n<li>WooCommerce, installed and active.<\/li>\n<li>A Lexware Office account with access to the Public API (a personal API key, created in\nLexware Office under the Public API settings).<\/li>\n<li>Shop currency EUR \u2014 Lexware Office invoicing supports only EUR, so orders in any other\ncurrency are skipped and the reason is logged.<\/li>\n<\/ul>\n\n<h4>External services<\/h4>\n\n<p>This plugin connects to the Lexware Office Public API at <code>https:\/\/api.lexware.io<\/code>, operated by\nHaufe-Lexware GmbH &amp; Co. KG (Germany), to create documents in your own Lexware Office account.\nIt is required for everything the plugin does \u2014 without an API key, the plugin does nothing.<\/p>\n\n<p>What is sent, and when:<\/p>\n\n<ul>\n<li>When you create an invoice for an order: the customer's name, billing address, email\naddress, the order's line items (product names, quantities, net prices, tax rates),\nshipping cost, order number and order\/delivery dates.<\/li>\n<li>As part of creating an invoice, the plugin looks up the matching Lexware contact by the\ncustomer's email address, and creates or updates that contact with the customer's name,\nbilling address and email address.<\/li>\n<li>Once a day, and when you click \"Save and test connection\": a connection check that requests\nyour own organisation profile. No customer data is included in this check.<\/li>\n<\/ul>\n\n<p>No data is sent to any other external service, and no customer data leaves your site until\nyou create an invoice yourself.<\/p>\n\n<p>Lexware Office Public API terms: <a href=\"https:\/\/agb.lexware.de\/lexware-office\/public-api-lizenz--und-nutzungsbedingungen\">Public API Lizenz- und Nutzungsbedingungen<\/a>\nLexware privacy information: <a href=\"https:\/\/www.lexware.de\/datenschutz-datensicherheit\/\">Datenschutz &amp; Datensicherheit<\/a><\/p>\n\n<h4>What this version does not do<\/h4>\n\n<p>Invoices in this version are created by hand, from a button on the order screen. Automatic\ninvoicing on order status, bulk invoice creation, payment status sync, automatic PDF delivery,\npayment reminders and large-scale bulk import are part of\n<a href=\"https:\/\/www.wp-nota.com\/lexware-invoice-sync\">Nota Invoice Sync Pro<\/a>.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>When you create an invoice, the customer's name, billing address, email address and the order's\nline items are sent to Lexware Office (operated by Haufe-Lexware GmbH &amp; Co. KG) over their public\nAPI. That data is then stored and processed under Lexware's own privacy policy. Once an invoice\nis finalised, German accounting law (GoBD) requires it to be kept for ten years \u2014 this plugin\ndoes not delete or modify anything in Lexware Office, including in response to a WordPress\npersonal-data erasure request. The plugin integrates with Tools \u2192 Export\/Erase Personal Data and\nexplains this retention conflict there, so shop owners never wrongly assume the data was erased\neverywhere.<\/p>\n\n<p>The optional debug log level records customer names, addresses and invoice contents in plain\ntext in the WooCommerce log files on your own server. The settings page says so next to the\noption; turn debug logging off once things are working.<\/p>\n\n<p>No data is sent anywhere until you actually create an invoice for an order.<\/p>\n\n<p>Lexware and Lexware Office are trademarks of Haufe-Lexware GmbH &amp; Co. KG. This plugin is an\nindependent product and is not affiliated with or endorsed by Haufe-Lexware.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Upload and activate the plugin.<\/li>\n<li>Go to WooCommerce \u2192 Lexware Invoices.<\/li>\n<li>Create a personal API key in Lexware Office (Public API settings at app.lexware.de) and\npaste it in.<\/li>\n<li>Click \"Save and test connection\". The plugin also checks your Lexware tax configuration\nagainst your shop's and warns you if the two disagree.<\/li>\n<li>Open any order and use the \"Create invoice now\" button in the Lexware Office invoice panel.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20an%20official%20lexware%20plugin%3F\"><h3>Is this an official Lexware plugin?<\/h3><\/dt>\n<dd><p>No. This is an independent product, not affiliated with or endorsed by Haufe-Lexware GmbH &amp;\nCo. KG. It talks to your Lexware Office account through the official public API, with an API\nkey you create yourself.<\/p><\/dd>\n<dt id=\"i%20know%20this%20service%20as%20%22lexoffice%22%20%E2%80%94%20is%20this%20the%20same%20thing%3F\"><h3>I know this service as \"lexoffice\" \u2014 is this the same thing?<\/h3><\/dt>\n<dd><p>Yes. lexoffice is the former name of Lexware Office. This plugin uses the current\napi.lexware.io gateway.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20a%20free%20lexware%20office%20account%3F\"><h3>Does this work with a free Lexware Office account?<\/h3><\/dt>\n<dd><p>You need a Lexware Office account with API access enabled under the Public API settings.\nWhether your plan includes this depends on your Lexware Office subscription.<\/p><\/dd>\n<dt id=\"which%20currencies%20are%20supported%3F\"><h3>Which currencies are supported?<\/h3><\/dt>\n<dd><p>Only EUR. Lexware Office's invoicing does not support other currencies at the time of writing,\nso orders in another currency are not invoiced and the reason is logged.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20validate%20eu%20vat%20numbers%20%28vies%29%3F\"><h3>Does this plugin validate EU VAT numbers (VIES)?<\/h3><\/dt>\n<dd><p>No. Nota Invoice Sync reads whatever VAT-ID a dedicated VAT compliance plugin (one that adds a\nVAT number field at checkout, for example) has already saved on the order, and uses it to work\nout reverse-charge treatment. It does not query the VIES database itself. If your shop needs\nlive VAT-ID validation or automatic tax exemption at checkout, use a plugin built specifically\nfor that.<\/p><\/dd>\n<dt id=\"does%20it%20support%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does it support HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares HPOS compatibility and works with both classic and HPOS order\nstorage.<\/p><\/dd>\n<dt id=\"draft%20or%20finalised%20%E2%80%94%20which%20should%20i%20choose%3F\"><h3>Draft or finalised \u2014 which should I choose?<\/h3><\/dt>\n<dd><p>Start with drafts. A draft (\"Entwurf\") can still be edited or deleted in Lexware Office and is\nnot booked. A finalised invoice is permanent, is recorded for GoBD and gets its e-invoice\ndocument \u2014 it can only be reversed with a credit note, never deleted. Switch to finalising\nonce you have checked a few drafts.<\/p><\/dd>\n<dt id=\"can%20the%20plugin%20change%20or%20delete%20an%20invoice%20in%20lexware%20office%3F\"><h3>Can the plugin change or delete an invoice in Lexware Office?<\/h3><\/dt>\n<dd><p>No. The plugin only ever creates documents. It never modifies or deletes anything in your\nLexware Office account \u2014 not even when the plugin itself is uninstalled.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20orders%20placed%20before%20i%20installed%20the%20plugin%3F\"><h3>What happens to orders placed before I installed the plugin?<\/h3><\/dt>\n<dd><p>Nothing automatically. Open the order and use the manual \"Create invoice now\" button.<\/p><\/dd>\n<dt id=\"something%20went%20wrong%20%E2%80%94%20where%20do%20i%20look%3F\"><h3>Something went wrong \u2014 where do I look?<\/h3><\/dt>\n<dd><p>The order screen shows the last error for that order in the Lexware Office invoice panel.\nFull logs are under WooCommerce \u2192 Status \u2192 Logs, source \"nota-invoice-sync\".<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.7<\/h4>\n\n<ul>\n<li>Fixed: after clicking \"Save and test connection\", a successful connection could still show a \"Connection failing\" badge on the settings page \u2014 that badge was reading a separate, once-a-day cached status instead of the result just tested. It now updates immediately with the same result, at no extra API cost.<\/li>\n<\/ul>\n\n<h4>0.1.6<\/h4>\n\n<ul>\n<li>Added: a \"VAT-ID meta keys\" setting (Invoice content) listing the order meta keys checked for a customer's VAT-ID, pre-filled with the most common ones and editable \u2014 no code required to support a VAT compliance plugin that is not already covered.<\/li>\n<li>Added: a note on the settings page and in the FAQ clarifying that this plugin does not validate EU VAT numbers against VIES itself; it reads whatever VAT-ID a dedicated VAT compliance plugin has already saved on the order.<\/li>\n<\/ul>\n\n<h4>0.1.5<\/h4>\n\n<ul>\n<li>Fixed: the invoice date sent to Lexware Office was the order's payment\/creation date instead of the actual date the invoice document is issued \u2014 these are two separate legally required pieces of information under German invoicing rules (\u00a714 UStG), and using the wrong one could backdate an invoice into an already-closed VAT reporting period when it is created some time after the order.<\/li>\n<li>Added: orders consisting entirely of virtual, downloadable products are now billed under the correct \"electronic services\" tax treatment (for shops on the destination-country VAT principle) rather than being lumped in with physical distance sales.<\/li>\n<li>Fixed: a customer's Lexware contact was marked as eligible for tax-free invoicing merely for having a VAT ID on file, even on a domestic order where normal VAT was actually charged. This flag now only gets set when the order genuinely qualifies as an intra-community reverse charge.<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Fixed: EU B2C orders could be sent to Lexware Office with the destination country's tax rate (e.g. 20%) even though the connected account only accepts German rates (origin-country taxation) \u2014 this either failed with a confusing \"Invalid taxRatePercentage\" error, or in rarer cases could silently invoice at the wrong German rate. Such orders are now refused up front with a clear explanation, and nothing is sent to Lexware Office. Orders taxed at German rates, including small-value items affected by per-line rounding, are unaffected.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Added: a visual indicator on the product edit screen (Shipping tab, and each variation row) showing that per-product delivery date overrides are available in Nota Invoice Sync Pro. No new functionality in this version.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Reduced the number of Pro upgrade mentions on the settings page: removed the standalone banner and combined three separate \"Available in Pro\" links into one.<\/li>\n<li>Fixed the Contributors field in this readme.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fixed: test mode could still create or update a real Lexware Office contact even though no invoice was sent \u2014 test mode now makes no API request at all, including contact lookups.<\/li>\n<li>Fixed: the daily connection check and the \"Check payment status\" button did not consistently respect test mode \u2014 now every feature follows the same \"test mode = no API traffic\" rule.<\/li>\n<li>Added: a \"Refresh status\" button on the order screen, to pick up an invoice that was finalised directly in Lexware Office rather than through this plugin.<\/li>\n<li>Added: a GPL license file, and expanded the privacy and external-services documentation in this readme.<\/li>\n<li>Added: visual indicators on the settings page and order screen showing which additional features (automation, PDF delivery, payment reminders, credit notes, PDF download) are available in Nota Invoice Sync Pro.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Creates invoices in Lexware Office directly from WooCommerce orders, with no third-party middleware in between.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344257"}],"author":[{"embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpnota"}],"wp:attachment":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344257"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344257"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344257"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344257"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344257"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}