-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Falha na validação do Hash da parte AuditFile #67
Comments
Para validar as assinaturas é necessário a chave pública. Atenção que esse SAF-T tem atributos que não pertencem ao schema e isso pode resultar num problema ao validar o ficheiro.
|
Obrigado cryptolopes pela resposta. SACWEBPublicKey.txt |
As assinaturas estão corretas. $ echo -n "eLCV8o71tLbr+ANWiPUNX9TuotQgyCHGWsuwbIj00LAIUhIqJlVtIs5eWDEPLdLsImglfH4gBIS8qD5EgVKQ7F1IXde4cd+7lsX2axqsUX5Oq8ReLwRCx0/lx65BBzxqOXYAw9hU9Fc/io0VBI5YDuSvseaIpG/zWE4EIy3Z6NI=" | openssl enc -base64 -d -A > testing/sha1.sign
$ echo -n "2020-05-14;2020-05-14T14:41:15;FT UUFC20/8305;62824.26;Nm2AdcYT33BvA04ymMj4lYhHEKn8V3OofAoWctnuYoKb7zBNLJI3gprSfXdqR+6qIYtT64sGf9Fyp5gcFEm4VCNKDENh0tDtUsky0XMyoUk5y5tsQF85tBVFNa7YecsPuZwFyogYmU1VSXvvZIPSh9YvBjUeXtPpAx2BTnYSHHg=" | openssl dgst -sha1 -verify testing/SACWEBPublicKey.txt -signature testing/sha1.sign
Verified OK $ echo -n "SbCiFdQNuuraErKgzRH/ooi6vRiY2mATPzUXKbFqLsQMo68jjAMJVlH0vlAqkbkBUNmofejpwV0n9FKr3M2S9Zri/0eyZ0VofgPSBnCaQQxl/I7LN4KnetH1mEoqTR/IFfsfn7gv1aGyb1FYYeAzoig9oUGpc18LIkl3FfJ4wsA=" | openssl enc -base64 -d -A > testing/sha1.sign
$ echo -n "2020-05-14;2020-05-14T14:43:53;FT UUFC20/8306;353267.76;eLCV8o71tLbr+ANWiPUNX9TuotQgyCHGWsuwbIj00LAIUhIqJlVtIs5eWDEPLdLsImglfH4gBIS8qD5EgVKQ7F1IXde4cd+7lsX2axqsUX5Oq8ReLwRCx0/lx65BBzxqOXYAw9hU9Fc/io0VBI5YDuSvseaIpG/zWE4EIy3Z6NI=" | openssl dgst -sha1 -verify testing/SACWEBPublicKey.txt -signature testing/sha1.sign
Verified OK Possivelmente tem que ver com a plataforma de validação da AGT e insisto nos atributos que estão a mais, que podem estar a dificultar o processo. Reparei também que existem elementos como <MovementEndTime>2020-05-14T14:52:03</MovementEndTime>
<MovementStartTime>2020-05-14T14:52:03</MovementStartTime> |
Duplicate of #49 |
Criar assinaturas através do algoritmo RSAAs assinaturas são geradas através do algoritmo RSA (algoritmo de criptografia de dados que usa o sistema de chaves assimétricas, chave pública e chave privada). Para o efeito, cada fabricante de software necessita de criar o seu par de chaves. A chave privada é do conhecimento exclusivo do fabricante, devendo ser protegida contra disclosure a todo o custo. Já a chave pública, tal como o nome indica é pública e pode ser fornecida a qualquer entidade que tenha por fim o uso dos dados obtidos a partir da chave privada, no caso a Administração Geral Tributária (AGT). Para que se tenha uma noção da importância da chave privada e da importância desta ter que ser preservada apenas no domínio do fabricante, caso seja conhecida por terceiros, estes podem usá-la para fins ilícitos. Por exemplo, assinar documentos em nome de ou fazendo-se passar por. Alguns comandos gerais de OpenSSL# Criar um certificado-auto assinado
# Criar uma chave privada
openssl req -x509 -sha1 -nodes -days 365 -newkey rsa:1024 -keyout private.key -out certificate.crt
# Em alternativa, para criar apenas uma chave privada
openssl genrsa -out private.key 1024
# Remover a passphrase de uma chave privada (limpar a chave privada)
openssl rsa -in private.key -out newprivate.key
# Guardar chave pública
openssl rsa -pubout -in private.key -out public.key MétodoDe forma simples, o método usado consiste na assinatura do Por fim assinatura que se quer obter para o # Criar mensagem
echo -n "hello world!" > message.txt
# Calcular o valor do hash SHA1
sha1sum 1 message.txt
430ce34d020724ed75a196dfc2ad67c77772d169 message.txt
# O hash SHA1 da mensagem ou do ficheiro são idênticos, como se pode verificar
echo -n "hello world!" | sha1sum
430ce34d020724ed75a196dfc2ad67c77772d169 - Comandos de OpenSSL para criar e validar a assinatura de uma mensagem# Assinar mensagem/ficheiro usando o digest sha1
openssl dgst -sha1 -sign private.key -out sha1.sign message.txt
# Codificar a assinatura em base64
# O parâmetro -A é usado para guardar o valor apenas numa linha
openssl enc -base64 -in sha1.sign -out sign.b64 -A
# Converter de base64 para o formato incial da assinatura
openssl enc -base64 -in sign.b64 -out b64.sign -d -A
# Verificar a assinatura do ficheiro
openssl dgst -sha1 -verify public.key -signature sha1.sign message.txt
Verified OK
openssl dgst -sha1 -verify public.key -signature b64.sign message.txt
Verified OK Características da mensagem e regras para a criação das assinaturas dos documentosAs regras estipulam que a mensagem deve ser composta pela concatenação dos elementos que se seguem, usando
O objetivo é estabelecer uma relação em cadeia entre todos os documentos de uma determinada série de documentos. # Exemplo de mensagem do primeiro documento de uma série
echo -n "2020-01-01;2020-01-01T00:30:50;FT SPOS1/1;2756.78;"
# Exemplo de mensagem do segundo (e restantes) documentos
# O separador ; deixa de existir no fim porque após o hash do documento anterior não existe mais nenhum campo para separar
echo -n "2020-01-01;2020-01-01T00:35:10;FT SPOS1/2;8000.00;vBCRgoKYCNWim/cZe8aaJhKcP3ZVNkiSnjCi2f0dC6t/Xdd+bgutrZjL7xd/JwQT2Uq4lxSaPkKpZfIlUWu7K+qRq2v6N1UkXes0bUciHV2FaAo2paV/DCpKP836jDgQzEsI6/lCvfUK7ta24M9B2dr+A2n3VLXWM3T0j8PlHUo=" Deste modo todos os documentos vão permanecer interligados entre si numa cadeia em que é sempre possível verificar o último depende do anterior e assim sucessivamente. Caso um determinado documento sofra uma alteração ao nível dos elementos contidos na mensagem ou seja removido por alguma razão, a cadeia sofre uma rutura, o que é possível de verificar facilmente através da chave pública. Links e mais informação |
Muito boa tarde estimados Segundo String assidado é "2020-08-09;2020-08-09T16:23:59;FR 2020/62;60.00;p/VOPbp87I8Fmto+5XITeqrhl4nVrmJncqpoyRPfpBj/vZgoS3zZqnZOdEMCdZhsrzdoLPmKgVK8t2asIr+xSJ/u8gpRwAxvDbR6ziKDoNb8EmlC1ltMqRu7HpH+NVMPkdUMUIGLA8fvf54BsX28fzousNAjbSJm4S2LHSTqLFw=" Aqui esta os meus meus ficheiros em anexo |
Muito boa tarde estimados Gerou o seguinte assinatura Hash UOwzONA+IfZ1nYCGQcJ8Ohqad/6fl5FBA4GiLe3OKBdxD9QM+7xSAO9ij6bvzY1Vi/gsSGIWxJECuJVZ9XuPB4MujGUUxYpn0p86rkXLzhokTYojO2Z3f8pnRoUGdY8AvoAoUAheQM3XjiO1wbf8TIyL7xoQz42N/AdWxZdFVc0= Segundo String assidado é "2020-08-07;2020-08-07T16:42:47;FR 2020/65;39900.00;UOwzONA+IfZ1nYCGQcJ8Ohqad/6fl5FBA4GiLe3OKBdxD9QM+7xSAO9ij6bvzY1Vi/gsSGIWxJECuJVZ9XuPB4MujGUUxYpn0p86rkXLzhokTYojO2Z3f8pnRoUGdY8AvoAoUAheQM3XjiO1wbf8TIyL7xoQz42N/AdWxZdFVc0=" Gerou o seguinte assinatura Hash lq9q1kmATWAmFjaDVqMlqHI3XLkyXJPFrUq2jK4UKCWogfjMF8W7jVqnHbddPD6cUiXT3eGcLFN7jWuYwjHuPQvRAG7XhPw3byw5mZm3L1PuvZ/Wwm0Rvi3/45p9KhftigawDexJJIqctV7vNUc34GhPcUXAlwn0C7O0EXoC1Cg= Já fiz a verificação com os seguintes comando usanda a minha chave publica openssl dgst -sha1 -verify sisvendaPublica.pem -signature Registo1.sha1 Registo1.txt verificação OK openssl dgst -sha1 -verify sisvendaPublica.pem -signature Registo2.sha1 Registo2.txt verificação OK |
Boa tarde, Alguém obteve a certificação desenvolvendo a aplicação em C#? Alguém pode ajudar? |
Muito bom dia caríssimo também tive esse problema mais já foi superado, eu
poderia lhe ajudar mais infelizmente a minha linguagem é java
Analise primeiro o teu xds comparando com xml que produz o seu software
outra coisa o conteúdo assinado não deve ter a mesmo InvoiceNo exemplo
O primeiro conteúdo 2022-02-02;2022-02-02T09:18:57;FR1/01;1200.57; = Hash1
O segundo Conteúdo 2022-02-02;2022-02-02T09:18:57;FR2/02;57.32;Hash1 =
Hash2
Se não der, podes entrar em contacto no seguinte terminal 924549673
Java e C# não foge muito
Em sáb., 9 de abr. de 2022 às 16:52, Adilson da Costa <
***@***.***> escreveu:
… Boa tarde, Alguém obteve a certificação desenvolvendo a aplicação em C#?
Estou com o erro na validação do segundo Hash já a um tempo.
Alguém pode ajudar?
—
Reply to this email directly, view it on GitHub
<#67 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AF7EXVN6UOUASJ73AL5ERNLVEGRSRANCNFSM4NHXUHNQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Este erro pode também ocorrer quando o campo SoftwareValidationNumber, no cabeçalho for 0. Nestes casos, o hash deve ser 0 para poder ser válido. Contudo, isto aplica-se apenas a importação de informações de softwares pré-SAFT. Todos os softwares certificados devem conter um SoftwareValidationNumber no formato XXX/AGT/YYYY, onde XXX é o número atribuído pela AGT, e YYYY é o ano da certificação. Para quem está a validar o software, devem colocar 000/AGT/YYYY, onde YYYY é o ano de válido. Mas convém colocar o ano de validação, só para quando actualizarem não cometerem mais erros. Portanto, para 2022, coloquem 000/AGT/2022 no SoftwareValidationNumber, tal como é demonstrado abaixo:
|
Eu posso. Me puxa no whatsapp. 935793301. Tenho 2 apps validadas e com c#
A quinta, 26/05/2022, 21:17, Fidel H Viegas ***@***.***>
escreveu:
… Este erro pode também ocorrer quando o campo SoftwareValidationNumber, no
cabeçalho for 0. Nestes casos, o hash deve ser 0 para poder ser válido.
Contudo, isto aplica-se apenas a importação de informações de softwares
pré-SAFT. Todos os softwares certificados devem conter um
SoftwareValidationNumber no formato XXX/AGT/YYYY, onde XXX é o número
atribuído pela AGT, e YYYY é o ano da certificação.
Para quem está a validar o software, devem colocar 000/AGT/YYYY, onde YYYY
é o ano de válido. Mas convém colocar o ano de validação, só para quando
actualizarem não cometerem mais erros. Portanto, para 2022, coloquem
000/AGT/2022 no SoftwareValidationNumber, tal como é demonstrado abaixo:
<SoftwareValidationNumber>000/AGT/2022</SoftwareValidationNumber>
—
Reply to this email directly, view it on GitHub
<#67 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMBB23ZGS6QBUJJF5IVOX7LVL7L5PANCNFSM4NHXUHNQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Ola saudação a todos estou tentando validar o meu ficheiro saft-ao no teste do portal, e estou a receber montes de erros, se alguen poder me ajudar por favor:
|
A terça, 23/07/2024, 19:42, elhadjd ***@***.***> escreveu:
… Ola saudação a todos estou tentando validar o meu ficheiro saft-ao no
teste do portal, e estou a receber montes de erros, se alguen poder me
ajudar por favor:
A ordem do campo AuditFile.Header.TaxAccountingBasis no ficheiro está
errada.
O campo AuditFile.SourceDocuments.SalesInvoices.Invoice.OrderReferences no
ficheiro está na posição errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.DocumentStatus no ficheiro
está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.DocumentStatus.InvoiceStatus
no ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.DocumentStatus.InvoiceStatusDate
no ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.DocumentStatus.SourceID no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.DocumentStatus.SourceBilling
no ficheiro está errada.
A ordem do campo AuditFile.SourceDocuments.SalesInvoices.Invoice.Hash no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.HashControl no ficheiro
está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.Line.TaxPointDate no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.Line.Description no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.2Line.TaxPointDate no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.2Line.Description no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.3Line.TaxPointDate no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.Invoice.3Line.Description no
ficheiro está errada.
O campo AuditFile.SourceDocuments.SalesInvoices.2Invoice.OrderReferences
no ficheiro está na posição errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.DocumentStatus no ficheiro
está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.DocumentStatus.InvoiceStatus
no ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.DocumentStatus.InvoiceStatusDate
no ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.DocumentStatus.SourceID no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.DocumentStatus.SourceBilling
no ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.DocumentStatus.Reason no
ficheiro está errada.
A ordem do campo AuditFile.SourceDocuments.SalesInvoices.2Invoice.Hash no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.HashControl no ficheiro
está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.Line.TaxPointDate no
ficheiro está errada.
A ordem do campo
AuditFile.SourceDocuments.SalesInvoices.2Invoice.Line.Description no
ficheiro está errada.
A ordem do campo AuditFile.SourceDocuments.SalesInvoices.NumberOfEntries
no ficheiro está errada.
A ordem do campo AuditFile.SourceDocuments.SalesInvoices.TotalDebit no
ficheiro está errada.
A ordem do campo AuditFile.SourceDocuments.SalesInvoices.TotalCredit no
ficheiro está errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.DocumentNumber no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.DocumentDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.WorkType no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.WorkStatus no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.CustomerID no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.SourceID no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.SystemEntryDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.Hash no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.HashControl no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.Period no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.OrderReferences no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2WorkStatus no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.WorkStatusDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2SourceID no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.SourceBilling no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.DocumentStatus no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.LineNumber no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.ProductCode no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.ProductDescription no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.Quantity no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.UnitOfMeasure no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.UnitPrice no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.DebitAmount no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.CreditAmount no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.TaxPointDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.TaxType no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.TaxCountryRegion no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.TaxCode no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.TaxPercentage no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.TaxAmount no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.Tax no ficheiro está na
posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.Line no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.TaxPayable no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.NetTotal no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.GrossTotal no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.DocumentTotals no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.WorkingDocument no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2DocumentNumber no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2DocumentDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2WorkType no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3WorkStatus no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2CustomerID no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3SourceID no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2SystemEntryDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2Hash no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2HashControl no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2Period no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2OrderReferences no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4WorkStatus no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2WorkStatusDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4SourceID no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2SourceBilling no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2DocumentStatus no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2LineNumber no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2ProductCode no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2ProductDescription no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2Quantity no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2UnitOfMeasure no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2UnitPrice no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2DebitAmount no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2CreditAmount no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2TaxPointDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2TaxType no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2TaxCountryRegion no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2TaxCode no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2TaxPercentage no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2TaxAmount no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2Tax no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2Line no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3LineNumber no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3ProductCode no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3ProductDescription no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3Quantity no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3UnitOfMeasure no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3UnitPrice no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3DebitAmount no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3CreditAmount no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3TaxPointDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3TaxType no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3TaxCountryRegion no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3TaxCode no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3TaxPercentage no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3TaxAmount no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3Tax no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.3Line no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4LineNumber no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4ProductCode no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4ProductDescription no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4Quantity no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4UnitOfMeasure no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4UnitPrice no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4DebitAmount no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4CreditAmount no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4TaxPointDate no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4TaxType no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4TaxCountryRegion no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4TaxCode no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4TaxPercentage no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4TaxAmount no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4Tax no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.4Line no ficheiro está
na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2TaxPayable no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2NetTotal no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2GrossTotal no ficheiro
está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2DocumentTotals no
ficheiro está na posição errada.
O campo AuditFile.SourceDocuments.WorkingDocuments.2WorkingDocument no
ficheiro está na posição errada.
Erro no ficheiro, AuditFile.Header.EndDate não deve ser maior a
DateCreated.
Falha na validação do campo AuditFile.Header.ProductID
Erro no ficheiro, AuditFile.MasterFiles.1Customer.CustomerTaxID é inválido.
Erro no ficheiro, AuditFile.SourceDocuments.SalesInvoices.TotalCredit está
mal calculado.
Erro no ficheiro,AuditFile.SourceDocuments.SalesInvoices.2Invoice (FT
2024/3) . Hash está errado.
Erro no ficheiro,
AuditFile.SourceDocuments.SalesInvoices.1Invoice.DocumentTotals.TaxPayable
(FT 2024/2) está mal calculado.
Erro no ficheiro,
AuditFile.SourceDocuments.SalesInvoices.2Invoice.DocumentTotals.TaxPayable
(FT 2024/3) está mal calculado.
Erro no ficheiro,
AuditFile.SourceDocuments.SalesInvoices.2Invoice.DocumentTotals.GrossTotal
(FT 2024/3) está mal calculado.
Erro no ficheiro, AuditFile.SourceDocuments.WorkingDocuments
.NumberOfEntries não está conforme com o número de documentos existentes.
—
Reply to this email directly, view it on GitHub
<#67 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AF7EXVKKJ5GEQR7PL6F3AHDZN2PX3AVCNFSM6AAAAABLK7VO4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBVHE3TSMRYGY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Boa tarde,
Desde à 1 mês atrás, começamos a ter um problema de validação do ficheiro SAFT-AO por causa do HASH.
O erro que dá na validação do ficheiro é:
Estive a verificar e a verificar novamente todos os valores e a criação do HASH e parece tudo ok.´
ExcelDados.xlsx
No excel em anexo, além dos dados das faturas, tenho uma coluna com o HASH gerado e outro (HASHORI) com o HASH antes de ser encriptado.
Envio também o ficheiro XML para verificarem que está com os dados ok.
SAFTAO.txt
Nota: o problema com a validação do HASH começou à relativamente pouco tempo, já tivemos ficheiros submetidos e validados e a forma de fazer o HASH é a mesma.
Agradeço a Vossa ajuda por favor.
Obrigado.
Ricardo Sousa
The text was updated successfully, but these errors were encountered: