Axagen Bulk Invoice Generator

外掛說明

Bulk Invoice Generator lets you export WooCommerce orders as PDF invoices in bulk. Filter by date range, order status, starting order number, or limit the count — then download everything as a single ZIP file with one click.

Features:

  • Filter orders by date range, status, starting order number, and max count
  • Live progress bar during generation
  • Download all invoices as a single ZIP
  • Seller info, logo, IBAN, VAT number configurable in settings
  • Supports Latin, Extended Latin, and Cyrillic scripts (Estonian, Russian, English, and more)
  • Automatic table header color picker
  • Works with both legacy WooCommerce order storage and HPOS (High-Performance Order Storage)
  • Compatible with PHP 8.4

Requirements:

  • WooCommerce 7.0 or later
  • For styled PDF invoices: dompdf (optional — plain text fallback included)

螢幕擷圖

安裝方式

  1. Upload the axagen-bulk-invoice-generator folder to /wp-content/plugins/
  2. Activate the plugin through the Plugins menu in WordPress
  3. Go to WooCommerce Bulk Invoices to configure your seller info
  4. Use the Generate ZIP form to filter and download invoices

Optional — styled PDF invoices:

By default the plugin generates simple plain-text PDFs. For formatted invoices with your logo, colors, and proper layout, install dompdf:

  1. Download dompdf v3.x as a ZIP
  2. Extract and rename the folder to dompdf
  3. Place it inside the plugin folder: axagen-bulk-invoice-generator/dompdf/

常見問題集

Does this work with HPOS?

Yes. The plugin automatically detects whether your store uses legacy order storage (wp_posts) or High-Performance Order Storage and queries accordingly.

What PDF library does it use?

It uses dompdf if available in the plugin folder. If not found, it falls back to a built-in plain-text PDF generator that requires no external libraries.

How many invoices can it generate at once?

Tested with 1,000+ orders. Memory usage is kept low by processing orders one at a time and running garbage collection every 10 orders. For very large batches (2,000+), increase your PHP memory_limit and max_execution_time.

Does it support multiple languages?

Yes — the plugin renders Latin, Extended Latin, and Cyrillic scripts (covering Estonian, Russian, English, and more). Select the invoice language in plugin settings.

Where is the generated ZIP stored?

The ZIP is written to wp-content/uploads/bulk-invoices-tmp/ and deleted immediately after download.

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈Axagen Bulk Invoice Generator〉的開發相關工作。

參與者

將〈Axagen Bulk Invoice Generator〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

0.4.5

  • Added uninstall.php — deletes all plugin settings (the 14 axagbuin_invoice_* options), any leftover axagbuin_job_* transients, and the temporary ZIP working folder when the plugin is deleted from Plugins screen.

0.4.4

  • Replaced raw ini_set(‘memory_limit’, …) calls with WordPress’s own wp_raise_memory_limit(‘admin’) helper in handle_download() and handle_stream() — this only ever raises (never lowers) the limit, respects the site’s configured ceiling, and is the WordPress-native way to do this instead of a direct PHP ini_set() call.

0.4.3

  • Fixed load_dompdf() checking the wrong paths for the bundled dompdf library — it never checked dompdf/vendor/autoload.php (the actual location Composer installs to), only dompdf/autoload.inc.php and vendor/dompdf/autoload.inc.php, neither of which exist in this bundle. Invoices were silently falling back to plain-text PDFs instead of styled ones.

0.4.2

  • Fixed phpcs:ignore comments on ini_set() calls to also suppress Squiz.PHP.DiscouragedFunctions.Discouraged (previously only listed WordPress.PHP.IniSet.Risky, leaving 5 Plugin Check warnings unsuppressed)

0.4.1

  • Moved inline admin JS/CSS to properly enqueued assets (wp_enqueue_script/wp_enqueue_style)
  • Replaced WP_CONTENT_DIR usage in dompdf chroot with wp_upload_dir()
  • Bounded memory_limit increase (was unlimited) to 512M, scoped and restored after generation
  • Renamed all functions, classes, options, transients, and hooks to use a unique axagbuin_ prefix
  • Namespaced client-supplied job keys under a plugin-specific transient prefix to prevent arbitrary transient overwrites

0.4.0

  • Redesigned invoice layout: logo + seller top, ARVE title standalone, buyer + order meta two-column
  • Added product variation/meta lines under product names
  • Fixed date and status filters using direct SQL (compatible with PHP 8.4)
  • Transient-based live progress bar (works with buffered Apache servers)
  • Settings now save via wp_ajax (admin-post.php bypass fix)
  • Added cancel button during generation

0.3.6

  • Initial public release
  • Support for HPOS and legacy WooCommerce storage
  • EN/ET/RU language support
  • Dual-path SQL filtering