View Categories

PDF Invoices: e-invoices

4 min read

What this makes #

Next to each PDF, the plugin can make a file for accounting software to read. It uses the same frozen figures as the PDF, so both show the same number, date, lines and totals.

  • UBL 2.1: an XML invoice or credit note built to the EN 16931 rules. When your details and the customer’s allow it, the file is also marked for Peppol BIS Billing 3.0.
  • CII: the same invoice in UN/CEFACT Cross Industry Invoice XML.
  • Factur-X: a PDF/A-3 copy of your invoice with the CII file inside. In Germany the same format is called ZUGFeRD.

The plugin makes files. It doesn’t send anything through Peppol or to a tax office. For that you need a Peppol access point or your accounting software.

Rules differ by country and by buyer, and they change. Check with your accountant what your country and your buyers need before you rely on these files.

Setting it up #

Go to Documents > E-invoices and tick Make e-invoices for this store. Then fill in:

  • Legal name, the name on your company registration.
  • VAT ID, with its country code, such as BE0123456749. If you have no VAT ID, your company ID. A tax registration number goes in its own box.
  • Peppol endpoint, only if you have one. Without it, UBL files stay plain EN 16931 files, not marked for Peppol.
  • Payment terms, printed in the file when something is still owed.

Your address comes from WooCommerce > Settings > General. Your bank account comes from the Direct bank transfer payment method.

An invoice keeps your details from the first time its file is made. A new VAT ID later doesn’t rewrite an old invoice. A credit note uses the details of its invoice.

Tax classes #

Each line of a file names a tax category. Leave a class on Work it out from the order unless it always means one thing:

  • A taxed line is standard rate (S).
  • A line at no tax is zero rated (Z), or an export (G) for a buyer outside the EU.
  • A VAT-exempt customer with a VAT ID is reverse charge (AE).
  • A store with no VAT ID is not subject to VAT (O).

To say otherwise, pick a category for the class, and add an exemption reason if your accountant gives you one. Ask them which category fits.

Customer VAT IDs #

The file reads the customer’s VAT ID from the order fields that common VAT plugins use. If yours keeps it somewhere else, type that field’s name in Order field holding the customer’s VAT ID.

Who gets the file #

  • Staff download it from the Documents box on the order, in every format.
  • Customers get it where they get the PDF, on My Account and guest links, when you tick Downloads. They get the format you chose at the top of the tab.
  • Emails carry it next to the PDF when you tick Email: any email that carries the invoice, and the refund email for a credit note, full or partial.

When a file can’t be made #

The file has to pass its checks first. If something is missing, the order box says what, in plain words, such as “Add your legal name on the E-invoices tab”.

A customer never sees that message and never gets a bad file: their link stays hidden. An email goes out with its PDF and leaves a note on the order.

Common reasons:

  • Your legal name, VAT ID or company ID is missing.
  • The order has no billing country, or no customer or company name.
  • Reverse charge needs the customer’s VAT ID.
  • The currency isn’t an ISO currency, or the total has more than two decimals.
  • A refund was typed as an amount on an order with more than one tax rate. Refund by line instead.
  • The invoice was issued before e-invoices were added, so it holds no figures to make a file from.

Export #

Export a date range at the bottom of the tab makes one zip of every invoice and credit note issued between two dates. Anything that can’t have a file is listed in problems.txt inside the zip. A long export runs in the background, and the zip is kept for a day.

Credit notes #

A credit note’s file names the invoice it reduces, with that invoice’s date.

Security deposits #

A deposit is held, not earned, so it isn’t income. On the PDF it shows as a fee in the totals and in its own Security deposit section.

The e-invoice leaves the deposit out of its lines and totals. A note in the file says how much is held, that it’s refundable, and that it isn’t part of the invoice total. So the file’s total plus the deposit comes to the PDF’s total.

Factur-X keeps the PDF and the XML in one file, and they’d show different totals. An invoice with a held deposit can’t have a Factur-X copy: the order box says so, and UBL and CII still work. If your accountant treats deposits differently, talk to them before relying on these files.

Rentals #

With Rentals & Bookings active, each rental line carries its dates. Fees come through as charges at their own tax.

Stored PDFs and retention #

E-invoices are never stored. Each one is drawn from the document’s frozen figures when it’s asked for, so the PDF clean-up has nothing to follow, and the same file comes back every time.

When a document passes your retention setting and its details are removed, it can’t have a file any more, and the order box says so.

Letters a font can’t draw #

A Factur-X copy has to be PDF/A, which doesn’t allow the empty box a PDF shows for a letter no font holds, such as an emoji. Those letters are left out of that PDF. The XML inside keeps them.