Linux 软件免费装
Banner图

SoftGlaze PDF Invoices for WooCommerce

开发者 softglaze
更新时间 2026年7月29日 16:50
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

invoice packing slip pdf invoice woocommerce invoice credit note

下载

2.22.0 2.23.0 2.21.0 2.24.0 2.21.1 2.28.0 2.28.1 2.28.2 2.28.3

详情介绍:

SoftGlaze PDF Invoices turns WooCommerce orders — and invoices you create by hand — into clean, professional PDF documents. Everything renders 100% locally: the bundled dompdf engine runs on your own server, every logo, icon and font is embedded from local files, and a document render never makes an outbound HTTP request. The default install talks to zero external services; the only features that can ever reach the network are opt-in and off by default (the EU VIES VAT lookup, cloud backup, and WhatsApp Cloud API sending — each to an official service or your own account). It scales with you: from "I just need an invoice attached to my order emails" all the way to a full self-service invoice-builder website your visitors sign up and use — all from one plugin, driven by a modern React admin. Full documentation, setup guides and screenshots: https://softglaze.com/docs/pdf-invoices-plugin-for-woocommerce-and-manual Four document types, one design system Numbering that fits your books Automation A real admin, not just a settings page Design your documents visually Works with or without WooCommerce Share & send Payments, deposits & client acceptance WhatsApp delivery Compliance & exports Multi-language & right-to-left documents Cloud backup (optional, off by default) Privacy, security & compatibility Bundled libraries (all GPL-compatible, in vendor/): dompdf (LGPL-2.1) with php-font-lib and php-svg-lib, with docs and tests removed.

安装:

  1. Upload the plugin folder to /wp-content/plugins/ (or install the ZIP from Plugins → Add New).
  2. Activate it through the Plugins screen.
  3. Open SoftGlaze Invoices → Settings and fill in your company, logo, bank and numbering details (they are pre-filled from your site and WooCommerce store).
  4. Open a WooCommerce order and click Generate Invoice PDF, or let auto-generation handle it on your chosen statuses.
WooCommerce is required for order invoicing. The bundled dompdf library ships with the plugin; if it is ever missing, documents fall back to print-ready HTML.

屏幕截图:

  • The Documents manager — search, filter and bulk-generate, email or download every invoice, packing slip, proforma and credit note from one screen.
  • A finished invoice on its public share link — rendered 100% locally with your logo, colours, tax lines and a one-click PDF download; no external requests at render time.
  • The visual template builder — drag sections into place, set colour/font/paper design tokens, and preview the exact dompdf output as you edit.
  • Settings — the document × WooCommerce-email matrix that attaches the right document to the right transactional email. Every new feature is off by default and update-safe.
  • On the WooCommerce order screen — generate, view and email documents, set the fulfillment stage, and record carrier and tracking details (HPOS-ready).
  • The built-in System Check renders a live sample PDF and verifies your environment (PHP, extensions, storage, engine) so you can see it works before you rely on it.
  • The WooCommerce Orders list — an Invoice column shows each order's document status at a glance, with bulk generate/download actions (classic and HPOS screens).
  • A WooCommerce order in full — the SoftGlaze box sits right beside the order, so paperwork, fulfillment stage and tracking live where you already work.
  • The manual New-invoice screen — pick a saved client, add line items, currency, date and template, then save; a race-safe number is assigned and a PDF + share link are ready (works without WooCommerce).
  • The Products table — your synced WooCommerce catalogue with SKU, price, cost and stock; select rows to export a catalog PDF or manage cost prices.
  • Cost prices — record what each product costs you so the dashboard can show real gross profit and margin.
  • The Templates overview — 10 stock designs to duplicate, your saved custom templates, and a per-document-type design-assignment table.
  • Import from WooCommerce — backfill your existing orders into the unified Documents list by status and date range, with a resumable progress bar.
  • Italy / FatturaPA settings — Partita IVA, Codice Fiscale, Regime Fiscale, PEC, registered office and transmitter details that drive the validated FatturaPA XML export. Off by default.
  • Cloud backup settings — connect your own Dropbox or Google Drive with your own OAuth app; documents mirror to your account and tokens are stored encrypted. Nothing uploads until you connect.
  • The public invoice builder ([sgci_invoice_builder]) — visitors build their own invoice with saved company details, line items, a design picker and a live preview.
  • The My Account → Invoices tab — when WooCommerce is active, the same view-and-create dashboard appears inside the customer's account area.
  • The standalone customer dashboard ([sgci_dashboard]) — invoices and a "Create invoice" builder together as simple tabs, for sites without WooCommerce.
  • A customer's "My invoices" view — search, download, duplicate, copy a share link, or delete, with clear empty states and status badges.
  • Self-contained sign-in / create account ([sgci_login]) — users pick their own password and are signed straight in, with an on-site "forgot password" flow and no wp-login screen.
  • Settings → Business — the company identity, logo, bank details and signature that appear on every document.
  • Settings → Numbering — prefix/suffix, {YYYY}/{MM} placeholders, padding and yearly reset, with a live preview of the next number.
  • Settings → Checkout — collect and validate a VAT number and/or fiscal code at checkout (per-country rules, Italian checksums, optional EU VIES lookup).
  • Settings → Frontend — the master switch and controls for the public invoice-builder site (allowed templates, per-user daily limit, default currency and terms).
  • Settings → Automations — payment reminders, per-stage fulfillment emails and the monthly accountant export, each off by default with its own template.
  • Settings → Advanced — expert options such as promoting fulfillment stages to real WooCommerce order statuses, with the trade-offs spelled out.
  • The first-run setup wizard — a guided welcome that gets a new store issuing documents in a few steps.
  • Setup wizard — the business-identity step, pre-filled from your site and WooCommerce store.
  • Setup wizard — the numbering step, with a live preview of your first invoice number.
  • WhatsApp click-to-chat — a WhatsApp button on each generated document (order screen and Documents manager) opens a chat pre-filled with the customer's number and the document's secure share link. No API keys, zero external requests from the plugin.
  • Compliance field packs — show your seller VAT, GST/HST and Tax ID in the company block and print an editable EU reverse-charge note, per document type. Off by default; the note never changes your tax totals.
  • WhatsApp Cloud API (optional server-send) — connect your own Meta WhatsApp Business credentials under Settings → Automations, then send a document's share link straight from your server with one click. Off by default; the access token is stored encrypted.
  • Multi-language & right-to-left documents — pick a document language globally or per document; built-in labels translate into French, German, Spanish, Dutch, Italian, Portuguese and Hebrew, with full right-to-left rendering for Hebrew.
  • The Canvas builder — a freeform layout mode: drop blocks anywhere on the page, drag to move, resize with handles and layer them, positioned by percentage of the page so the design matches the printed PDF. Flow (stacked) mode remains the default.

常见问题:

Does it send any data to an external service?

By default, no. Rendering is entirely local — the PDF engine embeds all assets from your own server and makes no outbound HTTP request when generating a document. There are exactly three opt-in exceptions, all off by default:

  1. EU VIES VAT check — if you turn on Settings → Checkout → Verify EU VAT numbers online with VIES, a VAT number entered at checkout is sent to the official EU VIES service to confirm it exists. Format and checksum checks always run locally first.
  2. Cloud backup — if you connect a destination under Settings → Backup, generated documents are uploaded to YOUR own Dropbox or Google Drive using YOUR app credentials. There is no SoftGlaze middleman server, refresh tokens are stored encrypted on your server, and nothing is uploaded until you connect an account. Disconnecting revokes and deletes the stored tokens.
  3. WhatsApp Cloud API sending — if you enable it and save your own Meta credentials under Settings → Automations → WhatsApp Cloud API, clicking "Send on WhatsApp now" on a document sends its share link to the customer via YOUR own WhatsApp Business account (graph.facebook.com). Your access token is stored encrypted on your server, nothing is sent until you connect and click send, and the free click-to-chat button needs none of this. (The click-to-chat button itself uses WhatsApp's wa.me links and makes no request from your server.)
Until you switch one of these on, the plugin makes zero external requests.

Is it compatible with High-Performance Order Storage (HPOS)?

Yes. The plugin declares HPOS compatibility and reads orders only through WooCommerce CRUD.

What happens to my data if I delete the plugin?

By default, uninstalling removes only the plugin's own options and order meta. Enable Remove data on uninstall in Settings first if you also want the invoice records and generated PDF files deleted.

Are there developer hooks for customising documents?

Yes. Two filters let you override document output in code:

  • sgci_document_template_jsonapply_filters('sgci_document_template_json', $template, $doc_type). Fires when a named custom template is about to render a document type; return a modified template array (name, base_preset, tokens, sections, doc_types) to change what renders — for example to reorder sections or inject a custom-HTML section programmatically.
  • sgci_document_htmlapply_filters('sgci_document_html', $html, $invoice). Fires on the final document HTML immediately before the PDF is rendered (and before the HTML fallback is written), for every document type and template/layout. Return modified HTML to post-process the document.
Dynamic template tags are resolved by one shared engine used by PDFs, emails and reminders. Alongside {invoice_number}, {order_number}, {date}, {due_date}, {customer_name}, {company_name}, {total} and {share_url}, you can pull arbitrary order or customer meta with {order_meta:your_key} and {user_meta:your_key}. Values are output-escaped; an optional key allowlist (Settings) restricts which keys resolve.

How do I build a complete standalone invoice-builder website with the shortcodes?

You can assemble a self-service invoice site — where visitors sign up and make their own PDF invoices — from three pages, no WooCommerce needed:

  1. Turn the feature on. Go to SoftGlaze Invoices → Settings → Frontend and enable the master switch. (It is off by default on existing sites and on for brand-new installs.) While you are there you can choose which of your saved templates the builder may offer, the per-user daily limit, the default currency, and default terms.
  2. Allow sign-ups. In Settings → General, tick Membership: Anyone can register so visitors can create an account, or place [sgci_register] on a page for the standard WordPress registration form.
  3. Create three pages:
  4. A "Create invoice" page containing [sgci_invoice_builder my_invoices="/my-invoices/"] — the full builder (company details saved per user, client, line items, currency, a design picker, a live preview, and Generate → PDF + share link).
  5. A "My invoices" page containing [sgci_my_invoices builder="/create-invoice/"] — each user's own documents, with search, download, duplicate, a copyable share link, and delete.
  6. A "Sign in" page containing [sgci_login] (and, if you like, [sgci_register]).
  7. Link them together. The my_invoices and builder attributes above accept a page path (e.g. /my-invoices/), a full URL, or a numeric page ID; they power the builder's "My invoices" link, the list's "+ New invoice" button, and the empty-state call-to-action. Add the three pages to your menu and you have a complete builder site — any membership or login-redirect plugin works alongside it.
Privacy: every document a visitor creates is owned by that visitor. One user can never see, download, or touch another user's invoices, and a direct link to someone else's document returns "not found". Guests are shown a login/register prompt instead of the builder.

Do I need WooCommerce to use this plugin?

No. WooCommerce is required only for order-based invoicing — turning orders into documents, the order-screen tools, the orders-list column and the My Account download. Without WooCommerce you can still create invoices by hand, design templates, use share links, and run the public invoice-builder site.

Which document types can it create?

Invoices, packing slips, proforma invoices, credit notes, receipts and delivery notes. Each type has its own template assignment and can use its own number sequence.

Can I create an invoice by hand, without an order?

Yes. The New invoice screen lets you pick a saved client (or add one), add unlimited line items with quantity, unit price, cost and tax rate, choose the currency, date, template and status, and save. A race-safe number is assigned, the PDF is stored and a share link is ready — with WooCommerce on or off.

How does invoice numbering work? Can I set my own format?

Numbering is sequential with an optional prefix and suffix, {YYYY} and {MM} placeholders, zero-padding and an optional yearly reset. Credit notes and proforma invoices can each use their own separate, race-safe sequence. You can also reuse the WooCommerce order number or the raw order ID instead of a counter.

I'm moving from another invoice plugin — can I keep my numbering?

Yes. The plugin can detect existing YITH / WebToffee (and other) invoice numbers, continue your sequence from the highest one found, and optionally copy the old numbers onto historical orders. Developers can extend the detected meta keys with the sgci_import_number_meta_keys filter.

How do I attach a PDF automatically to WooCommerce emails?

Use the document × email matrix in Settings to choose which document attaches to which transactional email (for example the invoice on "Completed", the packing slip on "Processing"). You can also auto-generate documents on the order statuses you choose.

Can customers download their own invoice?

Yes. When WooCommerce is active there is a "Download invoice" button in My Account and an optional Invoices tab. You can also send any document by email or share a tokenised link.

Are the public share links secure?

Each link carries a random token, has a per-document expiry you choose (7 / 30 / 90 days or never), and can be regenerated or revoked. Generated files live in a protected uploads folder and are served only through capability- and ownership-checked endpoints, so a direct link to someone else's file returns "not found".

Can I put a QR code on the PDF?

Yes — enable the share-link QR code per document type and the link prints as a QR code in the corner of the PDF. The QR image is generated locally.

How do partial payments and deposits work?

Record one or more payments (date, amount, method, note) against a document — from a Payments panel on the manual invoice screen, or a Payments box on the WooCommerce order (classic and HPOS). The PDF then prints Amount paid and Balance due, and the dashboard's unpaid figure counts only the remaining balance.

Is "client acceptance" a legally binding electronic signature?

No, and it is labelled as such. It records a typed name, an agreement checkbox, a timestamp and the client's IP as a simple, honest online acceptance — useful for proformas and quotes. It is not a qualified or legally binding e-signature.

How do I send a document to a customer on WhatsApp?

Click the WhatsApp button on a generated document (order screen or Documents manager). WhatsApp opens with the customer's number and a message containing the document's share link, ready for you to send. This uses WhatsApp's wa.me links and needs no setup or API keys.

How do I set up server-side WhatsApp sending (Cloud API)?

Under Settings → Automations → WhatsApp Cloud API, enable it and save your own Meta WhatsApp Business credentials (phone-number ID and access token). A "Send on WhatsApp now" action then delivers the share link from your server. Inside Meta's 24-hour customer-service window it sends your session message; outside it, it uses your pre-approved template. It is off by default, the token is stored encrypted, and every send is a manual click.

Can I show my VAT / GST number and a reverse-charge note on documents?

Yes. Enter your VAT, GST/HST and a generic Tax ID in Settings → Company details, then switch them on per document type under Compliance field packs. You can also print an editable EU reverse-charge note; in automatic mode it appears only on intra-EU B2B documents where reverse charge applies. The note never changes your tax totals.

Can I print documents in another language or right-to-left?

Yes. Choose a document language globally or per document. French, German, Spanish, Dutch, Italian, Portuguese and Hebrew are built in, and Hebrew renders right-to-left with the bundled font. With no language chosen, documents are unchanged and the admin stays in English. Arabic is not offered yet, because the bundled PDF engine cannot join Arabic letters correctly.

What is the difference between the Flow and Canvas template builders?

Flow stacks the document sections down the page (header, then bill-to, then items, and so on). Canvas lets you place blocks freely anywhere on the page — drag to move, resize with handles, and layer them. Both use the same block types and the same live preview, and both print exactly what you see. Flow is the default; Canvas is a per-template choice.

Can I design a completely custom template, or use my own HTML?

Yes. Build a named template from blocks, or add a custom-HTML block. Custom HTML is sanitised — scripts, event handlers and remote references are stripped, on save and on every preview — so it stays safe for the local PDF engine.

Does it support Italian FatturaPA e-invoicing?

It generates the official FatturaPA 1.2 (FPR12) XML for invoices and credit notes, per document or as a bulk ZIP, and validates each file locally against the Agenzia delle Entrate schema before download. It does not transmit to the SDI — send the file via your intermediary or the AdE portal — and it refuses to guess when data cannot be mapped cleanly. Off by default.

Can I back up my documents to Dropbox or Google Drive?

Yes, optionally. Connect your own Dropbox and/or Google Drive app under Settings → Backup and each generated document is copied to your account, mirroring the local folder layout. You use your own OAuth credentials (there is no SoftGlaze server in between), refresh tokens are stored encrypted, and nothing is uploaded until you connect an account. Off by default.

What are the requirements, and what if dompdf is missing?

WordPress 6.3+, PHP 7.4+, and WooCommerce for order-based invoicing. The dompdf engine is bundled, so there is nothing to install; if it were ever missing, documents fall back to print-ready HTML.

Will updating the plugin change my existing invoices or settings?

No. Every feature is off by default or defaults to your current behaviour, so an existing store's checkout, documents, emails and numbering are unchanged until you opt in.

Where can I find the full documentation and setup guide?

The complete manual — for both WooCommerce and manual/standalone use — is at https://softglaze.com/docs/pdf-invoices-plugin-for-woocommerce-and-manual. It walks through every feature above with step-by-step screenshots.

更新日志:

2.28.3 2.28.2 Housekeeping — no functional changes. 2.28.1 Housekeeping — no functional changes. 2.28.0 Release "CANVAS" — a freeform drag-and-drop / resize page builder. 2.27.0 Release "POLISH" (part 6) — multi-language & right-to-left documents. 2.26.0 Release "POLISH" (part 5) — WhatsApp Cloud API (server-send). 2.25.0 Release "POLISH" (part 4) — compliance field packs. 2.24.0 Release "POLISH" (part 3) — WhatsApp delivery (click-to-chat). 2.23.0 Release "POLISH" (part 2) — client acceptance ("e-sign"). 2.22.0 Release "POLISH" (part 1) — partial payments & deposits. 2.21.1 Listing & documentation update — no functional code changes. 2.21.0 Release "COMPLY" (part 3) — Italian electronic invoicing (FatturaPA XML). 2.20.0 Release "INSIGHT" (part 3) — order fulfillment stages + document exports. 2.19.0 Release "INSIGHT" (part 2) — storefront analytics + guest builder. 2.18.0 Release "INSIGHT" (part 1) — the Profit / Loss dashboard. 2.17.0 Release "FRONTEND" (part 2) — a polished, mobile-first experience for the public builder. 2.16.0 Release "FRONTEND" — a public invoice-builder site your visitors can use.