Table of Contents
Default view #
The default view of the address fields and order data on the Simple or Simple-Premium template is as shown in the screenshot below.
From left to right, the default order of appearance is:
- Billing address (in red),
- Shipping address (in green),
- Order data (in blue).

Option 1: Flip the billing and shipping addresses #
Reading the results from left to right:
- Shipping address,
- Billing address,
- Order data.

Code snippet:
<?php /** * Swap billing address for shipping address (and vice versa) */ add_action( 'wpo_wcpdf_before_html', 'wpo_wcpdf_swap_billing_shipping', 10, 2 ); function wpo_wcpdf_swap_billing_shipping( $document_type, $document ) { if ($document_type == 'invoice') { add_filter( 'wpo_wcpdf_shipping_address', function( $shipping_address, $invoice ) { return $invoice->order->get_formatted_billing_address(); }, 10, 2 ); add_filter( 'wpo_wcpdf_billing_address', function( $billing_address, $invoice ) { return $invoice->order->get_formatted_shipping_address(); }, 10, 2 ); add_filter( 'gettext', function( $translation, $text, $domain ) { if ( $text == 'Ship To:' && $domain == 'woocommerce-pdf-invoices-packing-slips' ) { $translation = __( 'Billing Address:', 'woocommerce-pdf-invoices-packing-slips' ); } return $translation; }, 10, 3 ); } }
If you have not used code snippets before, read this article.
Option 2: Flip the order of the addresses and order data #
This method flip the whole row; resulting in a visual flip of the positions of the billing address and the order data. The shipping address will still appear in the middle.
Reading the results from left to right:
- Order data,
- Shipping address,
- Billing address.

The CSS styling code:
.order-data-addresses, .order-data-addresses > tr, .order-data-addresses > tr > td, .order-data-addresses > tbody, .order-data-addresses > tbody > tr, .order-data-addresses > tbody > tr > td { display: block; } .order-data-addresses { padding-bottom: 8mm; } .order-data-addresses td.order-data { width: 40%; } .order-data-addresses td.shipping-address { float: right; width: 30%; } .order-data-addresses td.billing-address { float: right; width: 30%; }
- If you have access to the PDF Customizer, paste this code at WooCommerce > PDF Invoices > Customizer > Custom Styles.

- If you do not own the PDF Customizer, paste the code at Appearance > Customize > Additional CSS.
- Some themes provide a specific way to add custom CSS to your site.
Option 3: Combine options 1 and 2 #
This simply requires following the instructions from options 1 and 2 above and will produce its own result.
Reading the results from left to right:
- Order data,
- Billing address,
- Shipping address.
