Hi,
I wanted to theme invoices with more flexibility than the Notify > Checkout settings form provides. (Basically, I wanted to tweak the default, but still have access to the PHP variables set by uc_order_load_invoice).
I think an easy way to achieve this might be to let users override the default "customer.itpl.php" file by placing their own version in their theme directory.
This code seems to work well (line 2874 in uc_order.module):
//Try the override template first
$theme_directory_name = path_to_theme();
$file = $theme_directory_name . '/' . $template .'.itpl.php';
//If override file doesn't exit, get the default
if (!file_exists($file)) {
$file = drupal_get_path('module', 'uc_order') .'/templates/'. $template .'.itpl.php';
}I still have one problem that I haven't found an easy fix for: hiding the shipping address on the invoice/email when no shippable products or in the invoice. Currently it shows up as just the state and zip code, which looks rather strange.
Hope this helps...and I would welcome other ideas...

