Acest articol explică modul în care câmpurile din formatul SAF-T portughez sunt mapate la Modelul de Obiecte al Documentului (DOM) al RetailForce.
Structura de date XML descrisă mai jos respectă cea prevăzută în Ordonanța 302/2016 și publicațiile ulterioare.
Dacă anumite câmpuri sunt obligatorii în formatul SAF-T (PT), acestea devin obligatorii și în RetailForce DOM.
Următoarele tabele nu sunt generate în prezent de RetailForce
- Tabelul codurilor contabile (GeneralLedgerAccounts),
- Tabelul furnizorilor,
- Înregistrări contabile (GeneralLedgerEntries),
Header
Informațiile din header-ul SAF-T sunt derivate în principal din datele de referință din configurație.
| Numele câmpului SAF-T (PT) | RetailForce DOM | Mandat | Note | Format | Exemplu | |
| <AuditFileVersion> | - | da |
Versiunea curentă a schemei XML Valoarea este definită (codificată) în versiunea de release a RetailForce |
Text 10 | 1.04_01 | |
| <CompanyID> | Numărul de identificare al companiei | da | Numărul de înregistrare comercială al companiei | Text 50 | 513076549 | |
| <Număr de înregistrare fiscală> | Numărul fiscal al companiei | da | NIF portughez (fără spații sau prefix de țară) | Int 9 | 513076549 | |
| <Baza de contabilitate fiscală> | - | da |
Setare condițională în configurație:
|
Text 1 | R | |
| <CompanyName> | NumeleCompaniei | da | Denumirea societății contribuabilului | Text 100 | XYZ Retail | |
| <BusinessName> | n.a. | nu | Denumirea comercială a contribuabilului | Text 60 | Cel mai bun magazin | |
| <Adresa companiei> | Adresa companiei | da | Adresa contribuabilului | - | ||
| <NumărClădire> | - | nu | Text 10 | 85 | ||
| <Numele străzii> | AdresaCompaniei.Stradă | nu | Text 200 | R. de Belém | ||
| <Detalii adresă> |
AdresaCompaniei.Stradă + AdresaCompaniei.StreetNumber |
da |
Trebuie să conțină
dacă este cazul |
Text 210 | R. de Belém, 100 | |
| <Oraș> | AdresaCompaniei.Oraș | da | Text 50 | Póvoa de Santa Catarina | ||
| <POSTALCODE> | AdresaCompaniei.PostalCode | da | Text 8 | 3140-584 | ||
| <Regiune> | n.a. | nu | Text 50 | |||
| <Țară> | „PT” codificat fix | da | Text 2 | PT | ||
| <An fiscal> | Luna de început a anului fiscal | da | calculat pe baza lunii de început a anului fiscal | Int 4 | 2026 | |
| <Data de începere> | fromDate | da |
Data de început a perioadei fișierului (StartDate) Export „fromDate” |
Data | 01.02.2026 | |
| <EndDate> | UntilDate | da |
Data de încheiere a perioadei fișierului (EndDate) Export „UntilDate” |
Data | 28.02.2026 | |
| <CurrencyCode> | CashRegister.CurrencyIsoCode | da | Indicați moneda implicită - „EUR” | Text 3 | EUR | |
| <DATECREATED> | Data curentă la care a fost creat exportul | da | Data la care a fost creat fișierul SAF-T (PT) | Data | 08.10.2026 | |
| <TaxEntity> | StoreNumber | da | Trebuie specificată unitatea la care se referă fișierul generat | Text 20 | Sediu | |
| <Cod fiscal al companiei producătoare> | da | NIF al producătorului de software | Text 20 | 503140600 | ||
| <Numărul certificatului software-ului> | da | Numărul certificatului atribuit entității producătoare de software, în conformitate cu Ordinul nr. 363/2010 din 23 iunie. | Int | 9999 | ||
| <ID-produs> | CashRegister.Software.Brand+'/'+CashRegister.Software.SoftwareCompany | da |
Denumirea aplicației care generează fișierul SAF-T (PT). Denumirea comercială a software-ului și cea a companiei producătoare, în formatul „Denumirea aplicației/Denumirea companiei producătoare a software-ului”. |
Text 255 | SuperPOS/ABC Software | |
| <Versiunea produsului> | CashRegister.Software.Version | da | Trebuie indicată versiunea aplicației care generează fișierul. | Text 30 | 1.11.2 | |
| <Comentariu antet> | n.a. | nu | ||||
| <Telefon> | n.a. | nu | ||||
| <Fax> | n.a. | nu | ||||
| <E-mail> | n.a. | nu | ||||
| <Site web> | n.a. | nu | ||||
Fișiere principale
Fișierele principale conțin datele efective ale facturilor.
Tabelul clienților
Tabelul clienților este generat pe baza datelor incluse în documente (facturi, chitanțe etc.).
| Denumirea câmpului SAF-T (PT) | RetailForce DOM | Mandat | Note | Format | |
| <CustomerID> |
Dacă Partner.IsBusiness: true
Dacă Partner.IsBusiness: false
|
da |
Identificator unic al clientului (CustomerID) Nu poate exista mai mult de o înregistrare cu același CustomerID în lista de clienți. În cazul consumatorilor finali, trebuie creat un client generic cu denumirea „Consumator final” („Consumidor final”). |
Text 30 | |
| <AccountID> |
Deoarece nu sunt prezentate date contabile (generalLedger), utilizați valoarea „Necunoscut” „Desconhecido” |
da |
Codul contului (AccountID) Trebuie indicat contul curent al clientului din planul de conturi, dacă este definit. În caz contrar, trebuie completat cu mențiunea „Necunoscut” („Desconhecido”). |
Text 30 | |
| <CustomerTaxID> |
Dacă IsBusiness: true:
Dacă IsBusiness: false:
|
da |
Numărul de identificare fiscală al clientului (CustomerTaxID) Acesta trebuie indicat fără prefixul țării. Clientul generic, corespunzător „consumatorului final” („Consumidor final”), trebuie identificat cu numărul de identificare fiscală „999999990”. |
Textul 30 | |
| <CompanyName> |
Dacă IsBusiness: true:
Dacă IsBusiness: false:
|
da |
Denumirea companiei (CompanyName) Clientul generic trebuie identificat ca „Consumator final” („Consumidor final”). |
Text 100 | |
| <Contact> | nu | Numele persoanei de contact din cadrul companiei (Contact) | Text 50 | ||
| <BILLINGADDRESS> | da |
Adresa de facturare (BillingAddress) Corespunde adresei sediului central sau a sediului permanent de pe teritoriul național. |
N/A | ||
| <BuildingNumber> | nu | Numărul clădirii (BuildingNumber) | Text 20 | ||
| <StreetName> | Partner.Street | nu | Numele străzii (StreetName) | Text 200 | |
| <DetaliiAdresă> |
Partner.Stradă + Partner.StreetNumber Se utilizează „Desconhecido” dacă IsBusiness: false și nu este indicată nicio adresă |
da |
Adresă detaliată (AddressDetail) Trebuie să includă numele străzii, numărul blocului și etajul, dacă este cazul. Trebuie completat cu mențiunea „Necunoscut” („Desconhecido”) în următoarele situații:
|
Text 210 | |
| <Oraș> |
Partener.Oraș Se utilizează „Desconhecido”, dacă IsBusiness: false și nu este indicată nicio adresă |
da |
Locație (Oraș) Trebuie completat cu mențiunea „Necunoscut” („Desconhecido”) în următoarele situații:
|
Text 50 | |
| <POSTALCODE> |
PostalCode Se utilizează „Desconhecido”, dacă IsBusiness: false și nu este indicată nicio adresă |
da |
Cod poștal (PostalCode) Trebuie completat cu mențiunea „Necunoscut” („Desconhecido”) în următoarele situații:
|
Text 20 | |
| <Regiune> |
Dacă este indicat:
|
nr. | District | Text 50 | |
| <Țară> |
Partner.CountryCode convertit în ISO 3166 ALPHA-2 Se utilizează „Desconhecido” dacă IsBusiness: false și nu este indicată nicio adresă |
da |
Dacă se cunoaște, trebuie completat în conformitate cu ISO 3166 – 1-alpha-2. Trebuie completat cu mențiunea „Necunoscut” („Desconhecido”) în următoarele situații:
|
Text 12 | |
| <ShipToAddress> | se include dacă partner.addressType: [2] = DeliveryAddress este indicat | nu |
Adresa de livrare (ShipToAddress) Dacă sunt necesare mai multe referințe, această structură poate fi generată de câte ori este necesar. |
N/A | |
| <BuildingNumber> | n.a. | nu | Numărul clădirii (BuildingNumber) | Text 10 | |
| <StreetName> | stradă | nr. | Numele străzii (StreetName) | Text 200 | |
| <DetaliiAdresă> |
stradă + streetNumber |
da |
Adresă detaliată (AddressDetail) Trebuie să includă numele străzii, numărul blocului și etajul, dacă este cazul. Trebuie completată cu mențiunea „Necunoscut” („Desconhecido”) în următoarele situații:
|
Text 210 | |
| <Oraș> | oraș | da |
Locație (Oraș) Trebuie completat cu mențiunea „Necunoscut” („Desconhecido”) în următoarele situații:
|
Text 50 | |
| <POSTALCODE> | PostalCode | da |
Cod poștal (PostalCode) Trebuie completat cu mențiunea „Necunoscut” („Desconhecido”) în următoarele situații:
|
Text 20 | |
| <Regiune> | comunitate | nr. | District | Text 50 | |
| <Țară> | CountryCode convertit în ISO 3166 ALPHA-2 | da |
Dacă se cunoaște, trebuie completat în conformitate cu ISO 3166 – 1-alpha-2. Trebuie completat cu mențiunea „Necunoscut” („Desconhecido”) în următoarele situații:
|
Text 12 | |
| <Telefon> | n.a. | nu | telefon | Text 20 | |
| <Fax> | n.a. | nu | fax | Text 20 | |
| <E-mail> | n.a. | nu | Adresa de e-mail a companiei | Text 254 | |
| <Site web> | n.a. | nu | Adresa site-ului web al companiei | Text 60 | |
| <Indicator de auto-facturare> | Autofacturarea nu este acceptată în RetailForce; indicați întotdeauna „0”. | da |
Indicator de autofacturare (SelfBillingIndicator) Indicator al existenței unui acord de autofacturare între client și furnizor. Trebuie completat cu „1” dacă există un acord și cu „0” (zero) dacă nu există un acord. |
Int | |
Tabelul Produs/Serviciu
| Numele câmpului SAF-T (PT) | RetailForce DOM | Mandat | Note | Format | |
| <ProductType> |
poziții.ItemType În cazul unei taxe suplimentare:
În cazul depozitelor:
Corelare:
În prezent sunt acceptate taxele de expediere |
da |
Indicator de produs sau serviciu (ProductType) Trebuie completat cu: „P“ – Produse; „S” – Servicii; „O” – Altele (de exemplu, cheltuieli de transport, avansuri primite sau cedarea de active); „E” – Taxe speciale de consum – (de exemplu, IABA, ISP, IT); „I” – Impozite, taxe și redevențe parafiscale – cu excepția Vat și a impozitului pe profit (IS), care trebuie reflectate în tabelul 2.5 – Tabelul impozitelor (TaxTable), precum și a taxelor speciale de consum, care trebuie completate cu codul „E”. |
Text 1 | |
| <CodProdus> | positions.ItemId | da |
Identificatorul produsului sau serviciului (ProductCode) Cod unic al produsului în lista de produse. |
Text 60 | |
| <ProductGroup> | positions.ItemGroupCaption | nu | Familia de produse sau servicii (ProductGroup) | Text 50 | |
| <DescriereProdus> | Poziții.ItemCaption | da |
Descrierea produsului sau serviciului (ProductDescription) Aceasta trebuie să corespundă denumirii uzuale a bunurilor sau serviciilor furnizate, specificând elementele necesare pentru determinarea cotei de impozitare aplicabile. |
Text 200 | |
| <ProductNumberCode> |
poziții.GTIN, dacă este specificat altfel positions.ItemId |
da |
Codul produsului (ProductNumberCode) Trebuie utilizat codul EAN (Barcode) al produsului. În cazul în care acesta nu există, se completează valoarea câmpului 2.4.2. – Identificatorul produsului sau al serviciului (ProductCode). |
Text 60 | |
| <CustomsDetails> | nu | Detalii vamale | N/A | ||
| <CNCode> | n.a. | nu |
Codul Nomenclaturii Combinate (CNCode) Completați cu codul din Nomenclatura mărfurilor a Uniunii Europene. Dacă sunt necesare mai multe referințe, acest câmp poate fi generat de câte ori este necesar. |
Text 8 | |
| <Număr ONU> | n.a. | nu |
Numărul ONU (UNNumber) Completați numărul ONU pentru mărfurile periculoase. Dacă sunt necesare mai multe referințe, acest câmp poate fi generat de câte ori este necesar. |
Text 4 | |
Tabel fiscal
| Numele câmpului SAF-T (PT) | RetailForce DOM | Mandat | Note | Format | Exemplu | |
| <TaxTableEntry> | da | Intrare în tabelul de impozite (TaxTableEntry) | N/A | |||
| <TaxType> | În prezent, este acceptată doar „IVA” pentru taxa pe valoarea adăugată. | da |
Codul tipului de impozit (TaxType) Tipul de taxă trebuie indicat în acest câmp. Trebuie completat cu: „IVA” – Taxa pe valoarea adăugată; „IS” – Taxă de timbru; „NS” – Nu este supus Vat-ului sau taxei de timbru. |
Text 3 | ||
| <TaxCountryRegion> |
derivat din FiscalRegions (al magazinului)
Corelare:
|
da |
Țara sau regiunea fiscală (TaxCountryRegion) Trebuie completat în conformitate cu standardul ISO 3166-1-alpha-2. În cazul regiunilor autonome Madeira și Azore, trebuie completat cu: „PT-AC” – zona fiscală a Regiunii Autonome a Azorelor; și „PT-MA” – zona fiscală a Regiunii Autonome Madeira. |
Text 5 | ||
| <TaxCode> |
VatIdentification În Portugalia se aplică următoarele cote de Vat: Portugalia: Cota normală: 23% Cota redusă: 6% Cota intermediară: 13% Insulele Azore: Cota normală: 16% Rată redusă: 4% Cota intermediară: 9% Madeira: Cota normală: 22% Rată redusă: 4% (valabilă de la: 01.10.2024) Cota intermediară: 12% |
da |
Cod fiscal (TaxCode) În cazul câmpului 2.5.1.1 – Codul tipului de impozit (TaxType) = Vat, acesta trebuie completat cu:
În cazul câmpului 2.5.1.1 – Codul tipului de impozit (TaxType) = IS, acesta trebuie completat cu:
În cazul lipsei obligației fiscale, trebuie completat cu „NS”. Pe chitanțele emise fără detalierea taxelor, trebuie completat cu „NA”. |
Text 10 | ||
| <Descriere> |
generat în funcție de VatIdentification
Taxa de timbru nu este acceptată în prezent |
da | Descrierea taxei (Descriere) | Text 255 | ||
| <DataExpirareTaxă> | nu |
Data expirării (TaxExpirationDate) Ultima dată legală de aplicare a cotei de impozit, în cazul modificării acesteia, în cursul perioadei fiscale. |
Data | |||
| <TaxPercentage> | Positions.VatPercent | da |
Procentul ratei de impozitare (TaxPercentage) Acest câmp trebuie completat dacă este vorba de un procent de impozitare. În cazul scutirii sau al neimpozabilității, utilizați acest câmp cu valoarea „0” (zero). |
Zecimal | ||
| <TaxAmount> | TaxType nu este acceptat | da |
Suma impozitului (TaxAmount) Acest câmp trebuie completat dacă este vorba de o sumă fixă a taxei de timbru. |
Monetar | ||
Documente comerciale (SourceDocuments)
Această secțiune conține documentele propriu-zise trimise de sistemul din amonte.
Documente comerciale către clienți (SalesInvoices)
Această secțiune conține următoarele documentType-uri:
- 0 / [0] = Chitanță
- 1 / [1] = Factură
| Denumirea câmpului SAF-T (PT) | RetailForce DOM | Mandat | Note | Format | ||||
| <SalesInvoices> |
DocumentType:
|
Documente comerciale către clienți (Facturi de vânzare) | N/A | |||||
| <Număr de intrări> | Numără documentele comerciale incluse în fișierul de SAF-T export curent. | da | Numărul de înregistrări ale documentelor comerciale (NumberOfEntries) | Int | ||||
| <TotalDebit> | Suma valorilor nete (NetValue) ale pozițiilor tranzacțiilor de returnare incluse în fișierul de SAF-T export | da | Totalul debitelor (TotalDebit) | Monetar | ||||
| <TotalCredit> | Suma NetValue a tuturor pozițiilor tranzacțiilor de vânzare incluse în fișierul de SAF-T export | da | Total credite (TotalCredit) | Monetar | ||||
| <Factură> | Document de vânzare (Factură) | N/A | ||||||
| <InvoiceNo> | fiscalResponse.AdditionalFields.Nr. factură | da |
Identificator unic al documentului de vânzare (InvoiceNo) Această identificare este compusă, în ordine secvențială, din următoarele elemente: codul intern al tipului de document atribuit de aplicație, un spațiu, identificatorul seriei de documente, o bară oblică (/) și numărul secvențial al documentului respectiv în cadrul acelei serii. Nu pot exista înregistrări cu aceeași identificare. Același cod intern al tipului de document nu poate fi utilizat pentru tipuri de documente diferite. |
Text 60 | ||||
| <ATCUD> |
fiscalResponse.AdditionalFields.AtCud DOAR în cazul SAF-T export: Sistemul din amonte trimite ATCUD în fiscalisationAdditionalFields.AtCudPortugal |
da |
Codul unic al documentului (ATCUD) Acest câmp trebuie să conțină codul unic al documentului. Câmpul trebuie completat cu „0” (zero) până la reglementarea sa. Codul ATCUD este obligatoriu începând cu 2023. |
Text 100 | ||||
| <DocumentStatus> | da | Starea documentului (DocumentStatus) | N/A | |||||
| <InvoiceStatus> |
„N” pentru toate tranzacțiile (vânzări și retururi), dar nu și pentru anulare „A” dacă
„S” – nu este acceptat „R“ – nu este acceptat „F” – nu se utilizează în RF |
da |
Starea actuală a documentului (InvoiceStatus) Trebuie completat cu:
|
Text 1 | ||||
| <InvoiceStatusDate> | BookDate | da |
Data și ora stării actuale a documentului (InvoiceStatusDate) Data ultimei înregistrări a stării documentului, cu precizie de secundă. Tipul de dată și oră: „AAAA-LL-ZZThh:mm:ss”. |
DateTime | ||||
| <Motiv> | nu |
Motivul modificării stării (Reason) Trebuie indicat motivul modificării stării documentului. |
Text 50 | |||||
| <SourceID> | user.ID | da |
Codul utilizatorului (SourceID) Utilizatorul responsabil pentru starea actuală a documentului. |
Text 30 | ||||
| <SourceBilling> | este acceptat doar „P” | da |
Originea documentului (SourceBilling) Trebuie completat cu:
|
Text 1 | ||||
| <Hash> |
fiscalResponse.signature DOAR în cazul SAF-T export: Sistemul din amonte trimite Hash în FiscalAdditionalFields.HashPortugal |
da |
Cheia documentului (Hash) Semnătură în conformitate cu Ordonanța nr. 363/2010 din 23 iunie. Câmpul trebuie completat cu „0” (zero) dacă certificarea nu este obligatorie. |
Text 172 | ||||
| <HashControl> |
fiscalResponse.AdditionalFields.HashControlValue DOAR în cazul SAF-T export: Sistemul din amonte trimite HashControl în FiscalAdditionalFields.HashControlPortugal |
da |
Cheie de control (HashControl) Versiunea cheii private utilizate pentru crearea semnăturii în câmpul 4.1.4.4. – Cheia documentului (Hash). Câmpul trebuie completat cu „0” (zero) dacă documentul este generat de un program necertificat. |
Text 70 | ||||
| <Perioadă> |
Se calculează pe baza lunii de început a anului fiscal dacă valoarea este, de exemplu, 3 (= martie) și exportul a fost efectuat pentru luna aprilie, valoarea câmpului <Perioadă> este „2”. |
da |
Perioada contabilă (Perioadă) Luna perioadei fiscale trebuie indicată de la „1” la „12”, începând cu data începerii acesteia. |
Int | ||||
| <InvoiceDate> | BookDate | da |
Data documentului de vânzare (InvoiceDate) Data emiterii documentului de vânzare. |
Data | ||||
| <InvoiceType> |
Corelare: FT: „documentType”: 1 / „[1] = Factură FS: documentType": 0 / "[0] = Chitanță FR: documentType: 0 / „[0] = Chitanță dacă Document.Partner este setat (conține date). ND: nu este acceptat NC: „DocumentType”: 0 / „[0] = Chitanță” SAU „DocumentType”: 1 / „[1] = Factură” dacă:
VD, TV, TD, AA, DA sunt depășite Sectorul asigurărilor (RP, RE, CS, LD, RA) nu este acceptat |
da |
Tipul documentului (InvoiceType) Trebuie completat cu:
Pentru sectorul asigurărilor, atunci când nu este inclus în tabelul 4.3. – Documente pentru verificarea bunurilor sau serviciilor (documente de lucru), se poate completa și cu:
(a) Pentru datele până la 31 decembrie 2012. |
Textul 2 | ||||
| <Regimuri speciale> | da | Regimuri speciale (SpecialRegimes) | N/A | |||||
| <SelfBillingIndicator> | setat întotdeauna la „0” | da |
Indicator de autofacturare (SelfBillingIndicator) Trebuie completat cu „1” dacă se aplică autofacturarea și cu „0” (zero) în caz contrar. |
Int | ||||
| <CashVATSchemeIndicator> |
Setare în configurație
|
da |
Indicatorul schemei Vat în numerar (CashVATSchemeIndicator) Indicator de aderare la regimul de Vat pe bază de numerar. Trebuie completat cu „1” în cazul aderării și cu „0” (zero) în caz contrar. |
Int | ||||
| <ThirdPartiesBillingIndicator> | Facturarea prin terți nu este acceptată. Prin urmare, se introduce întotdeauna „0” | da |
Indicator privind facturarea emisă în numele și pe seama unor terți (ThirdPartiesBillingIndicator) Trebuie completat cu „1” dacă se referă la facturarea emisă în numele și pe seama terților și cu „0” (zero) în caz contrar. |
Int | ||||
| <SourceID> | user.ID | da |
Codul utilizatorului (SourceID) Utilizatorul care a generat documentul. |
Text 30 | ||||
| <EACCode> | nu |
Cod CAE (EACCode) Trebuie indicat codul CAE pentru activitatea legată de eliberarea acestui document. |
Textul 5 | |||||
| <SYSTEMENTRYDATE> | BookDate | da |
Data înregistrării documentului (SystemEntryDate) Data înregistrării, cu precizie de secundă, la momentul semnării. Formatul datei și orei: „AAAA-LL-ZZThh:mm:ss”. |
DateTime | ||||
| <TRANSACTIONID> | n.a. (soluție neintegrată) | da |
Identificatorul tranzacției (TransactionID) Acest câmp trebuie completat în cazul unui sistem integrat de contabilitate și facturare, chiar dacă tipul de fișier (TaxAccountingBasis) nu ar trebui să conțină tabelele referitoare la contabilitate. Trebuie indicată cheia unică din tabelul 3. Mișcări contabile (GeneralLedgerEntries) a tranzacției în care a fost înregistrat acest document, în conformitate cu regula definită acolo pentru câmpul 3.4.3.1 – Cheia unică a mișcării contabile (transactionId). |
Text 70 | ||||
| <CustomerID> | partner.id | da |
Identificator client (CustomerID) Cheie unică pentru tabelul 2.2. – Tabelul clienților (Customer), conform regulii definite în acesta pentru câmpul 2.2.1. – Identificator unic al clientului (CustomerID). |
Text 30 | ||||
| <ShipTo> | dacă deliveryAddress este setat la partner | nu |
Locul de descărcare (ShipTo) Informații privind locul și data descărcării unde articolele vândute sunt puse la dispoziția clientului sau a persoanei desemnate de acesta în cazul operațiunilor triunghiulare. |
N/A | ||||
| <DeliveryID> | nu |
Identificator livrare (DeliveryID) În cazul tranzacțiilor triunghiulare, trebuie indicate locul de livrare și numărul de Vat al destinatarului. |
Text 255 | |||||
| <DeliveryDate> | nu |
Data livrării (DeliveryDate) În sectorul asigurărilor, acest câmp trebuie completat cu data de încheiere a perioadei de acoperire a riscului. |
Data | |||||
| <WarehouseID> | nu | Identificatorul depozitului de destinație (WarehouseID) | Text 50 | |||||
| <ID-locație> | nu | Locația mărfurilor în depozitul de destinație (LocationID) | Text 30 | |||||
| <Address> | nu | Adresă | N/A | |||||
| <Număr clădire> | nu | Numărul clădirii (BuildingNumber) | Text 10 | |||||
| <Numele străzii> | partner.street | nr. | Numele străzii (StreetName) | Text 200 | ||||
| <DetaliiAdresă> |
partner.street + partner.streetNumber |
da | Trebuie să includă numele străzii, numărul de înregistrare și etajul, dacă este cazul. | Text 210 | ||||
| <Oraș> | partner.city | da | Oraș | Text 50 | ||||
| <POSTALCODE> | partner.PostalCode | da | Cod poștal | Text 20 | ||||
| <Regiune> | nu | District | Text 50 | |||||
| <Țară> |
partner.CountryCode convertit la ISO 3166 ALPHA-2 |
da | Trebuie completat în conformitate cu standardul ISO 3166 - 1-alpha-2. | Text 2 | ||||
| <ShipFrom> | storeAddress (din Configurație) | da |
Locul de încărcare (ShipFrom) Informații privind locul și data încărcării de unde începe expedierea articolelor vândute clientului. |
N/A | ||||
| <DeliveryID> | nu |
Identificator livrare (DeliveryID) Trebuie indicat numărul de înmatriculare al vehiculului de transport sau al mijlocului de expediere utilizat, de exemplu, curierat rapid etc. |
Text 255 | |||||
| <DeliveryDate> | nu |
Data primirii (DeliveryDate) În sectorul asigurărilor, acest câmp trebuie completat cu data de începere a perioadei de acoperire a riscului. |
Data | |||||
| <ID-depozit> | nu | Identificatorul depozitului de plecare (WarehouseID) | Text 50 | |||||
| <ID-locație> | nu | Locația mărfurilor în depozitul de plecare (LocationID) | Text 30 | |||||
| <Address> | nu | Adresă | N/A | |||||
| <Număr clădire> | nu | Numărul clădirii (BuildingNumber) | Text 10 | |||||
| <StreetName> | storeAddress.street (din Configurație) | nu | Numele străzii (StreetName) | Text 200 | ||||
| <DetaliiAdresă> |
storeAddress.street + storeAddress.streetNumber (din Configurație) |
da | Ar trebui să includă numele străzii, numărul de poliție și etajul, dacă este cazul. | Text 210 | ||||
| <Oraș> | storeAddress.city (din Configurație) | da | Oraș | Text 50 | ||||
| <POSTALCODE> | storeAddress.PostalCode (din Configurație) | da | Cod poștal | Text 20 | ||||
| <Regiune> | nu | District | Text 50 | |||||
| <Țară> | storeAddress.country convertit în ISO 3166 ALPHA-2 (din Configurație) | da | Trebuie completat în conformitate cu ISO 3166 - 1-alpha-2. | Text 2 | ||||
| <MovementEndTime> | n.a. | nu |
Data și ora de încheiere a transportului (MovementEndTime) Tipul de dată și oră: „AAAA-LL-ZZThh:mm:ss”, unde „ss” poate fi „00” în absența unor informații specifice. |
DateTime | ||||
| <MovementStartTime> | n.a. | da |
Data și ora începerii transportului (MovementStartTime) Tipul de dată și oră: „AAAA-LL-ZZThh:mm:ss”, unde „ss” poate fi „00” în absența unor informații specifice. Acest câmp trebuie completat dacă documentul servește și ca document de transport, în conformitate cu dispozițiile Regimului privind mărfurile aflate în circulație, aprobat prin Decretul-lege nr. 147/2003 din 11 iulie. |
DateTime | ||||
| <Line> | da | N/A | ||||||
| <Număr de linie> | positions.PositionNumber + 1 | da |
Numărul liniei (LineNumber) Liniile trebuie exportate în aceeași ordine în care apar în documentul original. |
Int | ||||
| <OrderReferences> | n.a. | nu |
Referință la documentul sursă (OrderReferences) Dacă sunt necesare mai multe referințe, această structură poate fi generată de câte ori este necesar. |
N/A | ||||
| <OriginatingON> | n.a. | nu |
Numărul documentului de origine (OriginatingON) Trebuie indicate tipul, seria și numărul documentului care stă la baza emiterii prezentului document. Dacă documentul este inclus în SAF-T (PT), trebuie utilizată structura de numerotare a câmpului de origine. |
Text 60 | ||||
| <OrderDate> | n.a. | nu | Data documentului sursă (OrderDate) | Data | ||||
| <ProductCode> | positions.ItemId | da |
Identificatorul produsului sau serviciului (ProductCode) Cheia înregistrării din tabelul 2.4. – Tabelul produselor/serviciilor (Product), în câmpul 2.4.2. – Identificatorul produsului sau serviciului (ProductCode). |
Text 60 | ||||
| <ProductDescription> | positions.itemCaption | da |
Descrierea produsului sau a serviciului (ProductDescription) Descrierea liniei de factură, corelată cu tabelul 2.4. – Tabelul produselor/serviciilor (Product), în câmpul 2.4.4. – Descrierea produsului sau a serviciului (ProductDescription). |
Text 200 | ||||
| <Cantitate> | poziții.Cantitate | da | Cantitate | Zecimal | ||||
| <UnitateDeMăsură> |
Poziții.UnitateDeMăsurăCantitate.isoCode Utilizați codurile ISO/UCUM |
da | Unitate de măsură (UnitOfMeasure) | Text 20 | ||||
| <UnitPrice> | calculat din: BaseNetValue / cantitate | da |
Preț unitar (UnitPrice) Prețul unitar minus reducerile de linie și de header, fără taxe. Trebuie completat cu „0,00” dacă câmpul 4.1.4.19.8 trebuie completat. - Valoarea unitară impozabilă (TaxBase). |
Monetar | ||||
| <TaxBase> |
Se utilizează numai pentru articolele gratuite, dacă GrossValue: 0 și BaseGrossValue > 0 |
da |
Valoarea impozabilă unitară (TaxBase) Valoarea impozabilă unitară care nu contribuie la Totalul documentului fără taxe (NetTotal). Această valoare este utilizată ca bază pentru calcularea taxelor pentru linie. Semnul (debit sau credit) cu care taxa astfel calculată contribuie la TaxPayable rezultă din existența DebitAmount sau CreditAmount în linie. |
Monetar | ||||
| <TaxPointDate> |
pentru documentType": 0 / "[0] = Chitanță
pentru documentType": 1 / "[1] = Factură
|
da |
Data expedierii mărfurilor sau a prestării serviciilor (TaxPointDate) Data expedierii bunurilor sau a prestării serviciilor. Trebuie completată cu data avizului de livrare asociat, dacă există. Dacă există mai multe avize de livrare, trebuie indicată data celui mai vechi dintre acestea. |
Data | ||||
| <Referințe> |
Referințe la facturi (Referințe) Referințe la facturi în documentele lor rectificative. Dacă sunt necesare mai multe referințe, această structură poate fi generată de câte ori este necesar. |
N/A | ||||||
| <Referință> | documentReference.fiscalDocumentNumber | nu | Referință la factură sau la factura simplificată, prin intermediul identificatorului său unic, în sistemele în care acesta există. Trebuie utilizată structura de numerotare a câmpului sursă. | Text 60 | ||||
| <Motiv> | documentReference.returnReasonText | nu | Trebuie completat cu motivul emiterii. | Text 50 | ||||
| <Descriere> | positions.itemCaption | da | Descrierea liniei documentului. | Text 200 | ||||
| <ProductSerialNumber> | nu | Numărul de serie al produsului (ProductSerialNumber) | N/A | |||||
| <SerialNumber> | positions.ItemSerialNumber | da |
Număr de serie Trebuie să includă numărul de serie al produsului menționat în document. De exemplu: VIN, IMEI, ISSN, ISAN. Dacă sunt necesare mai multe referințe, acest câmp poate fi generat de câte ori este necesar. |
Text 100 | ||||
| <DebitAmount> | poziții.NetValue pentru poziția de returnare respectivă | da |
Suma de debit (DebitAmount) Suma pe linie, fără taxe, a documentelor care urmează să fie înregistrate în contul de vânzări. Această sumă este dedusă din reducerile de linie și de header. |
Monetar | ||||
| <CreditAmount> | poziții.NetValueValue ale respectivei poziții de vânzare | da |
Suma creditului Suma pe linie, fără taxe, a documentelor care urmează să fie înregistrate ca credit în contul de vânzări. Această sumă este dedusă din reducerile de linie și de header. |
Monetar | ||||
| <Taxă> | da | Rata de impozitare | N/A | |||||
| <TaxType> | se indică întotdeauna „IVA” | da |
Codul tipului de impozit (TaxType) În acest câmp trebuie indicat tipul de taxă. Trebuie completat cu:
|
Text 3 | ||||
| <TaxCountryRegion> |
derivat din FiscalRegions (al magazinului)
Corelare:
|
da |
Țara sau regiunea fiscală (TaxCountryRegion) Trebuie completat în conformitate cu standardul ISO 3166-1-alpha-2. În cazul regiunilor autonome Madeira și Azore, trebuie completat cu:
|
Text 5 | ||||
| <TaxCode> |
VatIdentification În Portugalia se aplică următoarele cote de Vat: Portugalia: Cota normală: 23% Cota redusă: 6% Cota intermediară: 13% Insulele Azore: Cota normală: 16% Rată redusă: 4% Cota intermediară: 9% Madeira: Cota normală: 22% Rată redusă: 4% (valabilă de la: 01.10.2024) Cota intermediară: 12% |
da |
Cod fiscal (TaxCode) Codul fiscal din tabelul fiscal. În cazul câmpului 4.1.4.19.15.1. – Codul tipului de impozit (TaxType) = Vat, acesta trebuie completat cu:
În cazul câmpului 4.1.4.19.15.1 – Codul tipului de impozit (TaxType) = IS, acesta trebuie completat cu:
În cazul lipsei obligației fiscale, trebuie completat cu „NS”. |
Text 10 | ||||
| <TaxPercentage> | Poziții.VatPercent | da |
Procentul de impozitare (TaxPercentage) Acest câmp trebuie completat dacă este vorba de un procent de impozit. Procentul de impozit corespunde impozitului aplicabil câmpului 4.1.4.19.13. – Suma debitată (DebitAmount) sau câmpului 4.1.4.19.14. – Suma creditată (CreditAmount). În cazul scutirii sau al neimpozabilității, utilizați acest câmp cu valoarea „0” (zero). |
Zecimal | ||||
| <TaxAmount> | TaxType nu este acceptat | da |
Suma impozitului (TaxAmount) Acest câmp trebuie completat dacă este vorba de o sumă fixă pe unitate reprezentând taxa de timbru. Această sumă, înmulțită cu cantitatea (Quantity), contribuie la suma impozitului de plată (TaxPayable). |
Monetar | ||||
| <TaxExemptionReason> |
Coduri de motiv de scutire M01-M99 fiscalResponse.printingFields |
da |
Motivul scutirii de impozit (TaxExemptionReason) Acest câmp trebuie completat atunci când câmpurile 4.1.4.19.15.4 – Procentul de impozit (TaxPercentage) sau 4.1.4.19.15.5 – Suma impozitului (TaxAmount) sunt egale cu zero. Trebuie menționată dispoziția legală aplicabilă. Acest câmp trebuie completat și în cazurile de neasupra-care a obligației fiscale pentru impozitele menționate în Tabelul 2.5. – Tabelul impozitelor (TaxTable). |
Text 60 | ||||
| <TaxExemptionCode> | A se vedea codurile de motiv de scutire M01-M99 | da |
Codul motivului scutirii de impozit (TaxExemptionCode) Trebuie completat cu codul motivului scutirii sau al neimpozitării, care poate fi găsit în Manualul de integrare software – Comunicarea facturilor către AT. Acest câmp trebuie completat atunci când câmpurile 4.1.4.19.15.4 – Procentul de impozit (TaxPercentage) sau 4.1.4.19.15.5 – Suma impozitului (TaxAmount) sunt egale cu zero. Acest câmp trebuie completat și în cazurile de neasupra cărora nu se aplică impozitele menționate în tabelul 2.5. – Tabelul de impozite (TaxTable). |
Text 3 | ||||
| <SettlementAmount> | nu |
Suma de decontare a liniei (SettlementAmount) Trebuie să reflecte toate reducerile acordate (proporția reducerilor globale pentru această linie și cele specifice aceleiași linii) care afectează valoarea câmpului 4.1.4.20.3. – Totalul documentului cu taxe (GrossTotal). |
Monetar | |||||
| <Informații vamale> | nu | Informații vamale (CustomsInformation) | N/A | |||||
| <ARCNo> | nu |
Cod de referință administrativ (ARCNo) Se completează cu codul atribuit după validarea documentului administrativ electronic e-DA. Dacă sunt necesare mai multe referințe, acest câmp poate fi generat de câte ori este necesar. |
Text 21 | |||||
| <IECAmount> | nr. |
Valoarea accizei pentru linia respectivă (IECAmount) Valoarea accizei incluse în baza impozabilă pentru linia documentului, dacă aceasta nu este detaliată pe o linie separată în document, cu „Indicatorul de produs sau serviciu (ProductType)” = E. |
Monetar | |||||
| <DocumentTotals> | da | Totaluri document (DocumentTotals) | N/A | |||||
| <TaxPayable> | suma valorilor TaxValue ale pozițiilor | da | Suma impozitului de plată (TaxPayable) | Monetar | ||||
| <TotalNet> | suma NetValue a pozițiilor | da |
Suma totală a documentului, fără taxe (NetTotal) Acest câmp nu trebuie să includă sumele aferente taxelor enumerate în Tabelul 2.5. – Tabelul taxelor (TaxTable). |
Monetar | ||||
| <GrossTotal> | suma valorilor brute ale pozițiilor | da |
Suma totală a documentului, inclusiv impozitele (GrossTotal) Acest câmp nu trebuie să reflecte niciun impozit reținut la sursă inclus în structura 4.1.4.21. – Impozit reținut la sursă (WithholdingTax) |
Monetar | ||||
| <Monedă> | numai dacă payments.CurrencyIsoCode != EUR | nu | Nu trebuie generat dacă documentul este emis în euro. | N/A | ||||
| <Cod monedă> | payments.currencyIsoCode | da |
Codul monedei (CurrencyCode) În cazul monedei străine, acest câmp trebuie completat în conformitate cu standardul ISO 4217. |
Text 3 | ||||
| <CurrencyAmount> | payments.ForeignAmount | da |
Suma totală în valută străină (CurrencyAmount) Valoarea câmpului 4.1.4.20. 3. – Totalul documentului, inclusiv taxele (GrossTotal), în moneda originală a documentului. |
Monetar | ||||
| <ExchangeRate> | payments.ForeignAmountExchangeRate | da |
Cursul de schimb (ExchangeRate) Trebuie indicat cursul de schimb utilizat pentru conversia în EUR. |
Zecimal | ||||
| <Decontare> | nu |
Acorduri sau metode de plată. Dacă sunt necesare mai multe referințe, această structură poate fi generată de câte ori este necesar. |
N/A | |||||
| <Reducere la decontare> | nu |
Acorduri viitoare de reducere (SettlementDiscount) Trebuie completat cu acordurile de reducere care urmează să fie aplicate în viitor asupra valorii actualizate. |
Text 30 | |||||
| <SumaDecontării> | nu |
Suma de decontare (SettlementAmount) Reprezintă suma convenită pentru reducerea viitoare, fără a afecta valoarea actuală a documentului indicată în câmpul 4.1.4.20.3. — Totalul documentului cu taxe (GrossTotal). |
Monetar | |||||
| <SettlementDate> | nu |
Data de decontare convenită (SettlementDate) Informația care trebuie inclusă este data convenită pentru plata cu reducere |
Date | |||||
| <PAYMENTTERMS> | nu |
Condiții de plată Informațiile care trebuie incluse sunt termenii conveniți sau termenul limită de plată. |
Text 100 | |||||
| <Plată> | nu |
În cazul plăților mixte, sumele trebuie indicate în funcție de tipul mijlocului de plată și de data plății. Dacă este necesară mai mult de o referință, această structură poate fi generată de câte ori este necesar. |
N/A | |||||
| <Mecanism de plată> |
payments.PaymentType Corelare:
|
nu |
Mijloace de plată (Mecanism de plată) Trebuie completat cu:
|
Text 2 | ||||
| <PAYMENTAMOUNT> | payments.amount | nu |
Suma plății (PaymentAmount) Trebuie indicată suma pentru fiecare metodă de plată. |
Monetar | ||||
| <PAYMENTDATE> | nu | Data plății (PaymentDate) | Data | |||||
| <WithholdingTax> | nu |
Impozit reținut la sursă Dacă sunt necesare mai multe referințe, această structură poate fi generată de câte ori este necesar. |
N/A | |||||
| <WithholdingTaxType> | nu |
Codul tipului de impozit reținut la sursă (WithholdingTaxType) În acest câmp, trebuie să indicați tipul impozitului reținut la sursă, completându-l cu:
|
Text 3 | |||||
| <WithholdingTaxDescription> | nu |
Motivul reținerii la sursă (WithholdingTaxDescription) Trebuie indicată dispoziția legală aplicabilă. Dacă codul tipului de impozit (WithholdingTaxType) = IS, trebuie introdus codul fiscal corespunzător. |
Text 60 | |||||
| <WithholdingTaxAmount> | nu |
Suma impozitului reținut la sursă (WithholdingTaxAmount) Trebuie indicată suma impozitului reținut la sursă. |
Monetar | |||||
Alte documente
Pe lângă „Documentele comerciale destinate consumatorilor (SalesInvoices)”, formatul SAF-T conține și alte documente:
- Documente privind circulația mărfurilor (MovementOfGoods)
- Documente privind verificarea mărfurilor sau prestarea serviciilor (WorkingDocuments)
- Documente de încasare emise (Payments)
Corelarea acestor secțiuni este echivalentă cu secțiunea „Documente comerciale către clienți (SalesInvoices)” și include date din documentType-urile enumerate în articolul „Corelarea documentType-urilor SAF-T (PT)”
Acest articol a fost tradus automat.
Comentarii
0 comentarii
Vă rugăm să vă autentificați pentru a lăsa un comentariu.