Screenshots
Details
Download invoices from
- Download from PDF from WooCommerce emails
- Download the PDF invoice / packing slip from the order admin page
- Download invoices from the My Account page
Customizable WooCommerce Invoice Templates
- Include a custom header or logo choice, as well as different layout fields.
- Templates based on HTML/CSS are available for comprehensive control and customization of PDF output.
- Use Theme to override the templates
Sequential invoice numbers
WooCommerce orders are automatically numbered using the WordPress post ( posts, pages, images, orders, coupons, products) numbering system. This can cause problems with tax officials because they demand sequential invoice numbers. You can add sequential order numbers with custom formatting using PDF Invoices & Packing Slips for WooCommerce.
Display Order Number as Invoice Number
Go to WooCommerce > PDF Invoices > Documents > Invoice and set “Order number” in Display invoice number.
Action Hooks
Hook | Position | Arguments |
---|---|---|
wpo_wcpdf_before_document | Before all content on the document | $document_type, $order |
wpo_wcpdf_after_document | After all content on the document (after the footer) | $document_type, $order |
wpo_wcpdf_before_shop_name | Before the shop name | $document_type, $order |
wpo_wcpdf_after_shop_name | After the shop name | $document_type, $order |
wpo_wcpdf_before_shop_address | Before the shop address | $document_type, $order |
wpo_wcpdf_after_shop_address | After the shop address | $document_type, $order |
wpo_wcpdf_before_document_label | Before the document label (Invoice, Packing Slip, etc.) | $document_type, $order |
wpo_wcpdf_after_document_label | After the document label (Invoice, Packing Slip, etc.) | $document_type, $order |
wpo_wcpdf_before_billing_address | Before the billing address | $document_type, $order |
wpo_wcpdf_after_billing_address | After the billing address | $document_type, $order |
wpo_wcpdf_before_shipping_address | Before the shipping address | $document_type, $order |
wpo_wcpdf_after_shipping_address | After the shipping address | $document_type, $order |
wpo_wcpdf_before_order_data | Before the order data (invoice number, order date, etc.) note that this is inside a table, and you should output the data as an html table row/cells | $document_type, $order |
wpo_wcpdf_after_order_data | After the order data note that this is inside a table, and you should output the data as an html table row/cells | $document_type, $order |
wpo_wcpdf_before_order_details | Before the order details table with all items | $document_type, $order |
wpo_wcpdf_after_order_details | After the order details table | $document_type, $order |
wpo_wcpdf_before_item_meta | Before the item meta (for each item in the order details table) | $document_type, $item, $order |
wpo_wcpdf_after_item_meta | After the item meta (for each item in the order details table) | $document_type, $item, $order |
wpo_wcpdf_before_document_notes | Before the document notes (left of the order totals). Note that this is only available on the invoice. | $document_type, $order |
wpo_wcpdf_after_document_notes | After the document notes (left of the order totals). Note that this is only available on the invoice. | $document_type, $order |
wpo_wcpdf_before_customer_notes | Before the customer/shipping notes (left of the order totals) | $document_type, $order |
wpo_wcpdf_after_customer_notes | After the customer/shipping notes (left of the order totals) | $document_type, $order |
wpo_wcpdf_before_footer | Before the footer | $document_type, $order |
wpo_wcpdf_after_footer | After the footer | $document_type, $order |
Filter Hooks
Hook | Description | Arguments |
---|---|---|
wpo_wcpdf_listing_actions | Filter PDF orders listing actions | array $listing_actions, object $order |
wpo_wcpdf_meta_box_actions | Filter meta box actions in single order page | array $meta_box_actions, int $post_id |
wpo_wcpdf_bulk_actions | Filter bulk actions | array $actions |
wpo_wcpdf_document_classes | Filter document classes – used in admin to load settings | array $documents |
wpo_wcpdf_myaccount_allowed_order_statuses | Filter allowed order status | array $order_status |
wpo_wcpdf_myaccount_button_text | Filter my account button text | string $button_text, object $invoice |
wpo_wcpdf_myaccount_actions | Filter my account actions | array $actions, object $order |
wpo_wcpdf_email_attachment_order | Filter email attachment order | object $order, object $email, string $document_type |
wpo_wcpdf_lock_attachment_file | Filter lock attachment file – default true | bool |
wpo_wcpdf_reuse_attachment_age | Filter reuse temp file age – default 60 (seconds) | int |
wpo_wcpdf_attachment_locked_file_delay | Filter optional delay (ms) to double check if the write process is finished – default 250 ms | int |
wpo_wcpdf_attach_documents | Filter attach documents for email | array $attach_documents |
wpo_wcpdf_custom_attachment_condition | Filter custom attachment condition | bool = true, object $order, string $email_id, string $document_type |
wpo_wcpdf_document_types_for_email | Filter document types for email | array $document_types, int $email_id, object $order |
wpo_wcpdf_check_privs | Filter user privileges check | bool $allowed, array $order_ids |
wpo_wcpdf_tmp_path | Filter PDF temp folder | bool|string $tmp_base |
wpo_wcpdf_before_dompdf_render | Filter before DOMPDF render | object $dompdf, string $html |
wpo_wcpdf_after_dompdf_render | Filter after DOMPDF render | object $dompdf, string $html |
wpo_wcpdf_validate_input | Filter settings validate options | array $output, array $input |
wpo_wcpdf_settings_fields_debug | Filter settings fields | array $settings_fields, string $page, string $options_group, string $options_name |
wpo_wcpdf_template_settings_paper_size | Filter template paper size setting | array $paper_size |
wpo_wcpdf_settings_fields_general | Filter settings fields | array $settings_fields, string $page, string $options_group, string $options_name |
wpo_wcpdf_template_paths | Filter template paths | array $template_paths |
wpo_wcpdf_templates | Filter templates | array $installed_templates |
wpo_wcpdf_settings_tabs | Filter settings tabs | array $settings_tabs |
wpo_wcpdf_output_format | Filter output format per document type | string $output_format, string $document_type |
wpo_wcpdf_process_order_ids | Filter order ids | array $order_ids, string $document_type |
wpo_wcpdf_pdf_maker | Filter to change the PDF class (which can wrap another PDF library) | string $pdf_maker |
wcpdf_disable_deprecation_notices | Filter to disable deprecation notices during email sending – default false | bool |
wcpdf_log_stacktrace | Filter to enable/disable log stack trace – default false | bool |
wpo_wcpdf_address_comparison_fields | Filter address fields for billing and shipping address comparison | array $address_fields |
wpo_wcpdf_ships_to_different_address | Billing and shipping addresses are equal, filter to ship to different address | bool false, object $order, object $order_document |
wpo_wcpdf_billing_address | Filter billing address | string $billing_address, object $order_document |
wpo_wcpdf_billing_email | Filter billing email | string $billing_email, object $order_document |
wpo_wcpdf_billing_phone | Filter billing phone | string $billing_phone, object $order_document |
wpo_wcpdf_shipping_address | Filter shipping address | string $shipping_address, object $order_document |
wpo_wcpdf_shipping_address_fallback | Filter shipping address to use fallback if no address – default ‘packing-slip’ | string $document_type, object $order_document |
wpo_wcpdf_billing_custom_field | Filter billing custom field | string $custom_field, object $order_document |
wpo_wcpdf_date | Filter current date | string $date, object $order_document |
wpo_wcpdf_payment_method | Filter payment method | string $payment_method, object $order_document |
wpo_wcpdf_shipping_method | Filter shipping method | string $shipping_method, object $order_document |
wpo_wcpdf_order_number | Filter order number | string $order_number, object $order_document |
wpo_wcpdf_order_date | Filter order date | string $date, string $mysql_date, object $order_document |
wpo_wcpdf_order_item_data | Filter order item data | array $data, object $order, string $document_type |
wpo_wcpdf_order_items_data | Filter order items data | array $data_list, object $order, string $document_type |
wpo_wcpdf_calculate_tax_rate | Filter to enable tax rate calculation – default false | bool |
wpo_wcpdf_calculate_tax_rate_precision | Filter tax rate calculation precision | int|bool |
wpo_wcpdf_thumbnail_size | Filter thumbnail size | string $thumbnail_size |
wpo_wcpdf_use_path | Filter use path | bool |
wpo_wcpdf_raw_order_totals | Filter raw order totals | array $order_item_totals, object $order |
wpo_wcpdf_woocommerce_totals | Filter WooCommerce totals | array $totals, object $order, string $document_type |
wpo_wcpdf_order_subtotal | Filter order subtotal | array $subtotal, string $tax, string $discount, object $order_document |
wpo_wcpdf_order_shipping | Filter order shipping | array $shipping, string $tax, object $order_document |
wpo_wcpdf_order_discount | Filter order discount | array $discount, string $type, string $tax, object $order_document |
wpo_wcpdf_order_taxes | Filter order taxes | array $taxes, object $order_document |
wpo_wcpdf_order_grand_total | Filter order grand total | array $grand_total, string $tax, object $order_document |
wpo_wcpdf_shipping_notes | Filter shipping notes | string $shipping_notes, object $order_document |
wpo_wcpdf_date_format | Filter date format | string $date_format, object $order_document |
wpo_wcpdf_document_use_historical_settings | Filter to use historical settings | bool $use_historical_settings, object $order_document |
wpo_wcpdf_document_store_settings | Filter to use store document settings | bool, object $order_document |
wpo_wcpdf_non_historical_settings | Filter non historical settings | array $non_historical_settings |
wpo_wcpdf_document_is_enabled | Filter if document is enable | bool $enabled, string $document_type |
wpo_wcpdf_delete_document_data_keys | Filter data to remove from document by data keys | array $document_data_keys |
wpo_wcpdf_document_is_allowed | Filter for global prevention of creating specific document | bool $allowed, object $order_document |
wpo_wcpdf_{$document_slug}_title | Filter document title | string $title, object $order_document |
wpo_wcpdf_document_number_settings | Filter document number settings | array $number_settings, object $order_document |
wpo_wcpdf_template_styles_file | Filter templates styles file | string $template_styles_file |
wpo_wcpdf_template_styles | Filter templates styles | string|bool $css, object $order_document |
wpo_wcpdf_header_logo_id | Filter header logo id | string $header_logo, object $order_document |
wpo_wcpdf_header_logo_img_element | Filter header logo img element | string $img_element, string $attachment, object $order_document |
wpo_wcpdf_{$settings_key} | Filter settings text by key (legacy) | string $text, object $order_document |
wpo_wcpdf_{$settings_key}_settings_text | Filter settings text by key | string $text, object $order_document |
wpo_wcpdf_load_pdf_file_path | Allow loading of existing PDF file instead of generating on the fly. | string $path, object $order_document |
wpo_wcpdf_paper_format | Filter document paper format. | string $paper_format, string $document_type, object $order_document |
wpo_wcpdf_paper_orientation | Filter document paper orientation. | string $paper_orientation, string $document_type, object $order_document |
wpo_wcpdf_get_pdf | Filter to get a PDF document. | string $pdf, object $order_document |
wpo_wcpdf_get_html | Filter document HTML. | string $html, object $order_document |
wpo_wcpdf_filename | Filter document filename. | string $filename, string $document_type, array $order_ids, string $context |
wpo_wcpdf_template_file | Filter document template file. | string $file_path, string $document_type, object $order |
wpo_wcpdf_wc_emails | Filter WooCommerce emails. | array $emails |
wpo_wcpdf_merged_bulk_document_content | Filter merged bulk document content. | string $html, string $html_content, object $bulk_document |
wpo_wcpdf_raw_document_number | Filter the raw document number. | int $number, array $settings, object $document, object $order |
wpo_wcpdf_formatted_document_number | Filter the formatted document number. | string $formatted_number, object $document_number, string $document_type, int $order_id |
wpo_wcpdf_format_document_number | Filter on formating the document number. | string $formatted_number, object $document_number, object $document, object $order |
wpo_wcpdf_external_invoice_number_enabled | Filter to enable third-party generated invoice number. | bool, object $document_invoice |
wpo_wcpdf_external_invoice_number | Filter the third-party generated invoice number. | string $invoice_number, object $document_invoice |
wpo_wcpdf_document_sequential_number_store | Filter the document sequential number store. | string $number_store, object $document_invoice |
wpo_wcpdf_settings_fields_documents_invoice | Filter to alter invoice documents settings fields. | array $settings_fields, string $page, string $options_group, string $options_name |
wpo_wcpdf_settings_fields_documents_packing_slip | Filter to alter packing slip documents settings fields. | array $settings_fields, string $page, string $option_group, string $option_name |
wpo_wcpdf_number_store_table_name | Filter the number store table name. | string $table_name, string $store_name, string $method |
wpo_wcpdf_invoice_number | Filter the invoice number. | string $invoice_number, string $order_number, int $order_id, string $mysql_order_date |
wpo_wcpdf_invoice_title | Filter the invoice title. | string $title |
wpo_wcpdf_packing_slip_title | Filter the packing slip title. | string $title |
wpo_wcpdf_template_name | Filter the template name. | string $template_name, string $template_type |
wpo_wcpdf_item_row_class | Filter the document item row class. | int $item_id, string $document_type, object $order, int $item_id |
Unique things you can do with PDF Invoices & Packing Slips for WooCommerce
Automatically attach invoice
Download the PDF invoice / packing slip
Bulk invoice generation
Sequential invoice numbers
Pricing
Ratings
Plugin Support
About Plugin
Developer:
WP Overnight
Version:
3.5.6
Last Updated:
4 months ago
Launched:
9 years 10 months ago
Website:
Link