WooCommerce works out VAT from the rates you have set up yourselves, and e-conomic books the VAT the invoice says. If the two do not fit, you find out when the VAT return does not add up. This guide shows how WooCommerce orders become correct invoices in e-conomic, with VAT, OSS, shipping, fees and refunds.
Start in WooCommerce: the tax settings
The invoices are never better than the VAT in the shop. Under WooCommerce → Settings → Tax, three things must be right:
- Prices entered including or excluding VAT. Most Danish shops enter prices including VAT. That is fine, but the invoice in e-conomic must then be worked out excluding VAT from them, and the rounding must give exactly what the customer paid.
- The rates. At least a standard rate of 25% for Denmark. If you sell goods without VAT, they need a tax class without VAT.
- Rates for other EU countries, if you are above the OSS threshold. See below.
One invoice per order
Each WooCommerce order should become one invoice in e-conomic:
- The customer is found or created as a debtor with the billing address from the order.
- The lines come with product number (SKU), quantity and price excluding VAT, so the goods land in the right product group.
- Discounts stand as list price and percentage.
- Shipping gets a line of its own with the same VAT as the goods.
- Fees WooCommerce adds to the order, gift wrapping or a handling fee, say, get a line of their own with the VAT the shop charged.
- The total is checked against the order's total in WooCommerce, to the øre.
Example: order 1187
Six balls of merino yarn at DKK 45.00, a set of knitting needles at DKK 89.00 and a pattern booklet at DKK 120.00 with 25% off, plus shipping at DKK 39.00. The customer pays DKK 488.00:
| Line | Qty | Amount excl. VAT |
|---|---|---|
| Merino wool yarn, 50 g | 6 | 216.00 |
| Bamboo knitting needles | 1 | 71.20 |
| Pattern booklet (list price 96.00, discount 25%) | 1 | 72.00 |
| Shipping | 1 | 31.20 |
| VAT 25% | 97.60 | |
| Total | 488.00 |
VAT to other EU countries and OSS
If you sell to consumers in other EU countries, one shared threshold of EUR 10,000 a year applies to all distance sales in the EU:
- Below the threshold you charge Danish VAT, also to customers in Germany or Sweden. The invoice is an ordinary domestic invoice with 25% VAT.
- Above the threshold you charge the buyer's country's VAT, 19% in Germany, say, and report it through One-Stop-Shop (OSS). WooCommerce then needs a rate for each country you sell to. In e-conomic you use a VAT zone per country, so the OSS VAT is kept apart from the Danish.
- Business customers in the EU with a valid VAT number are usually invoiced without VAT under the reverse charge. WooCommerce cannot check VAT numbers by itself; that takes an extension.
- Customers outside the EU are invoiced without Danish VAT as export.
The VAT zone should be set from the order: the customer's country and the VAT WooCommerce actually charged. Do not use the zone on an old debtor card, as a customer may buy as a consumer one day and as a business the next.
Refunds and gift cards
- Refunds, whole or partial, become credit notes on the original invoice, with the same VAT.
- Gift cards used to pay are a payment, not a discount. The goods keep their full price and VAT, and the gift card is deducted as a line without VAT. A gift card sold that can be used on anything is usually not revenue until it is used.
Common mistakes
- Missing EU rates above the OSS threshold: the customer pays Danish VAT, but you owe the country's VAT.
- Rounding. Prices including VAT divided by 1.25 and rounded per line can give differences of an øre or two. The invoice must hit the order's total exactly.
- Fees forgotten. A fee on the order that does not reach the invoice gives an invoice lower than the payment.
- The payment booked as sales. Once the order is invoiced, the payment from Stripe, MobilePay or Nets Easy should close the invoice, not be booked as new sales.
Questions about WooCommerce and e-conomic
Must the product numbers in WooCommerce exist in e-conomic?
It is the easiest way. When a product has the same product number (SKU) in both, the sale lands on the product group and account the product belongs to. If the product is missing in e-conomic, it must be created in a product group with the right VAT before the invoice is booked.
When should an order be invoiced: when paid or when shipped?
It depends on how you work. Many invoice when the order is paid (status "Processing"), others only when it is shipped (status "Completed"). Choose one rule and keep to it, so an order is never invoiced twice.
What about cancelled orders?
An order cancelled before it is invoiced is not invoiced. An order cancelled afterwards is credited with a credit note, not deleted.
Automatically with 2app
2app fetches the orders from WooCommerce, which you approve in one click in WordPress, and makes a draft invoice in e-conomic for each. The VAT zone is set per order, OSS zones too, which 2app suggests from your e-conomic. Fees, refunds and gift cards come along, and the total is checked against what the customer paid, to the øre. The payments can then close the invoices with Stripe to e-conomic, MobilePay to e-conomic or Nets Easy to e-conomic.