# Troubleshooting - Folioline 1.x documentation

> What to check when an order gets no invoice, VAT isn't taken off, a PDF is missing or an e-invoice file can't be made.

## An order got no invoice

1. **Is its status ticked?** Invoices are issued when an order reaches a status under **WooCommerce → Folioline → Documents → Issue invoices at** (Processing and Completed to start with). An order **On hold** or **Pending payment** gets one once it's marked paid, unless you tick those statuses too.
2. **Is the total zero?** With **Free orders** ticked, orders with a total of zero get no invoice.
3. **Was it already at that status before Folioline was active?** Invoices are issued when the status changes. For older orders, and orders paid while Folioline was deactivated, use **Issue invoices** from **Bulk actions** on **WooCommerce → Orders**.
4. **Does custom code stop it?** A developer's `folioline_wants_invoice` filter can keep orders from getting an invoice automatically.

Whatever the reason, **Issue invoice** in the order's **Documents** box issues it now. If issuing fails, the order screen shows why, and the reason is logged under **WooCommerce → Status → Logs** (source `folioline`).

## A refund got no credit note

- The refund has no money back (a refund of 0): there's nothing to credit.
- The order has no invoice yet. Its credit notes follow once it gets one.
- **Credit notes** is off under **WooCommerce → Folioline → Documents**.

Use the **Issue credit note for the refund of …** button in the **Documents** box. See [Credit notes](credit-notes).

## VAT isn't taken off for a business customer

Check the line under the checkout totals, or the **VAT** box on the order:

- **"your business is in the same country as the shop"**: domestic sales are never reverse charged, even with a valid number.
- **"from another country than the billing address"**: the number must belong to the billing country. A German number with a billing address in Austria charges VAT.
- **"isn't valid in the EU VAT number check (VIES)"**: VIES doesn't know the number. Ask the customer to check it at the European Commission's VIES website; a newly registered number can take a few days to appear.
- **"doesn't have the right format for its country"**: a typo, or a missing country code (`FR40303265045`, not `40303265045`).
- **"couldn't be checked right now, so VAT is charged"**: VIES was down and **When VIES is down** is set to **Charge VAT**. Folioline checks again after the order; the order's totals don't change.
- **No message at all**: the billing country is outside the EU, your store address (**WooCommerce → Settings → General**) isn't in the EU, or **VAT number field** is off.

Also check that the products are taxed in WooCommerce: Folioline only takes off VAT that WooCommerce charges.

## VAT was taken off, but the number turned out invalid

If VIES was down at checkout and **When VIES is down** is set to take VAT off, a later check may find the number invalid. The order note says so; the totals stay as they were. Check the number with the customer, and decide with your accountant whether to correct the invoice (see [Credit notes](credit-notes)). To avoid it, choose **Charge VAT, then check the number again later**.

## A PDF is missing or won't open

- **"PDFs can't be made on this server: PHP is missing the … extension"**: ask your host to turn on the PHP extensions **gd**, **mbstring** and **zlib**. Invoices are still issued and numbered meanwhile; their PDFs are made once the extensions are there.
- **"Folioline could not create its folder in uploads"**: the uploads folder isn't writable. Your host can fix the folder permissions of `wp-content/uploads`.
- **"The PDF library is missing from the plugin folder"**: the plugin's files are incomplete. Upload `folioline.zip` again under **Plugins → Add New Plugin → Upload Plugin** and choose **Replace current with uploaded**.
- **"The link has expired"**: download links on a page that has been open a long time stop working. Reload the page.
- **"Log in to download your documents"**: My Account downloads need the customer to be logged in. Guests get their documents as email attachments.

If emails arrive without the PDF, the reason is logged under **WooCommerce → Status → Logs** (source `folioline`).

## An e-invoice file can't be made

The download, the email log or the ZIP's `errors.txt` says what's missing. The usual ones:

| Message | Fix |
|---|---|
| XRechnung needs the seller's phone number and email address. | Fill in **Phone** and **Email** on the **Seller** tab. |
| XRechnung needs the store address's city and postcode. / … the customer's city and postcode. | Complete the store address under **WooCommerce → Settings → General**, or the order's billing address. |
| Peppol needs the seller's Peppol ID… | Fill in your **VAT ID**, or have a developer set your Peppol ID with the `folioline_electronic_address` filter (see [Hooks](hooks)). |
| Peppol needs the customer's Peppol ID… | The customer gave no VAT number. Peppol is for business customers; use another format for consumers. |
| The seller needs a VAT ID or tax number. | Fill in **VAT ID** or **Tax number** on the **Seller** tab. |
| Reverse charge and intra-Community sales need the customer's VAT number. | The order has no VAT number. |
| The document mixes sales outside the scope of EU VAT with other tax categories… | One order sold services outside the EU together with other items. Invoice them separately. |

> [!NOTE]
> An invoice keeps the details it was issued with. Fixing your settings helps invoices issued from then on; an invoice issued without your phone number can't become an XRechnung file later.

## The invoice is in the wrong language

An invoice is made in the language WordPress was using when it was issued: your site's language (**Settings → General → Site Language**) for orders paid at checkout, or the language in your own profile when you issue it from the admin, for example by changing the order's status or clicking **Issue invoice**. Issued invoices keep that language.

## Still stuck?

Deactivate other plugins one at a time to rule out a conflict, then contact us with what you expected and what happened instead.

Source: https://extendiment.com/plugins/folioline/docs/1.x/troubleshooting
