MCP-Server

fiscal

br.com.brasilnfe/fiscal
Business & Betrieb Recht & Compliance Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Issues, queries, downloads, cancels, and manages Brazilian electronic fiscal documents and related taxpayer, product, transport, and tax operations through SEFAZ.

arquivo_baixar
Baixar XML ou PDF do documento
Baixa o arquivo (XML ou PDF/DANFE) de uma NF-e/NFC-e/NFS-e por chave de acesso. Retorna conteúdo em base64.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'Chaves': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'ChaveNF': {'type': ['string', 'null']}, 'FileType': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Tipo do documento fiscal (Padrão 1 - XML) Valores: 1 - XML; 2 - DANFE'}, 'Base64Logo': {'type': ['string', 'null']}, 'TipoDocumentoFiscal': {'enum': [0, 1], 'type': 'integer', 'default': 1, 'description': 'Tipo do documento fiscal (Padrão 1 - Saída) Valores: 0 - Entrada; 1 - Saída'}}, 'additionalProperties': False}
arquivo_baixar_evento
Baixar XML ou PDF de evento
Baixa o arquivo de um evento (CC-e, cancelamento, manifestação, encerramento) por chave de acesso + número sequencial. Retorna conteúdo em base64.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'ChaveNF': {'type': ['string', 'null'], 'description': 'Chave de acesso da Nota Fiscal (44 dígitos) à qual o evento está vinculado.'}, 'NuProtocolo': {'type': ['string', 'null'], 'description': 'Número do protocolo do evento (somente dígitos). Identifica o evento específico (ex.: Carta de Correção, Cancelamento) registrado para a nota fiscal.'}, 'TipoArquivo': {'enum': [1, 2], 'type': 'integer', 'description': 'Tipo do arquivo do evento a ser retornado. Valores: 1 - XML do evento; 2 - PDF da Carta de Correção (CC-e)'}}, 'additionalProperties': False}
arquivo_baixar_periodo
Exportar arquivos do período
Exporta múltiplos arquivos (XML/PDF) de um período em um único ZIP base64. Útil para backup, contabilidade ou auditoria.
Nur Lesen
Eingabeschema
{'type': 'object', 'properties': {'Type': {'enum': [0, 1, 2], 'type': 'integer', 'default': 1, 'description': 'Tipo do documento fiscal (Padrão 1 - XML) Valores: 0 - PDF; 1 - XML; 2 - EXCEL'}, 'DtFim': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'Chaves': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Chaves pagar pegar notas fiscal especificas'}, 'DtInicio': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'TipoNota': {'enum': [1, 2, 3], 'type': 'integer', 'default': 1, 'description': 'Tipo de ambiente (Padrão 1 - Saída) Valores: 1 - Saídas; 2 - Entradas; 3 - Saídas e Entradas'}, 'cpfCnpjs': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'CPFs ou CNPJs dos clientes das notas'}, 'Situacoes': {'type': ['array', 'null'], 'items': {'type': 'integer'}, 'description': 'Filtra por situação. Vazio = todas (comportamento padrão). Combinável.'}, 'incluirCCe': {'type': 'boolean', 'description': 'Incluir carta de correção emitidas no periodo'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Tipo de ambiente (Padrão 1 - Produção) Valores: 1 - Produção; 2 - Homologação'}, 'JuntarArquivosPDF': {'type': 'boolean', 'description': 'Anexar todas as notas fiscais retornadas em um unico arquivo PDF'}, 'aplicarPlanoAjustes': {'type': 'boolean', 'default': True, 'description': 'Aplicar plano de ajustes de impostos'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Quantidade': {'type': 'integer'}, 'Base64FilesCompacted': {'type': ['string', 'null']}}, 'additionalProperties': False}
cadastro_consultar
Consultar Inscrição Estadual (IE) na SEFAZ
Consulta a Inscrição Estadual (IE) de um contribuinte na SEFAZ estadual (mundo NF-e/ICMS), por CNPJ/CPF/IE + UF. ATENÇÃO: muitas UFs NÃO oferecem este serviço (ex: RJ) e prestadores de serviço normalmente NÃO têm IE - nesses casos a IE não vem, e ISSO NÃO SIGNIFICA QUE O CNPJ ESTEJA INATIVO. Quando a SEFAZ não retorna e o documento é CNPJ, há fallback automático na Receita Federal (campo 'fonte'='receita') trazendo razão social, situação cadastral e endereço - sempre leia o campo 'mensagem'. Para apenas saber se um CNPJ está ativo ou pegar seus dados cadastrais (sem precisar da IE), prefira cliente_consultar.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'properties': {'uf': {'type': ['string', 'null'], 'description': 'UF do CPF, CNPJ, IE'}, 'cpfCnpjIe': {'type': ['string', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'ie': {'type': ['string', 'null']}, 'fonte': {'type': ['string', 'null'], 'description': 'Fonte dos dados: "sefaz" (Inscrição Estadual da SEFAZ estadual), "receita" (fallback na Receita Federal quando a UF não oferece a consulta ou o contribuinte não tem IE - comum em prestadores de serviço) ou "indisponivel".'}, 'status': {'enum': [0, 1], 'type': 'integer', 'description': 'Status Consulta Valores: 0 - Não Encontrada;; 1 - Encontrada;'}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'cpfCnpj': {'type': ['string', 'null']}, 'ieAtual': {'type': ['string', 'null']}, 'ieUnica': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'mensagem': {'type': ['string', 'null'], 'description': 'Mensagem explicativa do resultado: por que a IE não veio, qual fonte foi usada, e o aviso de que vazio NÃO significa CNPJ inativo. Fica vazio quando a SEFAZ retornou a Inscrição Estadual normalmente.'}, 'situacao': {'type': 'integer', 'description': 'Situação do contribuinte: 0 - não habilitado; 1 - habilitado.'}, 'razaoSocial': {'type': ['string', 'null']}, 'nomeFantasia': {'type': ['string', 'null']}, 'ufConsultada': {'type': ['string', 'null']}, 'cnaePrincipal': {'type': ['string', 'null']}, 'regimeApuracao': {'type': ['string', 'null']}, 'dataInicioAtividade': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'dataOcorrenciaBaixa': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'indicadorCredenciamentoCTe': {'enum': [0, 1, 2, 3, 4], 'type': 'integer', 'description': 'Indicador de contribuinte credenciado a emitir CT-e. Valores: 0 - Não credenciado para emissão da CT-e;; 1 - Credenciado;; 2 - Credenciado com obrigatoriedade para todas operações;; 3 - Credenciado com obrigatoriedade parcial;; 4 - a SEFAZ não fornece a informação. Este indicador significa apenas que o contribuinte é credenciado para emitir CT-e na SEFAZ consultada.'}, 'indicadorCredenciamentoNFe': {'enum': [0, 1, 2, 3, 4], 'type': 'integer', 'description': 'Indicador de contribuinte credenciado a emitir NF-e. Valores: 0 - Não credenciado para emissão da NF-e;; 1 - Credenciado;; 2 - Credenciado com obrigatoriedade para todas operações;; 3 - Credenciado com obrigatoriedade parcial;; 4 - a SEFAZ não fornece a informação. Este indicador significa apenas que o contribuinte é credenciado para emitir NF-e na SEFAZ consultada.'}, 'dataUltimaAlteracaoCadastral': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}}, 'additionalProperties': False}
cliente_consultar
Consultar cliente/destinatario por CNPJ, CPF, IE ou nome
Pesquisa unificada de cliente/fornecedor. Tenta primeiro o cadastro local da empresa logada e, se nao achar e o termo for um CNPJ valido, consulta a BrasilAPI (Receita Federal) - razao social, endereco, situacao cadastral. E a tool CORRETA pra saber se um CNPJ esta ativo e pegar seus dados (razao social, endereco) - nao confunda com cadastro_consultar, que so traz Inscricao Estadual (IE) da SEFAZ. Use ANTES de pedir CNPJ ao usuario; geralmente o usuario informa nome ou apelido (ex: 'TNT', 'Correios'). Obs: consulta na Receita so funciona por CNPJ - CPF nao tem base publica. Para obter a Inscricao Estadual (operacao com ICMS), use cadastro_consultar. PAGINACAO: Limite default 10 (max 50). Use Offset pra ir alem - o retorno traz TotalGeral. Se TotalGeral > matches retornados, peça mais paginas em vez de inventar/agrupar.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'properties': {'Uf': {'type': ['string', 'null']}, 'Termo': {'type': ['string', 'null']}, 'Fontes': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'Limite': {'type': ['integer', 'null']}, 'Offset': {'type': ['integer', 'null']}, 'TipoBusca': {'type': ['string', 'null']}, 'IncluirInativas': {'type': 'boolean'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'Limite': {'type': 'integer'}, 'Offset': {'type': 'integer'}, 'Matches': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Fonte': {'type': ['string', 'null']}, 'Score': {'type': 'number'}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null']}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': ['integer', 'null']}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'Situacao': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}, 'IdCliente': {'type': ['integer', 'null']}, 'IndicadorIe': {'type': ['integer', 'null']}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'TotalGeral': {'type': 'integer'}, 'TotalLocal': {'type': 'integer'}, 'TipoDetectado': {'type': ['string', 'null']}, 'TermoNormalizado': {'type': ['string', 'null']}, 'ConsultouBrasilApi': {'type': 'boolean'}}, 'additionalProperties': False}
cliente_criar
Cadastrar novo cliente (destinatario/fornecedor/transportadora)
Cadastra um novo Cliente no sistema da empresa logada (CNPJ ou CPF, razao social, endereco, IE). Use depois de cliente_consultar quando o usuario confirmar que quer salvar o cadastro. Se ja existir cliente com mesmo CpfCnpj devolve erro com Id existente - use cliente_editar.
Eingabeschema
{'type': 'object', 'required': ['CpfCnpj', 'Nome'], 'properties': {'Id': {'type': ['integer', 'null']}, 'Ie': {'type': ['string', 'null']}, 'Im': {'type': ['string', 'null']}, 'Nome': {'type': 'string'}, 'Email': {'type': ['string', 'null']}, 'CpfCnpj': {'type': 'string'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null']}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': ['integer', 'null']}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'Telefone': {'type': ['string', 'null']}, 'IndicadorIe': {'type': ['integer', 'null']}, 'ConsumidorFinal': {'type': ['boolean', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Id': {'type': ['integer', 'null']}, 'Ok': {'type': 'boolean'}, 'Erro': {'type': ['string', 'null']}, 'Cliente': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Fonte': {'type': ['string', 'null']}, 'Score': {'type': 'number'}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null']}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': ['integer', 'null']}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'Situacao': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}, 'IdCliente': {'type': ['integer', 'null']}, 'IndicadorIe': {'type': ['integer', 'null']}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
cliente_editar
Editar cliente cadastrado
Atualiza dados de um Cliente existente no cadastro. O campo Id e obrigatorio. ATENCAO: envie o payload COMPLETO - campos omitidos sao zerados, nao preservados. Para edicao parcial, faca cliente_consultar primeiro e mande os dados existentes mais o que muda. Valida ownership por UserCreate (cliente tem que pertencer ao usuario logado) e por empresa (IdEmpresa tem que ser a logada, 0 ou null - se for outra empresa sua, troque antes).
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['CpfCnpj', 'Nome'], 'properties': {'Id': {'type': ['integer', 'null']}, 'Ie': {'type': ['string', 'null']}, 'Im': {'type': ['string', 'null']}, 'Nome': {'type': 'string'}, 'Email': {'type': ['string', 'null']}, 'CpfCnpj': {'type': 'string'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null']}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': ['integer', 'null']}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'Telefone': {'type': ['string', 'null']}, 'IndicadorIe': {'type': ['integer', 'null']}, 'ConsumidorFinal': {'type': ['boolean', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Id': {'type': ['integer', 'null']}, 'Ok': {'type': 'boolean'}, 'Erro': {'type': ['string', 'null']}, 'Cliente': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Fonte': {'type': ['string', 'null']}, 'Score': {'type': 'number'}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null']}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': ['integer', 'null']}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['integer', 'null']}}, 'additionalProperties': False}, 'Situacao': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}, 'IdCliente': {'type': ['integer', 'null']}, 'IndicadorIe': {'type': ['integer', 'null']}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
cte_desacordo
Registrar desacordo de CT-e
Registra desacordo do tomador com um CT-e recebido (evento tipo 4 do CT-e). Prazo: 45 dias da emissão.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'properties': {'Chave': {'type': ['string', 'null']}, 'Observacao': {'type': ['string', 'null']}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Tipo do Documento Fiscal: Valores: 1 - Produção; 2 - Homologação'}, 'NumeroSequencial': {'type': ['integer', 'null'], 'description': 'Número sequencial do evento'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Status': {'enum': [1, 2, 3], 'type': 'integer', 'description': '1 - Evento Processado; 2 - Aguardando processamento do evento; 3 - Ocorreu um erro ao processar o evento'}, 'DsEvento': {'type': ['string', 'null']}, 'DsMotivo': {'type': ['string', 'null']}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'XML do evento processado (procEventoNFe) em Base64. Preenchido apenas quando o evento e autorizado (cStat 135) e o documento e NF-e (modelo 55). Nulo nos demais casos.'}, 'Base64File': {'type': ['string', 'null'], 'description': 'PDF do documento auxiliar do evento (ex.: Carta de Correcao) em Base64. Preenchido apenas quando o evento e autorizado e a nota existe na base. Nulo nos demais casos.'}, 'DsAmbiente': {'type': ['string', 'null']}, 'NuProtocolo': {'type': ['string', 'null']}, 'NumeroSequencial': {'type': 'integer'}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}
cte_emitir
Emitir CT-e
Emite CT-e (Conhecimento de Transporte Eletrônico). Requer serviço CT-e habilitado no cadastro da empresa e certificado digital A1 ou A3 configurado.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['ModeloDocumento', 'TipoAmbiente', 'TipoCte', 'Cfop', 'NaturezaOperacao', 'Modal', 'Carga', 'Servico'], 'properties': {'Cfop': {'type': 'integer', 'description': 'CFOP de 4 dígitos. Primeiro dígito: 1/2/3 = entrada, 5/6/7 = saída.'}, 'Lote': {'type': ['integer', 'null']}, 'Carga': {'type': 'object', 'properties': {'Detalhes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Quantidade': {'type': 'number', 'description': 'Quantidade da Carga (qCarga). Ex: 10000'}, 'TipoMedida': {'type': ['string', 'null'], 'description': 'Tipo de Medida. (tpMed). Ex: "quilos gramas"'}, 'CodUnidadeMedida': {'enum': [0, 1, 2, 3, 4, 5], 'type': 'integer', 'description': 'Código da Unidade de Medida (cUnid) Valores: 0 - Metro Cúbico (M3); 1 - Quilograma (KG); 2 - Tonelada (TON); 3 - Unidade (UNIDADE); 4 - Litros (LITROS); 5 - MMBTU (MMBTU)'}}, 'additionalProperties': False}, 'description': 'Detalhes das quantidades da carga. (infQ)'}, 'Documentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'PIN': {'type': ['string', 'null']}, 'Chave': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Documentos fiscais que acompanham a carga. (infNFe)'}, 'ValorTotal': {'type': 'number', 'description': 'Valor total da carga. (vCarga)'}, 'OutrosDocumentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Valor': {'type': ['number', 'null'], 'description': 'Valor do documento fiscal. (vDocFisc)'}, 'Numero': {'type': ['string', 'null'], 'description': 'Número do documento. (nDoc)'}, 'Descricao': {'type': ['string', 'null'], 'description': 'Descrição do documento. Obrigatória quando TipoDocumento = 99. (descOutros)'}, 'DtEmissao': {'type': ['string', 'null'], 'description': 'Data de emissão do documento. (dEmi)'}, 'DtPrevisao': {'type': ['string', 'null'], 'description': 'Data prevista de entrega. (dPrev)'}, 'TipoDocumento': {'enum': [0, 10, 59, 65, 99], 'type': 'integer', 'description': 'Tipo do documento originário. (tpDoc) Valores: 0 - Declaração; 10 - Dutoviário; 59 - CF-e SAT; 65 - NFC-e; 99 - Outros (exige Descricao)'}}, 'description': 'Outros documentos que acompanham a carga, quando não há NF/NF-e (ex.: mudança, C2C). Mapeia para infDoc/infOutros do CT-e.', 'additionalProperties': False}, 'description': 'Outros documentos que acompanham a carga quando não há NF-e (ex.: declaração de mudança, C2C). (infOutros)'}, 'ProdutoPredominante': {'type': ['string', 'null'], 'description': 'Nome do Produto Predominante. (proPred)'}}, 'description': 'Dados da carga transportada (produto predominante, lista de detalhes, documentos fiscais que acompanham). OBRIGATÓRIO. Para Tipo de serviço 0/1/2/6/7/8 também exige Carga.Documentos com ao menos 1 NF-e referenciada.', 'additionalProperties': False}, 'Modal': {'type': 'object', 'properties': {'Tipo': {'enum': [1, 2, 3, 4, 5, 6], 'type': 'integer', 'default': 1, 'description': 'Modal do CT-e: Valores: 1 - Rodoviário; 2 - Aéreo; 3 - Aquaviário; 4 - Ferroviário; 5 - Dutoviário; 6 - Multimodal'}, 'Rodoviario': {'type': ['object', 'null'], 'properties': {'OCCs': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Serie': {'type': ['string', 'null']}, 'Numero': {'type': 'integer'}, 'Emissor': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null'], 'description': 'Inscrição estadual do emissor'}, 'Uf': {'type': ['string', 'null'], 'description': 'Estado do emissor da OCC'}, 'Cnpj': {'type': ['string', 'null'], 'description': 'CNPJ do emissor da OCC'}, 'Telefone': {'type': ['string', 'null'], 'description': 'Telefone do emissor da OCC'}, 'CodigoInternoOCC': {'type': ['string', 'null'], 'description': 'Código interno da OCC na empresa emissora'}}, 'additionalProperties': False}, 'DtEmissaoColeta': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}}, 'additionalProperties': False}, 'description': 'Lista de coletas realizadas para compor o frete.'}}, 'additionalProperties': False}}, 'description': 'Modal de transporte (rodoviário, aéreo, aquaviário, ferroviário, dutoviário, multimodal). OBRIGATÓRIO. Tipo: 1=Rodoviário, 2=Aéreo, 3=Aquaviário, 4=Ferroviário, 5=Dutoviário, 6=Multimodal.', 'additionalProperties': False}, 'Serie': {'type': ['integer', 'null']}, 'Codigo': {'type': ['integer', 'null']}, 'Numero': {'type': ['integer', 'null']}, 'Retira': {'type': 'boolean'}, 'Imposto': {'type': ['object', 'null'], 'properties': {'ICMS': {'type': ['object', 'null'], 'properties': {'CST': {'type': ['string', 'null'], 'description': 'Código de Situação Tributária (CST) do ICMS. (Ex: 00, 20, 40, 41, 51, 60, 90, etc.) Para empresas do Simples Nacional, é usando o 90 automáticamente.'}, 'Valor': {'type': 'number', 'description': 'Valor do ICMS. (vICMS)'}, 'Aliquota': {'type': 'number', 'description': 'Alíquota do ICMS (em percentual). (pICMS)'}, 'BaseCalculo': {'type': 'number', 'description': 'Base de Cálculo do ICMS. (vBC)'}, 'AliquotaOutraUF': {'type': ['number', 'null'], 'description': 'Alíquota do ICMS devido a Outra UF. (pICMSOutraUF) Usado no CST OutraUF.'}, 'ValorICMSOutraUF': {'type': ['number', 'null'], 'description': 'Valor do ICMS devido a Outra UF. (vICMSOutraUF) Usado no CST OutraUF.'}, 'PercentualReducaoBaseCalculo': {'type': ['number', 'null'], 'description': 'Percentual de Redução da Base de Cálculo. (pRedBC) Usado nos CSTs 20 e 90.'}}, 'description': 'Informações do ICMS', 'additionalProperties': False}, 'Difal': {'type': ['object', 'null'], 'properties': {'ValorFCPUfDestino': {'type': 'number', 'description': 'Valor do Fundo de Combate à Pobreza (FCP) na UF de destino. (vFCPUFFim)'}, 'ValorICMSUfInicio': {'type': 'number', 'description': 'Valor do ICMS devido à UF de origem (Início). (vICMSUFIni)'}, 'ValorICMSUfDestino': {'type': 'number', 'description': 'Valor total do ICMS devido à UF de destino (já com o FCP). (vICMSUFFim)'}, 'BaseCalculoUfDestino': {'type': 'number', 'description': 'Base de Cálculo do ICMS na UF de Destino. (vBCUFFim)'}, 'AliquotaICMSUfDestino': {'type': 'number', 'description': 'Alíquota interna da UF de destino para o ICMS. (pICMSUFFim)'}, 'AliquotaInterestadual': {'type': 'number', 'description': 'Alíquota interestadual das UF envolvidas. (pICMSInter)'}, 'PercentualFCPUfDestino': {'type': 'number', 'description': 'Percentual do Fundo de Combate à Pobreza (FCP) na UF de destino. (pFCPUFFim)'}, 'PercentualPartilhaICMS': {'type': 'number', 'description': 'Percentual de Partilha do ICMS (Ex: 80, 20, 0, etc.). (pICMSInterPart)'}}, 'description': 'Informações sobre o ICMS Partilha (DIFAL/ICMS UF Fim).', 'additionalProperties': False}, 'IBSCBS': {'type': ['object', 'null'], 'properties': {'AliquotaCBS': {'type': ['number', 'null'], 'description': 'Alíquota da CBS (pCBS).'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo do IBS/CBS (vBC). Quando null, usa o valor total da prestação.'}, 'AliquotaIBSUF': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência das UF (pIBSUF).'}, 'AliquotaIBSMun': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência do Município (pIBSMun).'}, 'PercentualReducaoCBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota da CBS (pRedAliq de gRed). Pode divergir de PercentualReducaoIBS.'}, 'PercentualReducaoIBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota do IBS (pRedAliq de gRed), usado nos CST 011/200/515. Quando null, não aplica redução.'}, 'PercentualDiferimento': {'type': ['number', 'null'], 'description': 'Percentual de diferimento (pDif de gDif), usado nos CST 510/515.'}, 'CodClassificacaoTributaria': {'type': ['string', 'null'], 'description': 'Código de Classificação Tributária do IBS/CBS (cClassTrib). O CST é derivado dos 3 primeiros dígitos. Quando vazio, assume "000001".'}}, 'description': 'Informações do IBS/CBS (Reforma Tributária - NT 2025.001). Quando preenchido, gera o grupo imp/IBSCBS no XML do CT-e.', 'additionalProperties': False}, 'TributosFederal': {'type': ['object', 'null'], 'properties': {'ValorIr': {'type': ['number', 'null'], 'description': 'Valor do Imposto de Renda retido. (vIR)'}, 'ValorPis': {'type': ['number', 'null'], 'description': 'Valor do PIS retido. (vPIS)'}, 'ValorCsll': {'type': ['number', 'null'], 'description': 'Valor da CSLL retida. (vCSLL)'}, 'ValorInss': {'type': ['number', 'null'], 'description': 'Valor do INSS retido. (vINSS)'}, 'ValorCofins': {'type': ['number', 'null'], 'description': 'Valor do COFINS retido. (vCOFINS)'}}, 'description': 'Lista de PIS e COFINS (Tributos Federais).', 'additionalProperties': False}, 'ValorTotalTributos': {'type': ['number', 'null'], 'description': 'Valor total dos tributos federais e estaduais, aproximado conforme Lei 12.741/12.'}, 'InformacoesAdicionaisFisco': {'type': ['string', 'null'], 'description': 'Informações Adicionais de Interesse do Fisco.'}}, 'additionalProperties': False}, 'Servico': {'type': 'object', 'properties': {'Tipo': {'enum': [0, 1, 2, 3, 4, 6, 7, 8], 'type': 'integer', 'description': 'Tipo do Serviço: Valores: 0 - Normal; 1 - Subcontratação; 2 - Redespacho; 3 - Redespacho Intermediário; 4 - Serviço Vinculado ao Multimodal; 6 - Transporte de Pessoas; 7 - Transporte de Valores; 8 - Excesso de Bagagem'}, 'Componentes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Nome': {'type': ['string', 'null']}, 'Valor': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Lista de componentes que detalham como o valor total do frete foi formado.'}, 'MunicipioFim': {'type': ['string', 'null'], 'description': 'Nome do município do destino do transporte'}, 'ValorReceber': {'type': 'number', 'description': 'O valor líquido a receber pelo transportador.'}, 'ValorPrestacao': {'type': 'number', 'description': 'O valor total cobrado pela prestação do serviço de transporte.'}, 'CodMunicipioFim': {'type': 'integer', 'description': 'Código IBGE do município do destino o transporte'}, 'MunicipioInicio': {'type': ['string', 'null'], 'description': 'Nome do município do início do transporte'}, 'CodMunicipioInicio': {'type': 'integer', 'description': 'Código IBGE do município do início do transporte'}}, 'description': 'Dados do serviço prestado (Tipo, CodMunicipioInicio, CodMunicipioFim com 7 dígitos cada, MunicipioInicio/MunicipioFim, ValorPrestacao > 0, ValorReceber > 0). OBRIGATÓRIO. Tipo: 0=Normal, 1=Subcontratação, 2=Redespacho, 3=RedespachoIntermediario, 4=ServicoVinculadoMultimodal.', 'additionalProperties': False}, 'TipoCte': {'enum': [0, 1, 2, 3], 'type': 'integer', 'description': 'Tipo do CT-e. Valores: 0 - CT-e Normal (caso mais comum); 1 - CT-e de Complemento de Valores; 2 - CT-e de Anulação; 3 - CT-e Substituto'}, 'Tomador': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'IndicadorIe': {'enum': [1, 2, 9], 'type': 'integer', 'description': 'Indicador de IE: Valores: 1 - Contribuinte do ICMS; 2 - Contribuinte isento de inscrição; 9 - Não contribuinte'}, 'TipoTomador': {'enum': [0, 1, 2, 3, 4], 'type': 'integer', 'description': 'Tipo do participante do CT-e: Valores: 0 - Remetente; 1 - Expedidor; 2 - Recebedor; 3 - Destinatário; 4 - Outros (Informar dados Tomador)'}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'DtEmissao': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'Expedidor': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Remetente': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Observacao': {'type': ['string', 'null']}, 'Destinatario': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Identificação do ambiente da SEFAZ. Valores: 1 - Produção (emissão real, irreversível); 2 - Homologação (teste, sem valor fiscal)'}, 'ModeloDocumento': {'enum': [57, 67], 'type': 'integer', 'default': 57, 'description': 'Modelo do Conhecimento de Transporte Eletrônico. Valores: 57 - CT-e (Conhecimento de Transporte Eletrônico); 67 - CT-e OS (Outros Serviços de transporte)'}, 'NaturezaOperacao': {'type': 'string', 'description': 'Descrição da natureza da operação (ex: "Prestação de serviço de transporte").'}, 'IdentificadorInterno': {'type': ['string', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'chave': {'type': ['string', 'null']}, 'erros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'codigo': {'type': ['string', 'null'], 'description': 'Código do erro/rejeição (quando houver).'}, 'correcao': {'type': ['string', 'null'], 'description': 'Sugestão de correção, quando disponível.'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do erro.'}}, 'additionalProperties': False}, 'description': 'Lista de erros quando a operação falha. Vazia em caso de sucesso. Cada item traz codigo, descricao e correcao.'}, 'serie': {'type': 'integer'}, 'avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em sucesso.'}, 'numero': {'type': 'integer'}, 'status': {'type': 'integer', 'description': 'Status do resultado da operação: 1 = sucesso; 2 = erro (a lista erros é preenchida).'}, 'base64Xml': {'type': ['string', 'null']}, 'base64DACTe': {'type': ['string', 'null']}, 'tipoAmbiente': {'type': ['string', 'null']}}, 'additionalProperties': False}
dce_emitir
Emitir DC-e
Emite DC-e (Declaração de Conteúdo Eletrônica) para transporte de itens não-fiscais por pessoa física ou MEI. Requer serviço DC-e habilitado no cadastro.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['TipoAmbiente', 'Remetente', 'Destinatario', 'Itens', 'DeclaracaoContribuinteICMS', 'DeclaracaoCrimeTributario'], 'properties': {'Lote': {'type': ['integer', 'null']}, 'Itens': {'type': 'array', 'items': {'type': 'object', 'required': ['Descricao', 'ValorTotal'], 'properties': {'NCM': {'type': ['string', 'null'], 'description': 'Código NCM. Quando informado deve ter 2 ou 8 dígitos. Opcional na DC-e.'}, 'Descricao': {'type': 'string', 'description': 'Descrição do produto/conteúdo (1-120 caracteres). Obrigatória.'}, 'Quantidade': {'type': ['number', 'null'], 'description': 'Quantidade do item.'}, 'ValorTotal': {'type': 'number', 'description': 'Valor total do item. Deve ser > 0.'}, 'ValorUnitario': {'type': ['number', 'null'], 'description': 'Valor unitário do item.'}, 'InformacoesAdicionais': {'type': ['string', 'null'], 'description': 'Informações adicionais do produto (opcional, até 500 caracteres)'}}, 'additionalProperties': False}, 'description': 'Itens/produtos declarados no conteúdo (mínimo 1, máximo 999). Cada item exige Descricao (até 120 chars) e ValorTotal > 0. NCM opcional (2 ou 8 dígitos quando informado).'}, 'Serie': {'type': ['integer', 'null']}, 'Codigo': {'type': ['integer', 'null']}, 'Numero': {'type': ['integer', 'null']}, 'UfFisco': {'type': ['string', 'null'], 'description': 'Sigla da UF do órgão fiscalizador (obrigatório quando TipoEmitente=0). Se não preenchido, usa a UF da empresa emissora.'}, 'Remetente': {'type': 'object', 'properties': {'Nome': {'type': ['string', 'null'], 'description': 'Nome ou Razão Social'}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'description': 'Pessoa física/jurídica que está enviando o pacote. OBRIGATÓRIO. Exige Endereco completo (validado por ValidaPessoaDCe).', 'additionalProperties': False}, 'ValorTotal': {'type': ['number', 'null'], 'description': 'Valor total declarado da DC-e. Se omitido, soma dos ValorTotal dos itens. Deve ser > 0.'}, 'XOrgaoFisco': {'type': ['string', 'null'], 'description': 'Nome do órgão fiscalizador (obrigatório quando TipoEmitente=0)'}, 'Destinatario': {'type': 'object', 'properties': {'Nome': {'type': ['string', 'null'], 'description': 'Nome ou Razão Social'}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'description': 'Destinatário do pacote. OBRIGATÓRIO. Exige Endereco completo.', 'additionalProperties': False}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Tipo de ambiente. Valores: 1 - Produção (emissão real); 2 - Homologação (teste)'}, 'TipoEmitente': {'enum': [0, 1, 2, 3, 4], 'type': 'integer', 'default': 3, 'description': 'Tipo do emitente: Valores: 0 - App Fisco; 1 - Marketplace; 2 - Emissor próprio; 3 - Transportadora; 4 - ECT (Correios)'}, 'SiteMarketplace': {'type': ['string', 'null'], 'description': 'URL do site do marketplace (obrigatório quando TipoEmitente=1)'}, 'CnpjTransportadora': {'type': ['string', 'null'], 'description': 'CNPJ da transportadora que leva a carga. Opcional. Quando informado, é usado no XML; quando vazio, mantém o CNPJ da empresa emissora.'}, 'IdentificadorInterno': {'type': ['string', 'null']}, 'ModalidadeTransporte': {'enum': [0, 1, 2], 'type': 'integer', 'default': 2, 'description': 'Modalidade de transporte: Valores: 0 - Correios; 1 - Conta própria; 2 - Transportadora'}, 'DeclaracaoCrimeTributario': {'type': 'string', 'description': 'Texto da declaração de crime tributário (xObs2). OBRIGATÓRIO, até 5000 caracteres. Texto padrão sugerido: "Declaro, sob as penas da lei, que o conteúdo desta declaração é verdadeiro e que não estou cometendo crime contra a ordem tributária."'}, 'InformacoesComplementares': {'type': ['string', 'null'], 'description': 'Informações complementares (opcional, até 5000 caracteres).'}, 'DeclaracaoContribuinteICMS': {'type': 'string', 'description': 'Texto da declaração de contribuinte ICMS (xObs1). OBRIGATÓRIO, até 2000 caracteres. Texto padrão sugerido: "Declaro, sob as penas da lei, que não sou contribuinte do ICMS."'}, 'InformacoesAdicionaisFisco': {'type': ['string', 'null'], 'description': 'Informações adicionais de interesse do fisco (opcional, até 2000 caracteres).'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'chave': {'type': ['string', 'null']}, 'erros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'codigo': {'type': ['string', 'null'], 'description': 'Código do erro/rejeição (quando houver).'}, 'correcao': {'type': ['string', 'null'], 'description': 'Sugestão de correção, quando disponível.'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do erro.'}}, 'additionalProperties': False}, 'description': 'Lista de erros quando a operação falha. Vazia em caso de sucesso. Cada item traz codigo, descricao e correcao.'}, 'serie': {'type': 'integer'}, 'avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em sucesso.'}, 'numero': {'type': 'integer'}, 'status': {'type': 'integer', 'description': 'Status do resultado da operação: 1 = sucesso; 2 = erro (a lista erros é preenchida).'}, 'base64Xml': {'type': ['string', 'null']}, 'protocolo': {'type': ['string', 'null']}, 'base64DACE': {'type': ['string', 'null']}, 'tipoAmbiente': {'type': ['string', 'null']}}, 'additionalProperties': False}
evento_cancelar
Cancelar documento fiscal
Cancela um documento fiscal autorizado (NF-e, NFC-e, NFS-e, CT-e, MDF-e, DC-e). Informe a chave de 44 dígitos e a justificativa (mínimo 15 caracteres). Para NFS-e use TipoDocumento=1 e informe NumeroNFSe ao invés de chave. Prazo SEFAZ NF-e: 24h após autorização (algumas UFs mais).
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['ChaveNF', 'Justificativa', 'TipoAmbiente', 'TipoDocumento'], 'properties': {'ChaveNF': {'type': 'string', 'description': 'Chave de acesso de 44 dígitos da NF-e/NFC-e/CT-e/MDF-e/DC-e a cancelar. Obrigatório quando TipoDocumento = 0 (documentos NFe-family). Para NFS-e (TipoDocumento = 1) use NumeroNFSe.'}, 'DataEvento': {'type': ['string', 'null'], 'description': 'Data do evento de cancelamento do documento (Caso não for enviado é considerada a data e hora atual)'}, 'NumeroNFSe': {'type': ['string', 'null'], 'description': 'Número da NFS-e a ser cancelada'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Ambiente do documento original (DEVE bater com o ambiente onde a nota foi emitida). IMPORTANTE: passe explicitamente. Se a nota foi emitida em homologação (testes), use 2. Valores: 1 - Produção; 2 - Homologação'}, 'Justificativa': {'type': 'string', 'description': 'Motivo do cancelamento. MÍNIMO 15 caracteres, MÁXIMO 1000. NÃO use texto genérico como "cancelamento" ou "erro" - descreva o motivo real (ex: "Erro no valor unitário do produto X"). Obrigatório para TipoDocumento = 0 (NFe-family).'}, 'TipoDocumento': {'enum': [0, 1], 'type': 'integer', 'description': 'Tipo do documento fiscal a cancelar. Valores: 0 - NF-e, NFC-e, CT-e, MDF-e, DC-e (usa ChaveNF de 44 dígitos); 1 - NFS-e (usa NumeroNFSe + CodCancelamentoNFSe + TipoAmbiente)'}, 'NumeroProtocolo': {'type': ['string', 'null'], 'description': 'Número do protocolo de autorização original do documento (obrigatório quando a nota foi emitida por OUTRO sistema externo). Se o documento foi emitido pelo próprio BrasilNFe, o protocolo é localizado automaticamente.'}, 'NumeroSequencial': {'type': ['integer', 'null'], 'description': 'Número sequencial do evento'}, 'CodCancelamentoNFSe': {'enum': [1, 2, 3, 9], 'type': 'integer', 'default': 1, 'description': 'Código do motivo de cancelamento da NFS-e (Padrão 1) Valores: 1 - Erro na emissão; 2 - Serviço não prestado; 3 - Duplicidade da nota; 9 - Outros'}, 'CpfCnpjRemetenteDCe': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ do Usuário Emitente (Remetente) da DC-e original. Obrigatório no cancelamento de DC-e quando a nota não está cadastrada no sistema (caso esteja, o valor é lido da própria NotaFiscal).'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Status': {'enum': [1, 2, 3], 'type': 'integer', 'description': '1 - Evento Processado; 2 - Aguardando processamento do evento; 3 - Ocorreu um erro ao processar o evento'}, 'DsEvento': {'type': ['string', 'null']}, 'DsMotivo': {'type': ['string', 'null']}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'XML do evento processado (procEventoNFe) em Base64. Preenchido apenas quando o evento e autorizado (cStat 135) e o documento e NF-e (modelo 55). Nulo nos demais casos.'}, 'Base64File': {'type': ['string', 'null'], 'description': 'PDF do documento auxiliar do evento (ex.: Carta de Correcao) em Base64. Preenchido apenas quando o evento e autorizado e a nota existe na base. Nulo nos demais casos.'}, 'DsAmbiente': {'type': ['string', 'null']}, 'NuProtocolo': {'type': ['string', 'null']}, 'NumeroSequencial': {'type': 'integer'}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}
evento_carta_correcao
Enviar Carta de Correção (CC-e)
Envia Carta de Correção (CC-e) para uma NF-e ou CT-e já autorizada (evento tipo 2). Não pode corrigir: valores, datas de emissão/saída, partes envolvidas (CNPJ/CPF), regimes tributários ou número/série do documento. Limite: 20 CC-e por NF-e.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['TipoAmbiente', 'ChaveNF'], 'properties': {'ChaveNF': {'type': 'string', 'description': 'Chave de acesso de 44 dígitos da NF-e ou CT-e a corrigir.'}, 'Correcao': {'type': ['string', 'null'], 'description': 'Texto da correção (mínimo 15, máximo 1000 caracteres). Obrigatório para NF-e (modelo 55). Não pode corrigir variáveis que afetam tributos (valores, quantidades, base de cálculo, alíquotas) nem dados de remetente/destinatário, nem data de emissão. Para CT-e use a lista Correcoes em vez deste campo.'}, 'Correcoes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Campo': {'type': ['string', 'null']}, 'Grupo': {'type': ['string', 'null']}, 'Valor': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Lista de correções estruturadas (campo, grupo, valor). Usado SOMENTE para CT-e (modelo 57). Para NF-e/NFC-e use o campo Correcao acima.'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Ambiente do documento original (DEVE bater com o ambiente onde a nota foi emitida). IMPORTANTE: passe explicitamente. Se a nota foi emitida em homologação, use 2. Valores: 1 - Produção; 2 - Homologação'}, 'NumeroSequencial': {'type': ['integer', 'null'], 'description': 'Número sequencial do evento (1 a 20). Se omitido, o sistema usa o próximo disponível.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Status': {'enum': [1, 2, 3], 'type': 'integer', 'description': '1 - Evento Processado; 2 - Aguardando processamento do evento; 3 - Ocorreu um erro ao processar o evento'}, 'DsEvento': {'type': ['string', 'null']}, 'DsMotivo': {'type': ['string', 'null']}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'XML do evento processado (procEventoNFe) em Base64. Preenchido apenas quando o evento e autorizado (cStat 135) e o documento e NF-e (modelo 55). Nulo nos demais casos.'}, 'Base64File': {'type': ['string', 'null'], 'description': 'PDF do documento auxiliar do evento (ex.: Carta de Correcao) em Base64. Preenchido apenas quando o evento e autorizado e a nota existe na base. Nulo nos demais casos.'}, 'DsAmbiente': {'type': ['string', 'null']}, 'NuProtocolo': {'type': ['string', 'null']}, 'NumeroSequencial': {'type': 'integer'}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}
evento_inutilizar
Inutilizar numeração
Inutiliza uma faixa de numeração não utilizada na SEFAZ. Útil quando há quebra de sequência por erro de emissão. Não pode ser desfeito. Operação rara - confirme com o usuário antes.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['TipoAmbiente', 'ModeloDocumento', 'Serie', 'Justificativa', 'NumeracaoInicial', 'NumeracaoFinal'], 'properties': {'Serie': {'type': 'integer', 'description': 'Série referente ao modelo do documento. Deve ser > 0.'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Identificação do Ambiente. IMPORTANTE: passe explicitamente. Inutilização em produção é IRREVERSÍVEL. Valores: 1 - Produção (faixa fica DEFINITIVAMENTE inutilizada na SEFAZ); 2 - Homologação (teste)'}, 'Justificativa': {'type': 'string', 'description': 'Justificativa da inutilização. Mínimo 15, máximo 255 caracteres. Descreva o motivo real (ex: "Erro de digitação - série pulada por engano no sistema interno").'}, 'NumeracaoFinal': {'type': 'integer', 'description': 'Final da faixa numérica a inutilizar. Deve ser >= NumeracaoInicial.'}, 'ModeloDocumento': {'enum': [55, 65, 57], 'type': 'integer', 'description': 'Código do modelo do Documento Fiscal a inutilizar. Valores: 55 - NF-e; 65 - NFC-e; 57 - CT-e'}, 'NumeracaoInicial': {'type': 'integer', 'description': 'Início da faixa numérica a inutilizar. Deve ser > 0 e <= NumeracaoFinal.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Status': {'enum': [1, 2, 3], 'type': 'integer', 'description': '1 - Evento Processado; 2 - Aguardando processamento do evento; 3 - Ocorreu um erro ao processar o evento'}, 'DsEvento': {'type': ['string', 'null']}, 'DsMotivo': {'type': ['string', 'null']}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'XML do evento processado (procEventoNFe) em Base64. Preenchido apenas quando o evento e autorizado (cStat 135) e o documento e NF-e (modelo 55). Nulo nos demais casos.'}, 'Base64File': {'type': ['string', 'null'], 'description': 'PDF do documento auxiliar do evento (ex.: Carta de Correcao) em Base64. Preenchido apenas quando o evento e autorizado e a nota existe na base. Nulo nos demais casos.'}, 'DsAmbiente': {'type': ['string', 'null']}, 'NuProtocolo': {'type': ['string', 'null']}, 'NumeroSequencial': {'type': 'integer'}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}
evento_manifestar
Manifestar destinatário
Registra a manifestação do destinatário sobre uma NF-e. TipoEvento: 0=ciência da operação, 1=confirmação da operação, 2=desconhecimento, 3=operação não realizada.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['Chave', 'TipoAmbiente', 'TipoManifestacao'], 'properties': {'Chave': {'type': 'string', 'description': 'Chave de acesso de 44 dígitos da NF-e a manifestar.'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Ambiente do documento original (DEVE bater com o ambiente onde a nota foi emitida). IMPORTANTE: passe explicitamente. Manifestação de NF de prod precisa ser ambiente 1. Valores: 1 - Produção; 2 - Homologação'}, 'Justificativa': {'type': ['string', 'null'], 'description': 'Justificativa. OBRIGATÓRIA quando TipoManifestacao = 4 (mínimo 15 caracteres). Para outros tipos pode omitir.'}, 'NumeroSequencial': {'type': ['integer', 'null'], 'description': 'Número sequencial do evento (1 a 20). Se omitido, o sistema usa o próximo disponível.'}, 'TipoManifestacao': {'enum': [1, 2, 3, 4], 'type': 'integer', 'description': 'Tipo da manifestação do destinatário. Valores: 1 - Confirmação da Operação; 2 - Ciência da Operação; 3 - Desconhecimento da Operação; 4 - Operação não Realizada (exige Justificativa com 15+ caracteres)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Status': {'enum': [1, 2, 3], 'type': 'integer', 'description': '1 - Evento Processado; 2 - Aguardando processamento do evento; 3 - Ocorreu um erro ao processar o evento'}, 'DsEvento': {'type': ['string', 'null']}, 'DsMotivo': {'type': ['string', 'null']}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'XML do evento processado (procEventoNFe) em Base64. Preenchido apenas quando o evento e autorizado (cStat 135) e o documento e NF-e (modelo 55). Nulo nos demais casos.'}, 'Base64File': {'type': ['string', 'null'], 'description': 'PDF do documento auxiliar do evento (ex.: Carta de Correcao) em Base64. Preenchido apenas quando o evento e autorizado e a nota existe na base. Nulo nos demais casos.'}, 'DsAmbiente': {'type': ['string', 'null']}, 'NuProtocolo': {'type': ['string', 'null']}, 'NumeroSequencial': {'type': 'integer'}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}
fci_gerar
Gerar FCI
Gera o arquivo FCI (Ficha de Conteúdo de Importação) requerido para produtos com conteúdo importado em operações interestaduais.
Eingabeschema
{'type': 'object', 'properties': {'Produtos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Ncm': {'type': ['string', 'null'], 'description': 'Código baseado na tabela da Nomenclatura Comum do MERCOSUL'}, 'Gtin': {'type': ['string', 'null'], 'description': 'Código Global Trade Item Number, se houver'}, 'Codigo': {'type': ['string', 'null'], 'description': 'Código interno que identifica a mercadoria no estabelecimento'}, 'Descricao': {'type': ['string', 'null'], 'description': 'Descrição da Mercadoria'}, 'ValorSaida': {'type': 'number', 'description': 'Valor de saída (comercialização) da mercadoria'}, 'UnidadeMedida': {'type': ['string', 'null'], 'description': 'Unidade a que se refere o valor de saída da mercadoria'}, 'ValorImportado': {'type': ['number', 'null'], 'description': 'Valor da parcela importada do exterior (Obrigatório caso não for informado o Percentual Importado)'}, 'PercentualImportado': {'type': ['number', 'null'], 'description': 'Percentual do conteúdo de importação informado pelo contribuinte (Obrigatório caso não for informado o Valor Importado)'}}, 'additionalProperties': False}, 'description': 'Produtos para gerar os registros do arquivo FCI'}, 'Transmitir': {'type': 'boolean', 'description': 'Quando verdadeiro, além de gerar o arquivo, assina e transmite a mídia via programa TED. Requer certificado e-CNPJ configurado na empresa.'}, 'ValidarCodigos': {'type': 'boolean', 'default': True, 'description': 'Quando verdadeiro retorna erro caso envie produtos com código repetido'}}, 'additionalProperties': False}
health
Health-check
Verifica a saúde da API BrasilNFe (status, timestamp, versão). Não recebe parâmetros.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
imposto_calcular
Simular cálculo de impostos
Simula o cálculo de impostos (ICMS, PIS, COFINS, IPI, ST) sobre uma lista de produtos sem emitir nota. Útil para precificação.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'Count': {'type': 'integer'}, 'Capacity': {'type': 'integer'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Total': {'type': ['object', 'null'], 'properties': {'ValorFrete': {'type': 'number'}, 'ValorTotal': {'type': 'number'}, 'ValorSeguro': {'type': 'number'}, 'ValorDesconto': {'type': 'number'}, 'ValorProdutos': {'type': 'number'}, 'ValorDespesasAcessorias': {'type': 'number'}, 'ValorTributosAproximados': {'type': 'number'}}, 'additionalProperties': False}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Impostos': {'type': ['object', 'null'], 'properties': {'ValorFCP': {'type': 'number'}, 'ValorIPI': {'type': 'number'}, 'ValorPIS': {'type': 'number'}, 'ValorICMS': {'type': 'number'}, 'ValorFCPST': {'type': 'number'}, 'ValorCOFINS': {'type': 'number'}, 'ValorICMSST': {'type': 'number'}, 'BaseCalculoICMS': {'type': 'number'}, 'ValorImportacao': {'type': 'number'}, 'ValorFCPSTRetido': {'type': 'number'}, 'BaseCalculoICMSST': {'type': 'number'}, 'ValorICMSDesoneracao': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}
mdfe_emitir
Emitir MDF-e
Emite MDF-e (Manifesto Eletrônico de Documentos Fiscais), agrupando vários CT-e/NF-e em um único transporte. Obrigatório para transportadores com vários DFs no mesmo veículo.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['tipoAmbiente', 'tipoEmitente', 'ufCarregamento', 'ufDescarregamento', 'modalidade', 'valor', 'peso'], 'properties': {'lote': {'type': ['integer', 'null']}, 'peso': {'type': 'number', 'description': 'Peso bruto total das mercadorias em KG. DEVE ser > 0.'}, 'Aereo': {'type': ['object', 'null'], 'properties': {'dataVoo': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'matricula': {'type': ['string', 'null']}, 'numeroVoo': {'type': ['string', 'null']}, 'nacionalidade': {'type': ['string', 'null']}, 'aerodromoDestino': {'type': ['string', 'null']}, 'aerodromoEmbarque': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'serie': {'type': ['integer', 'null']}, 'valor': {'type': 'number', 'description': 'Valor total das mercadorias transportadas. DEVE ser > 0.'}, 'codigo': {'type': ['integer', 'null']}, 'numero': {'type': ['integer', 'null']}, 'seguros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'cnpjSegurador': {'type': ['string', 'null'], 'description': 'CNPJ da seguradora (somente dígitos).'}, 'nomeSegurador': {'type': ['string', 'null'], 'description': 'Razão social / nome da seguradora.'}, 'numeroApolice': {'type': ['string', 'null'], 'description': 'Número da apólice de seguro. Obrigatório para modal rodoviário no MDF-e versão 3.00.'}, 'numerosAverbacao': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Lista de números de averbação do seguro (0..N). Opcional.'}, 'cpfCnpjResponsavel': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ do responsável pela contratação do seguro. Informar somente quando indicadorResponsavel = 2 (responsável pela contratação); se for o próprio emitente do MDF-e, o CNPJ da empresa é utilizado automaticamente.'}, 'indicadorResponsavel': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Identificação do Ambiente (Padrão 1) Valores: 1 - Emitente do MDF-e; 2 - Responsável pela contratação'}}, 'additionalProperties': False}}, 'Aquaviario': {'type': ['object', 'null'], 'properties': {'cnpjAgencia': {'type': ['string', 'null']}, 'numeroViagem': {'type': ['string', 'null']}, 'codEmbarcacao': {'type': ['string', 'null']}, 'nomeEmbarcacao': {'type': ['string', 'null']}, 'tipoEmbarcacao': {'type': 'integer'}, 'codPortoDestino': {'type': ['string', 'null']}, 'codPortoEmbarque': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Rodoviario': {'type': ['object', 'null'], 'properties': {'uf': {'type': ['string', 'null']}, 'CIOT': {'type': ['object', 'null'], 'properties': {'cnpj': {'type': ['string', 'null']}, 'codigo': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'tara': {'type': 'integer', 'description': 'Tara em KG'}, 'capKG': {'type': ['integer', 'null'], 'description': 'Capacidade em KG do veículo de tração. Opcional.'}, 'capM3': {'type': ['integer', 'null'], 'description': 'Capacidade em M3 do veículo de tração. Opcional.'}, 'placa': {'type': ['string', 'null']}, 'renavam': {'type': ['string', 'null']}, 'reboques': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'uf': {'type': ['string', 'null'], 'description': 'UF de licenciamento do reboque (sigla de 2 letras).'}, 'tara': {'type': ['integer', 'null'], 'description': 'Tara em KG'}, 'capKG': {'type': ['integer', 'null']}, 'capM3': {'type': ['integer', 'null']}, 'placa': {'type': ['string', 'null'], 'description': 'Placa do reboque (sem máscara).'}, 'renavam': {'type': ['string', 'null']}, 'tipoCarroceria': {'enum': [0, 1, 2, 3, 4, 5], 'type': 'integer', 'description': 'Tipo de Carroceria Valores: 0 - Não aplicável; 1 - Aberta; 2 - Fechado Baú; 3 - Granelera; 4 - Porta Container; 5 - Sider'}}, 'additionalProperties': False}, 'description': 'Lista de veículos de reboque acoplados à tração. Opcional - se nulo/vazio,'}, 'condutores': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'cpf': {'type': ['string', 'null']}, 'nome': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'pagamentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'parcelas': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'valor': {'type': ['number', 'null'], 'description': 'Valor da parcela.'}, 'numero': {'type': 'integer', 'description': 'Número da parcela.'}, 'vencimento': {'type': ['string', 'null'], 'description': 'Data de vencimento da parcela.'}}, 'additionalProperties': False}, 'description': 'Parcelas do pagamento (informar somente se a prazo).'}, 'componentes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'tipo': {'type': ['string', 'null'], 'description': 'Tipo do componente: 01 - Vale-Pedágio; 02 - Impostos, taxas e contribuições; 03 - Despesas; 99 - Outros.'}, 'valor': {'type': 'number', 'description': 'Valor do componente.'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do componente (usar quando tipo = 99).'}}, 'additionalProperties': False}, 'description': 'Componentes do pagamento do frete.'}, 'infoBancaria': {'type': ['object', 'null'], 'properties': {'pix': {'type': ['string', 'null'], 'description': 'Chave PIX para recebimento do frete (alternativa ao banco/agência).'}, 'codBanco': {'type': ['string', 'null'], 'description': 'Número do banco. Informar junto com a agência (ou use cnpjInstituicaoPagamento, ou pix).'}, 'codAgencia': {'type': ['string', 'null'], 'description': 'Número da agência bancária.'}, 'cnpjInstituicaoPagamento': {'type': ['string', 'null'], 'description': 'CNPJ da instituição de pagamento eletrônico do frete (alternativa ao banco/agência).'}}, 'description': 'Informações bancárias para recebimento do frete.', 'additionalProperties': False}, 'valorContrato': {'type': 'number', 'description': 'Valor total do contrato.'}, 'altoDesempenho': {'type': 'boolean', 'description': 'Operação de transporte de alto desempenho (frota dedicada/fidelizada).'}, 'nomeResponsavel': {'type': ['string', 'null'], 'description': 'Razão social ou nome do responsável pelo pagamento.'}, 'tipoAntecipacao': {'type': ['integer', 'null'], 'description': 'Permissão de antecipação das parcelas: 0 - não permite; 1 - permite; 2 - permite mediante confirmação.'}, 'valorAdiantamento': {'type': ['number', 'null'], 'description': 'Valor do adiantamento (usar apenas em pagamento a prazo).'}, 'cpfCnpjResponsavel': {'type': ['string', 'null'], 'description': 'CPF, CNPJ ou identificador estrangeiro do responsável pelo pagamento do frete.'}, 'indicadorPagamento': {'type': 'integer', 'description': 'Forma de pagamento: 0 - à vista; 1 - a prazo.'}, 'anteciparAdiantamento': {'type': 'boolean', 'description': 'Concordância em antecipar o adiantamento.'}}, 'additionalProperties': False}, 'description': 'Informações de pagamento do frete (grupo infANTT/infPag).'}, 'tipoRodado': {'enum': [1, 2, 3, 4, 5, 6], 'type': 'integer', 'description': 'Tipo de Rodado (Padrão 1) Valores: 1 - Truck; 2 - Toco; 3 - Cavalo Mecânico; 4 - VAN; 5 - Utilitário; 6 - Outros'}, 'valePedagio': {'type': ['object', 'null'], 'properties': {'dispositivos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'tipo': {'type': ['string', 'null'], 'description': 'Tipo do vale-pedágio: 01 - TAG, 02 - Cupom, 03 - Cartão.'}, 'valor': {'type': 'number', 'description': 'Valor do vale-pedágio.'}, 'cnpjFornecedor': {'type': ['string', 'null'], 'description': 'CNPJ da empresa fornecedora do vale-pedágio.'}, 'cpfCnpjPagador': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ do responsável pelo pagamento. Informar quando não for o emitente do MDF-e.'}, 'numeroComprovante': {'type': ['string', 'null'], 'description': 'Número do comprovante de compra.'}}, 'additionalProperties': False}, 'description': 'Dispositivos do vale-pedágio.'}, 'categoriaCombinacaoVeicular': {'type': ['string', 'null'], 'description': 'Categoria de combinação veicular (02 a 14, conforme número de eixos).'}}, 'description': 'Vale-pedágio (grupo infANTT/valePed).', 'additionalProperties': False}, 'contratantes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'nome': {'type': ['string', 'null'], 'description': 'Razão social ou nome do contratante.'}, 'cpfCnpj': {'type': ['string', 'null'], 'description': 'CPF, CNPJ ou identificador estrangeiro do contratante do transporte.'}, 'nroContrato': {'type': ['string', 'null'], 'description': 'Número do contrato do transportador com o contratante, para prestações continuadas.'}, 'vContratoGlobal': {'type': ['number', 'null'], 'description': 'Valor global do contrato. Usar somente no pagamento a prazo.'}}, 'additionalProperties': False}, 'description': 'Contratantes do serviço de transporte (grupo infANTT/infContratante).'}, 'tipoCarroceria': {'enum': [0, 1, 2, 3, 4, 5], 'type': 'integer', 'description': 'Tipo de Carroceria (Padrão 1) Valores: 0 - Não aplicavel; 1 - Aberta; 2 - Fechado Baú; 3 - Granelera; 4 - Porta Container; 5 - Sider'}}, 'description': 'Dados do transporte rodoviário (placa 7 caracteres, condutores com CPF/nome, UF do veículo). OBRIGATÓRIO quando modalidade = 1.', 'additionalProperties': False}, 'modalidade': {'enum': [1, 2, 3, 4], 'type': 'integer', 'default': 1, 'description': 'Modalidade de transporte. Valores: 1 - Rodoviário (exige objeto Rodoviario com placa, condutores e percurso); 2 - Aéreo (exige objeto Aereo); 3 - Aquaviário (exige objeto Aquaviario); 4 - Ferroviário (exige objeto Ferroviario)'}, 'observacao': {'type': ['string', 'null']}, 'DataEmissao': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'Ferroviario': {'type': ['object', 'null'], 'properties': {'Vagoes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'serie': {'type': 'integer'}, 'numero': {'type': 'integer'}, 'pesoBc': {'type': 'number', 'description': 'Peso Base de Cálculo de Frete em Toneladas'}, 'pesoReal': {'type': 'number', 'description': 'Peso Real em Toneladas'}, 'sequencia': {'type': ['integer', 'null']}, 'toneladaUtil': {'type': 'number'}}, 'additionalProperties': False}}, 'origem': {'type': ['string', 'null']}, 'destino': {'type': ['string', 'null']}, 'prefixo': {'type': ['string', 'null']}, 'DataLiberacao': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'quantidadeVagoes': {'type': 'integer'}}, 'additionalProperties': False}, 'percursoUfs': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'tipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Tipo de ambiente. IMPORTANTE: passe explicitamente. Para testes use 2. Valores: 1 - Produção; 2 - Homologação'}, 'tipoEmitente': {'enum': [1, 2], 'type': 'integer', 'default': 2, 'description': 'Tipo de emitente. Valores: 1 - Prestador de Serviço de Transporte (transportadora); 2 - Transportador de carga própria (mais comum - empresa transportando seus próprios produtos)'}, 'carregamentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'municipio': {'type': ['string', 'null']}, 'codMunicipio': {'type': 'integer'}}, 'additionalProperties': False}}, 'ufCarregamento': {'type': 'string', 'description': 'UF de carregamento (origem). Sigla de 2 letras (SP, RJ, MG...).'}, 'observacaoFisco': {'type': ['string', 'null']}, 'descarregamentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'chaveDfe': {'type': ['string', 'null']}, 'municipio': {'type': ['string', 'null']}, 'codMunicipio': {'type': 'integer'}, 'transportePerigosos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'codigoONU': {'type': ['string', 'null']}, 'quantidade': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'ufDescarregamento': {'type': 'string', 'description': 'UF de descarregamento (destino). Sigla de 2 letras (SP, RJ, MG...).'}, 'produtoPredominante': {'type': ['object', 'null'], 'properties': {'ncm': {'type': ['string', 'null'], 'description': 'Código NCM do produto. Opcional. Aceita 2 ou 8 dígitos.'}, 'cEan': {'type': ['string', 'null'], 'description': 'GTIN/EAN do produto. Opcional. Use "SEM GTIN" se não houver.'}, 'tpCarga': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 'type': 'integer', 'description': 'Tipo de Carga (Resolução ANTT 5.849/2019). Valor de 1 a 11. Valores: 1 - Granel sólido; 2 - Granel líquido; 3 - Frigorificada; 4 - Conteinerizada; 5 - Carga Geral; 6 - Neogranel; 7 - Perigosa (granel sólido); 8 - Perigosa (granel líquido); 9 - Perigosa (carga frigorificada); 10 - Perigosa (conteinerizada); 11 - Perigosa (carga geral)'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do produto predominante (1 a 120 caracteres).'}, 'infLotacao': {'type': ['object', 'null'], 'properties': {'localCarrega': {'type': ['object', 'null'], 'properties': {'cep': {'type': ['string', 'null'], 'description': 'CEP do local (8 dígitos). Quando informado, latitude/longitude são ignorados.'}, 'latitude': {'type': ['string', 'null'], 'description': 'Latitude. Informe junto com longitude quando não houver CEP.'}, 'longitude': {'type': ['string', 'null'], 'description': 'Longitude. Informe junto com latitude quando não houver CEP.'}}, 'description': 'Local de carregamento da lotação. Informe CEP OU (latitude + longitude).', 'additionalProperties': False}, 'localDescarrega': {'type': ['object', 'null'], 'properties': {'cep': {'type': ['string', 'null'], 'description': 'CEP do local (8 dígitos). Quando informado, latitude/longitude são ignorados.'}, 'latitude': {'type': ['string', 'null'], 'description': 'Latitude. Informe junto com longitude quando não houver CEP.'}, 'longitude': {'type': ['string', 'null'], 'description': 'Longitude. Informe junto com latitude quando não houver CEP.'}}, 'description': 'Local de descarregamento da lotação. Informe CEP OU (latitude + longitude).', 'additionalProperties': False}}, 'description': 'Informações de carga lotação. Opcional - só preencha quando o MDF-e for de carga lotação.', 'additionalProperties': False}}, 'description': 'Produto predominante transportado. Opcional.', 'additionalProperties': False}, 'identificadorInterno': {'type': ['string', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'chave': {'type': ['string', 'null']}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'numero': {'type': 'integer'}, 'status': {'enum': [1, 2, 3], 'type': 'integer', 'description': '1 - Lote processado; 2 - Aguardando processamento; 3 - Ocorreu um erro ao processar o lote'}, 'base64Xml': {'type': ['string', 'null']}, 'base64DAMDFe': {'type': ['string', 'null']}, 'tipoAmbiente': {'type': ['string', 'null']}, 'codRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}
mdfe_encerrar
Encerrar MDF-e
Encerra um MDF-e já autorizado (evento tipo 3). Obrigatório ao final de cada transporte. Sem encerramento, novos MDF-e podem ser bloqueados pela SEFAZ.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['tipoAmbiente', 'chave'], 'properties': {'chave': {'type': 'string', 'description': 'Chave de acesso de 44 dígitos do MDF-e a encerrar.'}, 'protocolo': {'type': ['string', 'null'], 'description': 'Protocolo de autorização do MDF-e original. Opcional - se omitido, o sistema localiza pela chave.'}, 'tipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Ambiente do MDF-e original (DEVE bater com o ambiente onde o manifesto foi emitido). IMPORTANTE: passe explicitamente. ATENÇÃO: encerramento é DEFINITIVO - revise os dados antes. Valores: 1 - Produção; 2 - Homologação'}, 'numeroSequencial': {'type': ['integer', 'null'], 'description': 'Número sequencial do evento. Se omitido, o sistema usa o próximo disponível.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Status': {'enum': [1, 2, 3], 'type': 'integer', 'description': '1 - Evento Processado; 2 - Aguardando processamento do evento; 3 - Ocorreu um erro ao processar o evento'}, 'DsEvento': {'type': ['string', 'null']}, 'DsMotivo': {'type': ['string', 'null']}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'XML do evento processado (procEventoNFe) em Base64. Preenchido apenas quando o evento e autorizado (cStat 135) e o documento e NF-e (modelo 55). Nulo nos demais casos.'}, 'Base64File': {'type': ['string', 'null'], 'description': 'PDF do documento auxiliar do evento (ex.: Carta de Correcao) em Base64. Preenchido apenas quando o evento e autorizado e a nota existe na base. Nulo nos demais casos.'}, 'DsAmbiente': {'type': ['string', 'null']}, 'NuProtocolo': {'type': ['string', 'null']}, 'NumeroSequencial': {'type': 'integer'}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}
nfe_emitir
Emitir NF-e ou NFC-e
Emite uma NF-e (modelo 55) ou NFC-e (modelo 65) na SEFAZ. Use modeloDocumento=55 para NF-e (B2B com destinatário CPF/CNPJ) ou modeloDocumento=65 para NFC-e (consumidor final). Retorna chave de acesso (44 dígitos), número, protocolo, status e XML/DANFE em base64. Operação síncrona (pode levar 5-30s). Use tipoAmbiente=2 (homologação) para testes. TRANSMITE DE VERDADE: só chame depois que o usuário aprovou a pré-visualização final (nfe_previsualizar) e confirmou a emissão; envie confirmacaoUsuario=true (conexões OAuth são recusadas sem ele).
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['IndicadorPresenca', 'NaturezaOperacao', 'ModeloDocumento', 'Finalidade', 'TipoAmbiente', 'Produtos'], 'properties': {'Lote': {'type': ['integer', 'null'], 'description': 'Lote da Nota Fiscal'}, 'Serie': {'type': ['integer', 'null'], 'description': 'Série da nota Fiscal'}, 'Codigo': {'type': ['string', 'null'], 'description': 'B03 - Código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada NF-e.'}, 'Numero': {'type': ['integer', 'null'], 'description': 'Número da nota fiscal'}, 'Cliente': {'type': ['object', 'null'], 'required': ['CpfCnpj', 'NmCliente'], 'properties': {'Ie': {'type': ['string', 'null']}, 'IsUf': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': 'string', 'description': 'CPF (11 dígitos) ou CNPJ (14 dígitos) do destinatário. Aceita com ou sem máscara - o sistema normaliza. Obrigatório para NF-e (modelo 55). Em operações de exportação (CFOP iniciado em 3/7) pode ter de 5 a 20 caracteres.'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NmCliente': {'type': 'string', 'description': 'Nome/Razão Social do destinatário (máx 60 caracteres). Obrigatório para NF-e (modelo 55).'}, 'IndicadorIe': {'enum': [1, 2, 9], 'type': 'integer', 'default': 9, 'description': 'Indicador de Inscrição Estadual. Para NFC-e (modelo 65) DEVE ser 9. Para NF-e (modelo 55) aceita 1, 2 ou 9. Valores: 1 - Contribuinte ICMS (informar a IE do destinatário); 2 - Contribuinte isento de Inscrição no cadastro de Contribuintes do ICMS; 9 - Não Contribuinte, que pode ou não possuir Inscrição Estadual no Cadastro de Contribuintes do ICMS'}}, 'description': 'Destinatário da nota. OBRIGATÓRIO para NF-e (modelo 55). Para NFC-e (modelo 65) só é obrigatório quando IndicadorPresenca = 4 (entrega a domicílio). Quando informado para NF-e mod 55, exige: CpfCnpj, NmCliente, IndicadorIe (1/2/9), Endereco com Logradouro e UF (e CEP/Município/Bairro quando não exportação).', 'additionalProperties': False}, 'Entrega': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'Exporta': {'type': ['object', 'null'], 'properties': {'UFSaidaPais': {'type': ['string', 'null'], 'description': 'Sigla da UF de Embarque ou de transposição de fronteira'}, 'LocalDespacho': {'type': ['string', 'null'], 'description': 'Descrição do local de despacho'}, 'LocalEmbarqueTransp': {'type': ['string', 'null'], 'description': 'Descrição do Local de Embarque ou de transposição de fronteira'}}, 'additionalProperties': False}, 'Cobranca': {'type': ['object', 'null'], 'properties': {'Fatura': {'type': ['object', 'null'], 'properties': {'Valor': {'type': 'number'}, 'Numero': {'type': ['string', 'null']}, 'Desconto': {'type': 'number'}, 'ValorLiquido': {'type': 'number'}}, 'additionalProperties': False}, 'Parcelas': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Valor': {'type': 'number'}, 'Vencimento': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'Produtos': {'type': 'array', 'items': {'type': 'object', 'required': ['NmProduto', 'CodProdutoServico', 'NCM', 'Quantidade', 'UnidadeComercial', 'ValorUnitario', 'ValorTotal', 'CFOP', 'OrigemProduto', 'Imposto'], 'properties': {'EAN': {'type': ['string', 'null'], 'description': 'GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barras (8, 12, 13 ou 14 dígitos). Quando o produto não tem GTIN cadastrado, informe a string "SEM GTIN" (literal). Não usar como código interno.'}, 'NCM': {'type': 'string', 'description': 'Código NCM com exatamente 8 dígitos (Nomenclatura Comum do Mercosul). Identifica a classificação fiscal do produto na Receita. NÃO é o código interno - código interno vai em CodProdutoServico. Para serviços ou itens sem produto físico (transferência de crédito, etc.), use "00000000".'}, 'CEST': {'type': ['string', 'null'], 'description': 'Código CEST (7 dígitos). Obrigatório quando o CST/CSOSN do ICMS indicar substituição tributária (rejeição 806 da SEFAZ). Consulte a tabela CEST oficial pelo NCM do produto.'}, 'CFOP': {'type': 'integer', 'description': 'Código Fiscal de Operações e Prestações (CFOP). Exatamente 4 dígitos. Primeiro dígito indica a natureza: 1/2/3 = entrada (interna/interestadual/exterior), 5/6/7 = saída (interna/interestadual/exterior). Para NFC-e (modelo 65) só são aceitos: 5101, 5102, 5103, 5104, 5115, 5405, 5656, 5667, 5933 (rejeição 725).'}, 'nFCI': {'type': ['string', 'null'], 'description': 'Número de controle da FCI - Ficha de Conteúdo de Importação'}, 'xPed': {'type': ['string', 'null'], 'description': 'Número do Pedido de Compra'}, 'cBenef': {'type': ['string', 'null'], 'description': 'Código de Beneficio Fiscal na UF'}, 'Imposto': {'type': 'object', 'properties': {'IPI': {'type': ['object', 'null'], 'required': ['CodEnquadramento', 'CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do IPI'}, 'CodEnquadramento': {'type': 'string', 'description': 'Código de Enquadramento Legal do IPI - EXATAMENTE 3 dígitos (com zeros à esquerda se necessário). Para a maioria dos casos não imunes/suspensos use "999" (tributação normal sem enquadramento especial). Obrigatório para NF-e (modelo 55). Dispensado para NFC-e (modelo 65).'}, 'ValorIpiDevolvido': {'type': 'number', 'description': 'Valor do IPI devolvido'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do IPI. Valores: "00","49","50","99" (saída tributada/não tributada/isenta/outras saídas) ou "01","02","03","04","05","51","52","53","54","55" (entradas - usar conforme o caso). Obrigatório para NF-e (modelo 55). Dispensado para NFC-e (modelo 65).'}, 'PercentualMercadoriaDevolvida': {'type': 'number', 'description': 'Percentual da mercadoria devolvida'}}, 'additionalProperties': False}, 'PIS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do PIS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do PIS (Tabela II - Situação Tributária do PIS). Valores válidos: "01","02","03","04","05","06","07","08","09" (entradas) e "49","50","51","52","53","54","55","56","60","61","62","63","64","65","66","67","70","71","72","73","74","75","98","99" (saídas/outras). O CST precisa ser compatível com o tipo de NF (entrada quando CFOP começa com 1/2/3, saída quando começa com 5/6/7).'}}, 'additionalProperties': False}, 'ICMS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'RedICMS': {'type': ['number', 'null'], 'description': 'Redução ICMS'}, 'STRetido': {'type': ['object', 'null'], 'properties': {'AliquotaFCP': {'type': ['number', 'null'], 'description': 'pFCPSTRet - Alíquota do FCP retido por ST na operação anterior. O valor (vFCPSTRet) é calculado automaticamente por BaseCalculoFCP x AliquotaFCP / 100.'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'vBCSTRet - Base de cálculo do ICMS-ST retido na operação anterior.'}, 'ValorICMSST': {'type': ['number', 'null'], 'description': 'vICMSSTRet - Valor do ICMS-ST retido na operação anterior. Opcional: quando não informado, é calculado por (BaseCalculo x AliquotaConsumidorFinal / 100 - ValorICMSSubstituto). Informe o valor fiel da nota de entrada quando ele divergir da fórmula padrão.'}, 'BaseCalculoFCP': {'type': ['number', 'null'], 'description': 'vBCFCPSTRet - Base de cálculo do FCP retido por ST na operação anterior.'}, 'AliquotaEfetiva': {'type': ['number', 'null'], 'description': 'pICMSEfet - Alíquota do ICMS efetiva (consumidor final). O valor (vICMSEfet) é calculado automaticamente por BaseCalculoEfetiva x AliquotaEfetiva / 100.'}, 'BaseCalculoEfetiva': {'type': ['number', 'null'], 'description': 'vBCEfet - Base de cálculo efetiva (consumidor final). Opcional: quando não informada, é calculada por (ValorTotal + frete + seguro + outras despesas - desconto) x (1 - PercentualReducaoBaseEfetiva/100). Informe o valor fiel quando a composição da base divergir.'}, 'ValorICMSSubstituto': {'type': ['number', 'null'], 'description': 'vICMSSubstituto - Valor do ICMS próprio do substituto cobrado na operação anterior.'}, 'AliquotaConsumidorFinal': {'type': ['number', 'null'], 'description': 'pST - Alíquota suportada pelo consumidor final (alíquota interna do destino + FCP).'}, 'PercentualReducaoBaseEfetiva': {'type': ['number', 'null'], 'description': 'pRedBCEfet - Percentual de redução da base de cálculo efetiva (consumidor final).'}}, 'description': 'Grupo de ICMS-ST retido em operação anterior. Preencher SOMENTE em CST 60 ou CSOSN 500 (revenda de mercadoria cujo ICMS-ST já foi retido por substituição tributária). Quando informado, prevalece sobre a estimativa automática derivada da configuração de ST do produto.', 'additionalProperties': False}, 'RedICMSST': {'type': ['number', 'null'], 'description': 'Redução ICMS ST'}, 'ValorIcms': {'type': ['number', 'null'], 'description': 'Valor do Icms (Calculado Automaticamente quando não informado)'}, 'AliquotaMVA': {'type': ['number', 'null'], 'description': 'Alíquota - Obrigatório para situação tributária nº 201, 202 e 203'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'AliquotaICMS': {'type': ['number', 'null'], 'description': 'Alíquota ICMS - Obrigatório para situação tributária nº 101 e 201'}, 'AliquotaICMSST': {'type': ['number', 'null'], 'description': 'Alíquota ICMS ST - Obrigatório para situação tributária nº 101 e 201'}, 'AliquotaCredito': {'type': ['number', 'null'], 'description': 'Alíquota aplicável de cálculo de crédito - Obrigatório para situação tributária nº 101 e 201'}, 'modalidadeBcIcms': {'enum': [0, 1, 2, 3], 'type': 'integer', 'description': '0 - Margem Valor Agregado (%); 1 - Pauta (valor); 2 - Preço Tabelado Máximo (valor); 3 - Valor da Operação'}, 'AliquotaAdRemRetido': {'type': ['number', 'null'], 'description': 'adRemICMSRet - Alíquota ad rem do ICMS retido anteriormente. Obrigatório no CST 61 (tributação monofásica sobre combustíveis cobrada anteriormente).'}, 'ValorIcmsMonoRetido': {'type': ['number', 'null'], 'description': 'vICMSMonoRet - Valor do ICMS retido anteriormente no CST 61. Opcional: quando não informado, é calculado por QuantidadeMonoRetido x AliquotaAdRemRetido.'}, 'aliquotaDiferimento': {'type': ['number', 'null'], 'description': 'Percentual de diferimento (Utilizado somente no CST 51)'}, 'QuantidadeMonoRetido': {'type': ['number', 'null'], 'description': 'qBCMonoRet - Quantidade tributada retida anteriormente (em unidade de medida da legislação). Opcional no CST 61. Quando não informada, assume a quantidade comercial do item.'}, 'valorDesoneracaoIcms': {'type': ['number', 'null']}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'Código da Situação Tributária (CST) do ICMS, OU Código de Situação da Operação no Simples Nacional (CSOSN). Para empresas no Simples Nacional (CRT 1) ou MEI (CRT 4) use CSOSN: "101","102","103","201","202","203","300","400","500","900". Para empresas em Regime Normal (CRT 3) use CST do ICMS: "00","10","20","30","40","41","50","51","60","70","90".'}, 'motivoDesoneracaoIcms': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, None], 'type': ['integer', 'null'], 'description': '1 - Táxi;; 2 - Deficiente Físico;; 3 - Produtor Agropecuário;; 4 - Frotista / Locadora;; 5 - Diplomático / Consular;; 6 - Utilitários e Motocicletas da Amazônia Ocidental e Áreas de Livre Comércio (Resolução 714/88 e 790/94 - CONTRAN e suas alterações);; 7 - SUFRAMA; 8 - Venda a Orgãos Publicos; 9 - Outros. (v2.0); 10 - Deficiente Condutor (Convênio ICMS 38/12). (v3.1); 11 - Deficiente não Condutor (Convênio ICMS 38/12). (v3.1); 16 - Olimpíadas Rio 2016'}}, 'additionalProperties': False}, 'COFINS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do COFINS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do COFINS (mesma tabela do PIS - Tabela II). Geralmente é o MESMO valor usado no PIS. O CST precisa ser compatível com o tipo de NF (entrada/saída) conforme o CFOP do item.'}}, 'additionalProperties': False}, 'IBSCBS': {'type': ['object', 'null'], 'properties': {'AliquotaCBS': {'type': ['number', 'null'], 'description': 'Alíquota da CBS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo'}, 'AliquotaIBSUF': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência das UF'}, 'AliquotaIBSMun': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência do Município'}, 'PercentualReducaoCBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota da CBS (pRedAliq de gCBS). Pode divergir de PercentualReducaoIBS (ex.: 200025 = IBS 60 / CBS 100). Quando null, é preenchido automaticamente pela tabela oficial.'}, 'PercentualReducaoIBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota do IBS (pRedAliq de gIBSUF/gIBSMun), usado no grupo gRed dos CST 011/200/515. Fixo por cClassTrib na tabela oficial (ex.: 100 para 200003 alimentação/Anexo I, 60 para educação/saúde). Quando null, é preenchido automaticamente pela tabela oficial (TabelaReducaoIbsCbs).'}, 'PercentualDiferimento': {'type': ['number', 'null'], 'description': 'Percentual de diferimento (pDif do grupo gDif), usado nos CST 510/515. Informado pelo contribuinte - NÃO é fixo por cClassTrib. O valor diferido (vDif) é deduzido do IBS/CBS devido.'}, 'CodClassificacaoTributaria': {'type': ['string', 'null'], 'description': 'Código de Classificação Tributária (Padrão 000001)'}}, 'additionalProperties': False}, 'Importacao': {'type': ['object', 'null'], 'properties': {'Valor': {'type': 'number'}, 'ValorIOF': {'type': 'number'}, 'BaseCalculo': {'type': 'number'}, 'DespesasAduaneiras': {'type': 'number'}}, 'additionalProperties': False}}, 'description': 'Tributação do item (ICMS / IPI / PIS / COFINS / IBSCBS / Importação). OBRIGATÓRIO a menos que CodTributacao esteja preenchido - nesse caso pode omitir este bloco. Para NF-e (modelo 55): ICMS + IPI + PIS + COFINS são todos obrigatórios e validados em conjunto. Para NFC-e (modelo 65): ICMS + PIS + COFINS obrigatórios; IPI dispensado.', 'additionalProperties': False}, 'Rastros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'NumeroLote': {'type': ['string', 'null'], 'description': 'Número do lote do produto (1-20 caracteres)'}, 'DataValidade': {'type': 'string', 'description': 'Data de validade'}, 'DataFabricacao': {'type': 'string', 'description': 'Data de fabricação/produção'}, 'QuantidadeLote': {'type': 'number', 'description': 'Quantidade de produto no lote'}, 'CodigoAgregacao': {'type': ['string', 'null'], 'description': 'Código de agregação (opcional)'}}, 'additionalProperties': False}, 'description': 'Rastreabilidade do produto (lote, validade, fabricação). Comum para medicamentos, agrotóxicos, bebidas.'}, 'NItemPed': {'type': ['integer', 'null'], 'description': 'Número do item do Pedido de Compra'}, 'NmProduto': {'type': 'string', 'description': 'Descrição do produto (máx 120 caracteres). Exemplo: "Detergente IPE 500ML".'}, 'Quantidade': {'type': 'number', 'description': 'Quantidade comercial do produto. Aceita de 0 a 4 casas decimais e até 11 inteiros. Deve ser maior que zero (exceto para finalidade 2 - Complementar e 3 - Ajuste).'}, 'ValorFrete': {'type': ['number', 'null'], 'description': 'Valor Frete'}, 'ValorTotal': {'type': 'number', 'description': 'Valor total bruto do item (Quantidade * ValorUnitario). >= 0. Para finalidade 1 - Normal deve ser > 0.'}, 'Combustivel': {'type': ['object', 'null'], 'properties': {'UFConsumo': {'type': ['string', 'null']}, 'CodProdutoANP': {'type': ['string', 'null']}, 'DescricaoProdutoANP': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'ValorSeguro': {'type': ['number', 'null'], 'description': 'Valor Seguro'}, 'Agropecuaria': {'type': ['object', 'null'], 'properties': {'Defensivos': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['NumeroReceituario', 'CpfResponsavelTecnico'], 'properties': {'NumeroReceituario': {'type': 'string', 'description': 'Número da receita ou receituário do agrotóxico/defensivo agrícola (1-30 caracteres).'}, 'CpfResponsavelTecnico': {'type': 'string', 'description': 'CPF (11 dígitos) do engenheiro agrônomo, florestal ou técnico agrícola responsável.'}}, 'additionalProperties': False}, 'description': 'Defensivos agrícolas aplicados (0 a 20). Cada item exige NumeroReceituario e CpfResponsavelTecnico.'}, 'GuiaTransito': {'type': ['object', 'null'], 'required': ['TipoGuia', 'UfGuia', 'NumeroGuia'], 'properties': {'UfGuia': {'type': 'string', 'description': 'Sigla da UF emissora da guia (2 caracteres).'}, 'TipoGuia': {'enum': [1, 2, 3, 4, 5, 6, 7], 'type': 'integer', 'description': 'Tipo da guia de trânsito. Valores: 1 - GTA (Guia de Trânsito Animal); 2 - TTA (Termo de Trânsito Animal); 3 - DTA (Documento de Transferência Animal); 4 - ATV (Autorização de Trânsito Vegetal); 5 - PTV (Permissão de Trânsito Vegetal); 6 - GTV (Guia de Trânsito Vegetal); 7 - Guia Florestal (DOF, SisFlora-PA/MT, SIAM-MG)'}, 'SerieGuia': {'type': ['string', 'null'], 'description': 'Série da guia (1-9 dígitos). Opcional.'}, 'NumeroGuia': {'type': 'string', 'description': 'Número da guia (1-9 dígitos).'}}, 'description': 'Guia de trânsito que autoriza o transporte sanitário do animal, vegetal ou produto florestal.', 'additionalProperties': False}}, 'description': 'Informações de produtos agropecuários e florestais (NT 2024.003 - Grupo ZF). Obrigatório a partir de 01/03/2026 quando o NCM cair em: 01XXXXXX / 0301XXXX (animais vivos - GuiaTransito), 06-12XXXX (vegetais primários - GuiaTransito, UFs ainda inativas), 3808.52 a 3808.99 (defensivos - Defensivos). Já obrigatório em BA, GO, MA, MT para NCM 0102XXXX (bovinos) desde 01/10/2025.', 'additionalProperties': False}, 'CodTributacao': {'type': ['string', 'null'], 'description': 'Código do grupo tributário pré-cadastrado no Painel. Quando informado, o sistema aplica automaticamente CFOP, CST, ICMS, IPI, PIS e COFINS do grupo, dispensando o preenchimento do bloco Imposto e do CFOP do item.'}, 'OrigemProduto': {'enum': [0, 1, 2, 3, 4, 5, 6, 7, 8], 'type': 'integer', 'default': 0, 'description': 'Origem do produto (Tabela A da NF-e). Padrão para a maioria dos casos = 0 (nacional). Valores: 0 - Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8; 1 - Estrangeira - Importação direta, exceto a indicada no código 6; 2 - Estrangeira - Adquirida no mercado interno, exceto a indicada no código 7; 3 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 40% e inferior ou igual a 70%; 4 - Nacional, cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes; 5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%; 6 - Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural; 7 - Estrangeira - Adquirida no mercado interno, sem similar nacional, constante lista CAMEX e gás natural; 8 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 70%'}, 'ValorDesconto': {'type': 'number', 'description': 'Valor do desconto aplicado no item (>= 0 e nunca maior que ValorTotal).'}, 'ValorUnitario': {'type': 'number', 'description': 'Valor unitário do produto (>= 0). Aceita até 10 casas decimais.'}, 'UnidadeComercial': {'type': 'string', 'description': 'Unidade comercial / unidade de medida (máx 6 caracteres). Exemplos: "UN", "PC", "KG", "L", "CX", "M2".'}, 'CodProdutoServico': {'type': 'string', 'description': 'Código/SKU INTERNO do produto no cadastro da empresa (1-60 caracteres alfanuméricos). NÃO usar NCM, CFOP, EAN, GTIN nem códigos da Receita aqui - cada um tem campo próprio (NCM, CFOP, EAN). Exemplos válidos: "PROD-001", "DETIPE500", "SKU12345". Se a empresa não usa SKU interno, repita o EAN ou use "1".'}, 'NItemReferenciado': {'type': ['integer', 'null'], 'description': 'Número do item (nItem) na NF-e ORIGINAL a que este item de devolução corresponde. É o número do item na nota de venda original, NÃO o número do item nesta devolução. Opcional; acompanha ChaveAcessoReferenciada.'}, 'InformacaoAdicional': {'type': ['string', 'null'], 'description': 'Informaçoes adicional'}, 'ValorOutrasDespesas': {'type': ['number', 'null'], 'description': 'Valor Outras Despesas'}, 'DeclaracaoImportacao': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null'], 'description': 'Sigla da UF do adquirente ou do encomendante'}, 'Cnpj': {'type': ['string', 'null'], 'description': 'CNPJ do adquirente ou do encomendante'}, 'Numero': {'type': ['string', 'null'], 'description': 'Número do Documento de Importação (DI, DSI, DIRE, ...)'}, 'ValorAFRMM': {'type': ['number', 'null'], 'description': 'Valor da AFRMM - Adicional ao Frete para Renovação da Marinha Mercante'}, 'DataRegistro': {'type': 'string', 'description': 'Data de Registro do documento de importação'}, 'CodExportador': {'type': ['string', 'null'], 'description': 'Código do Exportador'}, 'CodFabricante': {'type': ['string', 'null'], 'description': 'Código do Fabricante Extrangeiro'}, 'UfDesenbaraco': {'type': ['string', 'null'], 'description': 'Sigla da UF onde ocorreu o Desembaraço Aduaneiro'}, 'TipoIntermedio': {'enum': [1, 2, 3], 'type': 'integer', 'description': 'Forma de importação quanto a intermediação Valores: 1 - Importação por conta própria; 2 - Importação por conta e ordem; 3 - Importação por encomenda'}, 'DataDesenbaraco': {'type': 'string', 'description': 'Data do Desembaraço Aduaneiro'}, 'LocalDesenbaraco': {'type': ['string', 'null'], 'description': 'Local de Desembaraço Aduaneiro'}, 'TipoViaTransporte': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 'type': 'integer', 'description': 'Via de transporte internacional informada na Declaração de Importação (DI) Valores: 1 - Marítima; 2 - Fluvial; 3 - Lacustre; 4 - Aérea; 5 - Postal; 6 - Ferroviária; 7 - Rodoviária; 8 - Conduto / Rede Transmissão; 9 - Meios Próprios; 10 - Entrada / Saída ficta; 11 - Courier; 12 - Handcarry'}}, 'additionalProperties': False}, 'QuantidadeTributavel': {'type': ['number', 'null'], 'description': 'Quantidade Comercial do produto tributável, alterado para aceitar de 0 a 4 casas decimais e 11 inteiros.'}, 'ChaveAcessoReferenciada': {'type': ['string', 'null'], 'description': 'Chave de acesso (44 dígitos) da NF-e ORIGINAL que este item está devolvendo. Usado apenas em NF-e de devolução (Finalidade = 4, Reforma Tributária / NT 2025.002). Quando preenchida, o item é referenciado pelo grupo DFeReferenciado (por item) em vez do NFReferencia (nível nota) - os dois não podem coexistir.'}, 'ValorUnitarioTributavel': {'type': ['number', 'null'], 'description': 'Valor unitário tributável (quando diferente do comercial). Geralmente igual a ValorUnitario.'}, 'UnidadeComercialTributavel': {'type': ['string', 'null'], 'description': 'Unidade comercial tributável (quando diferente da comercial - máx 6 caracteres). Geralmente igual a UnidadeComercial.'}}, 'additionalProperties': False}, 'description': 'Itens da nota fiscal. Mínimo 1 item.'}, 'Retencoes': {'type': ['object', 'null'], 'properties': {'ValorIRRF': {'type': ['number', 'null'], 'description': 'Valor retido do IRRF'}, 'ValorRetidoPIS': {'type': ['number', 'null'], 'description': 'Valor retido de PIS'}, 'BaseCalculoIRRF': {'type': ['number', 'null'], 'description': 'Base de cálculo do IRRF'}, 'ValorRetidoCSLL': {'type': ['number', 'null'], 'description': 'Valor retido de CSLL'}, 'ValorRetidoCOFINS': {'type': ['number', 'null'], 'description': 'Valor retido de COFINS'}, 'ValorRetencaoPrevidencia': {'type': ['number', 'null'], 'description': 'Valor da retenção da Previdência Social'}, 'BaseCalculoRetencaoPrevidencia': {'type': ['number', 'null'], 'description': 'Base de cálculo da retenção da Previdência Social'}}, 'description': 'Retenções federais totais da nota (IRRF, PIS/COFINS/CSLL retidos, Previdência). Gera a tag retTrib no XML.', 'additionalProperties': False}, 'TipoDanfe': {'enum': [0, 1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Formato de impressão do DANFE (tag tpImp da NF-e). Não informado = padrão atual (1-Retrato para NF-e, 4 para NFC-e). Valores: 0 - Sem geração de DANFE; 1 - DANFE normal, Retrato (padrão NF-e); 2 - DANFE normal, Paisagem; 3 - DANFE Simplificado; 4 - DANFE NFC-e (padrão NFC-e; somente modelo 65); 5 - DANFE NFC-e em mensagem eletrônica (somente modelo 65); 6 - DANFE Simplificado Tipo 2 (NT 2026.002/2026.003, Ajuste SINIEF 13/26; somente modelo 55) - NF-e de varejo em operação típica de NFC-e, impressa em bobina com QR Code. Exige operação interna (CFOP 5xxx), consumidor final, finalidade 1-Normal, saída, sem notas referenciadas e IndicadorPresenca 1, 4 ou 5.'}, 'Finalidade': {'enum': [1, 2, 3, 4, 5, 6], 'type': 'integer', 'default': 1, 'description': 'Finalidade da emissão da NF. Valores: 1 - Normal (caso mais comum); 2 - Complementar (referenciando NF anterior em NFReferencia); 3 - Ajuste; 4 - Devolução; 5 - Nota de crédito; 6 - Nota de débito'}, 'Observacao': {'type': ['string', 'null']}, 'Pagamentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'VlPago': {'type': 'number'}, 'VlTroco': {'type': 'number'}, 'Desconto': {'type': 'number'}, 'Descricao': {'type': ['string', 'null']}, 'UFPagamento': {'type': ['string', 'null'], 'description': 'UF do estabelecimento onde o pagamento foi processado (UFPag - NT 2023.004). Opcional.'}, 'CNPJPagamento': {'type': ['string', 'null'], 'description': 'CNPJ do estabelecimento onde o pagamento foi processado/transacionado/recebido (CNPJPag - NT 2023.004). Informar junto com UFPagamento (os dois ou nenhum). Opcional.'}, 'CNPJRecebedor': {'type': ['string', 'null'], 'description': 'CNPJ do beneficiário do pagamento (CNPJReceb - NT 2023.004). Opcional.'}, 'DataPagamento': {'type': ['string', 'null'], 'description': 'Data do pagamento (dPag - NT 2023.004). Opcional.'}, 'FormaPagamento': {'enum': ['01', '02', '03', '04', '05', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '90', '91', '99', None], 'type': ['string', 'null'], 'description': '01 - Dinheiro; 02 - Cheque; 03 - Cartão de Crédito; 04 - Cartão de Débito; 05 - Cartão da Loja (Private Label), Crediário Digital, Outros Crediários; 10 - Vale Alimentação; 11 - Vale Refeição; 12 - Vale Presente; 13 - Vale Combustível; 14 - Duplicata Mercantil; 15 - Boleto Bancário; 16 - Depósito Bancário; 17 - Pagamento Instantâneo (PIX) - Dinâmico; 18 - Transferência Bancária, Carteira Digital; 19 - Programa de fidelidade, cashback, crédito virtual; 20 - Pagamento Instantâneo (PIX) - Estático; 21 - Crédito em Loja; 22 - Pagamento Eletrônico não Informado - falha de hardware; 23 - Pagamento Instantâneo (PIX) - Automático; 24 - TEF Book Transfer; 90 - Sem pagamento; 91 - Pagamento Posterior; 99 - Outros'}, 'TipoIntegracao': {'type': 'boolean', 'description': 'Pagamento integrado com automação?'}, 'BandeiraOperadora': {'enum': ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '99', None], 'type': ['string', 'null'], 'description': '01 - Visa; 02 - Mastercard; 03 - American Express; 04 - Sorocred; 05 - Diners Club; 06 - Elo; 07 - Hipercard; 08 - Aura; 09 - Cabal; 10 - Alelo; 11 - Banes Card; 12 - CalCard; 13 - Credz; 14 - Discover; 15 - GoodCard; 16 - GreenCard; 17 - Hiper; 18 - JcB; 19 - Mais; 20 - MaxVan; 21 - Policard; 22 - RedeCompras; 23 - Sodexo; 24 - ValeCard; 25 - Verocheque; 26 - VR; 27 - Ticket; 99 - Outros'}, 'CNPJCredenciadora': {'type': ['string', 'null']}, 'NumeroAutorizacao': {'type': ['string', 'null'], 'description': 'Número de autorização da operação (cAut). Para PIX, informar o EndToEndId (e2eid) da transação.'}, 'IndicadorPagamento': {'type': 'integer', 'description': '0 - A vista, 1 - Prazo'}, 'IdTerminalPagamento': {'type': ['string', 'null'], 'description': 'Identificador do terminal de pagamento (idTermPag - NT 2023.004). Opcional, 1-40 caracteres.'}}, 'additionalProperties': False}, 'description': 'Formas de pagamento. OBRIGATÓRIO quando Finalidade = 1 (Normal). Para finalidades 2/3/4/5/6 pode ficar vazio. Para NFC-e (mod 65) deve haver pelo menos um pagamento com FormaPagamento diferente de "90" (sem pagamento).'}, 'TpNFDebito': {'enum': [1, 2, 3, 4, 5, 6, 7, None], 'type': ['integer', 'null'], 'description': 'Tipo de Nota de Débito. Obrigatório quando Finalidade = 6. Código SEFAZ: Valores: 1 - Transferência de créditos para Cooperativas; 2 - Anulação de Crédito por Saídas Imunes/Isentas; 3 - Débitos de notas fiscais não processadas na apuração; 4 - Multa e juros; 5 - Transferência de crédito de sucessão; 6 - Pagamento antecipado; 7 - Perda em estoque'}, 'Transporte': {'type': ['object', 'null'], 'properties': {'IE': {'type': ['string', 'null']}, 'UF': {'type': ['string', 'null']}, 'CNPJ': {'type': ['string', 'null']}, 'Balsa': {'type': ['string', 'null']}, 'Vagao': {'type': ['string', 'null']}, 'Reboque': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'UF': {'type': ['string', 'null']}, 'RNTC': {'type': ['string', 'null']}, 'Placa': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'Veiculo': {'type': ['object', 'null'], 'properties': {'UF': {'type': ['string', 'null']}, 'RNTC': {'type': ['string', 'null']}, 'Placa': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Volumes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Marca': {'type': ['string', 'null']}, 'Lacres': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'Numero': {'type': ['string', 'null']}, 'Especie': {'type': ['string', 'null']}, 'PesoBruto': {'type': 'number'}, 'PesoLiquido': {'type': 'number'}, 'QuantidadeVolume': {'type': 'integer'}}, 'additionalProperties': False}}, 'DsEndereco': {'type': ['string', 'null']}, 'NmMunicipio': {'type': ['string', 'null']}, 'ModalidadeFrete': {'enum': [0, 1, 2, 3, 4, 9], 'type': 'integer', 'description': '0 - Contratação do Frete por conta do Remetente (CIF); 1 - Contratação do Frete por conta do Destinatário (FOB); 2 - Contratação do Frete por conta de Terceiros; 3 - Transporte Próprio por conta do Remetente; 4 - Transporte Próprio por conta do Destinatário; 9 - Sem Ocorrência de Transporte'}, 'NmTransportador': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'ValorFrete': {'type': ['number', 'null'], 'description': 'Valor total do frete da nota. Quando informado, é distribuído proporcionalmente entre os itens (proporção pelo ValorTotal de cada item), SUBSTITUINDO o ValorFrete informado em cada produto. Não informado (nulo) = o frete de cada item é usado como enviado.'}, 'ValorTotal': {'type': ['number', 'null'], 'description': 'Valor total esperado da nota (vNF), usado apenas para validação. Quando informado e diferente do valor total calculado (produtos - descontos + frete + seguro + outras despesas + impostos que compõem o total), a emissão é bloqueada e o erro detalha o cálculo. Não informado (nulo) = sem validação.'}, 'DataEmissao': {'type': ['string', 'null'], 'description': 'Data e Hora da saída ou de entrada da produto/serviço (Envia a data atual caso não informada)'}, 'EnviarEmail': {'type': 'boolean'}, 'TpNFCredito': {'enum': [1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Tipo de Nota de Crédito. Obrigatório quando Finalidade = 5. Código SEFAZ: Valores: 1 - Multa e juros; 2 - Apropriação de crédito presumido de IBS sobre saldo devedor na ZFM; 3 - Retorno por recusa total na entrega ou por não localização do destinatário; 4 - Redução de valores; 5 - Transferência de crédito na sucessão; 6 - Retorno por recusa parcial na entrega'}, 'CalcularIBPT': {'type': 'boolean', 'default': True, 'description': 'Calcula o valor aproximado dos tributos (vTotTrib, tabela IBPT, Lei 12.741/2012). Padrão: verdadeiro.'}, 'NFReferencia': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Notas fiscal de Referência'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 2, 'description': 'Identificação do ambiente da SEFAZ. Valores: 1 - Produção (emissão REAL, com valor fiscal, irreversível); 2 - Homologação (teste, sem valor fiscal - use durante desenvolvimento e testes)'}, 'Intermediador': {'type': ['object', 'null'], 'required': ['Cnpj', 'IdCadIntTran'], 'properties': {'Cnpj': {'type': 'string', 'description': 'CNPJ do intermediador da transação (marketplace/plataforma de terceiros). Obrigatório.'}, 'IdCadIntTran': {'type': 'string', 'description': 'Identificação do vendedor no site do intermediador (usuário/login cadastrado). Obrigatório.'}}, 'description': 'Dados do intermediador/marketplace (site ou plataforma de terceiros).', 'additionalProperties': False}, 'Justificativa': {'type': ['string', 'null'], 'description': 'Utilizar quando o tipo de emissão for diferente normal'}, 'ConsumidorFinal': {'type': 'boolean', 'description': 'Indica operação com Consumidor final (NFCe de ser 1 Validar!)'}, 'ModeloDocumento': {'enum': [55, 65], 'type': 'integer', 'default': 55, 'description': 'Código do modelo do Documento Fiscal. Valores: 55 - NF-e (B2B / com destinatário CPF/CNPJ identificado); 65 - NFC-e (consumidor final / varejo)'}, 'ObservacaoFisco': {'type': ['string', 'null']}, 'DataEntradaSaida': {'type': ['string', 'null'], 'description': 'Data e Hora da saída ou de entrada da produto/serviço'}, 'NaturezaOperacao': {'type': 'string', 'description': 'Descrição da natureza da operação (máx 60 caracteres). Exemplos: "Venda de mercadoria", "Remessa para industrialização", "Devolução de venda".'}, 'IndicadorPresenca': {'enum': [0, 1, 2, 3, 4, 5, 9], 'type': 'integer', 'default': 9, 'description': 'Indicador de presença do comprador no estabelecimento comercial no momento da operação. Padrão sugerido para NF-e B2B = 9 (operação não presencial, outros). Para NFC-e varejo = 1 (presencial). Valores: 0 - Não se aplica; 1 - Operação presencial;; 2 - Operação não presencial, pela Internet;; 3 - Operação não presencial, Teleatendimento;; 4 - NFC-e em operação com entrega a domicílio;; 5 - Presencial fora do estabelecimento;; 9 - Operação não presencial, outros.'}, 'confirmacaoUsuario': {'type': 'boolean', 'description': 'Envie true SOMENTE depois que o usuário viu a pré-visualização final e confirmou explicitamente a emissão nesta conversa. Obrigatório em conexões OAuth.'}, 'IdentificadorInterno': {'type': ['string', 'null']}, 'NFPagamentoAntecipado': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Grupo de notas de antecipação de pagamento (gPagAntecipado - Reforma Tributária).'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'ReturnNF': {'type': ['object', 'null'], 'properties': {'Ok': {'type': 'boolean'}, 'Serie': {'type': 'integer'}, 'Numero': {'type': 'integer'}, 'ChaveNF': {'type': ['string', 'null']}, 'Detalhes': {'type': ['object', 'null'], 'properties': {'valorNf': {'type': 'number'}, 'valorIpi': {'type': 'number'}, 'valorPis': {'type': 'number'}, 'valorIcms': {'type': 'number'}, 'valorCofins': {'type': 'number'}}, 'additionalProperties': False}, 'DsTipoAmbiente': {'type': ['string', 'null']}, 'CodTipoAmbiente': {'type': 'integer'}, 'NumeroProtocolo': {'type': ['string', 'null']}, 'DsStatusRespostaSefaz': {'type': ['string', 'null']}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}, 'Base64Xml': {'type': ['string', 'null']}, 'Base64File': {'type': ['string', 'null']}}, 'additionalProperties': False}
nfe_emitir_complementar
Emitir NF-e complementar
Emite uma NF-e complementar referenciando uma NF-e já autorizada. Usado para complementar valores, impostos ou itens (finalidade=2). Informe a chave da nota original em NFReferencia.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'properties': {'CFOP': {'type': 'integer', 'description': 'CFOP'}, 'Lote': {'type': ['integer', 'null'], 'description': 'Lote da Nota Fiscal'}, 'Serie': {'type': ['integer', 'null'], 'description': 'Série da nota Fiscal'}, 'Codigo': {'type': ['string', 'null'], 'description': 'Código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada NF-e.'}, 'Numero': {'type': ['integer', 'null'], 'description': 'Número da nota fiscal'}, 'Cliente': {'type': ['object', 'null'], 'required': ['CpfCnpj', 'NmCliente'], 'properties': {'Ie': {'type': ['string', 'null']}, 'IsUf': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': 'string', 'description': 'CPF (11 dígitos) ou CNPJ (14 dígitos) do destinatário. Aceita com ou sem máscara - o sistema normaliza. Obrigatório para NF-e (modelo 55). Em operações de exportação (CFOP iniciado em 3/7) pode ter de 5 a 20 caracteres.'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NmCliente': {'type': 'string', 'description': 'Nome/Razão Social do destinatário (máx 60 caracteres). Obrigatório para NF-e (modelo 55).'}, 'IndicadorIe': {'enum': [1, 2, 9], 'type': 'integer', 'default': 9, 'description': 'Indicador de Inscrição Estadual. Para NFC-e (modelo 65) DEVE ser 9. Para NF-e (modelo 55) aceita 1, 2 ou 9. Valores: 1 - Contribuinte ICMS (informar a IE do destinatário); 2 - Contribuinte isento de Inscrição no cadastro de Contribuintes do ICMS; 9 - Não Contribuinte, que pode ou não possuir Inscrição Estadual no Cadastro de Contribuintes do ICMS'}}, 'additionalProperties': False}, 'Cobranca': {'type': ['object', 'null'], 'properties': {'Fatura': {'type': ['object', 'null'], 'properties': {'Valor': {'type': 'number'}, 'Numero': {'type': ['string', 'null']}, 'Desconto': {'type': 'number'}, 'ValorLiquido': {'type': 'number'}}, 'additionalProperties': False}, 'Parcelas': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Valor': {'type': 'number'}, 'Vencimento': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'Produtos': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['NmProduto', 'CodProdutoServico', 'NCM', 'Quantidade', 'UnidadeComercial', 'ValorUnitario', 'ValorTotal', 'CFOP', 'OrigemProduto', 'Imposto'], 'properties': {'EAN': {'type': ['string', 'null'], 'description': 'GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barras (8, 12, 13 ou 14 dígitos). Quando o produto não tem GTIN cadastrado, informe a string "SEM GTIN" (literal). Não usar como código interno.'}, 'NCM': {'type': 'string', 'description': 'Código NCM com exatamente 8 dígitos (Nomenclatura Comum do Mercosul). Identifica a classificação fiscal do produto na Receita. NÃO é o código interno - código interno vai em CodProdutoServico. Para serviços ou itens sem produto físico (transferência de crédito, etc.), use "00000000".'}, 'CEST': {'type': ['string', 'null'], 'description': 'Código CEST (7 dígitos). Obrigatório quando o CST/CSOSN do ICMS indicar substituição tributária (rejeição 806 da SEFAZ). Consulte a tabela CEST oficial pelo NCM do produto.'}, 'CFOP': {'type': 'integer', 'description': 'Código Fiscal de Operações e Prestações (CFOP). Exatamente 4 dígitos. Primeiro dígito indica a natureza: 1/2/3 = entrada (interna/interestadual/exterior), 5/6/7 = saída (interna/interestadual/exterior). Para NFC-e (modelo 65) só são aceitos: 5101, 5102, 5103, 5104, 5115, 5405, 5656, 5667, 5933 (rejeição 725).'}, 'nFCI': {'type': ['string', 'null'], 'description': 'Número de controle da FCI - Ficha de Conteúdo de Importação'}, 'xPed': {'type': ['string', 'null'], 'description': 'Número do Pedido de Compra'}, 'cBenef': {'type': ['string', 'null'], 'description': 'Código de Beneficio Fiscal na UF'}, 'Imposto': {'type': 'object', 'properties': {'IPI': {'type': ['object', 'null'], 'required': ['CodEnquadramento', 'CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do IPI'}, 'CodEnquadramento': {'type': 'string', 'description': 'Código de Enquadramento Legal do IPI - EXATAMENTE 3 dígitos (com zeros à esquerda se necessário). Para a maioria dos casos não imunes/suspensos use "999" (tributação normal sem enquadramento especial). Obrigatório para NF-e (modelo 55). Dispensado para NFC-e (modelo 65).'}, 'ValorIpiDevolvido': {'type': 'number', 'description': 'Valor do IPI devolvido'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do IPI. Valores: "00","49","50","99" (saída tributada/não tributada/isenta/outras saídas) ou "01","02","03","04","05","51","52","53","54","55" (entradas - usar conforme o caso). Obrigatório para NF-e (modelo 55). Dispensado para NFC-e (modelo 65).'}, 'PercentualMercadoriaDevolvida': {'type': 'number', 'description': 'Percentual da mercadoria devolvida'}}, 'additionalProperties': False}, 'PIS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do PIS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do PIS (Tabela II - Situação Tributária do PIS). Valores válidos: "01","02","03","04","05","06","07","08","09" (entradas) e "49","50","51","52","53","54","55","56","60","61","62","63","64","65","66","67","70","71","72","73","74","75","98","99" (saídas/outras). O CST precisa ser compatível com o tipo de NF (entrada quando CFOP começa com 1/2/3, saída quando começa com 5/6/7).'}}, 'additionalProperties': False}, 'ICMS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'RedICMS': {'type': ['number', 'null'], 'description': 'Redução ICMS'}, 'STRetido': {'type': ['object', 'null'], 'properties': {'AliquotaFCP': {'type': ['number', 'null'], 'description': 'pFCPSTRet - Alíquota do FCP retido por ST na operação anterior. O valor (vFCPSTRet) é calculado automaticamente por BaseCalculoFCP x AliquotaFCP / 100.'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'vBCSTRet - Base de cálculo do ICMS-ST retido na operação anterior.'}, 'ValorICMSST': {'type': ['number', 'null'], 'description': 'vICMSSTRet - Valor do ICMS-ST retido na operação anterior. Opcional: quando não informado, é calculado por (BaseCalculo x AliquotaConsumidorFinal / 100 - ValorICMSSubstituto). Informe o valor fiel da nota de entrada quando ele divergir da fórmula padrão.'}, 'BaseCalculoFCP': {'type': ['number', 'null'], 'description': 'vBCFCPSTRet - Base de cálculo do FCP retido por ST na operação anterior.'}, 'AliquotaEfetiva': {'type': ['number', 'null'], 'description': 'pICMSEfet - Alíquota do ICMS efetiva (consumidor final). O valor (vICMSEfet) é calculado automaticamente por BaseCalculoEfetiva x AliquotaEfetiva / 100.'}, 'BaseCalculoEfetiva': {'type': ['number', 'null'], 'description': 'vBCEfet - Base de cálculo efetiva (consumidor final). Opcional: quando não informada, é calculada por (ValorTotal + frete + seguro + outras despesas - desconto) x (1 - PercentualReducaoBaseEfetiva/100). Informe o valor fiel quando a composição da base divergir.'}, 'ValorICMSSubstituto': {'type': ['number', 'null'], 'description': 'vICMSSubstituto - Valor do ICMS próprio do substituto cobrado na operação anterior.'}, 'AliquotaConsumidorFinal': {'type': ['number', 'null'], 'description': 'pST - Alíquota suportada pelo consumidor final (alíquota interna do destino + FCP).'}, 'PercentualReducaoBaseEfetiva': {'type': ['number', 'null'], 'description': 'pRedBCEfet - Percentual de redução da base de cálculo efetiva (consumidor final).'}}, 'description': 'Grupo de ICMS-ST retido em operação anterior. Preencher SOMENTE em CST 60 ou CSOSN 500 (revenda de mercadoria cujo ICMS-ST já foi retido por substituição tributária). Quando informado, prevalece sobre a estimativa automática derivada da configuração de ST do produto.', 'additionalProperties': False}, 'RedICMSST': {'type': ['number', 'null'], 'description': 'Redução ICMS ST'}, 'ValorIcms': {'type': ['number', 'null'], 'description': 'Valor do Icms (Calculado Automaticamente quando não informado)'}, 'AliquotaMVA': {'type': ['number', 'null'], 'description': 'Alíquota - Obrigatório para situação tributária nº 201, 202 e 203'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'AliquotaICMS': {'type': ['number', 'null'], 'description': 'Alíquota ICMS - Obrigatório para situação tributária nº 101 e 201'}, 'AliquotaICMSST': {'type': ['number', 'null'], 'description': 'Alíquota ICMS ST - Obrigatório para situação tributária nº 101 e 201'}, 'AliquotaCredito': {'type': ['number', 'null'], 'description': 'Alíquota aplicável de cálculo de crédito - Obrigatório para situação tributária nº 101 e 201'}, 'modalidadeBcIcms': {'enum': [0, 1, 2, 3], 'type': 'integer', 'description': '0 - Margem Valor Agregado (%); 1 - Pauta (valor); 2 - Preço Tabelado Máximo (valor); 3 - Valor da Operação'}, 'AliquotaAdRemRetido': {'type': ['number', 'null'], 'description': 'adRemICMSRet - Alíquota ad rem do ICMS retido anteriormente. Obrigatório no CST 61 (tributação monofásica sobre combustíveis cobrada anteriormente).'}, 'ValorIcmsMonoRetido': {'type': ['number', 'null'], 'description': 'vICMSMonoRet - Valor do ICMS retido anteriormente no CST 61. Opcional: quando não informado, é calculado por QuantidadeMonoRetido x AliquotaAdRemRetido.'}, 'aliquotaDiferimento': {'type': ['number', 'null'], 'description': 'Percentual de diferimento (Utilizado somente no CST 51)'}, 'QuantidadeMonoRetido': {'type': ['number', 'null'], 'description': 'qBCMonoRet - Quantidade tributada retida anteriormente (em unidade de medida da legislação). Opcional no CST 61. Quando não informada, assume a quantidade comercial do item.'}, 'valorDesoneracaoIcms': {'type': ['number', 'null']}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'Código da Situação Tributária (CST) do ICMS, OU Código de Situação da Operação no Simples Nacional (CSOSN). Para empresas no Simples Nacional (CRT 1) ou MEI (CRT 4) use CSOSN: "101","102","103","201","202","203","300","400","500","900". Para empresas em Regime Normal (CRT 3) use CST do ICMS: "00","10","20","30","40","41","50","51","60","70","90".'}, 'motivoDesoneracaoIcms': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, None], 'type': ['integer', 'null'], 'description': '1 - Táxi;; 2 - Deficiente Físico;; 3 - Produtor Agropecuário;; 4 - Frotista / Locadora;; 5 - Diplomático / Consular;; 6 - Utilitários e Motocicletas da Amazônia Ocidental e Áreas de Livre Comércio (Resolução 714/88 e 790/94 - CONTRAN e suas alterações);; 7 - SUFRAMA; 8 - Venda a Orgãos Publicos; 9 - Outros. (v2.0); 10 - Deficiente Condutor (Convênio ICMS 38/12). (v3.1); 11 - Deficiente não Condutor (Convênio ICMS 38/12). (v3.1); 16 - Olimpíadas Rio 2016'}}, 'additionalProperties': False}, 'COFINS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do COFINS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do COFINS (mesma tabela do PIS - Tabela II). Geralmente é o MESMO valor usado no PIS. O CST precisa ser compatível com o tipo de NF (entrada/saída) conforme o CFOP do item.'}}, 'additionalProperties': False}, 'IBSCBS': {'type': ['object', 'null'], 'properties': {'AliquotaCBS': {'type': ['number', 'null'], 'description': 'Alíquota da CBS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo'}, 'AliquotaIBSUF': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência das UF'}, 'AliquotaIBSMun': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência do Município'}, 'PercentualReducaoCBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota da CBS (pRedAliq de gCBS). Pode divergir de PercentualReducaoIBS (ex.: 200025 = IBS 60 / CBS 100). Quando null, é preenchido automaticamente pela tabela oficial.'}, 'PercentualReducaoIBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota do IBS (pRedAliq de gIBSUF/gIBSMun), usado no grupo gRed dos CST 011/200/515. Fixo por cClassTrib na tabela oficial (ex.: 100 para 200003 alimentação/Anexo I, 60 para educação/saúde). Quando null, é preenchido automaticamente pela tabela oficial (TabelaReducaoIbsCbs).'}, 'PercentualDiferimento': {'type': ['number', 'null'], 'description': 'Percentual de diferimento (pDif do grupo gDif), usado nos CST 510/515. Informado pelo contribuinte - NÃO é fixo por cClassTrib. O valor diferido (vDif) é deduzido do IBS/CBS devido.'}, 'CodClassificacaoTributaria': {'type': ['string', 'null'], 'description': 'Código de Classificação Tributária (Padrão 000001)'}}, 'additionalProperties': False}, 'Importacao': {'type': ['object', 'null'], 'properties': {'Valor': {'type': 'number'}, 'ValorIOF': {'type': 'number'}, 'BaseCalculo': {'type': 'number'}, 'DespesasAduaneiras': {'type': 'number'}}, 'additionalProperties': False}}, 'description': 'Tributação do item (ICMS / IPI / PIS / COFINS / IBSCBS / Importação). OBRIGATÓRIO a menos que CodTributacao esteja preenchido - nesse caso pode omitir este bloco. Para NF-e (modelo 55): ICMS + IPI + PIS + COFINS são todos obrigatórios e validados em conjunto. Para NFC-e (modelo 65): ICMS + PIS + COFINS obrigatórios; IPI dispensado.', 'additionalProperties': False}, 'Rastros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'NumeroLote': {'type': ['string', 'null'], 'description': 'Número do lote do produto (1-20 caracteres)'}, 'DataValidade': {'type': 'string', 'description': 'Data de validade'}, 'DataFabricacao': {'type': 'string', 'description': 'Data de fabricação/produção'}, 'QuantidadeLote': {'type': 'number', 'description': 'Quantidade de produto no lote'}, 'CodigoAgregacao': {'type': ['string', 'null'], 'description': 'Código de agregação (opcional)'}}, 'additionalProperties': False}, 'description': 'Rastreabilidade do produto (lote, validade, fabricação). Comum para medicamentos, agrotóxicos, bebidas.'}, 'NItemPed': {'type': ['integer', 'null'], 'description': 'Número do item do Pedido de Compra'}, 'NmProduto': {'type': 'string', 'description': 'Descrição do produto (máx 120 caracteres). Exemplo: "Detergente IPE 500ML".'}, 'Quantidade': {'type': 'number', 'description': 'Quantidade comercial do produto. Aceita de 0 a 4 casas decimais e até 11 inteiros. Deve ser maior que zero (exceto para finalidade 2 - Complementar e 3 - Ajuste).'}, 'ValorFrete': {'type': ['number', 'null'], 'description': 'Valor Frete'}, 'ValorTotal': {'type': 'number', 'description': 'Valor total bruto do item (Quantidade * ValorUnitario). >= 0. Para finalidade 1 - Normal deve ser > 0.'}, 'Combustivel': {'type': ['object', 'null'], 'properties': {'UFConsumo': {'type': ['string', 'null']}, 'CodProdutoANP': {'type': ['string', 'null']}, 'DescricaoProdutoANP': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'ValorSeguro': {'type': ['number', 'null'], 'description': 'Valor Seguro'}, 'Agropecuaria': {'type': ['object', 'null'], 'properties': {'Defensivos': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['NumeroReceituario', 'CpfResponsavelTecnico'], 'properties': {'NumeroReceituario': {'type': 'string', 'description': 'Número da receita ou receituário do agrotóxico/defensivo agrícola (1-30 caracteres).'}, 'CpfResponsavelTecnico': {'type': 'string', 'description': 'CPF (11 dígitos) do engenheiro agrônomo, florestal ou técnico agrícola responsável.'}}, 'additionalProperties': False}, 'description': 'Defensivos agrícolas aplicados (0 a 20). Cada item exige NumeroReceituario e CpfResponsavelTecnico.'}, 'GuiaTransito': {'type': ['object', 'null'], 'required': ['TipoGuia', 'UfGuia', 'NumeroGuia'], 'properties': {'UfGuia': {'type': 'string', 'description': 'Sigla da UF emissora da guia (2 caracteres).'}, 'TipoGuia': {'enum': [1, 2, 3, 4, 5, 6, 7], 'type': 'integer', 'description': 'Tipo da guia de trânsito. Valores: 1 - GTA (Guia de Trânsito Animal); 2 - TTA (Termo de Trânsito Animal); 3 - DTA (Documento de Transferência Animal); 4 - ATV (Autorização de Trânsito Vegetal); 5 - PTV (Permissão de Trânsito Vegetal); 6 - GTV (Guia de Trânsito Vegetal); 7 - Guia Florestal (DOF, SisFlora-PA/MT, SIAM-MG)'}, 'SerieGuia': {'type': ['string', 'null'], 'description': 'Série da guia (1-9 dígitos). Opcional.'}, 'NumeroGuia': {'type': 'string', 'description': 'Número da guia (1-9 dígitos).'}}, 'description': 'Guia de trânsito que autoriza o transporte sanitário do animal, vegetal ou produto florestal.', 'additionalProperties': False}}, 'description': 'Informações de produtos agropecuários e florestais (NT 2024.003 - Grupo ZF). Obrigatório a partir de 01/03/2026 quando o NCM cair em: 01XXXXXX / 0301XXXX (animais vivos - GuiaTransito), 06-12XXXX (vegetais primários - GuiaTransito, UFs ainda inativas), 3808.52 a 3808.99 (defensivos - Defensivos). Já obrigatório em BA, GO, MA, MT para NCM 0102XXXX (bovinos) desde 01/10/2025.', 'additionalProperties': False}, 'CodTributacao': {'type': ['string', 'null'], 'description': 'Código do grupo tributário pré-cadastrado no Painel. Quando informado, o sistema aplica automaticamente CFOP, CST, ICMS, IPI, PIS e COFINS do grupo, dispensando o preenchimento do bloco Imposto e do CFOP do item.'}, 'OrigemProduto': {'enum': [0, 1, 2, 3, 4, 5, 6, 7, 8], 'type': 'integer', 'default': 0, 'description': 'Origem do produto (Tabela A da NF-e). Padrão para a maioria dos casos = 0 (nacional). Valores: 0 - Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8; 1 - Estrangeira - Importação direta, exceto a indicada no código 6; 2 - Estrangeira - Adquirida no mercado interno, exceto a indicada no código 7; 3 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 40% e inferior ou igual a 70%; 4 - Nacional, cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes; 5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%; 6 - Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural; 7 - Estrangeira - Adquirida no mercado interno, sem similar nacional, constante lista CAMEX e gás natural; 8 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 70%'}, 'ValorDesconto': {'type': 'number', 'description': 'Valor do desconto aplicado no item (>= 0 e nunca maior que ValorTotal).'}, 'ValorUnitario': {'type': 'number', 'description': 'Valor unitário do produto (>= 0). Aceita até 10 casas decimais.'}, 'UnidadeComercial': {'type': 'string', 'description': 'Unidade comercial / unidade de medida (máx 6 caracteres). Exemplos: "UN", "PC", "KG", "L", "CX", "M2".'}, 'CodProdutoServico': {'type': 'string', 'description': 'Código/SKU INTERNO do produto no cadastro da empresa (1-60 caracteres alfanuméricos). NÃO usar NCM, CFOP, EAN, GTIN nem códigos da Receita aqui - cada um tem campo próprio (NCM, CFOP, EAN). Exemplos válidos: "PROD-001", "DETIPE500", "SKU12345". Se a empresa não usa SKU interno, repita o EAN ou use "1".'}, 'NItemReferenciado': {'type': ['integer', 'null'], 'description': 'Número do item (nItem) na NF-e ORIGINAL a que este item de devolução corresponde. É o número do item na nota de venda original, NÃO o número do item nesta devolução. Opcional; acompanha ChaveAcessoReferenciada.'}, 'InformacaoAdicional': {'type': ['string', 'null'], 'description': 'Informaçoes adicional'}, 'ValorOutrasDespesas': {'type': ['number', 'null'], 'description': 'Valor Outras Despesas'}, 'DeclaracaoImportacao': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null'], 'description': 'Sigla da UF do adquirente ou do encomendante'}, 'Cnpj': {'type': ['string', 'null'], 'description': 'CNPJ do adquirente ou do encomendante'}, 'Numero': {'type': ['string', 'null'], 'description': 'Número do Documento de Importação (DI, DSI, DIRE, ...)'}, 'ValorAFRMM': {'type': ['number', 'null'], 'description': 'Valor da AFRMM - Adicional ao Frete para Renovação da Marinha Mercante'}, 'DataRegistro': {'type': 'string', 'description': 'Data de Registro do documento de importação'}, 'CodExportador': {'type': ['string', 'null'], 'description': 'Código do Exportador'}, 'CodFabricante': {'type': ['string', 'null'], 'description': 'Código do Fabricante Extrangeiro'}, 'UfDesenbaraco': {'type': ['string', 'null'], 'description': 'Sigla da UF onde ocorreu o Desembaraço Aduaneiro'}, 'TipoIntermedio': {'enum': [1, 2, 3], 'type': 'integer', 'description': 'Forma de importação quanto a intermediação Valores: 1 - Importação por conta própria; 2 - Importação por conta e ordem; 3 - Importação por encomenda'}, 'DataDesenbaraco': {'type': 'string', 'description': 'Data do Desembaraço Aduaneiro'}, 'LocalDesenbaraco': {'type': ['string', 'null'], 'description': 'Local de Desembaraço Aduaneiro'}, 'TipoViaTransporte': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 'type': 'integer', 'description': 'Via de transporte internacional informada na Declaração de Importação (DI) Valores: 1 - Marítima; 2 - Fluvial; 3 - Lacustre; 4 - Aérea; 5 - Postal; 6 - Ferroviária; 7 - Rodoviária; 8 - Conduto / Rede Transmissão; 9 - Meios Próprios; 10 - Entrada / Saída ficta; 11 - Courier; 12 - Handcarry'}}, 'additionalProperties': False}, 'QuantidadeTributavel': {'type': ['number', 'null'], 'description': 'Quantidade Comercial do produto tributável, alterado para aceitar de 0 a 4 casas decimais e 11 inteiros.'}, 'ChaveAcessoReferenciada': {'type': ['string', 'null'], 'description': 'Chave de acesso (44 dígitos) da NF-e ORIGINAL que este item está devolvendo. Usado apenas em NF-e de devolução (Finalidade = 4, Reforma Tributária / NT 2025.002). Quando preenchida, o item é referenciado pelo grupo DFeReferenciado (por item) em vez do NFReferencia (nível nota) - os dois não podem coexistir.'}, 'ValorUnitarioTributavel': {'type': ['number', 'null'], 'description': 'Valor unitário tributável (quando diferente do comercial). Geralmente igual a ValorUnitario.'}, 'UnidadeComercialTributavel': {'type': ['string', 'null'], 'description': 'Unidade comercial tributável (quando diferente da comercial - máx 6 caracteres). Geralmente igual a UnidadeComercial.'}}, 'additionalProperties': False}}, 'Observacao': {'type': ['string', 'null']}, 'Transporte': {'type': ['object', 'null'], 'properties': {'IE': {'type': ['string', 'null']}, 'UF': {'type': ['string', 'null']}, 'CNPJ': {'type': ['string', 'null']}, 'Balsa': {'type': ['string', 'null']}, 'Vagao': {'type': ['string', 'null']}, 'Reboque': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'UF': {'type': ['string', 'null']}, 'RNTC': {'type': ['string', 'null']}, 'Placa': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'Veiculo': {'type': ['object', 'null'], 'properties': {'UF': {'type': ['string', 'null']}, 'RNTC': {'type': ['string', 'null']}, 'Placa': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Volumes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Marca': {'type': ['string', 'null']}, 'Lacres': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'Numero': {'type': ['string', 'null']}, 'Especie': {'type': ['string', 'null']}, 'PesoBruto': {'type': 'number'}, 'PesoLiquido': {'type': 'number'}, 'QuantidadeVolume': {'type': 'integer'}}, 'additionalProperties': False}}, 'DsEndereco': {'type': ['string', 'null']}, 'NmMunicipio': {'type': ['string', 'null']}, 'ModalidadeFrete': {'enum': [0, 1, 2, 3, 4, 9], 'type': 'integer', 'description': '0 - Contratação do Frete por conta do Remetente (CIF); 1 - Contratação do Frete por conta do Destinatário (FOB); 2 - Contratação do Frete por conta de Terceiros; 3 - Transporte Próprio por conta do Remetente; 4 - Transporte Próprio por conta do Destinatário; 9 - Sem Ocorrência de Transporte'}, 'NmTransportador': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NFReferencia': {'type': ['string', 'null'], 'description': 'Notas fiscal de Referência'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Identificação do Ambiente Valores: 1 - Produção; 2 - Homologação'}, 'ObservacaoFisco': {'type': ['string', 'null']}, 'TipoComplemento': {'enum': [0, 1], 'type': 'integer', 'default': 1, 'description': 'Tipo de complemento Valores: 0 - Complementar quantidade ou valor; 1 - Complementar impostos'}, 'NaturezaOperacao': {'type': ['string', 'null'], 'description': 'Descrição da Natureza da Operação'}, 'ImpostoComplementar': {'type': ['object', 'null'], 'properties': {'ValorIPI': {'type': 'number', 'description': 'Valor do complemento do IPI'}, 'ValorICMS': {'type': 'number', 'description': 'Valor do complemento do ICMS'}, 'ValorICMSST': {'type': 'number', 'description': 'Valor do complemento do ICMSST'}, 'AliquotaICMS': {'type': 'number', 'description': 'Alíquota ICMS'}, 'AliquotaICMSST': {'type': 'number', 'description': 'Alíquota ICMSST'}, 'BaseCalculoIPI': {'type': 'number', 'description': 'Base de cálculo do IPI'}, 'BaseCalculoICMS': {'type': 'number', 'description': 'Base de cálculo do ICMS complementar'}, 'BaseCalculoICMSST': {'type': 'number', 'description': 'Base de cálculo do ICMSST complementar'}, 'CodSituacaoTributaria': {'type': ['string', 'null'], 'description': 'Código da Situação Tributária (CST)'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'ReturnNF': {'type': ['object', 'null'], 'properties': {'Ok': {'type': 'boolean'}, 'Serie': {'type': 'integer'}, 'Numero': {'type': 'integer'}, 'ChaveNF': {'type': ['string', 'null']}, 'Detalhes': {'type': ['object', 'null'], 'properties': {'valorNf': {'type': 'number'}, 'valorIpi': {'type': 'number'}, 'valorPis': {'type': 'number'}, 'valorIcms': {'type': 'number'}, 'valorCofins': {'type': 'number'}}, 'additionalProperties': False}, 'DsTipoAmbiente': {'type': ['string', 'null']}, 'CodTipoAmbiente': {'type': 'integer'}, 'NumeroProtocolo': {'type': ['string', 'null']}, 'DsStatusRespostaSefaz': {'type': ['string', 'null']}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}, 'Base64Xml': {'type': ['string', 'null']}, 'Base64File': {'type': ['string', 'null']}}, 'additionalProperties': False}
nfenercom_emitir
Emitir NF-EnerCom
Envia a NF-EnerCom (Nota Fiscal de Energia Comercializada) para autorização na SEFAZ.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['modeloDocumento', 'tipoAmbiente', 'valorTotalFatura', 'dataEmissao', 'destinatario', 'produtos'], 'properties': {'serie': {'type': ['string', 'null'], 'description': 'Série da nota fiscal. Quando não informado é controlado pelo Painel'}, 'numero': {'type': ['integer', 'null'], 'description': 'Número da nota fiscal. Quando não informado é controlado pelo Painel'}, 'energia': {'type': ['object', 'null'], 'properties': {'grupoTensao': {'type': ['integer', 'null'], 'description': 'Código do grupo de tensão'}, 'classeConsumo': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, None], 'type': ['integer', 'null'], 'description': 'Código Classe de Consumo Valores: 1 - Comercial; 2 - Consumo próprio; 3 - Iluminação pública; 4 - Industrial; 5 - Poder público; 6 - Residencial; 7 - Rural; 8 - Serviço Público'}, 'tarifaAplicada': {'type': ['number', 'null']}, 'dataLeituraAtual': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'subClasseConsumo': {'type': ['integer', 'null'], 'description': 'Código da subclasse de consumo de energia elétrica.'}, 'dataLeituraAnterior': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}}, 'description': 'Informações referente a nota de Energia', 'additionalProperties': False}, 'produtos': {'type': 'array', 'items': {'type': 'object', 'properties': {'cfop': {'type': 'integer', 'description': 'Código CFOP'}, 'valor': {'type': 'number', 'description': 'Valor unitário do item'}, 'codigo': {'type': ['string', 'null'], 'description': 'Código interno que identifica item'}, 'aliqPis': {'type': 'number', 'description': 'Alíquota de PIS'}, 'aliqIcms': {'type': 'number', 'description': 'Alíquota de Icms'}, 'desconto': {'type': ['number', 'null'], 'description': 'Desconto total aplicado no item'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do item'}, 'aliqCofins': {'type': 'number', 'description': 'Alíquota de Cofins'}, 'quantidade': {'type': 'number', 'description': 'Quantidade de itens'}, 'codTributacao': {'type': ['string', 'null'], 'description': 'Código do grupo tributário cadastrado no Painel, para automação de impostos'}, 'unidadeMedida': {'type': ['string', 'null'], 'description': 'Unidade de Medida'}, 'outrasDespesas': {'type': ['number', 'null'], 'description': 'Acréscimos e Despesas Acessórias'}, 'codClassificacao': {'type': ['string', 'null'], 'description': 'Código de classificação do serviço'}}, 'additionalProperties': False}, 'description': 'Itens da nota (mínimo 1). Cada item exige codigo, descricao, unidadeMedida, quantidade, valor, CFOP.'}, 'situacao': {'enum': [1, 2, 3, 4], 'type': 'integer', 'default': 4, 'description': 'Situação do documento (Padrão 4) Valores: 1 - documento fiscal cancelado dentro do mesmo período de apuração;; 2 - documento fiscal emitido em substituição a um documento fiscal cancelado dentro do mesmo período de apuração; 3 - documento fiscal complementar; 4 - demais casos'}, 'comunicao': {'type': ['object', 'null'], 'properties': {'tipoAssinante': {'enum': [1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Tipo de Assinate Valores: 1 - Comercial/Industrial; 2 - Poder público; 3 - Residencial/Pessoa física; 4 - Público; 5 - Semi-público; 6 - Outros'}, 'tipoUtilizacao': {'enum': [1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Tipo de Utilização Valores: 1 - Telefonia; 2 - Comunicação de dados; 3 - TV por assinatura; 4 - Provimento de acesso à internet; 5 - Multimídia; 6 - Outros'}}, 'description': 'Informações referente a nota de comunicação e Telecomunicação', 'additionalProperties': False}, 'dataEmissao': {'type': 'string', 'description': 'Data de emissão do documento. Obrigatória.'}, 'destinatario': {'type': 'object', 'properties': {'ie': {'type': ['string', 'null'], 'description': 'Inscrição Estadual'}, 'codigo': {'type': ['string', 'null'], 'description': 'Código interno que identifica o destinatário'}, 'contato': {'type': ['object', 'null'], 'properties': {'fax': {'type': ['string', 'null']}, 'email': {'type': ['string', 'null']}, 'telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'cpfCnpj': {'type': ['string', 'null'], 'description': 'CFP ou CNPJ'}, 'endereco': {'type': ['object', 'null'], 'properties': {'uf': {'type': ['string', 'null']}, 'cep': {'type': ['string', 'null']}, 'pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'bairro': {'type': ['string', 'null']}, 'numero': {'type': ['string', 'null']}, 'codPais': {'type': 'integer', 'default': 1058}, 'municipio': {'type': ['string', 'null']}, 'logradouro': {'type': ['string', 'null']}, 'complemento': {'type': ['string', 'null']}, 'codMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'razaoSocial': {'type': ['string', 'null'], 'description': 'Razão Social'}}, 'description': 'Informações do destinatário (cliente). OBRIGATÓRIO.', 'additionalProperties': False}, 'tipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Tipo de ambiente. Valores: 1 - Produção; 2 - Homologação'}, 'modeloDocumento': {'enum': [6, 21, 22], 'type': 'integer', 'description': 'Modelo do documento. Valores: 6 - Energia elétrica; 21 - Comunicação; 22 - Telecomunicação'}, 'valorTotalFatura': {'type': 'number', 'description': 'Valor total da fatura comercial. Deve ser > 0.'}, 'identificadorInterno': {'type': ['string', 'null'], 'description': 'Código de controle interno unico da venda. Evita duplicidades, caso configurado.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'erros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'codigo': {'type': ['string', 'null'], 'description': 'Código do erro/rejeição (quando houver).'}, 'correcao': {'type': ['string', 'null'], 'description': 'Sugestão de correção, quando disponível.'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do erro.'}}, 'additionalProperties': False}, 'description': 'Lista de erros quando a operação falha. Vazia em caso de sucesso. Cada item traz codigo, descricao e correcao.'}, 'avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em sucesso.'}, 'status': {'type': 'integer', 'description': 'Status do resultado da operação: 1 = sucesso; 2 = erro (a lista erros é preenchida).'}}, 'additionalProperties': False}
nfenercom_gerar_arquivo
Gerar arquivo NF-EnerCom
Gera o arquivo da Nota Fiscal de Energia (NF-EnerCom). Pré-requisito para nfenercom_emitir.
Eingabeschema
{'type': 'object', 'required': ['tipoGeracao', 'tipoAmbiente'], 'properties': {'ano': {'type': ['integer', 'null'], 'description': 'Ano de emissão das notas (4 dígitos). Obrigatório quando tipoGeracao = 1.'}, 'mes': {'type': ['integer', 'null'], 'description': 'Mês de emissão das notas (1-12). Obrigatório quando tipoGeracao = 1.'}, 'notas': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['modeloDocumento', 'tipoAmbiente', 'valorTotalFatura', 'dataEmissao', 'destinatario', 'produtos'], 'properties': {'serie': {'type': ['string', 'null'], 'description': 'Série da nota fiscal. Quando não informado é controlado pelo Painel'}, 'numero': {'type': ['integer', 'null'], 'description': 'Número da nota fiscal. Quando não informado é controlado pelo Painel'}, 'energia': {'type': ['object', 'null'], 'properties': {'grupoTensao': {'type': ['integer', 'null'], 'description': 'Código do grupo de tensão'}, 'classeConsumo': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, None], 'type': ['integer', 'null'], 'description': 'Código Classe de Consumo Valores: 1 - Comercial; 2 - Consumo próprio; 3 - Iluminação pública; 4 - Industrial; 5 - Poder público; 6 - Residencial; 7 - Rural; 8 - Serviço Público'}, 'tarifaAplicada': {'type': ['number', 'null']}, 'dataLeituraAtual': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'subClasseConsumo': {'type': ['integer', 'null'], 'description': 'Código da subclasse de consumo de energia elétrica.'}, 'dataLeituraAnterior': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}}, 'description': 'Informações referente a nota de Energia', 'additionalProperties': False}, 'produtos': {'type': 'array', 'items': {'type': 'object', 'properties': {'cfop': {'type': 'integer', 'description': 'Código CFOP'}, 'valor': {'type': 'number', 'description': 'Valor unitário do item'}, 'codigo': {'type': ['string', 'null'], 'description': 'Código interno que identifica item'}, 'aliqPis': {'type': 'number', 'description': 'Alíquota de PIS'}, 'aliqIcms': {'type': 'number', 'description': 'Alíquota de Icms'}, 'desconto': {'type': ['number', 'null'], 'description': 'Desconto total aplicado no item'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do item'}, 'aliqCofins': {'type': 'number', 'description': 'Alíquota de Cofins'}, 'quantidade': {'type': 'number', 'description': 'Quantidade de itens'}, 'codTributacao': {'type': ['string', 'null'], 'description': 'Código do grupo tributário cadastrado no Painel, para automação de impostos'}, 'unidadeMedida': {'type': ['string', 'null'], 'description': 'Unidade de Medida'}, 'outrasDespesas': {'type': ['number', 'null'], 'description': 'Acréscimos e Despesas Acessórias'}, 'codClassificacao': {'type': ['string', 'null'], 'description': 'Código de classificação do serviço'}}, 'additionalProperties': False}, 'description': 'Itens da nota (mínimo 1). Cada item exige codigo, descricao, unidadeMedida, quantidade, valor, CFOP.'}, 'situacao': {'enum': [1, 2, 3, 4], 'type': 'integer', 'default': 4, 'description': 'Situação do documento (Padrão 4) Valores: 1 - documento fiscal cancelado dentro do mesmo período de apuração;; 2 - documento fiscal emitido em substituição a um documento fiscal cancelado dentro do mesmo período de apuração; 3 - documento fiscal complementar; 4 - demais casos'}, 'comunicao': {'type': ['object', 'null'], 'properties': {'tipoAssinante': {'enum': [1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Tipo de Assinate Valores: 1 - Comercial/Industrial; 2 - Poder público; 3 - Residencial/Pessoa física; 4 - Público; 5 - Semi-público; 6 - Outros'}, 'tipoUtilizacao': {'enum': [1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Tipo de Utilização Valores: 1 - Telefonia; 2 - Comunicação de dados; 3 - TV por assinatura; 4 - Provimento de acesso à internet; 5 - Multimídia; 6 - Outros'}}, 'description': 'Informações referente a nota de comunicação e Telecomunicação', 'additionalProperties': False}, 'dataEmissao': {'type': 'string', 'description': 'Data de emissão do documento. Obrigatória.'}, 'destinatario': {'type': 'object', 'properties': {'ie': {'type': ['string', 'null'], 'description': 'Inscrição Estadual'}, 'codigo': {'type': ['string', 'null'], 'description': 'Código interno que identifica o destinatário'}, 'contato': {'type': ['object', 'null'], 'properties': {'fax': {'type': ['string', 'null']}, 'email': {'type': ['string', 'null']}, 'telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'cpfCnpj': {'type': ['string', 'null'], 'description': 'CFP ou CNPJ'}, 'endereco': {'type': ['object', 'null'], 'properties': {'uf': {'type': ['string', 'null']}, 'cep': {'type': ['string', 'null']}, 'pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'bairro': {'type': ['string', 'null']}, 'numero': {'type': ['string', 'null']}, 'codPais': {'type': 'integer', 'default': 1058}, 'municipio': {'type': ['string', 'null']}, 'logradouro': {'type': ['string', 'null']}, 'complemento': {'type': ['string', 'null']}, 'codMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'razaoSocial': {'type': ['string', 'null'], 'description': 'Razão Social'}}, 'description': 'Informações do destinatário (cliente). OBRIGATÓRIO.', 'additionalProperties': False}, 'tipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Tipo de ambiente. Valores: 1 - Produção; 2 - Homologação'}, 'modeloDocumento': {'enum': [6, 21, 22], 'type': 'integer', 'description': 'Modelo do documento. Valores: 6 - Energia elétrica; 21 - Comunicação; 22 - Telecomunicação'}, 'valorTotalFatura': {'type': 'number', 'description': 'Valor total da fatura comercial. Deve ser > 0.'}, 'identificadorInterno': {'type': ['string', 'null'], 'description': 'Código de controle interno unico da venda. Evita duplicidades, caso configurado.'}}, 'additionalProperties': False}, 'description': 'Notas Fiscais de Energia/Comunicação/Telecomunicação a incluir no arquivo. Obrigatório quando tipoGeracao = 2.'}, 'tipoGeracao': {'enum': [1, 2], 'type': 'integer', 'description': 'Tipo de geração do arquivo. Valores: 1 - Gera o arquivo a partir das notas já emitidas no período (mes + ano informados); 2 - Gera o arquivo a partir da lista de notas informada em "notas"'}, 'tipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Tipo de ambiente. Valores: 1 - Produção; 2 - Homologação'}}, 'additionalProperties': False}
nfe_previsualizar
Pré-visualizar DANFE
Gera o DANFE em PDF e o XML como pré-visualização, sem enviar para a SEFAZ. Envie a nota completa em 'notaFiscal' (mesmo formato de nfe_emitir) com TipoEnvio=1 e TipoArquivo=2 (PDF + XML juntos). O resultado abre num painel ao lado da conversa: chame de novo a cada alteração pedida pelo usuário (CFOP, itens, destinatário, valores) para o painel refletir a nota atual. Erros de validação voltam em 'Error'/'Avisos'.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'cte': {'type': ['object', 'null'], 'required': ['ModeloDocumento', 'TipoAmbiente', 'TipoCte', 'Cfop', 'NaturezaOperacao', 'Modal', 'Carga', 'Servico'], 'properties': {'Cfop': {'type': 'integer', 'description': 'CFOP de 4 dígitos. Primeiro dígito: 1/2/3 = entrada, 5/6/7 = saída.'}, 'Lote': {'type': ['integer', 'null']}, 'Carga': {'type': 'object', 'properties': {'Detalhes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Quantidade': {'type': 'number', 'description': 'Quantidade da Carga (qCarga). Ex: 10000'}, 'TipoMedida': {'type': ['string', 'null'], 'description': 'Tipo de Medida. (tpMed). Ex: "quilos gramas"'}, 'CodUnidadeMedida': {'enum': [0, 1, 2, 3, 4, 5], 'type': 'integer', 'description': 'Código da Unidade de Medida (cUnid) Valores: 0 - Metro Cúbico (M3); 1 - Quilograma (KG); 2 - Tonelada (TON); 3 - Unidade (UNIDADE); 4 - Litros (LITROS); 5 - MMBTU (MMBTU)'}}, 'additionalProperties': False}, 'description': 'Detalhes das quantidades da carga. (infQ)'}, 'Documentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'PIN': {'type': ['string', 'null']}, 'Chave': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Documentos fiscais que acompanham a carga. (infNFe)'}, 'ValorTotal': {'type': 'number', 'description': 'Valor total da carga. (vCarga)'}, 'OutrosDocumentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Valor': {'type': ['number', 'null'], 'description': 'Valor do documento fiscal. (vDocFisc)'}, 'Numero': {'type': ['string', 'null'], 'description': 'Número do documento. (nDoc)'}, 'Descricao': {'type': ['string', 'null'], 'description': 'Descrição do documento. Obrigatória quando TipoDocumento = 99. (descOutros)'}, 'DtEmissao': {'type': ['string', 'null'], 'description': 'Data de emissão do documento. (dEmi)'}, 'DtPrevisao': {'type': ['string', 'null'], 'description': 'Data prevista de entrega. (dPrev)'}, 'TipoDocumento': {'enum': [0, 10, 59, 65, 99], 'type': 'integer', 'description': 'Tipo do documento originário. (tpDoc) Valores: 0 - Declaração; 10 - Dutoviário; 59 - CF-e SAT; 65 - NFC-e; 99 - Outros (exige Descricao)'}}, 'description': 'Outros documentos que acompanham a carga, quando não há NF/NF-e (ex.: mudança, C2C). Mapeia para infDoc/infOutros do CT-e.', 'additionalProperties': False}, 'description': 'Outros documentos que acompanham a carga quando não há NF-e (ex.: declaração de mudança, C2C). (infOutros)'}, 'ProdutoPredominante': {'type': ['string', 'null'], 'description': 'Nome do Produto Predominante. (proPred)'}}, 'description': 'Dados da carga transportada (produto predominante, lista de detalhes, documentos fiscais que acompanham). OBRIGATÓRIO. Para Tipo de serviço 0/1/2/6/7/8 também exige Carga.Documentos com ao menos 1 NF-e referenciada.', 'additionalProperties': False}, 'Modal': {'type': 'object', 'properties': {'Tipo': {'enum': [1, 2, 3, 4, 5, 6], 'type': 'integer', 'default': 1, 'description': 'Modal do CT-e: Valores: 1 - Rodoviário; 2 - Aéreo; 3 - Aquaviário; 4 - Ferroviário; 5 - Dutoviário; 6 - Multimodal'}, 'Rodoviario': {'type': ['object', 'null'], 'properties': {'OCCs': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Serie': {'type': ['string', 'null']}, 'Numero': {'type': 'integer'}, 'Emissor': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null'], 'description': 'Inscrição estadual do emissor'}, 'Uf': {'type': ['string', 'null'], 'description': 'Estado do emissor da OCC'}, 'Cnpj': {'type': ['string', 'null'], 'description': 'CNPJ do emissor da OCC'}, 'Telefone': {'type': ['string', 'null'], 'description': 'Telefone do emissor da OCC'}, 'CodigoInternoOCC': {'type': ['string', 'null'], 'description': 'Código interno da OCC na empresa emissora'}}, 'additionalProperties': False}, 'DtEmissaoColeta': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}}, 'additionalProperties': False}, 'description': 'Lista de coletas realizadas para compor o frete.'}}, 'additionalProperties': False}}, 'description': 'Modal de transporte (rodoviário, aéreo, aquaviário, ferroviário, dutoviário, multimodal). OBRIGATÓRIO. Tipo: 1=Rodoviário, 2=Aéreo, 3=Aquaviário, 4=Ferroviário, 5=Dutoviário, 6=Multimodal.', 'additionalProperties': False}, 'Serie': {'type': ['integer', 'null']}, 'Codigo': {'type': ['integer', 'null']}, 'Numero': {'type': ['integer', 'null']}, 'Retira': {'type': 'boolean'}, 'Imposto': {'type': ['object', 'null'], 'properties': {'ICMS': {'type': ['object', 'null'], 'properties': {'CST': {'type': ['string', 'null'], 'description': 'Código de Situação Tributária (CST) do ICMS. (Ex: 00, 20, 40, 41, 51, 60, 90, etc.) Para empresas do Simples Nacional, é usando o 90 automáticamente.'}, 'Valor': {'type': 'number', 'description': 'Valor do ICMS. (vICMS)'}, 'Aliquota': {'type': 'number', 'description': 'Alíquota do ICMS (em percentual). (pICMS)'}, 'BaseCalculo': {'type': 'number', 'description': 'Base de Cálculo do ICMS. (vBC)'}, 'AliquotaOutraUF': {'type': ['number', 'null'], 'description': 'Alíquota do ICMS devido a Outra UF. (pICMSOutraUF) Usado no CST OutraUF.'}, 'ValorICMSOutraUF': {'type': ['number', 'null'], 'description': 'Valor do ICMS devido a Outra UF. (vICMSOutraUF) Usado no CST OutraUF.'}, 'PercentualReducaoBaseCalculo': {'type': ['number', 'null'], 'description': 'Percentual de Redução da Base de Cálculo. (pRedBC) Usado nos CSTs 20 e 90.'}}, 'description': 'Informações do ICMS', 'additionalProperties': False}, 'Difal': {'type': ['object', 'null'], 'properties': {'ValorFCPUfDestino': {'type': 'number', 'description': 'Valor do Fundo de Combate à Pobreza (FCP) na UF de destino. (vFCPUFFim)'}, 'ValorICMSUfInicio': {'type': 'number', 'description': 'Valor do ICMS devido à UF de origem (Início). (vICMSUFIni)'}, 'ValorICMSUfDestino': {'type': 'number', 'description': 'Valor total do ICMS devido à UF de destino (já com o FCP). (vICMSUFFim)'}, 'BaseCalculoUfDestino': {'type': 'number', 'description': 'Base de Cálculo do ICMS na UF de Destino. (vBCUFFim)'}, 'AliquotaICMSUfDestino': {'type': 'number', 'description': 'Alíquota interna da UF de destino para o ICMS. (pICMSUFFim)'}, 'AliquotaInterestadual': {'type': 'number', 'description': 'Alíquota interestadual das UF envolvidas. (pICMSInter)'}, 'PercentualFCPUfDestino': {'type': 'number', 'description': 'Percentual do Fundo de Combate à Pobreza (FCP) na UF de destino. (pFCPUFFim)'}, 'PercentualPartilhaICMS': {'type': 'number', 'description': 'Percentual de Partilha do ICMS (Ex: 80, 20, 0, etc.). (pICMSInterPart)'}}, 'description': 'Informações sobre o ICMS Partilha (DIFAL/ICMS UF Fim).', 'additionalProperties': False}, 'IBSCBS': {'type': ['object', 'null'], 'properties': {'AliquotaCBS': {'type': ['number', 'null'], 'description': 'Alíquota da CBS (pCBS).'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo do IBS/CBS (vBC). Quando null, usa o valor total da prestação.'}, 'AliquotaIBSUF': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência das UF (pIBSUF).'}, 'AliquotaIBSMun': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência do Município (pIBSMun).'}, 'PercentualReducaoCBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota da CBS (pRedAliq de gRed). Pode divergir de PercentualReducaoIBS.'}, 'PercentualReducaoIBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota do IBS (pRedAliq de gRed), usado nos CST 011/200/515. Quando null, não aplica redução.'}, 'PercentualDiferimento': {'type': ['number', 'null'], 'description': 'Percentual de diferimento (pDif de gDif), usado nos CST 510/515.'}, 'CodClassificacaoTributaria': {'type': ['string', 'null'], 'description': 'Código de Classificação Tributária do IBS/CBS (cClassTrib). O CST é derivado dos 3 primeiros dígitos. Quando vazio, assume "000001".'}}, 'description': 'Informações do IBS/CBS (Reforma Tributária - NT 2025.001). Quando preenchido, gera o grupo imp/IBSCBS no XML do CT-e.', 'additionalProperties': False}, 'TributosFederal': {'type': ['object', 'null'], 'properties': {'ValorIr': {'type': ['number', 'null'], 'description': 'Valor do Imposto de Renda retido. (vIR)'}, 'ValorPis': {'type': ['number', 'null'], 'description': 'Valor do PIS retido. (vPIS)'}, 'ValorCsll': {'type': ['number', 'null'], 'description': 'Valor da CSLL retida. (vCSLL)'}, 'ValorInss': {'type': ['number', 'null'], 'description': 'Valor do INSS retido. (vINSS)'}, 'ValorCofins': {'type': ['number', 'null'], 'description': 'Valor do COFINS retido. (vCOFINS)'}}, 'description': 'Lista de PIS e COFINS (Tributos Federais).', 'additionalProperties': False}, 'ValorTotalTributos': {'type': ['number', 'null'], 'description': 'Valor total dos tributos federais e estaduais, aproximado conforme Lei 12.741/12.'}, 'InformacoesAdicionaisFisco': {'type': ['string', 'null'], 'description': 'Informações Adicionais de Interesse do Fisco.'}}, 'additionalProperties': False}, 'Servico': {'type': 'object', 'properties': {'Tipo': {'enum': [0, 1, 2, 3, 4, 6, 7, 8], 'type': 'integer', 'description': 'Tipo do Serviço: Valores: 0 - Normal; 1 - Subcontratação; 2 - Redespacho; 3 - Redespacho Intermediário; 4 - Serviço Vinculado ao Multimodal; 6 - Transporte de Pessoas; 7 - Transporte de Valores; 8 - Excesso de Bagagem'}, 'Componentes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Nome': {'type': ['string', 'null']}, 'Valor': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Lista de componentes que detalham como o valor total do frete foi formado.'}, 'MunicipioFim': {'type': ['string', 'null'], 'description': 'Nome do município do destino do transporte'}, 'ValorReceber': {'type': 'number', 'description': 'O valor líquido a receber pelo transportador.'}, 'ValorPrestacao': {'type': 'number', 'description': 'O valor total cobrado pela prestação do serviço de transporte.'}, 'CodMunicipioFim': {'type': 'integer', 'description': 'Código IBGE do município do destino o transporte'}, 'MunicipioInicio': {'type': ['string', 'null'], 'description': 'Nome do município do início do transporte'}, 'CodMunicipioInicio': {'type': 'integer', 'description': 'Código IBGE do município do início do transporte'}}, 'description': 'Dados do serviço prestado (Tipo, CodMunicipioInicio, CodMunicipioFim com 7 dígitos cada, MunicipioInicio/MunicipioFim, ValorPrestacao > 0, ValorReceber > 0). OBRIGATÓRIO. Tipo: 0=Normal, 1=Subcontratação, 2=Redespacho, 3=RedespachoIntermediario, 4=ServicoVinculadoMultimodal.', 'additionalProperties': False}, 'TipoCte': {'enum': [0, 1, 2, 3], 'type': 'integer', 'description': 'Tipo do CT-e. Valores: 0 - CT-e Normal (caso mais comum); 1 - CT-e de Complemento de Valores; 2 - CT-e de Anulação; 3 - CT-e Substituto'}, 'Tomador': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'IndicadorIe': {'enum': [1, 2, 9], 'type': 'integer', 'description': 'Indicador de IE: Valores: 1 - Contribuinte do ICMS; 2 - Contribuinte isento de inscrição; 9 - Não contribuinte'}, 'TipoTomador': {'enum': [0, 1, 2, 3, 4], 'type': 'integer', 'description': 'Tipo do participante do CT-e: Valores: 0 - Remetente; 1 - Expedidor; 2 - Recebedor; 3 - Destinatário; 4 - Outros (Informar dados Tomador)'}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'DtEmissao': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'Expedidor': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Remetente': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Observacao': {'type': ['string', 'null']}, 'Destinatario': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NomeFantasia': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Identificação do ambiente da SEFAZ. Valores: 1 - Produção (emissão real, irreversível); 2 - Homologação (teste, sem valor fiscal)'}, 'ModeloDocumento': {'enum': [57, 67], 'type': 'integer', 'default': 57, 'description': 'Modelo do Conhecimento de Transporte Eletrônico. Valores: 57 - CT-e (Conhecimento de Transporte Eletrônico); 67 - CT-e OS (Outros Serviços de transporte)'}, 'NaturezaOperacao': {'type': 'string', 'description': 'Descrição da natureza da operação (ex: "Prestação de serviço de transporte").'}, 'IdentificadorInterno': {'type': ['string', 'null']}}, 'description': 'CT-e (modelo 57/67). Usado quando TipoEnvio = 1. Gera o DACTE/XML de pré-visualização.', 'additionalProperties': False}, 'dce': {'type': ['object', 'null'], 'required': ['TipoAmbiente', 'Remetente', 'Destinatario', 'Itens', 'DeclaracaoContribuinteICMS', 'DeclaracaoCrimeTributario'], 'properties': {'Lote': {'type': ['integer', 'null']}, 'Itens': {'type': 'array', 'items': {'type': 'object', 'required': ['Descricao', 'ValorTotal'], 'properties': {'NCM': {'type': ['string', 'null'], 'description': 'Código NCM. Quando informado deve ter 2 ou 8 dígitos. Opcional na DC-e.'}, 'Descricao': {'type': 'string', 'description': 'Descrição do produto/conteúdo (1-120 caracteres). Obrigatória.'}, 'Quantidade': {'type': ['number', 'null'], 'description': 'Quantidade do item.'}, 'ValorTotal': {'type': 'number', 'description': 'Valor total do item. Deve ser > 0.'}, 'ValorUnitario': {'type': ['number', 'null'], 'description': 'Valor unitário do item.'}, 'InformacoesAdicionais': {'type': ['string', 'null'], 'description': 'Informações adicionais do produto (opcional, até 500 caracteres)'}}, 'additionalProperties': False}, 'description': 'Itens/produtos declarados no conteúdo (mínimo 1, máximo 999). Cada item exige Descricao (até 120 chars) e ValorTotal > 0. NCM opcional (2 ou 8 dígitos quando informado).'}, 'Serie': {'type': ['integer', 'null']}, 'Codigo': {'type': ['integer', 'null']}, 'Numero': {'type': ['integer', 'null']}, 'UfFisco': {'type': ['string', 'null'], 'description': 'Sigla da UF do órgão fiscalizador (obrigatório quando TipoEmitente=0). Se não preenchido, usa a UF da empresa emissora.'}, 'Remetente': {'type': 'object', 'properties': {'Nome': {'type': ['string', 'null'], 'description': 'Nome ou Razão Social'}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'description': 'Pessoa física/jurídica que está enviando o pacote. OBRIGATÓRIO. Exige Endereco completo (validado por ValidaPessoaDCe).', 'additionalProperties': False}, 'ValorTotal': {'type': ['number', 'null'], 'description': 'Valor total declarado da DC-e. Se omitido, soma dos ValorTotal dos itens. Deve ser > 0.'}, 'XOrgaoFisco': {'type': ['string', 'null'], 'description': 'Nome do órgão fiscalizador (obrigatório quando TipoEmitente=0)'}, 'Destinatario': {'type': 'object', 'properties': {'Nome': {'type': ['string', 'null'], 'description': 'Nome ou Razão Social'}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'description': 'Destinatário do pacote. OBRIGATÓRIO. Exige Endereco completo.', 'additionalProperties': False}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Tipo de ambiente. Valores: 1 - Produção (emissão real); 2 - Homologação (teste)'}, 'TipoEmitente': {'enum': [0, 1, 2, 3, 4], 'type': 'integer', 'default': 3, 'description': 'Tipo do emitente: Valores: 0 - App Fisco; 1 - Marketplace; 2 - Emissor próprio; 3 - Transportadora; 4 - ECT (Correios)'}, 'SiteMarketplace': {'type': ['string', 'null'], 'description': 'URL do site do marketplace (obrigatório quando TipoEmitente=1)'}, 'CnpjTransportadora': {'type': ['string', 'null'], 'description': 'CNPJ da transportadora que leva a carga. Opcional. Quando informado, é usado no XML; quando vazio, mantém o CNPJ da empresa emissora.'}, 'IdentificadorInterno': {'type': ['string', 'null']}, 'ModalidadeTransporte': {'enum': [0, 1, 2], 'type': 'integer', 'default': 2, 'description': 'Modalidade de transporte: Valores: 0 - Correios; 1 - Conta própria; 2 - Transportadora'}, 'DeclaracaoCrimeTributario': {'type': 'string', 'description': 'Texto da declaração de crime tributário (xObs2). OBRIGATÓRIO, até 5000 caracteres. Texto padrão sugerido: "Declaro, sob as penas da lei, que o conteúdo desta declaração é verdadeiro e que não estou cometendo crime contra a ordem tributária."'}, 'InformacoesComplementares': {'type': ['string', 'null'], 'description': 'Informações complementares (opcional, até 5000 caracteres).'}, 'DeclaracaoContribuinteICMS': {'type': 'string', 'description': 'Texto da declaração de contribuinte ICMS (xObs1). OBRIGATÓRIO, até 2000 caracteres. Texto padrão sugerido: "Declaro, sob as penas da lei, que não sou contribuinte do ICMS."'}, 'InformacoesAdicionaisFisco': {'type': ['string', 'null'], 'description': 'Informações adicionais de interesse do fisco (opcional, até 2000 caracteres).'}}, 'description': 'DC-e (modelo 99). Usado quando TipoEnvio = 1. Gera o DACE/XML de pré-visualização.', 'additionalProperties': False}, 'mdfe': {'type': ['object', 'null'], 'required': ['tipoAmbiente', 'tipoEmitente', 'ufCarregamento', 'ufDescarregamento', 'modalidade', 'valor', 'peso'], 'properties': {'lote': {'type': ['integer', 'null']}, 'peso': {'type': 'number', 'description': 'Peso bruto total das mercadorias em KG. DEVE ser > 0.'}, 'Aereo': {'type': ['object', 'null'], 'properties': {'dataVoo': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'matricula': {'type': ['string', 'null']}, 'numeroVoo': {'type': ['string', 'null']}, 'nacionalidade': {'type': ['string', 'null']}, 'aerodromoDestino': {'type': ['string', 'null']}, 'aerodromoEmbarque': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'serie': {'type': ['integer', 'null']}, 'valor': {'type': 'number', 'description': 'Valor total das mercadorias transportadas. DEVE ser > 0.'}, 'codigo': {'type': ['integer', 'null']}, 'numero': {'type': ['integer', 'null']}, 'seguros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'cnpjSegurador': {'type': ['string', 'null'], 'description': 'CNPJ da seguradora (somente dígitos).'}, 'nomeSegurador': {'type': ['string', 'null'], 'description': 'Razão social / nome da seguradora.'}, 'numeroApolice': {'type': ['string', 'null'], 'description': 'Número da apólice de seguro. Obrigatório para modal rodoviário no MDF-e versão 3.00.'}, 'numerosAverbacao': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Lista de números de averbação do seguro (0..N). Opcional.'}, 'cpfCnpjResponsavel': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ do responsável pela contratação do seguro. Informar somente quando indicadorResponsavel = 2 (responsável pela contratação); se for o próprio emitente do MDF-e, o CNPJ da empresa é utilizado automaticamente.'}, 'indicadorResponsavel': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Identificação do Ambiente (Padrão 1) Valores: 1 - Emitente do MDF-e; 2 - Responsável pela contratação'}}, 'additionalProperties': False}}, 'Aquaviario': {'type': ['object', 'null'], 'properties': {'cnpjAgencia': {'type': ['string', 'null']}, 'numeroViagem': {'type': ['string', 'null']}, 'codEmbarcacao': {'type': ['string', 'null']}, 'nomeEmbarcacao': {'type': ['string', 'null']}, 'tipoEmbarcacao': {'type': 'integer'}, 'codPortoDestino': {'type': ['string', 'null']}, 'codPortoEmbarque': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Rodoviario': {'type': ['object', 'null'], 'properties': {'uf': {'type': ['string', 'null']}, 'CIOT': {'type': ['object', 'null'], 'properties': {'cnpj': {'type': ['string', 'null']}, 'codigo': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'tara': {'type': 'integer', 'description': 'Tara em KG'}, 'capKG': {'type': ['integer', 'null'], 'description': 'Capacidade em KG do veículo de tração. Opcional.'}, 'capM3': {'type': ['integer', 'null'], 'description': 'Capacidade em M3 do veículo de tração. Opcional.'}, 'placa': {'type': ['string', 'null']}, 'renavam': {'type': ['string', 'null']}, 'reboques': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'uf': {'type': ['string', 'null'], 'description': 'UF de licenciamento do reboque (sigla de 2 letras).'}, 'tara': {'type': ['integer', 'null'], 'description': 'Tara em KG'}, 'capKG': {'type': ['integer', 'null']}, 'capM3': {'type': ['integer', 'null']}, 'placa': {'type': ['string', 'null'], 'description': 'Placa do reboque (sem máscara).'}, 'renavam': {'type': ['string', 'null']}, 'tipoCarroceria': {'enum': [0, 1, 2, 3, 4, 5], 'type': 'integer', 'description': 'Tipo de Carroceria Valores: 0 - Não aplicável; 1 - Aberta; 2 - Fechado Baú; 3 - Granelera; 4 - Porta Container; 5 - Sider'}}, 'additionalProperties': False}, 'description': 'Lista de veículos de reboque acoplados à tração. Opcional - se nulo/vazio,'}, 'condutores': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'cpf': {'type': ['string', 'null']}, 'nome': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'pagamentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'parcelas': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'valor': {'type': ['number', 'null'], 'description': 'Valor da parcela.'}, 'numero': {'type': 'integer', 'description': 'Número da parcela.'}, 'vencimento': {'type': ['string', 'null'], 'description': 'Data de vencimento da parcela.'}}, 'additionalProperties': False}, 'description': 'Parcelas do pagamento (informar somente se a prazo).'}, 'componentes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'tipo': {'type': ['string', 'null'], 'description': 'Tipo do componente: 01 - Vale-Pedágio; 02 - Impostos, taxas e contribuições; 03 - Despesas; 99 - Outros.'}, 'valor': {'type': 'number', 'description': 'Valor do componente.'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do componente (usar quando tipo = 99).'}}, 'additionalProperties': False}, 'description': 'Componentes do pagamento do frete.'}, 'infoBancaria': {'type': ['object', 'null'], 'properties': {'pix': {'type': ['string', 'null'], 'description': 'Chave PIX para recebimento do frete (alternativa ao banco/agência).'}, 'codBanco': {'type': ['string', 'null'], 'description': 'Número do banco. Informar junto com a agência (ou use cnpjInstituicaoPagamento, ou pix).'}, 'codAgencia': {'type': ['string', 'null'], 'description': 'Número da agência bancária.'}, 'cnpjInstituicaoPagamento': {'type': ['string', 'null'], 'description': 'CNPJ da instituição de pagamento eletrônico do frete (alternativa ao banco/agência).'}}, 'description': 'Informações bancárias para recebimento do frete.', 'additionalProperties': False}, 'valorContrato': {'type': 'number', 'description': 'Valor total do contrato.'}, 'altoDesempenho': {'type': 'boolean', 'description': 'Operação de transporte de alto desempenho (frota dedicada/fidelizada).'}, 'nomeResponsavel': {'type': ['string', 'null'], 'description': 'Razão social ou nome do responsável pelo pagamento.'}, 'tipoAntecipacao': {'type': ['integer', 'null'], 'description': 'Permissão de antecipação das parcelas: 0 - não permite; 1 - permite; 2 - permite mediante confirmação.'}, 'valorAdiantamento': {'type': ['number', 'null'], 'description': 'Valor do adiantamento (usar apenas em pagamento a prazo).'}, 'cpfCnpjResponsavel': {'type': ['string', 'null'], 'description': 'CPF, CNPJ ou identificador estrangeiro do responsável pelo pagamento do frete.'}, 'indicadorPagamento': {'type': 'integer', 'description': 'Forma de pagamento: 0 - à vista; 1 - a prazo.'}, 'anteciparAdiantamento': {'type': 'boolean', 'description': 'Concordância em antecipar o adiantamento.'}}, 'additionalProperties': False}, 'description': 'Informações de pagamento do frete (grupo infANTT/infPag).'}, 'tipoRodado': {'enum': [1, 2, 3, 4, 5, 6], 'type': 'integer', 'description': 'Tipo de Rodado (Padrão 1) Valores: 1 - Truck; 2 - Toco; 3 - Cavalo Mecânico; 4 - VAN; 5 - Utilitário; 6 - Outros'}, 'valePedagio': {'type': ['object', 'null'], 'properties': {'dispositivos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'tipo': {'type': ['string', 'null'], 'description': 'Tipo do vale-pedágio: 01 - TAG, 02 - Cupom, 03 - Cartão.'}, 'valor': {'type': 'number', 'description': 'Valor do vale-pedágio.'}, 'cnpjFornecedor': {'type': ['string', 'null'], 'description': 'CNPJ da empresa fornecedora do vale-pedágio.'}, 'cpfCnpjPagador': {'type': ['string', 'null'], 'description': 'CPF ou CNPJ do responsável pelo pagamento. Informar quando não for o emitente do MDF-e.'}, 'numeroComprovante': {'type': ['string', 'null'], 'description': 'Número do comprovante de compra.'}}, 'additionalProperties': False}, 'description': 'Dispositivos do vale-pedágio.'}, 'categoriaCombinacaoVeicular': {'type': ['string', 'null'], 'description': 'Categoria de combinação veicular (02 a 14, conforme número de eixos).'}}, 'description': 'Vale-pedágio (grupo infANTT/valePed).', 'additionalProperties': False}, 'contratantes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'nome': {'type': ['string', 'null'], 'description': 'Razão social ou nome do contratante.'}, 'cpfCnpj': {'type': ['string', 'null'], 'description': 'CPF, CNPJ ou identificador estrangeiro do contratante do transporte.'}, 'nroContrato': {'type': ['string', 'null'], 'description': 'Número do contrato do transportador com o contratante, para prestações continuadas.'}, 'vContratoGlobal': {'type': ['number', 'null'], 'description': 'Valor global do contrato. Usar somente no pagamento a prazo.'}}, 'additionalProperties': False}, 'description': 'Contratantes do serviço de transporte (grupo infANTT/infContratante).'}, 'tipoCarroceria': {'enum': [0, 1, 2, 3, 4, 5], 'type': 'integer', 'description': 'Tipo de Carroceria (Padrão 1) Valores: 0 - Não aplicavel; 1 - Aberta; 2 - Fechado Baú; 3 - Granelera; 4 - Porta Container; 5 - Sider'}}, 'description': 'Dados do transporte rodoviário (placa 7 caracteres, condutores com CPF/nome, UF do veículo). OBRIGATÓRIO quando modalidade = 1.', 'additionalProperties': False}, 'modalidade': {'enum': [1, 2, 3, 4], 'type': 'integer', 'default': 1, 'description': 'Modalidade de transporte. Valores: 1 - Rodoviário (exige objeto Rodoviario com placa, condutores e percurso); 2 - Aéreo (exige objeto Aereo); 3 - Aquaviário (exige objeto Aquaviario); 4 - Ferroviário (exige objeto Ferroviario)'}, 'observacao': {'type': ['string', 'null']}, 'DataEmissao': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'Ferroviario': {'type': ['object', 'null'], 'properties': {'Vagoes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'serie': {'type': 'integer'}, 'numero': {'type': 'integer'}, 'pesoBc': {'type': 'number', 'description': 'Peso Base de Cálculo de Frete em Toneladas'}, 'pesoReal': {'type': 'number', 'description': 'Peso Real em Toneladas'}, 'sequencia': {'type': ['integer', 'null']}, 'toneladaUtil': {'type': 'number'}}, 'additionalProperties': False}}, 'origem': {'type': ['string', 'null']}, 'destino': {'type': ['string', 'null']}, 'prefixo': {'type': ['string', 'null']}, 'DataLiberacao': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'quantidadeVagoes': {'type': 'integer'}}, 'additionalProperties': False}, 'percursoUfs': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'tipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Tipo de ambiente. IMPORTANTE: passe explicitamente. Para testes use 2. Valores: 1 - Produção; 2 - Homologação'}, 'tipoEmitente': {'enum': [1, 2], 'type': 'integer', 'default': 2, 'description': 'Tipo de emitente. Valores: 1 - Prestador de Serviço de Transporte (transportadora); 2 - Transportador de carga própria (mais comum - empresa transportando seus próprios produtos)'}, 'carregamentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'municipio': {'type': ['string', 'null']}, 'codMunicipio': {'type': 'integer'}}, 'additionalProperties': False}}, 'ufCarregamento': {'type': 'string', 'description': 'UF de carregamento (origem). Sigla de 2 letras (SP, RJ, MG...).'}, 'observacaoFisco': {'type': ['string', 'null']}, 'descarregamentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'chaveDfe': {'type': ['string', 'null']}, 'municipio': {'type': ['string', 'null']}, 'codMunicipio': {'type': 'integer'}, 'transportePerigosos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'codigoONU': {'type': ['string', 'null']}, 'quantidade': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'ufDescarregamento': {'type': 'string', 'description': 'UF de descarregamento (destino). Sigla de 2 letras (SP, RJ, MG...).'}, 'produtoPredominante': {'type': ['object', 'null'], 'properties': {'ncm': {'type': ['string', 'null'], 'description': 'Código NCM do produto. Opcional. Aceita 2 ou 8 dígitos.'}, 'cEan': {'type': ['string', 'null'], 'description': 'GTIN/EAN do produto. Opcional. Use "SEM GTIN" se não houver.'}, 'tpCarga': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 'type': 'integer', 'description': 'Tipo de Carga (Resolução ANTT 5.849/2019). Valor de 1 a 11. Valores: 1 - Granel sólido; 2 - Granel líquido; 3 - Frigorificada; 4 - Conteinerizada; 5 - Carga Geral; 6 - Neogranel; 7 - Perigosa (granel sólido); 8 - Perigosa (granel líquido); 9 - Perigosa (carga frigorificada); 10 - Perigosa (conteinerizada); 11 - Perigosa (carga geral)'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do produto predominante (1 a 120 caracteres).'}, 'infLotacao': {'type': ['object', 'null'], 'properties': {'localCarrega': {'type': ['object', 'null'], 'properties': {'cep': {'type': ['string', 'null'], 'description': 'CEP do local (8 dígitos). Quando informado, latitude/longitude são ignorados.'}, 'latitude': {'type': ['string', 'null'], 'description': 'Latitude. Informe junto com longitude quando não houver CEP.'}, 'longitude': {'type': ['string', 'null'], 'description': 'Longitude. Informe junto com latitude quando não houver CEP.'}}, 'description': 'Local de carregamento da lotação. Informe CEP OU (latitude + longitude).', 'additionalProperties': False}, 'localDescarrega': {'type': ['object', 'null'], 'properties': {'cep': {'type': ['string', 'null'], 'description': 'CEP do local (8 dígitos). Quando informado, latitude/longitude são ignorados.'}, 'latitude': {'type': ['string', 'null'], 'description': 'Latitude. Informe junto com longitude quando não houver CEP.'}, 'longitude': {'type': ['string', 'null'], 'description': 'Longitude. Informe junto com latitude quando não houver CEP.'}}, 'description': 'Local de descarregamento da lotação. Informe CEP OU (latitude + longitude).', 'additionalProperties': False}}, 'description': 'Informações de carga lotação. Opcional - só preencha quando o MDF-e for de carga lotação.', 'additionalProperties': False}}, 'description': 'Produto predominante transportado. Opcional.', 'additionalProperties': False}, 'identificadorInterno': {'type': ['string', 'null']}}, 'description': 'MDF-e (modelo 58). Usado quando TipoEnvio = 1. Gera o DAMDFE/XML de pré-visualização.', 'additionalProperties': False}, 'nfse': {'type': ['object', 'null'], 'required': ['TipoAmbiente', 'nFSInfo'], 'properties': {'Lote': {'type': ['integer', 'null']}, 'nFSInfo': {'type': 'array', 'items': {'type': 'object', 'required': ['Servico'], 'properties': {'Servico': {'type': 'object', 'required': ['ItemListaServico'], 'properties': {'CodNBS': {'type': ['string', 'null'], 'description': 'Código NBS (Nomenclatura Brasileira de Serviços).'}, 'IBSCBS': {'type': ['object', 'null'], 'properties': {'AliqCbs': {'type': ['number', 'null'], 'description': 'Alíquota da CBS (pCBS) em %. Se null, usa 0,90% (padrão de teste 2025-2026).'}, 'AliqIbsUf': {'type': ['number', 'null'], 'description': 'Alíquota do IBS Estadual (pIBSUF) em %. Se null, usa 0,10% (padrão de teste 2025-2026).'}, 'AliqIbsMun': {'type': ['number', 'null'], 'description': 'Alíquota do IBS Municipal (pIBSMun) em %. Se null, usa 0% (padrão de teste 2025-2026).'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo do IBS/CBS (vBC). Se null, usa ValorServico - DescontoIncondicionado.'}, 'CodClassTrib': {'type': ['string', 'null'], 'description': 'Código de Classificação Tributária (cClassTrib, 6 dígitos). Os 3 primeiros são o CST. Padrão 000001.'}, 'TipoOperacao': {'enum': [1, 2, 3, 4, 5, None], 'type': ['integer', 'null'], 'description': 'Tipo de Operação (tpOper). Obrigatório para os serviços da LC 116/2003 25.05, 15.09, 17.12 e 10.05 (senão a prefeitura recusa com E0903). Se null nesses casos, assume 5 (fornecimento e recebimento concomitantes). Valores: 1 - Fornecimento com pagamento posterior; 2 - Recebimento do pagamento com fornecimento já realizado; 3 - Fornecimento com pagamento já realizado; 4 - Recebimento do pagamento com fornecimento posterior; 5 - Fornecimento e recebimento do pagamento concomitantes'}, 'EnderecoImovel': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'description': 'Endereço do imóvel onde o serviço foi prestado. Obrigatório (grupo imovel na DPS) quando o cIndOp é de operação sobre bem imóvel (020101/020201/020301) É um endereço próprio da operação (NÃO o do tomador); se ficar vazio nesses casos, cai no endereço do tomador.', 'additionalProperties': False}, 'IndicadorUsoFinal': {'enum': [0, 1], 'type': 'integer', 'description': 'Indica operação de uso ou consumo pessoal (indFinal, art. 57). Valores: 0 - Não (padrão); 1 - Sim'}, 'CodIndicadorOperacao': {'type': ['string', 'null'], 'description': 'Código Indicador da Operação (cIndOp, 6 dígitos).'}, 'IndicadorDestinatario': {'enum': [0, 1], 'type': 'integer', 'description': 'Indicador do destinatário dos serviços (indDest). Valores: 0 - O destinatário é o próprio tomador/adquirente (padrão); 1 - O destinatário não é o próprio adquirente (caso com intermediário)'}, 'InscricaoImobiliariaImovel': {'type': ['string', 'null'], 'description': 'Inscrição imobiliária fiscal (IPTU) do imóvel - opcional, dentro do grupo imovel.'}}, 'additionalProperties': False}, 'Valores': {'type': ['object', 'null'], 'required': ['ValorServico'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Alíquota do ISS (%).'}, 'ValorInss': {'type': 'number'}, 'AliquotaIr': {'type': ['number', 'null']}, 'ValorServico': {'type': 'number', 'description': 'Valor total do serviço prestado. DEVE ser maior que 0.'}, 'TotalTributos': {'type': 'number'}, 'ValorDeducoes': {'type': 'number'}, 'OutrasRetencoes': {'type': 'number'}, 'DescontoCondicionado': {'type': 'number'}, 'DescontoIncondicionado': {'type': 'number'}, 'AliquotaSimplesNacional': {'type': ['number', 'null'], 'description': 'Alíquota do Simples Nacional (%). Preenche o pTotTribSN (percentual total aproximado dos tributos) da NFS-e nacional - equivale à opção "Informar alíquota do Simples Nacional" do emissor nacional. Usada por optantes ME/EPP e MEI. Independente de Aliquota (ISS).'}}, 'additionalProperties': False}, 'Descricao': {'type': ['string', 'null']}, 'IssRetido': {'type': 'boolean', 'description': 'Iss Retido?'}, 'CodigoCnae': {'type': ['string', 'null'], 'description': 'Código CNAE (Classificação Nacional de Atividades Econômicas)'}, 'NumeroPedido': {'type': ['string', 'null'], 'description': 'Número do pedido do tomador (infoCompl/xPed, até 60 caracteres).'}, 'IncentivoFiscal': {'type': 'boolean', 'description': 'Incentivo Fiscal?'}, 'ComercioExterior': {'type': ['object', 'null'], 'properties': {'CodMoeda': {'type': ['integer', 'null'], 'description': 'Código da moeda estrangeira (tpMoeda), ISO 4217 numérico de 3 dígitos. Padrão 840 (USD). Ex: 840 = Dólar americano, 978 = Euro, 826 = Libra esterlina.'}, 'NumeroDI': {'type': ['string', 'null'], 'description': 'Número da Declaração de Importação (nDI). Opcional.'}, 'NumeroRE': {'type': ['string', 'null'], 'description': 'Número do Registro de Exportação (nRE). Opcional.'}, 'ApoioTomador': {'type': ['integer', 'null'], 'description': 'Mecanismo de apoio/fomento ao comércio exterior pelo tomador (mecAFComexT). Padrão 1.'}, 'ModoPrestacao': {'enum': [1, 2, 3, 4, None], 'type': ['integer', 'null'], 'description': 'Modo de prestação do serviço (mdPrestacao). Padrão 1. Valores: 1 - Transfronteiriço; 2 - Consumo no Brasil; 3 - Presença comercial no exterior; 4 - Movimento temporário de pessoas físicas'}, 'ApoioPrestador': {'enum': [1, 2, None], 'type': ['integer', 'null'], 'description': 'Mecanismo de apoio/fomento ao comércio exterior pelo prestador (mecAFComexP). Padrão 1. Valores: 1 - Nenhum; 2 - ACC; 3 - ACE; 4 - BNDES-Exim Pós; 5 - BNDES-Exim Pré; 6 - FGE; 7 - PROEX Equalização; 8 - PROEX Financiamento'}, 'CompartilharMDIC': {'enum': [0, 1, None], 'type': ['integer', 'null'], 'description': 'Compartilhar as informações da NFS-e com o MDIC/Secretaria de Comércio Exterior (mdic). Padrão 0. Valores: 0 - Não enviar; 1 - Enviar'}, 'VinculoPrestador': {'enum': [0, 1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Vínculo entre prestador e tomador (vincPrest). Padrão 0. Valores: 0 - Sem vínculo; 1 - Controlada; 2 - Controladora; 3 - Coligada; 4 - Matriz; 5 - Filial ou sucursal; 6 - Outro vínculo'}, 'ValorMoedaEstrangeira': {'type': ['number', 'null'], 'description': 'Valor do serviço na moeda estrangeira informada (vServMoeda). Se não informado, usa o ValorServico (valor em reais) - recomenda-se informar o valor real na moeda.'}, 'MovimentacaoTemporariaBens': {'enum': [1, 2, 3, None], 'type': ['integer', 'null'], 'description': 'Movimentação temporária de bens (movTempBens). Padrão 1. Valores: 1 - Não; 2 - Vinculada à Declaração de Importação; 3 - Vinculada à Declaração de Exportação'}}, 'description': 'Informações de comércio exterior (grupo comExt do leiaute nacional). Se ExigibilidadeISS = 4 e este objeto não for enviado, valores padrão são aplicados (modo Transfronteiriço, sem vínculo, sem mecanismo de apoio, moeda USD, valor = ValorServico).', 'additionalProperties': False}, 'ExigibilidadeISS': {'enum': [1, 2, 3, 4, 5, 6, 7], 'type': 'integer', 'default': 1, 'description': 'Exigibilidade ISS (Padrão 1) Valores: 1 - Exigível; 2 - Não incidência; 3 - Isenção; 4 - Exportação; 5 - Imunidade; 6 - Exigibilidade Suspensa por Decisão Judicia; 7 - Exigibilidade Suspensa por Processo Administrativo'}, 'ItemListaServico': {'type': 'string', 'description': 'Código do serviço prestado. OBRIGATÓRIO. O significado depende do provedor do município (IdProvedorNFSe):'}, 'NaturezaOperacao': {'type': 'integer', 'description': 'Alguns municípios possui códigos específicos, para mais informações, veja a documentação:'}, 'ConfiguracaoImposto': {'type': ['object', 'null'], 'properties': {'IncideIr': {'type': 'boolean', 'description': 'Indide 1,50% (ou a alíquota informada em (Valores -> AliquotaIr)) de IR caso o valor for maior que R$666,66'}, 'IncidePis': {'type': 'boolean', 'description': 'Indide 0,65% de PIS caso o valor for maior que R$215,05'}, 'IncideCsll': {'type': 'boolean', 'description': 'Indide 1,00% de CSLL caso o valor for maior que R$215,05'}, 'IncideCofins': {'type': 'boolean', 'description': 'Indide 3,00% de COFINS caso o valor for maior que R$215,05'}, 'RegimePisCofins': {'type': ['integer', 'null'], 'description': 'Regime de apuração do PIS/COFINS usado nas alíquotas do grupo piscofins: 1 = Cumulativo (0,65% / 3,00%), 2 = Não cumulativo (1,65% / 7,60%). Vazio = pelo regime cadastrado na empresa (Lucro Real = não cumulativo, demais = cumulativo). Útil para receitas que a Lei 10.833/2003 art. 10 mantém no cumulativo mesmo no Lucro Real (software, hospitais e clínicas, etc.).'}, 'DestacarPisCofins': {'type': 'boolean', 'description': 'Destaca na NFS-e (padrão nacional) o PIS/COFINS de apuração própria do prestador (grupo piscofins: CST 01, alíquotas e valores), sem retenção pelo tomador e sem abater o valor líquido. Alíquotas conforme o regime da empresa: Lucro Real 1,65% / 7,60%, demais 0,65% / 3,00%. Somente empresas do Regime Normal (CRT 3). Pode ser combinado com as retenções acima (tpRetPisCofins passa a refletir o que foi retido).'}, 'ForcarIncidenciaIr': {'type': 'boolean', 'description': 'Indide 1,50% (ou a alíquota informada em (Valores -> AliquotaIr)) de IR independente do valor'}, 'ForcarIncidenciaPis': {'type': 'boolean', 'description': 'Indide 0,65% de PIS independente do valor'}, 'ForcarIncidenciaCsll': {'type': 'boolean', 'description': 'Indide 1,00% de CSLL independente do valor'}, 'ForcarIncidenciaCofins': {'type': 'boolean', 'description': 'Indide 3,00% de COFINS independente do valor'}}, 'additionalProperties': False}, 'DocumentoReferencia': {'type': ['string', 'null'], 'description': 'Documento de referência (infoCompl/docRef, até 255 caracteres): contrato, proposta, NF referenciada etc.'}, 'IncentivadorCultural': {'type': 'boolean', 'description': 'Incentio Cultural?'}, 'CodMunicipioPrestacao': {'type': ['string', 'null'], 'description': 'Código do municipio da prestação do serviço (Padrão - Município do Prestador)'}, 'CodMunicipioIncidencia': {'type': ['string', 'null'], 'description': 'Código do municipio da incedência do serviço (Padrão - Município do Prestador)'}, 'CodTributacaoMunicipio': {'type': ['string', 'null'], 'description': 'Código de tributação do município'}, 'RegimeEspecialTributacao': {'enum': [0, 1, 2, 3, 4, 5, 6], 'type': 'integer', 'description': '0 - Sem Regime Especial; 1 - Microempresa municipal; 2 - Estimativa; 3 - Sociedade de profissionais; 4 - Cooperativa; 5 - MEI - Simples Nacional; 6 - ME EPP - Simples Nacional'}, 'InformacoesComplementares': {'type': ['string', 'null'], 'description': 'Informações complementares da NFS-e nacional (infoCompl/xInfComp, até 2000 caracteres). Sai no DANFSe.'}}, 'description': 'Dados do serviço prestado. OBRIGATÓRIO. Exige ao menos: ItemListaServico (item LC 116/2003 no provedor municipal, ou Código de Tributação Nacional cTribNac no ambiente nacional - ver ItemListaServico) e Valores.ValorServico > 0.', 'additionalProperties': False}, 'Tomador': {'type': ['object', 'null'], 'properties': {'Im': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null'], 'description': 'Documento de identificação do tomador.'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NmTomador': {'type': ['string', 'null']}}, 'description': 'Dados do tomador (cliente do serviço). Obrigatório quando a prefeitura exige identificação do tomador (a maioria dos municípios). Para tomador no exterior (Endereco.CodPais != 1058) o CpfCnpj pode ser NIF estrangeiro ou ficar vazio.', 'additionalProperties': False}, 'SerieRps': {'type': ['string', 'null']}, 'NumeroRps': {'type': ['integer', 'null']}, 'DataEmissao': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'EnviarEmail': {'type': 'boolean'}, 'Intermediario': {'type': ['object', 'null'], 'properties': {'CPFCNPJ': {'type': ['string', 'null']}, 'RzSocial': {'type': ['string', 'null']}, 'InscricaoMunicipal': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'ConstrucaoCivil': {'type': ['object', 'null'], 'properties': {'Art': {'type': ['string', 'null'], 'description': 'Documento de responsabilidade técnica (ART, RRT, DRT). Vai em infoCompl/idDocTec.'}, 'Cib': {'type': ['string', 'null'], 'description': 'Código do Cadastro Imobiliário Brasileiro (8 caracteres). Só no leiaute 1.01.'}, 'CodObra': {'type': ['string', 'null'], 'description': 'Número da obra: CNO (Cadastro Nacional de Obras) ou CEI do INSS. Até 30 caracteres.'}, 'EnderecoObra': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'description': 'Endereço da obra (CEP, Logradouro, Numero, Complemento, Bairro). Usado quando não há CodObra nem Cib.', 'additionalProperties': False}, 'InscricaoImobiliaria': {'type': ['string', 'null'], 'description': 'Inscrição imobiliária fiscal do imóvel na prefeitura. Opcional, complementa o identificador.'}}, 'description': 'Dados da obra (grupo obra do DPS nacional). Obrigatório para os serviços 07.02, 07.04, 07.05, 07.06, 07.07, 07.08, 07.17, 07.19 e 14.14 (E0370). Basta UM identificador, nesta prioridade: CodObra, Cib, EnderecoObra. Sem nenhum deles, nesses serviços, usa-se o endereço do tomador como local da obra.', 'additionalProperties': False}, 'DataCompetencia': {'type': ['string', 'null'], 'description': 'Data de competência do serviço. Se não informado, usa a data de emissão. Não pode ser anterior a 1 ano da data atual.'}, 'IdentificadorInterno': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Lista de NFS-e a emitir no lote. Mínimo 1 item.'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Identificação do ambiente da prefeitura/portal nacional. Valores: 1 - Produção (emissão REAL, com valor fiscal); 2 - Homologação (teste)'}}, 'description': 'NFS-e. Usado quando TipoEnvio = 1. Gera o DANFSe/XML de pré-visualização (sem validade jurídica).', 'additionalProperties': False}, 'Base64Xml': {'type': ['string', 'null']}, 'TipoEnvio': {'enum': [0, 1], 'type': 'integer', 'description': 'Tipo do envio no qual será convertido para o tipo do arquivo informado (Padrão - 0) Valores: 0 - Base64 contendo as informações do XML; 1 - Objeto contendo as informações das notas fiscais'}, 'notaFiscal': {'type': ['object', 'null'], 'properties': {'Lote': {'type': ['integer', 'null'], 'description': 'Lote da Nota Fiscal'}, 'nFInfos': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['IndicadorPresenca', 'NaturezaOperacao', 'ModeloDocumento', 'Finalidade', 'TipoAmbiente', 'Produtos'], 'properties': {'Lote': {'type': ['integer', 'null'], 'description': 'Lote da Nota Fiscal'}, 'Serie': {'type': ['integer', 'null'], 'description': 'Série da nota Fiscal'}, 'Codigo': {'type': ['string', 'null'], 'description': 'B03 - Código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada NF-e.'}, 'Numero': {'type': ['integer', 'null'], 'description': 'Número da nota fiscal'}, 'Cliente': {'type': ['object', 'null'], 'required': ['CpfCnpj', 'NmCliente'], 'properties': {'Ie': {'type': ['string', 'null']}, 'IsUf': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': 'string', 'description': 'CPF (11 dígitos) ou CNPJ (14 dígitos) do destinatário. Aceita com ou sem máscara - o sistema normaliza. Obrigatório para NF-e (modelo 55). Em operações de exportação (CFOP iniciado em 3/7) pode ter de 5 a 20 caracteres.'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NmCliente': {'type': 'string', 'description': 'Nome/Razão Social do destinatário (máx 60 caracteres). Obrigatório para NF-e (modelo 55).'}, 'IndicadorIe': {'enum': [1, 2, 9], 'type': 'integer', 'default': 9, 'description': 'Indicador de Inscrição Estadual. Para NFC-e (modelo 65) DEVE ser 9. Para NF-e (modelo 55) aceita 1, 2 ou 9. Valores: 1 - Contribuinte ICMS (informar a IE do destinatário); 2 - Contribuinte isento de Inscrição no cadastro de Contribuintes do ICMS; 9 - Não Contribuinte, que pode ou não possuir Inscrição Estadual no Cadastro de Contribuintes do ICMS'}}, 'description': 'Destinatário da nota. OBRIGATÓRIO para NF-e (modelo 55). Para NFC-e (modelo 65) só é obrigatório quando IndicadorPresenca = 4 (entrega a domicílio). Quando informado para NF-e mod 55, exige: CpfCnpj, NmCliente, IndicadorIe (1/2/9), Endereco com Logradouro e UF (e CEP/Município/Bairro quando não exportação).', 'additionalProperties': False}, 'Entrega': {'type': ['object', 'null'], 'properties': {'Ie': {'type': ['string', 'null']}, 'Nome': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null']}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'Exporta': {'type': ['object', 'null'], 'properties': {'UFSaidaPais': {'type': ['string', 'null'], 'description': 'Sigla da UF de Embarque ou de transposição de fronteira'}, 'LocalDespacho': {'type': ['string', 'null'], 'description': 'Descrição do local de despacho'}, 'LocalEmbarqueTransp': {'type': ['string', 'null'], 'description': 'Descrição do Local de Embarque ou de transposição de fronteira'}}, 'additionalProperties': False}, 'Cobranca': {'type': ['object', 'null'], 'properties': {'Fatura': {'type': ['object', 'null'], 'properties': {'Valor': {'type': 'number'}, 'Numero': {'type': ['string', 'null']}, 'Desconto': {'type': 'number'}, 'ValorLiquido': {'type': 'number'}}, 'additionalProperties': False}, 'Parcelas': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Valor': {'type': 'number'}, 'Vencimento': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'Produtos': {'type': 'array', 'items': {'type': 'object', 'required': ['NmProduto', 'CodProdutoServico', 'NCM', 'Quantidade', 'UnidadeComercial', 'ValorUnitario', 'ValorTotal', 'CFOP', 'OrigemProduto', 'Imposto'], 'properties': {'EAN': {'type': ['string', 'null'], 'description': 'GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barras (8, 12, 13 ou 14 dígitos). Quando o produto não tem GTIN cadastrado, informe a string "SEM GTIN" (literal). Não usar como código interno.'}, 'NCM': {'type': 'string', 'description': 'Código NCM com exatamente 8 dígitos (Nomenclatura Comum do Mercosul). Identifica a classificação fiscal do produto na Receita. NÃO é o código interno - código interno vai em CodProdutoServico. Para serviços ou itens sem produto físico (transferência de crédito, etc.), use "00000000".'}, 'CEST': {'type': ['string', 'null'], 'description': 'Código CEST (7 dígitos). Obrigatório quando o CST/CSOSN do ICMS indicar substituição tributária (rejeição 806 da SEFAZ). Consulte a tabela CEST oficial pelo NCM do produto.'}, 'CFOP': {'type': 'integer', 'description': 'Código Fiscal de Operações e Prestações (CFOP). Exatamente 4 dígitos. Primeiro dígito indica a natureza: 1/2/3 = entrada (interna/interestadual/exterior), 5/6/7 = saída (interna/interestadual/exterior). Para NFC-e (modelo 65) só são aceitos: 5101, 5102, 5103, 5104, 5115, 5405, 5656, 5667, 5933 (rejeição 725).'}, 'nFCI': {'type': ['string', 'null'], 'description': 'Número de controle da FCI - Ficha de Conteúdo de Importação'}, 'xPed': {'type': ['string', 'null'], 'description': 'Número do Pedido de Compra'}, 'cBenef': {'type': ['string', 'null'], 'description': 'Código de Beneficio Fiscal na UF'}, 'Imposto': {'type': 'object', 'properties': {'IPI': {'type': ['object', 'null'], 'required': ['CodEnquadramento', 'CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do IPI'}, 'CodEnquadramento': {'type': 'string', 'description': 'Código de Enquadramento Legal do IPI - EXATAMENTE 3 dígitos (com zeros à esquerda se necessário). Para a maioria dos casos não imunes/suspensos use "999" (tributação normal sem enquadramento especial). Obrigatório para NF-e (modelo 55). Dispensado para NFC-e (modelo 65).'}, 'ValorIpiDevolvido': {'type': 'number', 'description': 'Valor do IPI devolvido'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do IPI. Valores: "00","49","50","99" (saída tributada/não tributada/isenta/outras saídas) ou "01","02","03","04","05","51","52","53","54","55" (entradas - usar conforme o caso). Obrigatório para NF-e (modelo 55). Dispensado para NFC-e (modelo 65).'}, 'PercentualMercadoriaDevolvida': {'type': 'number', 'description': 'Percentual da mercadoria devolvida'}}, 'additionalProperties': False}, 'PIS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do PIS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do PIS (Tabela II - Situação Tributária do PIS). Valores válidos: "01","02","03","04","05","06","07","08","09" (entradas) e "49","50","51","52","53","54","55","56","60","61","62","63","64","65","66","67","70","71","72","73","74","75","98","99" (saídas/outras). O CST precisa ser compatível com o tipo de NF (entrada quando CFOP começa com 1/2/3, saída quando começa com 5/6/7).'}}, 'additionalProperties': False}, 'ICMS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'RedICMS': {'type': ['number', 'null'], 'description': 'Redução ICMS'}, 'STRetido': {'type': ['object', 'null'], 'properties': {'AliquotaFCP': {'type': ['number', 'null'], 'description': 'pFCPSTRet - Alíquota do FCP retido por ST na operação anterior. O valor (vFCPSTRet) é calculado automaticamente por BaseCalculoFCP x AliquotaFCP / 100.'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'vBCSTRet - Base de cálculo do ICMS-ST retido na operação anterior.'}, 'ValorICMSST': {'type': ['number', 'null'], 'description': 'vICMSSTRet - Valor do ICMS-ST retido na operação anterior. Opcional: quando não informado, é calculado por (BaseCalculo x AliquotaConsumidorFinal / 100 - ValorICMSSubstituto). Informe o valor fiel da nota de entrada quando ele divergir da fórmula padrão.'}, 'BaseCalculoFCP': {'type': ['number', 'null'], 'description': 'vBCFCPSTRet - Base de cálculo do FCP retido por ST na operação anterior.'}, 'AliquotaEfetiva': {'type': ['number', 'null'], 'description': 'pICMSEfet - Alíquota do ICMS efetiva (consumidor final). O valor (vICMSEfet) é calculado automaticamente por BaseCalculoEfetiva x AliquotaEfetiva / 100.'}, 'BaseCalculoEfetiva': {'type': ['number', 'null'], 'description': 'vBCEfet - Base de cálculo efetiva (consumidor final). Opcional: quando não informada, é calculada por (ValorTotal + frete + seguro + outras despesas - desconto) x (1 - PercentualReducaoBaseEfetiva/100). Informe o valor fiel quando a composição da base divergir.'}, 'ValorICMSSubstituto': {'type': ['number', 'null'], 'description': 'vICMSSubstituto - Valor do ICMS próprio do substituto cobrado na operação anterior.'}, 'AliquotaConsumidorFinal': {'type': ['number', 'null'], 'description': 'pST - Alíquota suportada pelo consumidor final (alíquota interna do destino + FCP).'}, 'PercentualReducaoBaseEfetiva': {'type': ['number', 'null'], 'description': 'pRedBCEfet - Percentual de redução da base de cálculo efetiva (consumidor final).'}}, 'description': 'Grupo de ICMS-ST retido em operação anterior. Preencher SOMENTE em CST 60 ou CSOSN 500 (revenda de mercadoria cujo ICMS-ST já foi retido por substituição tributária). Quando informado, prevalece sobre a estimativa automática derivada da configuração de ST do produto.', 'additionalProperties': False}, 'RedICMSST': {'type': ['number', 'null'], 'description': 'Redução ICMS ST'}, 'ValorIcms': {'type': ['number', 'null'], 'description': 'Valor do Icms (Calculado Automaticamente quando não informado)'}, 'AliquotaMVA': {'type': ['number', 'null'], 'description': 'Alíquota - Obrigatório para situação tributária nº 201, 202 e 203'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'AliquotaICMS': {'type': ['number', 'null'], 'description': 'Alíquota ICMS - Obrigatório para situação tributária nº 101 e 201'}, 'AliquotaICMSST': {'type': ['number', 'null'], 'description': 'Alíquota ICMS ST - Obrigatório para situação tributária nº 101 e 201'}, 'AliquotaCredito': {'type': ['number', 'null'], 'description': 'Alíquota aplicável de cálculo de crédito - Obrigatório para situação tributária nº 101 e 201'}, 'modalidadeBcIcms': {'enum': [0, 1, 2, 3], 'type': 'integer', 'description': '0 - Margem Valor Agregado (%); 1 - Pauta (valor); 2 - Preço Tabelado Máximo (valor); 3 - Valor da Operação'}, 'AliquotaAdRemRetido': {'type': ['number', 'null'], 'description': 'adRemICMSRet - Alíquota ad rem do ICMS retido anteriormente. Obrigatório no CST 61 (tributação monofásica sobre combustíveis cobrada anteriormente).'}, 'ValorIcmsMonoRetido': {'type': ['number', 'null'], 'description': 'vICMSMonoRet - Valor do ICMS retido anteriormente no CST 61. Opcional: quando não informado, é calculado por QuantidadeMonoRetido x AliquotaAdRemRetido.'}, 'aliquotaDiferimento': {'type': ['number', 'null'], 'description': 'Percentual de diferimento (Utilizado somente no CST 51)'}, 'QuantidadeMonoRetido': {'type': ['number', 'null'], 'description': 'qBCMonoRet - Quantidade tributada retida anteriormente (em unidade de medida da legislação). Opcional no CST 61. Quando não informada, assume a quantidade comercial do item.'}, 'valorDesoneracaoIcms': {'type': ['number', 'null']}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'Código da Situação Tributária (CST) do ICMS, OU Código de Situação da Operação no Simples Nacional (CSOSN). Para empresas no Simples Nacional (CRT 1) ou MEI (CRT 4) use CSOSN: "101","102","103","201","202","203","300","400","500","900". Para empresas em Regime Normal (CRT 3) use CST do ICMS: "00","10","20","30","40","41","50","51","60","70","90".'}, 'motivoDesoneracaoIcms': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, None], 'type': ['integer', 'null'], 'description': '1 - Táxi;; 2 - Deficiente Físico;; 3 - Produtor Agropecuário;; 4 - Frotista / Locadora;; 5 - Diplomático / Consular;; 6 - Utilitários e Motocicletas da Amazônia Ocidental e Áreas de Livre Comércio (Resolução 714/88 e 790/94 - CONTRAN e suas alterações);; 7 - SUFRAMA; 8 - Venda a Orgãos Publicos; 9 - Outros. (v2.0); 10 - Deficiente Condutor (Convênio ICMS 38/12). (v3.1); 11 - Deficiente não Condutor (Convênio ICMS 38/12). (v3.1); 16 - Olimpíadas Rio 2016'}}, 'additionalProperties': False}, 'COFINS': {'type': ['object', 'null'], 'required': ['CodSituacaoTributaria'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Aliquota do COFINS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de Cálculo (Quando não informado, é o valor dos produtos)'}, 'CodSituacaoTributaria': {'type': 'string', 'description': 'CST do COFINS (mesma tabela do PIS - Tabela II). Geralmente é o MESMO valor usado no PIS. O CST precisa ser compatível com o tipo de NF (entrada/saída) conforme o CFOP do item.'}}, 'additionalProperties': False}, 'IBSCBS': {'type': ['object', 'null'], 'properties': {'AliquotaCBS': {'type': ['number', 'null'], 'description': 'Alíquota da CBS'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo'}, 'AliquotaIBSUF': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência das UF'}, 'AliquotaIBSMun': {'type': ['number', 'null'], 'description': 'Alíquota do IBS de competência do Município'}, 'PercentualReducaoCBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota da CBS (pRedAliq de gCBS). Pode divergir de PercentualReducaoIBS (ex.: 200025 = IBS 60 / CBS 100). Quando null, é preenchido automaticamente pela tabela oficial.'}, 'PercentualReducaoIBS': {'type': ['number', 'null'], 'description': 'Percentual de redução da alíquota do IBS (pRedAliq de gIBSUF/gIBSMun), usado no grupo gRed dos CST 011/200/515. Fixo por cClassTrib na tabela oficial (ex.: 100 para 200003 alimentação/Anexo I, 60 para educação/saúde). Quando null, é preenchido automaticamente pela tabela oficial (TabelaReducaoIbsCbs).'}, 'PercentualDiferimento': {'type': ['number', 'null'], 'description': 'Percentual de diferimento (pDif do grupo gDif), usado nos CST 510/515. Informado pelo contribuinte - NÃO é fixo por cClassTrib. O valor diferido (vDif) é deduzido do IBS/CBS devido.'}, 'CodClassificacaoTributaria': {'type': ['string', 'null'], 'description': 'Código de Classificação Tributária (Padrão 000001)'}}, 'additionalProperties': False}, 'Importacao': {'type': ['object', 'null'], 'properties': {'Valor': {'type': 'number'}, 'ValorIOF': {'type': 'number'}, 'BaseCalculo': {'type': 'number'}, 'DespesasAduaneiras': {'type': 'number'}}, 'additionalProperties': False}}, 'description': 'Tributação do item (ICMS / IPI / PIS / COFINS / IBSCBS / Importação). OBRIGATÓRIO a menos que CodTributacao esteja preenchido - nesse caso pode omitir este bloco. Para NF-e (modelo 55): ICMS + IPI + PIS + COFINS são todos obrigatórios e validados em conjunto. Para NFC-e (modelo 65): ICMS + PIS + COFINS obrigatórios; IPI dispensado.', 'additionalProperties': False}, 'Rastros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'NumeroLote': {'type': ['string', 'null'], 'description': 'Número do lote do produto (1-20 caracteres)'}, 'DataValidade': {'type': 'string', 'description': 'Data de validade'}, 'DataFabricacao': {'type': 'string', 'description': 'Data de fabricação/produção'}, 'QuantidadeLote': {'type': 'number', 'description': 'Quantidade de produto no lote'}, 'CodigoAgregacao': {'type': ['string', 'null'], 'description': 'Código de agregação (opcional)'}}, 'additionalProperties': False}, 'description': 'Rastreabilidade do produto (lote, validade, fabricação). Comum para medicamentos, agrotóxicos, bebidas.'}, 'NItemPed': {'type': ['integer', 'null'], 'description': 'Número do item do Pedido de Compra'}, 'NmProduto': {'type': 'string', 'description': 'Descrição do produto (máx 120 caracteres). Exemplo: "Detergente IPE 500ML".'}, 'Quantidade': {'type': 'number', 'description': 'Quantidade comercial do produto. Aceita de 0 a 4 casas decimais e até 11 inteiros. Deve ser maior que zero (exceto para finalidade 2 - Complementar e 3 - Ajuste).'}, 'ValorFrete': {'type': ['number', 'null'], 'description': 'Valor Frete'}, 'ValorTotal': {'type': 'number', 'description': 'Valor total bruto do item (Quantidade * ValorUnitario). >= 0. Para finalidade 1 - Normal deve ser > 0.'}, 'Combustivel': {'type': ['object', 'null'], 'properties': {'UFConsumo': {'type': ['string', 'null']}, 'CodProdutoANP': {'type': ['string', 'null']}, 'DescricaoProdutoANP': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'ValorSeguro': {'type': ['number', 'null'], 'description': 'Valor Seguro'}, 'Agropecuaria': {'type': ['object', 'null'], 'properties': {'Defensivos': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['NumeroReceituario', 'CpfResponsavelTecnico'], 'properties': {'NumeroReceituario': {'type': 'string', 'description': 'Número da receita ou receituário do agrotóxico/defensivo agrícola (1-30 caracteres).'}, 'CpfResponsavelTecnico': {'type': 'string', 'description': 'CPF (11 dígitos) do engenheiro agrônomo, florestal ou técnico agrícola responsável.'}}, 'additionalProperties': False}, 'description': 'Defensivos agrícolas aplicados (0 a 20). Cada item exige NumeroReceituario e CpfResponsavelTecnico.'}, 'GuiaTransito': {'type': ['object', 'null'], 'required': ['TipoGuia', 'UfGuia', 'NumeroGuia'], 'properties': {'UfGuia': {'type': 'string', 'description': 'Sigla da UF emissora da guia (2 caracteres).'}, 'TipoGuia': {'enum': [1, 2, 3, 4, 5, 6, 7], 'type': 'integer', 'description': 'Tipo da guia de trânsito. Valores: 1 - GTA (Guia de Trânsito Animal); 2 - TTA (Termo de Trânsito Animal); 3 - DTA (Documento de Transferência Animal); 4 - ATV (Autorização de Trânsito Vegetal); 5 - PTV (Permissão de Trânsito Vegetal); 6 - GTV (Guia de Trânsito Vegetal); 7 - Guia Florestal (DOF, SisFlora-PA/MT, SIAM-MG)'}, 'SerieGuia': {'type': ['string', 'null'], 'description': 'Série da guia (1-9 dígitos). Opcional.'}, 'NumeroGuia': {'type': 'string', 'description': 'Número da guia (1-9 dígitos).'}}, 'description': 'Guia de trânsito que autoriza o transporte sanitário do animal, vegetal ou produto florestal.', 'additionalProperties': False}}, 'description': 'Informações de produtos agropecuários e florestais (NT 2024.003 - Grupo ZF). Obrigatório a partir de 01/03/2026 quando o NCM cair em: 01XXXXXX / 0301XXXX (animais vivos - GuiaTransito), 06-12XXXX (vegetais primários - GuiaTransito, UFs ainda inativas), 3808.52 a 3808.99 (defensivos - Defensivos). Já obrigatório em BA, GO, MA, MT para NCM 0102XXXX (bovinos) desde 01/10/2025.', 'additionalProperties': False}, 'CodTributacao': {'type': ['string', 'null'], 'description': 'Código do grupo tributário pré-cadastrado no Painel. Quando informado, o sistema aplica automaticamente CFOP, CST, ICMS, IPI, PIS e COFINS do grupo, dispensando o preenchimento do bloco Imposto e do CFOP do item.'}, 'OrigemProduto': {'enum': [0, 1, 2, 3, 4, 5, 6, 7, 8], 'type': 'integer', 'default': 0, 'description': 'Origem do produto (Tabela A da NF-e). Padrão para a maioria dos casos = 0 (nacional). Valores: 0 - Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8; 1 - Estrangeira - Importação direta, exceto a indicada no código 6; 2 - Estrangeira - Adquirida no mercado interno, exceto a indicada no código 7; 3 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 40% e inferior ou igual a 70%; 4 - Nacional, cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes; 5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%; 6 - Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural; 7 - Estrangeira - Adquirida no mercado interno, sem similar nacional, constante lista CAMEX e gás natural; 8 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 70%'}, 'ValorDesconto': {'type': 'number', 'description': 'Valor do desconto aplicado no item (>= 0 e nunca maior que ValorTotal).'}, 'ValorUnitario': {'type': 'number', 'description': 'Valor unitário do produto (>= 0). Aceita até 10 casas decimais.'}, 'UnidadeComercial': {'type': 'string', 'description': 'Unidade comercial / unidade de medida (máx 6 caracteres). Exemplos: "UN", "PC", "KG", "L", "CX", "M2".'}, 'CodProdutoServico': {'type': 'string', 'description': 'Código/SKU INTERNO do produto no cadastro da empresa (1-60 caracteres alfanuméricos). NÃO usar NCM, CFOP, EAN, GTIN nem códigos da Receita aqui - cada um tem campo próprio (NCM, CFOP, EAN). Exemplos válidos: "PROD-001", "DETIPE500", "SKU12345". Se a empresa não usa SKU interno, repita o EAN ou use "1".'}, 'NItemReferenciado': {'type': ['integer', 'null'], 'description': 'Número do item (nItem) na NF-e ORIGINAL a que este item de devolução corresponde. É o número do item na nota de venda original, NÃO o número do item nesta devolução. Opcional; acompanha ChaveAcessoReferenciada.'}, 'InformacaoAdicional': {'type': ['string', 'null'], 'description': 'Informaçoes adicional'}, 'ValorOutrasDespesas': {'type': ['number', 'null'], 'description': 'Valor Outras Despesas'}, 'DeclaracaoImportacao': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null'], 'description': 'Sigla da UF do adquirente ou do encomendante'}, 'Cnpj': {'type': ['string', 'null'], 'description': 'CNPJ do adquirente ou do encomendante'}, 'Numero': {'type': ['string', 'null'], 'description': 'Número do Documento de Importação (DI, DSI, DIRE, ...)'}, 'ValorAFRMM': {'type': ['number', 'null'], 'description': 'Valor da AFRMM - Adicional ao Frete para Renovação da Marinha Mercante'}, 'DataRegistro': {'type': 'string', 'description': 'Data de Registro do documento de importação'}, 'CodExportador': {'type': ['string', 'null'], 'description': 'Código do Exportador'}, 'CodFabricante': {'type': ['string', 'null'], 'description': 'Código do Fabricante Extrangeiro'}, 'UfDesenbaraco': {'type': ['string', 'null'], 'description': 'Sigla da UF onde ocorreu o Desembaraço Aduaneiro'}, 'TipoIntermedio': {'enum': [1, 2, 3], 'type': 'integer', 'description': 'Forma de importação quanto a intermediação Valores: 1 - Importação por conta própria; 2 - Importação por conta e ordem; 3 - Importação por encomenda'}, 'DataDesenbaraco': {'type': 'string', 'description': 'Data do Desembaraço Aduaneiro'}, 'LocalDesenbaraco': {'type': ['string', 'null'], 'description': 'Local de Desembaraço Aduaneiro'}, 'TipoViaTransporte': {'enum': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 'type': 'integer', 'description': 'Via de transporte internacional informada na Declaração de Importação (DI) Valores: 1 - Marítima; 2 - Fluvial; 3 - Lacustre; 4 - Aérea; 5 - Postal; 6 - Ferroviária; 7 - Rodoviária; 8 - Conduto / Rede Transmissão; 9 - Meios Próprios; 10 - Entrada / Saída ficta; 11 - Courier; 12 - Handcarry'}}, 'additionalProperties': False}, 'QuantidadeTributavel': {'type': ['number', 'null'], 'description': 'Quantidade Comercial do produto tributável, alterado para aceitar de 0 a 4 casas decimais e 11 inteiros.'}, 'ChaveAcessoReferenciada': {'type': ['string', 'null'], 'description': 'Chave de acesso (44 dígitos) da NF-e ORIGINAL que este item está devolvendo. Usado apenas em NF-e de devolução (Finalidade = 4, Reforma Tributária / NT 2025.002). Quando preenchida, o item é referenciado pelo grupo DFeReferenciado (por item) em vez do NFReferencia (nível nota) - os dois não podem coexistir.'}, 'ValorUnitarioTributavel': {'type': ['number', 'null'], 'description': 'Valor unitário tributável (quando diferente do comercial). Geralmente igual a ValorUnitario.'}, 'UnidadeComercialTributavel': {'type': ['string', 'null'], 'description': 'Unidade comercial tributável (quando diferente da comercial - máx 6 caracteres). Geralmente igual a UnidadeComercial.'}}, 'additionalProperties': False}, 'description': 'Itens da nota fiscal. Mínimo 1 item.'}, 'Retencoes': {'type': ['object', 'null'], 'properties': {'ValorIRRF': {'type': ['number', 'null'], 'description': 'Valor retido do IRRF'}, 'ValorRetidoPIS': {'type': ['number', 'null'], 'description': 'Valor retido de PIS'}, 'BaseCalculoIRRF': {'type': ['number', 'null'], 'description': 'Base de cálculo do IRRF'}, 'ValorRetidoCSLL': {'type': ['number', 'null'], 'description': 'Valor retido de CSLL'}, 'ValorRetidoCOFINS': {'type': ['number', 'null'], 'description': 'Valor retido de COFINS'}, 'ValorRetencaoPrevidencia': {'type': ['number', 'null'], 'description': 'Valor da retenção da Previdência Social'}, 'BaseCalculoRetencaoPrevidencia': {'type': ['number', 'null'], 'description': 'Base de cálculo da retenção da Previdência Social'}}, 'description': 'Retenções federais totais da nota (IRRF, PIS/COFINS/CSLL retidos, Previdência). Gera a tag retTrib no XML.', 'additionalProperties': False}, 'TipoDanfe': {'enum': [0, 1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Formato de impressão do DANFE (tag tpImp da NF-e). Não informado = padrão atual (1-Retrato para NF-e, 4 para NFC-e). Valores: 0 - Sem geração de DANFE; 1 - DANFE normal, Retrato (padrão NF-e); 2 - DANFE normal, Paisagem; 3 - DANFE Simplificado; 4 - DANFE NFC-e (padrão NFC-e; somente modelo 65); 5 - DANFE NFC-e em mensagem eletrônica (somente modelo 65); 6 - DANFE Simplificado Tipo 2 (NT 2026.002/2026.003, Ajuste SINIEF 13/26; somente modelo 55) - NF-e de varejo em operação típica de NFC-e, impressa em bobina com QR Code. Exige operação interna (CFOP 5xxx), consumidor final, finalidade 1-Normal, saída, sem notas referenciadas e IndicadorPresenca 1, 4 ou 5.'}, 'Finalidade': {'enum': [1, 2, 3, 4, 5, 6], 'type': 'integer', 'default': 1, 'description': 'Finalidade da emissão da NF. Valores: 1 - Normal (caso mais comum); 2 - Complementar (referenciando NF anterior em NFReferencia); 3 - Ajuste; 4 - Devolução; 5 - Nota de crédito; 6 - Nota de débito'}, 'Observacao': {'type': ['string', 'null']}, 'Pagamentos': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'VlPago': {'type': 'number'}, 'VlTroco': {'type': 'number'}, 'Desconto': {'type': 'number'}, 'Descricao': {'type': ['string', 'null']}, 'UFPagamento': {'type': ['string', 'null'], 'description': 'UF do estabelecimento onde o pagamento foi processado (UFPag - NT 2023.004). Opcional.'}, 'CNPJPagamento': {'type': ['string', 'null'], 'description': 'CNPJ do estabelecimento onde o pagamento foi processado/transacionado/recebido (CNPJPag - NT 2023.004). Informar junto com UFPagamento (os dois ou nenhum). Opcional.'}, 'CNPJRecebedor': {'type': ['string', 'null'], 'description': 'CNPJ do beneficiário do pagamento (CNPJReceb - NT 2023.004). Opcional.'}, 'DataPagamento': {'type': ['string', 'null'], 'description': 'Data do pagamento (dPag - NT 2023.004). Opcional.'}, 'FormaPagamento': {'enum': ['01', '02', '03', '04', '05', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '90', '91', '99', None], 'type': ['string', 'null'], 'description': '01 - Dinheiro; 02 - Cheque; 03 - Cartão de Crédito; 04 - Cartão de Débito; 05 - Cartão da Loja (Private Label), Crediário Digital, Outros Crediários; 10 - Vale Alimentação; 11 - Vale Refeição; 12 - Vale Presente; 13 - Vale Combustível; 14 - Duplicata Mercantil; 15 - Boleto Bancário; 16 - Depósito Bancário; 17 - Pagamento Instantâneo (PIX) - Dinâmico; 18 - Transferência Bancária, Carteira Digital; 19 - Programa de fidelidade, cashback, crédito virtual; 20 - Pagamento Instantâneo (PIX) - Estático; 21 - Crédito em Loja; 22 - Pagamento Eletrônico não Informado - falha de hardware; 23 - Pagamento Instantâneo (PIX) - Automático; 24 - TEF Book Transfer; 90 - Sem pagamento; 91 - Pagamento Posterior; 99 - Outros'}, 'TipoIntegracao': {'type': 'boolean', 'description': 'Pagamento integrado com automação?'}, 'BandeiraOperadora': {'enum': ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '99', None], 'type': ['string', 'null'], 'description': '01 - Visa; 02 - Mastercard; 03 - American Express; 04 - Sorocred; 05 - Diners Club; 06 - Elo; 07 - Hipercard; 08 - Aura; 09 - Cabal; 10 - Alelo; 11 - Banes Card; 12 - CalCard; 13 - Credz; 14 - Discover; 15 - GoodCard; 16 - GreenCard; 17 - Hiper; 18 - JcB; 19 - Mais; 20 - MaxVan; 21 - Policard; 22 - RedeCompras; 23 - Sodexo; 24 - ValeCard; 25 - Verocheque; 26 - VR; 27 - Ticket; 99 - Outros'}, 'CNPJCredenciadora': {'type': ['string', 'null']}, 'NumeroAutorizacao': {'type': ['string', 'null'], 'description': 'Número de autorização da operação (cAut). Para PIX, informar o EndToEndId (e2eid) da transação.'}, 'IndicadorPagamento': {'type': 'integer', 'description': '0 - A vista, 1 - Prazo'}, 'IdTerminalPagamento': {'type': ['string', 'null'], 'description': 'Identificador do terminal de pagamento (idTermPag - NT 2023.004). Opcional, 1-40 caracteres.'}}, 'additionalProperties': False}, 'description': 'Formas de pagamento. OBRIGATÓRIO quando Finalidade = 1 (Normal). Para finalidades 2/3/4/5/6 pode ficar vazio. Para NFC-e (mod 65) deve haver pelo menos um pagamento com FormaPagamento diferente de "90" (sem pagamento).'}, 'TpNFDebito': {'enum': [1, 2, 3, 4, 5, 6, 7, None], 'type': ['integer', 'null'], 'description': 'Tipo de Nota de Débito. Obrigatório quando Finalidade = 6. Código SEFAZ: Valores: 1 - Transferência de créditos para Cooperativas; 2 - Anulação de Crédito por Saídas Imunes/Isentas; 3 - Débitos de notas fiscais não processadas na apuração; 4 - Multa e juros; 5 - Transferência de crédito de sucessão; 6 - Pagamento antecipado; 7 - Perda em estoque'}, 'Transporte': {'type': ['object', 'null'], 'properties': {'IE': {'type': ['string', 'null']}, 'UF': {'type': ['string', 'null']}, 'CNPJ': {'type': ['string', 'null']}, 'Balsa': {'type': ['string', 'null']}, 'Vagao': {'type': ['string', 'null']}, 'Reboque': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'UF': {'type': ['string', 'null']}, 'RNTC': {'type': ['string', 'null']}, 'Placa': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'Veiculo': {'type': ['object', 'null'], 'properties': {'UF': {'type': ['string', 'null']}, 'RNTC': {'type': ['string', 'null']}, 'Placa': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'Volumes': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Marca': {'type': ['string', 'null']}, 'Lacres': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'Numero': {'type': ['string', 'null']}, 'Especie': {'type': ['string', 'null']}, 'PesoBruto': {'type': 'number'}, 'PesoLiquido': {'type': 'number'}, 'QuantidadeVolume': {'type': 'integer'}}, 'additionalProperties': False}}, 'DsEndereco': {'type': ['string', 'null']}, 'NmMunicipio': {'type': ['string', 'null']}, 'ModalidadeFrete': {'enum': [0, 1, 2, 3, 4, 9], 'type': 'integer', 'description': '0 - Contratação do Frete por conta do Remetente (CIF); 1 - Contratação do Frete por conta do Destinatário (FOB); 2 - Contratação do Frete por conta de Terceiros; 3 - Transporte Próprio por conta do Remetente; 4 - Transporte Próprio por conta do Destinatário; 9 - Sem Ocorrência de Transporte'}, 'NmTransportador': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'ValorFrete': {'type': ['number', 'null'], 'description': 'Valor total do frete da nota. Quando informado, é distribuído proporcionalmente entre os itens (proporção pelo ValorTotal de cada item), SUBSTITUINDO o ValorFrete informado em cada produto. Não informado (nulo) = o frete de cada item é usado como enviado.'}, 'ValorTotal': {'type': ['number', 'null'], 'description': 'Valor total esperado da nota (vNF), usado apenas para validação. Quando informado e diferente do valor total calculado (produtos - descontos + frete + seguro + outras despesas + impostos que compõem o total), a emissão é bloqueada e o erro detalha o cálculo. Não informado (nulo) = sem validação.'}, 'DataEmissao': {'type': ['string', 'null'], 'description': 'Data e Hora da saída ou de entrada da produto/serviço (Envia a data atual caso não informada)'}, 'EnviarEmail': {'type': 'boolean'}, 'TpNFCredito': {'enum': [1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Tipo de Nota de Crédito. Obrigatório quando Finalidade = 5. Código SEFAZ: Valores: 1 - Multa e juros; 2 - Apropriação de crédito presumido de IBS sobre saldo devedor na ZFM; 3 - Retorno por recusa total na entrega ou por não localização do destinatário; 4 - Redução de valores; 5 - Transferência de crédito na sucessão; 6 - Retorno por recusa parcial na entrega'}, 'CalcularIBPT': {'type': 'boolean', 'default': True, 'description': 'Calcula o valor aproximado dos tributos (vTotTrib, tabela IBPT, Lei 12.741/2012). Padrão: verdadeiro.'}, 'NFReferencia': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Notas fiscal de Referência'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 2, 'description': 'Identificação do ambiente da SEFAZ. Valores: 1 - Produção (emissão REAL, com valor fiscal, irreversível); 2 - Homologação (teste, sem valor fiscal - use durante desenvolvimento e testes)'}, 'Intermediador': {'type': ['object', 'null'], 'required': ['Cnpj', 'IdCadIntTran'], 'properties': {'Cnpj': {'type': 'string', 'description': 'CNPJ do intermediador da transação (marketplace/plataforma de terceiros). Obrigatório.'}, 'IdCadIntTran': {'type': 'string', 'description': 'Identificação do vendedor no site do intermediador (usuário/login cadastrado). Obrigatório.'}}, 'description': 'Dados do intermediador/marketplace (site ou plataforma de terceiros).', 'additionalProperties': False}, 'Justificativa': {'type': ['string', 'null'], 'description': 'Utilizar quando o tipo de emissão for diferente normal'}, 'ConsumidorFinal': {'type': 'boolean', 'description': 'Indica operação com Consumidor final (NFCe de ser 1 Validar!)'}, 'ModeloDocumento': {'enum': [55, 65], 'type': 'integer', 'default': 55, 'description': 'Código do modelo do Documento Fiscal. Valores: 55 - NF-e (B2B / com destinatário CPF/CNPJ identificado); 65 - NFC-e (consumidor final / varejo)'}, 'ObservacaoFisco': {'type': ['string', 'null']}, 'DataEntradaSaida': {'type': ['string', 'null'], 'description': 'Data e Hora da saída ou de entrada da produto/serviço'}, 'NaturezaOperacao': {'type': 'string', 'description': 'Descrição da natureza da operação (máx 60 caracteres). Exemplos: "Venda de mercadoria", "Remessa para industrialização", "Devolução de venda".'}, 'IndicadorPresenca': {'enum': [0, 1, 2, 3, 4, 5, 9], 'type': 'integer', 'default': 9, 'description': 'Indicador de presença do comprador no estabelecimento comercial no momento da operação. Padrão sugerido para NF-e B2B = 9 (operação não presencial, outros). Para NFC-e varejo = 1 (presencial). Valores: 0 - Não se aplica; 1 - Operação presencial;; 2 - Operação não presencial, pela Internet;; 3 - Operação não presencial, Teleatendimento;; 4 - NFC-e em operação com entrega a domicílio;; 5 - Presencial fora do estabelecimento;; 9 - Operação não presencial, outros.'}, 'IdentificadorInterno': {'type': ['string', 'null']}, 'NFPagamentoAntecipado': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Grupo de notas de antecipação de pagamento (gPagAntecipado - Reforma Tributária).'}}, 'additionalProperties': False}}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Identificação do Ambiente Valores: 1 - Produção; 2 - Homologação'}, 'ModeloDocumento': {'enum': [55, 65], 'type': 'integer', 'default': 55, 'description': 'Código do modelo do Documento Fiscal (Padrão 55) Valores: 55 - NF-e; 65 - NFC-e'}}, 'description': 'NF-e / NFC-e (modelo 55/65). Usado quando TipoEnvio = 1. Gera o DANFE/XML de pré-visualização.', 'additionalProperties': False}, 'TipoArquivo': {'enum': [0, 1, 2], 'type': 'integer', 'description': 'Tipo do arquivo que deseja pré-visualizar (Padrão - 0) Valores: 0 - XML; 1 - PDF; 2 - PDF em Base64File e XML em Base64Xml na mesma chamada'}, 'mostrarTarjaPreVisualizacao': {'type': 'boolean', 'default': True, 'description': 'Mostrar tarja "SEM VALOR FISCAL - PRÉ-VISUALIZAÇÃO" (Padrão - Verdadeiro) Somente para o tipo de arquivo PDF e se um dos serviços de emissão estiver ativo para a empresa'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'Status': {'type': 'boolean'}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'XML da pré-visualização. Preenchido somente quando TipoArquivo = 2.'}, 'Base64File': {'type': ['string', 'null']}}, 'additionalProperties': False}
nfse_consultar
Consultar NFS-e
Consulta status e dados de uma NFS-e já enviada por número, série e ambiente.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'Rps': {'type': ['array', 'null'], 'items': {'type': 'integer'}, 'description': 'Rps para retornar (Se não enviar retorna todos)'}, 'codLote': {'type': ['string', 'null'], 'description': 'Código do lote'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Lote': {'type': 'integer', 'description': 'Número do lote enviado;'}, 'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Notas': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Erro': {'type': ['string', 'null'], 'description': 'Descrição do erro caso a nota não for emitida'}, 'Chave': {'type': ['string', 'null'], 'description': 'Chave da NFS-e'}, 'Status': {'enum': [1, 3], 'type': 'integer', 'description': '1 - NFSe Emitida; 3 - Erro ao emitir'}, 'Valores': {'type': ['object', 'null'], 'properties': {'ValorIR': {'type': 'number', 'description': 'Valor IR'}, 'Aliquota': {'type': 'number', 'description': 'Alíquota em %'}, 'ValorISS': {'type': 'number', 'description': 'Valor ISS'}, 'ValorPIS': {'type': 'number', 'description': 'Valor PIS'}, 'ValorCSLL': {'type': 'number', 'description': 'Valor CSLL'}, 'ValorInss': {'type': 'number', 'description': 'Valor INSS retido (Contribuição Previdenciária - vRetCP no DPS nacional)'}, 'BaseCalculo': {'type': 'number', 'description': 'Base de cálculo'}, 'ValorCOFINS': {'type': 'number', 'description': 'Valor COFINS'}, 'ValorLiquido': {'type': 'number', 'description': 'Valor Líquido'}, 'ValorISSRetido': {'type': 'number', 'description': 'Valor ISS Retido'}}, 'description': 'Valores da NFS-e', 'additionalProperties': False}, 'Base64Doc': {'type': ['string', 'null'], 'description': 'Documento pdf da nfs, bytes em base64'}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'Dados xml da nfs, bytes em base64'}, 'Cancelada': {'type': 'boolean', 'description': 'Informa se a NFS-e encontra-se cancelada'}, 'DtEmissao': {'type': 'string', 'description': 'Data da emissao da NFSe'}, 'NumeroRPS': {'type': 'integer', 'description': 'Número do RPS'}, 'NumeroNFSe': {'type': ['string', 'null'], 'description': 'Número da NFS-e'}, 'CodVerificacao': {'type': ['string', 'null'], 'description': 'Código de verificação da NFS-e'}, 'CpfCnpjTomador': {'type': ['string', 'null'], 'description': 'Cpf ou Cnpj do Tomador'}, 'CpfCnpjPrestador': {'type': ['string', 'null'], 'description': 'Cpf ou Cnpj do Prestador'}, 'IdentificadorInterno': {'type': ['string', 'null'], 'description': 'Identificador interno da nfs (enviado pela API)'}}, 'additionalProperties': False}}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'CodLote': {'type': ['string', 'null'], 'description': 'Código atrelado ao lote; - Usado para busca de lotes'}, 'Protocolo': {'type': ['string', 'null'], 'description': 'Número de protocolo do lote'}, 'StatusLote': {'enum': [1, 2, 3, 4], 'type': 'integer', 'description': '1 - Lote processado; 2 - Aguardando processamento; 3 - Ocorreu um erro ao processar o lote; 4 - Ocorreu um erro ao analisar as informações do lote'}, 'Base64XmlLote': {'type': ['string', 'null'], 'description': 'Dados xml do lote, bytes em base64'}, 'DsTipoAmbiente': {'type': ['string', 'null'], 'description': 'Descrição do ambiente de envio'}, 'MunicipioEnvio': {'type': ['string', 'null'], 'description': 'Municipio onde foi enviado'}, 'CodTipoAmbiente': {'type': 'integer', 'description': 'Código do ambiente de envio'}, 'DataRecebimento': {'type': ['string', 'null'], 'description': 'Data de recebimento do lote;'}, 'TempoRequisicaoPrefeitura': {'type': 'integer', 'description': 'Tempo total da transmissão para prefeitura em milisegundos'}}, 'additionalProperties': False}
nfse_emitir
Emitir NFS-e (serviços)
Emite NFS-e (Nota Fiscal de Serviços Eletrônica). Cada município brasileiro tem regras e webservices próprios - confira o município emissor antes. Pode usar Portal Nacional NFS-e ou prefeitura específica conforme cadastro da empresa.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['TipoAmbiente', 'nFSInfo'], 'properties': {'Lote': {'type': ['integer', 'null']}, 'nFSInfo': {'type': 'array', 'items': {'type': 'object', 'required': ['Servico'], 'properties': {'Servico': {'type': 'object', 'required': ['ItemListaServico'], 'properties': {'CodNBS': {'type': ['string', 'null'], 'description': 'Código NBS (Nomenclatura Brasileira de Serviços).'}, 'IBSCBS': {'type': ['object', 'null'], 'properties': {'AliqCbs': {'type': ['number', 'null'], 'description': 'Alíquota da CBS (pCBS) em %. Se null, usa 0,90% (padrão de teste 2025-2026).'}, 'AliqIbsUf': {'type': ['number', 'null'], 'description': 'Alíquota do IBS Estadual (pIBSUF) em %. Se null, usa 0,10% (padrão de teste 2025-2026).'}, 'AliqIbsMun': {'type': ['number', 'null'], 'description': 'Alíquota do IBS Municipal (pIBSMun) em %. Se null, usa 0% (padrão de teste 2025-2026).'}, 'BaseCalculo': {'type': ['number', 'null'], 'description': 'Base de cálculo do IBS/CBS (vBC). Se null, usa ValorServico - DescontoIncondicionado.'}, 'CodClassTrib': {'type': ['string', 'null'], 'description': 'Código de Classificação Tributária (cClassTrib, 6 dígitos). Os 3 primeiros são o CST. Padrão 000001.'}, 'TipoOperacao': {'enum': [1, 2, 3, 4, 5, None], 'type': ['integer', 'null'], 'description': 'Tipo de Operação (tpOper). Obrigatório para os serviços da LC 116/2003 25.05, 15.09, 17.12 e 10.05 (senão a prefeitura recusa com E0903). Se null nesses casos, assume 5 (fornecimento e recebimento concomitantes). Valores: 1 - Fornecimento com pagamento posterior; 2 - Recebimento do pagamento com fornecimento já realizado; 3 - Fornecimento com pagamento já realizado; 4 - Recebimento do pagamento com fornecimento posterior; 5 - Fornecimento e recebimento do pagamento concomitantes'}, 'EnderecoImovel': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'description': 'Endereço do imóvel onde o serviço foi prestado. Obrigatório (grupo imovel na DPS) quando o cIndOp é de operação sobre bem imóvel (020101/020201/020301) É um endereço próprio da operação (NÃO o do tomador); se ficar vazio nesses casos, cai no endereço do tomador.', 'additionalProperties': False}, 'IndicadorUsoFinal': {'enum': [0, 1], 'type': 'integer', 'description': 'Indica operação de uso ou consumo pessoal (indFinal, art. 57). Valores: 0 - Não (padrão); 1 - Sim'}, 'CodIndicadorOperacao': {'type': ['string', 'null'], 'description': 'Código Indicador da Operação (cIndOp, 6 dígitos).'}, 'IndicadorDestinatario': {'enum': [0, 1], 'type': 'integer', 'description': 'Indicador do destinatário dos serviços (indDest). Valores: 0 - O destinatário é o próprio tomador/adquirente (padrão); 1 - O destinatário não é o próprio adquirente (caso com intermediário)'}, 'InscricaoImobiliariaImovel': {'type': ['string', 'null'], 'description': 'Inscrição imobiliária fiscal (IPTU) do imóvel - opcional, dentro do grupo imovel.'}}, 'additionalProperties': False}, 'Valores': {'type': ['object', 'null'], 'required': ['ValorServico'], 'properties': {'Aliquota': {'type': 'number', 'description': 'Alíquota do ISS (%).'}, 'ValorInss': {'type': 'number'}, 'AliquotaIr': {'type': ['number', 'null']}, 'ValorServico': {'type': 'number', 'description': 'Valor total do serviço prestado. DEVE ser maior que 0.'}, 'TotalTributos': {'type': 'number'}, 'ValorDeducoes': {'type': 'number'}, 'OutrasRetencoes': {'type': 'number'}, 'DescontoCondicionado': {'type': 'number'}, 'DescontoIncondicionado': {'type': 'number'}, 'AliquotaSimplesNacional': {'type': ['number', 'null'], 'description': 'Alíquota do Simples Nacional (%). Preenche o pTotTribSN (percentual total aproximado dos tributos) da NFS-e nacional - equivale à opção "Informar alíquota do Simples Nacional" do emissor nacional. Usada por optantes ME/EPP e MEI. Independente de Aliquota (ISS).'}}, 'additionalProperties': False}, 'Descricao': {'type': ['string', 'null']}, 'IssRetido': {'type': 'boolean', 'description': 'Iss Retido?'}, 'CodigoCnae': {'type': ['string', 'null'], 'description': 'Código CNAE (Classificação Nacional de Atividades Econômicas)'}, 'NumeroPedido': {'type': ['string', 'null'], 'description': 'Número do pedido do tomador (infoCompl/xPed, até 60 caracteres).'}, 'IncentivoFiscal': {'type': 'boolean', 'description': 'Incentivo Fiscal?'}, 'ComercioExterior': {'type': ['object', 'null'], 'properties': {'CodMoeda': {'type': ['integer', 'null'], 'description': 'Código da moeda estrangeira (tpMoeda), ISO 4217 numérico de 3 dígitos. Padrão 840 (USD). Ex: 840 = Dólar americano, 978 = Euro, 826 = Libra esterlina.'}, 'NumeroDI': {'type': ['string', 'null'], 'description': 'Número da Declaração de Importação (nDI). Opcional.'}, 'NumeroRE': {'type': ['string', 'null'], 'description': 'Número do Registro de Exportação (nRE). Opcional.'}, 'ApoioTomador': {'type': ['integer', 'null'], 'description': 'Mecanismo de apoio/fomento ao comércio exterior pelo tomador (mecAFComexT). Padrão 1.'}, 'ModoPrestacao': {'enum': [1, 2, 3, 4, None], 'type': ['integer', 'null'], 'description': 'Modo de prestação do serviço (mdPrestacao). Padrão 1. Valores: 1 - Transfronteiriço; 2 - Consumo no Brasil; 3 - Presença comercial no exterior; 4 - Movimento temporário de pessoas físicas'}, 'ApoioPrestador': {'enum': [1, 2, None], 'type': ['integer', 'null'], 'description': 'Mecanismo de apoio/fomento ao comércio exterior pelo prestador (mecAFComexP). Padrão 1. Valores: 1 - Nenhum; 2 - ACC; 3 - ACE; 4 - BNDES-Exim Pós; 5 - BNDES-Exim Pré; 6 - FGE; 7 - PROEX Equalização; 8 - PROEX Financiamento'}, 'CompartilharMDIC': {'enum': [0, 1, None], 'type': ['integer', 'null'], 'description': 'Compartilhar as informações da NFS-e com o MDIC/Secretaria de Comércio Exterior (mdic). Padrão 0. Valores: 0 - Não enviar; 1 - Enviar'}, 'VinculoPrestador': {'enum': [0, 1, 2, 3, 4, 5, 6, None], 'type': ['integer', 'null'], 'description': 'Vínculo entre prestador e tomador (vincPrest). Padrão 0. Valores: 0 - Sem vínculo; 1 - Controlada; 2 - Controladora; 3 - Coligada; 4 - Matriz; 5 - Filial ou sucursal; 6 - Outro vínculo'}, 'ValorMoedaEstrangeira': {'type': ['number', 'null'], 'description': 'Valor do serviço na moeda estrangeira informada (vServMoeda). Se não informado, usa o ValorServico (valor em reais) - recomenda-se informar o valor real na moeda.'}, 'MovimentacaoTemporariaBens': {'enum': [1, 2, 3, None], 'type': ['integer', 'null'], 'description': 'Movimentação temporária de bens (movTempBens). Padrão 1. Valores: 1 - Não; 2 - Vinculada à Declaração de Importação; 3 - Vinculada à Declaração de Exportação'}}, 'description': 'Informações de comércio exterior (grupo comExt do leiaute nacional). Se ExigibilidadeISS = 4 e este objeto não for enviado, valores padrão são aplicados (modo Transfronteiriço, sem vínculo, sem mecanismo de apoio, moeda USD, valor = ValorServico).', 'additionalProperties': False}, 'ExigibilidadeISS': {'enum': [1, 2, 3, 4, 5, 6, 7], 'type': 'integer', 'default': 1, 'description': 'Exigibilidade ISS (Padrão 1) Valores: 1 - Exigível; 2 - Não incidência; 3 - Isenção; 4 - Exportação; 5 - Imunidade; 6 - Exigibilidade Suspensa por Decisão Judicia; 7 - Exigibilidade Suspensa por Processo Administrativo'}, 'ItemListaServico': {'type': 'string', 'description': 'Código do serviço prestado. OBRIGATÓRIO. O significado depende do provedor do município (IdProvedorNFSe):'}, 'NaturezaOperacao': {'type': 'integer', 'description': 'Alguns municípios possui códigos específicos, para mais informações, veja a documentação:'}, 'ConfiguracaoImposto': {'type': ['object', 'null'], 'properties': {'IncideIr': {'type': 'boolean', 'description': 'Indide 1,50% (ou a alíquota informada em (Valores -> AliquotaIr)) de IR caso o valor for maior que R$666,66'}, 'IncidePis': {'type': 'boolean', 'description': 'Indide 0,65% de PIS caso o valor for maior que R$215,05'}, 'IncideCsll': {'type': 'boolean', 'description': 'Indide 1,00% de CSLL caso o valor for maior que R$215,05'}, 'IncideCofins': {'type': 'boolean', 'description': 'Indide 3,00% de COFINS caso o valor for maior que R$215,05'}, 'RegimePisCofins': {'type': ['integer', 'null'], 'description': 'Regime de apuração do PIS/COFINS usado nas alíquotas do grupo piscofins: 1 = Cumulativo (0,65% / 3,00%), 2 = Não cumulativo (1,65% / 7,60%). Vazio = pelo regime cadastrado na empresa (Lucro Real = não cumulativo, demais = cumulativo). Útil para receitas que a Lei 10.833/2003 art. 10 mantém no cumulativo mesmo no Lucro Real (software, hospitais e clínicas, etc.).'}, 'DestacarPisCofins': {'type': 'boolean', 'description': 'Destaca na NFS-e (padrão nacional) o PIS/COFINS de apuração própria do prestador (grupo piscofins: CST 01, alíquotas e valores), sem retenção pelo tomador e sem abater o valor líquido. Alíquotas conforme o regime da empresa: Lucro Real 1,65% / 7,60%, demais 0,65% / 3,00%. Somente empresas do Regime Normal (CRT 3). Pode ser combinado com as retenções acima (tpRetPisCofins passa a refletir o que foi retido).'}, 'ForcarIncidenciaIr': {'type': 'boolean', 'description': 'Indide 1,50% (ou a alíquota informada em (Valores -> AliquotaIr)) de IR independente do valor'}, 'ForcarIncidenciaPis': {'type': 'boolean', 'description': 'Indide 0,65% de PIS independente do valor'}, 'ForcarIncidenciaCsll': {'type': 'boolean', 'description': 'Indide 1,00% de CSLL independente do valor'}, 'ForcarIncidenciaCofins': {'type': 'boolean', 'description': 'Indide 3,00% de COFINS independente do valor'}}, 'additionalProperties': False}, 'DocumentoReferencia': {'type': ['string', 'null'], 'description': 'Documento de referência (infoCompl/docRef, até 255 caracteres): contrato, proposta, NF referenciada etc.'}, 'IncentivadorCultural': {'type': 'boolean', 'description': 'Incentio Cultural?'}, 'CodMunicipioPrestacao': {'type': ['string', 'null'], 'description': 'Código do municipio da prestação do serviço (Padrão - Município do Prestador)'}, 'CodMunicipioIncidencia': {'type': ['string', 'null'], 'description': 'Código do municipio da incedência do serviço (Padrão - Município do Prestador)'}, 'CodTributacaoMunicipio': {'type': ['string', 'null'], 'description': 'Código de tributação do município'}, 'RegimeEspecialTributacao': {'enum': [0, 1, 2, 3, 4, 5, 6], 'type': 'integer', 'description': '0 - Sem Regime Especial; 1 - Microempresa municipal; 2 - Estimativa; 3 - Sociedade de profissionais; 4 - Cooperativa; 5 - MEI - Simples Nacional; 6 - ME EPP - Simples Nacional'}, 'InformacoesComplementares': {'type': ['string', 'null'], 'description': 'Informações complementares da NFS-e nacional (infoCompl/xInfComp, até 2000 caracteres). Sai no DANFSe.'}}, 'description': 'Dados do serviço prestado. OBRIGATÓRIO. Exige ao menos: ItemListaServico (item LC 116/2003 no provedor municipal, ou Código de Tributação Nacional cTribNac no ambiente nacional - ver ItemListaServico) e Valores.ValorServico > 0.', 'additionalProperties': False}, 'Tomador': {'type': ['object', 'null'], 'properties': {'Im': {'type': ['string', 'null']}, 'Contato': {'type': ['object', 'null'], 'properties': {'Fax': {'type': ['string', 'null']}, 'Email': {'type': ['string', 'null']}, 'Telefone': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'CpfCnpj': {'type': ['string', 'null'], 'description': 'Documento de identificação do tomador.'}, 'Endereco': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'NmTomador': {'type': ['string', 'null']}}, 'description': 'Dados do tomador (cliente do serviço). Obrigatório quando a prefeitura exige identificação do tomador (a maioria dos municípios). Para tomador no exterior (Endereco.CodPais != 1058) o CpfCnpj pode ser NIF estrangeiro ou ficar vazio.', 'additionalProperties': False}, 'SerieRps': {'type': ['string', 'null']}, 'NumeroRps': {'type': ['integer', 'null']}, 'DataEmissao': {'type': ['string', 'null'], 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'EnviarEmail': {'type': 'boolean'}, 'Intermediario': {'type': ['object', 'null'], 'properties': {'CPFCNPJ': {'type': ['string', 'null']}, 'RzSocial': {'type': ['string', 'null']}, 'InscricaoMunicipal': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'ConstrucaoCivil': {'type': ['object', 'null'], 'properties': {'Art': {'type': ['string', 'null'], 'description': 'Documento de responsabilidade técnica (ART, RRT, DRT). Vai em infoCompl/idDocTec.'}, 'Cib': {'type': ['string', 'null'], 'description': 'Código do Cadastro Imobiliário Brasileiro (8 caracteres). Só no leiaute 1.01.'}, 'CodObra': {'type': ['string', 'null'], 'description': 'Número da obra: CNO (Cadastro Nacional de Obras) ou CEI do INSS. Até 30 caracteres.'}, 'EnderecoObra': {'type': ['object', 'null'], 'properties': {'Uf': {'type': ['string', 'null']}, 'Cep': {'type': ['string', 'null']}, 'Pais': {'type': ['string', 'null'], 'default': 'BRASIL'}, 'Bairro': {'type': ['string', 'null']}, 'Numero': {'type': ['string', 'null']}, 'CodPais': {'type': 'integer', 'default': 1058}, 'Municipio': {'type': ['string', 'null']}, 'Logradouro': {'type': ['string', 'null']}, 'Complemento': {'type': ['string', 'null']}, 'CodMunicipio': {'type': ['string', 'null']}}, 'description': 'Endereço da obra (CEP, Logradouro, Numero, Complemento, Bairro). Usado quando não há CodObra nem Cib.', 'additionalProperties': False}, 'InscricaoImobiliaria': {'type': ['string', 'null'], 'description': 'Inscrição imobiliária fiscal do imóvel na prefeitura. Opcional, complementa o identificador.'}}, 'description': 'Dados da obra (grupo obra do DPS nacional). Obrigatório para os serviços 07.02, 07.04, 07.05, 07.06, 07.07, 07.08, 07.17, 07.19 e 14.14 (E0370). Basta UM identificador, nesta prioridade: CodObra, Cib, EnderecoObra. Sem nenhum deles, nesses serviços, usa-se o endereço do tomador como local da obra.', 'additionalProperties': False}, 'DataCompetencia': {'type': ['string', 'null'], 'description': 'Data de competência do serviço. Se não informado, usa a data de emissão. Não pode ser anterior a 1 ano da data atual.'}, 'IdentificadorInterno': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Lista de NFS-e a emitir no lote. Mínimo 1 item.'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'description': 'Identificação do ambiente da prefeitura/portal nacional. Valores: 1 - Produção (emissão REAL, com valor fiscal); 2 - Homologação (teste)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Lote': {'type': 'integer', 'description': 'Número do lote enviado;'}, 'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Notas': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Erro': {'type': ['string', 'null'], 'description': 'Descrição do erro caso a nota não for emitida'}, 'Chave': {'type': ['string', 'null'], 'description': 'Chave da NFS-e'}, 'Status': {'enum': [1, 3], 'type': 'integer', 'description': '1 - NFSe Emitida; 3 - Erro ao emitir'}, 'Valores': {'type': ['object', 'null'], 'properties': {'ValorIR': {'type': 'number', 'description': 'Valor IR'}, 'Aliquota': {'type': 'number', 'description': 'Alíquota em %'}, 'ValorISS': {'type': 'number', 'description': 'Valor ISS'}, 'ValorPIS': {'type': 'number', 'description': 'Valor PIS'}, 'ValorCSLL': {'type': 'number', 'description': 'Valor CSLL'}, 'ValorInss': {'type': 'number', 'description': 'Valor INSS retido (Contribuição Previdenciária - vRetCP no DPS nacional)'}, 'BaseCalculo': {'type': 'number', 'description': 'Base de cálculo'}, 'ValorCOFINS': {'type': 'number', 'description': 'Valor COFINS'}, 'ValorLiquido': {'type': 'number', 'description': 'Valor Líquido'}, 'ValorISSRetido': {'type': 'number', 'description': 'Valor ISS Retido'}}, 'description': 'Valores da NFS-e', 'additionalProperties': False}, 'Base64Doc': {'type': ['string', 'null'], 'description': 'Documento pdf da nfs, bytes em base64'}, 'Base64Xml': {'type': ['string', 'null'], 'description': 'Dados xml da nfs, bytes em base64'}, 'Cancelada': {'type': 'boolean', 'description': 'Informa se a NFS-e encontra-se cancelada'}, 'DtEmissao': {'type': 'string', 'description': 'Data da emissao da NFSe'}, 'NumeroRPS': {'type': 'integer', 'description': 'Número do RPS'}, 'NumeroNFSe': {'type': ['string', 'null'], 'description': 'Número da NFS-e'}, 'CodVerificacao': {'type': ['string', 'null'], 'description': 'Código de verificação da NFS-e'}, 'CpfCnpjTomador': {'type': ['string', 'null'], 'description': 'Cpf ou Cnpj do Tomador'}, 'CpfCnpjPrestador': {'type': ['string', 'null'], 'description': 'Cpf ou Cnpj do Prestador'}, 'IdentificadorInterno': {'type': ['string', 'null'], 'description': 'Identificador interno da nfs (enviado pela API)'}}, 'additionalProperties': False}}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}, 'CodLote': {'type': ['string', 'null'], 'description': 'Código atrelado ao lote; - Usado para busca de lotes'}, 'Protocolo': {'type': ['string', 'null'], 'description': 'Número de protocolo do lote'}, 'StatusLote': {'enum': [1, 2, 3, 4], 'type': 'integer', 'description': '1 - Lote processado; 2 - Aguardando processamento; 3 - Ocorreu um erro ao processar o lote; 4 - Ocorreu um erro ao analisar as informações do lote'}, 'Base64XmlLote': {'type': ['string', 'null'], 'description': 'Dados xml do lote, bytes em base64'}, 'DsTipoAmbiente': {'type': ['string', 'null'], 'description': 'Descrição do ambiente de envio'}, 'MunicipioEnvio': {'type': ['string', 'null'], 'description': 'Municipio onde foi enviado'}, 'CodTipoAmbiente': {'type': 'integer', 'description': 'Código do ambiente de envio'}, 'DataRecebimento': {'type': ['string', 'null'], 'description': 'Data de recebimento do lote;'}, 'TempoRequisicaoPrefeitura': {'type': 'integer', 'description': 'Tempo total da transmissão para prefeitura em milisegundos'}}, 'additionalProperties': False}
nota_listar
Listar notas fiscais
Lista NF-e/NFC-e/NFS-e emitidas ou recebidas pela empresa em um intervalo de datas. Suporta filtros por chave, número, status e tipo.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'DtFim': {'type': 'string', 'description': 'Data final da busca'}, 'DtInicio': {'type': 'string', 'description': 'Data inicial da busca'}, 'TipoAmbiente': {'enum': [1, 2], 'type': 'integer', 'default': 1, 'description': 'Tipo de ambiente (Padrão 1 - Produção) Valores: 1 - Produção; 2 - Homologação'}, 'TipoParticipacao': {'enum': [0, 1, 2], 'type': 'integer', 'description': 'Como a empresa participa das notas de entrada (Padrão 0 - Destinatário). Somente para TipoDocumentoFiscal = 0. Valores: 0 - Destinatário (comportamento padrão); 1 - Transportadora (NF-e onde a empresa é citada como transportadora ou terceiro autorizado); 2 - Ambos'}, 'TipoDocumentoFiscal': {'enum': [0, 1], 'type': 'integer', 'description': 'Tipo do documento fiscal (Padrão 0 - Entrada) Valores: 0 - Entradas; 1 - Saídas'}, 'IdentificadorInterno': {'type': ['string', 'null'], 'description': 'Busca notas que possui o código interno informado (somente saídas)'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Error': {'type': ['string', 'null'], 'description': 'Mensagem de erro da operação. Vazia ("") quando foi bem-sucedida.'}, 'Notas': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Cfops': {'type': ['string', 'null']}, 'Chave': {'type': ['string', 'null']}, 'Serie': {'type': ['string', 'null']}, 'Valor': {'type': 'number'}, 'Numero': {'type': 'integer'}, 'Status': {'enum': [1, 2, 3], 'type': 'integer', 'description': 'Status da nota fiscal: Valores: 1 - Autorizado o uso; 2 - Documento Cancelado; 3 - Uso denegado'}, 'CodLote': {'type': ['string', 'null']}, 'DtEmissao': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'IeEmissor': {'type': ['string', 'null']}, 'ValorIcms': {'type': ['number', 'null']}, 'CnpjEmissor': {'type': ['string', 'null']}, 'DigestValue': {'type': ['string', 'null']}, 'NomeEmissor': {'type': ['string', 'null']}, 'DtRecebimento': {'type': 'string', 'description': 'Data/hora ISO 8601 (ex: 2026-07-22T13:45:00-03:00)'}, 'ModeloDocumento': {'enum': [10, 55, 65, 57, 58, 59], 'type': 'integer', 'description': 'Modelo do documento fiscal Valores: 10 - Nota Fiscal de Serviço (NFS-e); 55 - Nota Fiscal Eletrônica (NF-e); 65 - 65 - Nota Fiscal de Consumidor (NFC-e); 57 - Conhecimento de Transporte Eletrônico (CT-e); 58 - Manifesto Eletrônico de Documentos Fiscais (MDF-e); 59 - Cupom Fiscal Eletrônico SAT (CFe SAT)'}, 'NumeroProtocolo': {'type': ['string', 'null']}, 'CnpjDestinatario': {'type': ['string', 'null']}, 'NomeDestinatario': {'type': ['string', 'null']}, 'TipoParticipacao': {'enum': [0, 1, None], 'type': ['integer', 'null'], 'description': 'Como a empresa participa da nota de entrada (somente TipoDocumentoFiscal = 0): Valores: 0 - Destinatário; 1 - Transportadora/terceiro citado na nota'}, 'IdentificadorInterno': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em emissão bem-sucedida.'}}, 'additionalProperties': False}
produto_consultar
Consultar produto por codigo, NCM, GTIN ou descricao
Pesquisa produto no cadastro da empresa logada. Aceita codigo interno, NCM (8 digitos), GTIN/EAN (8/12/13/14 digitos) ou descricao parcial. Use ANTES de criar produtos novos para evitar duplicatas. PAGINACAO: Limite default 20 (max 50). Use Offset pra ir alem - o retorno traz TotalGeral. Se TotalGeral > matches retornados, peça mais paginas em vez de inventar/agrupar.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'Termo': {'type': ['string', 'null']}, 'Limite': {'type': ['integer', 'null']}, 'Offset': {'type': ['integer', 'null']}, 'TipoBusca': {'type': ['string', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'Limite': {'type': 'integer'}, 'Offset': {'type': 'integer'}, 'Matches': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Id': {'type': 'integer'}, 'Ean': {'type': ['string', 'null']}, 'Ncm': {'type': ['string', 'null']}, 'Cest': {'type': ['string', 'null']}, 'Score': {'type': 'number'}, 'Codigo': {'type': ['string', 'null']}, 'Descricao': {'type': ['string', 'null']}, 'QuantidadeEstoque': {'type': ['number', 'null']}, 'ValorUnitarioVenda': {'type': 'number'}, 'UnidadeMedidaVendaSigla': {'type': ['string', 'null']}, 'UnidadeMedidaCompraSigla': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'TotalGeral': {'type': 'integer'}, 'TotalLocal': {'type': 'integer'}, 'TipoDetectado': {'type': ['string', 'null']}, 'TermoNormalizado': {'type': ['string', 'null']}}, 'additionalProperties': False}
produto_criar
Cadastrar novo produto
Cadastra um novo Produto na empresa logada. Validacao de duplicata por Codigo. NCM aceito com 7 ou 8 digitos (zero-pad automatico). EAN/GTIN validado por digito verificador.
Eingabeschema
{'type': 'object', 'required': ['Codigo', 'Descricao', 'UnidadeMedidaVendaSigla', 'ValorUnitarioVenda'], 'properties': {'Id': {'type': ['integer', 'null']}, 'Ean': {'type': ['string', 'null']}, 'Ncm': {'type': ['string', 'null']}, 'Cest': {'type': ['string', 'null']}, 'Codigo': {'type': 'string'}, 'Descricao': {'type': 'string'}, 'FatorConversao': {'type': ['number', 'null']}, 'QuantidadeEstoque': {'type': ['number', 'null']}, 'ValorUnitarioVenda': {'type': 'number'}, 'UnidadeMedidaVendaSigla': {'type': 'string', 'maxLength': 10}, 'UnidadeMedidaCompraSigla': {'type': ['string', 'null'], 'maxLength': 10}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Id': {'type': ['integer', 'null']}, 'Ok': {'type': 'boolean'}, 'Erro': {'type': ['string', 'null']}, 'Produto': {'type': ['object', 'null'], 'properties': {'Id': {'type': 'integer'}, 'Ean': {'type': ['string', 'null']}, 'Ncm': {'type': ['string', 'null']}, 'Cest': {'type': ['string', 'null']}, 'Score': {'type': 'number'}, 'Codigo': {'type': ['string', 'null']}, 'Descricao': {'type': ['string', 'null']}, 'QuantidadeEstoque': {'type': ['number', 'null']}, 'ValorUnitarioVenda': {'type': 'number'}, 'UnidadeMedidaVendaSigla': {'type': ['string', 'null']}, 'UnidadeMedidaCompraSigla': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
produto_editar
Editar produto cadastrado
Atualiza um Produto existente. Id obrigatorio. ATENCAO: envie o payload COMPLETO - campos omitidos sao zerados. Faca produto_consultar antes pra ter os dados atuais, depois envie tudo + o que muda. Valida ownership por UserCreate (produto tem que pertencer ao usuario logado) e por empresa (IdEmpresa tem que ser a logada ou 0 - se for outra empresa sua, troque antes).
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['Codigo', 'Descricao', 'UnidadeMedidaVendaSigla', 'ValorUnitarioVenda'], 'properties': {'Id': {'type': ['integer', 'null']}, 'Ean': {'type': ['string', 'null']}, 'Ncm': {'type': ['string', 'null']}, 'Cest': {'type': ['string', 'null']}, 'Codigo': {'type': 'string'}, 'Descricao': {'type': 'string'}, 'FatorConversao': {'type': ['number', 'null']}, 'QuantidadeEstoque': {'type': ['number', 'null']}, 'ValorUnitarioVenda': {'type': 'number'}, 'UnidadeMedidaVendaSigla': {'type': 'string', 'maxLength': 10}, 'UnidadeMedidaCompraSigla': {'type': ['string', 'null'], 'maxLength': 10}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Id': {'type': ['integer', 'null']}, 'Ok': {'type': 'boolean'}, 'Erro': {'type': ['string', 'null']}, 'Produto': {'type': ['object', 'null'], 'properties': {'Id': {'type': 'integer'}, 'Ean': {'type': ['string', 'null']}, 'Ncm': {'type': ['string', 'null']}, 'Cest': {'type': ['string', 'null']}, 'Score': {'type': 'number'}, 'Codigo': {'type': ['string', 'null']}, 'Descricao': {'type': ['string', 'null']}, 'QuantidadeEstoque': {'type': ['number', 'null']}, 'ValorUnitarioVenda': {'type': 'number'}, 'UnidadeMedidaVendaSigla': {'type': ['string', 'null']}, 'UnidadeMedidaCompraSigla': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
sefaz_status
Status do serviço SEFAZ
Consulta o status do serviço de autorização da SEFAZ para uma UF e ambiente. Use antes de uma emissão em lote ou quando suspeitar de instabilidade.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'properties': {'ModeloDocumento': {'enum': [55, 65], 'type': 'integer', 'default': 55, 'description': 'Modelo do documento fiscal usado para determinar o webservice de status da SEFAZ (Padrão 55). Valores: 55 - NF-e; 65 - NFC-e'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'erros': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'codigo': {'type': ['string', 'null'], 'description': 'Código do erro/rejeição (quando houver).'}, 'correcao': {'type': ['string', 'null'], 'description': 'Sugestão de correção, quando disponível.'}, 'descricao': {'type': ['string', 'null'], 'description': 'Descrição do erro.'}}, 'additionalProperties': False}, 'description': 'Lista de erros quando a operação falha. Vazia em caso de sucesso. Cada item traz codigo, descricao e correcao.'}, 'Versao': {'type': ['string', 'null']}, 'avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': 'Avisos não bloqueantes. Pode vir preenchida mesmo em sucesso.'}, 'status': {'type': 'integer', 'description': 'Status do resultado da operação: 1 = sucesso; 2 = erro (a lista erros é preenchida).'}, 'DsTipoAmbiente': {'type': ['string', 'null']}, 'CodTipoAmbiente': {'type': 'integer'}, 'DsEstadoEmitente': {'type': ['string', 'null']}, 'CodEstadoEmitente': {'type': 'integer'}, 'DsStatusRespostaSefaz': {'type': ['string', 'null']}, 'CodStatusRespostaSefaz': {'type': 'integer'}}, 'additionalProperties': False}
tributacao_consultar
Consultar regras de tributacao
Lista regras de tributacao da empresa (CFOP, CST, aliquotas ICMS/PIS/COFINS/IPI/IBS/CBS). Filtra por Tipo (1=NFe, 2=NFCe, 3=Energia/Comunicacao), CFOP especifico ou termo na descricao. Use antes de criar nota fiscal pra LLM saber quais tributos aplicar. PAGINACAO: Limite default 20 (max 50). Use Offset pra ir alem - o retorno traz TotalGeral. Se TotalGeral > matches retornados, peça mais paginas em vez de inventar/agrupar.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'Cfop': {'type': ['integer', 'null']}, 'Tipo': {'type': ['integer', 'null']}, 'Termo': {'type': ['string', 'null']}, 'Limite': {'type': ['integer', 'null']}, 'Offset': {'type': ['integer', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Total': {'type': 'integer'}, 'Avisos': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'Limite': {'type': 'integer'}, 'Offset': {'type': 'integer'}, 'Matches': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'Id': {'type': 'integer'}, 'Cfop': {'type': 'integer'}, 'Tipo': {'type': 'integer'}, 'CstIpi': {'type': ['string', 'null']}, 'CstPis': {'type': ['string', 'null']}, 'AliqCbs': {'type': ['number', 'null']}, 'AliqIpi': {'type': ['number', 'null']}, 'AliqPis': {'type': 'number'}, 'ApiCode': {'type': ['string', 'null']}, 'CstIcms': {'type': ['string', 'null']}, 'AliqIcms': {'type': 'number'}, 'AutoAliq': {'type': 'boolean'}, 'AliqIbsUf': {'type': ['number', 'null']}, 'CstCofins': {'type': ['string', 'null']}, 'CstIbsCbs': {'type': ['string', 'null']}, 'Descricao': {'type': ['string', 'null']}, 'AliqCofins': {'type': 'number'}, 'AliqIbsMun': {'type': ['number', 'null']}, 'Observacao': {'type': ['string', 'null']}, 'AliqReducao': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'TotalGeral': {'type': 'integer'}}, 'additionalProperties': False}
tributacao_criar
Cadastrar nova regra de tributacao
Cadastra uma nova regra de tributacao (CFOP + CSTs + aliquotas). Tipo 1=NFe, 2=NFCe, 3=Energia/Comunicacao. CstIbsCbs e obrigatorio (Reforma Tributaria).
Eingabeschema
{'type': 'object', 'required': ['Cfop', 'Descricao'], 'properties': {'Id': {'type': ['integer', 'null']}, 'Cfop': {'type': 'integer'}, 'Tipo': {'type': 'integer'}, 'CstIpi': {'type': ['string', 'null']}, 'CstPis': {'type': ['string', 'null']}, 'AliqCbs': {'type': ['number', 'null']}, 'AliqIpi': {'type': ['number', 'null']}, 'AliqPis': {'type': 'number'}, 'ApiCode': {'type': ['string', 'null']}, 'CstIcms': {'type': ['string', 'null']}, 'AliqIcms': {'type': 'number'}, 'AutoAliq': {'type': 'boolean'}, 'AliqIbsUf': {'type': ['number', 'null']}, 'CstCofins': {'type': ['string', 'null']}, 'CstIbsCbs': {'type': ['string', 'null']}, 'Descricao': {'type': 'string'}, 'AliqCofins': {'type': 'number'}, 'AliqIbsMun': {'type': ['number', 'null']}, 'Observacao': {'type': ['string', 'null']}, 'AliqReducao': {'type': ['number', 'null']}, 'AliqDiferimento': {'type': ['number', 'null']}, 'EnquadramentoIpi': {'type': ['string', 'null']}, 'CodBeneficioFiscal': {'type': ['string', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Id': {'type': ['integer', 'null']}, 'Ok': {'type': 'boolean'}, 'Erro': {'type': ['string', 'null']}, 'Tributacao': {'type': ['object', 'null'], 'properties': {'Id': {'type': 'integer'}, 'Cfop': {'type': 'integer'}, 'Tipo': {'type': 'integer'}, 'CstIpi': {'type': ['string', 'null']}, 'CstPis': {'type': ['string', 'null']}, 'AliqCbs': {'type': ['number', 'null']}, 'AliqIpi': {'type': ['number', 'null']}, 'AliqPis': {'type': 'number'}, 'ApiCode': {'type': ['string', 'null']}, 'CstIcms': {'type': ['string', 'null']}, 'AliqIcms': {'type': 'number'}, 'AutoAliq': {'type': 'boolean'}, 'AliqIbsUf': {'type': ['number', 'null']}, 'CstCofins': {'type': ['string', 'null']}, 'CstIbsCbs': {'type': ['string', 'null']}, 'Descricao': {'type': ['string', 'null']}, 'AliqCofins': {'type': 'number'}, 'AliqIbsMun': {'type': ['number', 'null']}, 'Observacao': {'type': ['string', 'null']}, 'AliqReducao': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
tributacao_editar
Editar regra de tributacao
Atualiza uma regra de tributacao existente. Id obrigatorio. ATENCAO: envie o payload COMPLETO - campos omitidos sao zerados. Faca tributacao_consultar antes pra ter os dados atuais, depois envie tudo + o que muda. Valida ownership por IdEmpresa.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['Cfop', 'Descricao'], 'properties': {'Id': {'type': ['integer', 'null']}, 'Cfop': {'type': 'integer'}, 'Tipo': {'type': 'integer'}, 'CstIpi': {'type': ['string', 'null']}, 'CstPis': {'type': ['string', 'null']}, 'AliqCbs': {'type': ['number', 'null']}, 'AliqIpi': {'type': ['number', 'null']}, 'AliqPis': {'type': 'number'}, 'ApiCode': {'type': ['string', 'null']}, 'CstIcms': {'type': ['string', 'null']}, 'AliqIcms': {'type': 'number'}, 'AutoAliq': {'type': 'boolean'}, 'AliqIbsUf': {'type': ['number', 'null']}, 'CstCofins': {'type': ['string', 'null']}, 'CstIbsCbs': {'type': ['string', 'null']}, 'Descricao': {'type': 'string'}, 'AliqCofins': {'type': 'number'}, 'AliqIbsMun': {'type': ['number', 'null']}, 'Observacao': {'type': ['string', 'null']}, 'AliqReducao': {'type': ['number', 'null']}, 'AliqDiferimento': {'type': ['number', 'null']}, 'EnquadramentoIpi': {'type': ['string', 'null']}, 'CodBeneficioFiscal': {'type': ['string', 'null']}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'Id': {'type': ['integer', 'null']}, 'Ok': {'type': 'boolean'}, 'Erro': {'type': ['string', 'null']}, 'Tributacao': {'type': ['object', 'null'], 'properties': {'Id': {'type': 'integer'}, 'Cfop': {'type': 'integer'}, 'Tipo': {'type': 'integer'}, 'CstIpi': {'type': ['string', 'null']}, 'CstPis': {'type': ['string', 'null']}, 'AliqCbs': {'type': ['number', 'null']}, 'AliqIpi': {'type': ['number', 'null']}, 'AliqPis': {'type': 'number'}, 'ApiCode': {'type': ['string', 'null']}, 'CstIcms': {'type': ['string', 'null']}, 'AliqIcms': {'type': 'number'}, 'AutoAliq': {'type': 'boolean'}, 'AliqIbsUf': {'type': ['number', 'null']}, 'CstCofins': {'type': ['string', 'null']}, 'CstIbsCbs': {'type': ['string', 'null']}, 'Descricao': {'type': ['string', 'null']}, 'AliqCofins': {'type': 'number'}, 'AliqIbsMun': {'type': ['number', 'null']}, 'Observacao': {'type': ['string', 'null']}, 'AliqReducao': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
Geändert
health
1. October 2026 02:53
Geändert
fci_gerar
1. October 2026 02:53
Geändert
arquivo_baixar_periodo
1. October 2026 02:53
Geändert
arquivo_baixar_evento
1. October 2026 02:53
Geändert
arquivo_baixar
1. October 2026 02:53
Geändert
imposto_calcular
1. October 2026 02:53
Geändert
nota_listar
1. October 2026 02:53
Geändert
tributacao_editar
1. October 2026 02:53
Geändert
tributacao_criar
1. October 2026 02:53
Geändert
tributacao_consultar
1. October 2026 02:53
Geändert
produto_editar
1. October 2026 02:53
Geändert
produto_criar
1. October 2026 02:53
Geändert
produto_consultar
1. October 2026 02:53
Geändert
cliente_editar
1. October 2026 02:53
Geändert
cliente_criar
1. October 2026 02:53
Geändert
cliente_consultar
1. October 2026 02:53
Geändert
cadastro_consultar
1. October 2026 02:53
Geändert
sefaz_status
1. October 2026 02:53
Geändert
evento_inutilizar
1. October 2026 02:53
Geändert
evento_manifestar
1. October 2026 02:53
Geändert
evento_carta_correcao
1. October 2026 02:53
Geändert
evento_cancelar
1. October 2026 02:53
Geändert
dce_emitir
1. October 2026 02:53
Geändert
mdfe_encerrar
1. October 2026 02:53
Geändert
mdfe_emitir
1. October 2026 02:53
Geändert
cte_desacordo
1. October 2026 02:53
Geändert
cte_emitir
1. October 2026 02:53
Geändert
nfse_consultar
1. October 2026 02:53
Geändert
nfse_emitir
1. October 2026 02:53
Geändert
nfenercom_emitir
1. October 2026 02:53