Wopisanje
Emboss – PDF Invoices and Packing Slips for WooCommerce generates clean, professional PDF documents for every order: invoices for unpaid orders, receipts with a PAID badge for completed orders, packing slips for fulfillment, and credit notes for refunds. Documents attach to WooCommerce emails automatically and customers can download them from My Account.
The plugin is easy to set up, free, lightweight, and built to feel native inside WooCommerce. Every dropdown, button, and notice uses WooCommerce and WordPress core styles. There is no premium tier, no upsell, and no third-party tracking.
Why this plugin
- Easy setup in 60 seconds. Activate, add a logo, and you’re done. Every setting is optional.
- Smart document type. Receipts show a PAID badge with payment date and method. Invoices show the amount due. Credit notes are auto-generated for refunds.
- Tax-compliant sequential numbering with database-level locking, so two orders placed at the same moment never share a number.
- HPOS native. Built for WooCommerce’s high-performance order storage from day one. No legacy
get_post_meta()calls on orders. - Block Checkout compatible.
- Lightweight footprint. One PDF library (DOMPDF), one bundled font (DejaVu Sans). No bloat.
- Native WooCommerce settings tab under WooCommerce > Settings > Invoices. Uses SelectWoo, the WP color picker, and the WordPress media library.
Documents generated
- Invoice for orders awaiting payment.
- Receipt with PAID badge for completed orders.
- Credit note for full or partial refunds.
- Packing slip for order fulfillment.
Where documents appear
- Attached to the customer Processing, Completed, and Refunded emails.
- Attached to the New Order email sent to the store admin.
- Available from the customer’s My Account > Orders screen.
- Available on the order received (Thank You) page, including for guest customers.
- Available from the WooCommerce admin order list and order detail screens.
Privacy
The plugin does not collect telemetry, does not phone home, and does not load assets from any CDN.
External services
One optional feature contacts an external service. It is disabled by default and only runs when the merchant opts in.
-
QR codes on packing slips (Branding settings > QR code on packing slips). When enabled, the plugin requests a QR code image from
https://api.qrserver.com/v1/create-qr-code/(the QR Server API) and embeds it inline in the packing slip. The encoded payload is the order edit URL. Each unique payload is cached locally for 12 hours so repeat printing of the same order does not call the API again. If the API is unreachable, the packing slip still prints — without the QR. Privacy policy and terms of service. -
Provider: Foundata GmbH (Germany)
- Terms of Service: goqr.me/de/rechtliches
- Privacy Policy: goqr.me/de/rechtliches/datenschutz-qrserver.html
The API is free and does not require registration.
If you do not want any external service contact, leave the QR setting off (the default).
Fota wobrazowki










Instalacija
- Upload the
emboss-pdf-invoices-for-woocommercefolder to/wp-content/plugins/, or install through Plugins > Add New. - Activate the plugin from the Plugins screen.
- Go to WooCommerce > Settings > Invoices and add your logo, company info, and tax number.
- Place a test order to confirm the PDF attaches to the email.
HSP
-
Does this plugin work with HPOS?
-
Yes. The plugin declares full compatibility with the WooCommerce custom order tables feature and uses WooCommerce CRUD methods exclusively.
-
Does it work with Block Checkout?
-
Yes. The plugin declares compatibility with the cart and checkout blocks.
-
Can I customize the document templates?
-
Yes. Copy the templates from
emboss-pdf-invoices-for-woocommerce/templates/intoyour-theme/emboss-pdf-invoices/and edit them. Template overrides survive plugin updates. -
Will my invoice numbers reset if I deactivate the plugin?
-
No. Numbering, generated PDFs, and order meta are kept by default. You can change this under WooCommerce > Settings > Invoices > Advanced.
-
Does it support RTL or CJK languages?
-
The bundled DejaVu Sans font covers Latin, Cyrillic, and Greek. Arabic, Hebrew, and CJK need a font that includes those glyphs; support for swapping the PDF engine is planned.
-
How do I attach a PDF invoice to WooCommerce emails?
-
Go to WooCommerce > Settings > Invoices > Emails and choose which order emails carry the PDF. Attachment is on by default for the New Order, Processing, On hold, Completed, and Refunded emails.
-
Can customers download their invoice from My Account?
-
Yes. My Account > Orders shows a download button on every eligible order, and the order details page has the same button.
-
Does it generate packing slips or delivery notes?
-
Yes. Packing slips are available from the order screen, the orders list, and as a bulk ZIP download. They carry no prices, just line items, SKUs, and weight.
-
Can I set the invoice number format?
-
Yes. WooCommerce > Settings > Invoices > Numbering lets you set a prefix, suffix, zero-padding, starting number, and date placeholders, with a live preview of the next number.
-
Does it work on nginx?
-
Yes. The plugin’s storage directory ships with an
.htaccessfile for Apache, which nginx ignores. Add this rule to your server block so generated PDFs stay behind the plugin’s own authorisation checks:location ~* /wp-content/uploads/emboss-pdf-invoices/ { deny all; }Replace
emboss-pdf-invoiceswith your Storage directory setting if you changed it.
Pohódnoćenja
Za tutón tykač pohódnoćenja njejsu.
Sobuskutkowarjo a wuwiwarjo
„Emboss – PDF Invoices and Packing Slips for WooCommerce“ je softwara wotewrjeneho žórła. Slědowacy ludźo su k tutomu tykačej přinošowali.
SobuskutkowarjoPřełožće „Emboss – PDF Invoices and Packing Slips for WooCommerce“ do swojeje rěče.
Na wuwiću zajimowany?
Přehladajće kod, hladajće do SVN-repozitorija abo abonujće wuwiwanski protokol přez RSS.
Protokol změnow
1.0.2
- Fix: the order edit screen’s Update button and order actions stopped working when the Emboss metabox was present.
- Fix: the Numbering „next number“ tool and the Advanced tab CSV export did nothing; both work again.
- Fix: invoice numbers were issued to failed block checkout attempts. Documents are now generated on processing, completed, and on-hold orders (configurable under General), never on pending.
- Fix: cash on delivery, cheque, and bank transfer orders showed a PAID receipt while processing. They get an invoice until the order is completed.
- Fix: partial refunds now produce a credit note, and the partially refunded email attaches it.
- Fix: the on-hold email and Subscriptions renewal emails now attach the PDF.
- Fix: „Email customer“ and „Email invoices to customers“ always attach the PDF.
- Fix: regenerating an invoice kept the same number but could change its format and date. Issued numbers and dates are now fixed.
- Fix: CSV export and backfill ignored the To date when a From date was set.
- Fix: the plain-text email download link broke for guest customers.
- Fix: uninstall with „Delete everything“ left the counters and the storage folder behind.
- Fix: the REST PDF endpoint returned a corrupted file.
- Fix: the order number, date, and payment method block was missing on documents with a separate shipping address.
- New: packing slips from the order screen, the orders list, and a bulk ZIP download.
- New: each order keeps its invoice or receipt, credit note, and packing slip as separate files, so a refund keeps the paid invoice visible.
- New: My Account and the thank you page offer the credit note next to the invoice.
- New: the Date format setting is applied to documents.
- New: the orders list, the CSV export, and the REST metadata show the credit note number, and the REST metadata lists every document of an order.
- New: the bank transfer and cheque „on-hold“ email has its own attachment setting.
- Changed: the „Auto-clean old PDFs“ setting was removed; invoices are never deleted automatically.
- Changed: the Language setting is now applied; documents follow the order language only when „Use the order language“ is selected.
- Changed: the epdi_attach_to_email filter now receives the per-email setting as its default instead of always true.
1.0.0
- Initial release.
- WooCommerce settings tab with General, Branding, Legal, Numbering, Emails, and Advanced sections.
- HPOS and Cart/Checkout block compatibility declared.
- Plugin row Settings link and Support link.
- Secure storage directory created on activation.
