Lightweight PDF Invoices & Packing Slips Generator for WooCommerce
Automatically generate PDF invoices and packing slips, attach invoices to order emails and download them from the order screen: fast, lightweight, no SaaS subscription.
Learn how to customize WooCommerce emails: which emails exist, where to edit them, how to override templates in a child theme, why emails reach spam, and how to test Arabic and right-to-left layouts.
To customize WooCommerce emails, open WooCommerce > Settings > Emails. There you set the sender, logo, footer and colours shared by every email and, through Manage, the subject, heading, extra text and format of each one. Code in a child theme covers the rest. If emails land in spam, the fix is mostly outside WooCommerce: a sender address on your own domain and a properly authenticated sending service.
In short
An event such as a new order or a password reset triggers an email. WooCommerce fills a template and hands the message to WordPress's wp_mail() function, which by default uses your host's mail function. A mail server passes it to the recipient's provider, which checks who is sending it and chooses between inbox and spam.
WooCommerce's email troubleshooting guide says many missing emails come from the host's mail function or from delivery. Checked in October 2026 against WooCommerce 11.2; older versions may differ.
The email settings documentation lists these. Extensions, themes and newer features can add more, so your own Emails screen is the final list.
| Goes to | Sent when | |
|---|---|---|
| New order | Your recipients | An order is received |
| Cancelled order | Your recipients | An order is cancelled |
| Failed order | Your recipients, plus a customer copy | An order fails. The customer copy asks for another payment method |
| Order on-hold | Customer | An order goes on hold |
| Processing order | Customer | After payment |
| Completed order | Customer | The order is completed |
| Refunded order | Customer | A refund is made (separate partial and full settings) |
| Customer note | Customer | You add a Note to customer |
| Reset password | Customer | A reset is requested |
| New account | Customer | Someone signs up |
| Confirm email address | Customer | A one-time link confirms the account email |
Order Details is sent by hand from the Edit order screen with invoice details and a payment link, and cannot be disabled. Review request is a beta feature, with the feature and the email both off by default. The documentation does not say which other emails are on by default, so check each Enable box.
Set the From name and address, using an address on your site's domain, as the documentation recommends. Add 'Reply-to' email is off by default. Switched on, it changes only where replies go.
Email improvements, introduced in WooCommerce 9.8, are on by default for new stores according to the 9.8 release post. Older stores can switch them on at WooCommerce > Settings > Advanced > Features. With them on you can set a Logo, Logo width, Header alignment, Font family and Footer text (placeholders {site_title} and {site_url}), plus a Color palette: Sync with theme, Accent color, Email background, Content background, Heading & text and Secondary text. With them off, Logo width, Header alignment and Font family are shown as unavailable.
Select Manage. The fields are Enable/Disable, the recipients for emails to your team, Subject, Email heading, Additional content, Email type, and Cc and Bcc (hidden for Reset password, New account and Confirm email address). Subject and heading accept placeholders such as {site_title} and {order_number}. Additional content suits a thank-you line or a returns-policy link.
The Email Preview section shows a template on desktop or mobile, and Send a test email sends it to any address.
Settings cover most needs. For the rest, go in this order.
woocommerce_email_before_order_table and woocommerce_email_after_order_table./wp-content/plugins/woocommerce/templates/; changes there are lost on update. Copy the file into a woocommerce folder in your child theme, keeping the structure but dropping /templates/. The documentation's example copies emails/admin-new-order.php to wp-content/themes/storefront-child/woocommerce/emails/admin-new-order.php. The shared pieces are email-header.php, email-footer.php and email-styles.php (the CSS), and plain text versions sit in emails/plain/.An override is a frozen copy: core templates update but overrides do not, and System Status can warn that a copy is out of date, for example "version 3.5.0 is out of date. The core version is 3.7.0". Check the bottom of WooCommerce > Status > System Status after each update. The guide to fixing outdated templates says to back up your file, copy the current default from the plugin's templates folder and reapply your changes. There is no one-click fix. If you switch on Email improvements, preview overrides written for the old design first.
The receiving provider decides, so no setting can promise the inbox. You can remove the usual causes.
transactional-emails source. Each attempt is Sent, Failed (with a reason), Disabled or Skipped. Sent means handed over, not delivered.Password-reset and other WordPress emails are usually missing from that log, so use your SMTP provider's logs.
Transactional emails confirm what a customer did: orders, refunds, accounts and password resets. Marketing emails, such as newsletters and promotions, are another job. WooCommerce says their sender settings live in your email marketing platform, and Google asks bulk senders for one-click unsubscribe on them and advises against mixing promotions into sales receipts. Consent rules differ by country, so check yours. Abandoned-cart reminders sit between the two: see reducing cart abandonment.
Email type offers Plain Text, HTML or Multipart, which sends both and lets the mail app pick.
The core emails in the documentation have no PDF attachment setting, so invoice PDFs need a plugin. PDF Invoices & Packing Slips for WooCommerce on DevMarket generates PDFs on your server and attaches the invoice to the customer's Processing order and Completed order emails. Its page says Arabic script is not supported in this version and makes no e-invoicing claim: read it, and our VAT and invoices guide, first.
dir="rtl" on the email wrapper and the default styles flip alignment and spacing. Overrides and third-party email plugins may not.transactional-emails log and your SMTP provider's log, look in spam folders, and send one store email to a mail-testing service such as mail-tester.com, as WooCommerce's sender post suggests.Confirm one should be sent: orders in Pending payment trigger no email, and the email may be disabled. Then read the transactional-emails log. If it says Sent, check your host's mail function and SMTP setup.
Not for a logo, colours, footer text or subject lines. Deeper layout changes need overrides or a plugin.
Yes. The Email Preview section has a Send a test email option. Older versions may not show it.
Partly. Customer emails use the site language, but your own text, fonts and layouts still need a check.
If you are still building the store, start with how to set up WooCommerce, then follow how to build an Arabic WordPress website. You can browse WooCommerce plugins on DevMarket.
The software this guide talks about, ready to look at.
Automatically generate PDF invoices and packing slips, attach invoices to order emails and download them from the order screen: fast, lightweight, no SaaS subscription.
Fix the WordPress critical error and white screen of death calmly: back up, read the logs, find the cause by elimination, then handle database, 500, memory, maintenance mode, 404 and login errors.
9 min read
Choose a WordPress theme by testing, not by demo. Compare block and classic themes, sources, speed, accessibility, RTL support, WooCommerce, builder lock-in and licence terms on a staging copy.
9 min read
Use this WordPress maintenance checklist to plan weekly, monthly and yearly tasks: updates, backups, users, plugins, security, speed, PHP, domain and SSL, plus Site Health and WooCommerce checks.
9 min read
Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.