Validar SAFT PT Versão 1.04

Este é o primeiro mês em que todas as empresas se são obrigadas a enviar a nova versão do SAFT 1.04, que acrescenta algumas informações às já comunicadas nas versões anteriores.

Para garantir que o seu SAFT está correto antes de o submeter no Portal da Autoridade Tributária pode usar o “analisador” fornecido pela AT para validar e detectar erros que o seu ficheiro possa ter!

Para já ainda não está disponível a versão online igual à que foi disponibilizada para as outras versões, terá que usar a versão Offline que está disponível no link http://info.portaldasfinancas.gov.pt/apps/saft-pt04/validador_v1_04.jar  , não estranhe o ficheiro ser “.jar” isto significa que terá que ter o Java para poder correr este Analisador de SAFT! Este é o único validador de Saft oficial, todos os outros validadores são de entidades externas à Autoridade Tributária e como tal não fornecem qualquer garantia.

Para corrigir possíveis erros no SAFT PT convém sempre consultar o produtor do Software no entanto alguns dos erros podem ter a ver com a informação que está no sistema, seja uma ficha de produto mal preenchida ou um clientes com um dado qualquer inválido, geralmente os erros do analisador mostram o campo onde está o erro, se pesquisar o número do campo no manual do SAFT pode encontrar a origem do erro e corrigir sem ter que recorrer a ninguém!! Também pode dar uma vista de olhos no manual para ter noção de toda a informação que é incluída no ficheiro SAFT 1.04.

http://info.portaldasfinancas.gov.pt/NR/rdonlyres/ACD9174B-FA72-4D80-9E99-760745CC14AA/0/Portaria_302_2016.pdf

Já agora um concelho não usem validadores ou analisadores online que não sejam fornecidos pela AT ou pelo produtor do Software que usam, porque não sabem a quem estão a dar acesso à Faturação, Produtos, Preços, Guias de Transporte, etc… da vossa empresa!!

WordPress proteger BruteForce

De vez em quando gosto de dar uma vista de olhos nos logs do servidor para ver se deteto algo “anormal”, uma das coisas que me saltou à vista já há algum tempo foi o número exagerado de tentativas de autenticação inválidas! Estas tentativas tinham várias origens mas o método é sempre o mesmo tentar combinações comuns de utilizador e passwords de forma a entrar no Painel de administração do WordPress (isto é conhecido por BruteForce).

Para proteger a minha instalação de WordPress ainda pensei usar um plugin para proteger deste género de ataque mas decidi tentar uma abordagem de mais baixo nível, uma vez que já uso o Fail2Ban no servidor decidi aproveitar o mesmo e criar uma regra para à terceira tentativa de autenticação bloquear o ip de origem, fui acompanhando o número de ip’s bloqueados e são mais do que eu imaginava.

Como não sou nenhum master em regex usei uma expressão extremamente simples, quando uma tentativa de autenticação falha o WordPress retorna um erro http 403  (o comportamento standard retorna um 200 OK, com o JetPack ativo e com a opção de bloquear tentativas de login inválidas é que gera o 403), então é só mandar o Fail2Ban pesquisar acessos ao wp-login.php que retornaram 403, a regra que cheguei que se mostrou mais eficaz após alguns testes foi a seguinte:

failregex = :80 <HOST> .* /wp-login.php HTTP/1.1″ 403

Para já tem funcionado como esperado:

Optei por não usar plugins porque mesmo que um plugin detecte uma tentativa de intrusão, vai permitir que o atacante continue a gastar recursos ao servidor, ao enviar centenas ou milhares de pedidos seguidos. Como o Fail2Ban impede o ip do servidor de chegar sequer ao servidor o gasto de recursos é mínimo praticamente nulo.

Uma alteração que faço sempre no Fail2Ban é configurar para que quando bane um ip não faça REJECT e em vez disso faça um DROP(criei um Gist com isso) assim quem está do outro lado (o atacante) tem que aguardar pelo timeout do pedido para proceder para outro, isto fará com que no mínimo a aplicação que estão a usar para nos atacar consuma mais tempo e mais recursos ao atacante.

WordPress Importar Blogspot

O blogger é muito bom e gratuito mas também limitado em alguns aspetos, quando o blogspot não chega a solução pode passar por migrar para o WordPress.
O WordPress facilita esta migração ao disponibilizar uma ferramenta própria para o efeito, para a usar basta ir ao Painel do WordPress, seleccionar Ferramentas e clicar em “Importar”, nesta página surgem vários “importadores” de várias plataformas entre as quais o Blogger… seleccionamos “Instalar Agora” e o plugin de importação será instalado.

É Também possível importar do Blogroll, LiveJournal, Movable Type e TypePad, Tumblr e de sites alojados no WordPress.com.

Este importador importa o ficheiro xml exportado no Blogger, para gerar o ficheiro tem que fazer login no Blogger e ir a Definições -> Outros e seleccionar “Criar Cópia de Segurança de Conteúdo” será gerado um ficheiro com os posts.

Com o ficheiro do Blogger guardado voltamos ao painel do WordPress à página Importar e iniciamos o processo de importação basta seleccionar o novo autor para os posts e aguardar… quando o processo terminar todos os artigos da cópia estarão Publicados no WordPress.

 

 

SAFT – Códigos dos motivos de isenção de IVA

Cábula com os códigos dos motivos de isenção de IVA a usar na comunicação de faturas à AT.

O manual completo de integração e comunicação de faturas está disponível no link http://antoniocampos.net/Software/Manuais/AT/Faturas/ComunicacaodosdadosdasfaturasaAT.pdf   esta tabela está na página 27!

Código Motivo de Isenção Norma aplicável
M01 Artigo 16.º n.º 6 do CIVA Artigo 16.º n.º 6 alíneas a) a d) do CIVA
M02 Artigo 6.º do Decreto-Lei n.º 198/90, de 19 de Junho
M03 Exigibilidade de caixa Decreto-Lei n.º 204/97, de 9 de Agosto
Decreto-Lei n.º 418/99, de 21 de Outubro
Lei n.º 15/2009, de 1 de Abril
M04 Isento Artigo 13.º do CIVA
M05 Isento Artigo 14.º do CIVA
M06 Isento Artigo 15.º do CIVA
M07 Isento Artigo 9.º do CIVA
M08 IVA – Autoliquidação Artigo 2.º n.º 1 alínea i), j) ou l) do CIVA
Artigo 6.º do CIVA
Decreto-Lei n.º 21/2007, de 29 de Janeiro
Decreto-Lei n.º 362/99, de 16 de Setembro
M09 IVA – Não confere direito a dedução Artigo 60.º CIVA
Artigo 72.º n.º 4 do CIVA
M10 IVA – Regime de isenção Artigo 53.º do CIVA
M11 Regime particular do tabaco Decreto-Lei n.º 346/85, de 23 de Agosto
M12 Regime da margem de lucro – Agências de viagens Decreto-Lei n.º 221/85, de 3 de Julho
M13 Regime da margem de lucro – Bens em segunda mão Decreto-Lei n.º 199/96, de 18 de Outubro
M14 Regime da margem de lucro – Objectos de arte Decreto-Lei n.º 199/96, de 18 de Outubro
M15 Regime da margem de lucro – Objectos de colecção e antiguidades Decreto-Lei n.º 199/96, de 18 de Outubro
M16 Isento Artigo 14.º do RITI
M20 IVA – Regime forfetário Artigo 59.º-B do CIVA
M99 Não sujeito; não tributado Outras situações de não liquidação do imposto (exemplos: artigo 2.º, n.º 2; artigo 3.º, n.º 4, 6 e 7; artigo 4.º, n.º 5, todos do CIVA).

Como seguir transação de Bitcoins

Todos os movimentos transacções de Bitcoins são registados numa lista pública em que ficam armazenados e com acesso público várias informações relativas a cada transacção, entre as informações de cada transacção que são públicas as de maior interesse, caso estejam a seguir ou investigar alguma transacção, são a carteira de origem e a carteira de destino, o valor, a data e hora  e o endereço de IP que efectuou essa transacção… existem ainda outras informações relativas ao tamanho, taxa por byte etc…

As transacções são armazenas em conjuntos chamados Blocos, também um bloco contém várias informações como o número de transacções que contém, o valor total das transacções, taxas, data e hora, as assinaturas de validação etc.

Os blocos são armazenados de forma distribuída ou seja qualquer pessoa pode ter a sua cópia da “base de dados”, geralmente chama-se a esta base de dados Public Ledger…

Há um site onde de forma simples conseguimos seguir o rasto de qualquer carteira de bitcoin ou de qualquer bloco armazenado na rede bitcoin https://blockchain.info basta aceder a este site e aí pesquisar a informação pretendida o BlockChain.info é também interessante para perceber a “mecânica”  das transacções de bitcoin.