Páginas

segunda-feira, 8 de setembro de 2014

Usando o ACBrNFeMonitor para emitir NFCe

A primeira versão do ACBrNFeMonitor compatível com NFC-e foi lançada em outubro de 2013 mas como algumas dúvidas ainda são recorrentes estou fazendo este poste para mostrar as principais alterações que existem entre a versão 2.00(que permite apenas emitir NFe modelo 55) e a versão 3.10(que permite emitir NFe e NFCe modelo 65).

  • Comando NFe.EnviarNFe - Foi adicionado mais um parâmetro para indicar se o envio será síncrono ou assíncrono(Consulte com seu estado se o modo síncrono será implementado)
    • NFe.EnviarNFe(cArqXML,nLote,[nAssina],[nImprime],[NomeImpressora],[bSincrono]) - Deverá informar 1 para indicar modo síncrono e 0 para modo assíncrono. Vale lembrar que além de consultar se seu estado irá implementar o modo síncrono, este modo funciona apenas para os Lotes que contenham somente uma NF-e/NFC-e.
  • A alteração acima também vale para o comando NFe.CriarEnviarNFe, sendo que a posição do parâmetro é diferente NFe.CriarEnviarNFe(cArqINI,nLote,nImprimeDANFE,[bSincrono])
  • Vale a mesma alteração para o comando NFe.EnviarloteNFe - NFe.EnviarloteNFe(numLote,0,[nImprime],[bSincrono]);
  • Novos Comandos:
    • NFe.SetIDToken - Configura o Código de Identificação do CSC (cIdToken) que será usado na geração do QR-Code;
    • NFe.SetToken - Configura o Código de Segurança do Contribuinte(antigo Token).
    • NFe.SetVersaoDF - Muda a versão do documento que será usado no ACBrNFeMonitor, aceitas os seguintes valores: 2.00 - 3.00 - 3.10. A versão 3.00 funciona apenas para NFC-e para empresas que participam dos projetos pilotos em alguns estados;
    • NFe.SetModeloDF - Muda o tipo de documento que será criado. Aceita os valores 55 e 65, sendo 55 - NFe e 65 NFC-e;
    • ATENÇÃO: É recomendado chamar os comandos SetModeloDF e SetVersaoDF antes de executar qualquer comando de cancelamento, inutilização, eventos, etc, pois alguns estados possuem endereços diferentes para cada tipo de documento, então chamando esses comandos você garante que o componente será configurado para o endereço correto.
  • No INI usado para criar e enviar XMLs da NF-e/NFC-e foram adicionas alguns campos e grupos novos:
    • Novo grupo infNFe:
      • [infNFe]
        versao=3.10
    • Grupo Identificação alterado:
      • [Identificacao]
        dEmi=             - Alterado para permitir informar data e hora
        dSaiEnt=         - Alterado para permitir informar data e hora
        idDest= 1=Operação interna; 2=Operação interestadual; 3=Operação com exterior.
        indFinal= 0=Normal; 1=Consumidor final;
        indPres= 0=Não se aplica (por exemplo, para a Nota Fiscal complementar ou de ajuste); 1=Operação presencial; 2=Operação não presencial, pela Internet; 3=Operação não presencial, Teleatendimento; 4=NFC-e em operação com entrega em domicílio; 9=Operação não presencial, outros. Nota: Para a NFC-e, somente são aceitas as opções 1 e 4.
    • Grupo Destinatário alterado:
      • [Destinatario]
        indIEDest= 1=Contribuinte ICMS (informar a IE do destinatário); 2=Contribuinte isento de Inscrição no cadastro de Contribuintes do ICMS; 9=Não Contribuinte, que pode ou não possuir Inscrição Estadual no Cadastro de Contribuintes do ICMS; Nota 1: No caso de NFC-e informar indIEDest=9 e não informar a tag IE do destinatário; Nota 2: No caso de operação com o Exterior informar indIEDest=9 e não informar a tag IE do destinatário; Nota 3: No caso de Contribuinte Isento de Inscrição (indIEDest=2), não informar a tag IE do destinatário.
    • Novo grupo autXML
      • [autXMLXXX] - onde XXX deve conter um número sequencial para cada pessoa autorizada a acessar o XML
        CNPJCPF=
    • Grupo Produto alterado:
      • [ProdutoXXX]
        nRECOPI=
        pDevol=
        vIPIDevol=
    • Novo Grupo NVE:
      • [NVEXXXYYY] - onde XXX deve conter o número do Produto e YYY o número sequencial do NVE - Cada produto pode conter até 8 ocorrências
        NVE=
    • Grupo DI alterado:
      • [DIXXXYYY]
        tpViaTransp=
        vAFRMM=
        tpIntermedio=
        CNPJ=
        UFTerceiro=
    • Grupo LADI alterado:
      • [LADIXXXYYYKKK]
        nDraw=
    • Novo grupo Detalhe da Exportação para o item
      • [detExportXXXYYY]
        nDraw=
        nRE=
        chNFe=
        qExport=
    • Alteado grupo Combustível
      • [CombustivelXXX]
        pMixGN=
    • Alterado grupo ICMS
      • [ICMSXXX]
        vICMSDeson=
        vICMSOp=
        pDif=
        vICMSDif=
    • Alterado grupo ISSQN
      • [ISSQNXXX]
        vDeducao=
        vOutro=
        vDescIncond=
        vDescCond=
        vISSRet=
        indISS=
        cServico=
        cMun=
        cPais=
        nProcesso=
        indIncentivo=
    • Grupo Total alterado:
      • [Total]
        vICMSDeson=
    • Grupo ISSQN Total alterado:
      • [ISSQNtot]
        dCompet=
        vDeducao=
        vOutro=
        vDescIncond=
        vDescCond=
        vISSRet=
        cRegTrib=
    • Novo grupo de Formas de Pagamento:
      • [PAGXXX]
        tpag=
        vPag=
        CNPJ=
        tBand=
        cAut=
    • Alterado grupo Exportação:
      • [Exporta]
        UFSaidaPais=
        xLocExporta=
        xLocDespacho=

Para obter a versão com todos os comandos acima, acesse a área de downloads do fórum.

Caso você queria testar a NFC-e e seu estado ainda não disponibilizou ambiente de testes, configure a emissão para o estado do Amazonas, veja este link para mais informações - http://portalnfce.sefaz.am.gov.br/desenvolvedor/ambiente-de-homologacao-para-desenvolvedores/

Caso tenha alguma dúvida sobre NFC-e, use a nova área exclusiva do fórum criada para assuntos relacionados a Nota Fiscal Eletrônica do Consumidor.

quarta-feira, 2 de abril de 2014

DANFe para NFC-e

Já estão disponíveis no SVN do Projeto ACBr alguns modelos de DANFCe para Nota Fiscal Eletrônica do Consumidor.

Atualmente temos três modelos disponíveis, em FortesReport, em QuickReport e um usando os comandos ESCPOS(testado na EPSON TM-T20 e DASCOM DT-230)

Exemplo de DANFe em Fortes
Exemplo DANFe em ESCPOS (Fundo branco Epson e amarelo DASCOM)

Para testar, basta atualizar seus fontes via SVN.

Para dúvidas, utilize o fórum do projeto - http://www.projetoacbr.com.br/forum

sexta-feira, 12 de abril de 2013

Nota Fiscal Do Consumidor Eletrônica(NFC-e) com ACBrNFe

Já está disponível no SVN do Projeto ACBr os fontes compatibilizados com a NFe 3.0, que permite a emissão de NFC-e - Nota Fiscal Eletrônica do Consumidor.

Para testar basta atualizar seu componente ACBrNFe2 e fazer os testes, no demo foi adicionado uma aba "NFC-e" com um exemplo de como criar e enviar uma NFC-e.

Para tirar dúvidas e mais informações, use o fórum oficial do projeto - http://www.projetoacbr.com.br


segunda-feira, 8 de abril de 2013

ACBrSAT - Fontes disponíveis no SVN

Já estão disponíveis no SVN os fontes do ACBrSAT compatíveis com o emulador disponibilizado pelo SEFAZ de SP. Inclusive o extrato já está funcionando com impressoras não fiscais EPSON, veja abaixo o exemplo de impressão.
 Extrato completo:
 
 Extrato resumido:
 
Para obter os fontes, baixe através do SVN - http://acbr.sourceforge.net/drupal/?q=node/37

Para mais informações sobre o andamento do desenvolvimento, use o fórum http://www.projetoacbr.com.br/forum/index.php?/forum/44-acbrsat/

Estaremos na FENACOM - http://www.fenacom.com.br no estande da EPSON demonstrando o funcionamento do ACBrSAT, venha nos conhecer nos dias 09,10 e 11  de Abril de 2013.

quinta-feira, 14 de fevereiro de 2013

Nova Versão 0.7.7.1 do ACBrNFeMonitor

Disponibilizada nova versão do ACBrNFeMonitor.

Versão CAPICOM - http://djsystem.sytes.net/ccount/click.php?id=8
Versão OpenSSL - http://djsystem.sytes.net/ccount/click.php?id=9
  • Adicionado opção de cancelamento por evento(os estados PR|ES|MA|PA|PI|RN continuam do modo antigo);
  • Adicionado impressão de eventos(apenas para o DANFe RaveCB).
O comando de cancelamento não mudou, apenas internamente o ACBrNFeMonitor irá enviar o cancelamento via evento.
Para Imprimir uma CCe, use o comando NFe.ImprimirEvento(cPathXMLEvento,cPathXMLNFe), o XML da NFe é opcional, caso seja informado será impresso os dados do Emitente e Destinatário, caso contrário será impresso apenas os dados disponíveis no XML do Evento.

Em caso de dúvidas, utilize o fórum - http://www.projetoacbr.com.br/forum

quarta-feira, 13 de fevereiro de 2013

Usando a DLL SAT.dll no Delphi

Abaixo segue a declaração em Delphi de todas as funções que estão disponíveis no arquivo SAT.dll que vem no emulador do SAT-CFe disponibilizado pelo SEFAZ de SP.

    function AssociarAssinatura( numeroSessao : Longint; codigoDeAtivacao: PChar; CNPJvalue : PChar; assinaturaCNPJs : PChar ) : PChar ; cdecl; External 'SAT.DLL';
    function AtivarSAT( numeroSessao: Longint; subComando : Longint; codigoDeAtivacao: PChar; CNPJ: PChar; cUF : Longint ) : PChar ; cdecl; External 'SAT.DLL';
    function AtualizarSoftwareSAT( numeroSessao : Longint; codigoDeAtivacao : PChar ) : PChar ; cdecl; External 'SAT.DLL';
    function BloquearSAT( numeroSessao : Longint; codigoDeAtivacao : PChar ) : PChar ; cdecl; External 'SAT.DLL';
    function CancelarUltimaVenda(numeroSessao : Longint; codigoAtivacao: PChar; chave: PChar; dadosCancelamento : PChar) : PChar ; cdecl;  External 'SAT.DLL';
    function ComunicarCertificadoICPBRASIL( numeroSessao : Longint; codigoDeAtivacao : PChar; certificado : PChar ) : PChar ; cdecl; External 'SAT.DLL';
    function ConfigurarInterfaceDeRede( numeroSessao : Longint; codigoDeAtivacao : PChar; dadosConfiguracao : PChar ) : PChar ; cdecl; External 'SAT.DLL';
    function ConsultarNumeroSessao(numeroSessao : Longint; cNumeroDeSessao : Longint) : PChar ; cdecl;  External 'SAT.DLL';
    function ConsultarSAT( numeroSessao : Longint ) : PChar ; cdecl; External 'SAT.DLL';
    function ConsultarStatusOperacional( numeroSessao : Longint; codigoDeAtivacao : PChar ) : PChar ; cdecl; External 'SAT.DLL';
    function DesbloquearSAT( numeroSessao : Integer; codigoDeAtivacao : PChar ) : PChar ; cdecl; External 'SAT.DLL';
    function DesligarSAT : PChar ; cdecl; External 'SAT.DLL';
    function EnviarDadosVenda(numeroSessao : Longint; codigoDeAtivacao: PChar; dadosVenda : PChar) : PChar ; cdecl; External SAT.DLL';
    function ExtrairLogs( numeroSessao : Longint; codigoDeAtivacao : PChar ) : PChar ; cdecl; External 'SAT.DLL';
    function TesteFimAFim(numeroSessao : Longint; codigoDeAtivacao: PChar; dadosVenda : PChar) : PChar ; cdecl; External 'SAT.DLL';
    function TrocarCodigoDeAtivacao( numeroSessao : Longint; codigoDeAtivacao : PChar; opcao : Longint; novoCodigo : PChar; confNovoCodigo : PChar ) : PChar ; cdecl; External 'SAT.DLL';


Com as declarações acima consegui comunicar a aplicação em Delphi com o emulador , usando stdcall sempre recebia como retorno da DLL a mensagem "ERRO: Numero de Sessao Invalido"

ACBrSAT - Primeiros passos do SAT-CFe com ACBr

Pra quem não sabe, o SAT-CFe é um projeto da Fazenda de SP que pretende substituir os ECFs por novos equipamentos que irão transmitir as informações para o fisco de maneira automática, não sendo necessário realizar o processo de extração e posterior envio para o fisco das vendas realizadas através do ECF. Mais informações sobre o projeto podem ser obtidas no site http://www.fazenda.sp.gov.br/sat/

Nós do Projeto ACBr já começamos a trabalhar na criação de um componente para facilitar a comunicação entre os aplicativos comerciais e o SAT Fiscal. Atualmente já terminamos o desenvolvimento da classe que irá gerar o XML e fizemos um pequeno aplicativo que consegue conversar com o Emulador disponibilizado pelo fisco.

Como próximo passo pretendemos compatibilizar o componente ACBrECF com o SAT, ou seja, quem já utiliza o ACBrECF deve ter pouco ou nenhum impacto para compatibilizar os aplicativos atuais para trabalhar com o SAT. Apesar de o SAT trabalhar de uma forma bem mais simples que os ECFs atuais, pretendemos emular um Cupom Fiscal e apenas quando o aplicativo chamar a função ACBrECF1.FechaCupom que será gerado o XML e feita toda a comunicação com o SAT. A idéia é usar este mesmo tipo de emulação para a NFC-e(Nota Fiscal Eletrônica do Consumidor), ou seja, se você usa o ACBrECF basta escolher se vai trabalhar com um ECF normal, um SAT ou com NFC-e.

Caso queira testar esta versão que estamos trabalhando, baixe o demo no link ACBrSAT 

Para funcionar, instale o emulador seguindo as instruções contidas no manual de instalação do emulador.

Em breve disponibilizaremos os fontes no SVN e mais informações sobre como ajudar no desenvolvimento e nos testes deste novo componente.

Caso tenha alguma dúvida, utilize o fórum oficial do Projeto ACBr - http://www.projetoacbr.com.br/forum/