Invoice Ninja for WordPress connects your site to Invoice Ninja, the open-source invoicing app, either hosted at invoicing.co (Pro or Enterprise plan) or self-hosted (any plan, free).
Your products, prices and stock come from Invoice Ninja. Every order becomes an invoice there, and customers pay on Invoice Ninja’s secure payment page with the gateway you already use.
Features
- Store: Products, Product, Add to Cart, Mini Cart, Checkout and Order Status blocks, each with a matching shortcode. They follow your theme’s styles.
- Guest checkout: shoppers confirm their email with a 6-digit code (no account needed), with “Remember this device”.
- Reliable orders: never a duplicate invoice, even when Invoice Ninja is slow; orders placed while it’s down are saved and sent once it’s back.
- Customer account: invoices, quotes, payments, credits and subscriptions on your own site, with Pay and PDF links. The billing portal only opens for customers who confirmed their email.
- Quote Request Form: requests become draft quotes with tags. Requests are queued while Invoice Ninja is down, and spam protection is built in.
- Subscriptions: Pricing Table and Subscribe Button blocks, lifecycle hooks, and a signed provisioning relay for hosting or memberships.
- WooCommerce invoicing: WooCommerce stays the store and Invoice Ninja becomes the ledger. Orders become invoices and payments, refunds are mirrored, and older orders can be backfilled.
- Built for real sites: cache-friendly, with nothing loaded on pages without our blocks. HPOS and multisite ready, with status checks in Site Health and WP-CLI commands.
- Private by design: encrypted tokens, a staging pause, portal links never printed into pages, and personal-data exporters and erasers.
The full user guide, with screenshots, is at github.com/invoiceninja/wordpress.
Upgrading from 1.x
Your shop looks and works the same after the update: the 1.x display is kept until you choose Switch to blocks on the Welcome screen. Nothing from 1.x is deleted. Carts in progress at the moment of the update are emptied.
External services
This plugin connects to the Invoice Ninja API of the Invoice Ninja server you choose: your own self-hosted server, or the hosted service at invoicing.co.
- When:
- when you connect and run the checks;
- hourly, to sync products;
- when a shopper places an order, asks for a quote, opens their account, or uses a payment or PDF link;
- when Invoice Ninja sends webhooks to your site.
- What is sent:
- your API token (an encrypted copy is kept on your site);
- order details: the buyer’s name, email, phone and the items;
- quote request details;
- WooCommerce orders, when that module is on;
- WordPress users, when you choose to export them.
- Hosted service: Terms of Service and Privacy Policy.
Emails (codes, order and payment links) are sent by your own WordPress site.