En este artículo se explica cómo se asignan los campos del formato SAF-T portugués al RetailForce DOM.
La estructura de datos XML que se describe a continuación se ajusta a la establecida en la Ordenanza 302/2016 y publicaciones posteriores.
Si los campos son obligatorios en el formato SAF-T (PT), también se consideran obligatorios en el RetailForce DOM.
Las siguientes tablas no son generadas actualmente por RetailForce
- Tabla de códigos contables (GeneralLedgerAccounts),
- Tabla de proveedores,
- Asientos contables (GeneralLedgerEntries),
Header
La información del Header de SAF-T se deriva principalmente de los datos maestros de la configuración.
| Nombre del campo SAF-T (PT) | RetailForce DOM | Mandato | Notas | Formato | Ejemplo | |
| <AuditFileVersion></A> | - | Sí |
Versión actual del esquema XML El valor se encuentra predefinido (codificado de forma fija) en la release de RetailForce. |
Texto 10 | 1.04_01 | |
| <companyid></companyid> | Número de identificación de la empresa | Sí | Número de registro mercantil de la empresa | Texto 50 | 513076549 | |
| <n></n> | Número de identificación fiscal de la empresa | sí | NIF portugués (sin espacios ni prefijo de país) | Int 9 | 513076549 | |
| - | Sí |
Ajuste condicional en la configuración:
|
Texto 1 | R | ||
| <nombredelaempresa></nombredelaempresa> | NombreDeLaEmpresa | sí | Denominación social del contribuyente | Texto 100 | XYZ Retail | |
| <nombre></nombre> | n.a. | no | Denominación comercial del contribuyente | Texto 60 | Mejor tienda | |
| <direcci></direcci> | Dirección de la empresa | sí | Dirección del contribuyente | - | ||
| <n></n> | - | no | Texto 10 | 85 | ||
| <nombre></nombre> | DirecciónDeLaEmpresa.Calle | no | Texto 200 | R. de Belém | ||
| <detalle></detalle> |
DirecciónDeLaEmpresa.Calle + DirecciónDeLaEmpresa.StreetNumber |
Sí |
Debe contener
si procede |
Texto 210 | R. de Belém, 100 | |
| <ciudad></ciudad> | DirecciónDeLaEmpresa.Ciudad | Sí | Texto 50 | Póvoa de Santa Catarina | ||
| <postalcode></postalcode> | DirecciónDeLaEmpresa.PostalCode | Sí | Texto 8 | 3140-584 | ||
| <regi></regi> | n.d. | no | Texto 50 | |||
| <pa></pa> | «PT» predefinido | sí | Texto 2 | PT | ||
| <ejerciciofiscal></ejerciciofiscal> | Mes de inicio del ejercicio fiscal | Sí | calculado a partir de Mes de inicio del ejercicio fiscal | Int 4 | 2026 | |
| <fecha></fecha> | fromDate | Sí |
Fecha de inicio del período del archivo (StartDate) Exportar «fromDate» |
Fecha | 01/02/2026 | |
| <enddate></enddate> | UntilDate | sí |
Fecha de finalización del período del archivo (EndDate) Exportar «HastaFecha» |
Fecha | 28/02/2026 | |
| <c></c> | CashRegister.CurrencyIsoCode | sí | Indique la moneda predeterminada: «EUR» | Texto 3 | EUR | |
| <datecreated></datecreated> | Fecha actual en la que se creó la exportación | sí | Fecha de generación del archivo SAF-T (PT) | Fecha | 08/10/2026 | |
| <taxentity></taxentity> | StoreNumber | sí | Debe especificarse el establecimiento al que se refiere el archivo generado. | Texto 20 | Sede | |
| <nif></nif> | sí | NIF del fabricante del software | Texto 20 | 503140600 | ||
| <n></n> | sí | Número de certificado asignado a la entidad productora del software, de conformidad con la Orden n.º 363/2010, de 23 de junio. | Int | 9999 | ||
| <productid></productid> | CashRegister.Software.Brand+'/'+CashRegister.Software.SoftwareCompany | sí |
Nombre de la aplicación que genera el SAF-T (PT). El nombre comercial del software y el de la empresa productora en el formato «Nombre de la aplicación/Nombre de la empresa productora del software». |
Texto 255 | SuperPOS/ABC Software | |
| <versi></versi> | CashRegister.Software.Version | Sí | Debe indicarse la versión de la aplicación que ha generado el archivo. | Texto 30 | 1.11.2 | |
| <comentario></comentario> | n.a. | no | ||||
| <tel></tel> | n.a. | no | ||||
| <fax></fax> | n.d. | no | ||||
| <correo></correo> | n. a. | no | ||||
| n.d. | no | |||||
Archivos maestros
Los ficheros maestros contienen los datos reales de las facturas.
Tabla de clientes
La tabla de clientes se genera a partir de los datos incluidos en los documentos (facturas, recibos, etc.).
| Nombre del campo SAF-T (PT) | RetailForce DOM | Mandato | Notas | Formato | |
| <customerid></customerid> |
Si Partner.IsBusiness: true
Si Partner.IsBusiness: false
|
sí |
Identificador único del cliente (CustomerID) No puede existir más de un registro con el mismo CustomerID en la lista de clientes. En el caso de los consumidores finales, se debe crear un cliente genérico con la denominación «Consumidor final». |
Texto 30 | |
| <AccountID></A> |
Dado que no se presentan datos contables (generalLedger), utilice el valor «Desconocido» «Desconocido» |
Sí |
Código de cuenta (AccountID) Se debe indicar la cuenta corriente del cliente en el plan de cuentas, si está definida. De lo contrario, debe completarse con la designación «Desconocido» («Desconhecido»). |
Texto 30 | |
| <customertaxid></customertaxid> |
Si IsBusiness: true:
Si IsBusiness: false:
|
sí |
Número de identificación fiscal del cliente (CustomerTaxID) Debe indicarse sin el prefijo del país. El cliente genérico, correspondiente al denominado «consumidor final» («Consumidor final»), debe identificarse con el número de identificación fiscal «999999990». |
Texto 30 | |
| <companyname></companyname> |
Si IsBusiness: true:
Si IsBusiness: false:
|
sí |
Nombre de la empresa (CompanyName) El cliente genérico debe identificarse como «Consumidor final». |
Texto 100 | |
| <contacto></contacto> | no | Nombre de la persona de contacto en la empresa (Contacto) | Texto 50 | ||
| <billingaddress></billingaddress> | sí |
Dirección de facturación (BillingAddress) Corresponde a la dirección de la sede social o del establecimiento permanente en el territorio nacional. |
N/A | ||
| <n.></n.> | no | Número de edificio (BuildingNumber) | Texto 20 | ||
| <nombre></nombre> | Calle del socio | no | Nombre de la calle (StreetName) | Texto 200 | |
| <detalledirecci></detalledirecci> |
Partner.Calle + Partner.StreetNumber Se utiliza «Desconocido» si IsBusiness: false y no se indica ninguna dirección |
sí |
Dirección detallada (AddressDetail) Debe incluir el nombre de la calle, el número de bloque y la planta, si procede. Debe completarse con la indicación «Desconocido» («Desconhecido») en las siguientes situaciones:
|
Texto 210 | |
| <ciudad></ciudad> |
Partner.City Se utiliza «Desconocido» si IsBusiness: false y no se indica ninguna dirección |
sí |
Ubicación (ciudad) Debe rellenarse con la indicación «Desconocido» («Desconhecido») en las siguientes situaciones:
|
Texto 50 | |
| <postalcode></postalcode> |
PostalCode Se utiliza «Desconocido» si IsBusiness: false y no se indica ninguna dirección |
sí |
Código postal (PostalCode) Debe completarse con la indicación «Desconocido» («Desconhecido») en las siguientes situaciones:
|
Texto 20 | |
| <regi></regi> |
Si se especifica:
|
n.º | Distrito | Texto 50 | |
| <pa></pa> |
Partner.CountryCode convertido a ISO 3166 ALPHA-2 Se utiliza «Desconocido» si IsBusiness: false y no se indica ninguna dirección |
sí |
Si se conoce, debe completarse de acuerdo con la norma ISO 3166 – 1-alpha-2. Debe completarse con la designación «Desconocido» («Unknown») en las siguientes situaciones:
|
Texto 12 | |
| <shiptoaddress></shiptoaddress> | Se incluye si se indica partner.addressType: [2] = DeliveryAddress | no |
Dirección de envío (ShipToAddress) Si se requiere más de una referencia, esta estructura puede generarse tantas veces como sea necesario. |
N/A | |
| <n></n> | n. a. | no | Número de edificio (BuildingNumber) | Texto 10 | |
| <nombre></nombre> | calle | n.º | Nombre de la calle (StreetName) | Texto 200 | |
| <detalle></detalle> |
calle + streetNumber |
Sí |
Dirección detallada (AddressDetail) Debe incluir el nombre de la vía, el número de manzana y la planta, si procede. Debe completarse con la indicación «Desconocido» («Desconhecido») en las siguientes situaciones:
|
Texto 210 | |
| <ciudad></ciudad> | ciudad | Sí |
Ubicación (ciudad) Debe completarse con la indicación «Desconocido» («Desconhecido») en las siguientes situaciones:
|
Texto 50 | |
| <postalcode></postalcode> | PostalCode | Sí |
Código postal (PostalCode) Debe completarse con la indicación «Desconocido» («Unknown») en las siguientes situaciones:
|
Texto 20 | |
| <regi></regi> | comunidad | n.º | Distrito | Texto 50 | |
| <pa></pa> | Código de país convertido a ISO 3166 ALPHA-2 | sí |
Si se conoce, debe completarse de acuerdo con la norma ISO 3166 – 1-alpha-2. Debe indicarse como «Desconocido» («Unknown») en las siguientes situaciones:
|
Texto 12 | |
| <tel></tel> | n.a. | no | teléfono | Texto 20 | |
| <fax></fax> | n.d. | no | fax | Texto 20 | |
| <correo></correo> | n.d. | no | Dirección de correo electrónico de la empresa | Texto 254 | |
| n.d. | no | Dirección URL del sitio web corporativo | Texto 60 | ||
| <indicador></indicador> | La autofacturación no está disponible en RetailForce; indique siempre «0». | sí |
Indicador de autofacturación (SelfBillingIndicator) Indicador de la existencia de un acuerdo de autofacturación entre el cliente y el proveedor. Debe completarse con «1» si existe un acuerdo y con «0» (cero) si no lo hay. |
Int | |
Tabla de productos/servicios
| Nombre del campo SAF-T (PT) | RetailForce DOM | Mandato | Notas | Formato | |
| <producttype></producttype> |
posiciones.ItemType En caso de impuesto adicional:
En caso de depósitos:
Correspondencia:
En la implementación actual se admiten los gastos de envío |
Sí |
Indicador de producto o servicio (ProductType) Debe completarse con: «P» – Productos; «S» – Servicios; «O» – Otros (p. ej., gastos de envío, anticipos recibidos o enajenación de activos); «E» – Impuestos especiales sobre el consumo – (p. ej., IABA, ISP, IT); «I» – Impuestos, tasas y gravámenes parafiscales –excepto el Vat y el IS, que deben reflejarse en la tabla 2.5 – Tabla de impuestos (TaxTable) y los impuestos especiales sobre el consumo, que deben indicarse con el código «E». |
Texto 1 | |
| <productcode></productcode> | positions.ItemId | sí |
Identificador del producto o servicio (ProductCode) Código único del producto en la lista de productos. |
Texto 60 | |
| <productgroup></productgroup> | positions.ItemGroupCaption | no | Familia de productos o servicios (ProductGroup) | Texto 50 | |
| <productdescription></productdescription> | Posiciones.ItemCaption | sí |
Descripción del producto o servicio (ProductDescription) Debe corresponder a la denominación técnica habitual de los bienes o servicios prestados, especificando los parámetros necesarios para determinar el tipo impositivo aplicable. |
Texto 200 | |
| <productnumbercode></productnumbercode> |
posiciones.GTIN, si se especifica en su defecto positions.ItemId |
Sí |
Código del producto (ProductNumberCode) Debe utilizarse el código EAN (Barcode) del producto. En caso de no disponer de dicho código, introduzca el valor del campo 2.4.2. — Identificador del producto o servicio (ProductCode). |
Texto 60 | |
| <customsdetails></customsdetails> | no | Datos aduaneros | N/A | ||
| <cncode></cncode> | n.a. | no |
Código de la Nomenclatura Combinada (CNCode) Indique el código de la nomenclatura combinada de mercancías de la Unión Europea. Si se requiere más de una referencia, este campo puede repetirse tantas veces como sea necesario. |
Texto 8 | |
| <n.></n.> | n. a. | no |
Número ONU (UNNumber) Indique el número ONU correspondiente a las mercancías peligrosas. Si se requiere más de una referencia, este campo puede generarse tantas veces como sea necesario. |
Texto 4 | |
Tabla de impuestos
| Nombre del campo SAF-T (PT) | RetailForce DOM | Mandato | Notas | Formato | Ejemplo | |
| <taxtableentry></taxtableentry> | sí | Entrada de la tabla de impuestos (TaxTableEntry) | N/A | |||
| <taxtype></taxtype> | En la actualidad, únicamente se admite el código «IVA» para el Impuesto sobre el Valor Añadido (IVA). | Sí |
Código de tipo impositivo (TaxType) En este campo debe indicarse el tipo de impuesto. Debe completarse con: «IVA» – Impuesto sobre el Valor Añadido; «IS» – Impuesto de timbre; «NS» – No sujeto al IVA ni al impuesto de timbre. |
Texto 3 | ||
| <taxcountryregion></taxcountryregion> |
derivado de FiscalRegions (de la tienda)
Correspondencia:
|
Sí |
País o región fiscal (TaxCountryRegion) Debe completarse de conformidad con la norma ISO 3166-1 alfa-2. En el caso de las Regiones Autónomas de Madeira y las Azores, debe completarse con: «PT-AC» — Ámbito fiscal de la Región Autónoma de las Azores; y «PT-MA» — Zona fiscal de la Región Autónoma de Madeira. |
Texto 5 | ||
| <taxcode></taxcode> |
VatIdentification En Portugal se aplican los siguientes tipos de IVA: Portugal: Tipo normal: 23 % Tipo reducido: 6 % Tipo intermedio: 13 % Azores: Tipo normal: 16 % Tipo reducido: 4 % Tipo intermedio: 9 % Madeira: Tipo normal: 22 % Tipo reducido: 4 % (vigente a partir del 1 de octubre de 2024) Tipo intermedio: 12 % |
Sí |
Código fiscal (TaxCode) En el caso del campo 2.5.1.1 —Código de tipo de impuesto (TaxType) = Vat—, deberá rellenarse con:
En el caso del campo 2.5.1.1 —Código de tipo impositivo (TaxType) = IS—, deberá completarse con:
En caso de no estar sujeto al impuesto, debe completarse con «NS». En los recibos emitidos sin desglose de impuestos, debe completarse con «NA». |
Texto 10 | ||
| <descripci></descripci> |
generado según VatIdentification a efectos del IVA
El impuesto de timbre no está disponible actualmente |
Sí | Descripción del impuesto (Descripción) | Texto 255 | ||
| <taxexpirationdate></taxexpirationdate> | no |
Fecha de vencimiento (TaxExpirationDate) Última fecha legal de aplicación del tipo impositivo, en caso de que se produzca una modificación del mismo, durante el período impositivo. |
Fecha | |||
| <taxpercentage></taxpercentage> | Positions.VatPercent | sí |
Porcentaje del tipo impositivo (TaxPercentage) Este campo debe rellenarse si se trata de un porcentaje de impuesto. En caso de exención o no sujeción al impuesto, utilice este campo con el valor «0» (cero). |
Decimal | ||
| <taxamount></taxamount> | TaxType no es compatible | sí |
Importe del impuesto (TaxAmount) Este campo debe rellenarse si se trata de un importe fijo de timbre. |
Monetario | ||
Documentos comerciales (SourceDocuments)
Esta sección contiene los documentos comerciales reales enviados por el sistema de origen.
Documentos comerciales a clientes (SalesInvoices)
Esta sección contiene los siguientes documentTypes:
- 0 / [0] = Recibo
- 1 / [1] = Factura
| Nombre del campo SAF-T (PT) | RetailForce DOM | Mandato | Notas | Formato | ||||
| <salesinvoices></salesinvoices> |
DocumentType:
|
Documentos comerciales para clientes (Facturas de venta) | N/A | |||||
| <n></n> | Recuento del número de documentos comerciales incluidos en el archivo de SAF-T export actual. | sí | Número de entradas de documentos comerciales (NumberOfEntries) | Int | ||||
| <totaldebit></totaldebit> | Suma del valor neto (NetValue) de las posiciones de las transacciones de devolución incluidas en el archivo SAF-T export | Sí | Total de cargos (TotalDebit) | Monetario | ||||
| <totalcredit></totalcredit> | Suma del NetValue de todas las posiciones de transacciones de venta incluidas en el archivo SAF-T export | Sí | Total de abonos (TotalCredit) | Monetario | ||||
| <factura></factura> | Documento de venta (Factura) | N/A | ||||||
| <n.></n.> | fiscalResponse.AdditionalFields.InvoiceNo | Sí |
Identificación única del documento de venta (N.º de factura) Esta identificación se compone secuencialmente de los siguientes elementos: el código interno del tipo de documento asignado por la aplicación, un espacio, el identificador de la serie del documento, una barra (/) y el número secuencial de dicho documento dentro de esa serie. No puede existir ningún registro con la misma identificación. No se puede utilizar el mismo código interno de tipo de documento en distintos tipos de documento. |
Texto 60 | ||||
| <ATCUD></A> |
fiscalResponse.AdditionalFields.AtCud ÚNICAMENTE en el caso de la SAF-T export: El sistema de origen envía ATCUD en fiscalisationAdditionalFields.AtCudPortugal |
Sí |
Código único del documento (ATCUD) Este campo debe contener el código único del documento. El campo debe rellenarse con «0» (cero) hasta que se regule. El código ATCUD es obligatorio a partir de 2023. |
Texto 100 | ||||
| <documentstatus></documentstatus> | sí | Estado del documento (DocumentStatus) | N/A | |||||
| <invoicestatus></invoicestatus> |
«N» para todas las transacciones (ventas y devoluciones), pero no para anulaciones (cancelaciones) «A» si
«S»: no compatible «R»: no es compatible «F»: no se utiliza en RF |
sí |
Estado actual del documento (InvoiceStatus) Debe completarse con:
|
Texto 1 | ||||
| <invoicestatusdate></invoicestatusdate> | BookDate | sí |
Fecha y hora del estado actual del documento (InvoiceStatusDate) Fecha del último registro del estado del documento, con precisión de segundos. Formato de fecha y hora: «AAAA-MM-DDThh:mm:ss». |
Fecha y hora | ||||
| <motivo></motivo> | no |
Motivo del cambio de estado (Reason) Debe indicarse el motivo del cambio en el estado del documento. |
Texto 50 | |||||
| <sourceid></sourceid> | user.ID | sí |
Código de usuario (SourceID) Usuario responsable del estado actual del documento. |
Texto 30 | ||||
| <sourcebilling></sourcebilling> | Solo se admite el valor «P». | Sí |
Origen del documento (SourceBilling) Debe completarse con:
|
Texto 1 | ||||
| <hash></hash> |
fiscalResponse.signature ÚNICAMENTE en el caso de la SAF-T export: El sistema de origen envía el hash en FiscalAdditionalFields.HashPortugal |
Sí |
Clave del documento (Hash) Firma conforme a la Orden n.º 363/2010, de 23 de junio. El campo debe rellenarse con «0» (cero) si la certificación no es obligatoria. |
Texto 172 | ||||
| <hashcontrol></hashcontrol> |
fiscalResponse.AdditionalFields.HashControlValue ÚNICAMENTE en caso de SAF-T export: El sistema de origen envía HashControl en FiscalAdditionalFields.HashControlPortugal |
Sí |
Clave de control (HashControl) Versión de la clave privada empleada para generar la firma en el campo 4.1.4.4. — Clave del documento (Hash). El campo debe rellenarse con «0» (cero) si el documento ha sido generado por un programa no certificado. |
Texto 70 | ||||
| <per></per> |
Calculado a partir de FiscalYearStartMonth si el valor es, por ejemplo, 3 (=marzo) y la exportación se realizó para abril, el valor de <period> es «2».</period> |
sí |
Período contable (Período) Debe indicarse el mes del período impositivo entre «1» y «12», contando a partir de la fecha de su inicio. |
Int | ||||
| <invoicedate></invoicedate> | BookDate | sí |
Fecha del documento de venta (InvoiceDate) Fecha de emisión del documento de venta. |
Fecha | ||||
| <invoicetype></invoicetype> |
Correspondencia: FT: «DocumentType»: 1 / «[1] = Factura FS: «DocumentType»: 0 / «[0] = Recibo FR: documentType: 0 / «[0] = Recibo si se ha definido Document.Partner (contiene datos). ND: no compatible NC: «DocumentType»: 0 / «[0] = Recibo» O «DocumentType»: 1 / «[1] = Factura» si:
VD, TV, TD, AA, DA: obsoletos Sector de seguros (RP, RE, CS, LD, RA): no compatible |
Sí |
Tipo de documento (InvoiceType) Debe completarse con:
En el ámbito asegurador, cuando no se incluya en la tabla 4.3. —Documentos para la comprobación de bienes o servicios (Documentos de Trabajo)—, también se puede completar con:
(a) Para datos hasta el 31 de diciembre de 2012. |
Texto 2 | ||||
| <reg></reg> | sí | Regímenes especiales (SpecialRegimes) | N/A | |||||
| <indicador></indicador> | siempre se establece en «0» | Sí |
Indicador de autofacturación (SelfBillingIndicator) Debe rellenarse con «1» si se aplica la autofacturación y con «0» (cero) en caso contrario. |
Int | ||||
| <cashvatschemeindicator></cashvatschemeindicator> |
Ajuste en la configuración
|
sí |
Indicador del régimen de Vat en efectivo (CashVATSchemeIndicator) Indicador de adhesión al régimen de IVA en efectivo. Debe completarse con «1» si existe adhesión y con «0» (cero) en caso contrario. |
Int | ||||
| <thirdpartiesbillingindicator></thirdpartiesbillingindicator> | No se admite la facturación a terceros. Por lo tanto, siempre «0» | sí |
Indicador de facturación emitida en nombre y por cuenta de terceros (ThirdPartiesBillingIndicator) Debe completarse con «1» si se refiere a facturas emitidas en nombre y por cuenta de terceros y con «0» (cero) en caso contrario. |
Int | ||||
| <sourceid></sourceid> | user.ID | sí |
Código de usuario (SourceID) Usuario que generó el documento. |
Texto 30 | ||||
| <eaccode></eaccode> | no |
Código CAE (EACCode) Debe indicarse el código CAE correspondiente a la actividad relacionada con la emisión de este documento. |
Texto 5 | |||||
| <systementrydate></systementrydate> | BookDate | sí |
Fecha de registro del documento (SystemEntryDate) Fecha de registro del documento, con precisión de segundos, en el momento de la firma. Formato de fecha y hora: «AAAA-MM-DDThh:mm:ss». |
Fecha y hora | ||||
| <transactionid></transactionid> | n.a. (solución no integrada) | sí |
Identificador de la transacción (TransactionID) Este campo debe completarse en el caso de un sistema integrado de contabilidad y facturación, aunque el tipo de archivo (TaxAccountingBasis) no deba contener las tablas relativas a la contabilidad. Se debe indicar la clave única de la tabla 3. Movimientos contables (GeneralLedgerEntries) de la transacción en la que se contabilizó este documento, de conformidad con la norma definida en dicha tabla para el campo 3.4.3.1: Clave única del movimiento contable (TransactionID). |
Texto 70 | ||||
| <customerid></customerid> | partner.id | sí |
Identificador del cliente (CustomerID) Clave primaria para la tabla 2.2. — Tabla de clientes (Customer), que cumple con la norma definida en la misma para el campo 2.2.1. — Identificador único de cliente (CustomerID). |
Texto 30 | ||||
| <shipto></shipto> | si «deliveryAddress» está establecido en «partner» | no |
Lugar de descarga (ShipTo) Información sobre el punto de descarga y la fecha en los que los artículos vendidos se ponen a disposición del cliente, o de quien este designe en el caso de operaciones triangulares. |
N/A | ||||
| <deliveryid></deliveryid> | no |
Identificador de entrega (DeliveryID) En el caso de operaciones triangulares, deben indicarse el lugar de entrega y el número de Vat del destinatario. |
Texto 255 | |||||
| <fecha></fecha> | no |
Fecha de entrega (DeliveryDate) En el ámbito asegurador, este campo debe completarse con la fecha de finalización del período de cobertura del riesgo. |
Fecha | |||||
| <warehouseid></warehouseid> | no | Identificador del almacén de destino (WarehouseID) | Texto 50 | |||||
| <id></id> | no | Ubicación de las mercancías en el almacén de destino (LocationID) | Texto 30 | |||||
| no | Dirección | N/A | ||||||
| <n></n> | no | Número de edificio (BuildingNumber) | Texto 10 | |||||
| <nombre></nombre> | partner.street | no | Nombre de la calle (StreetName) | Texto 200 | ||||
| <detalledirecci></detalledirecci> |
partner.street + partner.streetNumber |
Sí | Debe incluir el nombre de la vía, el número de la vía y la planta, si procede. | Texto 210 | ||||
| <ciudad></ciudad> | partner.city | Sí | Ciudad | Texto 50 | ||||
| <postalcode></postalcode> | PostalCode del socio | Sí | Código postal | Texto 20 | ||||
| <regi></regi> | no | Distrito | Texto 50 | |||||
| <pa></pa> |
CountryCode del socio convertido a ISO 3166 ALPHA-2 |
Sí | Debe completarse de conformidad con la norma ISO 3166 - 1-alpha-2. | Texto 2 | ||||
| <shipfrom></shipfrom> | storeAddress (de la configuración) | Sí |
Lugar de carga (ShipFrom) Información sobre el punto de carga y la fecha en la que se inicia el envío de los artículos vendidos al cliente. |
N/A | ||||
| <deliveryid></deliveryid> | no |
Identificador de entrega (DeliveryID) Debe indicarse el número de matrícula del vehículo de transporte o del medio de envío utilizado, p. ej., servicio de mensajería urgente, etc. |
Texto 255 | |||||
| <fecha></fecha> | no |
Fecha de recepción (DeliveryDate) En el ámbito asegurador, este campo debe completarse con la fecha de inicio del período de cobertura del riesgo. |
Fecha | |||||
| <warehouseid></warehouseid> | no | Identificador del almacén de salida (WarehouseID) | Texto 50 | |||||
| <id></id> | no | Ubicación de las mercancías en el almacén de salida (LocationID) | Texto 30 | |||||
| no | Dirección | N/A | ||||||
| <n></n> | no | Número de edificio (BuildingNumber) | Texto 10 | |||||
| <nombre></nombre> | storeAddress.street (de la configuración) | no | Nombre de la calle (StreetName) | Texto 200 | ||||
| <detalle></detalle> |
storeAddress.street + storeAddress.streetNumber (de la configuración) |
Sí | Debe incluir el nombre de la calle, el número de la calle y la planta, si procede. | Texto 210 | ||||
| <ciudad></ciudad> | storeAddress.city (de la configuración) | Sí | Ciudad | Texto 50 | ||||
| <postalcode></postalcode> | storeAddress.PostalCode (de la configuración) | Sí | Código postal | Texto 20 | ||||
| <regi></regi> | no | Distrito | Texto 50 | |||||
| <pa></pa> | storeAddress.country convertido a ISO 3166 ALPHA-2 (según la configuración) | sí | Debe completarse de conformidad con la norma ISO 3166 - 1-alpha-2. | Texto 2 | ||||
| <movementendtime></movementendtime> | n.a. | no |
Fecha y hora de finalización del transporte (MovementEndTime) Tipo de fecha y hora: «AAAA-MM-DDThh:mm:ss», donde «ss» puede ser «00» a falta de información específica. |
Fecha y hora | ||||
| <movementstarttime></movementstarttime> | n.a. | sí |
Fecha y hora de inicio del transporte (MovementStartTime) Formato de fecha y hora: «AAAA-MM-DDThh:mm:ss», donde «ss» puede ser «00» a falta de información específica. Este campo debe completarse si el documento también sirve como documento de transporte, de conformidad con lo dispuesto en el Régimen de Mercancías en Circulación, aprobado mediante el Decreto-Ley n.º 147/2003, de 11 de julio. |
Fecha y hora | ||||
| <l></l> | sí | N/A | ||||||
| <n.></n.> | posiciones.PositionNumber + 1 | Sí |
Número de línea (LineNumber) Las líneas deben exportarse en el mismo orden en que aparecen en el documento original. |
Int | ||||
| <orderreferences></orderreferences> | n.a. | no |
Referencia al documento de origen (OrderReferences) Si se requiere más de una referencia, esta estructura puede generarse tantas veces como sea necesario. |
N/A | ||||
| <originatingon></originatingon> | n. a. | no |
Número del documento de origen (OriginatingON) Deben indicarse el tipo, la serie y el número del documento que justifica la emisión del presente documento. Si el documento está incluido en SAF-T (PT), deberá utilizarse la estructura de numeración del campo de origen. |
Texto 60 | ||||
| <orderdate></orderdate> | n.a. | no | Fecha del documento de origen (OrderDate) | Fecha | ||||
| <productcode></productcode> | positions.ItemId | sí |
Identificador del producto o servicio (ProductCode) Clave del registro de la tabla 2.4. — Tabla de productos/servicios (Product), en el campo 2.4.2. — Identificador del producto o servicio (ProductCode). |
Texto 60 | ||||
| <productdescription></productdescription> | positions.itemCaption | sí |
Descripción del producto o servicio (ProductDescription) Descripción de la línea de factura, vinculada a la tabla 2.4. — Tabla de productos/servicios (Product), en el campo 2.4.4. — Descripción del producto o servicio (ProductDescription). |
Texto 200 | ||||
| <cantidad></cantidad> | posiciones.Cantidad | sí | Cantidad | Decimal | ||||
| <unidaddemedida></unidaddemedida> |
Posiciones.UnidadDeCantidad.isoCode Utilizar códigos ISO/UCUM |
sí | Unidad de medida (UnitOfMeasure) | Texto 20 | ||||
| <unitprice></unitprice> | calculado a partir de: BaseNetValue / cantidad | Sí |
Precio unitario (UnitPrice) Precio unitario deducidos los descuentos de línea y de cabecera, sin incluir impuestos. Debe rellenarse con «0,00» si es necesario rellenar el campo 4.1.4.19.8. - Valor unitario imponible (TaxBase). |
Monetario | ||||
| <taxbase></taxbase> |
Se utiliza únicamente para artículos gratuitos, si GrossValue: 0 y BaseGrossValue > 0 |
sí |
Valor imponible unitario (TaxBase) Valor imponible unitario que no contribuye al total del documento sin impuestos (TotalNeto). Este valor se utiliza como base para calcular los impuestos de la línea. El signo (débito o crédito) con el que el impuesto así calculado contribuye al TaxPayable se deriva de la existencia de DebitAmount o CreditAmount en la línea. |
Monetario | ||||
| <taxpointdate></taxpointdate> |
para «DocumentType»: 0 / «[0] = Recibo
para DocumentType": 1 / "[1] = Factura
|
Sí |
Fecha de envío de los bienes o de prestación de los servicios (TaxPointDate) Fecha de envío de los bienes o de prestación de los servicios. Debe indicarse la fecha del albarán correspondiente, si lo hubiera. En caso de existir varios albaranes, deberá consignarse la fecha del más antiguo. |
Fecha | ||||
| <referencias></referencias> |
Referencias a facturas (Referencias) Referencias a facturas en sus documentos rectificativos. Si se requiere más de una referencia, esta estructura puede generarse tantas veces como sea necesario. |
N/A | ||||||
| <referencia></referencia> | documentReference.fiscalDocumentNumber | no | Referencia a la factura o a la factura simplificada, mediante su identificación única, en los sistemas en los que esta exista. Debe utilizarse la estructura de numeración del campo de origen. | Texto 60 | ||||
| <motivo></motivo> | documentReference.returnReasonText | no | Debe completarse con el motivo de la emisión. | Texto 50 | ||||
| <descripci></descripci> | positions.itemCaption | sí | Descripción de la línea del documento. | Texto 200 | ||||
| <n></n> | no | Número de serie del producto (ProductSerialNumber) | N/A | |||||
| <n></n> | posiciones.ItemSerialNumber del artículo | sí |
Número de serie Debe incluir el número de serie del producto tal como aparece en el documento. Por ejemplo: VIN, IMEI, ISSN, ISAN. Si se requiere más de una referencia, este campo puede generarse tantas veces como sea necesario. |
Texto 100 | ||||
| <importe></importe> | posiciones.netValor neto de la posición de devolución correspondiente | sí |
Importe de cargo (DebitAmount) Importe por línea, sin impuestos, de los documentos que se contabilizarán en la cuenta de ventas. Este importe se deduce de los descuentos de línea y de cabecera. |
Monetario | ||||
| <creditamount></creditamount> | positions.netNetValue de la posición de ventas correspondiente | sí |
Importe de abono Importe por línea, sin impuestos, de los documentos que se contabilizarán como abono en la cuenta de ventas. Este importe se deduce de los descuentos de línea y de cabecera. |
Monetario | ||||
| <impuesto></impuesto> | sí | Tipo impositivo | N/A | |||||
| <tipo></tipo> | Siempre se indica «IVA» | Sí |
Código de tipo impositivo (TaxType) En este campo debe indicarse el tipo de impuesto. Debe rellenarse con:
|
Texto 3 | ||||
| <taxcountryregion></taxcountryregion> |
derivado de FiscalRegions (de la tienda)
Correspondencia:
|
Sí |
País o región fiscal (TaxCountryRegion) Debe completarse de conformidad con la norma ISO 3166-1 alfa-2. En el caso de las regiones autónomas de Madeira y las Azores, debe indicarse lo siguiente:
|
Texto 5 | ||||
| <taxcode></taxcode> |
VatIdentification En Portugal se aplican los siguientes tipos del Vat: Portugal: Tipo normal: 23 % Tipo reducido: 6 % Tipo intermedio: 13 % Azores: Tipo normal: 16 % Tipo reducido: 4 % Tipo intermedio: 9 % Madeira: Tipo normal: 22 % Tipo reducido: 4 % (vigente a partir del 1 de octubre de 2024) Tipo intermedio: 12 % |
Sí |
Código fiscal (TaxCode) Código fiscal de la tabla de impuestos. En el caso del campo 4.1.4.19.15.1. —Código de tipo de impuesto (TaxType) = Vat—, debe completarse con:
En el caso del campo 4.1.4.19.15.1 —Código de tipo impositivo (TaxType) = IS—, deberá completarse con:
En caso de no estar sujeto al impuesto, debe completarse con «NS». |
Texto 10 | ||||
| <taxpercentage></taxpercentage> | Posiciones.VatPercent | sí |
Porcentaje impositivo (TaxPercentage) Este campo debe completarse cuando se trate de un porcentaje impositivo. El porcentaje de impuesto corresponde al impuesto aplicable al campo 4.1.4.19.13. — Importe de cargo (DebitAmount) — o al campo 4.1.4.19.14. — Importe de abono (CreditAmount). En caso de exención o de no sujeción al impuesto, utilice este campo con el valor «0» (cero). |
Decimal | ||||
| <taxamount></taxamount> | TaxType no es compatible | sí |
Importe del impuesto (TaxAmount) Este campo debe completarse cuando se trate de un importe fijo por unidad del impuesto de timbre. Dicho importe, multiplicado por la cantidad (Quantity), contribuye al impuesto a pagar (TaxPayable). |
Monetario | ||||
| <taxexemptionreason></taxexemptionreason> |
Códigos de motivo de exención M01-M99 fiscalResponse.printingFields |
sí |
Motivo de la exención fiscal (TaxExemptionReason) Este campo debe completarse cuando los campos 4.1.4.19.15.4 —Porcentaje del impuesto (TaxPercentage)— o 4.1.4.19.15.5 — Importe del impuesto (TaxAmount) sean iguales a cero. Se deberá hacer referencia a la disposición legal aplicable. Este campo también debe completarse en los casos de exención de las tasas a las que se refiere la Tabla 2.5. — Tabla de tasas (TaxTable). |
Texto 60 | ||||
| <taxexemptioncode></taxexemptioncode> | Véanse los códigos de motivo de exención M01-M99 | sí |
Código de motivo de exención fiscal (TaxExemptionCode) Debe completarse con el código de motivo de exención o de no liquidación, que puede consultarse en el Manual de integración de software: Comunicación de facturas a la AT. Este campo debe rellenarse cuando los campos 4.1.4.19.15.4 —Porcentaje del impuesto (TaxPercentage)— o 4.1.4.19.15.5 —Importe del impuesto (TaxAmount)— sean iguales a cero. Este campo también debe rellenarse en los casos de exención de las tasas a las que se refiere la tabla 2.5. — Tabla de tasas (TaxTable). |
Texto 3 | ||||
| <settlementamount></settlementamount> | no |
Importe de liquidación de la línea (SettlementAmount) Debe reflejar todos los descuentos concedidos (la proporción de los descuentos globales correspondientes a esta línea y los específicos de la misma) que afecten al valor del campo 4.1.4.20.3. – Total del documento con impuestos (GrossTotal). |
Monetario | |||||
| <informaci></informaci> | no | Información aduanera (CustomsInformation) | N/A | |||||
| <ARCNo></A> | no |
Código de referencia administrativa (ARCNo) Rellene este campo con el código asignado tras la validación del documento administrativo electrónico e-DA. Si se requiere más de una referencia, este campo puede generarse tantas veces como sea necesario. |
Texto 21 | |||||
| <iecamount></iecamount> | no |
Importe del impuesto especial correspondiente a la línea (IECAmount) Importe del impuesto especial incluido en la base imponible de la línea del documento, si no se detalla en una línea separada del mismo, con el «Indicador de producto o servicio (ProductType)» = E. |
Monetario | |||||
| <documenttotals></documenttotals> | sí | Totales del documento (DocumentTotals) | N/A | |||||
| <taxpayable></taxpayable> | suma de los TaxValues de las posiciones | Sí | Importe del impuesto a pagar (TaxPayable) | Monetario | ||||
| <totalneto></totalneto> | suma del NetValue de las posiciones | Sí |
Importe total del documento sin impuestos (NetTotal) Este campo no debe incluir los importes correspondientes a los impuestos que figuran en la Tabla 2.5. – Tabla de impuestos (TaxTable). |
Monetario | ||||
| <grosstotal></grosstotal> | suma de los GrossValue de las posiciones | sí |
Importe total del documento, impuestos incluidos (GrossTotal) Este campo no debe reflejar ninguna retención fiscal incluida en la estructura 4.1.4.21. – Retención fiscal (WithholdingTax) |
Monetario | ||||
| <moneda></moneda> | solo si payments.CurrencyIsoCode ≠ EUR | no | No debe generarse si el documento se emite en euros. | N/A | ||||
| <c></c> | payments.currencyIsoCode | sí |
Código de moneda (CurrencyCode) En el caso de divisas extranjeras, este campo debe completarse de conformidad con la norma ISO 4217. |
Texto 3 | ||||
| <currencyamount></currencyamount> | payments.ForeignAmount | sí |
Importe total en moneda extranjera (CurrencyAmount) Valor del campo 4.1.4.20. 3. – Total del documento, impuestos incluidos (GrossTotal), en la moneda original del documento. |
Monetario | ||||
| <exchangerate></exchangerate> | payments.ForeignAmountExchangeRate | sí |
Tipo de cambio (ExchangeRate) Debe indicarse el tipo de cambio utilizado para la conversión a EUR. |
Decimal | ||||
| <liquidaci></liquidaci> | no |
Acuerdos o métodos de pago. Si se requiere más de una referencia, esta estructura puede generarse tantas veces como sea necesario. |
N/A | |||||
| <descuento></descuento> | no |
Acuerdos de descuento futuros (SettlementDiscount) Debe completarse con los acuerdos de descuento que se aplicarán en el futuro sobre el valor actual. |
Texto 30 | |||||
| <importedeliquidaci></importedeliquidaci> | no |
Importe de liquidación (SettlementAmount) Representa el importe acordado para el descuento futuro sin que ello afecte al valor actual del documento indicado en el campo 4.1.4.20.3. — Importe total del documento con impuestos (GrossTotal). |
Monetario | |||||
| <settlementdate></settlementdate> | no |
Fecha de liquidación acordada (SettlementDate) La información que debe incluirse es la fecha acordada para el pago con descuento. |
Datos | |||||
| <paymentterms></paymentterms> | no |
Condiciones de pago La información que debe incluirse son las condiciones acordadas o el plazo de pago. |
Texto 100 | |||||
| <pago></pago> | no |
En el caso de pagos mixtos, deben indicarse los importes por tipo de medio y fecha de pago. Si se requiere más de una referencia, esta estructura puede generarse tantas veces como sea necesario. |
N/A | |||||
| <mecanismo></mecanismo> |
payments.PaymentType Correspondencia:
|
no |
Medios de pago (PaymentMechanism) Debe completarse con:
|
Texto 2 | ||||
| <paymentamount></paymentamount> | payments.amount | no |
Importe del pago (PaymentAmount) Debe indicarse el importe por método de pago. |
Monetario | ||||
| <paymentdate></paymentdate> | no | Fecha de pago (PaymentDate) | Fecha | |||||
| <withholdingtax></withholdingtax> | no |
Retención fiscal Si se requiere más de una referencia, esta estructura puede generarse tantas veces como sea necesario. |
N/A | |||||
| <tipo></tipo> | no |
Código de tipo de retención fiscal (WithholdingTaxType) En este campo, debe indicar el tipo de retención fiscal rellenándolo con:
|
Texto 3 | |||||
| <withholdingtaxdescription></withholdingtaxdescription> | no |
Motivo de la retención fiscal (WithholdingTaxDescription) Debe indicarse la disposición legal aplicable. Si el código de tipo impositivo (WithholdingTaxType) = IS, deberá introducirse el código fiscal correspondiente. |
Texto 60 | |||||
| <withholdingtaxamount></withholdingtaxamount> | no |
Importe de la retención fiscal (WithholdingTaxAmount) Debe indicarse el importe del impuesto retenido. |
Monetario | |||||
Otros documentos
Además de los «documentos comerciales destinados a los consumidores (SalesInvoices)», el SAF-T contiene otros documentos:
- Documentos de movimiento de mercancías (MovementOfGoods)
- Documentos de comprobación de mercancías o prestación de servicios (Documentos de trabajo)
- Documentos de recibos emitidos (Payments)
La correspondencia de estas secciones es equivalente a la sección «Documentos comerciales para clientes (SalesInvoices)» e incluye datos de los documentTypes enumerados en el artículo «Correspondencia de documentTypes SAF-T (PT)».
Este artículo ha sido traducido automáticamente.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.