Jump to content
pv2013

SAFT-PT: debate de dúvidas e ideias

Recommended Posts

adamas

Olá,

Até então não tinha os "Adiantamentos" implementados no meu SAF-T e decidi implementar essa funcionalidade.

Contudo não consigo encontrar nada oficial que descreva como devo fazer.

Já li que se emite uma Fatura e depois para regularizar saldos se emite uma Nota de Crédito.

Mas não seria lógico emitir um recibo?

Será que me podem indicar o decreto/portaria/despacho que fale de adiantamentos?

Obrigada

Share this post


Link to post
Share on other sites
chesser

adamas,

envio-te algumas coisas que tenho aqui arquivadas sobre os adiantamentos. Espero que ajudem alguma coisa.

Tenho mais alguns links, mas basicamente são de faqs de entidades não oficiais e, por vezes, confundem mais do que ajudam.

Questões frequentes AT: Adiantamentos - exigibilidade do imposto

http://info.portaldasfinancas.gov.pt/infofaqs/listafaqs.aspx?subarea=114

O imposto torna-se exigível no momento do recebimento do adiantamento, pelo montante recebido, artigo 8º, nº 1, alínea c) e nº 2, do CIVA ( item 8 do ofício-circulado n.º 30 072/2004,de 28/6 da DSIVA).

Pelos pagamentos efetuados antes da data da transmissão de bens ou da prestação de serviços é obrigatória a emissão de fatura cf. al. b) do nº1 do art. 29º, do CIVA.

A fatura é emitida na data do recebimento do adiantamento, cf. al. c) do nº 1 do art. 36º, do CIVA.

A taxa do imposto a aplicar ao adiantamento é aquela que corresponde à operação.

Aquando da conclusão da operação, a emissão da fatura pode revestir uma das seguintes formas:

i)
considerar a existência do adiantamento na própria fatura, aplicando a taxa ao valor da fatura, deduzido do adiantamento; ou

ii)
aplicar a respetiva taxa ao valor total da fatura e emitir, simultaneamente, uma nota de crédito para regularizar o adiantamento anteriormente efetuado e respetivo IVA liquidado.

Na situação referida em ii), em que se verifique a regularização do IVA, há que tomar em atenção os campos 40 e 41 da declaração periódica do IVA e respetivos anexos à mesma, cf. Portaria 255/2013, de 12/08 e of. circ. 30155/2013, do Gab do SDG do IVA.

Nos adiantamentos por conta das operações referidas nas alíneas, e), i), j) e l), do nº 1, do art. 2º, do CIVA (inversão do sujeito passivo), seguem-se as regras acima descritas.

Ver: of. cir. 30 136/2012, da DSIVA; of. circ. 30 149, da DSIVA.

Convém ter em consideração que há a excepção das transacções intracomunitárias, em que o adiantamento não tem de ser alvo da emissão de factura:

http://info.portaldasfinancas.gov.pt/pt/informacao_fiscal/codigos_tributarios/riti_rep/riti27.htm (Ver ponto 4)

  • Vote 1

Share this post


Link to post
Share on other sites
bugFree

Na emissão dum documento em moeda estrangeira, digamos em Libras, como fazer a exportação do SAFT ?

Sei que na assinatura deve ser usado o valor em Euros.

Também sei que o TotalDebit e TotalCredit (4.1.2 e 4.1.3), junto de NumberOfEntries, são em Euros.

No entanto, surge-me a dúvida sobre as linhas (UnitPrice, DebitAmount,...) e os totais do documento, do grupo DocumentTotals:

TaxPayable, NetTotal e GrossTotal,

Estes valores vão em Libras ou converte-se para Euros?

Obrigado.

PS: Viva Portugal, vivam os Campeões Europeus!

Edited by bugFree

What's better: Coding solo or as part of a team?

A team means you have to fix someone else's bugs. Coding solo means you have to write all the bugs yourself.

Share this post


Link to post
Share on other sites
chesser

Viva Portugal, sem dúvida!

Penso que os valores são todos em euros. O único sítio onde se coloca na moeda estrangeira é no Currency, em que se especifica a moeda, o câmbio e o valor do documento nessa moeda (CurrencyAmount).

Share this post


Link to post
Share on other sites
bugFree

Viva Portugal, sem dúvida!

Penso que os valores são todos em euros. O único sítio onde se coloca na moeda estrangeira é no Currency, em que se especifica a moeda, o câmbio e o valor do documento nessa moeda (CurrencyAmount).

Também me parece que assim seja, queria só ouvir outra opinião para ter mais certeza.

Obrigado.

Edited by bugFree

What's better: Coding solo or as part of a team?

A team means you have to fix someone else's bugs. Coding solo means you have to write all the bugs yourself.

Share this post


Link to post
Share on other sites
juliogut

Bom dia,

Eu tenho uma função em java para assinar digitalmente as faturas, usando chaves RSA.

Alguém sabe como eu pode validá-lo? Eu preciso testá-lo com AT, mas não consigo encontrar como fazê-lo.

Obrigado.

Share this post


Link to post
Share on other sites
kAIOSHIN

Viva,

alguém tem conhecimento de alguma dificuldade na importação de ficheiros SAF-T no portal da AT?

Tenho um cliente que tem um AddressDetail com uma palavra com um til que agora está a dar erro e anteriormente nunca teve problemas...

Share this post


Link to post
Share on other sites
chesser

Viva,

alguém tem conhecimento de alguma dificuldade na importação de ficheiros SAF-T no portal da AT?

Tenho um cliente que tem um AddressDetail com uma palavra com um til que agora está a dar erro e anteriormente nunca teve problemas...

Não tive nenhum cliente a queixar-se da submissão do SAFT na AT.

Três questões:

- O encoding é o correcto (Windows-1252)?

- Tens a certeza que o problema é mesmo do til?

- Esse cliente (com os mesmos dados) já tinha sido anteriormente exportado no SAFT, sem dar erro ao importar no portal da AT?

Já tive um ou dois problemas semelhantes a esse, em que ao fazer a validação do SAFT dava um erro devido a um carácter inválido. Sempre caracteres "não visualizáveis" (nunca o til): ou seja, no nosso software olhavas e não vias nada de estranho, mas o carácter estava lá. Nesses casos dava erro, por exemplo, ao tentar abrir o xml no word.

Uma vez identificado e eliminado o carácter, tudo ficou resolvido.

Edited by chesser

Share this post


Link to post
Share on other sites
kAIOSHIN

Não tive nenhum cliente a queixar-se da submissão do SAFT na AT.

Três questões:

- O encoding é o correcto (Windows-1252)?

- Tens a certeza que o problema é mesmo do til?

- Esse cliente (com os mesmos dados) já tinha sido anteriormente exportado no SAFT, sem dar erro ao importar no portal da AT?

Já tive um ou dois problemas semelhantes a esse, em que ao fazer a validação do SAFT dava um erro devido a um carácter inválido. Sempre caracteres "não visualizáveis" (nunca o til): ou seja, no nosso software olhavas e não vias nada de estranho, mas o carácter estava lá. Nesses casos dava erro, por exemplo, ao tentar abrir o xml no word.

Uma vez identificado e eliminado o carácter, tudo ficou resolvido.

Ele enviou-me um print do portal da AT com a linha e a coluna do erro. Não sei o que se passou. Nunca teve problemas...

Share this post


Link to post
Share on other sites
marcolopes

Ele enviou-me um print do portal da AT com a linha e a coluna do erro. Não sei o que se passou. Nunca teve problemas...

Até agora ainda não vi aqui nada sobre o erro! Qual é o erro? É que para ajudar, convém saber!

NOTA: Fica o palpite, que pode ser um erro de TAMANHO da STRING (SAFPTtextTypeMandatoryMax). Como é que isto acontece? Mesmo que o programa controle o tamanho do campo que envia através de um "TRIM", se o encoding não estiver de acordo, o "til" que é processado no encoding para o qual a string é transformada, torna a STRING maior do que o limite definido nas especificações. Mais... mesmo que o ficheiro esteja correctamente codificado, o BROWSER utilizado na submissão (tenho situações concretas com o IE) pode ter "culpa no cartório"!!!

Edited by marcolopes
  • Vote 1

The simplest explanation is usually the correct one

JAVA Utilities: https://github.com/marcolopes/dma

Share this post


Link to post
Share on other sites
kAIOSHIN

Até agora ainda não vi aqui nada sobre o erro! Qual é o erro? É que para ajudar, convém saber!

NOTA: Fica o palpite, que pode ser um erro de TAMANHO da STRING (SAFPTtextTypeMandatoryMax). Como é que isto acontece? Mesmo que o programa controle o tamanho do campo que envia através de um "TRIM", se o encoding não estiver de acordo, o "til" que é processado no encoding para o qual a string é transformada, torna a STRING maior do que o limite definido nas especificações. Mais... mesmo que o ficheiro esteja correctamente codificado, o BROWSER utilizado na submissão (tenho situações concretas com o IE) pode ter "culpa no cartório"!!!

Obrigado pela resposta.

"O ficheiro seleccionado não está de acordo com o formato exigido.

Erro: Linha 38; Coluna 43; An invalid XML character (Unicode: 0x3) was found in the element content of the document."

De facto ele está a usar o IE para submeter o ficheiro... A explicação pode ser algo relacionado com o que dizes.

Share this post


Link to post
Share on other sites
chesser

Obrigado pela resposta.

"O ficheiro seleccionado não está de acordo com o formato exigido.

Erro: Linha 38; Coluna 43; An invalid XML character (Unicode: 0x3) was found in the element content of the document."

De facto ele está a usar o IE para submeter o ficheiro... A explicação pode ser algo relacionado com o que dizes.

Se fosse comigo, começava por abrir o xml num editor de hexadecimal, procurava o carácter e via o campo/posição onde estava e depois eliminava-o da bd.

Share this post


Link to post
Share on other sites
sqrt(-1)

Viva companheiros!

Estou a acabar uma App de facturação e tenho umas dúvidas no SAF-T que gostaria que me esclarecessem:

Tenho opção de aplicar desconto por linha e no geral da factura; se não aplicar desconto nas linhas e só aplicar no geral, a soma dos valores das linhas não vai coincidir com o valor global: há algum problema nisso ou tenho que distribuir o desconto geral pelas linhas?

Em relação às notas de crédito, pelo que percebi tem que haver cruzamento através do tipo "References" dentro do "Line" mas não estou a perceber como é que se faz: referencio as linhas da factura nas linhas da nota de crédito, vice-versa, ou as duas? Ou não é nada disso?

Um edit para acrescentar uma dúvida que me ocorreu em relação às notas de crédito: como se preenche os vários campos "ProductCode", "ProductDescription", "Quantity" e "UnitOfMeasure" no tipo "Line"? Não faz muito sentido estar a falar-se de produtos no caso de, por exemplo, anulação de uma factura.

Muito obrigado.

Edited by sqrt(-1)

Share this post


Link to post
Share on other sites
chesser

Tenho opção de aplicar desconto por linha e no geral da factura; se não aplicar desconto nas linhas e só aplicar no geral, a soma dos valores das linhas não vai coincidir com o valor global: há algum problema nisso ou tenho que distribuir o desconto geral pelas linhas?

"4.1.4.18.11. ** Valor a débito (DebitAmount) Valor da linha, sem imposto, dos documentos a lançar a débito na conta de vendas.

Este valor é deduzido dos descontos de linha e cabeçalho.

4.1.4.18.12. ** Valor a crédito (CreditAmount) Valor da linha, sem imposto, dos documentos a lançar a crédito na conta de vendas.

Este valor é deduzido dos descontos de linha e cabeçalho."

Ou seja, o valor deverá ser parecido com qtd*preco*(1-descCab/100)*(1-descLinha/100).

Em relação às notas de crédito, pelo que percebi tem que haver cruzamento através do tipo "References" dentro do "Line" mas não estou a perceber como é que se faz: referencio as linhas da factura nas linhas da nota de crédito, vice-versa, ou as duas? Ou não é nada disso?

"4.1.4.18.9. Referências a faturas (References) Referências a faturas nos documentos retificativos destas. N/A

4.1.4.18.9.1. Referência (Reference) Referência à fatura ou fatura simplificada, através de identificação única da mesma, nos sistemas em que exista. Deve ser utilizada a estrutura de numeração do campo de origem.

4.1.4.18.9.2. Motivo (Reason) Deve ser preenchido com o motivo da emissão."

Ou seja, nas notas de crédito/débito tens de indicar na referência qual a factura que estás a corrigir. Por exemplo, se estiveres a fazer uma nota de crédito da FA 2016/123 tem de ficar:

<References>

<Reference>FA 2016/123</Reference>

</References>

Um edit para acrescentar uma dúvida que me ocorreu em relação às notas de crédito: como se preenche os vários campos "ProductCode", "ProductDescription", "Quantity" e "UnitOfMeasure" no tipo "Line"? Não faz muito sentido estar a falar-se de produtos no caso de, por exemplo, anulação de uma factura.

Faz sentido, faz. Se pretendes anular uma factura com um documento rectificativo, a nota de crédito deverá ficar igual à factura, com os mesmos dados: refs, descritivos, preços e qtds. Indicando também qual é o documento que está a ser anulado podendo-se também registar qual o motivo que levou à anulação.

Já agora, aproveito também para aconselhar que utilizes algum analisador de SAFT. Dessa forma vais conseguir detectar facilmente eventuais erros. A CentralGest disponibiliza um grátis (até 25.000 registos) em http://www.centralgest.com/software/analisador-saft.

Edited by chesser
  • Vote 1

Share this post


Link to post
Share on other sites
sqrt(-1)

chesser,

Muito obrigado pela resposta. Pelo que percebi estás a transcrever de algum tipo de manual; está disponível em algum lado?

Ainda em relação às notas de crédito, se estiver a criar uma que não esteja associada a outro documento, por exemplo para devolver dinheiro relativo a rapel, tenho que criar uma linha na tabela de produtos que tenha descrição rapel?

Obrigado pelo link, já testei e é mesmo prático.

Share this post


Link to post
Share on other sites
chesser

Pelo que percebi estás a transcrever de algum tipo de manual; está disponível em algum lado?

Não é um manual, é a lei! :P

No caso é a Portaria n.º 274/2013, de 21 de Agosto, que regulamenta a versão 1.03 do SAF-T. No meu entender, a leitura/consulta é obrigatória se estás a fazer um programa que vai criar um ficheiro SAF-T.

Ainda em relação às notas de crédito, se estiver a criar uma que não esteja associada a outro documento, por exemplo para devolver dinheiro relativo a rapel, tenho que criar uma linha na tabela de produtos que tenha descrição rapel?

Sim, todas as linhas têm de ter uma referência que exista na tabela de produtos, caso contrário não irá sequer validar o xml.

  • Vote 1

Share this post


Link to post
Share on other sites
sqrt(-1)

chesser,

De novo muito obrigado. Vou ler a portaria também para ver se estou a fazer tudo bem.

Share this post


Link to post
Share on other sites
peternm

Boa noite,

em que caso é necessário emitir uma guia de devolução GD assinada a clientes?

n tenho este documento assinado, isto é ele deve ser emitido pelo meu cliente em caso de devolução, eu sou fornecedor o material está do lado dele.

tenho apenas GD a fornecedor assinada porque sou eu cliente a devolver ao meu fornecedor utilizo no saft cabeçalho <SupplierID> CODIGO DO FORNECEDOR <SupplierID> e na linha <DebitAmount> valor se existir, e desconta no meu stock certo?

Share this post


Link to post
Share on other sites
pmiguelmartins

Boa tarde,

Antes de mais estive a tentar encontrar e com tanta pagina não foi fácil....assim se alguém poder ajudar agradecia

No nosso software permito fazer um lançamento de uma linha individual de desconto nas faturas valor fica a negativo

Quando gero o saft coloco o valor a positivo no campo <debitAmount>

Posso continuar a fazer isto ????

Alguma coisa alterou ???

Obrigado !!!

Pedro Martins

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.