What the plugin does
Every order gets its invoice without any work on your side, every refund gets a credit note, and at the end of the month your accountant receives one e-mail with everything. Polish shops send invoices to KSeF with one switch – with the KSeF number and QR code on the PDF.
What it does
Invoices that issue themselves
The invoice is issued when the order reaches the status you choose (e.g. “Completed”), attached to the WooCommerce e-mail and available in My Account. Numbers follow your pattern, e.g. INV-{YYYY}-{n:5} or FV/{n}/{MM}/{YYYY}, and start again every month, every year or never. The number is locked while a document is issued, so two orders never get the same number.
Result: no manual invoicing and no gaps or duplicates in the numbering.
A credit note for every refund
When you refund in WooCommerce (whole order, some items or just an amount), a credit note is issued for that refund – with the corrected invoice, the reason and the amounts. A refund of an amount only is split over the VAT rates of the order. It goes out with the WooCommerce “Refunded order” e-mail.
KSeF with one switch (Poland)
Paste your NIP and KSeF token – invoices and credit notes are sent to the Polish National e-Invoice System as structured invoices FA(3) (KSeF API 2.0), in the background or with a button on the order. Choose all invoices or only those for companies. The KSeF number and the verification QR code are added to the PDF; the UPO receipt and the XML can be downloaded from the order. Start in the test environment and switch to production when you are ready.
Pro forma invoices and packing slips
Pro forma for bank transfer orders – the customer gets a document to pay from, with your bank account and the payment reference. Packing slips (no prices, shipping address) print in bulk from the order list or go with the “New order” e-mail.
An archive copy that never changes
When a document is issued, your company data, the buyer, the lines and the VAT summary are frozen in it. Changing the settings or the order later does not touch issued invoices. PDF (and KSeF XML) files are kept in a protected folder.
Document register and a pack for your accountant
WooCommerce → Invoices → Register: every document of a month with net, VAT and gross totals (per type and currency), search by number, buyer or VAT ID, CSV export for Excel and a ZIP with every PDF. Once a month, on the day you choose, the CSV and the ZIP can be e-mailed to your accountant automatically.
Result: monthly bookkeeping takes one e-mail instead of an evening.
Looks like your company
Two templates: Aurora (colour header band) and Ledger (classic boxed layout with signature fields). Your logo and brand colour, amount in words (English and Polish), SKU, a “Paid” or “Due by” box, notes per document type and per order.
Good to know
- VAT registered or VAT exempt – the exempt mode prints one price column and your exemption note.
- EU business customers: reverse charge note and rate (works with wpAsist VIES VAT). VAT ID field in the classic and the block checkout.
- Invoices in the language of the order: a customer who buys on your English site gets an English invoice, on the Polish site a Polish one (WPML, Polylang, TranslatePress). Or choose one fixed language. English and Polish included.
- Bulk download of invoices and packing slips as one PDF from the order list.
- Own templates in your theme:
yourtheme/wpasist-invoices/{template}/document.phpandstyle.css. - Compatible with HPOS and the WooCommerce block checkout.
Installation and first settings
Before you start
You need WordPress 6.2 or newer, WooCommerce 8.0+, PHP 7.4+ and an administrator account. Back up your store before installing any new plugin – most hosting panels do it with one button.
Step 1: download the plugin and the licence key
After your order (Pro, or the free 7-day Free version) you get an e-mail with your licence key and a Download button. The key and the file are always available in My account → Licences on wpasist.eu.
- Click Download and save
pdf-invoices-credit-notes-for-woocommerce.zipon your computer. - Do not unzip the file – WordPress installs the plugin straight from the ZIP.
Safari on a Mac may unzip downloads automatically. If you see a folder instead of a ZIP file, compress it again (right-click → Compress) or turn off opening “safe” files after downloading in Safari.
Step 2: install and activate the plugin
- Log in to your WordPress dashboard (usually
yourstore.com/wp-admin). - Go to Plugins → Add New Plugin and click Upload Plugin.
- Choose
pdf-invoices-credit-notes-for-woocommerce.zipand click Install Now. - When you see “Plugin installed successfully”, click Activate Plugin.
Result: the left menu now has a wpAsist item with this plugin and the Licences screen.
Step 3: activate the licence
- Go to wpAsist → Licences.
- Paste the key from the e-mail next to this plugin and click Activate licence.
- The status changes to Active until … (the end date of your licence).
Without an active licence no new documents are issued or sent to KSeF. Documents already issued can still be downloaded – the register, CSV/ZIP export and My Account downloads keep working.
The key works on one domain. If you move the store to another address, change it yourself in My account → Licences → Change domain on wpasist.eu. New versions arrive in the dashboard like any WordPress update (Dashboard → Updates) while the licence is active – your settings are kept.
Step 4: your company and the look
Go to WooCommerce → Invoices → Settings:
| Section | What you set |
|---|---|
| Your company | Name, address, VAT ID, extra lines (phone, e-mail, register number), bank and account number, footer. |
| Look | Template (Aurora / Ledger), document language (recommended: order language), brand colour, logo (PNG, JPG, WebP, SVG), amount in words, SKU, “Paid” box. |
| VAT and dates | “VAT payer” or “VAT exempt” – leave the exemption note empty and it is printed automatically in the invoice language; sale date, payment term. |
Step 5: documents and e-mails
| Document | Recommended settings |
|---|---|
| Invoice | Number pattern e.g. INV-{YYYY}-{n:5}, numbering starts again every year, issue at status “Completed”, attach to “Completed order” and “Order details”. |
| Credit note | On, issued automatically for each refund, attached to “Refunded order”. |
| Pro forma invoice | Turn on if you accept bank transfers – attach to “Order on-hold”. |
| Packing slip | Print from the order or attach to “New order”. |
Click Save settings. Then Tools → Preview shows an invoice with your latest order – nothing is saved and no number is used.
Moving from another invoicing tool? In Tools → Continue numbering from another system enter the number the next invoice should get.
Step 6: the accountant pack (optional)
Section Monthly pack for your accountant: tick Send automatically, enter the accountant’s e-mail and the day of the month (1–28, sent at 7:00). Tools → Send the accountant pack now sends any month on demand.
Step 7: KSeF (Poland, optional)
- In the KSeF taxpayer application, generate a KSeF token with the permissions to issue and view invoices. Start with the test environment.
- WooCommerce → Invoices → KSeF: choose the environment, enter your NIP and the token, choose which invoices to send and save.
- Click Test connection – you should see “Connected – KSeF accepted the token”.
- Turn on KSeF module on. New invoices go to KSeF in the background; the KSeF number appears on the order and the PDF within a minute.
- When everything works in Test, switch the environment to Production and enter the production token.
A document already in KSeF cannot be changed or deleted – correct a mistake with a credit note.
Troubleshooting
| Symptom | What to do |
|---|---|
| No invoice after an order | Check the licence, “Invoices on” and the statuses in “Issue automatically at status”. The order note and WooCommerce → Status → Logs (source wpainv) show the reason. |
| No credit note after a refund | A credit note needs an invoice for the order. Issue the invoice and click “Credit note for refund …” in the order box. |
| E-mails do not arrive | Install an SMTP plugin – WordPress mail without SMTP often ends up in spam. |
| KSeF: error | Hover over the status or open the order – the KSeF message says what is wrong (token, NIP, permissions). “Retry errors” sends again. Source wpainv-ksef in the logs. |
| Wrong invoice issued | Issue a credit note. Only the newest document of a series can be deleted (no gaps); a document in KSeF cannot be deleted. |
Changelog
1.0.4 – 2026-10-25
- Compatibility release: tested with WordPress 7.1 and WooCommerce 11.2 (HPOS, block and classic checkout, WPML, Elementor) – automatic invoices, credit notes for refunds, pro forma invoices, packing slips, the document register and customer downloads; no functional changes.
1.0.3 – 2026-10-24
- Licence: the plugin sends its name when it checks the key, so a key works only in the plugins it covers (one plugin, a bundle or All Access).
- wpAsist → Licences: new “Use this key for all wpAsist plugins” – a bundle or All Access key is activated in every plugin at once; plugins the key does not cover keep their own key.
1.0.2 – 2026-10-24
- Ledger template: logo in the top left corner with the document number below it, dates and order number on the right.
1.0.1 – 2026-10-24
- Invoices in the language of the order: the language the customer used at checkout is saved (WPML, Polylang, TranslatePress), plus a “Document language” setting (order language, site language, English, Polish).
- Logos in WebP and other formats are converted for the PDF automatically.
- Ledger template: no black frame around the number, addresses line by line.
- Exemption and reverse charge notes are printed automatically in the invoice language.
1.0.0 – 2026-10-24
- First release: invoices, credit notes, pro forma invoices and packing slips; number patterns with yearly or monthly reset; archive copies; document register with CSV/ZIP export and a monthly accountant pack; VAT ID field for classic and block checkout; two templates; Polish translation.
- KSeF module (KSeF API 2.0, FA(3)): sending in the background or with a button, KSeF number and QR code on the PDF, UPO and XML download.
- wpAsist licence and menu: overview, licences, updates from wpasist.eu.
Customer forum
Ask before it gets annoying 🙂
A problem after installing? Something unclear in the guide? There are no silly questions here – only stores that do not work the way they should yet. We reply personally, usually the same day.
The forum is for customers only. Log in or buy the plugin to grow your store together with us, ask questions and get support.