Folioline

EU invoices and VAT for WooCommerce: gapless numbers, credit notes, VAT number checks, reverse charge, OSS reports and e-invoice files.

v1.2.3Updated Oct 19, 2026
  • WooCommerce 8.2 – 11.2
  • WordPress 6.5 – 7.1
  • PHP 7.4+

Folioline

How many sites?
Start 14-day free trial

Then $99/year for 5 sites

  • Updates in your WordPress dashboard
  • Support from the team that builds it
Secure checkout by Lemon SqueezyCompare plans

Premium is a standalone plugin, sold only here. How Pro and Premium differ

Folioline banner

A shop selling in the EU needs a proper invoice for every order: a number from an unbroken series, the seller's and buyer's VAT details, the VAT per rate, and a credit note when money goes back. Business customers in other EU countries expect VAT to come off when they give a valid VAT number, and more and more buyers ask for an e-invoice file. Folioline does this inside WooCommerce: invoices are issued when orders reach the statuses you choose, numbered without gaps, frozen so they never change, attached to WooCommerce's own emails and listed under WooCommerce → Invoices.

Invoices and numbering

  • Invoice numbers without gaps or repeats, in your own format with {number}, {year} and {month}, padded with zeros, restarting every year if you like, from the first number you choose.
  • Invoices are issued on their own when an order reaches the statuses you pick (Processing and Completed by default), or by hand from the order screen, as a bulk action on the orders list, or with WP-CLI.
  • An issued invoice never changes: Folioline keeps a frozen copy of what it says, so editing the order, a product or your settings later doesn't touch it. Mistakes are corrected with a credit note.
  • Free orders get no invoice unless you want one, and unpaid orders (bank transfer, cash on delivery) get a due date and your bank details.

Credit notes

  • A credit note for every refund of an invoiced order, in its own number series, naming the invoice it credits.
  • Refunds without money back get no credit note. Refunds made before the invoice get theirs right after it.

VAT numbers and reverse charge

  • A VAT number field in the Checkout block and the classic checkout, and in My Account → Addresses.
  • Numbers are checked with VIES, the EU's VAT number service. For a business in another EU country with a valid number, VAT comes off the totals at once (reverse charge), and the invoice says why.
  • When VIES is down, you choose: take VAT off and check again later, or charge VAT and check again later. Folioline checks the number again on its own and notes the answer on the order. A later check never changes the order's totals.
  • The VIES consultation number is kept on the order and printed on the invoice as proof of the check.
  • A VAT box on the order screen shows the number, what VIES said and when, with Check again. On orders you create yourself, you can type the customer's number there.
  • For sales to consumers, the customer's IP address and its country are kept with the order as evidence of where they are.

PDFs and e-invoices

  • A PDF for every invoice and credit note (PDF/A-3), with your logo, your company details and a footer of your own, in the language it was issued in.
  • Every PDF carries a Factur-X / ZUGFeRD e-invoice inside it by default.
  • XRechnung (CII and UBL) and Peppol BIS Billing 3.0 files, made from the same invoice, for customers or accountants who need them. Folioline makes the files; it doesn't send them through any e-invoicing network.
  • Files are made once and kept in a protected folder, as the archive copy.

For customers

  • The invoice PDF attached to the WooCommerce emails you choose (Processing order, Completed order and Order details by default), and the credit note to the Refunded order email, with an e-invoice file next to it if you like.
  • Logged-in customers download their invoices and credit notes under My Account → Orders. Guests get them as email attachments.

For staff and your accountant

  • WooCommerce → Invoices: every invoice and credit note, with filters by type and date, a search by number, order or VAT number, and a ZIP download of the PDFs or e-invoice files.
  • An Invoice column and an Issue invoices bulk action on the orders list, and a Documents box on the order screen.
  • Invoice and credit note registers for any period as CSV files: one row per document, or one row per document and VAT rate for VAT returns.
  • An OSS report helper: a quarter's sales to consumers in other EU countries, per country and VAT rate, in euros at the ECB's reference rates, ready to check and copy into your One-Stop Shop return.

Works with

  • High-Performance Order Storage and the older posts storage, the Checkout block and the classic checkout.
  • Packboard: an "Invoice" print document and the invoice number on each order card. Returnline: the credit notes of a return's refunds on the return's page. Fieldline: a notice when one of its checkout fields asks for a VAT number too, so customers aren't asked twice.

For developers

  • Actions: folioline_loaded, folioline_document_issued, folioline_file_stored, folioline_settings and more.
  • Filters for the invoice number, what a document says, the tax category, the reverse charge decision, the PDF template and styles, the e-invoice data, email attachments and downloads.
  • PDF and My Account templates you can copy into your theme.
  • wp folioline issue, wp folioline list and wp folioline render commands.

Folioline helps you issue correct invoices; it is not tax advice. Check what your country requires with your accountant or tax office.

Folioline is sold on extendiment.com/plugins/folioline under our Terms and Privacy Policy. The license key brings updates; every feature works without it.

Pricing

1 site$49/year
  • For a single site
  • Updates in your WordPress dashboard
  • Support from the team that builds it
Start 14-day free trial

Then $49/year for 1 site

Most popular5 sites$99/year
  • $19.80 per site · save 60%
  • Updates in your WordPress dashboard
  • Support from the team that builds it
Start 14-day free trial

Then $99/year for 5 sites

25 sites$199/year
  • $7.96 per site · save 84%
  • Updates in your WordPress dashboard
  • Support from the team that builds it
Start 14-day free trial

Then $199/year for 25 sites

Or get all 10 paid plugins with All Access, from $199/year

Renews yearly. Staging and local sites don’t count (up to three per key). Premium is a standalone plugin, sold only here. How Pro and Premium differ

Secure checkout, tax and invoices by Lemon Squeezy

Screenshots

  • WooCommerce → Invoices1 / 9Every invoice and credit note with its number, customer, country, VAT number and totals, searchable, with PDF and e-invoice downloads one by one or as a ZIP.
  • The invoice PDF2 / 9Your company details and logo, the customer's VAT number, VAT per rate, and the reverse charge or export notice the sale needs.
  • The order screen3 / 9The order's invoice and credit notes with their PDF and e-invoice files, and the customer's VAT number with the VIES result and consultation number.
  • At checkout4 / 9At checkout, a business in another EU country enters its VAT number: it is checked with VIES and VAT comes off the order (reverse charge).
  • The OSS report5 / 9A quarter's sales to consumers in other EU countries, per country and VAT rate, ready for your One-Stop Shop return, with a CSV download.
  • Registers6 / 9The invoices and credit notes of any period as a CSV for your accountant, one row per document or per VAT rate.
  • Settings → Numbering7 / 9Your own invoice and credit note formats with a live preview of the next number, a yearly reset and the number to start from.
  • In My Account8 / 9In My Account, customers download the invoice and credit notes of each order.
  • Enter the license key from your purchase email under…9 / 9Enter the license key from your purchase email under Folioline on the Plugins screen to get updates.

Latest 3 of 9 releases

View full changelog
  1. Version 1.2.3

    Latest
    • fixedIn My Account, an order's download buttons sit side by side and wrap neatly on narrow screens, and the e-invoice button reads "XRechnung (CII) XML" instead of "XRechnung (CII) (XML)".
  2. Version 1.2.2

    • fixedA business customer from another EU country whose goods are shipped to, or picked up in, your own country now pays VAT, as for any sale in your country, instead of getting reverse charge. The checkout says why. An order of services alone still goes by the billing country. Staff entering a VAT number on an order get the same check, and it's made again when the order's shipping address changes.
  3. Version 1.2.1

    • fixedGoods shipped outside the EU without VAT are now invoiced as an export, with the export wording, even when the customer's billing address is in the EU. Goods billed outside the EU but shipped within it, or picked up at your store, no longer are.

You might also like