Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 13-07-2021 em Posts

  1. Sobre o que trata a NT No dia 12/07/2021 foi publicada a versão preliminar da NT 2021.003 a qual estabelece a obrigatoriedade da informação dos campo cEAN e cEANTrib para produtos que possuem códigos de barras com GTIN, tanto para NFe quanto para NFCe, conforme os ajustes SINIEF 07/05 e 19/16. As datas preliminares de implantação desta NT são: Primeira Etapa: 04/07/2022 em homologação e 12/09/2022 em produção Segunda Etapa: 06/03/2023 em homologação e 12/06/2023 em produção Como participar da Consulta Pública A Coordenação Técnica do ENCAT receberá os comentários e manifestações por meio do endereço [email protected] até as 18:00 do dia 30/07/2021. Importante Esta NT somente terá efeitos após a publicação da versão 1.0 da mesma, a qual tem previsão para 08/2021, após a avaliação dos comentários e sugestões recebidos por meio da consulta publica.
    3 pontos
  2. Olá Pessoal, A lista de cidades que é possível emitir NFS-e através do novo componente ACBrNFSeX já passa de 1.260, não vou listar todas elas aqui nesse tópico. Quem desejar saber se a cidade XYZ consta dessa lista peço que abra o arquivo ACBrNFSeXServicos.ini que se encontra na pasta: ...\Fontes\ACBrDFe\ACBrNFSeX http://svn.code.sf.net/p/acbr/code/trunk2/Fontes/ACBrDFe/ACBrNFSeX Veja um exemplo abaixo: [3503208] Nome=Araraquara UF=SP Provedor=GINFES Na primeira linha temos o código IBGE, depois o Nome, UF e por fim qual é o provedor, ou seja, empresa contratada por licitação pela prefeitura. Os contratos por licitação tem prazos de termino definido e não poder ser renovados automaticamente. Sendo assim quando o contrato termina uma nova licitação é feita com varias empresas e pode ocorrer como ocorreu em diversas cidades de uma outra empresa ganhar. Algumas cidades tem o seu próprio sistema. O componente hoje reconhece por volta de 130 provedores (veja o post logo abaixo). Provedores são empresas que implementam nas cidades os seus webservices para recepcionar as notas. Desses 19 possuem um layout próprio. Os demais, por volta de 32 se utilizam da versão 1 do layout da ABRASF e, o restante, a versão 2. Com o novo componente não se faz necessário disponibilizar nenhum arquivo INI junto com o seu executável. O arquivo ACBrNFSeServicos.ini toda vez que é alterado é gerado um novo ACBrNFSeServicos.res através do arquivo BAT: Compila_RES. Ao compilar (Build) a sua aplicação o arquivo ACBrNFSeServicos.res é incorporado ao executável. Desta forma você só vai ter que copiar para a maquina do seu cliente o executável da sua aplicação, os schemas utilizados pelo provedor em questão e as DLLs necessárias para realizar a assinatura digital e envio de email. Para mais informações sobre o novo componente de emissão de NFS-e clique aqui. Leia também essa outra postagem: Manual de migração para o novo Componente de Emissão de NFS-e - NFS-e - Projeto ACBr
    1 ponto
  3. Olá Pessoal Foi publicado a NT 2020/001 versão 1.10 que traz uma tabela com os prazos para o envio dos eventos da Manifestação do Destinatário. A manifestação está prevista na cláusula décima-quinta-A do Ajuste SINIEF 7/05, a qual estabelece que o destinatário da Nota Fiscal eletrônica confirme a sua participação na operação acobertada pela Nota Fiscal eletrônica emitida para o seu CNPJ/CPF, através dos eventos tratados logo a seguir. A versão 1.10 dessa NT apresenta a tabela abaixo com os prazos para o registro dos eventos conforme estabelecido no Ajuste SINIEF 44/2020. O envio dos eventos fora dos prazos estabelecido vai ocorrer a Rejeição 596: Evento apresentado fora do prazo: [prazo vigente] Essa regra de validação entra em vigor no ambiente de produção a partir de 04/04/2022 Evento Prazo legal (Ajuste SINIEF 44/2020) Ciência da Emissão 10 dias contados a partir da data de autorização da NF-e Confirmação da Operação 180 dias contados a partir da data de autorização da NF-e Desconhecimento da Operação 180 dias contados a partir da data de autorização da NF-e Operação Não Realizada 180 dias contados a partir da data de autorização da NF-e Observação: note que a contagem de dias é sempre baseado na data de autorização da NF-e e não na data de recebimento da mercadoria. Quem é obrigado a enviar os eventos da Manifestação do Destinatário? A cláusula décima-quinta-B do Ajuste SINIEF 7/2005 prevê a obrigatoriedade do registro pelo destinatário da NF-e dos eventos de confirmação da operação, operação não realizada e desconhecimento da operação nos prazos especificados naquele Ajuste. Também está obrigado a realizar a manifestação, de acordo com o Anexo II do Ajuste SINIEF 7/2005, o destinatário de toda NF-e que: I – seja exigido o preenchimento do Grupo Detalhamento específico de Combustíveis, como nos casos de mercadoria destinada a: a) estabelecimentos distribuidores de combustíveis, a partir de 1º de março de 2013; b) postos de combustíveis e transportadores revendedores retalhistas, a partir de 1º de julho de 2013; II - acoberte operações com álcool para fins não-combustíveis, transportado a granel, a partir de 1º de julho de 2014; III – acoberte, nos casos em que o destinatário for um estabelecimento distribuidor ou atacadista, a partir de 1º de agosto de 2015, a circulação de: a) cigarros; b) bebidas alcoólicas, inclusive cervejas e chopes; c) refrigerantes e água mineral. Observação: • a NT 2012/003 (item 03.1), publicada em agosto/2012, define quais são os CFOP que obrigam a informação do Grupo de Combustível na NF-e. Os CFOP citados estão relacionados com as operações que envolvem “Combustível derivado ou não de Petróleo e Lubrificantes”. • Como as operações com lubrificantes são exceção à obrigatoriedade de manifestação do destinatário, consta no Anexo II a tabela de Códigos de Produto da ANP relativa a lubrificantes e que não estão obrigados à Manifestação do Destinatário. Como realizar o envio dos eventos da Manifestação do Destinatário? O destinatário caso não tenha uma aplicação que lhe permite a realizar o envio dos eventos, poderá utilizar o serviço que consta no Portal Nacional da NF-e: No menu “Serviços”, “Manifestação Destinatário” do Portal Nacional da NF-e (https://www.nfe.fazenda.gov.br) é disponibilizada a opção de realizar a manifestação por chave de acesso ou por NSU (Número Sequencial Único), sendo obrigatório o uso de Certificado Digital do destinatário. No Portal Nacional da NF-e tem também um aplicativo que o destinatário poderá baixar: No menu “Downloads”, “Manifestador de NF-e” do Portal Nacional da NF-e (https://www.nfe.fazenda.gov.br) foi disponibilizado software desenvolvido pela SEFAZ-SP que viabiliza exclusivamente a manifestação do destinatário pessoa jurídica, sendo obrigatório o uso de Certificado Digital do destinatário. Para o desenvolvedor que queira implementar essa funcionalidade em sua aplicação o Projeto ACBr disponibiliza: O componente ACBrNFe para os desenvolvedores que se utilizam das ferramentas Delphi ou Lazarus para desenvolverem as suas aplicações utilizando a linguagem Object Pascal. O ACBrMonitor Plus, uma aplicação feita em Lazarus destinada aos desenvolvedores que trabalham com outras linguagens de programação. O ACBrLibNFe, uma DLL que também pode ser utilizada pelos desenvolvedores de outras linguagens caso não desejem usar o ACBrMonitor Plus.
    1 ponto
  4. Boa noite, encontrei o problema no D7, revisei todas as PATHs do Library e encontrei uma errada. Muito obrigado pelo apoio.
    1 ponto
  5. Beleza Juliomar. Muito obrigado. E que as vezes cliente nao entende e sempre acha que é sistema e deixa a gente doido. Vou sim novamente entrar em contato com a receita e pedir para os nossos clientes tambem fazerem reclamacao.
    1 ponto
  6. Boa tarde, veja se é isto que precisa, ajuste de Back Feed Direto No Spool Acesse o "menu iniciar" no seu PC; Vá até impressoras e aparelhos de fax; Clique com botão direito do mouse sobre o driver de sua impressora e em seguida, clique em "Preferências de Impressão; Configure conforme a imagem abaixo: Abraços
    1 ponto
  7. Nosso componente ACBrBoleto já faz parte do futuro dos boletos, o que significa que além das diversas alterações realizadas para a integração via web-service, agora também já está apto para a emissão dos chamados Boletos Híbridos, ou seja, aqueles que além do Código de Barra, também contam com um QRCode para pagamentos via PIX. Esta alteração vem de encontro a muitos pedidos que temos recebido para incluir o QRCode no boleto, porém vale ressaltar que o Banco do Brasil foi pioneiro em promover uma integração completa com o PIX por meio de sua API, fazendo com que sua aplicação receba a baixa do título junto com as informações de retorno do banco, diferente do que ocorre quando esta integração não existe, tornando este processo manual e passível de uma série de erros. Atualmente os Bancos que suportam este tipo de emissão de boleto híbrido e estão implementados no ACBr são os seguintes (clique no nome do banco para acessar o tópico com a explicação detalhada dele): CNAB - por transferência de arquivos: Santander Sicredi Itau Bradesco (CNAB400) Banrisul (CNAB240) API - on-line: BB Banrisul Bradesco C6 Bank Caixa Econômica Cora Inter (veja particularidades para NossoNumeroCorrespondente) Itau (necessita que o banco forneça outra credencial para endpoint PIX) PenseBank Santander Sicredi V2 Sicoob Para entender melhor como implementar esta solução e modernizar ainda mais sua aplicação, veja este artigo em nossa Base de Conhecimento. Att.
    1 ponto
  8. Resolvido. Segui as orientações desse tópico: Como fiz: 01 - Atualizei as DLL's 02 - Excluí os Schemas e coloquei novamente (percebi que tinha schemas antigos). Obrigado @André Ferreira de Moraes Obrigado @Graça
    1 ponto
  9. Depois de uma semana pesquisando na net, perguntando pra um e pra outro, consegui baixar as notas da sefaz. Estar qui caso algum colega precise. Este primeiro processo é para mostrar as notas que estão na sefaz procedure TTesteWeb.consultarnotasClick(Sender: TObject); var CNPJ, Impresso, sChave, sEmissao, sCNPJ, sNome, sNumero, sSerie, sIEst, sNSU, sTipoNFe: String; Valor: Double; i, j,iEvento, k: integer; sStat,utNSU,ANSU:string; sMotivo:string; sUltimoNSU:string; sTemMais:string; caminho:string; UF, icount, codStatus: Integer; xml:string; begin // ======== Dados do Emitente ============================================= //pego o codigo da Filial que estar fazendo // a pesquisa no meu cadastro de empresas Empresa.Close; Empresa.SQL.Clear; Empresa.SQL.Add('Select * From filial'); Empresa.SQL.Add('Where CodFil = :xCodigo'); Empresa.Params[0].AsString:='1'; Empresa.Active:=True; Empresa.Open; MemoStatus.Lines.Add('------------------------------------------------------'); MemoStatus.Lines.Add(' => Consultando NFe Destinadas'); MemoStatus.Lines.Add('------------------------------------------------------'); Memo1.Text := ''; k := 0; repeat inc(k); CNPJ := ''; ACBrNFe1.DistribuicaoDFePorUltNSU(EMPRESAUF.AsInteger,CNPJ,edtUltNSU.Text ); sStat := IntToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat); sMotivo := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo; if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137 then sTemMais := 'N' else sTemMais := 'S'; sUltimoNSU := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU; // GravaUltimaConsulta; if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 138 then begin MemoStatus.Lines.Add(' Documento Localizado para o Destinatário'); MemoStatus.Lines.Add(' Utilizar o número que esta no campo: Último NSU'); MemoStatus.Lines.Add(' Para uma nova pesquisa.'); MemoStatus.Lines.Add(' '); j := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count - 1; lstChave1.Clear; chkListaNotas.Clear; for i := 0 to j do begin sSerie := ''; sNumero := ''; sCNPJ := ''; sNome := ''; sIEst := ''; sNSU := ''; sEmissao := ''; sTipoNFe := ''; Valor := 0.0; Impresso := ' '; if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe <> '' then begin // Conjunto de informações resumo da NF-e localizadas. // Este conjunto de informação será gerado quando a NF-e for autorizada ou denegada. sChave := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe; sSerie := Copy(sChave, 23, 3); sNumero := Copy(sChave, 26, 9); sCNPJ := ''; sNome := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.xNome; sIEst := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.IE; case ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.tpNF of tnEntrada: sTipoNFe := 'E'; tnSaida: sTipoNFe := 'S'; end; sNSU := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.NSU; sEmissao := DateToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.dhEmi); Valor := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.vNF; case ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.cSitNFe of snAutorizado: Impresso := 'A'; snDenegado: Impresso := 'D'; // snCancelada: Impresso := 'C'; end; end; // Registra no Banco de Dados as Notas Retornadas pela Consulta Manifestacao.Close; Manifestacao.SQL.Clear; Manifestacao.SQL.Add('Select * From manifestacao'); Manifestacao.SQL.Add('Where Empresa = :xEmpresa'); Manifestacao.SQL.Add('and Chave = :xChave'); Manifestacao.Params[0].AsString:='1'; Manifestacao.Params[1].AsString:=sChave; Manifestacao.Active:=True; Manifestacao.Open; if not ((ManifestacaoEmpresa.AsString = '1') and (ManifestacaoChave.AsString = sChave)) then begin IncAltDel.SQL.Clear; IncAltDel.SQL.Add('Insert into manifestacao'); IncAltDel.SQL.Add('(Empresa, Chave, CNPJ, Nome, IE, Emissao, Tipo, Valor,'); IncAltDel.SQL.Add('Situacao, Confirmacao, NSU, DataEvento, Protocolo)'); IncAltDel.SQL.Add('Values (:xEmpresa, :xChave, :xCNPJ, :xNome, :xIE, :xEmissao, :xTipo,'); IncAltDel.SQL.Add(':xValor, :xSituacao, :xConfirmacao, :xNSU, :xDataEve, :xProtocolo)'); IncAltDel.Params[0].AsString:='1'; IncAltDel.Params[1].AsString:=sChave; IncAltDel.Params[2].AsString:=''; IncAltDel.Params[3].AsString:=sNome; IncAltDel.Params[4].AsString:=sIEst; IncAltDel.Params[5].AsDateTime:=StrToDate(sEmissao); IncAltDel.Params[6].AsString:=sTipoNFe; IncAltDel.Params[7].AsFloat:=Valor; IncAltDel.Params[8].AsString:=Impresso; IncAltDel.Params[9].AsInteger:=-1; IncAltDel.Params[10].AsString:=sNSU; IncAltDel.Params[11].AsDateTime:=0; IncAltDel.Params[12].AsString:=''; IncAltDel.ExecSQL; end; //Atualizo o sql que mostra as notas no dbgrid MANIFESTACAO.Close; MANIFESTACAO.SQL.Clear; MANIFESTACAO.SQL.Add('select * from manifestacao'); MANIFESTACAO.open; end; // Fim do For end else begin // Nenhum Documento Localizado para o Destinatário if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137 then begin MemoStatus.Lines.Add(' Nenhum Documento Localizado para o Destinatário'); MemoStatus.Lines.Add(' Utilizar o número que esta no campo: Último NSU'); MemoStatus.Lines.Add(' Para uma nova pesquisa ('+edtUltNSU.Text+').'); MemoStatus.Lines.Add(' '); end else begin MemoStatus.Lines.Add(' Falha ao realizar a consulta.'); MemoStatus.Lines.Add(' ' + sStat + ' - ' + sMotivo); MemoStatus.Lines.Add(' '); end; end; until (k = StrToIntDef(edtConsultas.Text, 1)) or (sTemMais = 'S'); ACBrNFe1.Configuracoes.Arquivos.Salvar := True; if sTemMais = 'S' then Memo1.Text := IntToStr(k) + ' Consultas Realizadas e tem mais Documentos.' else Memo1.Text := IntToStr(k) + ' Consultas Realizadas e não tem mais Documentos.'; end; ========================================= Este segundo processo é para fazer a confirmação de uma nota pela chave, vc pode fazer a confirmação de todas as notas que baixou no primeiro processo e depois efetuar o download. procedure TTesteWeb.EnviarManifesClick(Sender: TObject); var Chave, idLote, CNPJ: string; lMsg: string; begin // manidestação de uma nota especifica pela chave Chave:=''; if not(InputQuery('WebServices Eventos: Manif. Destinatario - Conf. Operacao', 'Chave da NF-e', Chave)) then exit; Chave := Trim(OnlyNumber(Chave)); idLote := '1'; if not(InputQuery('WebServices Eventos: Manif. Destinatario - Conf. Operacao', 'Identificador de controle do Lote de envio do Evento', idLote)) then exit; CNPJ := ''; if not(InputQuery('WebServices Eventos: Manif. Destinatario - Conf. Operacao', 'CNPJ ou o CPF do autor do Evento', CNPJ)) then exit; ACBrNFe1.EventoNFe.Evento.Clear; with ACBrNFe1.EventoNFe.Evento.Add do begin InfEvento.cOrgao := 91; infEvento.chNFe := Chave; infEvento.CNPJ := CNPJ; infEvento.dhEvento := now; infEvento.tpEvento := teManifDestConfirmacao; end; ACBrNFe1.EnviarEvento(StrToInt(IDLote)); with AcbrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento do begin lMsg:= 'Id: '+Id+#13+ 'tpAmb: '+TpAmbToStr(tpAmb)+#13+ 'verAplic: '+verAplic+#13+ 'cOrgao: '+IntToStr(cOrgao)+#13+ 'cStat: '+IntToStr(cStat)+#13+ 'xMotivo: '+xMotivo+#13+ 'chNFe: '+chNFe+#13+ 'tpEvento: '+TpEventoToStr(tpEvento)+#13+ 'xEvento: '+xEvento+#13+ 'nSeqEvento: '+IntToStr(nSeqEvento)+#13+ 'CNPJDest: '+CNPJDest+#13+ 'emailDest: '+emailDest+#13+ 'dhRegEvento: '+DateTimeToStr(dhRegEvento)+#13+ 'nProt: '+nProt; end; ShowMessage(lMsg); MemoResp.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetWS; memoRespWS.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetornoWS; LoadXML(ACBrNFe1.WebServices.EnvEvento.RetornoWS, WBResposta); end; ======================================= verifique agora se estas configurações estão certas no seu componente ACBRNFe: propriedades\configurações\arquivos\PathDownload = aqui a pasta onde vc quer salvar os xml. propriedades\configurações\arquivos\PathEvento = Salvar os eventos. propriedades\configurações\arquivos\salvar = true Ainda em configurações de arquivos tem as opções separar por cnpj, ele cria uma pasta para cada cnpj que vc baixar e execute o primeiro processo novamente, ele vai fazer uma nova busca e baixar os que vc confimou teste ai e me diga o resultado Comigo funcionou certinho.
    1 ponto
  10. Aldy, Consegui fazer o emulador parar de exibir essa mensagem e voltar a transmitir novos SATs excluindo os XMLs dentro de C:\SAT\CFes, fechando e abrindo novamente o emulador. Espero que te ajude.
    1 ponto
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...