Fale conosco no WhatsApp

DLL de NF-e para
Visual FoxPro, Delphi, VB6 e Clipper

Emita NF-e e NFC-e do seu sistema por DLL, EXE ou arquivo TXT
sem reescrever tudo para uma API REST. A mesma API fiscal, do jeito que o seu código já fala.

✓ Pronto p/ Reforma IBS/CBSVisual FoxProDelphiVB6ClipperVBAC# / PHP
Integração NF-e por DLL / TXT

Do FoxPro e do Clipper ao C#, sem trocar de fornecedor

DLL (.Net / COM), EXE ou troca de arquivo TXT

Escolha o formato que o seu sistema já usa — sem depender de HTTP/REST.

Formato TXT / INI padrão ACBr

Se você já monta o TXT do ACBr, a integração é praticamente imediata.

Assinatura e SEFAZ na nuvem

Certificado A1 e transmissão ficam no servidor — seu sistema só envia e recebe.

Migre no seu tempo

Comece pela DLL/TXT hoje e evolua para o WebService (SOAP) quando quiser — mesma API.

REFORMA TRIBUTÁRIA

Seu sistema também fica pronto para o IBS e o CBS

A adequação à Reforma acontece no servidor da API NeXT. Mesmo um sistema em Clipper ou Delphi continua emitindo dentro das novas regras — sem reescrever a lógica fiscal.

IBS / CBSAtualização na nuvemSem reescrever o seu sistema

Três formas de integrar, a mesma API

Escolha pela linguagem do seu sistema, não pelo que o fornecedor impõe

1DLL COM — Visual FoxPro, VB6, Delphi, VBA (Access/Excel), PowerBuilder, ASP clássico 2DLL .NET — C#, VB.NET, ASP.NET 3Executável CLI — Clipper, Harbour, Cobol, Magic, Progress, Dataflex e qualquer outra, via arquivo INI 4WebService SOAP — PHP, Java, Python, Node.js, qualquer linguagem com HTTP

As quatro chamam o mesmo servidor, com as mesmas credenciais e o mesmo layout de envio. Começar pela DLL hoje e migrar para SOAP depois não custa contrato novo nem reintegração — e você pode usar as duas ao mesmo tempo, em partes diferentes do sistema.

Se a sua linguagem instancia objetos COM — caso do Visual FoxPro (CREATEOBJECT), do VB6, do Delphi, do VBA de Access e Excel e do PowerBuilder — você chama a DLL direto, sem camada nenhuma no meio. Para Clipper, Harbour, Cobol, Magic e outros que não carregam DLL nem falam HTTP, o caminho é o executável: seu sistema grava um INI, chama o EXE, lê o INI de retorno. Sem runtime, sem dependência.

A mesma NF-e, em cinco linguagens

Repare que muda a sintaxe, não a lógica

Visual Basic 6 — DLL COM
Dim objNFe As New ApiNeXT.clsNFe
Dim blnOk  As Boolean

blnOk = objNFe.EnviarNFeTXTObj2( _
            "11222333000181", "99888777000100", _
            strToken, "SP", 2, 1, bytArquivoIni, "", _
            "cliente@exemplo.com.br", "", 1, _
            lngStatus, strDhRecbto, strProt, strRec, _
            strChave, strDigVal, strMotivo, strMsg, _
            bytXMLGerado, bytXMLRet, _
            bytXMLAutorizado, bytPDF)

If blnOk Then
    MsgBox "Autorizada: " & strChave
Else
    MsgBox "Erro: " & strMsg
End If
Delphi — COM late binding
var
  objNFe : OleVariant;
  blnOk  : Boolean;
begin
  objNFe := CreateOleObject('ApiNeXT.clsNFe');

  blnOk := objNFe.EnviarNFeTXTObj2(
             '11222333000181', '99888777000100',
             strToken, 'SP', 2, 1, bytArquivoIni, '',
             'cliente@exemplo.com.br', '', 1,
             lngStatus, strDhRecbto, strProt, strRec,
             strChave, strDigVal, strMotivo, strMsg,
             bytXMLGerado, bytXMLRet,
             bytXMLAutorizado, bytPDF);

  if blnOk then
    ShowMessage('Autorizada: ' + strChave)
  else
    ShowMessage('Erro: ' + strMsg);
end;
Visual FoxPro — DLL COM
LOCAL loNFe, llOk
LOCAL lnStatus, lcDhRecbto, lcProt, lcRec
LOCAL lcChave, lcDigVal, lcMotivo, lcMsg

loNFe = CREATEOBJECT("ApiNeXT.clsNFe")

llOk = loNFe.EnviarNFeTXTObj2( ;
           "11222333000181", "99888777000100", ;
           lcToken, "SP", 2, 1, laArquivoIni, "", ;
           "cliente@exemplo.com.br", "", 1, ;
           @lnStatus, @lcDhRecbto, @lcProt, @lcRec, ;
           @lcChave, @lcDigVal, @lcMotivo, @lcMsg, ;
           @laXMLGerado, @laXMLRet, ;
           @laXMLAutorizado, @laPDF)

IF llOk
    MESSAGEBOX("Autorizada: " + lcChave)
ELSE
    MESSAGEBOX("Erro: " + lcMsg)
ENDIF
VBA — Access e Excel
Dim objNFe As Object
Dim blnOk  As Boolean

Set objNFe = CreateObject("ApiNeXT.clsNFe")

blnOk = objNFe.EnviarNFeTXTObj2( _
            "11222333000181", "99888777000100", _
            strToken, "SP", 2, 1, bytArquivoIni, "", _
            "cliente@exemplo.com.br", "", 1, _
            lngStatus, strDhRecbto, strProt, strRec, _
            strChave, strDigVal, strMotivo, strMsg, _
            bytXMLGerado, bytXMLRet, _
            bytXMLAutorizado, bytPDF)

If blnOk Then MsgBox "Autorizada: " & strChave

No Visual FoxPro os parâmetros de saída vão com @ na frente, que é como o VFP passa por referência — fora isso, é a mesma chamada do VB6. O ProgID da DLL é ApiNeXT.clsNFe e basta registrá-la uma vez com regsvr32.

Linha de comando — Clipper e legados
REM 1) seu sistema grava o INI da nota
REM 2) chama o executavel
ApiNeXTCli.Vb6.exe ^
    /funcao:nfe /metodo:EnviarNFeTXTObj ^
    /cnpjsw:11222333000181 ^
    /cnpj:99888777000100 ^
    /token:SEU_TOKEN /amb:2 ^
    /uf:SP /lote:1 ^
    /pathtxt:C:\api\nfe.ini ^
    /tpdanfe:1 ^
    /path:C:\api\saida ^
    /retorno:C:\api\ret.ini

REM 3) le o retorno
REM    ret.ini -> Sucesso=True
REM               ChNFeRet=3525...
REM               PathPDF=C:\api\saida\...pdf
C# / .NET
var _nfe = new ApiNeXT.Net.clsNFe();

bool _ok = _nfe.EnviarNFeTXTObj2(
    "11222333000181", "99888777000100",
    _token, "SP", 2, 1L, _arquivoIni, "",
    "cliente@exemplo.com.br", "", 1,
    out int _status, out string _dhRecbto,
    out string _protocolo, out string _recibo,
    out string _chave, out string _digVal,
    out string _motivo, out string _msg,
    out byte[] _xmlGerado, out byte[] _xmlRet,
    out byte[] _xmlAutorizado, out byte[] _pdf);

Console.WriteLine(_ok
    ? "Autorizada: " + _chave
    : "Erro: " + _msg);

O arquivo de envio é um INI no padrão ACBr — se você já monta esse arquivo hoje, a integração é quase imediata. O layout completo está documentado, e a seção de integração traz os parâmetros do executável.

Por que usar a DLL de NF-e da API NeXT?

Fala a língua do seu sistema

DLL COM, executável ou troca de arquivo — sem exigir HTTP/REST do seu código.

Complexidade fica no servidor

Assinatura, SEFAZ, contingência e DANFe processados na nuvem.

Sem taxa por documento

Planos por faixa de volume — sem cobrança por nota avulsa.

Perguntas frequentes

Quanto custa?
A DLL, o executável e o WebService fazem parte do mesmo plano — não são produtos separados. NF-e e NFC-e a partir de R$ 89/mês para até 5.000 documentos, com CNPJs ilimitados. Veja os planos e preços.
Preciso registrar a DLL na máquina do cliente?
A DLL COM sim, com regsvr32 — e o instalador faz isso. Se registrar DLL for um problema no seu parque (usuário sem permissão, terminal server), use o executável: ele não precisa de registro, basta copiar a pasta.
Funciona em Windows antigo?
Sim — é um dos motivos de existir o executável em VB6, que roda sem .NET Framework instalado. A versão .NET do executável exige .NET Framework 4.8, que nem sempre está presente em máquinas antigas.
Funciona em Visual FoxPro?
Sim, e pelo caminho mais direto: o VFP instancia objetos COM nativamente, então você usa a DLL COM com CREATEOBJECT("ApiNeXT.clsNFe") e chama os métodos como qualquer objeto do FoxPro — os parâmetros de saída vão com @, que é a passagem por referência do VFP. Basta registrar a DLL uma vez com regsvr32 na máquina. Veja o exemplo em VFP. Se preferir não registrar componente, o executável de linha de comando também atende.
E VBA, PowerBuilder, Harbour, Progress ou Magic?
Todos atendidos. Quem instancia COM — VBA de Access e Excel, PowerBuilder, ASP clássico — usa a DLL direto, igual ao FoxPro. Quem não instancia — Harbour, Clipper, Progress, Magic, Dataflex, Cobol — usa o executável com arquivo INI. E quem fala HTTP usa o WebService SOAP. São quatro portas para a mesma API, e você escolhe pela linguagem que já tem.
E se meu sistema não carrega DLL nem fala HTTP?
É exatamente o caso do executável. Seu sistema grava um arquivo INI com os dados da nota, chama o EXE por linha de comando e lê o INI de retorno com o resultado, a chave e o caminho do PDF. Qualquer linguagem que escreva arquivo e dispare um processo consegue integrar — Clipper, Cobol, Magic, Visual FoxPro. Veja o exemplo.
Posso usar DLL num módulo e WebService noutro?
Pode, ao mesmo tempo e com as mesmas credenciais. É comum o PDV usar a DLL (mais rápido, local) e o módulo web usar SOAP. Não há contrato nem cobrança separada por forma de integração.
Preciso mexer no código quando a legislação muda?
Na maioria das vezes não. A assinatura, a validação de schema e a comunicação com a SEFAZ ficam no servidor da API — mudança de layout ou de regra fiscal é atualizada lá. Você só mexe no seu código se surgir um campo novo que o seu sistema precise preencher.
Dá para migrar aos poucos do meu emissor atual?
Sim, e é o caminho recomendado. Comece por um CNPJ ou um módulo em homologação (p_Ambiente = 2), valide o fluxo, e só então vire a chave. Há também um ambiente de simulação (p_Ambiente = 3) que devolve respostas sem tocar na SEFAZ.
Serve só para NF-e?
Não. A mesma DLL e o mesmo executável atendem NF-e e NFC-e, NFS-e, MD-e, MDF-e, GNRe, boleto e Pix — são 126 métodos no total, todos na documentação.

Precisa emitir NF-e a partir do seu sistema?

DLL, executável e WebService no mesmo plano, a partir de R$ 89/mês.

Fale com um Especialista