=== LupinSync Invoices ===
Contributors: ceorohan
Tags: woocommerce, invoice, gst, india, hpos
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
WC requires at least: 8.2
WC tested up to: 11.0
Stable tag: 0.1.9
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

WooCommerce GST invoices for India via LupinSync cloud numbering, PDF rendering, and storage.

== Description ==

LupinSync Invoices is a WooCommerce plugin for India-based, INR stores. It connects your store to the **LupinSync Invoices cloud service** so you can issue GST-ready PDF tax invoices from WooCommerce orders, with HSN/SAC tax codes, sequential invoice numbering, HPOS support, and Classic + Block checkout compatibility.

**This plugin requires a free LupinSync account and connection to the LupinSync service to generate or manage invoices.** After activating the plugin, use **WooCommerce → LupinSync Invoices → Get Started** to Login & Connect (or create a new free account). You authenticate on invoices.lupinsync.tech; this website never stores your LupinSync password — it only receives a scoped connection credential.

There is **one WordPress plugin** for Free and Premium customers. Upgrading your LupinSync **service plan** does not require installing another plugin, downloading executable code, or replacing this ZIP.

= External service (required for invoicing) =

This plugin connects your WooCommerce store to the LupinSync Invoices service at:

https://invoices.lupinsync.tech

The WordPress plugin is the store-side connector and UI. The LupinSync service provides substantive invoicing capabilities, including:

* Store authentication and connection
* Server-side invoice issuance
* Authoritative legal invoice numbering
* Immutable invoice records and revision handling
* Plan / service entitlements
* Background processing (including PDF rendering)
* Private PDF storage and retrieval
* Template rendering (Classic, Modern, and additional layouts on paid plans)
* Customer / store ownership and service state

Free and Premium are **LupinSync service plans**, not separate WordPress plugins. Some service operations (for example B2B invoice issuance, automatic processing, bulk processing, and advanced SaaS-rendered templates) are provided only under paid LupinSync plans. The service remains authoritative for those operations.

The Free service plan does **not** expire and does not impose artificial invoice quotas in this plugin.

After you connect a store (via Login & Connect / Create Account, or legacy Free Connect / Premium license activation), the plugin may send:

* Store identity (canonical URL, site instance ID, WordPress / WooCommerce / plugin / PHP versions)
* Business/legal configuration you enter (legal name, address, GSTIN, PAN, invoice branding)
* Tax Codes and Invoice Series configuration
* Order invoice payloads needed to generate a tax invoice (line items, tax amounts, customer billing/shipping fields, GSTIN when provided)
* Heartbeat / connection health pings after the store is connected (approximately twice per day, and occasionally when you open plugin settings or successfully generate an invoice)
* Service capability checks for the connected account
* Optional customer email address when sending a follow-up invoice email after a WooCommerce order email left before the PDF was ready

Nothing is sent to LupinSync until you deliberately connect the store. There is **no unrelated advertising telemetry**, no third-party analytics SDKs, and **no remote download or execution of WordPress PHP/JS plugin code** from LupinSync. The API returns data, invoice state, service capabilities, and PDFs — not executable plugin code.

Service links:

* Website: https://invoices.lupinsync.tech
* Download / docs: https://invoices.lupinsync.tech/download
* Terms of Service: https://invoices.lupinsync.tech/terms-and-conditions
* Privacy Policy: https://invoices.lupinsync.tech/privacy-policy

= Free service plan (included, no expiry) =

With a connected Free LupinSync service plan you can:

* Manually issue B2C GST invoices from the order screen
* Collect and manage B2B checkout / GSTIN fields locally (B2B *issuance* on LupinSync may require Premium)
* Configure HSN / SAC / Tax Codes and product mapping
* Use sequential Tax Invoice numbering on LupinSync
* Use Classic + Modern invoice templates
* Download and regenerate PDFs (legal invoice number preserved on regenerate)
* Use HPOS and Classic / Blocks checkout compatibility
* Configure Access Control (WordPress roles)
* Attach an already-READY invoice PDF to WooCommerce customer emails

= Premium service plan (optional paid LupinSync subscription) =

Premium is an optional paid **service plan** on LupinSync. It does not require a second WordPress plugin. The same installed plugin uses additional LupinSync service capabilities when your connected account includes them, for example:

* B2B GST invoice issuance on LupinSync
* Automatic invoice processing (`generationMode=AUTO`)
* Bulk invoice processing (`generationMode=BULK`)
* Advanced SaaS-rendered templates (for example Minimal, Corporate, Compact)
* Priority Support

Pricing and checkout: https://invoices.lupinsync.tech/pricing

= Current limitations (v0.1.9) =

* **Currency**: INR only.
* **Refunds / credit notes**: orders with refunds cannot yet be invoiced; Credit/Debit Note issuance is not yet supported (series can be configured ahead of time).
* **Negative fees**: not supported — use coupons for discounts.
* **Cess**: non-zero cess rates are not supported in this version (CGST/SGST/IGST only).

== Installation ==

1. Install from Plugins → Add New, or upload the ZIP via Plugins → Add Plugin → Upload Plugin.
2. Activate **LupinSync Invoices**. WooCommerce must already be installed and active.
3. Go to **WooCommerce → LupinSync Invoices**. You'll see the **Get Started** screen.
4. Click **Login & Connect** if you already have a LupinSync account, or **Create Account** to sign up for free — both open invoices.lupinsync.tech in your browser; no password is ever entered on this website.
5. After approving the connection, you're redirected back here and the dashboard is available.
6. Configure Business details, Tax Codes, and Invoice Series, then map products to Tax Codes.
7. Open an order and use the LupinSync Invoice panel to Generate / Download / Regenerate a Tax Invoice PDF.

== Frequently Asked Questions ==

= Does Free expire? =

No. The Free LupinSync service plan remains available for connected stores. Premium is an optional paid service plan.

= Do Free and Premium use different plugins? =

No. One plugin — LupinSync Invoices — serves both. Changing plans only changes which LupinSync service operations are available for the connected account.

= Does this plugin work with HPOS? =

Yes. The plugin declares HPOS compatibility and uses WooCommerce order APIs — never direct `wp_posts` / `wp_postmeta` order queries.

= What data leaves my WordPress site? =

Only after you connect: store identity, the business/tax configuration you enter, and order fields required to generate GST invoices (and related service calls listed in the Description). See also https://invoices.lupinsync.tech/privacy-policy

= Do I need another GST or invoice plugin? =

No. LupinSync Invoices depends only on WordPress and WooCommerce.

= Where are PDFs stored? =

Invoice PDFs are generated and stored by the LupinSync service (not as public WordPress media files). You download them through the plugin’s order panel.

= Will WordPress.org updates conflict with a custom updater? =

No. This plugin does not ship a self-hosted plugin updater. Updates are intended to come through WordPress.org (or a manual ZIP replace).

== Screenshots ==

1. Get Started — Login & Connect or Create Account (no password ever entered here); Connection & Account overview once connected.
2. Tax Codes — manage HSN/SAC GST rates.
3. Invoice numbering — Tax Invoice series configuration.
4. Order invoice panel — Generate, Download, Regenerate (HPOS-compatible).
5. Templates — Classic + Modern on Free; additional layouts via Premium service plans.
6. Automation settings — configure automatic processing and local Woo email PDF attachment.
7. Generated GST PDF — sample tax invoice layout (demo data).
8. Bulk Jobs — track bulk invoice processing history and status.
9. Order screen — LupinSync Invoice panel with PDF download/regenerate and B2B fields.

== Changelog ==

= 0.1.9 =
* WordPress.org compatibility and security hardening: improved logo upload validation, admin/checkout asset handling, output escaping, contributor metadata, and input hygiene.

= 0.1.8 =
* Added a quick invoice download action directly in the WooCommerce Orders list for ready LupinSync invoices.

= 0.1.7 =
* Added configurable invoice PDF filenames using either the invoice number or WooCommerce order number.

= 0.1.6 =
* Removed merchant service-plan messaging from customer-facing B2B checkout fields.

= 0.1.5 =
* Updated plugin metadata for WordPress.org directory compatibility.

= 0.1.4 =
WordPress.org serviceware alignment: local plugin code is no longer payment-locked. Free plan includes WooCommerce email attachment of READY PDFs. B2B issuance, automatic processing, bulk processing, and advanced templates remain LupinSync SaaS service capabilities enforced server-side. Clarified Free/Premium as service plans in readme and admin messaging.

= 0.1.3 =
Configurable WordPress role-based invoice permissions (Administrators can allow Shop Manager and other registered roles). Improved bulk invoice processing with chunked background jobs, Issued vs Ready progress, and a Bulk Jobs history screen. Stability and performance improvements for large bulk selections.

= 0.1.2 =
Release bump so stores still running 0.1.1 can see Update available in the LupinSync customer dashboard. Includes payment method title normalization for GST invoices, custom WooCommerce order status support for automation rules, and dashboard plugin update awareness (download-only — no custom WordPress auto-updater).

= 0.1.1 =
Account-bound onboarding: a free LupinSync account and connection to the LupinSync service is now required to generate or manage invoices. Adds a "Get Started with LupinSync" screen with Login & Connect / Create Account (no password ever entered on this website); Business, Tax Codes, Invoice Numbering, Templates and Automation are unavailable until connected. Disconnect now also revokes credentials on the LupinSync server (best-effort). Legacy Connect Free / claim-code flows remain available under an Advanced disclosure.

= 0.1.0 =
Initial public release: Free B2C GST invoicing connector for WooCommerce (India/INR), HPOS + Classic/Blocks checkout, Tax Codes & Invoice Series, Classic + Modern templates, secure store connection to LupinSync, optional Premium service features.

== Upgrade Notice ==

= 0.1.9 =
WordPress.org compatibility and security improvements for logo uploads, admin assets, and settings output. Same single plugin.

= 0.1.8 =
Adds a Download Invoice shortcut under the order number in WooCommerce → Orders when a ready LupinSync invoice exists. Same single plugin.

= 0.1.7 =
Adds a PDF File Name setting so downloads and email attachments can use the invoice number or WooCommerce order number. Same single plugin.

= 0.1.6 =
Removes service-plan messaging from customer checkout B2B fields. Same single plugin.

= 0.1.5 =
Maintenance update for WordPress.org plugin metadata. Same single plugin for Free and Premium.

= 0.1.4 =
Recommended update for WordPress.org serviceware clarification. Same single plugin for Free and Premium. After installing, open WooCommerce → LupinSync Invoices so the store can heartbeat 0.1.4 to your LupinSync dashboard.

= 0.1.3 =
Recommended update. Adds role-based Access Control and improved bulk invoice progress. After installing, open WooCommerce → LupinSync Invoices so the store can heartbeat 0.1.3 to your LupinSync dashboard.

= 0.1.2 =
Recommended update. After installing, open WooCommerce → LupinSync Invoices so the store can heartbeat the new version to your LupinSync dashboard.

= 0.1.1 =
LupinSync Invoices now requires a free LupinSync account. After updating, go to WooCommerce → LupinSync Invoices and use Login & Connect (or Create Account) to keep generating invoices.

= 0.1.0 =
Initial release.
