=== Print Invoice & Delivery Notes for WooCommerce ===

Contributors: ashokrane, tychesoftwares
Tags: packing slips, invoice, pdf invoice, delivery notes, woocommerce print invoice
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 7.0.0
WC requires at least: 5.0.0
WC tested up to: 10.9.1
Stable tag: 7.2.1
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Create and print PDF invoices, delivery notes, receipts, credit notes, and packing slips for your WooCommerce orders.

== Description ==

Print Invoice & Delivery Notes for WooCommerce helps store owners generate printable PDF invoices, delivery notes, receipts, credit notes, and packing slips directly from WooCommerce orders.

Store admins can print order documents individually or in bulk, attach invoice PDFs to WooCommerce emails, and customize invoice templates with company branding, invoice numbering, billing details, and footer content.

Customers can access and download invoices from the WooCommerce My Account page and order emails, making it easier to manage order records without contacting store support.

Ideal for WooCommerce stores that need a simple solution for invoice management, order fulfilment, customer records, and accounting workflows.


== Key Features ==

= Generate and Print WooCommerce Invoices =

Generate printable invoices, delivery notes, receipts, credit notes, and packing slips directly from WooCommerce orders.

The plugin adds:

* An Order Printing panel to the Edit Order page
* Print actions on the WooCommerce Orders screen
* Quick access to print order documents while managing orders

This helps streamline WooCommerce order processing and fulfillment workflows.

= Send Invoice PDFs in WooCommerce Emails =

Add invoice and delivery note print links to WooCommerce order emails sent to customers and store admins.

Choose which order statuses — such as Processing or Completed — should include invoice print links in emails.

Customers and admins can open, print, or download invoice PDFs directly from WooCommerce emails.

= Customize Invoice and Delivery Note Templates =

Customize invoice, receipt, and delivery note templates to match your WooCommerce store branding and business requirements.

Available customization options include:

* Company logo, name, and address
* Invoice titles and invoice numbering formats
* Billing and shipping details
* Payment information
* Footer text and store policies
* Customer notes and contact details

The plugin includes two built-in invoice layouts and a live preview option to review changes before saving.

= Bulk Print WooCommerce Invoices =

Bulk print invoices, receipts, delivery notes, and packing slips directly from the WooCommerce Orders page.

Select multiple orders and generate printable order documents using WooCommerce Bulk Actions without opening each order individually.

Useful for WooCommerce stores managing high order volumes, warehouse operations, and fulfillment workflows.

= Allow Customers to Download WooCommerce Invoices =

Customers can access invoices and receipts from:

* My Account → Orders page
* WooCommerce order confirmation emails
* Order-related email notifications

This improves the post-purchase experience and reduces customer support requests related to invoice downloads and order records.

== Additional Features ==

* **Live preview** – see changes in real-time before saving
* **Adjust logo size** – set custom length and height for your company logo
* Company logo, name, and address added to invoices
* Customize invoice numbering with prefix and suffix
* Display print links in emails based on order status
* Store PDF files for a configurable duration
* Supports Sequential & Custom Invoice Numbers
* Keeps invoices accurate when orders are refunded in WooCommerce
* Offers advanced customization support via hooks and filters

== Developer Support and Extensibility ==

The plugin includes hooks and filters for developers who want to customize templates and invoice numbers.

== Need Help? ==

* Visit the [WordPress support forums](https://wordpress.org/support/plugin/woocommerce-delivery-notes/)
* Check the [documentation](https://www.tychesoftwares.com/docs/docs/print-invoice-delivery-notes-for-woocommerce/) for common answers

If you find the plugin useful, a ⭐⭐⭐⭐⭐ rating is always appreciated — it helps other store owners discover the plugin.

= Contributing =

If you have a patch, or stumbled upon an issue with the source code that isn't a [WooCommerce issue](https://github.com/woocommerce/woocommerce/issues?labels=Bug&state=open), you can contribute this back [on GitHub](https://github.com/TycheSoftwares/woocommerce-delivery-notes).

= Translating =

When your language is missing you can contribute a translation to the [GitHub repository](https://github.com/TycheSoftwares/woocommerce-delivery-notes#translating).

**Some of our Pro plugins:**

1. **[Flexi BOGO for WooCommerce](https://www.tychesoftwares.com/products/woocommerce-flexi-bogo-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Flexi BOGO for WooCommerce")**

2. **[Abandoned Cart Pro for WooCommerce](https://www.tychesoftwares.com/products/woocommerce-abandoned-cart-pro-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Abandoned Cart Pro for WooCommerce")**

3. **[Booking & Appointment Plugin for WooCommerce](https://www.tychesoftwares.com/products/woocommerce-booking-and-appointment-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Booking & Appointment Plugin for WooCommerce")**

4. **[Order Delivery Date Pro for WooCommerce](https://www.tychesoftwares.com/products/woocommerce-order-delivery-date-pro-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Order Delivery Date Pro for WooCommerce")**

5. **[Product Delivery Date Pro for WooCommerce](https://www.tychesoftwares.com/products/woocommerce-product-delivery-date-pro-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Product Delivery Date Pro for WooCommerce")**

6. **[Deposits For WooCommerce](https://www.tychesoftwares.com/products/woocommerce-deposit-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Deposits For WooCommerce")**

7. **[Payment Gateway Based Fees and Discounts for WooCommerce - Pro](https://www.tychesoftwares.com/products/woocommerce-payment-gateway-based-fees-and-discounts-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Payment Gateway Based Fees and Discounts for WooCommerce - Pro")**

8. **[Custom Order Status for WooCommerce - Pro](https://www.tychesoftwares.com/products/woocommerce-custom-order-status-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Custom Order Status for WooCommerce - Pro")**

9. **[Custom Order Numbers for WooCommerce - Pro](https://www.tychesoftwares.com/products/woocommerce-custom-order-numbers-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Custom Order Numbers for WooCommerce - Pro")**

10. **[Product Input Fields for WooCommerce - Pro](https://www.tychesoftwares.com/products/woocommerce-product-input-fields-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Product Input Fields for WooCommerce - Pro")**

11. **[Call for Price for WooCommerce - Pro](https://www.tychesoftwares.com/products/woocommerce-call-for-price-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Call for Price for WooCommerce - Pro")**

12. **[Price based on User Role for WooCommerce - Pro](https://www.tychesoftwares.com/products/woocommerce-price-user-role-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Price based on User Role for WooCommerce - Pro")**

13. **[Currency per Product for WooCommerce - Pro](https://www.tychesoftwares.com/products/woocommerce-currency-per-product-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCDeliveryNotes "Currency per Product for WooCommerce - Pro")**

**Some of our other free plugins:**

1. **[Abandoned Cart for WooCommerce](https://wordpress.org/plugins/woocommerce-abandoned-cart/ "Abandoned Cart for WooCommerce")**

2. **[Order Delivery Date for WooCommerce - Lite](https://wordpress.org/plugins/order-delivery-date-for-woocommerce/ "Order Delivery Date for WooCommerce - Lite")**

3. **[Product Delivery Date for WooCommerce - Lite](https://wordpress.org/plugins/product-delivery-date-for-woocommerce-lite/ "Product Delivery Date for WooCommerce")**

4. **[Payment Gateway Based Fees and Discounts for WooCommerce](https://wordpress.org/plugins/checkout-fees-for-woocommerce/ "Payment Gateway Based Fees and Discounts for WooCommerce")**

5. **[Custom Order Status for WooCommerce](https://wordpress.org/plugins/custom-order-statuses-woocommerce/ "Custom Order Status for WooCommerce")**

6. **[Custom Order Numbers for WooCommerce](https://wordpress.org/plugins/custom-order-numbers-for-woocommerce/ "Custom Order Numbers for WooCommerce")**

7. **[Product Input Fields for WooCommerce](https://wordpress.org/plugins/product-input-fields-for-woocommerce/ "Product Input Fields for WooCommerce")**

8. **[Call for Price for WooCommerce](https://wordpress.org/plugins/woocommerce-call-for-price/ "Call for Price for WooCommerce")**

9. **[Price based on User Role for WooCommerce](https://wordpress.org/plugins/price-by-user-role-for-woocommerce/ "Price based on User Role for WooCommerce")**

10. **[Currency per Product for WooCommerce](https://wordpress.org/plugins/currency-per-product-for-woocommerce/ "Currency per Product for WooCommerce")**

== Installation ==

= Minimum Requirements =

* PHP 7.4 or later
* WordPress 6.0 or later
* WooCommerce 5.0 or later

= Automatic installation =

Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser. To do an automatic install of Print Invoice & Delivery Notes for WooCommerce, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.

In the search field type “WooCommerce Print Invoice” and click Search Plugins. Once you’ve found the plugin you can view details about it such as the the point release, rating and description. Most importantly of course, you can install it by simply clicking “Install Now”.

= Manual installation =

The manual installation method involves downloading the plugin and uploading it to your webserver via your favourite FTP application. The WordPress codex contains [instructions on how to do this here](http://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation).

== Frequently Asked Questions ==

= Can invoices be generated and downloaded as PDFs? =

Yes. When you print an invoice, delivery note, or receipt, it opens in PDF format in the browser. You can print it directly or save it as a PDF on your device.

= Are invoices automatically sent to customers after an order is placed? =

The plugin can automatically include a print invoice link in WooCommerce order emails sent to customers after an order is placed or when the order status changes. Customers can open the link to view and print the invoice.

= Can customers download invoices from the My Account page? =

Yes. Customers can access and print their invoices and receipts from My Account → Orders. You can show print buttons on both the My Account page and the individual View Order page.

= Can admins print invoices directly from the WooCommerce Orders page? =

Yes. Admins can print invoices, delivery notes, and receipts directly from the WooCommerce Orders page using the Print buttons or from inside the individual edit order page.

= Can I bulk print invoices or delivery notes for multiple orders? =

Yes. The plugin supports printing order invoices in bulk. You can select multiple orders from the WooCommerce Orders page and use Bulk Actions to print invoices, delivery notes, or receipts for all selected orders at once.

= Can I customize invoice, receipt, and delivery note templates? =

Yes. You can customize the design and content of your invoices, receipts, and delivery notes using the plugin settings. You can also see a live preview of your changes before saving them.

= Can I customize invoice fields, labels, and layout? =

Yes. You can control document titles, text alignment, font size, colors, and choose which fields appear on invoices.

= Can I add my brand details, such as logo, company name, and address to invoices? =

Yes. You can include your company logo, name, address, footer content, policies, and closing text on all documents to ensure they match your store's branding and business requirements.

= Can I control what order and product information appears on invoices? =

Yes. You can choose which details to show, including order number, invoice number, order date, payment method, billing and shipping address, customer contact details, product prices, and customer notes.

= Can I show unit price, VAT %, tax amount on invoices? =

Yes. The plugin displays WooCommerce tax data on invoices, including product prices and tax amounts, based on your store's tax configuration.

= Can I display custom order numbers with prefixes and suffixes on invoices? =

Yes. The plugin lets you use custom order numbers on invoices, including prefixes and suffixes, instead of default WooCommerce order IDs.

= Can I translate invoices into my store's language? =

Yes. You can translate invoices into any language using a plugin like Loco Translate. Use it to translate the text strings in the Print Invoice & Delivery Notes plugin into your preferred language. Once done, your order invoices will display correctly in your chosen language for your customers.

= What happens to invoices when an order is refunded? =

When an order is refunded, the refunded amount is shown on the invoice, and you can still access and print it.

== Screenshots ==

1. Dashboard – setup checklist and quick actions
2. Templates – list of all five document types with enable/disable toggles
3. Template Editor – customise sections, fonts, colours, and layout with live preview
4. Watermark Settings – configure watermark text, opacity, angle, and repeat style
5. Invoice Numbering – sequential numbering with format placeholders and yearly reset
6. PDF Settings – enable PDF storage, set expiration, and configure filename format
7. Email Attachments – attach PDFs to customer and admin emails by order status
8. Store Settings – configure shop name, logo, address, and contact details
9. Print Button on Order Edit Page – one-click printing from the WooCommerce order screen
10. Customer My Account Page – print buttons on the Orders page
11. Bulk Actions – print or generate PDFs for multiple orders at once

== External Services ==
This plugin communicates with our tracking server to send usage data **only** if the user has explicitly opted in to usage tracking. For detailed information about what is tracked, please refer to our [usage tracking documentation](https://www.tychesoftwares.com/docs/woocommerce-print-invoice-delivery-note/print-invoice-usage-trackings/).

== Changelog ==

= 7.2.1 - 29/06/2026 =
* Fix - Order action buttons are not displayed properly on the order edit page.
* Fix - A few required minified (.min) files are missing from the plugin package, causing warnings and errors.
* Fix - Critical error: Class Dompdf\Options not found when generating document PDFs.
* Fix - Deprecated wcdn_order_item_before and wcdn_order_item_after hooks pass inconsistent argument types in v7.
* Fix - Fatal error: Class Tyche\WCDN\WCDN_Notices not found when plugin activation requirements are not met and the admin notice is triggered.

= 7.2.0 - 24/06/2026 =
* Fix - Logo scaling configured in the template settings is not applied to invoice templates and PDF documents.
* Fix - Email attachments are not sent consistently when multiple document template email attachments are enabled.
* Fix - Duplicate Delivery/Pickup Date fields are displayed on invoices when using the WooCommerce Delivery & Pickup Date Time Pro plugin.
* Fix - Fatal error during PDF generation when PDF attachments are enabled on some hosting environments.
* Fix - WooCommerce Checkout Add-Ons values are not displayed in generated invoices and documents.
* Fix - Fatal error during PDF generation when an invalid order is encountered.
* Fix - PDF attachments are incorrectly attached to Admin New Order emails when only the "Attach PDF to Customer Emails" setting is enabled.

= 7.1.2 - 13/05/2026 =
* Feature - Added integration with Deposits & Partial Payments for WooCommerce Pro (AWCDP). Documents now display a Deposit Amount row and a Future Payments row for deposit orders, reading the correct persisted meta values set at checkout.
* Feature - Printing a child AWCDP partial payment order now resolves to the parent deposit order, restoring the product items table and showing the correct deposit and future payment totals.
* Enhancement - Added a Page Setup section to all five document types with a Zoom slider (70–130%) and a PDF Zoom Mode option. Layout mode scales the entire document proportionally; Text mode scales only font sizes.
* Enhancement - Added a Product Name styling section to all five document types for configuring font size, font style, text colour, and padding of product names in the items table.
* Enhancement - Added font-weight and text-align settings for the Policies, Complimentary Close, and Footer sections.
* Enhancement - Added Payment Method as a configurable section on the Delivery Note template. Previously it was only available on Invoice and Receipt.
* Enhancement - Bulk Print now generates merged PDFs on demand via an async AJAX request rather than synchronously on page load, avoiding HTTP timeouts when printing large numbers of orders.
* Enhancement - Added a loading overlay with a spinner when Auto Print Dialog is enabled. The overlay is dismissed immediately before the browser print dialog opens.
* Enhancement - All document type templates now resolve base.php through the theme override lookup, so copying base.php to your theme correctly overrides the document layout.
* Enhancement - Added a WooCommerce_Delivery_Notes global class alias so third-party plugins that detect the plugin via class_exists( 'WooCommerce_Delivery_Notes' ) continue to work after the v7 namespace refactor.
* Enhancement - The HTML print preview now declares a @page size rule matching the configured PDF paper size, so the browser print preview page dimensions match the generated PDF.
* Enhancement - Added wcdn_print_document_title, wcdn_pdf_zoom_mode, wcdn_order_info_fields, and wcdn_order_items developer filters. wcdn_order_items allows sorting or reordering line items in the document table by name, SKU, quantity, or any other item field.
* Enhancement - Added thirteen new action hooks to base.php covering every document section: wcdn_before_logo, wcdn_before_title, wcdn_before_branding, wcdn_before_addresses, wcdn_before_totals, wcdn_before_pay_button, wcdn_before_notes, wcdn_before_policies, wcdn_after_policies, wcdn_before_complimentary_close, wcdn_after_complimentary_close, wcdn_before_footer, and wcdn_after_footer.
* Enhancement - Added six new developer filters: wcdn_shop_data (store name, logo, address, phone, email), wcdn_document_data (footer, policies, complimentary close text), wcdn_billing_address, wcdn_shipping_address, wcdn_order_meta_fields (reorder or remove order meta rows), and wcdn_watermark_text.
* Fix - Fatal error when generating a PDF for a refund email on orders containing downloadable products.
* Fix - PDF generation for email attachments was triggered unconditionally, which could exhaust server memory on sites using locale fonts (e.g. CJK scripts). Generation is now skipped entirely when no attachment target has the feature enabled.
* Fix - The wcdn_pdf_paper_size filter's default value was hardcoded to A4. It now correctly uses the paper size configured under PDF Settings.
* Fix - Generated PDF filenames now include a per-order cryptographic token, preventing enumeration of stored PDFs by order number alone.
* Fix - An interval-based readyState polling loop in the admin print button handler could cause double-prints on slow connections. The polling loop has been removed.
* Tweak - Rewrote base.php with comprehensive inline documentation: a full @var block describing every variable available to template overrides ($shop, $order, $document, $settings, $items, $totals), standardised section comment blocks throughout the file, a hooks-at-a-glance reference listing all 26 actions and their signatures, and guidance on overriding the template or its CSS from a theme.
* Tweak - PDF base font size increased from 9.5pt to 9.75pt and line height reduced to 1.2 for improved readability and more compact layout.
* Tweak - Reduced spacing above and below horizontal rules, and reduced the top margin of the order totals table.

= 7.1.1 - 25/04/2026 =
* Fix - Resolved a deployment issue that caused the admin interface to not load correctly after updating to 7.1.0.

= 7.1.0 - 25/04/2026 =
* Enhancement - Added Show/Hide controls for Subtotal, Tax, and Shipping rows in the product table. Configurable per document type under Template Settings → Show Product Table Charges.
* Enhancement - Added option to display Order Data beside or below the Billing/Shipping address section. Configurable under Invoice Settings → Template Order Data Position. Default matches the v6 layout (below).
* Enhancement - Added settings to show/hide and style Billing Email and Billing Phone Number independently, including font size, font style, text align, and colour.
* Enhancement - Added wcdn_format_phone_number filter to allow custom formatting of the billing phone number in document templates.
* Enhancement - Separated Store Phone Number and Store Email into individual rows with dedicated CSS settings for font style, text align, margin top, and margin bottom.
* Enhancement - Added option to display product images alongside the product title in the items table.
* Fix - Store logo disappeared for some sites after updating to 7.0. The migration now resolves the attachment URL at migration time rather than storing a raw attachment ID.
* Fix - Plugin data is now restored to v6.0 format on deactivation, and the v7 state is snapshotted so it can be fully restored on re-activation without re-running the migration.
* Fix - Shipping method was not displayed in document templates.
* Fix - Shop address was rendered on a single line. It now correctly renders as multi-line.
* Fix - A trailing semicolon was shown after an empty store phone or store email label. The semicolon is now omitted when the value is empty.
* Fix - Store logo was not displaying in the HTML admin preview.
* Fix - Print button controls for Invoice, Delivery Note, Packing Slip, and Receipt were not shown on the WooCommerce Admin Edit Order page.
* Fix - All show/hide toggles (logo, shop name, address, phone, email, etc.) were set to false after migrating from v6 sites that had no customisation options saved. The v6 default (all sections visible) is now correctly preserved.
* Fix - Email attachment (Attach to WooCommerce emails) was incorrectly enabled after migration from v6 when it had never been configured. The feature remains off unless explicitly enabled.
* Fix - Template preview in the admin broke when the site had no orders, or when order items referenced deleted products. The preview now falls back to generated sample data and fills any blank renderable fields with placeholder values.
* Fix - Address font size was inflated after migrating from v6 sites that used the Simple template type. The template default is now used for address font size in that case.
* Fix - Per-template settings (show/hide toggles, alignments, font sizes) were not recovered by the v7.1.0 migration for users upgrading from v7.0.2.
* Fix - Document title font size was shown as 40 after a fresh install or migration. The default is now 25 and the migration normalises any stored value of 40 to 25.
* Tweak - Default alignment for logo, document title, shop name, address, phone, and email changed from centre to left.
* Tweak - The v7.1.0 settings-recovery migration now resets alignment fields to left for sites that used the v6.0 default template type and had not customised those settings.

= 7.0.2 - 23/04/2026 =
* Fix - Fatal error displayed on edit order page after 7.0 update when HPOS was disabled.
* Fix - Bulk actions dropdown displayed blank labels after 7.0 update.

= 7.0.1 - 22/04/2026 =
* Fix - Resolved an issue where a missing static file prevented the page from loading correctly after 7.0.0 update.

= 7.0.0 - 22/04/2026 =
This release is a complete overhaul of the plugin. The admin interface has been rebuilt using React and the plugin codebase has been fully restructured.
* Enhancement - Rebuilt the admin interface using React, with dedicated Dashboard, Templates, Settings, and FAQs pages.
* Enhancement - Added support for five document types: Invoice, Delivery Note, Receipt, Credit Note, and Packing Slip.
* Enhancement - Added PDF generation and storage for order documents, powered by Dompdf, with configurable file expiration.
* Enhancement - Added sequential invoice numbering with optional yearly reset and a configurable starting number per year.
* Enhancement - Added per-template customisation options including logo, colours, font sizes, watermark, and layout settings.
* Enhancement - Added support for attaching documents to WooCommerce order emails.
* Enhancement - Added a REST API layer for all admin operations including settings, templates, and PDF generation.
* Enhancement - Added a data migration routine to carry over settings and invoice counters from previous versions.
* Tweak - Restructured the plugin codebase with a service-based architecture and Composer autoloading.
* Tweak - Replaced the legacy template engine with a new renderer supporting theme overrides.
* Tweak - Added SCRIPT_DEBUG and WCDN_SCRIPT_DEBUG support to switch between minified and unminified assets.
* Tweak - Updated codebase to align with WordPress Coding Standards.

= 6.0.0 - 27/01/2026 =
* Fix - Fatal error on the template settings page caused by an invalid string offset type.
* Fix - Fatal error triggered by an undefined method call when all orders are archived on the site.
* Fix - Added the wcdn_custom_print_url filter for print action buttons on the order edit page.
* Fix - Fixed a security vulnerability that allowed guest users to access invoices without a valid token.
* Fix - Resolved all PHPCS warnings and aligned the code with WordPress Coding Standards to enhance quality and maintainability.

= 5.9.0 - 23/12/2025 =
* Fix - Address lines in the invoice displayed incorrectly in RTL mode.
* Fix - Improved input sanitization and validation in invoice template settings to prevent a potential remote code execution vulnerability.
* Tweak - Updated for compatibility with WordPress 6.9.0.
* Tweak - Updated for compatibility with WooCommerce 10.4.3.

= 5.8.0 - 23/09/2025 =
* Fix - Additional options created with the Extra Product Options & Add-Ons for WooCommerce plugin not displaying on item meta on Invoice, Delivery Notes, and Receipt templates.
* Fix - Meta keys showing instead of addon values for the YITH WooCommerce Product Add-Ons plugin on Invoice, Delivery Notes, and Receipt templates.
* Fix - Item meta data styling and layout issues on templates.

= 5.7.0 - 13/06/2025 =
* Fix - Issue where variation item meta (such as size and color) was not appearing on invoices due to changes in the latest WooCommerce update v9.9.0.

= 5.6.0 - 27/05/2025 =
* Fix - Invoice numbers were not generated in ascending order based on the order ID.
* Fix - Added wcdn_invoice_order_total_label filter to allow "Total" and "Subtotal" labels in the default invoice template.
* Fix - Compatibility issue with the Sales By State plugin, causing a critical error when printing the invoice template.
* Fix - Function name conflict by adding a wcdn prefix to all plugin functions, preventing issues like PHP Fatal error: Cannot redeclare function get_product_name().
* Tweak - Updated for compatibility with WordPress 6.8.1.
* Tweak - Updated for compatibility with WooCommerce 9.8.5.

= 5.5.0 - (04.03.2025) =
* Fix- Issue where bulk printing was being initiated multiple times. Added a popup for bulk action selection and a print button to open the print window in a new tab.
* Fix- Added the 'allow_user_email_order_access' filter to allow non-logged-in users to access the Print link in emails.
* Fix- Fixed broken logo issue in the Simple template of the plugin.
* Fix- Security vulnerability by preventing direct access to PDF files and adding unique keys to PDF filenames.
* Fix- PHP fatal error: "Uncaught Error: Call to a member function get_meta() on bool" when the invoice number was missing on the edit order page.

= 5.4.1 - (18.12.2024) =
* Fix- Vulnerability in the 'wcdn_remove_shoplogo' AJAX action by adding proper capability checks. This ensures that only authorized users can modify the shop logo.

= 5.4.0 - (05.12.2024) =
* Fix- Resolved an issue preventing guest users from viewing the invoice via the Print button on the order received page and the print link in the order email.
* Fix- Added a notice for logged-out users to log in when attempting to access invoices via a direct link or Print link in the order email.

= 5.3.0 - (21.11.2024) =
* Fix - Anyone could view customer invoices by simply visiting the URL in the format sent in the email.
* Fix - PHP Notice: Trying to access array offset on value of type bool.
* Fix - A slash was added before single quotes in the Shop address field after saving setting.
* Tweak - Started loading the external resources(js, css, images) from the plugin itself instead of external URLs.
* Tweak - Removed the call to our tracking server to fetch the deactivation reasons and added them in the plugin itself.

= 5.2.0 - (22.10.2024) =
* Enhancement - Added the 'wcdn_show_print_button_for_order_status' filter to control the visibility of the print button on the My Account page based on order status.
* Fix - Deactivation survey request was being sent even though 'Skip & deactivate' was selected while deactivating the plugin.
* Fix - Invoice, receipt, and delivery notes buttons not appearing on the order edit page.
* Fix - Refunded products not being removed from the invoice, receipt, and delivery notes.
* Fix - FAQ page incorrectly appearing in the Dashboard menu.
* Fix - Resolved admin.js loading error on order edit and listing pages.
* Fix - Conflict with the Conditional Checkout Fields for WooCommerce plugin, where it was not allowing to add or edit conditional checkout fields.
* Fix - Strings that have not been translation ready.

= 5.1.0 (02.07.2024) =
* Fix- Fixed an error in the debug log when the "Numbering" option is disabled.
* Fix- Fixed a critical error on the invoice with the Woo Donations plugin to ensure compatibility.
* Fix- Fixed the PDF font size for the default template.
* Fix- Added new hook 'wcdn_head_pdf' to apply css to PDF.
* Fix- Fixed the issue where printing orders in bulk did not separate individual orders onto separate pages.
* Fix- Added a meta name of robots content noindex in the templates.

= 5.0.2 (12.06.2024) =
* Fix - HTML tags are not functioning properly on the invoice.
* Fix - Fatal error while placing the order, due to conflic with PDF Invoices & Packing Slips for WooCommerce plugin.

= 5.0.1 (07.06.2024) =
* Fix - Logo was getting printed twice after v5.0 update.
* Fix - Bulk Action Print Invoice issue.

= 5.0.0 (05.06.2024) =
This release contains a major update for the plugin, focusing primarily on the all-new backend user interface, along with several bug fixes.

Major Updates:

* Changed the UI of plugin settings page.
* Added a setting for template type, and now customize your template with different settings.
* Added a template setting page to customize the template.
* Added live preview for customization of the template.
* Added size setting for the company logo.
* Added setting To store PDF files for a specific duration.
* Added email attachment with template PDF files.
* Added Invoice menu in the WooCommerce menu.

Bug fixes :

* Fix - Bulk printing being initiated multiple times
* Fix - Translations for the print link in emails do not work

= 4.9.0 (27.02.2024) =
* Fix - Cross-site request forgery vulnerability in the plugin.
* Fix - Added a filter called 'wcdn_print_text_in_email' & 'wcdn_print_view_in_browser_text_in_email' for changing the "Print: Open print view in browser" text in email URL.
* Fix - Fatal Error on the edit order page.
* Fix - Additional product metadata is printed in the invoice.
* Fix - Added a filter called 'wcdn_address_billing' to the shipping address Title.
* Fix - Incorrect order date in the invoice.

= 4.8.1 (10.10.2023) =
* Fix - Same invoice number & invoice date was displayed on all invoices and the counter was not being increased.
* Fix - Error Notice was displayed on the settings page with PHP 8.2.

= 4.8.0 (04.10.2023) =
* Enhancement - Compatibility With WooCommerce High Performance Order Storage (HPOS)
* Fix - Fatal error was displayed in the Invoice with WooCommerce Product Add-ons plugin.

= 4.7.3 (21.03.2023) =
* Fix - Cross-Site Request Forgery vulnerability in the plugin.

= 4.7.2 (02.02.2023) =
* Fix - Fixed a Reflected XSS vulnerability in the plugin.
* Fix - Fixed a fatal error which occurs when plugins apart from ours are customizing the Bulk Actions on the WooCommerce Orders page.

= 4.7.1 (07.12.2022) =
* Fix :- Fix :- Removed the labels for shipping and billing address. This was added in 4.7.0, which is now reverted back.

= 4.7.0 (06.12.2022) =
* Fix :- Logo was not showing on Android phone earlier. This is fixed now.
* Fix :- Display labels for shipping and billing address
* Fix :- Removed redundant "Refund" line. 
* Fix :- Compatibility with WooCommerce Product Addons plugin. All the fields from the plugin will be shown in the Invoice, Receipt & Delivery Note.

= 4.6.5 (08.02.2022) =
* Enhancement :- Added an option to print the invoice text in Right to Left direction.
* Enhancement :- Added a filter called 'wcdn_product_meta_data' to remove the meta fields of the product in the invoice.
* Fix :- Quantity column was showing wrong total in the print invoice on the frontend when the invoice contains WooCommerce Composite products.
* Fix :- Extra tabs were added in the bulk action print link.
* Fix :- When using the file field in the WooCommerce Product Addons plugin whole path was getting printed instead of the filename.
* Fix :- The invoice number was not appearing when we open the invoice from the Order email sent to the customer.
* Fix :- Debug log errors are been fixed.

= 4.6.4 (21.07.2021) =
* Fix :- After updating to v4.6.3 , fatal error was coming in some sites where the invoice template has been customized by copying print-content.php file in the theme folder. This is fixed now.

= 4.6.3 (19.07.2021) =
* Fix :- Fixed the errors coming with PHP 8.
* Fix :- Shipping address was not printed in invoice when the order is created manually. This is fixed now.
* Fix :- When printing receipts, the number of downloaded files is displayed as "%s files". This is fixed now. Props to @inc2734 for the PR.
* Dev :- Translated the plugin in Korean language. Props to @shga89 for the PR.

= 4.6.2 (11.12.2020) =

Enhancement :- Added an option to insert the print link in the admin emails.
Fix :- Strings of Bulk Printing options were not getting translated. This is fixed now. Props to @pomegranate
Fix :- Finnish language locale name was incorrect. This is fixed now.
Fix :- Custom fields on WooCommerce product page from Product Input Fields for WooCommerce plugin were not coming in the invoice. This is fixed now.
Fix :- The BULK printing options of WooCommerce DYMO Print (PRO version) stopped working after installing our Print invoices plugin. This has been fixed. Props to @pepbc
Tweak :- In FAQ page changed the code snippet to add the products image in the invoice.

= 4.6.1 (23.10.2020) =

* Fix :- Tracker cron event was not running properly which is fixed now.
* Dev :- With the help of filters now able to change the name of the print invoice and delivery notes in the dropdown menu on Orders page.

= 4.6.0 (22.09.2020) =

* Fix :- Notice was coming since WooCommerce V4.4.0 which is fixed now.
* Fix :- Bulk printing function was using old hooks & filters.Have changed them with the new ones.
* Dev :- Now the Total number of quantity of the products in the row of quantity in invoice will be shown.
* Dev :- With the help of filter now one can hide the child products in Composite Products.
* Dev :- Translated the plugin in Greek language. Props to @edeuter for the PR.

= Minimum Requirements: WooCommerce 3.0 =

= 4.5.5 (12.03.2020) =

* Changed the plugin name to 'Print Invoice & Delivery Notes for WooCommerce'

= 4.5.4 (11.03.2020) =

* Compatibility with WooCommerce v4.0.0

= 4.5.3 (26.09.2019) =

* The plugin now allows 3rd party code to add order item data on the print-content.php template. Props to @doozy for the PR.

= 4.5.2 (23.08.2019) =

* Fixed the issue of Print buttons not working on sites with PHP versions below 7.0.

= 4.5.1 (21.08.2019) =

* Fixed the issue of Print buttons not showing up on Order details page after the 4.4.9 update.

= 4.5.0 (21.08.2019) =

* Added a missing file from v4.4.9.

= 4.4.9 (21.08.2019) =

* Made the plugin code compliant with WPCS coding standards
* Added filter wcdn_theme_print_button_template_type_arbitrary - this filter hook allows to change template type based on order status
* Added filters wcdn_print_button_name_on_my_account_page, wcdn_print_button_name_order_page - these filter hooks allows to change the label of the Print button
* When plugin is uninstalled, data cleanup wasn't happening. This has been fixed.

= 4.4.8 (02.04.2019) =

* Fix - When a noticed was dismissed from the plugin, then it will dismiss all other notices from other plugins also. This is fixed now. 
* Fix - Some errors in debug.log file are fixed. 

= 4.4.7 (24.11.2018) =

* Fix – Fixed compatibility related issue with WooCommerce Product Add-ons v3.0.x. Options were not being printed.
* Fix – Fixed compatibility related issue with Woocommerce Partial Orders Pro Plugin.

= 4.4.6 (22.10.2018) =

* .po, .mo is updated for all the other languages.

= 4.4.5 (22.10.2018) =

* .pot file updated.

= 4.4.4 (13.10.2018) =

* Removed the Welcome page of the plugin and also removed the promotional notices which were being displayed on admin end of the WordPress website.

= 4.4.3 (23.07.2018) =

* Usage Tracking has been added in the plugin. It provides an option to allow  tracking of the non-sensitive data of our plugin from the website. You can read more about it [here](https://www.tychesoftwares.com/docs/docs/woocommerce-print-invoice-delivery-note/usage-tracking/).

= 4.4.2 (22.02.2018) =

* Fix - With the latest WooCommerce version 3.3, the icons for Print were missing. This is fixed.

= 4.4.1 (29.12.2017) =

* This version has 1 bug fix.

* Fix - PHP short tag was inadvertently added in the plugin in v4.4, which was causing an error. This has been fixed.

= 4.4 (29.12.2017) =

* This version has 1 bug fix.

* Fix - Earlier with WooCommerce Local Pickup Plus v2.x.x, pickup locations were not displayed on the invoices, delivery notes & receipts. Now, the plugin is compatible with it and it will display the pickup locations. 

* Code Enhancement - Now, the plugin has the uninstall file for deleting the plugin options.

= 4.3.6 (19.12.2017) =

* Added translation for the word 'Price' for dutch language
* Removed Pro version link that was not going anywhere

= 4.3.5 (14.11.2017) =

* Fix issue of invoice date label not appearing translated

= 4.3.4.1 (07.11.2017) =

* Updating missing .mo files for Japanese and Norwegian.

= 4.3.4 (26.09.2017) =

* .po and .mo files for Japanese and Norwegian language is added in the plugin. The plugin strings can now be translated to this languages using these files.

= 4.3.3 (13.09.2017) =

* Fix - The unwanted attributes from products were getting displayed in the invoice.

* Fix - Notice of deprecated function get_item_downloads() in the invoice for downloadable products.

= 4.3.2 (05.09.2017) =

* In this version deprecated functions and classes have been removed. Because of that attributes were missing and attribute slug was getting printed on Invoice page. This has been fixed.

* Fix - There was no line break before SKU element for variable products on Invoice page. This has been fixed.

* Fix - The deprecated function WC_Order::get_order_currency has been removed and replaced with get_currency().

= 4.3.1 (23.08.2017) =

* This version has 1 bug fix.

* Fix - The attributes of variable product were not displayed with the variation name in the Print screen. This has been fixed.

= 4.3 (19.08.2017) =

* This version has 1 bug fix.

* Fix - Warnings were displayed on My Account, Checkout, Orders page with WooCommerce version 3.0.x. This has been fixed.

= 4.2.0 =

* Tweak - Refactored settings screen
* Fix - Compatibility with latest WooCommerce
* Fix - Print preview loading indicators
* Fix - Icon font embed
* Dev - Load only one instance of the plugin (singleton class)
* Dev - New settings hooks that work better with WooCommerce

= 4.1.6 =

* Fix - More flexible protocol checks of email permalinks

= 4.1.5 =

* Fix - Check protocol of email permalinks
* Fix - Show preview links on the settings page
* Fix - Consistent privileges for users with admin access

= 4.1.4 =

* Fix - Double check the bulk action type to improve bulk order deletion
* Fix - Default arguments for the E-Mail hook

= 4.1.3 =

* Feature - Better support for WooCommerce 2.3 refunds

= 4.1.2 =

* Fix - For a fatal error caused by an unknown property in the plugin update system
* Fix - Where the 'Types' options didn't stick in some cases

= 4.1.1 =

* Fix - For a fatal error caused by an unknown property in the plugin update system

= 4.1 =

* Feature - Support for WooCommerce 2.2 refunds 
* Feature - Option to add a print link to customer emails
* Tweak - Code improvements and some new hooks

= 4.0.2 =

* Tweak - Second attempt for better spacing between price columns

= 4.0.1 =

* Tweak - Better spacing between price columns

= 4.0 =

* The print page now also includes the item price
* Customize titles with your own translation file (woocommerce-delivery-notes-xx_XX.mo). Place it in /wp-content/languages/plugins to override the plugin language. 

= 3.4.2 =

* Remove some left over developer comments from the print page

= 3.4.1 =

* Fix an issue where a blank page was printed in WooCommerce 2.1

= 3.4 =

**Note: The template was modified. Please check your print-content.php if you copied it to your theme directory.**

* Improved WooCommerce 2.2 compatibility
* Fix an issue were shipping and billing addresses did not respect the WooCommerce settings
* Better way to reset the invoice number counter

= 3.3.1 =

* Small code improvements

= 3.3 =

* WordPress 4.0 and WooCommerce 2.2 compatibility
* Fix an issue where the print buttons were hidden after the update

= 3.2.3 =

* WordPress 4.0 and WooCommerce 2.2 compatibility
* Template: Improved the CSS to generate less blank pages
* Fixed the settings link on the Plugins page

= 3.2.2 =

* Some language upadates. Old outdated languages were removed. Please [contribute your language](https://github.com/piffpaffpuff/woocommerce-delivery-notes#translating)!
* Fix a print issue with not completed orders.
* Tweaked JavaScript for the theme print button to gracefully handle non-modern browsers.

= 3.2.1 =

* New template function for the invoice date 
* Fix invoice number display logic 
* Fix slashes in the options fields

= 3.2 =

* Improved theme print button: Print the invoice only for completed orders and a receipt for all other order states. This can be changed via 'wcdn_theme_print_button_template_type' filter hook.
* Fix the print button on the "Thank You" page for guest checkouts
* Added CSS classes to the admin side panel

= 3.1.1 =

* Fix the hidden loading indicator on order edit screen
* Other small visual optimizations
* Later plugin load hook for better compatibility

= 3.1 =

**Note: Template changes had to be made. Please control your template after the update in case you applied some custom styling.**

* By popular demand the 'Quantity' column is back in the template
* Basic invoice numbering

= 3.0.6 =

* Fixed the known issue where the print button stopped working becuse of SSL
* Fixed an issue where the print page was redirected to the account page 

= 3.0.5 =

**Known issue: Printing won't work when your account uses SSL and the rest of the page doesn't. The issue will be fixed in a future version.**

* Added SKU to the template
* Modified the alignment of product attributes in the template
* Print buttons in the theme will print the invoice (can be changed with hook) 

= 3.0.4 =

* Save the endpoint at activation to not print a 404 page. (Note: Try to resave the print settings if the issue persists after the update.)

= 3.0.3 =

**Attention: This update works only with WooCommerce 2.1 (or later) and Wordpress 3.8 (or later). Install it only if your system meets the requirements.**

* Supports only WooCommerce 2.1 (or later)
* Bulk print actions
* Print buttons in the front-end
* Redesigned template look
* New template structure and action hooks

== Upgrade Notice ==

= 7.0.0 =

7.0.0 is a complete overhaul of the plugin with a new React-based admin interface and restructured codebase. Settings and invoice counters are migrated automatically from previous versions.

= 4.2.0 =

4.2.0 requires at least WooCommerce 2.2.

= 4.1.5 =

4.1.5 requires at least WooCommerce 2.2.
