Doc-section

All filters below are optional; the plugin has sensible defaults or renders nothing if a filter that controls optional content isn’t hooked.

lh_woocommerce_pdf_invoicing_init_plugin

Controls whether the plugin initialises. Return false to disable.

add_filter( 'lh_woocommerce_pdf_invoicing_init_plugin', '__return_false' );

lh_woocommerce_pdf_invoicing_invoice_filename

Override the downloaded filename.

add_filter( 'lh_woocommerce_pdf_invoicing_invoice_filename', function ( $filename, $order ) {
    return 'my-invoice-' . $order->get_order_number() . '.pdf';
}, 10, 2 );

lh_woocommerce_pdf_invoicing_template_path

Override the invoice HTML template path.

add_filter( 'lh_woocommerce_pdf_invoicing_template_path', function ( $path ) {
    return get_stylesheet_directory() . '/invoice-template.php';
} );

lh_woocommerce_pdf_invoicing_paper_size

Override the paper size (default A4).

add_filter( 'lh_woocommerce_pdf_invoicing_paper_size', fn() => 'letter' );

lh_woocommerce_pdf_invoicing_paper_orientation

Override the paper orientation (default portrait).

add_filter( 'lh_woocommerce_pdf_invoicing_paper_orientation', fn() => 'landscape' );

lh_woocommerce_pdf_invoicing_dompdf_remote_enabled

Control whether DOMPDF fetches remote images (default true).

add_filter( 'lh_woocommerce_pdf_invoicing_dompdf_remote_enabled', '__return_false' );

lh_woocommerce_pdf_invoicing_logo_url

Override the logo image URL used in the invoice header. Defaults to the site’s custom_logo theme mod.

add_filter( 'lh_woocommerce_pdf_invoicing_logo_url', function ( $url ) {
    return 'https://example.com/my-logo.png';
} );

lh_woocommerce_pdf_invoicing_company_number / _company_number_label

Return an organisation/company registration number to display in the order details table (empty by default — nothing renders if not hooked), plus its label (default Company Number).

add_filter( 'lh_woocommerce_pdf_invoicing_company_number', fn() => 'A12345' );
add_filter( 'lh_woocommerce_pdf_invoicing_company_number_label', fn() => 'Association Number' );

lh_woocommerce_pdf_invoicing_vat_number / _vat_number_label

Return a VAT/ABN/tax number to display in the order details table (empty by default), plus its label (default ABN).

add_filter( 'lh_woocommerce_pdf_invoicing_vat_number', fn() => '12 345 678 901' );
add_filter( 'lh_woocommerce_pdf_invoicing_vat_number_label', fn() => 'ABN' );

lh_woocommerce_pdf_invoicing_bank_details_html

Override or suppress the bank details block shown on unpaid orders. Auto-populated from WooCommerce BACS settings if available. Return an empty string to suppress.

add_filter( 'lh_woocommerce_pdf_invoicing_bank_details_html', function ( $html, $order ) {
    return '<h2>Pay Us</h2><p>BSB: 000-000 Account: 12345678</p>';
}, 10, 2 );

lh_woocommerce_pdf_invoicing_disclaimer

Return a disclaimer string to display at the bottom of the invoice, above the footer (empty by default).

add_filter( 'lh_woocommerce_pdf_invoicing_disclaimer', fn() => 'Princes Park Touch is an incorporated association registered in Victoria. It is not registered for GST.' );