Skip to main content
Todos os casos de uso
Compliance fiscalSaaS

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.

AntesLote no fim do mês → correr atrás das rejeições
DepoisEmitido conforme cada venda liquida
NF-e · CFDI · Factura
emitido por venda com o codespar_invoice
Teste no Sandbox
NF-e · NFS-e
Brasil
Pela NFe.io, só em projetos live: uma chave de teste é recusada
CFDI
México
Pela FacturAPI
Factura
Argentina
Pela AFIP
status · amend
Depois de emitir
action=status lê o estado fiscal; action=amend corrige, ou cancela e reemite
Exemplo ilustrativo · dados de demonstração

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.

NF-e · Nota Fiscal Eletrônica · exemplo
Nº 00421 · série 1
Autorizada · exemplo
EmitenteLoja Aurora LTDA
DestinatárioCNPJ 12.345.678/0001-90
NaturezaVenda · CFOP 5102
TotalR$ 240,00
Protocolo SEFAZ135240000842193
nfe-00421.xml
✓ autorizada · exemplonfe_00421
A dor

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

Como o agente faz isso

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.

01
Liquidar
Seu sistema

O seu sistema marca a venda como paga

02
Emitir
codespar_invoice

NF-e · NFS-e · CFDI · Factura

Provedor conectado
03
Status
codespar_invoice

O estado fiscal

Provedor
04
Corrigir
codespar_invoice

Correção, ou cancela e reemite

Provedor
05
Arquivar
Seu sistema

No seu arquivo

Arquitetura

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.

Em código

O código, e o que ele pressupõe.

fiscal-autopilot.ts
// 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.

Ferramentas em destaque
codespar_invoice

Emite, consulta e corrige o documento fiscal pelo provedor que o projeto conectou.

Ver a referência das meta-tools

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.

Piloto automático fiscal — CodeSpar | CodeSpar