Cada venda liquidada, o seu documento fiscal.
Quando o seu sistema marca uma venda como paga, o agente emite o documento que o país exige com o codespar_invoice: NF-e ou NFS-e no Brasil pela NFe.io, CFDI no México pela FacturAPI, Factura na Argentina pela AFIP. Ele lê o estado fiscal do documento e o corrige quando preciso. A NFe.io não tem ambiente de teste: uma chave de teste é recusada, e um projeto live emite uma NF-e real. Validar o documento do comprador antes de emitir e reenviar uma rejeição da SEFAZ são a parte do seu agente.
Uma venda liquidada, um documento fiscal.
Um exemplo com dados de demonstração: uma NF-e emitida pela NFe.io para a venda #883. Num projeto live o documento tem valor fiscal; não há ambiente de teste para ele.
- O documento segue o país: NF-e ou NFS-e, CFDI, Factura
- A configuração fiscal mora na empresa NFe.io para a qual a conexão aponta
- Uma rejeição volta como o erro do provedor: sem reenvio automático nem contingência
Emitir a NF-e da venda #883.
A venda #883 está paga: emitindo a NF-e pela NFe.io para a empresa à qual a conexão aponta.
A conversa é a parte fácil.
Compliance fiscal é onde o carrinho morre: uma NF-e esquecida trava um envio e um CFOP errado faz o documento ser rejeitado. Cada país tem o seu documento e as suas rejeições.
Emitir notas em lote no fim do mês
O agente emite o documento conforme cada venda liquida
Aprender uma API fiscal por país
Uma meta-tool: NF-e ou NFS-e, CFDI, Factura, por provedor
Corrigir um documento no portal do provedor
action=amend emite uma carta de correção, ou cancela e reemite
Perguntar ao portal se um documento foi autorizado
action=status lê o estado fiscal do documento
Uma meta-tool, um provedor por país.
O codespar_invoice roteia para o provedor fiscal que o projeto conectou: NFe.io para NF-e e NFS-e no Brasil, FacturAPI para CFDI no México, AFIP para Factura na Argentina. A NFe.io não tem ambiente de teste: num projeto live o documento é real, e uma chave de teste é recusada. Validar o documento do comprador antes de emitir e reenviar uma rejeição da SEFAZ são a parte do seu agente.
O seu sistema marca a venda como paga
codespar_invoiceNF-e · NFS-e · CFDI · Factura
Provedor conectadocodespar_invoiceO estado fiscal
Provedorcodespar_invoiceCorreção, ou cancela e reemite
ProvedorNo seu arquivo
O seu sistema avisa o agente quando uma venda liquida. O codespar_invoice roteia a emissão para o provedor que o projeto conectou: a NFe.io (NF-e, NFS-e) emite para a empresa à qual a conexão aponta; a FacturAPI emite CFDI; a AFIP emite Factura. A action=status lê o estado do documento e a action=amend o corrige no lugar, ou o cancela e reemite. Rejeições voltam como o erro do provedor; não há reenvio automático nem contingência.
O código, e o que ele pressupõe.
// Prerequisites: CODESPAR_API_KEY set to a LIVE key (csk_live_…) and an NFe.io // connection whose company holds the fiscal setup. NFe.io has no test // environment: a test key is refused, and a live key issues a real NF-e. import { CodeSpar } from "@codespar/sdk"; const session = await new CodeSpar().create("user_0000", { preset: "brazilian" }); // the agent fills codespar_invoice from the sale const run = await session.send("Issue the NF-e for sale #883: 1 t-shirt, R$ 240.00, to CNPJ 12.345.678/0001-90."); const issued = run.tool_calls.find((c) => c.tool_name === "codespar_invoice"); console.log(issued?.status, issued?.output); // later: read the document's fiscal state by its id const state = await session.execute("codespar_invoice", { action: "status", type: "nfe", invoice_id: "<id from the issue>" }); console.log(state.data);
Exemplo com o SDK publicado (@codespar/sdk 0.16.11). Os pré-requisitos estão nos comentários. Compilar não prova a integração: rode primeiro em modo de teste.
codespar_invoiceEmite, consulta e corrige o documento fiscal pelo provedor que o projeto conectou.
Comece com uma chave de teste.
Chaves de teste são gratuitas. Abra o sandbox, conecte os provedores que o seu projeto usa e veja quais ferramentas ele pode chamar antes de construir.