Pular para o conteúdo principal

Emissão em lote por CSV

Use o lote quando várias notas já estiverem organizadas em planilha; use a emissão avulsa para preencher e revisar uma nota na tela. Para cobranças repetidas em calendário, prefira a emissão recorrente.

Tela de emissão em lote

Prepare o arquivo CSV

  1. Em 1. Baixe o modelo, clique em Baixar modelo CSV e mantenha uma nota por linha.

  2. Salve o arquivo em UTF-8 ou Windows-1252. A leitura aceita ponto e vírgula, vírgula ou tabulação como separador e números como 1.500,00 ou 1500.00.

  3. Limite o arquivo a 2 MB e a 50 notas na tela. Na API v1, até 5 linhas podem ser processadas de modo síncrono; acima disso, o envio deve ser assíncrono, que coloca as linhas válidas na fila e aceita até 500 itens.

  4. Preencha as colunas conforme o dicionário completo:

Nome exato da colunaObrigatória?O que preencherExemplo curto
empresaIdNãoID da emissora; necessário se houver mais de uma ativa7
perfilTributarioIdNãoID inteiro positivo de um perfil ativo da mesma emissora21
clienteIdNãoID de cliente salvo45
tomadorTipoSimCNPJ, CPF ou ESTRANGEIROCNPJ
tomadorDocSimDocumento do tomador12345678000190
tomadorNomeSimNome ou razão socialCliente Exemplo
tomadorEmailSimE-mail fiscalfiscal@exemplo.com
tomadorTelefoneNãoTelefone do tomador11999999999
tomadorCepNãoCEP sem formatação01310100
tomadorLogradouroNãoLogradouroAv. Paulista
tomadorNumeroNãoNúmero1000
tomadorComplementoNãoComplementoSala 10
tomadorBairroNãoBairroBela Vista
tomadorMunIBGENãoCódigo IBGE do município3550308
tomadorCidadeNãoCidade, especialmente no endereço estrangeiroLisboa
tomadorUFNãoSigla da UFSP
tomadorNIFNãoNIF estrangeiroPT123456789
tomadorCNaoNIFNãoMotivo de ausência do NIF: 0, 1 ou 20
tomadorPaisISONãoPaís ISO com duas letras; obrigatório para estrangeiroPT
tomadorCodPostalExtNãoCódigo postal estrangeiro1000-001
tomadorEstProvRegiaoNãoEstado, província ou regiãoLisboa
descricaoServicoSimDescrição da prestaçãoConsultoria mensal
codigoTribNacSimCódigo de tributação nacional010101
codigoTribMunSimCódigo de serviço municipal0101
locPrestacaoIBGENãoCódigo IBGE do local da prestação3550308
dataCompetenciaSimCompetência em AAAA-MM2026-08
observacoesNãoObservações da DPSContrato 10
valorServicoSimValor maior que zero1500,00
valorDescontoNãoDesconto incondicionado, zero ou positivo100,00
valorDescontoCondicionadoNãoDesconto condicionado, zero ou positivo50,00
deducaoBaseISSNãoDedução da base, zero ou positiva200,00
aliquotaISSQNNãoPercentual do ISS, zero ou positivo5,00
tpRetISSQNNão1, 2 ou 3, conforme a opção fiscal aplicável1
intermediarioPresenteNãotrue/false, 1/0 ou sim/nãofalse
intermediarioTipoNãoCNPJ, CPF ou ESTRANGEIRO; exigido se presenteCNPJ
intermediarioDocNãoDocumento; exigido se presente11222333000144
intermediarioNomeNãoNome; exigido se presenteIntermediadora Ltda
intermediarioEmailNãoE-mail do intermediáriocontato@inter.com
intermediarioCepNãoCEP sem formatação20040002
intermediarioLogradouroNãoLogradouroRua da Assembleia
intermediarioNumeroNãoNúmero10
intermediarioComplementoNãoComplemento5º andar
intermediarioBairroNãoBairroCentro
intermediarioMunIBGENãoCódigo IBGE do município3304557
intermediarioCidadeNãoCidade estrangeiraMadrid
intermediarioUFNãoSigla da UFRJ
intermediarioNIFNãoNIF estrangeiroES12345678
intermediarioCNaoNIFNãoMotivo de ausência do NIF: 0, 1 ou 20
intermediarioPaisISONãoPaís ISO com duas letras; obrigatório para estrangeiroES
intermediarioCodPostalExtNãoCódigo postal estrangeiro28001
intermediarioEstProvRegiaoNãoEstado, província ou regiãoMadrid
nomeCobrancaNãoNome da cobrança ou serviço usado no e-mailMensalidade agosto
emailParaSimUm ou mais destinatários separados por vírgulafinanceiro@exemplo.com
emailCopiaNãoDestinatários em cópia, separados por vírgulagestor@exemplo.com
emailAssuntoNãoAssunto personalizadoNFS-e de agosto
emailCorpoNãoCorpo do e-mailSegue a NFS-e.
emailUsaVariaveisNãoSe o corpo resolve variáveis: true ou falsetrue
gerarBoletoNãoSe deve gerar boleto: true ou falsefalse
boletoDiasVencimentoNãoInteiro entre 1 e 18010
boletoPercentualMultaNãoPercentual entre 0 e 1002,00
boletoPercentualJurosNãoPercentual entre 0 e 1001,00

Confirme códigos, alíquota, retenção, dedução e demais parâmetros fiscais com o contador antes de enviar o lote.

Confira uma linha completa

O cabeçalho precisa conter todas as colunas obrigatórias; as opcionais podem permanecer vazias. Este exemplo usa o cabeçalho completo do modelo e uma linha:

empresaId;perfilTributarioId;clienteId;tomadorTipo;tomadorDoc;tomadorNome;tomadorEmail;tomadorTelefone;tomadorCep;tomadorLogradouro;tomadorNumero;tomadorComplemento;tomadorBairro;tomadorMunIBGE;tomadorCidade;tomadorUF;tomadorNIF;tomadorCNaoNIF;tomadorPaisISO;tomadorCodPostalExt;tomadorEstProvRegiao;descricaoServico;codigoTribNac;codigoTribMun;locPrestacaoIBGE;dataCompetencia;observacoes;valorServico;valorDesconto;valorDescontoCondicionado;deducaoBaseISS;aliquotaISSQN;tpRetISSQN;intermediarioPresente;intermediarioTipo;intermediarioDoc;intermediarioNome;intermediarioEmail;intermediarioCep;intermediarioLogradouro;intermediarioNumero;intermediarioComplemento;intermediarioBairro;intermediarioMunIBGE;intermediarioCidade;intermediarioUF;intermediarioNIF;intermediarioCNaoNIF;intermediarioPaisISO;intermediarioCodPostalExt;intermediarioEstProvRegiao;nomeCobranca;emailPara;emailCopia;emailAssunto;emailCorpo;emailUsaVariaveis;gerarBoleto;boletoDiasVencimento;boletoPercentualMulta;boletoPercentualJuros
7;21;45;CNPJ;12345678000190;Cliente Exemplo;fiscal@exemplo.com;11999999999;01310100;Av. Paulista;1000;Sala 10;Bela Vista;3550308;São Paulo;SP;;0;;; ;Consultoria mensal;010101;0101;3550308;2026-08;Contrato 10;1500,00;100,00;50,00;0;5,00;1;false;;;;;;;;;;;;;;;;;;Mensalidade agosto;financeiro@exemplo.com;gestor@exemplo.com;NFS-e de agosto;Segue a NFS-e.;true;false;;;

Selecione e envie o arquivo

  1. Em 2. Envie o arquivo, escolha o arquivo em Arquivo CSV. Como alternativa, cole todo o conteúdo em Ou cole o CSV.

  2. Clique em Emitir lote. Durante o envio, a tela mostra Enviando lote... e Enviando o lote para a fila....

  3. Em Lote enviado, confira Total, Enfileiradas e Inválidas. Cada item em Linhas que não entraram na fila informa o número da linha e a validação encontrada.

  4. Corrija somente as linhas inválidas, monte um novo CSV com o cabeçalho e essas linhas e envie novamente em Novo lote. O reenvio usa uma nova seleção; a tela não altera o arquivo original.

  5. Use Limpar para remover arquivo, texto e resultado antes de começar de novo.

Na resposta síncrona da API v1, uma rejeição pode trazer o código normalizado em codigo e preservar o retorno da prefeitura em codigoOriginal. A tela envia sempre para a fila; consulte o evento do job para o detalhe de uma falha ocorrida depois da validação inicial.

Informe o Perfil tributário no lote

  1. Cadastre o perfil antes do envio e obtenha seu ID na tela Perfis tributários.

  2. Informe esse número em perfilTributarioId na linha correspondente. O perfil precisa estar ativo, pertencer à conta e à mesma empresa indicada em empresaId.

  3. Os campos não nulos do perfil prevalecem sobre aliquotaISSQN, tpRetISSQN, codigoTribNac, codigoTribMun, locPrestacaoIBGE e deducaoBaseISS enviados na linha.

Acompanhe o resultado

  1. Depois de Lote enviado, clique em Acompanhar na fila.

  2. A Fila mostra o processamento de cada linha válida. Depois do evento de autorização ou rejeição, consulte a nota e seus eventos em Histórico.

Use o mesmo recurso pela API

A API v1 oferece POST /api/v1/nfse/lote em CSV ou JSON, com modo síncrono e assíncrono. Consulte Integrações e API pública para autenticação, limites, idempotência e formato das respostas.

Se algo der errado

  • CSV vazio. indica que o arquivo ou o conteúdo colado não tem dados.

  • CSV sem cabeçalho. indica que não foi possível identificar a primeira linha de colunas.

  • CSV sem colunas obrigatórias lista os nomes que precisam voltar ao cabeçalho.

  • Linha N: campo é obrigatório. identifica uma célula obrigatória vazia; corrija a linha informada e reenvie-a.

  • Para outras mensagens de arquivo, validação ou processamento, consulte Mensagens de erro e o que fazer.