A natural cosmetics shop in Granada running PrestaShop takes sixty orders a day. Most come from consumers on the mainland, but every week there are orders from the Canary Islands, where Spanish VAT is not charged, the odd hair salon asking for an invoice with its tax ID and the equivalence surcharge, and a couple of customers in Portugal. At the moment someone in the office checks each order and keys it into Sage 50, picking the tax treatment by hand. Mistakes are rare, but they happen, and under Verifactu a wrong invoice cannot simply be deleted: it has to be corrected, and the correction leaves a trail. Our job is to get the shop and the accounting package talking on their own, so every order produces the right document with the right tax and the office moves from typing to checking exceptions.
The first decision is where the invoice is born. We nearly always recommend that the accounting package or ERP issues it, since that software is already adapted to the rules, with the shop simply feeding it the data.
a3ERP, a3innuva, Sage 50, Sage 200, Holded, ContaSol, Odoo and Business Central on the back-office side; PrestaShop, WooCommerce, Shopify and Magento on the shop side. Through an API, the vendor's connector or one written specifically for you.
One master catalogue
SKUs, EAN codes, product families, VAT rate and prices flow from the ERP to the shop. Size and colour combinations are mapped once, so each variant has its own accounting reference.
Tax by destination
Standard, reduced or super-reduced VAT depending on the product; no VAT on shipments to the Canaries, Ceuta and Melilla; the destination country's rate for EU consumers under the One Stop Shop (OSS); reverse charge for EU businesses with an intra-community VAT number that checks out on VIES.
Trade customers
A full invoice with tax ID and company name whenever the buyer asks for one at checkout, plus the equivalence surcharge (recargo de equivalencia) for retailers under that scheme.
Verifactu and TicketBAI
If invoices come from the ERP, the vendor provides compliance. If a shop plug-in generates them today, we check whether it has been adapted or move invoicing into the ERP. In the Basque Country, TicketBAI applies.
Returns and credit notes
A return accepted in the shop prepares a draft corrective invoice; the office reviews and issues it, without rebuilding the order from a warehouse email.
Alerts people understand
Order with an invalid tax ID, product with no VAT rate, sync stalled: the message reaches a named person with the order number and the reason, not a technical code.
How the engagement unfolds, one stage at a time
Holded or Odoo in the cloud can be connected sooner than Sage 200 on an office server with several warehouses. We set the timescale after the initial review.
01
Review with your accountant
Invoice series, tax rates, special cases such as the Canaries or the equivalence surcharge, and how online sales are booked today. Your gestoría or tax adviser has the final word on the criteria.
02
Hook up to a test company
The shop is linked to a copy of the books or a test company in the ERP, never to the live ledger during development.
03
Real orders replayed
We rerun a few dozen recent orders of every kind and compare the output with the invoices raised by hand.
04
A quiet go-live
Launch on a day with no closing or tax return nearby, then a weekly reconciliation check throughout the first month.
Settle the rules with your accountant before anything is connected. An integration applies rules; it does not invent them. If Canary Islands orders are booked two different ways today depending on who keys them in, or nobody knows whether the salon is under the equivalence surcharge, that doubt gets copied into every automatic invoice. An hour with whoever keeps your books saves weeks of corrective invoices.
Common questions
Sometimes, and then we recommend it rather than building anything. Modules cope well with simple shops: one warehouse, one price list, consumer customers on the mainland. They fall short with the Canaries, the equivalence surcharge, several trade price lists or sales to other EU countries. In those cases we write an API integration and maintain it.
Your company, advised by your accountant. We configure the rules you decide on and test them with real cases, but we do not give tax advice. That is why the first project meeting is with whoever keeps your books.
Once the obligation applies to your company, invoices to other businesses will have to be issued in a structured electronic format. If the invoice originates in your ERP, adapting it is mostly the vendor's task. Our role is making sure the shop passes complete data: tax ID, company name, registered address and line detail.
Stock every few minutes, prices several times a day and descriptions and images overnight. Pushing the whole catalogue non-stop loads the ERP server and, if it sits in the office, slows everyone else down.
Remotely, over an encrypted connection with a restricted user that you create and can disable whenever you like. We make no site visits and install no hardware. If something physical needs doing at the server, we send step-by-step instructions for whoever is there.
Hours Monday to Friday, 9:00-18:00 Spanish time (CET), answers within a working day
Meetings Video calls via Google Meet or Teams
Your request is with us
Expect an answer within one working day. A reported fault that has halted your team is handled first.
We clarify the brief. If a detail is missing before we can price the work, we email you or suggest a quick Google Meet or Teams session.
We draft a proposal. The scope of work, a price in euros with VAT shown separately and a realistic start date, with no small print.
The choice is yours. The proposal arrives by email. Read it at leisure, query any line you like and only then decide.
Choose a location
No match found. Try another spelling, or go with the closest provincial capital: every job is done remotely, so the location makes no difference to what we deliver anywhere in Spain.
This site only stores the cookies it needs to work and to remember your chosen city. No advertising or tracking cookies are set. See our privacy policy for the details.