Cet article explique comment les champs du format SAF-T portugais sont mis en correspondance avec le modèle d’objet de document (DOM) de RetailForce.
La structure de données XML décrite ci-dessous est conforme à celle définie dans l’ordonnance n° 302/2016 et les publications ultérieures.
Si certains champs sont obligatoires dans le format SAF-T (PT), ils le sont également dans le RetailForce DOM.
Les tableaux suivants ne sont actuellement pas générés par RetailForce
- Tableau des codes comptables (GeneralLedgerAccounts),
- Tableau des fournisseurs,
- Écritures comptables (GeneralLedgerEntries),
Header
Les informations contenues dans l'en-tête du fichier SAF-T proviennent principalement des données de base définies dans la configuration.
| Nom du champ SAF-T (PT) | RetailForce DOM | Mandat | Remarques | Format | Exemple | |
| <AuditFileVersion></A> | - | oui |
Version actuelle du schéma XML La valeur est définie (codée en dur) dans la release de RetailForce |
Texte 10 | 1.04_01 | |
| <companyid></companyid> | Numéro d'identification de l'entreprise | oui | Numéro d’immatriculation de l’entreprise | Texte 50 | 513076549 | |
| <num></num> | Numéro d'identification fiscale de l'entreprise | oui | NIF portugais (sans espaces ni préfixe de pays) | Int 9 | 513076549 | |
| <basecomptablefiscale></basecomptablefiscale> | - | Oui |
Paramètre conditionnel dans la configuration :
|
Texte 1 | R | |
| <nomdel></nomdel> | NomDeL'Entreprise | oui | Désignation de l’entité juridique du contribuable | Texte 100 | XYZ Retail | |
| <nom></nom> | n.d. | non | Dénomination commerciale du contribuable | Texte 60 | Meilleur magasin | |
| <Adresse de l'entreprise></A> | Adresse de l'entreprise | oui | Adresse du contribuable | - | ||
| <num></num> | - | non | Texte 10 | 85 | ||
| <nom></nom> | AdresseDeL'Entreprise.Rue | non | Texte 200 | R. de Belém | ||
| <d></d> |
AdresseDeL'Entreprise.Rue + AdresseDeL'Entreprise.StreetNumber |
oui |
Doit contenir
le cas échéant |
Texte 210 | R. de Belém, 100 | |
| <ville></ville> | AdresseDeL'Entreprise.Ville | oui | Texte 50 | Póvoa de Santa Catarina | ||
| <postalcode></postalcode> | AdresseDeL'Entreprise.PostalCode | Oui | Texte 8 | 3140-584 | ||
| <r></r> | n.d. | non | Texte 50 | |||
| <pays></pays> | « PT » codé en dur | oui | Texte 2 | PT | ||
| <exercice></exercice> | FiscalYearStartMonth | Oui | calculé à partir du mois de début de l'exercice | Int 4 | 2026 | |
| <startdate></startdate> | fromDate | Oui |
Date de début de la période du fichier (StartDate) Exporter « fromDate » |
Date | 01/02/2026 | |
| <enddate></enddate> | UntilDate | oui |
Date de fin de la période de conservation (EndDate) Exporter « UntilDate » |
Date | 28/02/2026 | |
| <currencycode></currencycode> | CashRegister.CurrencyIsoCode | oui | Indiquez la devise par défaut : « EUR » | Texte 3 | EUR | |
| <datecreated></datecreated> | Date à laquelle l'exportation a été créée | oui | Date de génération du fichier SAF-T (PT) | Date | 08/10/2026 | |
| <taxentity></taxentity> | StoreNumber | oui | L'établissement auquel se rapporte le fichier généré doit être précisé | Texte 20 | Siège social | |
| <productcompanytaxid></productcompanytaxid> | oui | Numéro d'identification fiscale (NIF) de l'éditeur du logiciel | Texte 20 | 503140600 | ||
| <num></num> | oui | Numéro de certificat attribué à l'entité éditrice du logiciel, conformément à l'arrêté n° 363/2010 du 23 juin. | Int | 9999 | ||
| <productid></productid> | CashRegister.Software.Brand+'/'+CashRegister.Software.SoftwareCompany | oui |
Nom de l’application qui génère le fichier SAF-T (PT). Le nom commercial du logiciel et celui de la société éditrice, au format « Nom de l'application/Nom de la société éditrice du logiciel ». |
Texte 255 | SuperPOS/ABC Software | |
| <version></version> | CashRegister.Software.Version | oui | La version de l'application ayant généré le fichier doit être indiquée. | Texte 30 | 1.11.2 | |
| <headercomment></headercomment> | n.a. | non | ||||
| <t></t> | n.a. | non | ||||
| <fax></fax> | n.d. | non | ||||
| <adresse électronique></adresse électronique> | n.d. | non | ||||
| <site></site> | n.d. | non | ||||
Fichiers maîtres
Les fichiers maîtres contiennent les données réelles des factures.
Table des clients
Le tableau des clients est généré à partir des données figurant dans les documents (factures, reçus, etc.).
| Nom du champ SAF-T (PT) | RetailForce DOM | Mandat | Remarques | Format | |
| <customerid></customerid> |
Si Partner.IsBusiness : true
Si Partner.IsBusiness : faux
|
oui |
Identifiant unique du client (CustomerID) Il ne peut exister qu’un seul enregistrement portant le même CustomerID dans la liste des clients. Dans le cas des consommateurs finaux, il convient de créer un client générique portant la mention « Consommateur final » (« Consumidor final »). |
Texte 30 | |
| <AccountID></A> |
En l’absence de données comptables (grand livre), veuillez utiliser la valeur « Inconnu » « Desconhecido » |
oui |
Code de compte (AccountID) Le compte courant du client dans le plan comptable doit être indiqué, s’il est défini. Dans le cas contraire, il doit être renseigné avec la mention « Inconnu » (« Desconhecido »). |
Texte 30 | |
| <customertaxid></customertaxid> |
Si IsBusiness : true :
Si IsBusiness : false :
|
oui |
Numéro d'identification fiscale du client (CustomerTaxID) Celui-ci doit être indiqué sans le préfixe du pays. Le client générique, correspondant au « consommateur final » (« Consumidor final »), doit être identifié par le numéro d'identification fiscale « 999999990 ». |
Texte 30 | |
| <companyname></companyname> |
Si IsBusiness : true :
Si IsBusiness : false :
|
oui |
Nom de l’entreprise (CompanyName) Le client générique doit être identifié comme « Consommateur final » (« Consumidor final »). |
Texte 100 | |
| <contact></contact> | non | Nom de la personne à contacter au sein de l’entreprise (Contact) | Texte 50 | ||
| <billingaddress></billingaddress> | oui |
Adresse de facturation (BillingAddress) Correspond à l'adresse du siège social ou de l'établissement stable situé sur le territoire national. |
N/A | ||
| <num></num> | non | Numéro de bâtiment (BuildingNumber) | Texte 20 | ||
| <nomderue></nomderue> | Partner.Street | non | Nom de la rue (StreetName) | Texte 200 | |
| <AddressDetail></A> |
Partner.Street + Partner.StreetNumber La valeur « Desconhecido » est utilisée si IsBusiness = false et qu’aucune adresse n’est indiquée |
oui |
Adresse détaillée (AddressDetail) Doit inclure le nom de la rue, le numéro d’immeuble et l’étage, le cas échéant. Doit être renseigné avec la mention « Inconnu » (« Desconhecido ») dans les situations suivantes :
|
Texte 210 | |
| <ville></ville> |
Partner.City « Desconhecido » est utilisé si IsBusiness = false et qu’aucune adresse n’est indiquée |
oui |
Localisation (ville) Ce champ doit être renseigné avec la mention « Inconnu » (« Desconhecido ») dans les situations suivantes :
|
Texte 50 | |
| <postalcode></postalcode> |
PostalCode « Desconhecido » est utilisé si IsBusiness = false et qu’aucune adresse n’est indiquée |
oui |
Code postal (PostalCode) Il doit être renseigné avec la mention « Inconnu » (« Desconhecido ») dans les situations suivantes :
|
Texte 20 | |
| <r></r> |
Si indiqué :
|
n° | Circonscription | Texte 50 | |
| <pays></pays> |
Partner.CountryCode est converti au format ISO 3166 ALPHA-2 La valeur « Desconhecido » est utilisée si IsBusiness = false et qu'aucune adresse n'est indiquée |
oui |
Si cette information est connue, elle doit être renseignée conformément à la norme ISO 3166 – 1-alpha-2. Il doit être renseigné avec la mention « Inconnu » (« Desconhecido ») dans les situations suivantes :
|
Texte 12 | |
| <shiptoaddress></shiptoaddress> | inclus si partner.addressType : [2] = DeliveryAddress est indiqué | non |
Adresse de livraison (ShipToAddress) Si plusieurs références sont nécessaires, cette structure peut être générée autant de fois que nécessaire. |
Non applicable | |
| <num></num> | n.a. | non | Numéro de bâtiment (BuildingNumber) | Texte 10 | |
| <nomderue></nomderue> | rue | n° | Nom de la rue (StreetName) | Texte 200 | |
| <d></d> |
rue + numéro de rue |
oui |
Adresse détaillée (AddressDetail) Doit inclure le nom de la rue, le numéro de bloc et l’étage, le cas échéant. Doit être renseigné par la mention « Inconnu » (« Desconhecido ») dans les situations suivantes :
|
Texte 210 | |
| <ville></ville> | ville | oui |
Lieu (ville) Ce champ doit être renseigné avec la valeur « Inconnu » (« Desconhecido ») dans les situations suivantes :
|
Texte 50 | |
| <postalcode></postalcode> | PostalCode | oui |
Code postal (PostalCode) Il doit être renseigné avec la mention « Inconnu » (« Desconhecido ») dans les situations suivantes :
|
Texte 20 | |
| <r></r> | communauté | n° | District | Texte 50 | |
| <pays></pays> | Code pays converti au format ISO 3166 ALPHA-2 | oui |
S’il est connu, il doit être renseigné conformément à la norme ISO 3166 – 1-alpha-2. Il doit être renseigné avec la valeur « Inconnu » (« Desconhecido ») dans les cas suivants :
|
Texte 12 | |
| <t></t> | n.a. | non | téléphone | Texte 20 | |
| <fax></fax> | n.d. | non | télécopieur | Texte 20 | |
| <adresse électronique></adresse électronique> | n.d. | non | Adresse e-mail de l'entreprise | Texte 254 | |
| <site></site> | n.d. | non | Adresse URL du site web de l'entreprise | Texte 60 | |
| <selfbillingindicator></selfbillingindicator> | L'autofacturation n'est pas prise en charge dans RetailForce ; veuillez toujours indiquer « 0 ». | oui |
Indicateur d’autofacturation (SelfBillingIndicator) Indicateur de l’existence d’un accord d’autofacturation entre le client et le fournisseur. Il doit être renseigné par « 1 » en présence d’un accord et par « 0 » (zéro) en l’absence d’accord. |
Int | |
Tableau des produits/services
| Nom du champ SAF-T (PT) | RetailForce DOM | Mandat | Remarques | Format | |
| <producttype></producttype> |
positions.ItemType En cas de taxe supplémentaire :
En cas de dépôts :
Mappage :
Les frais de livraison sont actuellement pris en charge |
Oui |
Indicateur de produit ou de service (ProductType) Doit être renseigné avec : « P » – Produits ; « S » – Services ; « O » – Autres (par exemple, frais d’expédition, avances reçues ou cession d’actifs) ; « E » – Droits d’accise – (par exemple : IABA, ISP, IT) ; « I » – Impôts, droits et taxes parafiscales – à l’exception de la VAT et de l’IS, qui doivent figurer dans le tableau 2.5 – Tableau fiscal (TaxTable), et des taxes spéciales de consommation, qui doivent être indiquées à l’aide du code « E ». |
Texte 1 | |
| <productcode></productcode> | positions.ItemId | oui |
Identifiant du produit ou du service (ProductCode) Code produit unique dans la liste des produits. |
Texte 60 | |
| <productgroup></productgroup> | positions.ItemGroupCaption | non | Famille de produits ou de services (ProductGroup) | Texte 50 | |
| <productdescription></productdescription> | Positions.itemCaption | oui |
Description du produit ou du service (ProductDescription) Cette description doit correspondre à la dénomination habituelle des biens ou services fournis, en précisant les éléments nécessaires à la détermination du taux d’imposition applicable. |
Texte 200 | |
| <productnumbercode></productnumbercode> |
positions.GTIN si spécifié sinon positions.ItemId |
oui |
Code produit (ProductNumberCode) Le code EAN (Barcode) du produit doit être utilisé. En l’absence de celui-ci, indiquez la valeur du champ 2.4.2. – Identifiant du produit ou du service (ProductCode). |
Texte 60 | |
| <customsdetails></customsdetails> | non | Détails douaniers | N/A | ||
| n.a. | non |
Code de la nomenclature combinée (Code NC) Veuillez indiquer le code de la nomenclature des marchandises de l'Union européenne. Si plusieurs références sont nécessaires, ce champ peut être généré autant de fois que nécessaire. |
Texte 8 | ||
| <num></num> | s.o. | non |
Numéro ONU (UNNumber) Indiquez le numéro ONU correspondant aux marchandises dangereuses. Si plusieurs références sont nécessaires, ce champ peut être créé autant de fois que nécessaire. |
Texte 4 | |
Tableau fiscal
| Nom du champ SAF-T (PT) | RetailForce DOM | Mandat | Remarques | Format | Exemple | |
| <taxtableentry></taxtableentry> | oui | Entrée de barème fiscal (TaxTableEntry) | N/A | |||
| <taxtype></taxtype> | Actuellement, seul le type « IVA » (taxe sur la valeur ajoutée) est pris en charge. | oui |
Code du type de taxe (TaxType) Le type de taxe doit être indiqué dans ce champ. Il doit être renseigné comme suit : « IVA » – Taxe sur la valeur ajoutée ; « IS » – Droit de timbre ; « NS » – Non soumis à la VAT ni au droit de timbre. |
Texte 3 | ||
| <taxcountryregion></taxcountryregion> |
dérivé de FiscalRegions (du magasin)
Mise en correspondance :
|
Oui |
Pays ou région fiscale (TaxCountryRegion) Doit être renseigné conformément à la norme ISO 3166-1-alpha-2. Dans le cas des régions autonomes de Madère et des Açores, ce champ doit être renseigné comme suit : « PT-AC » - Zone fiscale de la région autonome des Açores ; et « PT-MA » – Zone fiscale de la région autonome de Madère. |
Texte 5 | ||
| <taxcode></taxcode> |
VatIdentification Au Portugal, les taux de TVA suivants s’appliquent : Portugal : Taux normal : 23 % Taux réduit : 6 % Taux intermédiaire : 13 % Açores : Taux normal : 16 % Taux réduit : 4 % Taux intermédiaire : 9 % Madère : Taux normal : 22 % Taux réduit : 4 % (applicable à compter du 01/10/2024) Taux intermédiaire : 12 % |
oui |
Code fiscal (TaxCode) Dans le cas du champ 2.5.1.1 – Code du type de taxe (TaxType) = Vat, il doit être renseigné comme suit :
Dans le cas du champ 2.5.1.1 – Code du type de taxe (TaxType) = IS, il doit être renseigné comme suit :
En cas d’exonération, il doit être renseigné par « NS ». Sur les reçus émis sans détail de la taxe, il doit être renseigné par « NA ». |
Texte 10 | ||
| <description></description> |
généré en fonction de VatIdentification
Le droit de timbre n’est pas pris en charge à ce stade. |
oui | Description de la taxe (Description) | Texte 255 | ||
| <taxexpirationdate></taxexpirationdate> | non |
Date d'expiration (TaxExpirationDate) Dernière date légale d'application du taux d'imposition, en cas de modification de celui-ci, au cours de la période d'imposition. |
Date | |||
| <taxpercentage></taxpercentage> | Positions.VatPercent | oui |
Pourcentage du taux d’imposition (TaxPercentage) Ce champ doit être renseigné lorsqu’il s’agit d’un taux de TVA. En cas d’exonération ou de non-assujettissement à la TVA, veuillez indiquer la valeur « 0 » (zéro) dans ce champ. |
Décimale | ||
| <taxamount></taxamount> | TaxType n’est pas pris en charge | oui |
Montant de la taxe (TaxAmount) Ce champ doit être renseigné s'il s'agit d'un montant fixe de droit de timbre. |
Montant monétaire | ||
Documents commerciaux (SourceDocuments)
Cette section contient les documents réels envoyés par le système en amont.
Documents commerciaux destinés aux clients (SalesInvoices)
Cette section contient les documentTypes suivants :
- 0 / [0] = Reçu
- 1 / [1] = Facture
| Nom du champ SAF-T (PT) | RetailForce DOM | Mandat | Remarques | Format | ||||
| <salesinvoices></salesinvoices> |
DocumentType :
|
Documents commerciaux destinés aux clients (Factures de vente) | N/A | |||||
| <nombre></nombre> | Nombre de documents commerciaux inclus dans le fichier SAF-T export courant. | oui | Nombre d’entrées de documents commerciaux (NumberOfEntries) | Entier | ||||
| <totaldebit></totaldebit> | Somme des valeurs nettes (NetValue) des positions de transaction de retour incluses dans le fichier SAF-T export | Oui | Total des débits (TotalDebit) | Monétaire | ||||
| <totalcr></totalcr> | Somme de la NetValue de toutes les positions de transaction de vente incluses dans le fichier SAF-T export | Oui | Total des crédits (TotalCredit) | Montant monétaire | ||||
| <facture></facture> | Document de vente (Facture) | Sans objet | ||||||
| <invoiceno></invoiceno> | fiscalResponse.AdditionalFields.InvoiceNo | oui |
Identifiant unique du document de vente (InvoiceNo) Cet identifiant est composé, dans l'ordre, des éléments suivants : le code interne du type de document attribué par l'application, un espace, l'identifiant de la série de documents, une barre oblique (/) et le numéro séquentiel de ce document au sein de cette série. Il ne peut exister aucun enregistrement présentant la même identification. Le même code interne de type de document ne peut pas être utilisé pour des types de documents différents. |
Texte 60 | ||||
| <ATCUD></A> |
fiscalResponse.AdditionalFields.AtCud Dans le cas d’une SAF-T export UNIQUEMENT : Le système en amont envoie l'ATCUD dans fiscalisationAdditionalFields.AtCudPortugal |
oui |
Code unique du document (ATCUD) Ce champ doit contenir le code unique du document. Il doit être renseigné avec « 0 » (zéro) jusqu’à ce que sa réglementation soit définie. Le code ATCUD est obligatoire depuis 2023. |
Texte 100 | ||||
| <documentstatus></documentstatus> | oui | Statut du document (DocumentStatus) | N/A | |||||
| <invoicestatus></invoicestatus> |
« N » pour l’ensemble des transactions (ventes et retours), mais pas pour les annulations « A » si
« S » - non pris en charge « R » - non pris en charge « F » – non utilisé dans RF |
oui |
Statut actuel du document (InvoiceStatus) Doit être renseigné comme suit :
|
Texte 1 | ||||
| <invoicestatusdate></invoicestatusdate> | BookDate | oui |
Date et heure du statut actuel du document (InvoiceStatusDate) Date de la dernière mise à jour du statut du document, à la seconde près. Format de la date et de l’heure : « AAAA-MM-JJThh:mm:ss ». |
DateTime | ||||
| <motif></motif> | non |
Motif du changement de statut (Reason) Le motif du changement de statut du document doit être indiqué. |
Texte 50 | |||||
| <sourceid></sourceid> | user.ID | oui |
Code utilisateur (SourceID) Utilisateur responsable de l'état actuel du document. |
Texte 30 | ||||
| <sourcebilling></sourcebilling> | Seule la valeur « P » est prise en charge | oui |
Origine du document (SourceBilling) Doit être renseigné avec :
|
Texte 1 | ||||
| <hash></hash> |
fiscalResponse.signature Dans le cas d’une SAF-T export UNIQUEMENT : Le système en amont transmet le hachage dans FiscalAdditionalFields.HashPortugal |
oui |
Clé du document (Hash) Signature conforme à l’arrêté n° 363/2010 du 23 juin. Ce champ doit être renseigné avec la valeur « 0 » (zéro) si la certification n’est pas obligatoire. |
Texte 172 | ||||
| <hashcontrol></hashcontrol> |
fiscalResponse.AdditionalFields.HashControlValue Uniquement en cas de SAF-T export : Le système en amont transmet la valeur HashControl dans FiscalAdditionalFields.HashControlPortugal |
Oui |
Clé de contrôle (HashControl) Version de la clé privée utilisée pour créer la signature dans le champ 4.1.4.4. – Clé du document (Hash). Ce champ doit être renseigné avec la valeur « 0 » (zéro) si le document est généré par un programme non certifié. |
Texte 70 | ||||
|
Calculée à partir de FiscalYearStartMonth si la valeur est par exemple 3 (= mars) et que l’exportation a été effectuée pour le mois d’avril, la valeur de est « 2 ». |
Oui |
Période comptable (Période) Le mois de la période fiscale doit être indiqué par un entier compris entre « 1 » et « 12 », en comptant à partir de la date de son début. |
Entier | |||||
| <invoicedate></invoicedate> | BookDate | oui |
Date du document de vente (InvoiceDate) Date d'émission du document de vente. |
Date | ||||
| <invoicetype></invoicetype> |
Mappage : FT : « documentType » : 1 / « [1] = Facture FS : « documentType » : 0 / « [0] = Reçu FR : documentType : 0 / « [0] = Reçu si Document.Partner est défini (contient des données). ND : non pris en charge NC : « documentType » : 0 / « [0] = Reçu » OU « documentType » : 1 / « [1] = Facture » si :
VD, TV, TD, AA, DA obsolètes Secteur des assurances (RP, RE, CS, LD, RA) non pris en charge |
oui |
Type de document (InvoiceType) Doit être renseigné avec :
Pour le secteur des assurances, lorsque ces éléments ne figurent pas dans le tableau 4.3. – Documents de contrôle des biens ou des services (documents de travail), vous pouvez également indiquer :
(a) Pour les données jusqu’au 31 décembre 2012. |
Texte 2 | ||||
| <r></r> | oui | Régimes spéciaux (SpecialRegimes) | N/A | |||||
| <selfbillingindicator></selfbillingindicator> | toujours défini sur « 0 » | oui |
Indicateur d’autofacturation (SelfBillingIndicator) Doit être renseigné par « 1 » si l’autofacturation s’applique et par « 0 » (zéro) dans le cas contraire. |
Int | ||||
| <cashvatschemeindicator></cashvatschemeindicator> |
Paramétrage dans la configuration
|
oui |
Indicateur du régime de la TVA au comptant (CashVATSchemeIndicator) Indicateur d’adhésion au régime de la TVA de caisse. Il convient d’indiquer « 1 » en cas d’adhésion et « 0 » (zéro) dans le cas contraire. |
Int | ||||
| <thirdpartiesbillingindicator></thirdpartiesbillingindicator> | La facturation par un tiers n’est pas prise en charge. Par conséquent, indiquez toujours « 0 » | oui |
Indicateur de facturation émise au nom et pour le compte de tiers (ThirdPartiesBillingIndicator) Il doit être renseigné par « 1 » s’il s’agit d’une facturation émise au nom et pour le compte de tiers, et par « 0 » (zéro) dans le cas contraire. |
Int | ||||
| <sourceid></sourceid> | user.ID | oui |
Code utilisateur (SourceID) Utilisateur ayant généré le document. |
Texte 30 | ||||
| <eaccode></eaccode> | non |
Code CAE (EACCode) Le code CAE correspondant à l'activité liée à l'émission du présent document doit être indiqué. |
Texte 5 | |||||
| <systementrydate></systementrydate> | BookDate | oui |
Date d’enregistrement du document (SystemEntryDate) Date de saisie de l'enregistrement à la seconde près, au moment de la signature. Format de la date et de l'heure : « AAAA-MM-JJThh:mm:ss ». |
DateTime | ||||
| <transactionid></transactionid> | n.a. (solution non intégrée) | oui |
Identifiant de transaction (TransactionID) Ce champ doit être renseigné dans le cas d’un système intégré de comptabilité et de facturation, même si le type de fichier (TaxAccountingBasis) ne doit pas contenir les tables relatives à la comptabilité. La clé unique issue de la table 3. Mouvements comptables (GeneralLedgerEntries) de la transaction dans laquelle ce document a été comptabilisé doit être indiquée, conformément à la règle définie dans cette table pour le champ 3.4.3.1 – Clé unique du mouvement comptable (TransactionID). |
Texte 70 | ||||
| <customerid></customerid> | partner.id | oui |
Identifiant du client (CustomerID) Clé unique pour la table 2.2. – Table des clients (Customer), conforme à la règle définie dans celle-ci pour le champ 2.2.1. – Identifiant unique du client (CustomerID). |
Texte 30 | ||||
| <shipto></shipto> | si « deliveryAddress » est défini chez le partenaire | non |
Lieu de déchargement (ShipTo) Informations relatives au point de déchargement et à la date de mise à disposition des articles vendus auprès du client, ou de la personne désignée par celui-ci dans le cadre d’opérations triangulaires. |
N/A | ||||
| <deliveryid></deliveryid> | non |
Identifiant de livraison (DeliveryID) Dans le cadre d’opérations triangulaires, le lieu de livraison et le numéro de TVA du destinataire doivent être indiqués. |
Texte 255 | |||||
| <deliverydate></deliverydate> | non |
Date de livraison (DeliveryDate) Dans le secteur des assurances, ce champ doit être renseigné avec la date de fin de la période de couverture du risque. |
Date | |||||
| <warehouseid></warehouseid> | non | Identifiant de l'entrepôt de destination (WarehouseID) | Texte 50 | |||||
| <locationid></locationid> | non | Emplacement des marchandises dans l'entrepôt de destination (LocationID) | Chaîne de caractères 30 | |||||
| non | Adresse | N/A | ||||||
| <num></num> | non | Numéro de l'immeuble (BuildingNumber) | Texte 10 | |||||
| <nomderue></nomderue> | partner.street | non | Nom de la rue (StreetName) | Texte 200 | ||||
| <AddressDetail></A> |
partner.street + partner.streetNumber |
Oui | Il doit inclure le nom de la rue, le numéro de rue et l’étage, le cas échéant. | Texte 210 | ||||
| <ville></ville> | partner.city | Oui | Ville | Texte 50 | ||||
| <postalcode></postalcode> | partner.PostalCode | Oui | Code postal | Texte 20 | ||||
| <r></r> | non | Arrondissement | Texte 50 | |||||
| <pays></pays> |
partner.CountryCode converti au format ISO 3166 ALPHA-2 |
Oui | Il doit être renseigné conformément à la norme ISO 3166 - 1-alpha-2. | Texte 2 | ||||
| <shipfrom></shipfrom> | storeAddress (issu de la configuration) | Oui |
Lieu de chargement (ShipFrom) Informations relatives au point de chargement et à la date de prise en charge à partir desquels débute l’expédition des articles vendus au client. |
Non applicable | ||||
| <deliveryid></deliveryid> | non |
Identifiant de livraison (DeliveryID) Le numéro d’immatriculation du véhicule de transport ou du moyen d’expédition utilisé doit être indiqué, par exemple : service de messagerie express, etc. |
Texte 255 | |||||
| <deliverydate></deliverydate> | non |
Date de réception (DeliveryDate) Dans le secteur des assurances, ce champ doit être renseigné avec la date de début de la période de couverture du risque. |
Date | |||||
| <warehouseid></warehouseid> | non | Identifiant de l'entrepôt de départ (WarehouseID) | Texte 50 | |||||
| <locationid></locationid> | non | Emplacement des marchandises dans l'entrepôt de départ (LocationID) | Chaîne de caractères 30 | |||||
| non | Adresse | N/A | ||||||
| <num></num> | non | Numéro d’immeuble (BuildingNumber) | Texte 10 | |||||
| <nomderue></nomderue> | storeAddress.street (issu de la configuration) | non | Nom de la rue (StreetName) | Texte 200 | ||||
| <AddressDetail></A> |
storeAddress.street + storeAddress.streetNumber (issu de la configuration) |
Oui | Il doit inclure le nom de la rue, le numéro de rue et l’étage, le cas échéant. | Texte 210 | ||||
| <ville></ville> | storeAddress.city (issu de la configuration) | Oui | Ville | Texte 50 | ||||
| <postalcode></postalcode> | storeAddress.PostalCode (issu de la configuration) | oui | Code postal | Texte 20 | ||||
| <r></r> | non | Arrondissement | Texte 50 | |||||
| <pays></pays> | storeAddress.country converti au format ISO 3166 ALPHA-2 (à partir de la configuration) | oui | Ce champ doit être renseigné conformément à la norme ISO 3166 - 1-alpha-2. | Texte 2 | ||||
| <movementendtime></movementendtime> | n.a. | non |
Date et heure de fin de transport (MovementEndTime) Type de date et d’heure : « AAAA-MM-JJThh:mm:ss », où « ss » peut être « 00 » en l’absence d’informations spécifiques. |
DateTime | ||||
| <movementstarttime></movementstarttime> | n.a. | oui |
Date et heure du début du transport (MovementStartTime) Format de date et d’heure : « AAAA-MM-JJThh:mm:ss », où « ss » peut être « 00 » en l’absence d’informations spécifiques. Ce champ doit être renseigné si le document fait également office de document de transport conformément aux dispositions du régime applicable aux marchandises en circulation, approuvé par le décret-loi n° 147/2003 du 11 juillet. |
DateTime | ||||
| <line></line> | oui | N/A | ||||||
| <num></num> | positions.PositionNumber + 1 | oui |
Numéro de ligne (LineNumber) Les lignes doivent être exportées dans le même ordre que celui dans lequel elles apparaissent dans le document d'origine. |
Entier | ||||
| <orderreferences></orderreferences> | n.a. | non |
Référence au document source (OrderReferences) Si plusieurs références sont nécessaires, cette structure peut être générée autant de fois que nécessaire. |
N/A | ||||
| <originatingon></originatingon> | n.a. | non |
Numéro du document d'origine (OriginatingON) Le type, la série et le numéro du document justificatif à l’origine de l’émission du présent document doivent être indiqués. Si le document est intégré dans un fichier SAF-T (PT), la structure de numérotation du champ « OriginatingON » doit être appliquée. |
Texte 60 | ||||
| <orderdate></orderdate> | s.o. | non | Date du document source (OrderDate) | Date | ||||
| <productcode></productcode> | positions.ItemId | oui |
Identifiant du produit ou du service (ProductCode) Clé d’enregistrement dans le tableau 2.4. – Tableau des produits/services (Product), dans le champ 2.4.2. – Identifiant du produit ou du service (ProductCode). |
Texte 60 | ||||
| <productdescription></productdescription> | positions.itemCaption | oui |
Description du produit ou du service (ProductDescription) Description de la ligne de facture, liée au tableau 2.4. – Tableau des produits/services (Product), dans le champ 2.4.4. – Description du produit ou du service (ProductDescription). |
Texte 200 | ||||
| <quantit></quantit> | positions.Quantité | oui | Quantité | Décimale | ||||
| <unité></unité> |
Positions.UnitéDeQuantité.isoCode Utiliser les codes ISO/UCUM |
oui | Unité de mesure (UnitOfMeasure) | Texte 20 | ||||
| <unitprice></unitprice> | calculé à partir de : BaseNetValue / quantité | Oui |
Prix unitaire (UnitPrice) Prix unitaire après déduction des remises sur ligne et de l’en-tête, hors taxes. Doit être renseigné avec « 0,00 » si le champ 4.1.4.19.8 doit être renseigné. - Valeur unitaire imposable (TaxBase). |
Monétaire | ||||
| <taxbase></taxbase> |
Utilisé uniquement pour les articles gratuits, si GrossValue = 0 et BaseGrossValue > 0 |
oui |
Valeur imposable unitaire (TaxBase) Valeur imposable unitaire qui ne contribue pas au total hors taxes du document (NetTotal). Cette valeur sert de base au calcul des taxes pour la ligne. Le signe (débit ou crédit) avec lequel la taxe ainsi calculée contribue à TaxPayable résulte de la présence de DebitAmount ou de CreditAmount dans la ligne. |
Monétaire | ||||
| <taxpointdate></taxpointdate> |
pour « documentType » : 0 / « [0] = Reçu
pour le documentType » : 1 / « [1] = Facture
|
Oui |
Date d’expédition des marchandises ou de prestation des services (TaxPointDate) Date d’expédition des biens ou de prestation des services. Doit être renseigné avec la date du bon de livraison associé, le cas échéant. En présence de plusieurs bons de livraison, la date du document le plus ancien doit être reportée. |
Date | ||||
| <r></r> |
Références aux factures (Références) Références aux factures dans leurs documents rectificatifs. Si plusieurs références sont requises, cette structure peut être générée autant de fois que nécessaire. |
N/A | ||||||
| <r></r> | documentReference.fiscalDocumentNumber | non | Référence à la facture ou à la facture simplifiée, via son identifiant unique, dans les systèmes où celui-ci existe. La structure de numérotation du champ source doit être utilisée. | Texte 60 | ||||
| <motif></motif> | documentReference.returnReasonText | non | Ce champ doit être renseigné avec le motif d’émission. | Texte 50 | ||||
| <description></description> | positions.itemCaption | oui | Description de la ligne du document. | Texte 200 | ||||
| <num></num> | non | Numéro de série du produit (ProductSerialNumber) | N/A | |||||
| <serialnumber></serialnumber> | positions.ItemSerialNumber | oui |
Numéro de série Doit inclure le numéro de série du produit mentionné dans le document. Par exemple : VIN, IMEI, ISSN, ISAN. Si plusieurs références sont requises, ce champ peut être généré autant de fois que nécessaire. |
Texte 100 | ||||
| <debitamount></debitamount> | positions.netValeur nette de la position de retour correspondante | oui |
Montant du débit (DebitAmount) Montant de la ligne, hors taxes, des pièces à comptabiliser sur le compte de ventes. Ce montant est déduit des remises sur ligne et d’en-tête. |
Montant | ||||
| <creditamount></creditamount> | positions.netNetValue de la position de vente correspondante | oui |
Montant du crédit Montant de la ligne, hors taxes, des documents à comptabiliser au crédit du compte de vente. Ce montant est déduit des remises appliquées aux lignes et à l’en-tête. |
Monétaire | ||||
| <taxe></taxe> | oui | Taux d’imposition | Sans objet | |||||
| <type></type> | « IVA » est toujours indiqué | Oui |
Code du type de taxe (TaxType) Le type de taxe doit être indiqué dans ce champ. Il doit être renseigné comme suit :
|
Texte 3 | ||||
| <taxcountryregion></taxcountryregion> |
issu de FiscalRegions (du magasin)
Mise en correspondance :
|
Oui |
Pays ou région fiscale (TaxCountryRegion) Doit être renseigné conformément à la norme ISO 3166-1-alpha-2. Dans le cas des régions autonomes de Madère et des Açores, il convient d’indiquer :
|
Texte 5 | ||||
| <taxcode></taxcode> |
VatIdentification Au Portugal, les taux de TVA suivants s’appliquent : Portugal : Taux normal : 23 % Taux réduit : 6 % Taux intermédiaire : 13 % Açores : Taux normal : 16 % Taux réduit : 4 % Taux intermédiaire : 9 % Madère : Taux normal : 22 % Taux réduit : 4 % (valable à partir du 01/10/2024) Taux intermédiaire : 12 % |
oui |
Code fiscal (TaxCode) Code fiscal figurant dans la grille d'imposition. Dans le cas du champ 4.1.4.19.15.1. – Code du type d’impôt (TaxType) = Vat, il doit être renseigné comme suit :
Dans le cas du champ 4.1.4.19.15.1 – Code du type de taxe (TaxType) = IS, il doit être renseigné comme suit :
En cas d’exonération, il doit être renseigné par « NS ». |
Texte 10 | ||||
| <taxpercentage></taxpercentage> | Positions.VatPercent | oui |
Taux d’imposition (TaxPercentage) Ce champ doit être renseigné lorsqu’il s’agit d’un taux d’imposition. Le pourcentage de taxe correspond à la taxe applicable au champ 4.1.4.19.13. – Montant débiteur (DebitAmount) ou au champ 4.1.4.19.14. – Montant créditeur (CreditAmount). En cas d’exonération ou de non-assujettissement à la taxe, veuillez indiquer la valeur « 0 » (zéro) dans ce champ. |
Décimale | ||||
| <taxamount></taxamount> | TaxType n’est pas pris en charge | oui |
Montant de la taxe (TaxAmount) Ce champ doit être renseigné lorsqu’il s’agit d’un montant unitaire fixe de droit de timbre. Ce montant, multiplié par la quantité (Quantity), contribue au montant de la taxe due (TaxPayable). |
Monétaire | ||||
| <taxexemptionreason></taxexemptionreason> |
Codes de motif d'exonération M01-M99 fiscalResponse.printingFields |
oui |
Motif de l'exonération fiscale (TaxExemptionReason) Ce champ doit être renseigné lorsque les champs 4.1.4.19.15.4 – Taux d’imposition (TaxPercentage) ou 4.1.4.19.15.5 – Montant de la taxe (TaxAmount) sont égaux à zéro. La disposition légale applicable doit être mentionnée. Ce champ doit également être renseigné en cas d’exonération des taxes mentionnées dans le tableau 2.5. – Tableau des taxes (TaxTable). |
Texte 60 | ||||
| <taxexemptioncode></taxexemptioncode> | Voir les codes de motif d’exonération M01-M99 | oui |
Code de motif d’exonération fiscale (TaxExemptionCode) Ce champ doit être renseigné avec le code de motif d’exonération ou de non-imposition, tel que défini dans le Manuel d’intégration logicielle – Transmission des factures à l’AT. Ce champ doit être renseigné lorsque les champs 4.1.4.19.15.4 – Taux d’imposition (TaxPercentage) ou 4.1.4.19.15.5 – Montant de la taxe (TaxAmount) sont égaux à zéro. Ce champ doit également être renseigné en cas de non-assujettissement aux taxes mentionnées dans le tableau 2.5. – Tableau des taxes (TaxTable). |
Texte 3 | ||||
| <settlementamount></settlementamount> | non |
Montant de règlement de la ligne (SettlementAmount) Doit refléter l’ensemble des remises accordées (la part des remises globales affectant cette ligne et celles spécifiques à cette même ligne) qui impactent la valeur du champ 4.1.4.20.3. – Total du document, taxes comprises (GrossTotal). |
Monétaire | |||||
| <informationsdouani></informationsdouani> | non | Informations douanières (CustomsInformation) | N/A | |||||
| <ARCNo></A> | non |
Code de référence administratif (ARCNo) Veuillez indiquer le code attribué après validation du document administratif électronique e-DA. Si plusieurs références sont requises, ce champ peut être généré autant de fois que nécessaire. |
Texte 21 | |||||
| <iecamount></iecamount> | n° |
Montant des droits d’accise pour la ligne (IECAmount) Montant des droits d’accise inclus dans la base imposable de la ligne du document, à condition qu’il ne soit pas détaillé sur une ligne distincte du document, avec l’« indicateur de produit ou de service (ProductType) » = E. |
Monétaire | |||||
| <documenttotals></documenttotals> | oui | Totaux du document (DocumentTotals) | N/A | |||||
| <taxpayable></taxpayable> | somme des valeurs fiscales (TaxValue) des positions | Oui | Montant de la taxe due (TaxPayable) | Monétaire | ||||
| <nettotal></nettotal> | somme de la NetValue des positions | Oui |
Montant total du document hors taxes (NetTotal) Ce champ ne doit pas inclure les montants relatifs aux taxes répertoriées dans le tableau 2.5 – Tableau des taxes (TaxTable). |
Montant | ||||
| <grosstotal></grosstotal> | somme des GrossValues des postes | oui |
Montant total du document, taxes comprises (GrossTotal) Ce champ ne doit pas tenir compte des retenues à la source incluses dans la structure 4.1.4.21. – Retenue à la source (WithholdingTax) |
Monétaire | ||||
| <devise></devise> | uniquement si payments.CurrencyIsoCode != EUR | non | Il ne doit pas être généré si le document est établi en euros. | N/A | ||||
| payments.currencyIsoCode | oui |
Code de devise (CurrencyCode) Dans le cas d'une devise étrangère, ce champ doit être renseigné conformément à la norme ISO 4217. |
Texte 3 | |||||
| <currencyamount></currencyamount> | payments.ForeignAmount | oui |
Montant total en devise étrangère (CurrencyAmount) Valeur du champ 4.1.4.20. 3. – Total du document, taxes comprises (GrossTotal), dans la devise d’origine du document. |
Monétaire | ||||
| <exchangerate></exchangerate> | payments.ForeignAmountExchangeRate | oui |
Taux de change (ExchangeRate) Le taux de change utilisé pour la conversion en EUR doit être indiqué. |
Décimale | ||||
| <r></r> | non |
Accords ou modes de paiement. Si plusieurs références sont requises, cette structure peut être générée autant de fois que nécessaire. |
Sans objet | |||||
| <remise></remise> | non |
Accords de remise futurs (SettlementDiscount) Doit être renseigné avec les accords de remise à appliquer à l'avenir sur la valeur actuelle. |
Texte 30 | |||||
| <montant></montant> | non |
Montant de règlement (SettlementAmount) Représente le montant convenu pour la remise future sans incidence sur la valeur actuelle du document indiquée dans le champ 4.1.4.20.3. — Montant total du document, taxes comprises (GrossTotal). |
Monétaire | |||||
| <settlementdate></settlementdate> | non |
Date de règlement convenue (SettlementDate) Les informations à inclure correspondent à la date de paiement convenue avec escompte |
Données | |||||
| <paymentterms></paymentterms> | non |
Conditions de paiement Les informations à intégrer sont les conditions convenues ou la date limite de paiement. |
Texte 100 | |||||
| <paiement></paiement> | non |
En cas de paiements mixtes, les montants doivent être indiqués par type de moyen de paiement et par date de paiement. Si plusieurs références sont nécessaires, cette structure peut être générée autant de fois que nécessaire. |
Sans objet | |||||
| <m></m> |
payments.PaymentType Mappage :
|
non |
Moyens de paiement (PaymentMechanism) Doit être renseigné comme suit :
|
Texte 2 | ||||
| <paymentamount></paymentamount> | montant des paiements | non |
Montant du paiement (PaymentAmount) Le montant par mode de paiement doit être précisé. |
Monétaire | ||||
| <paymentdate></paymentdate> | non | Date de paiement (PaymentDate) | Date | |||||
| <withholdingtax></withholdingtax> | non |
Retenue à la source Si plusieurs références sont nécessaires, cette structure peut être générée autant de fois que nécessaire. |
Sans objet | |||||
| <withholdingtaxtype></withholdingtaxtype> | non |
Code du type de retenue à la source (WithholdingTaxType) Dans ce champ, vous devez préciser le type de retenue à la source en le renseignant comme suit :
|
Texte 3 | |||||
| <withholdingtaxdescription></withholdingtaxdescription> | non |
Motif de la retenue à la source (WithholdingTaxDescription) La disposition légale applicable doit être indiquée. Si le code du type d’impôt (WithholdingTaxType) = IS, le code fiscal correspondant doit être saisi. |
Texte 60 | |||||
| <withholdingtaxamount></withholdingtaxamount> | non |
Montant de la retenue à la source (WithholdingTaxAmount) Le montant de la retenue à la source doit être indiqué. |
Montant | |||||
Autres documents
Outre les « documents commerciaux destinés aux consommateurs (SalesInvoices) », le fichier SAF-T contient d’autres documents :
- Documents relatifs aux mouvements de marchandises (MovementOfGoods)
- Documents relatifs au contrôle des marchandises ou à la prestation de services (WorkingDocuments)
- Documents de réception émis (Payments)
Le mappage de ces sections correspond à la section « Documents commerciaux destinés aux clients (SalesInvoices) » et inclut les données issues des documentTypes répertoriés dans l’article « Mappage des documentTypes SAF-T (PT) ».
Cet article a été traduit automatiquement.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.