--- title: "Fiscal regulations in Spain" slug: "fiscal-regulations-in-spain" updated: 2026-10-16T19:32:19Z published: 2026-10-16T19:32:19Z canonical: "docs.newstore.com/fiscal-regulations-in-spain" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.newstore.com/llms.txt > Use this file to discover all available pages before exploring further. # Fiscal regulations in Spain Recent fiscal regulations in Spain have introduced a new system known as Veri*Factu. Prior to this new regulation, retailers were operating under the 2012 regulation known as the Royal Decree on Invoicing. Additionally, prior regulations in Spain introduced SII, Suministro Inmediato de Información, on July 1, 2017, by the Spanish Tax Agency (AEAT) to enhance VAT compliance through near real-time invoice reporting. Retailers operating within SII are not required to follow the Veri*Factu regulations. As such, the NewStore POS provides the necessary receipt components for retailers to comply with the Royal Decree from 2012 under SII. NewStore does not currently support Veri*Factu. For stores operating in Spain, NewStore provides the following functionality to comply with local receipt requirements: - Consecutive receipt numbers through e-journal transaction sequencing - Separate receipt series for Factura Completa and Factura Simplificada - Identification of receipts as a COPY of the original > [!WARNING] > Warning: > > NewStore provides the fiscal transaction information that must be printed on fiscal receipts. The retailer is responsible for making sure its receipt templates and store processes comply with local fiscal regulations. ## Store activations for Spain In Spain, a store must have an active cashbox before orders can be fiscalized through Associate App. > [!NOTE] > **Important:** You must create a store and a cashbox in the NewStore platform before the store can be fiscalized. For more details, see [Creating a store](https://docs.newstore.com/v1/docs/tutorial-setting-up-a-store#creating-a-store) and [Activating cashboxes](https://docs.newstore.com/v1/docs/managing-fiscal-stores#activating-fiscal-cashboxes). ## Receipt types in Spain Stores in Spain must be able to issue two types of receipts for POS transactions: *Factura Simplificada* (simplified invoice) and *Factura Completa* (full invoice). ## How NewStore selects the receipt type NewStore selects the receipt type for each sale automatically, based on the sale total and whether the associate entered a customer NIF (Número de Identificación Fiscal, the Spanish tax identification number). | Sale | Receipt type issued | | --- | --- | | Sale total is more than €3,000 | Factura Completa | | Customer NIF is entered, for any sale total | Factura Completa | | Sale total is €3,000 or less, and no customer NIF is entered | Factura Simplificada | A sale of exactly €3,000 receives a Factura Simplificada, unless a customer NIF is entered. ## Required content: Factura Simplificada A Factura Simplificada is used for retail sales up to €3,000 (VAT included). The receipt must include: - Sequential invoice number and, if applicable, series - Date of issue - Tax identification number (NIF) and name or business name of the issuer - Description of the goods delivered or services provided - VAT rate applied and, optionally, the text "IVA incluido" (VAT included) - If more than one VAT rate applies, each rate listed separately with its taxable base ## Required content: Factura Completa A Factura Completa is required when the sale exceeds the limit for a simplified invoice, or when the customer requests one by providing their NIF. The receipt must include: - Sequential invoice number and, if applicable, series - Date of issue - Full name or business name and address of both the issuer and the customer - NIF of both the issuer and the customer - Description of the goods delivered or services provided, including quantity and unit price - Any discounts or rebates not included in the unit price - Taxable base amount - VAT rates applied - VAT amount charged, shown separately - Date of supply of the goods or services, if different from the invoice date To capture the customer's name, address, and NIF in Associate App, see the Configuring customer data for Factura Completa section. ## Receipt Numbering Spanish regulations require each receipt to have a consecutive receipt number. NewStore generates the receipt number for each transaction from the transaction type and the receipt number prefix set during cashbox activation. ## Receipt number format A receipt number has four parts, in this order: 1. Type letter — identifies the receipt series. See the table that follows. 2. Year — the fiscal year of the transaction, in YY format. For example, 26 for 2026. 3. Receipt number prefix — the value set during cashbox activation. 4. Sequence number — the consecutive number of the receipt within its series. | Type letter | Receipt series | | --- | --- | | C | Sale issued as Factura Completa | | S | Sale issued as Factura Simplificada | | R | Return | | E | Exchange | **Rules for the receipt number:** - The receipt number prefix must have 1 to 5 uppercase letters or digits. We recommend a unique prefix for each store. - Each series has its own sequence. For example, Factura Completa and Factura Simplificada receipts are numbered separately. - The sequence number restarts at the beginning of each calendar year. - Every receipt number is 16 characters long, including the hyphens. A shorter prefix leaves more digits for the sequence number, so the prefix length sets the maximum number of receipts per series in a year. ## Sample receipt numbers | Receipt number | Meaning | | --- | --- | | C26-BARC1-000099 | Sale issued as Factura Completa in 2026, prefix BARC1, receipt 99 of the series | | S26-BARC1-001245 | Sale issued as Factura Simplificada in 2026, prefix BARC1, receipt 1,245 of the series | | R26-MADR2-000120 | Return in 2026, prefix MADR2, receipt 120 of the series | | E26-MAD2-0000120 | Exchange in 2026, prefix MAD2, receipt 120 of the series. The 4-character prefix leaves 7 digits for the sequence number | ## Displaying the receipt type on the sale receipt The sale receipt template receives the receipt number in the receiptNumber field. To print the receipt type, check the first letter of the receipt number. The following Jinja macro returns the receipt type: ```plaintext {% macro invoice_type(receiptNumber) -%}     {%- if receiptNumber is string and receiptNumber.startswith('C') -%}        Factura Completa     {%- elif receiptNumber is string and receiptNumber.startswith('S') -%}          Factura Simplificada     {%- else -%}          Unknown invoice type     {%- endif -%} {%- endmacro %} {{ invoice_type(receiptNumber) }} ``` ## Configuring customer data for Factura Completa A Factura Completa must show the customer's name, address, and NIF. To capture these details in Associate App and print them on the sale receipt, you edit two things: - The store's Associate App configuration, so associates can enter the details - The sale receipt template, so the details print on the receipt ## Editing the Associate App configuration Apply the configuration changes in this section with one of these endpoints: - [PUT store configuration](https://docs.newstore.net/api/configuration/apps/associate-app-config-api_config#tag/Associate-App-store-configuration/operation/putStoreConfig) — replaces the whole store configuration. The request body must contain the full configuration, including your existing settings. - [PATCH store configuration](https://docs.newstore.net/api/configuration/apps/associate-app-config-api_config/#tag/Associate-App-store-configuration/operation/patchStoreConfig) — updates only the fields in the request body. ## Capturoing the customer's name and address Associates capture the customer's name and address with the Billing Address plugin. A Factura Completa must show the customer's name, address, and NIF. To capture these details in Associate App and print them on the sale receipt, you edit two things: - The store's Associate App configuration, so associates can enter the details - The sale receipt template, so the details print on the receipt ## Editing the Associate App configuration Apply the configuration changes in this section with one of these endpoints: - [PUT store configuration](https://docs.newstore.net/api/configuration/apps/associate-app-config-api_config#tag/Associate-App-store-configuration/operation/putStoreConfig) — replaces the whole store configuration. The request body must contain the full configuration, including your existing settings. - [PATCH store configuration](https://docs.newstore.net/api/configuration/apps/associate-app-config-api_config/#tag/Associate-App-store-configuration/operation/patchStoreConfig) — updates only the fields in the request body. ## Capturing the customer's name and address Associates capture the customer's name and address with the Billing Address plugin. > [!NOTE] > Important: > > The Billing Address plugin is the only way to capture a customer's address for Cash & Carry orders. Addresses saved in the customer's profile are not passed to the receipt template. ### Step 1: Enabling the Billing Address plugin In the store's Associate App configuration, under customizations, add addBilling to the cart_management_v2 list. Keep any entries already in the list. ```plaintext {   "customizations": {     "cart_management_v2": ["addBilling"]     } } ``` ### Step 2: Adding the name and address to the sale receipt template The details entered in the Billing Address plugin are available in the sale receipt template in these fields: - customer_name — the customer's name - billing_address — the customer's billing address Add these fields to the template where the customer's name and address should print. ## Capturing the customer's NIF Associates capture the customer's NIF as an *order extended attribute*. This is the only supported way to print the customer's NIF on the sale receipt. ### Step 1: Add the NIF field to Associate App In the store's Associate App configuration, under customizations, add the following item to the order list inside editable_extended_attributes: ```plaintext {   "customizations": {       "editable_extended_attributes": {            "order": [              {                  "attribute_name": "customer_tax_id",                  "label": {                      "en": "Customer NIF Number"              },                  "prompt": {                      "en": "Input customer NIF"                   },                   "keyboard_type": "default”              }         ]      }    } } ``` The value the associate enters is saved on the order as the customer_tax_id extended attribute. > [!NOTE] > Important: > > The attribute_name must be exactly customer_tax_idNewStore uses this attribute to issue a Factura Completa when a NIF is entered. Use the same name in the receipt template in step 2. ### Step 2: Add the NIF to the sale receipt template In the sale receipt template, read the customer_tax_id extended attribute and print it. extended_attributes is a list of { "name": ..., "value": ... } objects, so look up the value by name. The following snippet is an example. Adapt the markup and position to your template: ```plaintext {% set customer_nif = extended_attributes    | selectattr('name', 'equalto', 'customer_tax_id')    | map(attribute='value')    | first    | default('') %} {% if customer_nif %}   
NIF: {{ customer_nif }}
{% endif %} ``` ### Issuing Duplicate or Copies of Receipts A copy of a receipt issued in Spain must include the text "*Duplicado*". To print compliant copy receipts, set the correct fiscal signature settings in the sale receipt template. For example, use the is_copy parameter to check whether the receipt is a copy. See the [fiscal signature template guide](https://docs.newstore.com/v1/docs/tutorial-creating-templates#creating-a-fiscal-signature-template) for details and example templates. To edit the sale receipt template, use the [Template Editor in Omnichannel Manager](https://docs.newstore.com/v1/docs/managing-templates). For more details, see [Customizing a template](https://docs.newstore.com/v1/docs/customizing-templates#customizing-a-template). ### Known Limitations Keep the following limitations in mind when you train associates and design store processes: - **Missing Factura Completa data does not block a sale.** The NewStore Associate App does not stop a sale when details required for a Factura Completa are missing. For example, a sale over €3,000 completes even if no customer NIF is entered. Associates must collect the customer's name, address, and NIF before completing the sale, as required by the fiscal regulations in Spain. - **The €1,000 cash payment limit is not enforced.** The NewsSore Associate App does not block cash payments over the Spanish legal limit for cash transactions. Associates must check the limit before accepting a cash payment. - The NIF and address are captured per order. A NIF saved in the customer's profile is not used on receipts. Associates must enter the NIF on each order that requires a Factura Completa.