Enqueue the admin “Check key” script and the form CSS via wp_enqueue_* instead of inline / tags (per plugin guidelines).
readme: set Contributors to the correct WordPress.org username.
0.4.2
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.
0.4.1
Fix: the “Generate PDF” button did nothing on some pages. The form script is now a properly enqueued file instead of inline markup — WordPress content filters were corrupting the inline JavaScript (encoding && to &&), which broke the whole script.
0.4.0
Form now shows QR + shareable-link toggle checkboxes (control them with fields=”…,qr,link”; on by default).
Line items: a row with a price but no description is no longer silently dropped — it shows a clear error; truly-empty rows are skipped.
Negative quantity / unit price / tax are rejected with a clear message (matches the API).
Responsive form + settings: inputs and the shortcode example no longer overflow narrow screens.
0.3.0
Settings → 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).
0.2.0
Configurable shortcode: fields, from/to defaults, currency/language/template, tax, qr (toggle the scan-to-view QR), link (shareable link vs direct PDF download), rows, button.
“Add item” button for multiple line items; direct-download mode; notes field.
0.1.0
Initial release: settings page, [invovate_invoice_form] shortcode, and invovate_generate() helper.