Páginas

terça-feira, 16 de setembro de 2014

Como usar o novo ambiente de contingência SVC - SEFAZ VIRTUAL DE CONTINGÊNCIA no ACBrNFeMonitor

A partir do dia 30/09/2014 o SCAN será desativado e substituido pelo "SVC - SEFAZ VIRTUAL DE CONTINGÊNCIA".

Esta alternativa de emissão da NF-e em contingência, com transmissão da NF-e para a SEFAZ Virtual de Contingência (SVC), permite a impressão do DANFE em papel comum e não existe a necessidade de transmissão da NF-e para SEFAZ de origem quando cessarem os problemas técnicos que impediam o uso do ambiente de autorização normal da circunscrição do contribuinte.

Diferentemente do SCAN - Sistema de Contingência do Ambiente Nacional, esta modalidade de contingência não obriga o uso de série específica na NF-e (série 900-999), o que facilitará o uso dessa modalidade de contingência por parte das empresas.

Existirão dois locais alternativos de autorização em contingência, operados pelas estruturas das SEFAZ VIRTUAIS atuais:
  • SVAN – SEFAZ Virtual do Ambiente Nacional;
  • SVRS – SEFAZ Virtual do Rio Grande do Sul.
As SEFAZ autorizadoras adotarão uma das duas SVC, conforme definido no Ato COTEPE 39, de 04/09/2012.

I - pela Sefaz Virtual do Ambiente Nacional(SVC-AN), disponibilizada pela Secretaria da Receita Federal do Brasil, para os Estados do Acre, Alagoas, Amapá, Minas Gerais, Paraíba, Rio de Janeiro, Rio Grande do Sul, Rio Grande do Norte, Rondônia, Roraima, Santa Catarina, Sergipe, São Paulo e Tocantins e para o Distrito Federal; e

II - pela Sefaz Virtual do Rio Grande do Sul(SVC-RS), disponibilizada pelo Estado do Rio Grande do Sul, para os estados do Amazonas, Bahia, Ceará, Espírito Santo, Goiás, Maranhão, Mato Grosso, Mato Grosso do Sul, Pará, Pernambuco, Piauí e Paraná.

Estado SVC-AN SVC-RS
Acre X
Alagoas X
Amapá X
Amazonas X
Bahia X
Ceará X
Distrito Federal X
Espírito Santo X
Goiás X
Maranhão X
Mato Grosso X
Mato Grosso do Sul X
Minas Gerais X
Pará X
Paraíba X
Paraná X
Pernambuco X
Piauí X
Rio de Janeiro X
Rio Grande do Sul X
Rio Grande do Norte X
Rondônia X
Roraima X
Santa Catarina X
Sergipe X
São Paulo X
Tocantins X

De forma semelhante ao SCAN o ambiente de autorização da SVC é ativado pela UF interessada e uma vez acionado passa a recepcionar as NF-e enviadas pelas empresas credenciadas para emitir NF e na UF.

Serão disponibilizados pela SVC os mesmos serviços do ambiente normal de autorização:
  • Serviço de Recepção
    • somente estará disponível conforme decisão sobre a ativação ou não da SVC por uma determinada SEFAZ de origem.
  • Serviço de Retorno da Recepção
    • sempre estará disponível para consultar o resultado do processamento dos Lotes enviados para a SVC.
  • Serviço de Registro de Eventos: Cancelamento
    • sempre estará disponível somente para as NF-e autorizadas pela própria SVC.
  • Serviço de Registro de Eventos: CC-e e Outros
    • O registro dos demais tipos de evento do Emitente ou do Destinatário, tais como a Carta de Correção Eletrônica, Manifestação do Destinatário e outros, não será disponibilizado para atendimento pela SVC.
  • Serviço de Inutilização
    • O Serviço de Inutilização (Web Service: NFeInutilizacao) não será oferecido pela SVC.
  • Serviço de Consulta Situação da NF-e
    • sempre estará disponível somente para as NF-e autorizadas pela própria SVC.
  • Serviço de Consulta Status do Serviço
    • sempre deverá estar disponível na SVC.
      • O Serviço de Consulta ao Status da SVC poderá retornar os seguintes códigos de situação:
        • 107 - Serviço SVC em Operação;
        • 113 - SVC em processo de desativação. SVC será desabilitada para a SEFAZ-XX em dd/mm/aa às hh:mm horas;
        • 114 – SVC desabilitada pela SEFAZ de Origem.
Para usar os novos ambiente basta usar o comando abaixo no ACBrNFeMonitor antes dos comandos normais(Enviar, Cancelar, Consultar, etc) ou na Interface do ACBrNFeMonitor, selecionar na aba WebService a Forma de Emissão desejada.

NFe.SetFormaEmissao(nForma)

Onde nForma pode ter os seguintes valores:
  • 1=Emissão normal (não em contingência);
  • 2=Contingência FS-IA, com impressão do DANFE em formulário de segurança;
  • 3=Contingência SCAN (Sistema de Contingência do Ambiente Nacional) (*em desativação*);
  • 4=Contingência DPEC (Declaração Prévia da Emissão em Contingência);
  • 5=Contingência FS-DA, com impressão do DANFE em formulário de segurança;
  • 6=Contingência SVC-AN (SEFAZ Virtual de Contingência do AN);
  • 7=Contingência SVC-RS (SEFAZ Virtual de Contingência do RS);
  • 9=Contingência off-line da NFC-e;
    Nota: Para a NFC-e somente estão disponíveis e são válidas as opções de contingência 5 e 9.
No INI enviado para Criar/Enviar a nota, o seguinte campo deve ser informado com o mesmo valor usado no parâmetro nForma:

[Identificacao]
tpemis=nForma

Lembrando que para este novo modo de contingência não é mais obrigatório a mudança de séria como era feito no SCAN em que era obrigatório usar uma série entre 900-999 e consequentemente ter uma numeração diferente para cada série.

Para evitar o problema de duas notas autorizadas com o mesmo número e em ambientes diferentes a NT 2013.007 traz a seguinte recomendação:

No momento que a empresa detecta a indisponibilidade do ambiente de autorização normal, pode ser que tenha enviado uma NF-e e não tenha obtido o resultado deste pedido de autorização de uso. Neste caso, deve gerar um outro número de NF-e, evitando que seja autorizado o mesmo número e série de NF-e no ambiente da SEFAZ autorizadora e da SVC.

Nota: O ambiente SVC-SP(tpEmis=8) será usado apenas para emissão de CTe.

Qualquer dúvida, acesse o fórum do Projeto ACBr - http://www.projetoacbr.com.br/forum

Fontes: 

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"