Citrus-Lime Knowledge Base

Sorry, we didn't find any relevant articles for you.

    How does Cloud POS handle invoicing for Spanish retailers?

    Every sale, return and exchange in your store(s) is issued as a tax invoice and registered with the Spanish tax agency (AEAT) automatically, as the transaction completes. Your staff serve customers as normal. Cloud POS only stops a transaction if it would break Spanish invoicing rules, and the register tells you why.

    This article covers the following topics:

     


    How it works

    Cloud POS works with Fiskaly, our certified partner for Spanish fiscalisation. When a transaction completes:

    1) Cloud POS sends the invoice to Fiskaly, which signs it.

    2) Fiskaly submits the invoice to the AEAT under SII (Suministro Inmediato de Información).

    3) The AEAT checks the invoice and replies. When it's accepted, the AEAT issues a verification code (CSV), which Cloud POS stores against the transaction.

    The register doesn't wait for the AEAT's reply, so customers are never kept waiting. Cloud POS checks with Fiskaly every five minutes and updates the outcome on the Fiskaly logging page.

    Fiskaly keeps a record of every invoice issued. Invoices must be kept for four years, and Citrus-Lime never deletes them.

     


    Before you go live

    Citrus-Lime sets up your company with Fiskaly once, using your tax details. We'll need:

    • your company details exactly as registered with the AEAT: NIF, legal name (up to 120 characters), and registered address with postcode and town;
    • confirmation that you report under SII;
    • a signed AEAT social collaboration agreement (acuerdo de colaboración social), which allows Fiskaly to submit invoices to the AEAT on your behalf.

    Once you're live, your legal name, territory and SII setting are fixed. If any of these change, let us know in advance. We'll retire the current set-up and create a new one, and invoice numbering will start again in a new series.

     


    Which invoice is issued

    Cloud POS chooses the invoice type automatically, based on whether a customer is attached, whether items are being returned, and whether the original sale can be found.

    Scenario Invoice issued Series Sent to the AEAT?
    Sale with no customer attached, up to €3,000 Simplified invoice (factura simplificada) FS Yes
    Sale with a customer attached, any amount Full invoice (factura completa) FA Yes
    Return against the original receipt Correcting invoice (factura rectificativa), linked to the original sale FR Yes
    Exchange against the original receipt One correcting invoice covering the returned and new items FR Yes
    Return where the original sale can't be found External invoice (factura externa) FX No
    Exchange where the original sale can't be found A sale for the new items, plus an external invoice for the returned items FS or FA, plus FX Sale yes, return no

     


    Full invoices

    Attaching a customer to a sale on the Point of Sale screen always produces a full invoice, whatever the amount.

    Attaching a customer always creates a full invoice

    This includes sales where you attach a customer for other reasons, such as loyalty or warranty registration. Make sure your customer records include a valid NIF, name, address and postcode, or the register won't let the sale go through.

     

     

    For a full invoice, the customer record needs:

    • a valid Spanish NIF, either an individual's or a company's;
    • their name;
    • their address and postcode.

    If anything is missing, the register lists what needs fixing before the sale can go through.

    If a customer asks for a full invoice, attach them to the sale. Sales over €3,000 must always be full invoices, so a customer must be attached.

    Invoices to customers outside Spain aren't currently supported – we are working on developing a flow for customers outside of Spain.

     


    Returns and exchanges

    Always process returns against the original receipt where you can. This links the correcting invoice to the original sale, which is what the AEAT expects.

    • A return can be for part of the original sale, but not for more than it.
    • If the receipt you've used is for a return, look up the original sale and process the return against that instead.
    • An exchange is processed as a single transaction. The difference can be a refund, a payment or nothing.

     

    Exchanges over €3,000 against a simplified invoice

    If the original sale was a simplified invoice, the correcting invoice for an exchange is also simplified, and simplified invoices can't go over €3,000. If an exchange would take the total over that limit, the register will stop it.

    To process it, split it into two transactions:

    1) Return the original items against the receipt.

    2) Process the new items as a separate sale, with the customer attached so it's issued as a full invoice.

     


    External returns (FX)

    When Cloud POS can't link a return to its original sale in Fiskaly, the refund is still processed, but it's recorded as an external invoice. External invoices are kept in Fiskaly but aren't sent to the AEAT. You can spot them by FX in the invoice number. On the Fiskaly logging page, external returns show as No válido / Invalid. This is expected and doesn't mean anything has gone wrong.

    This happens when:

    • the original sale was made before you started using Cloud POS;
    • the return wasn't processed against the original receipt;
    • the original sale was made under an earlier set-up that has since been retired.

     

    Your finance team needs to account for external returns

    External returns still reduce your sales, but the AEAT never sees them. Your finance team and tax adviser need to account for them separately, outside the AEAT submission.

     

     

    Expect quite a few external returns in your first weeks on Cloud POS, as customers bring back items bought before the move. After that, processing returns against the original receipt will keep them to a minimum.

     


    Invoice numbers

    Each invoice number is made up of the store, the year, the series and a five-digit count. For example, in 549_2026_1FS00001:

    • 549 is the store;
    • 2026 is the year;
    • 1 is the series generation;
    • FS is the invoice type (simplified invoice);
    • 00001 is the invoice count.

    Each series restarts at 00001 every calendar year. Cloud POS stores the invoice number against the transaction.

     


    When the register says no

    The register only refuses a transaction if issuing it would break Spanish invoicing rules. The message explains why, and most can be fixed on the spot.

     

    The register says Why What to do
    Sale over €3,000 needs a customer Simplified invoices are limited to €3,000 Attach the customer, with full details
    Customer details incomplete or NIF invalid A full invoice needs a valid NIF, name, address and postcode Correct the customer record and try again
    Customer outside Spain Invoices to customers outside Spain aren't currently supported Contact Citrus-Lime support
    Return is more than the original sale You can't refund more than was sold Check the items and quantities being returned
    Original is itself a return The receipt is for an earlier return, not a sale Look up the original sale and process the return against that
    Exchange over €3,000 against a simplified invoice The correcting invoice would go over the simplified limit Process it as a return and a separate sale
    Totals don't add up, or a tax code isn't recognised The transaction data is inconsistent Contact Citrus-Lime support
    Any other error, or the service is unavailable A temporary problem reaching Fiskaly Try again. If it keeps happening, contact Citrus-Lime support

     


    The Fiskaly logging page

    You can see the AEAT's outcome for every transaction on the Fiskaly logging page. In the Back Office menu, navigate to Payments & Transactions and open the Fiskaly logging page. Cloud POS checks with Fiskaly every five minutes and updates the outcome here.

     

    Outcome What it means Next steps
    Registrado / Registered Accepted by the AEAT. The verification code (CSV) is stored against the transaction None needed
    Pendiente / Pending The AEAT hasn't replied yet None needed. Cloud POS will check again
    Requiere revisión / Requires Inspection Accepted by the AEAT, but with a problem, for example a 0% line without the right tax code We'll contact you to agree the fix
    Requiere corrección / Requires Correction Rejected by the AEAT We'll contact you to agree the fix, which may include a correcting invoice
    No válido / Invalid Either rejected by the AEAT, or an external return that was deliberately not sent to the AEAT If the invoice type is Factura externa / External invoice, your finance team accounts for it separately (see External returns). Otherwise, we'll contact you to agree the fix

     

    You don't need to check this page every day

    Citrus-Lime monitors Fiskaly daily for any invoices that require inspection or correction, or are invalid, and we'll contact you if action is needed. The page is there so you can check any transaction whenever you need to.

     

     


    Glossary

    Term Meaning
    AEAT Agencia Estatal de Administración Tributaria, the Spanish tax agency
    CSV Código Seguro de Verificación, the AEAT's verification code for a registered invoice
    Factura completa / Full invoice An invoice that names the customer, with their NIF and address
    Factura externa / External invoice A return recorded in Fiskaly but not sent to the AEAT, because the original sale isn't in Fiskaly
    Factura rectificativa / Correcting invoice A return or exchange linked to the original sale
    Factura simplificada / Simplified invoice An invoice with no customer details, up to €3,000
    Fiskaly Citrus-Lime's certified fiscalisation partner, which signs invoices and submits them to the AEAT
    NIF Número de Identificación Fiscal, the Spanish tax identification number
    SII Suministro Inmediato de Información, the AEAT reporting system Cloud POS uses for Spanish invoicing

    Was this article helpful?

    Still can't find
    what you are looking for?

    Our support team is here to help you.

    Contact Support

    Knowledge Base Software powered by Helpjuice