Substituir nota
POST
/nfse/{nfse_id}/substituirEmite uma nota que substitui uma autorizada. Responde com a **substituta** (202, processando). Quando a SEFIN a autoriza, ela mesma cancela a original (evento 105102): a original fica cancelada, com substituicao.substituida_por_id; chegam os webhooks nfse.autorizada (substituta) e nfse.substituida (original). O prazo é do município, exceto nos motivos do Simples Nacional. Hoje só no Emissor Nacional.
Parâmetros de caminho
nfse_idobrigatóriouuidId da nota.
Corpo da requisição
motivoobrigatóriostringsimples_desenquadramento (01), simples_enquadramento (02), imunidade_isencao_inclusao (03), imunidade_isencao_exclusao (04), rejeicao_tomador (05) ou outros (99).
data_competenciadateQuando o serviço foi prestado. Padrão: hoje (Brasília).
emails_adicionaisemail[]Recebem a nota além dos e-mails do tomador (com enviar_email_tomador). Até 10.
empresa_iduuidIgnorado: a substituta é sempre da empresa da original.
enviar_email_tomadorbooleanQuando autorizada, envia o PDF e o XML ao e-mail do tomador. Padrão: false.
id_externostringId do pedido no seu sistema. Repetir o mesmo id_externo na mesma empresa devolve a nota já criada.
justificativastringObrigatória com motivo outros (15 a 255 caracteres).
metadataobjectAté 20 pares chave/valor seus.
retencoesobjectTributos federais retidos pelo tomador, em reais. Vão na DPS (grupo tribFed) e no RPS da prefeitura (ValorIr, ValorPis, ValorCofins, ValorCsll, ValorInss).
retencoes.cofinsdecimalCOFINS retido, em reais. Padrão: 0.
retencoes.cslldecimalCSLL retida, em reais. Padrão: 0.
retencoes.inssdecimalContribuição previdenciária retida (vRetCP). Padrão: 0.
retencoes.irdecimalIR retido, em reais. Padrão: 0.
retencoes.pisdecimalPIS retido, em reais. Padrão: 0.
servicoobjectO serviço da nota. Com servico_id, os códigos, a alíquota, o ISS retido, a descrição e o valor vêm do catálogo; o que vier aqui tem prioridade.
servico.aliquota_issdecimalPercentual (2.5 = 2,5%). Vazio no Emissor Nacional: a SEFIN usa a alíquota do município.
servico.c_nbsstringCódigo NBS (9 dígitos).
servico.c_trib_munstringCódigo de tributação municipal (3 dígitos), onde a prefeitura exige.
servico.c_trib_nacstringLC 116 + desdobramento (6 dígitos).
servico.cnaestringCNAE (7 dígitos).
servico.codigo_municipio_prestacaostringCódigo IBGE; padrão: o município da empresa.
servico.deducaoobjectDedução/redução da base de cálculo do ISSQN.
servico.desconto_condicionadodecimalNão altera o ISS; reduz o líquido.
servico.desconto_incondicionadodecimalReduz a base de cálculo do ISS.
servico.discriminacaostringDescrição que aparece na nota.
servico.exportacaoobjectExportação de serviço para tomador estrangeiro (EX).
servico.ibs_cbsobjectIBS/CBS (Reforma Tributária). Opcional em 2026; padrão: o do serviço do catálogo.
servico.informacoes_complementaresstringVai na nota (infoCompl) e no DANFSe.
servico.iss_retidobooleanSe o ISS é retido pelo tomador.
servico.servico_iduuidServiço do catálogo (POST /v1/servicos).
servico.valordecimalValor do serviço, em reais.
servico_iduuidAtalho para servico.servico_id.
tomadorobjectQuem recebe a nota. PF = CPF, PJ = CNPJ, EX = estrangeiro (NIF ou passaporte).
tomador.documentoobrigatóriostringCPF, CNPJ ou NIF. Tomador EX com motivo_sem_nif pode mandar vazio.
tomador.emailemailRecebe a nota (vai na DPS e no e-mail ao tomador).
tomador.emails_copiaemail[]Cópias do e-mail da nota. Até 5.
tomador.enderecoobjectEndereço com código IBGE do município.
tomador.endereco_exteriorobjectObrigatório para tomador EX (estrangeiro).
tomador.inscricao_municipalstringInscrição municipal.
tomador.motivo_sem_nifstringTomador EX sem NIF: por que não há (o documento é ignorado). dispensado, nao_exigido.
tomador.nomeobrigatóriostringNome ou razão social.
tomador.telefonestringTelefone.
tomador.tipostringSe não vier, sai do tamanho do documento (11 = PF, 14 = PJ). PF, PJ, EX.
tomador_iduuidTomador do catálogo (POST /v1/tomadores), no lugar de tomador.
Retorno
202 Accepted
Autenticação
Bearer sk_test_ / sk_live_
curl -X POST https://api.seelo.com.br/v1/nfse/c1f4a9d2-7b3e-4c55-8e21-0a6d9f3b5e77/substituir \
-H "Authorization: Bearer sk_test_••••" \
-H "Content-Type: application/json" \
-d '{
"id_externo": "pedido-98765",
"data_competencia": "2026-11-01",
"tomador": {
"tipo": "PJ",
"documento": "12345678000199",
"nome": "Cliente Exemplo LTDA",
"email": "financeiro@cliente.com.br",
"endereco": {
"logradouro": "Rua das Trincheiras",
"numero": "100",
"bairro": "Centro",
"codigo_ibge": "2507507",
"uf": "PB",
"cep": "58000000"
}
},
"servico": {
"discriminacao": "Mensalidade do sistema - novembro/2026",
"valor": 1500,
"iss_retido": false,
"c_trib_nac": "010101"
},
"retencoes": {
"ir": 0,
"pis": 0,
"cofins": 0,
"csll": 0,
"inss": 0
},
"enviar_email_tomador": true,
"emails_adicionais": [
"contabil@cliente.com.br"
],
"motivo": "outros"
}'202
{ "id": "c1f4a9d2-7b3e-4c55-8e21-0a6d9f3b5e77", "objeto": "nfse", "empresa_id": "8b0d6f0e-2c1a-4f4e-9a57-3f1e2d9c4a10", "id_externo": "pedido-98765", "status": "autorizada", "ambiente": "producao", "emissor": "nacional", "numero": "1234", "serie": "900", "numero_dps": 1234, "codigo_verificacao": "A1B2C3D4", "chave_acesso": "25075072246399735000130000000000123426110123456789", "data_competencia": "2026-11-01", "data_emissao": "2026-11-01T14:00:12-03:00", "email": { "status": "enviado", "destinatarios": [ "financeiro@cliente.com.br" ], "enviado_em": "2026-11-01T14:00:00-03:00", "erro": null }, "tomador": { "tipo": "PJ", "documento": "12345678000199", "nome": "Cliente Exemplo LTDA", "email": "financeiro@cliente.com.br", "emails_copia": [], "endereco": { "logradouro": "Rua das Trincheiras", "numero": "100", "complemento": null, "bairro": "Centro", "codigo_ibge": "2507507", "uf": "PB", "cep": "58000000" }, "endereco_exterior": { "logradouro": "Rua das Trincheiras", "numero": "100", "complemento": null, "bairro": "Centro", "cidade": "New York", "codigo_postal": "10001", "estado_provincia": "NY", "pais": "US" }, "inscricao_municipal": "179827", "motivo_sem_nif": null, "telefone": "83999990000" }, "tomador_id": "5e2a7c41-9d08-4b6f-a3c2-71e4f0b8d913", "servico": { "servico_id": "a7d3e9f1-4c62-4e8b-b5a0-2f9c1d6e8b34", "discriminacao": "Mensalidade do sistema - novembro/2026", "valor": "1500.00", "iss_retido": false, "aliquota_iss": null, "c_nbs": "115021000", "c_trib_mun": null, "c_trib_nac": "010501", "cnae": null, "codigo_municipio_prestacao": "2507507", "deducao": { "valor": "1500.00", "percentual": null }, "desconto_condicionado": null, "desconto_incondicionado": null, "exportacao": { "compartilhar_mdic": false, "mecanismo_prestador": "01", "mecanismo_tomador": "01", "modo_prestacao": "desconhecido", "moeda": "220", "movimentacao_bens": "desconhecido", "valor_moeda": "…", "vinculo": "sem_vinculo" }, "ibs_cbs": { "c_class_trib": "000001", "c_ind_op": null, "cst": "000", "destinatario_e_tomador": true, "uso_consumo_pessoal": null }, "informacoes_complementares": null }, "retencoes": { "ir": "0", "pis": "0", "cofins": "0", "csll": "0", "inss": "0" }, "valores": { "servico": "1500.00", "iss_retido": "0.00", "retencoes": "0.00", "base_calculo": null, "deducao": "0.00", "descontos": "0.00", "ibs_cbs": { "base": null, "cbs": null, "ibs": null, "ibs_municipio": null, "ibs_uf": null, "total_nota": null }, "iss": null, "liquido": "1500.00" }, "enviar_email_tomador": true, "alertas": [], "autenticidade": { "codigo_verificacao": "A1B2C3D4", "chave_acesso": "25075072246399735000130000000000123426110123456789", "como_verificar": "…", "url_consulta": null }, "cancelamento": null, "criado_em": "2026-11-01T14:00:00-03:00", "erros": [], "lote_id": null, "mensagem": null, "metadata": { "pedido": "98765" }, "origem": "worker", "pdf_url": "/v1/nfse/c1f4a9d2-7b3e-4c55-8e21-0a6d9f3b5e77/pdf", "substituicao": { "justificativa": "Valor digitado incorretamente", "motivo": "erro_emissao", "substitui_id": null, "substituida_em": null, "substituida_por_id": null }, "tem_pdf": true, "tem_xml": true, "xml_url": "/v1/nfse/c1f4a9d2-7b3e-4c55-8e21-0a6d9f3b5e77/xml" }