Jorge Andrade Posted January 21, 2019 Report Share Posted January 21, 2019 NFCe e NFe 2019: Alterações para abril Conteúdo do Artigo Responsável Técnico Local de Retirada e Entrega Mensagem de Interesse da SEFAZ Protocolo de Autorização na Rejeição por Duplicidade FCP no Grupo de Repasse do ICMS ST Motivo de Isenção da ANVISA Quadro Transportador no DANFE Novas Rejeições Publicações relacionadas Tempo de leitura: 4 minutos Confira as alterações para a NFCe e NFe em 2019 No dia 02 de Janeiro foi publicada a primeira Nota Técnica do ano com várias alterações previstas para NFe e NFCe. A Nota Técnica 2018.005 traz novos campos, novas rejeições, alterações na especificação do DANFE e mudanças nos retornos enviados pela Sefaz. As modificações devem estar disponíveis no ambiente de homologação até dia 25 de Fevereiro. Já a entrada em produção, está prevista para 29 de abril. Responsável Técnico A Nota Técnica trouxe um novo conceito de responsabilização da emissão das notas fiscais. Trata-se do Responsável Técnico, a empresa responsável pela transmissão do documento para a Sefaz. Consideram-se responsável técnico empresas que são: Desenvolvedora do sistema de emissão; ou Empresa responsável tecnicamente pelo sistema de emissão. Para ler mais sobre os novos campos aqui. Local de Retirada e Entrega Outra mudança é a inclusão de informações no local de retirada ou o local de entrega. Porém, até agora são informados apenas o CNPJ/CPF e o endereço do local de retirada (quando o endereço é diferente do endereço do remetente) ou do local de entrega (quando o endereço é diferente do endereço do destinatário). A partir da vigência da norma, será necessário informar mais dados do Expedidor e do Recebedor. Leia mais sobre os novos campos e as alterações no DANFE aqui. Mensagem de Interesse da SEFAZ Além disso, a norma ainda alterou o grupo de informações do Protocolo de Resposta da Sefaz (protNFe) para incluir informações de interesse da Secretaria. Agora os retornos da Sefaz podem ter também os seguintes campos: Código da Mensagem (cMsg) Mensagem da Sefaz para o emissor (xMsg) Este novo grupo é opcional, mas provavelmente será adotado por alguns estados de acordo com algumas operações. Em definição futura, a mensagem poderá ser tanto de interesse do Emitente, quanto de ambos Emitente e Consumidor. Protocolo de Autorização na Rejeição por Duplicidade A critério da UF, poderá ser retornado o protocolo de autorização da NFe ou NFCe nos casos em que ocorrer a rejeição por duplicidade: Rejeição 204: Duplicidade de NF-e [nRec:999999999999999] Isso irá acontecer somente nos casos em que o DigestValue da nota enviada (e rejeitada) for igual ao da autorizada. Isso foi uma demanda das empresas para facilitar a obtenção desta informação e poder corrigir a informação em seus sistemas. FCP no Grupo de Repasse do ICMS ST Foram criados campos relacionados ao Fundo de Combate à Pobreza (FCP) para Grupo de Repasse de ICMS ST retido anteriormente em operações interestaduais com repasses através do Substituto Tributário (ICMSST): Valor da Base de Cálculo do FCP retido anteriormente (vBCFCPSTRet) Percentual do FCP retido anteriormente por Substituição Tributária (pFCPSTRet) Valor do FCP retido por Substituição Tributária (vFCPSTRet) Este grupo aceita as seguintes tributações: 41 = Não Tributado 60 = Cobrado anteriormente por substituição tributária – este último adicionado na NFe 4.0 Leia mais: + Tudo sobre Fundo de Combate à Pobreza (FCP) na NFe 4.0 + FCP Principais Dúvidas Respondidas (FAQ) Motivo de Isenção da ANVISA Na versão 1.61 da norma que regulamenta a NFe 4.0, foi adicionada a possibilidade do contribuinte preencher o Código do Produto ANVISA (cProdANVISA) com o número de uma decisão que isenta o medicamento ou matéria-prima farmacêutica nos casos em que o produto não tem o registro na ANVISA. Agora foi melhorado o preenchimento do campo com a adição de uma tag específica para essa informação. Quando o produto não possuir registro, o campo de Código do Produto ANVISA deve ser preenchido com o literal ISENTO. O número da Resolução da Diretoria Colegiada da ANVISA (ou outra norma que isenta o produto) deve ser preenchido no novo campo: Motivo da isenção da ANVISA (xMotivoIsencao). Leia mais: + Novo campo: Medicamentos na NFe 4.0 Quadro Transportador no DANFE Seguindo as mudanças realizadas para as opções de Frete da NFe 4.0, a norma trouxe uma mudança no layout do DANFE no quadro Transportador. A identificação da Modalidade do Frete (campo modFrete) deverá ser preenchido com um dos códigos: 0=Contratação do Frete por conta do Remetente (CIF); 1=Contratação do Frete por conta do Destinatário (FOB); 2=Contratação do Frete por conta de Terceiros; 3=Transporte Próprio por conta do Remetente; 4=Transporte Próprio por conta do Destinatário; 9=Sem Ocorrência de Transporte. Leia mais: + Frete reformulado na NFe 4.0 Novas Rejeições Com os novos campos, portanto, foram adicionadas também novas regras de validação. Segue abaixo a listagem de todas as novas rejeições mapeadas: Rejeição 970: Código de País inexistente [local de retirada/entrega] Rejeição 971: IE inválida [local de retirada/entrega] Rejeição 972: Obrigatória as informações do responsável técnico Rejeição 973: CNPJ do responsável técnico inválido Rejeição 974: CNPJ do responsável técnico diverge do cadastrado Rejeição 975: Obrigatória a informação do identificador do CSRT e do Hash do CSRT Rejeição 976: Identificador do CSRT não cadastrado na SEFAZ Rejeição 977: Identificador do CSRT revogado Rejeição 978: Hash do CSRT diverge do calculado Créditos: Oobj aferra and frkiko 2 Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted January 23, 2019 Report Share Posted January 23, 2019 (edited) bom dia, alguém no grupo sabe como fazer essa função ? O passo-a-passo para gerado o hashCSRT deve seguir o indicado a seguir: Concatenar o CSRT cadastrado na Sefaz com a chave de acesso do documento a ser emitido (NFe / NFCe) Exemplo: 2. Aplicar o algoritmo SHA-1 sobre a concatenação e converter para base64. A string resultante terá 28 caracteres Exemplo: 3. Preencher o campo hashCSRT com o resultado. Atenção! Poderão ser emitidos até 5 CSRT válidos com IDs diferentes. Guarde o hash gerado para CSRT de ID correspondente. Exemplo: Seria isso? hash:="G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO411806783935920001146558900000006041028190697" ?HB_Base64( hb_sha1(hash), Len( hb_sha1(hash)) ) ou ?HB_Base64( hb_md5(hash), Len( hb_md5(hash)) ) O resultado não base com esse do exemplo... Edited January 23, 2019 by Alain da Silva alteracao Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted January 24, 2019 Report Share Posted January 24, 2019 ninguém? Quote Link to comment Share on other sites More sharing options...
Valdir Posted January 24, 2019 Report Share Posted January 24, 2019 Alain... Acredito que seja : HB_BASE64ENCODE. Aproveitando, qual Lib é necessária para compilar a HB_SHA1 ? Obrigado. Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted January 25, 2019 Report Share Posted January 25, 2019 Bom dia, Valdir aqui nesse link fala algo sobre a lib: http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=16160 Sobre o comando: cString :="G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO41180678393592000146558900000006041028190697" cString64:=HB_BASE64( hb_sha1(cString),Len( hb_sha1(cString)) ) ou cString64:=HB_BASE64ENCODE( hb_sha1(cString),Len( hb_sha1(cString)) ) Resultado = Njk2YmZhMmRlMTBjZTE3ZWFlZTNlYTgxMjM2Mzk4NjdjODJiOGEwYw== diferente do resultado do exemplo = 696bfa2de10ce17eaee3ea8123639867c82b8a0c ???? Quote Link to comment Share on other sites More sharing options...
Valdir Posted January 25, 2019 Report Share Posted January 25, 2019 Boas... Alguém sabe me dizer se as funções: HB_SHA1 , HB_BASE64ENCODE e HB_BASE64 são exclusivas do Harbour e se não existe nada similar no xHarbour.? Obrigado. Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted January 28, 2019 Report Share Posted January 28, 2019 Atualizando o Comando: CSRT:='G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO' ChavedeAcesso:='41180678393592000146558900000006041028190697' idCSRT:='01' cString:=CSRT+ChavedeAcesso Xml:='< infRespTec>' Xml+='<CNPJ>99999999999999</CNPJ>' Xml+='<xContato>Nome do Contato</xContato>' Xml+='<email>email@empresaficticia.com.br</email>' Xml+='<fone>41999999999</fone>' Xml+='<idCSRT>'+idCSRT+'</idCSRT>' Xml+='<hashCSRT>'+hb_SHA1(cstring)+'</hashCSRT>' Xml+='</infRespTec>' ?Xml kapiaba 1 Quote Link to comment Share on other sites More sharing options...
rochinha Posted January 31, 2019 Report Share Posted January 31, 2019 Amiguinhos vejam se na postagem compressão/des-compressão de string e texto de/para Base64 vocês conseguem algum resultado. Quote Link to comment Share on other sites More sharing options...
toya Posted February 2, 2019 Report Share Posted February 2, 2019 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.