Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

cjulio

Utilizar Webservices da AT

Mensagens Recomendadas

srps

Bom dia, pessoal.

Estava aqui a ver os WS disponibilizados pela AT para a eFatura, e só encontrei os ditos cujos para envio das faturas.

No entanto existem aplicações que permitem também a consulta das mesmas, o que é curioso.

Alguém faz ideia de quais são os WS para consulta, ou se existe algum tipo de tecnologia que possa usar para fazer a consulta? Andei à procura e não consigo encontrar informação em lado nenhum.

Obrigado!

Editado por srps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
marcolopes

Bom dia, pessoal.

Estava aqui a ver os WS disponibilizados pela AT para a eFatura, e só encontrei os ditos cujos para envio das faturas.

No entanto existem aplicações que permitem também a consulta das mesmas, o que é curioso.

Alguém faz ideia de quais são os WS para consulta, ou se existe algum tipo de tecnologia que possa usar para fazer a consulta? Andei à procura e não consigo encontrar informação em lado nenhum.

Obrigado!

Não existe serviço de consulta através de WS.


The simplest explanation is usually the correct one

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
srps

Não existe serviço de consulta através de WS.

Não? Como é que apps tipo eFatura acedem a esses dados sem ser por web services então? :confused:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr
Não? Como é que apps tipo eFatura acedem a esses dados sem ser por web services então? :confused:

Talvez façam o parse das páginas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
resmunga

Não? Como é que apps tipo eFatura acedem a esses dados sem ser por web services então? :confused:

quem disse que essas API são públicas?

isso é só para os amigos.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
srps

Talvez façam o parse das páginas

quem disse que essas API são públicas?

isso é só para os amigos.

Pois, são duas possibilidades; se for a segunda é um pouco triste de facto, pois é um serviço imensamente útil e seria bom haver mais soluções disponíveis para além da app existente de momento (nada contra, parece-me uma boa app, mas é estranho só haver uma de facto).

Tenho que ver se através de parse é possível, mas parece-me uma solução bastante manhosa...

Se alguém tiver mais ideias agradecia.

Editado por srps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
abelvieira

Eu já tive a curiosidade de ver o funcionamento da APP.

Para quem "inspeccionar" o que acontece no portal e-Factura todos os dados são populados via AJAX. Basicamente a APP está a autenticar-se no e-fatura e a consultar directamente os links de ajax que retornam os dados em formato json.

Editado por abelvieira
  • Voto 2

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Tipo uma API não oficial e sem documentação, certo?


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
marcolopes

Não? Como é que apps tipo eFatura acedem a esses dados sem ser por web services então? :confused:

Caro srps, voltei a ler a pergunta original onde dizes "No entanto existem aplicações que permitem também a consulta das mesmas, o que é curioso."

Agora quem ficou curioso fui eu! Podes apontar uma aplicação que faça uma consulta e retorne resultados de documentos comunicados ao fisco?

Sim, digamos que um tipo de API mas apenas para alimentar o próprio website via AJAX (Javascript).

Um exemplo prático:

Depois de se autenticarem no portal e-fatura (como consumidor), acedam ao seguinte URL:

https://faturas.portaldasfinancas.gov.pt/json/obterDocumentosAdquirente.action?dataInicioFilter=2014-11-01&dataFimFilter=2015-01-12&ambitoAquisicaoFilter=TODOS

Para depois mais facilmente "ler" os resultados, podem usar por exemplo a ferramenta: https://www.jsoneditoronline.org/

Excelente explicação! Mesmo à frente dos nossos olhos!!! :-)

Editado por marcolopes

The simplest explanation is usually the correct one

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Certo... E até já apareceu na TV.

A SIC passou há dias uma peça que falava sobre essa App, na rúbrica 'O Futuro Hoje'.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Siriusblackx

Na comunicação de faturas por WebService o documento PDF das finanças afirma que a estrutura da Line: "Deve existir uma, e uma só linha, por cada taxa (TaxType, TaxCountryRegion, TaxCode) e motivo de isenção ou não liquidação (TaxExemptionReason)"

Ou seja eu tenho de agrupar as linhas dos produtos da fatura por Taxas de Iva, certo? Mas se tiver vários produtos com IVA Isento e diferentes Motivos de Isenção por cada um, só me vai aparecer 1 motivo, pela lógica.

Ou no campo TaxExemptionReason coloco os vários códigos separados por algum tipo de virgula, espaço, barra?

Editado por Siriusblackx

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

O TaxExemptionReason entra dentro do grupo Tax.

O PDF está errado, mas se fores ver ao XSD, já bate certo.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Siriusblackx

Então a Line será assim?

<Line>
           <ns2:DebitAmount>100</ns2:DebitAmount>
           <ns2:Tax>
              <ns2:TaxType>IVA</ns2:TaxType>
              <ns2:TaxCountryRegion>PT</ns2:TaxCountryRegion>
              <ns2:TaxPercentage>0</ns2:TaxPercentage>
              <ns2:TaxExemptionReason>M01|M02|M03</ns2:TaxExemptionReason>
           </ns2:Tax>
        </Line>

Com vários motivos na mesma tag?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Não.

Espera lá, que estava a ver atravessado... Estás a falar nos Webservices de faturas?

Deixa lá, estou com o vinho!

O TaxExemptionReason é fora do Tax, mas é uma linha por cada artigo.

Não agrupas por taxa de IVA, o documento comunicado tem de ser igual ao impresso.

  • Voto 1

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmmachado

Não.

Espera lá, que estava a ver atravessado... Estás a falar nos Webservices de faturas?

Deixa lá, estou com o vinho!

O TaxExemptionReason é fora do Tax, mas é uma linha por cada artigo.

Não agrupas por taxa de IVA, o documento comunicado tem de ser igual ao impresso.

nunopicado, "uma linha por cada artigo" ??? nas faturas ?? não estás a confundir com os documentos de transporte ??

Tal como diz o manual, é 1 linha por taxa e motivo de isenção (se este existir):

"Deve existir uma, e uma só linha, por cada taxa (TaxType, TaxCountryRegion, TaxCode) e motivo de isenção ou não liquidação (TaxExemptionReason)"

É verdade que no manual está errado desde o inicio a questão do TaxExempionReason estar dentro do Tax (porque é fora em vez de 1.7.3.4 devia estar 1.7.4)

Se estiver isento por 2 motivos, deve ter 2 linhas com valor, taxa (0 neste caso de isenção) e motivo da isenção.

...	
   <Line>
    <ns2:CreditAmount>120.00000</ns2:CreditAmount>
    <ns2:Tax>
	  <ns2:TaxType>IVA</ns2:TaxType>
	  <ns2:TaxCountryRegion>PT</ns2:TaxCountryRegion>
	  <ns2:TaxPercentage>0.00</ns2:TaxPercentage>
    </ns2:Tax>
    <ns2:TaxExemptionReason>M08</ns2:TaxExemptionReason>
  </Line>
  <Line>
    <ns2:CreditAmount>2510.00000</ns2:CreditAmount>
    <ns2:Tax>
	  <ns2:TaxType>IVA</ns2:TaxType>
	  <ns2:TaxCountryRegion>PT</ns2:TaxCountryRegion>
	  <ns2:TaxPercentage>0.00</ns2:TaxPercentage>
    </ns2:Tax>
    <ns2:TaxExemptionReason>M16</ns2:TaxExemptionReason>
  </Line>
  <DocumentTotals>
    <ns2:TaxPayable>0.00000</ns2:TaxPayable>
    <ns2:NetTotal>2630.00000</ns2:NetTotal>
    <ns2:GrossTotal>2630.00000</ns2:GrossTotal>
  </DocumentTotals>

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Por acaso desconhecia essa do agrupar, mas se assim é, também não está mal...

Sempre fica mais rápido! :)


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmmachado

Por acaso desconhecia essa do agrupar, mas se assim é, também não está mal...

Sempre fica mais rápido! :)

Então como envias ? 1 <Line> por cada linha da fatura (ou NC,ND, etc) ?

E o webservice aceita ?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Então como envias ? 1 <Line> por cada linha da fatura (ou NC,ND, etc) ?

E o webservice aceita ?

Ainda não implementei o WS de facturas! :P Só o de transportes!


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.