fiscal
What this MCP does
Issues, queries, downloads, cancels, and manages Brazilian electronic fiscal documents and related taxpayer, product, transport, and tax operations through SEFAZ.
Tools
Input schema
{'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}
Input schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'type': 'object', 'properties': {'uf': {'type': ['string', 'null'], 'description': 'UF do CPF, CNPJ, IE'}, 'cpfCnpjIe': {'type': ['string', 'null']}}, 'additionalProperties': False}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'Count': {'type': 'integer'}, 'Capacity': {'type': 'integer'}}, 'additionalProperties': False}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'type': 'object', 'properties': {'Termo': {'type': ['string', 'null']}, 'Limite': {'type': ['integer', 'null']}, 'Offset': {'type': ['integer', 'null']}, 'TipoBusca': {'type': ['string', 'null']}}, 'additionalProperties': False}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Input schema
{'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}
Output schema
{'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}
Recent tool changes
Similar MCP servers
BeeL
Provides Spanish company administration and VeriFactu-compliant invoicing, including customers, products, invoice issuance, corre…
corply
Supports company formation and corporate administration including incorporation documents, signatures, cap tables, corporate acti…
FalaZuki Finance BR
Provides Brazil-focused financial calculations and rules for investments, credit, taxes, payroll, labor costs, debt, budgeting, a…
XBOSS
Accesses Korean tax, social insurance, payroll, cash receipt, e-tax invoice, and certificate filing services.
Sirenic
Provides European company registry, financial, procurement, sanctions, regulatory, insolvency, ownership, and ongoing due-diligen…
Xearno Tools
Provides financial, tax, employment-benefit, lending, pricing, and business calculators using jurisdiction-specific rules and cur…
schedule-iii
Transforms Indian company trial balances into controlled Schedule III financial statement workbooks with account mappings, disclo…
editalmd
Searches Brazilian public procurement opportunities and documents, tracks deadlines and alerts, and supports tender document acce…