assoft-portugal / SAF-T-AO

Official XSD from the Government of Angola for use in SAF-T AO
https://www.agt.minfin.gov.ao
MIT License
56 stars 63 forks source link

Erro no validador: Erro no ficheiro, AuditFile.MasterFiles.1Customer.CustomerTaxID é inválido. #107

Closed Hugo-hmdm closed 2 years ago

Hugo-hmdm commented 3 years ago

Bom dia,

Ao testar um ficheiro SAF-T no validador de produtor de software deparamo-nos com o erro "Erro no ficheiro, AuditFile.MasterFiles.1Customer.CustomerTaxID é inválido.". Este cliente é um cliente estrangeiro (português). Deixo em anexo o ficheiro SAF-T para análise. Quais são os requisitos para a apresentação, no ficheiro SAF-T, de clientes estrangeiros? (url

SAF-T.zip

)

cryptolopes commented 3 years ago

O ficheiro não apresenta erros de estrutura. Esse erro acontece apenas do lado da AGT em consequência do algoritmo de validação. Possivelmente deve-se ao elemento Province, que não é obrigatório e não existe no caso do cliente estrangeiro em particular. Talvez esteja a originar uma validação errada a esse respeito.

        <Customer>
            <CustomerID>000004</CustomerID>
            <AccountID>31122</AccountID>
            <CustomerTaxID>PD54CMxagkDYivfE6NkwCg==</CustomerTaxID>
            <CompanyName>JJnuNGXAzeAk8CjEz90xSxkTFRHKyG0LmKgcfDZVlBE=</CompanyName>
            <Contact>JOSE\JOSE</Contact>
            <BillingAddress>
                <BuildingNumber>Incognito</BuildingNumber>
                <StreetName>DHoaV9KoQ46/JunYcXLiXzMn4GTUMck9wjrzE9FxX9O0SRFMIJakojoxuMoXIZU0</StreetName>
                <AddressDetail>DHoaV9KoQ46/JunYcXLiXzMn4GTUMck9wjrzE9FxX9O0SRFMIJakojoxuMoXIZU0</AddressDetail>
                <City>MATOSINHOS</City>
                <PostalCode>seW0xdwMo2M14gzry7mhlA==</PostalCode>
                <Province>Desconhecido</Province>
                <Country>PT</Country>
            </BillingAddress>
            <Telephone>Desconhecido</Telephone>
            <Fax>Desconhecido</Fax>
            <Email>Desconhecido</Email>
            <Website>Desconhecido</Website>
            <SelfBillingIndicator>0</SelfBillingIndicator>
        </Customer>
Hugo-hmdm commented 3 years ago

Boa tarde Nelson,

Sendo que o erro é do lado da AGT, como devemos proceder? Alteramos algum ponto da estrutura do SAF-T ou mantemos? Tem impacto para os nossos clientes?

Obrigado pela ajuda.

cryptolopes commented 3 years ago

Sendo que o erro é do lado da AGT, como devemos proceder?

Tenta corrigir, removendo o elemento Province e voltar a testar.

Hugo-hmdm commented 3 years ago

Sendo que o erro é do lado da AGT, como devemos proceder?

Tenta corrigir, removendo o elemento Province e voltar a testar.

Removemos o elemento e continua a dar o mesmo erro. Aguardamos por uma resposta da AGT?

Obrigado pela ajuda.

cryptolopes commented 3 years ago

Erro no validador: Erro no ficheiro, AuditFile.MasterFiles.1Customer.CustomerTaxID é inválido.

Classificação: Bug Destinatário: AGT

Descrição

O presente erro acontece ao proceder à validação do SAF-T (AO) a partir do Portal do Contribuinte.

Trata-se, porém, de um bug na plataforma da AGT, pois o ficheiro SAF-T em causa não apresenta nem erros de estrutura, nem erros de concordância de dados. Quer o cliente em causa, quer os documentos para ele emitidos destinam-se a exportação.

Comportamento que seria esperado

Exemplos de dados que estiveram na deteção do problema

XPath

/AuditFile/MasterFiles/Customer

Nó de XML

<Customer>
    <CustomerID>000004</CustomerID>
    <AccountID>31122</AccountID>
    <CustomerTaxID>510873758</CustomerTaxID>
    <CompanyName>P.S.L Navegação</CompanyName>
    <Contact>JOSE\JOSE</Contact>
    <BillingAddress>
        <BuildingNumber>Incognito</BuildingNumber>
        <StreetName>Av. D. Afonso Henriques, 1196 - sala 204</StreetName>
        <AddressDetail>Av. D. Afonso Henriques, 1196 - sala 204</AddressDetail>
        <City>MATOSINHOS</City>
        <PostalCode>4450-012</PostalCode>
        <Province>Desconhecido</Province>
        <Country>PT</Country>
    </BillingAddress>
    <Telephone>Desconhecido</Telephone>
    <Fax>Desconhecido</Fax>
    <Email>Desconhecido</Email>
    <Website>Desconhecido</Website>
    <SelfBillingIndicator>0</SelfBillingIndicator>
</Customer>

Informação adicional

O elemento Country apresenta também especial relevância em SalesInvoices e MovementOfGoods, onde é possível reportar para onde se destinam os envios de mercadoria.

Recomenda-se especial atenção também para esta zona quando se proceder à correção do problema.

XPath

/AuditFile/SourceDocuments/SalesInvoices/Invoice/ShipTo /AuditFile/SourceDocuments/MovementOfGoods/StockMovement/ShipTo

Nó de XML

<ShipTo>
    <DeliveryDate>2020-11-17</DeliveryDate>
    <Address>
        <StreetName>Av. D. Afonso Henriques, 1196 - sala 204</StreetName>
        <AddressDetail>Av. D. Afonso Henriques, 1196 - sala 204</AddressDetail>
        <City>MATOSINHOS</City>
        <PostalCode>4450012</PostalCode>
        <Province>Desconhecido</Province>
        <Country>PT</Country>
    </Address>
</ShipTo>
cryptolopes commented 3 years ago

Erro no validador: Erro no ficheiro, AuditFile.MasterFiles.1Customer.CustomerTaxID é inválido.

Não se trata efetivamente de um erro, mas, sim, de um ⚠ alerta. Pode ser ignorado para transações em que o Customer é uma entidade estrangeira. ver mais no Telegram

Country

https://github.com/assoft-portugal/SAF-T-AO/blob/97c7d2006b5037471261e7f8d97e752785fe33f9/XSD%2FSAFTAO1.01_01.xsd#L1151-L1159

Zebedeu commented 3 years ago

Olá!

Eu estou a ter problemas semelhantes e nao consigo achar a os motivos dos erro. Já li todos os comentários existentes aqui e nem coiso pode resolver.

Vou postar aqui o meu xml e o print dos erros.

Obrigado!

Captura de ecrã 2020-11-25, às 17 48 02


<?xml version="1.0" encoding="WINDOWS-1252"?>
<AuditFile xmlns="urn:OECD:StandardAuditFile-Tax:AO_1.01_01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Header>
    <AuditFileVersion>1.01_01</AuditFileVersion>
    <CompanyID> 5417349943</CompanyID>
    <TaxRegistrationNumber>5417349943</TaxRegistrationNumber>
    <TaxAccountingBasis>P</TaxAccountingBasis>
    <CompanyName>MACHIZE</CompanyName>
    <BusinessName>MACHIZE</BusinessName>
    <CompanyAddress>
      <AddressDetail>Omisso</AddressDetail>
      <City>Luanda</City>
      <PostalCode/>
      <Country>AO</Country>
    </CompanyAddress>
    <FiscalYear>2020</FiscalYear>
    <StartDate>2020-11-01</StartDate>
    <EndDate>2020-11-25</EndDate>
    <CurrencyCode>AOA</CurrencyCode>
    <DateCreated>2020-11-25</DateCreated>
    <TaxEntity>Global</TaxEntity>
    <ProductCompanyTaxID>4454545</ProductCompanyTaxID>
    <SoftwareValidationNumber>999999990</SoftwareValidationNumber>
    <SoftwareCertificateNumber>A54455</SoftwareCertificateNumber>
    <ProductID>company /comuninty</ProductID>
    <ProductVersion>12.0.3</ProductVersion>
    <Telephone>913750140</Telephone>
    <Fax>913 567 543</Fax>
    <Email>marciozebedeu@icloud.com</Email>
  </Header>
  <MasterFiles>
    <Customer>
      <CustomerID>CU2011-00001</CustomerID>
      <AccountID>Desconhecido</AccountID>
      <CustomerTaxID>5417447639</CustomerTaxID>
      <CompanyName>Carlos</CompanyName>
      <BillingAddress>
        <AddressDetail>Rua A</AddressDetail>
        <City>Luanda</City>
        <PostalCode>0000-000</PostalCode>
        <Country>AO</Country>
      </BillingAddress>
      <SelfBillingIndicator>0</SelfBillingIndicator>
    </Customer>
    <Customer>
      <CustomerID>CU2011-00002</CustomerID>
      <AccountID>Desconhecido</AccountID>
      <CustomerTaxID>5417645672</CustomerTaxID>
      <CompanyName>Nejo</CompanyName>
      <BillingAddress>
        <AddressDetail>Rua B</AddressDetail>
        <City>Luanda</City>
        <PostalCode>0000-000</PostalCode>
        <Country>AO</Country>
      </BillingAddress>
      <Telephone>913750140</Telephone>
      <Email>marciozebedeu@icloud.com</Email>
      <SelfBillingIndicator>0</SelfBillingIndicator>
    </Customer>
    <Product>
      <ProductType>P</ProductType>
      <ProductCode>Peixe</ProductCode>
      <ProductGroup>Produtos</ProductGroup>
      <ProductDescription>Peixe</ProductDescription>
      <ProductNumberCode>Peixe</ProductNumberCode>
    </Product>
    <Product>
      <ProductType>P</ProductType>
      <ProductCode>Arroz</ProductCode>
      <ProductGroup>Produtos</ProductGroup>
      <ProductDescription>Arroz</ProductDescription>
      <ProductNumberCode>Arroz</ProductNumberCode>
    </Product>
    <TaxTable>
      <TaxTableEntry>
        <TaxType>IVA</TaxType>
        <TaxCountryRegion>AO</TaxCountryRegion>
        <TaxCode>ISE</TaxCode>
        <Description>INSENTO</Description>
        <TaxPercentage>0</TaxPercentage>
      </TaxTableEntry>
      <TaxTableEntry>
        <TaxType>IVA</TaxType>
        <TaxCountryRegion>AO</TaxCountryRegion>
        <TaxCode>NOR</TaxCode>
        <Description>Nomal</Description>
        <TaxPercentage>14</TaxPercentage>
      </TaxTableEntry>
    </TaxTable>
  </MasterFiles>
  <SourceDocuments>
    <SalesInvoices>
      <NumberOfEntries>2</NumberOfEntries>
      <TotalDebit>0</TotalDebit>
      <TotalCredit>21052.63</TotalCredit>
      <Invoice>
        <InvoiceNo>FT 2020/0001</InvoiceNo>
        <DocumentStatus>
          <InvoiceStatus>N</InvoiceStatus>
          <InvoiceStatusDate>2020-11-25T13:09:51</InvoiceStatusDate>
          <SourceID>zebedeu</SourceID>
          <SourceBilling>P</SourceBilling>
        </DocumentStatus>
        <Hash>nXDx2GvwwHo0FEgiR76JUQWnrOxkqPNVyE/VROtpK/YKKLehUA8lfj+621atq/8erysnNlNsDOYf9mLdx+KGvb5OhjExzxllZcty5GJ7IugvKXR2I3pDCFPJdulH94BXdsjmN0wKc7R2f89F72PAmiVFYQqfFGWFToUgPjeR6Uw=</Hash>
        <HashControl>1</HashControl>
        <Period>11</Period>
        <InvoiceDate>2020-11-25</InvoiceDate>
        <InvoiceType>FT</InvoiceType>
        <SpecialRegimes>
          <SelfBillingIndicator>0</SelfBillingIndicator>
          <CashVATSchemeIndicator>0</CashVATSchemeIndicator>
          <ThirdPartiesBillingIndicator>0</ThirdPartiesBillingIndicator>
        </SpecialRegimes>
        <SourceID>zebedeu</SourceID>
        <SystemEntryDate>2020-11-25T13:09:51</SystemEntryDate>
        <CustomerID>CU2011-00001</CustomerID>
        <Line>
          <LineNumber>1</LineNumber>
          <ProductCode>Arroz</ProductCode>
          <ProductDescription>Arroz</ProductDescription>
          <Quantity>1</Quantity>
          <UnitOfMeasure>UNI</UnitOfMeasure>
          <UnitPrice>8771.93</UnitPrice>
          <TaxPointDate>2020-11-25</TaxPointDate>
          <Description>Arroz</Description>
          <CreditAmount>8771.93</CreditAmount>
          <Tax>
            <TaxType>IVA</TaxType>
            <TaxCountryRegion>AO</TaxCountryRegion>
            <TaxCode>NOR</TaxCode>
            <TaxPercentage>14.000</TaxPercentage>
          </Tax>
          <SettlementAmount>0.00</SettlementAmount>
        </Line>
        <DocumentTotals>
          <TaxPayable>1228.07</TaxPayable>
          <NetTotal>8771.93</NetTotal>
          <GrossTotal>10000</GrossTotal>
        </DocumentTotals>
      </Invoice>
      <Invoice>
        <InvoiceNo>FT 2020/0002</InvoiceNo>
        <DocumentStatus>
          <InvoiceStatus>N</InvoiceStatus>
          <InvoiceStatusDate>2020-11-25T13:13:01</InvoiceStatusDate>
          <SourceID>zebedeu</SourceID>
          <SourceBilling>P</SourceBilling>
        </DocumentStatus>
        <Hash>ILxjB9Bn1PxlTwOtFbUgqxqI5HAbq0yDqkdieolPyLWjOC4ubshaxwppvBxkNw4BnjkxYFSYCcr0nDKiyOzBauZOwGgJ+8qZeIA+0ELHf2ipfOBnxrZFrTpQIPudk5GU/S+kRWxntOIOYW3XiFzzmtjC3y2x2+ksqsgT4TbxBIQ=</Hash>
        <HashControl>1</HashControl>
        <Period>11</Period>
        <InvoiceDate>2020-11-25</InvoiceDate>
        <InvoiceType>FT</InvoiceType>
        <SpecialRegimes>
          <SelfBillingIndicator>0</SelfBillingIndicator>
          <CashVATSchemeIndicator>0</CashVATSchemeIndicator>
          <ThirdPartiesBillingIndicator>0</ThirdPartiesBillingIndicator>
        </SpecialRegimes>
        <SourceID>zebedeu</SourceID>
        <SystemEntryDate>2020-11-25T13:13:01</SystemEntryDate>
        <CustomerID>CU2011-00002</CustomerID>
        <Line>
          <LineNumber>1</LineNumber>
          <ProductCode>Peixe</ProductCode>
          <ProductDescription>Peixe</ProductDescription>
          <Quantity>1</Quantity>
          <UnitOfMeasure>UNI</UnitOfMeasure>
          <UnitPrice>3508.77</UnitPrice>
          <TaxPointDate>2020-11-25</TaxPointDate>
          <Description>Peixe</Description>
          <CreditAmount>3508.77</CreditAmount>
          <Tax>
            <TaxType>IVA</TaxType>
            <TaxCountryRegion>AO</TaxCountryRegion>
            <TaxCode>NOR</TaxCode>
            <TaxPercentage>14.000</TaxPercentage>
          </Tax>
          <SettlementAmount>0.00</SettlementAmount>
        </Line>
        <Line>
          <LineNumber>2</LineNumber>
          <ProductCode>Arroz</ProductCode>
          <ProductDescription>Arroz</ProductDescription>
          <Quantity>1</Quantity>
          <UnitOfMeasure>UNI</UnitOfMeasure>
          <UnitPrice>8771.93</UnitPrice>
          <TaxPointDate>2020-11-25</TaxPointDate>
          <Description>Arroz</Description>
          <CreditAmount>8771.93</CreditAmount>
          <Tax>
            <TaxType>IVA</TaxType>
            <TaxCountryRegion>AO</TaxCountryRegion>
            <TaxCode>NOR</TaxCode>
            <TaxPercentage>14.000</TaxPercentage>
          </Tax>
          <SettlementAmount>0.00</SettlementAmount>
        </Line>
        <DocumentTotals>
          <TaxPayable>1719.3</TaxPayable>
          <NetTotal>12280.7</NetTotal>
          <GrossTotal>14000</GrossTotal>
        </DocumentTotals>
      </Invoice>
    </SalesInvoices>
  </SourceDocuments>
</AuditFile>