{"id":321572,"date":"2026-06-03T09:11:50","date_gmt":"2026-06-03T09:11:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/invovate-invoice-generator\/"},"modified":"2026-06-03T09:57:59","modified_gmt":"2026-06-03T09:57:59","slug":"invovate-invoice-generator","status":"publish","type":"plugin","link":"https:\/\/dsb.wordpress.org\/plugins\/invovate-invoice-generator\/","author":23510081,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.3","stable_tag":"0.4.3","tested":"7.0","requires":"5.6","requires_php":"7.2","requires_plugins":null,"header_name":"Invovate Invoice Generator","header_author":"Invovate","header_description":"Generate PDF invoices in 11 languages via the Invovate API. Adds a configurable [invovate_invoice_form] shortcode and a reusable helper for themes\/plugins.","assets_banners_color":"2158e1","last_updated":"2026-06-03 09:57:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/invovate.com\/api","header_author_uri":"https:\/\/invovate.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.4.3":{"tag":"0.4.3","author":"lightspeedplusone","date":"2026-06-03 09:57:59"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3559103,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3559103,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3559103,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3559103,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.4.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3559142,"resolution":"1","location":"assets","locale":"","width":1100,"height":855},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3559142,"resolution":"2","location":"assets","locale":"","width":1100,"height":1280},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3559142,"resolution":"3","location":"assets","locale":"","width":1100,"height":1280},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3559142,"resolution":"4","location":"assets","locale":"","width":1100,"height":1280},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3559142,"resolution":"5","location":"assets","locale":"","width":1100,"height":1280},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3559142,"resolution":"6","location":"assets","locale":"","width":1100,"height":1280},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3559142,"resolution":"7","location":"assets","locale":"","width":1100,"height":1280},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3559142,"resolution":"8","location":"assets","locale":"","width":1100,"height":1280},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3559142,"resolution":"9","location":"assets","locale":"","width":1100,"height":1280}},"screenshots":{"1":"The [invovate_invoice_form] shortcode adds this invoice form to any page.","2":"English PDF invoice with your logo, QR code, 7-day shareable link and payment details.","3":"Japanese invoice (\u8acb\u6c42\u66f8) with consumption tax \u2014 11 languages supported.","4":"Arabic right-to-left (RTL) invoice.","5":"German invoice (Rechnung) with VAT.","6":"Hindi invoice (GST) in Devanagari script.","7":"Russian invoice (\u041d\u0414\u0421 \/ VAT).","8":"French invoice (TVA).","9":"Dutch invoice (BTW)."}},"plugin_section":[],"plugin_tags":[15149,12480,182007,57399,222507],"plugin_category":[45],"plugin_contributors":[265597],"plugin_business_model":[],"class_list":["post-321572","plugin","type-plugin","status-publish","hentry","plugin_tags-billing","plugin_tags-invoice","plugin_tags-invoice-generator","plugin_tags-pdf-invoice","plugin_tags-ubl","plugin_category-ecommerce","plugin_contributors-lightspeedplusone","plugin_committers-lightspeedplusone"],"banners":{"banner":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/banner-772x250.png?rev=3559103","banner_2x":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/banner-1544x500.png?rev=3559103","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/icon-128x128.png?rev=3559103","icon_2x":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/icon-256x256.png?rev=3559103","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-1.png?rev=3559142","caption":"The [invovate_invoice_form] shortcode adds this invoice form to any page."},{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-2.png?rev=3559142","caption":"English PDF invoice with your logo, QR code, 7-day shareable link and payment details."},{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-3.png?rev=3559142","caption":"Japanese invoice (\u8acb\u6c42\u66f8) with consumption tax \u2014 11 languages supported."},{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-4.png?rev=3559142","caption":"Arabic right-to-left (RTL) invoice."},{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-5.png?rev=3559142","caption":"German invoice (Rechnung) with VAT."},{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-6.png?rev=3559142","caption":"Hindi invoice (GST) in Devanagari script."},{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-7.png?rev=3559142","caption":"Russian invoice (\u041d\u0414\u0421 \/ VAT)."},{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-8.png?rev=3559142","caption":"French invoice (TVA)."},{"src":"https:\/\/ps.w.org\/invovate-invoice-generator\/assets\/screenshot-9.png?rev=3559142","caption":"Dutch invoice (BTW)."}],"raw_content":"<!--section=description-->\n<p>Invovate Invoice Generator connects your WordPress site to the <a href=\"https:\/\/invovate.com\/api\">Invovate invoice API<\/a> so you can create professional <strong>PDF invoices in 11 languages<\/strong> (including right-to-left Arabic, Japanese, Hindi, and Cyrillic).<\/p>\n\n<ul>\n<li><strong><code>[invovate_invoice_form]<\/code> shortcode<\/strong> \u2014 drop a simple \"create invoice\" form on any page. Visitors enter a business name, client, and line items and get a downloadable PDF link (valid 7 days).<\/li>\n<li><strong><code>invovate_generate( $invoice, $args )<\/code> helper<\/strong> \u2014 call from your theme or another plugin to generate invoices programmatically (e.g. on a WooCommerce order or form submission).<\/li>\n<li><strong>Free API key<\/strong> \u2014 required for the invoice form (it generates a shareable PDF link). Get a free key at invovate.com\/auth and set it under <strong>Settings \u2192 Invovate<\/strong>. The <code>invovate_generate()<\/code> helper can still compute JSON totals without one.<\/li>\n<\/ul>\n\n<p>Languages: English, Dutch, German, French, Spanish, Italian, Portuguese, Arabic, Japanese, Russian, Hindi. 20+ currencies, per-line tax, 5 templates.<\/p>\n\n<h4>Configure the form (shortcode options)<\/h4>\n\n<pre><code>[invovate_invoice_form] accepts these attributes:\n<\/code><\/pre>\n\n<ul>\n<li><code>fields<\/code> \u2014 comma list of inputs\/controls to show. Available: <code>from<\/code>, <code>to<\/code>, <code>items<\/code>, <code>currency<\/code>, <code>language<\/code>, <code>template<\/code>, <code>notes<\/code>, <code>qr<\/code>, <code>link<\/code>. Items always show. Default: <code>from,to,items,currency,language,qr,link<\/code>.<\/li>\n<li><code>from<\/code>, <code>to<\/code> \u2014 prefill (or, if not in <code>fields<\/code>, lock) the business and client name.<\/li>\n<li><code>currency<\/code> (default <code>USD<\/code>), <code>language<\/code> (default <code>en<\/code>), <code>template<\/code> (default <code>classic<\/code>).<\/li>\n<li><code>tax<\/code> \u2014 <code>true<\/code>\/<code>false<\/code>: show the per-item Tax % field. Default <code>true<\/code>.<\/li>\n<li><code>qr<\/code> \u2014 default state of the scan-to-view QR (<code>true<\/code>\/<code>false<\/code>). When <code>link<\/code> is in <code>fields<\/code>, users get a checkbox; the QR is disabled while the link is off (it points at the link). Default <code>true<\/code>.<\/li>\n<li><code>link<\/code> \u2014 default state of the shareable link (<code>true<\/code>\/<code>false<\/code>): <code>true<\/code> = a 7-day shareable link; <code>false<\/code> = a direct PDF download with no link or QR. Default <code>true<\/code>.<\/li>\n<li><code>rows<\/code> \u2014 number of starting line-item rows. Default <code>1<\/code> (an \"Add item\" button is always shown).<\/li>\n<li><code>button<\/code> \u2014 submit-button label.<\/li>\n<\/ul>\n\n<h4>Example shortcodes (copy &amp; paste)<\/h4>\n\n<p>Basic form, all defaults:\n    [invovate_invoice_form]<\/p>\n\n<p>Lock your business name; the client fills in the rest (EUR, German, navy template):\n    [invovate_invoice_form from=\"My Company GmbH\" fields=\"to,items\" currency=\"EUR\" language=\"de\" template=\"navy\"]<\/p>\n\n<p>Freelancer invoice in USD with a scan-to-view QR:\n    [invovate_invoice_form from=\"Jane Doe\" currency=\"USD\" qr=\"true\"]<\/p>\n\n<p>Direct PDF download instead of a 7-day shareable link:\n    [invovate_invoice_form link=\"false\" button=\"Download invoice\"]<\/p>\n\n<p>Three starting rows, with the tax field and a notes box:\n    [invovate_invoice_form fields=\"from,to,items,currency,language,notes\" rows=\"3\" tax=\"true\"]<\/p>\n\n<p>Japanese invoice (JPY, consumption tax):\n    [invovate_invoice_form currency=\"JPY\" language=\"ja\" template=\"modern\"]<\/p>\n\n<p>Minimal \u2014 client name and items only:\n    [invovate_invoice_form fields=\"to,items\" from=\"Acme Studio\"]<\/p>\n\n<p><strong>Not regulated e-invoicing.<\/strong> PDF\/UBL output is for interoperability and archival only \u2014 it does not provide Peppol, Factur-X, ZUGFeRD, XRechnung, or NF-e compliance or government-network delivery.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>Invovate invoice API<\/strong> to generate invoices. It is a first-party integration with a service operated by the plugin author.<\/p>\n\n<p><strong>What is sent, and when:<\/strong> Only when you submit the <code>[invovate_invoice_form]<\/code> form (or call <code>invovate_generate()<\/code> in code), the invoice details you entered \u2014 business name, client name, line items (description, quantity, unit price, tax rate), currency, language, and optional notes \u2014 are sent over HTTPS to <code>https:\/\/invovate.com\/api\/generate-invoice<\/code>. If you set an API key under Settings \u2192 Invovate, it is sent as an <code>Authorization: Bearer<\/code> header. <strong>Nothing is sent on page load or in the background.<\/strong><\/p>\n\n<p><strong>What is returned:<\/strong> either a shareable PDF link (the invoice is stored for up to 7 days, then automatically deleted) or the generated PDF file.<\/p>\n\n<ul>\n<li>Service &amp; API docs: https:\/\/invovate.com\/api<\/li>\n<li>Terms of Service: https:\/\/invovate.com\/terms<\/li>\n<li>Privacy Policy: https:\/\/invovate.com\/privacy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>invovate-invoice-generator<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP via Plugins \u2192 Add New \u2192 Upload.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Settings \u2192 Invovate<\/strong> and paste a free API key from https:\/\/invovate.com\/auth (required for the invoice form).<\/li>\n<li>Add <code>[invovate_invoice_form]<\/code> to a page, or call <code>invovate_generate()<\/code> in your code.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>Yes for the invoice form \u2014 it generates a shareable PDF link, which requires a free key (set it under Settings \u2192 Invovate). The <code>invovate_generate()<\/code> helper can still compute JSON totals without a key.<\/p><\/dd>\n<dt id=\"is%20my%20data%20private%3F\"><h3>Is my data private?<\/h3><\/dt>\n<dd><p>Invoice data is sent to the Invovate API over HTTPS. Shareable PDF links are stored for up to 7 days, then deleted. See https:\/\/invovate.com\/privacy.<\/p><\/dd>\n<dt id=\"is%20this%20regulated%20e-invoicing%3F\"><h3>Is this regulated e-invoicing?<\/h3><\/dt>\n<dd><p>No. It generates invoice documents but is not a Peppol\/Factur-X\/XRechnung\/NF-e transmission service.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.3<\/h4>\n\n<ul>\n<li>Enqueue the admin \"Check key\" script and the form CSS via wp_enqueue_* instead of inline \/ tags (per plugin guidelines).<\/li>\n<li>readme: set Contributors to the correct WordPress.org username.<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Turning off \"Shareable 7-day link\" now produces a clean direct-download PDF with no QR and no link (the scan-to-view QR points at the link, so it can't exist without one). The QR checkbox is disabled while the link is off.<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Fix: the \"Generate PDF\" button did nothing on some pages. The form script is now a properly enqueued file instead of inline markup \u2014 WordPress content filters were corrupting the inline JavaScript (encoding <code>&amp;&amp;<\/code> to <code>&amp;#038;&amp;#038;<\/code>), which broke the whole script.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Form now shows QR + shareable-link toggle checkboxes (control them with <code>fields=\"...,qr,link\"<\/code>; on by default).<\/li>\n<li>Line items: a row with a price but no description is no longer silently dropped \u2014 it shows a clear error; truly-empty rows are skipped.<\/li>\n<li>Negative quantity \/ unit price \/ tax are rejected with a clear message (matches the API).<\/li>\n<li>Responsive form + settings: inputs and the shortcode example no longer overflow narrow screens.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Settings \u2192 Invovate: added a \"Test API key\" button that runs a server-side authenticated call and reports whether the saved key reaches the API (with a hint for WordPress Playground, whose proxy strips the Authorization header).<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Configurable shortcode: <code>fields<\/code>, <code>from<\/code>\/<code>to<\/code> defaults, <code>currency<\/code>\/<code>language<\/code>\/<code>template<\/code>, <code>tax<\/code>, <code>qr<\/code> (toggle the scan-to-view QR), <code>link<\/code> (shareable link vs direct PDF download), <code>rows<\/code>, <code>button<\/code>.<\/li>\n<li>\"Add item\" button for multiple line items; direct-download mode; notes field.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: settings page, <code>[invovate_invoice_form]<\/code> shortcode, and <code>invovate_generate()<\/code> helper.<\/li>\n<\/ul>","raw_excerpt":"Generate professional PDF invoices in 11 languages from WordPress via the Invovate API. Shortcode form + a reusable PHP helper.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/321572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=321572"}],"author":[{"embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lightspeedplusone"}],"wp:attachment":[{"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=321572"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=321572"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=321572"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=321572"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=321572"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/dsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=321572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}