Emissão de MDF-e
Para emitir um novo Manifesto Eletrônico de Documentos Fiscais, acesse Módulos Fiscais, navegue até a seção de MDF-e e clique no card Emissão de MDF-e. O sistema abrirá um wizard guiado com 8 etapas.
Visão Geral das Etapas
O processo é longo por exigência da SEFAZ, mas o Emitix usa inteligência para preencher quase tudo por você. O wizard é dividido assim:
| Etapa | Nome | O que você faz aqui |
|---|---|---|
| 1 | Emitente | Escolhe a transportadora responsável (preenchimento automático) |
| 2 | Identificação | Define ambiente, UF de início/fim e modalidade |
| 3 | Descarga | Define os municípios de destino e vincula as NF-e's de cada um (do sistema ou por chave de acesso) |
| 4 | Transporte | Informa caminhão, reboques e motoristas |
| 5 | Seguro e Pagamento | Apólice do seguro de carga e acerto do frete |
| 6 | Contratante | Quem contratou o serviço (opcional) |
| 7 | Adicionais | Lacres e observações fiscais |
| 8 | Revisão | Conferência final e botão de Transmitir |
Etapa 1 — Emitente

A primeira coisa a fazer é dizer à SEFAZ quem está realizando o transporte. Antigamente, você precisaria digitar CNPJ, Inscrição Estadual e Endereço Completo a cada nova viagem. Aqui não.
1. Seletor Inteligente
No topo da tela, você verá um card amarelo de Selecionar Emitente.
- Ao escolher a transportadora na lista, o Emitix descarrega todos os dados automaticamente no formulário.
- Ele também configura nos bastidores se aquele manifesto deve ir para o ambiente de Produção ou Homologação, baseado no cadastro da empresa.
2. Campos Travados (Segurança)
Para garantir que o XML seja validado com sucesso pela SEFAZ, após selecionar um emitente, todos os campos de identificação (CNPJ, Razão Social) e endereço ficam travados (cinzas). Isso impede que alguém altere acidentalmente o CEP do galpão e cause rejeição da nota.
3. Digitação Manual Inteligente (CNPJ Search e CEP Search)
Caso você seja um Administrador e precise digitar os dados de uma transportadora na mão, você conta com dois assistentes:
- Busca por CNPJ: Digite o CNPJ e o sistema consulta a Receita Federal/SEFAZ para trazer Razão Social, IE, e endereço na mesma hora.
- Busca por CEP: Se precisar alterar apenas o endereço, digite o CEP e o sistema preenche Rua, Bairro, Cidade e UF.
Cadastro Rápido
Se o emitente não estiver na lista, você pode clicar no botão azul com o ícone de (+) ao lado do seletor para abrir o modal de cadastro de novo emitente sem perder o progresso da emissão.
Etapa 2 — Identificação

Define as configurações principais e fiscais do manifesto. Note que o ambiente (Produção/Homologação) já foi herdado da etapa anterior e não precisa ser selecionado novamente.
Série e Número (Numeração Automática)
Para evitar rejeições por duplicidade na SEFAZ, o Emitix gerencia a numeração para você:
- Série: Preenchida com a sequência ativa da transportadora no banco de dados.
- Número: O sistema busca automaticamente o último MDF-e emitido e auto-incrementa o próximo número. Se preferir, você pode digitar manualmente para sobrescrever.
Reemissão
Se você estiver Reemitindo um manifesto que deu erro, esses campos estarão bloqueados com cadeado, pois a numeração é imutável e compõe a Chave de Acesso.
Configurações da Operação
| Campo | Opções | Descrição |
|---|---|---|
| Tipo do Emitente | Prestador de serviço / Carga própria / CT-e Globalizado | Define a natureza da empresa. Se for Carga Própria, significa que as mercadorias são dela. |
| Tipo do Transportador | ETC / TAC / CTC | Visível apenas se você for "Prestador de Serviço". |
| Modalidade | Rodoviário / Aéreo / Aquaviário / Ferroviário | O meio pelo qual a carga será transportada. |
| Forma de Emissão | Normal / Contingência / Regime Especial NFF | Como o MDF-e será transmitido. |
Etapa 3 — Descarga: Municípios e NF-e's

Nesta etapa você diz para onde a carga vai e quais notas fiscais (NF-e) vão para cada lugar. Na SEFAZ, cada nota do manifesto precisa estar ligada ao município de descarga onde será entregue, e é exatamente isso que o Emitix pede aqui.
Você tem duas formas de trazer as notas para o manifesto, e pode misturar as duas no mesmo MDF-e:
| Origem da nota | Quando usar |
|---|---|
| Notas emitidas no Emitix | A NF-e foi emitida pelo seu emitente aqui dentro. É só selecionar na lista. |
| Chaves de acesso manuais | A NF-e foi emitida em outro sistema (ou você só tem a DANFE impressa). Você informa a chave de 44 dígitos e o valor da nota. |
Em qualquer caso, a nota é vinculada a um município de descarga.
Como a tela é organizada
No topo, três indicadores acompanham tudo em tempo real: Municípios, Total NF-e e Valor Total da carga. Nenhuma conta manual é necessária.
Abaixo ficam três blocos:
- Municípios de Descarregamento: um cartão para cada cidade de destino, com as notas que serão entregues ali.
- Incluir NF-e por Chave de Acesso ou Leitor de Código de Barras: para as notas de sistemas externos.
- Notas Fiscais Emitidas pelo Sistema: a lista das notas do seu emitente.
1. Municípios de Descarregamento
Cada cartão representa uma cidade onde a carga será entregue e mostra, no cabeçalho, o município escolhido, a quantidade de notas e o subtotal em reais.
- Município de Entrega (IBGE): escolha a cidade pelo campo de busca. O Emitix converte o nome no código IBGE exigido pelo governo. Se você já tiver definido a UF de descarregamento na etapa de Transporte, ela vem como sugestão.
- Adicionar Município: use os botões Adicionar Município ou Adicionar Outro Município de Descarregamento para incluir mais destinos (até 1.000 municípios).
- Ordenar: use as setas para mover o município para cima ou para baixo.
- Recolher / Expandir: com vários destinos, recolha os cartões para organizar a tela (há também Recolher Todos).
- Remover: a lixeira remove o município. Se ele tiver notas, o Emitix pede confirmação, e as notas voltam para a lista de notas disponíveis, sem se perderem.
Cada município aceita até 20.000 NF-e, que é o limite da SEFAZ.
2. Usando notas emitidas no Emitix
O bloco Notas Fiscais Emitidas pelo Sistema lista as NF-e autorizadas do seu emitente. Use a busca por número ou chave e a paginação para encontrar a nota. A coluna Status no MDF-e mostra a situação de cada uma:
| Status | O que significa |
|---|---|
| Não atribuída | A nota está livre e ainda não foi ligada a nenhum município. |
| Nome do município | A nota já está vinculada a esse destino neste manifesto. |
| MDF-e Ativo (vermelho) | A nota já consta em outro manifesto ativo (autorizado ou em processamento). Aparece como Bloqueada e não pode ser selecionada. |
Para vincular, você tem dois caminhos:
- Na lista, clique em Vincular a... e escolha o município de destino.
- No cartão de um município, clique em Vincular NF-e deste município. Abre-se uma janela onde você marca várias notas de uma vez (com filtro por número ou chave) e confirma em Vincular (N) selecionadas.
3. Usando chaves de acesso manuais
Se a NF-e foi emitida em outro sistema, você não precisa que ela exista no Emitix. Basta ter a chave de acesso de 44 dígitos. Há três formas de informá-la:
- Digitar a chave: preencha a Chave de Acesso da NF-e (44 dígitos) e o Valor Total (R$) da nota, e clique em Incluir. O valor é obrigatório e deve ser maior que zero, porque o Emitix usa os valores para somar a carga.
- Escanear Código (recomendado): abre a câmera para ler o código de barras da DANFE impressa. O Emitix extrai a chave e a coloca no campo, e você só informa o valor. Se a chave for de uma nota emitida no próprio Emitix, ele usa a nota existente e a vincula ao município (quando há um único destino).
- Colar em Lote: cole várias chaves de uma vez, separadas por linha, espaço, vírgula ou ponto e vírgula. Você informa um valor padrão para todas as notas do grupo e, havendo vários municípios, o município de destino. Cada trecho colado é lido como uma chave, então cole apenas as chaves: o que não for uma chave válida aparece na lista de erros.
As notas incluídas por chave aparecem como NF-e Externa (Manual) ou NF-e Externa (Lote).
:::tip Vinculando as notas manuais às cidades
- Com um único município, a nota incluída por chave (digitada, escaneada ou colada) já fica vinculada automaticamente a ele.
- Com vários municípios, na Colar em Lote você escolhe o município de destino na própria janela. Nos outros casos, a nota entra na lista de notas disponíveis, e você a liga ao destino certo em Vincular NF-e deste município (no cartão da cidade), junto com as notas do sistema. :::
Como o Emitix valida a chave
Antes de aceitar uma chave, o Emitix confere:
- Se tem exatamente 44 dígitos numéricos;
- Se o código da UF na chave é válido;
- Se é uma NF-e (modelo 55), e não uma NFC-e ou outro documento;
- Se o dígito verificador está correto (um erro de digitação é detectado na hora).
Chave com erro é recusada, e a mensagem diz o motivo. No lote, o Emitix lista cada chave com problema, e nenhuma é incluída até você corrigir.
Cada nota fica em um único município
Uma mesma nota não pode estar em dois destinos. Se você tentar incluir uma chave que já está vinculada a um município, o Emitix avisa a qual município ela pertence. Para trocar a nota de destino, use Mover no cartão dela e escolha o novo município, sem precisar desvincular e vincular de novo.
:::note Nota que já está em outro MDF-e As notas do sistema com MDF-e Ativo ficam bloqueadas na lista. Se você digitar manualmente a chave de uma nota que já consta em um manifesto ativo, o Emitix não impede a inclusão, mas exibe um aviso em amarelo para você conferir. Na hora de emitir, o Emitix também verifica se veículos, condutores e NF-e's já estão em outro manifesto em viagem e pode mostrar um alerta. :::
Ações em cada nota vinculada
Cada nota dentro de um município mostra o número, a série, o valor e a chave de acesso, com três ações:
| Ação | O que faz |
|---|---|
| Detalhes | Abre os dados específicos da nota naquele MDF-e (veja abaixo). |
| Mover | Troca a nota para outro município (aparece quando há mais de um destino). |
| Lixeira | Desvincula a nota do município. Ela volta para a lista de notas disponíveis. |
Em Detalhes, há três abas:
- Geral (Contingência / Reentrega): o código de barras de contingência (SegCodBarra), com 36 dígitos, usado só se a NF-e foi emitida em contingência FS-DA, e o Indicador de Reentrega, para entregas que repetem uma tentativa anterior sem sucesso. A nota ganha as etiquetas FS-DA ou Reentrega na lista.
- Produtos Perigosos: número ONU (4 dígitos ou
ND), quantidade total e demais dados do produto. É obrigatório quando a carga é perigosa. O botão de aplicar a todas as NF-e do município poupa digitação. - Unid. Transporte: unidades de transporte da nota (tipo e identificação, como a placa).
Para avançar
O Emitix só libera a próxima etapa quando:
- Existe ao menos um município de descarga;
- Todo município tem a cidade selecionada, e nenhuma cidade se repete;
- Todo município tem ao menos uma NF-e vinculada.
Se algo faltar, uma lista de "Não foi possível prosseguir" aponta exatamente o cartão com problema.
Um MDF-e não pode viajar vazio: é obrigatório ter ao menos uma NF-e vinculada a um município de descarga.
Etapa 4 — Transporte e Percurso

Aqui você define quem fará o transporte (motoristas), com o quê (veículos/reboques) e por onde (percurso).
Para eliminar erros de digitação e poupar tempo, todos os recursos (Veículos, Reboques e Condutores) são escolhidos a partir da sua base de cadastros.
1. Dados do Veículo (Trator)
Em vez de digitar Tara, Capacidade e Renavam toda vez, você usará o Seletor de Veículo:
- Clique na caixa de seleção e escolha o caminhão.
- Imediatamente, um card azul aparecerá com todos os dados técnicos (Placa, RNTRC, Carroceria, Tara, Capacidade) e, se o veículo for de terceiros, os dados do proprietário. Esses campos ficam travados para envio.
- Se o caminhão for novo, clique no botão (+) para cadastrá-lo sem sair da tela de emissão.
2. Reboques / Carretas
Você pode adicionar múltiplos reboques. Clique em "Adicionar" para abrir o modal, selecione a carreta e os dados técnicos também serão preenchidos automaticamente na tela.
3. Condutores
Selecione um ou mais motoristas responsáveis. O modal exibirá os motoristas cadastrados. O Emitix enviará o Nome e CPF do condutor à SEFAZ.
4. Percurso e Localidades
É aqui que você desenha a Rota Fiscal da mercadoria:
- UF de Carregamento / Descarregamento: Estado onde o caminhão é carregado e o estado de destino.
- Início da Viagem & Indicadores: Informe a data/hora prevista para sair, e marque se for Canal Verde (prioridade no posto fiscal) ou se houver Carga Posterior (se o caminhão ainda vai buscar a carga).
Municípios de Carregamento
- Selecione as cidades exatas de origem usando nosso campo de busca inteligente (que converte o nome da cidade no Código IBGE exigido pelo governo). É possível informar até 50 municípios de carregamento.
- Os municípios de descarregamento (destino) não são escolhidos aqui: eles são definidos na Etapa 3 — Descarga, junto com as notas de cada um.
UFs Intermediárias (Construtor de Rota)
- Se o caminhão sai de SP e vai para o ES, ele obrigatoriamente cruza o RJ ou MG. Adicione essas UFs intermediárias.
- O Emitix possui um construtor visual: você pode arrastar as UFs para cima e para baixo para formar a ordem correta da rota (ex:
SP → RJ → ES).
Etapa 5 — Seguro, Produto e Pagamento

Esta etapa agrupa as obrigações acessórias do MDF-e Rodoviário: o seguro, os dados da carga e o acerto de frete com o motorista.
1. Seguro de Carga
Caso o frete exija seguro, informe:
- Responsável: Se for o próprio Emitente, o sistema preenche o CPF/CNPJ automaticamente para poupar cliques. Se for o Contratante, digite o documento dele.
- Seguradora e Apólice: Informe os dados da seguradora e a apólice.
- Averbações: Você pode adicionar múltiplos números de averbação vinculados à carga.
2. Produto Predominante (Novo)
Obrigatório para cargas rodoviárias, aqui você descreve o item de maior valor na viagem.
- Busca Inteligente: Não digite NCM, EAN ou Nome de cabeça. Use a nossa barra de busca Buscar Produto Cadastrado. O sistema autocompleta todos os códigos tributários daquele produto para você.
- Carga Lotação: Se a viagem inteira for para um único destino, você pode ativar o switch de Carga Lotação. Ele exibirá campos para o Local de Carregamento e Descarregamento. Você pode usar a busca rápida por CEP (que preenche o endereço) ou digitar Latitude/Longitude.
3. Informações do Frete e Vales-Pedágio
Selecione se é Carga Própria ou Prestação de Serviço. Na prestação de serviço, você deve preencher o Valor do Frete e, opcionalmente, vales-pedágio vinculados (com CNPJ do fornecedor e categoria do veículo).
4. Pagamento do Contrato (infPag)
Se houver apenas uma única NF-e vinculada ao manifesto (ou conforme regras específicas da sua UF), a aba de Pagamento de Contrato será exibida e obrigatória.
O Emitix possui inteligência para facilitar o financeiro:
- Componentes do Frete: Adicione taxas, impostos ou despesas. O Emitix tem um botão mágico "Calcular Total" que soma tudo e preenche o Valor Total do Contrato sozinho.
- Forma de Pagamento (À Vista ou À Prazo): Se for à prazo, o sistema habilita o botão de gerar Parcelas e regras de antecipação.
- Dados Bancários: PIX ou Banco/Agência para crédito ao motorista.
Etapa 6 — Contratante

Informa quem contratou o serviço de transporte. Esta etapa é opcional e, se não houver contratante (ex: Carga Própria), basta avançar sem preencher.
Cadastro Inteligente
Você pode adicionar múltiplos contratantes. O preenchimento varia conforme o tipo de pessoa:
- Pessoa Física (CPF) ou Estrangeiro: Digite o documento e o Nome Completo.
- Pessoa Jurídica (CNPJ): Digite apenas o CNPJ. O sistema fará uma consulta automática, preencherá a Razão Social e travará o campo para garantir que o nome exato cadastrado na Receita Federal seja enviado ao fisco.
Dados do Contrato Formal
Se você possui um contrato formal com a transportadora (para prestações continuadas), ative a chave "Informar dados do contrato" e preencha:
- Número do Contrato: Número identificador.
- Valor Global do Contrato: Valor financeiro total acordado.
Etapa 7 — Informações Adicionais

A última etapa de preenchimento é para dados complementares e observações. Todos os campos aqui são opcionais.
Lacres
Se a carga for lacrada fisicamente, você pode informar múltiplos números de lacres.
Autorizados para Download
Você pode permitir que terceiros (como contabilidades ou empresas parceiras) baixem o XML deste MDF-e diretamente do portal da SEFAZ. É possível adicionar até 10 pessoas/empresas informando o CPF ou CNPJ de cada uma.
Observações
- Informações de Interesse do Fisco: Textos voltados para auditores e postos fiscais, como normas referenciadas e regimes especiais (limite de 2.000 caracteres). Vale lembrar que essa informação não é impressa no documento físico (DACTE).
- Informações Complementares: Observações gerais do manifesto, instruções para a viagem ou recados (limite de 5.000 caracteres).
Etapa 8 — Revisão e Envio

Chegamos à última tela. Antes de transmitir o documento para o governo, o Emitix reúne tudo em um painel inteligente para evitar multas por digitação errada.
Resumo e Validador Inteligente
No topo da tela, você verá as métricas da viagem (Total de NF-e's, Valor da Carga, Rota e Placa do Veículo).
Abaixo, todas as etapas preenchidas são exibidas em blocos. O Emitix faz uma validação rigorosa:
- Se você esqueceu algum campo obrigatório em etapas anteriores, o bloco correspondente ficará com a borda vermelha e um alerta.
- O botão de transmissão é bloqueado até que todos os erros sejam corrigidos.
Ferramentas de Revisão
Para garantir que tudo saia perfeito, você tem duas ferramentas avançadas à disposição no fim da página:
- Pré-visualização do DAMDFE: Expanda essa seção para ver como o documento impresso (o PDF) ficará antes mesmo de enviá-lo à SEFAZ.
- Payload JSON do MDF-e: Uma área técnica útil para suporte. Mostra o código exato que será enviado aos servidores (com a estrutura da Sefaz).
Transmissão
Estando tudo correto, clique no botão Emitir MDF-e ou use o atalho de teclado Alt + Enter.
O sistema irá:
- Gerar e assinar o XML.
- Transmitir para a SEFAZ Autorizadora.
- Aguardar o retorno em tempo real.
Resultados Possíveis
- Autorizado: Protocolo gerado com sucesso! O modal de sucesso aparecerá para você imprimir o DAMDFE.
- Rejeitado: A SEFAZ recusou o envio (ex: Placa inválida). O erro será exibido na tela.
- Erro: Falha de comunicação.
Reemissão
Se o seu MDF-e for Rejeitado, você pode clicar em Reemitir na listagem. O wizard será reaberto já com todos os dados preenchidos, permitindo que você apenas corrija o campo que causou o erro e tente novamente!
Emissão via API enviando o XML
O wizard acima é o caminho para quem emite pela interface. Se você integra um sistema de gestão de transporte (TMS) ou ERP que já gera o XML do manifesto, não precisa convertê-lo para JSON: a rota POST /mdf/emitir aceita o XML direto, no campo xml.
O Emitix lê os dados do XML, segue o mesmo fluxo da emissão em JSON (identificação do emitente, cota de emissão, verificação de recursos em viagem), assina com o certificado do emitente e transmite para a SEFAZ. O retorno é exatamente o mesmo da emissão em JSON.
Referência completa do endpoint
Headers e resposta detalhada estão na documentação da API: Emissão de MDF-e.
mdf ou xml: escolha um
O corpo da requisição aceita um dos dois campos para o manifesto, nunca os dois e nunca nenhum:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
mdf | object | ✅ (se não enviar xml) | O manifesto no formato JSON do Emitix. |
xml | string | ✅ (se não enviar mdf) | O XML completo do MDF-e, como texto. |
certificate | string | ⚙️ Opcional | Certificado A1 em Base64. Se não for enviado, usa o certificado cadastrado no emitente. |
pass_certificate | string | ⚙️ Opcional | Senha do certificado A1. |
ignorarAlertaRecursos | boolean | ⚙️ Opcional | Com true, prossegue com a emissão mesmo que veículo, condutor ou NF-e já estejam em outro manifesto em viagem. |
Formatos de XML aceitos
Você não precisa ajustar o XML que o seu sistema já gera. O Emitix reconhece o manifesto em qualquer um destes formatos:
| Raiz do XML | Quando usar |
|---|---|
<MDFe> | O XML padrão do manifesto (o mais comum). |
<enviMDFe> | Envelope de envio, com a <MDFe> dentro. |
<mdfeProc> | XML já processado, com protocolo de autorização. |
Namespaces (xmlns) e prefixos são aceitos. O manifesto precisa ter os grupos ide ou emit e, se a tag mod for informada, ela deve ser 58. Cada requisição emite um MDF-e.
O XML é lido, não reenviado
O Emitix converte os dados do XML para o seu modelo interno e gera e assina um novo XML com o certificado do emitente. Por isso a assinatura (<Signature>) do XML enviado é descartada. Todos os valores são lidos como texto, preservando zeros à esquerda. O grupo infModal é a exceção: o conteúdo do modal (rodo, aereo, aquav ou ferrov) é mantido exatamente como foi enviado, e a versão é lida do atributo versaoModal (padrão 3.00).
Exemplo ilustrativo
O XML abaixo é resumido, usa dados fictícios e o ambiente de homologação (tpAmb = 2). Os grupos exigidos variam conforme o modal e a operação (seguro, CIOT, vale-pedágio, contratante), então valide o seu XML em homologação antes de emitir em produção.
Exemplo de emissão (modal rodoviário)
Corpo da requisição. O XML vai como uma string única (aspas escapadas):
{
"xml": "<MDFe xmlns=\"http://www.portalfiscal.inf.br/mdfe\"><infMDFe versao=\"3.00\">...</infMDFe></MDFe>"
}
Como o XML fica ilegível com tantas aspas escapadas, o mais prático é manter o manifesto em um arquivo (mdfe.xml) e deixar o jq montar o corpo:
<?xml version="1.0" encoding="UTF-8"?>
<MDFe xmlns="http://www.portalfiscal.inf.br/mdfe">
<infMDFe versao="3.00">
<ide>
<cUF>35</cUF>
<tpAmb>2</tpAmb>
<tpEmit>1</tpEmit>
<mod>58</mod>
<serie>1</serie>
<nMDF>1234</nMDF>
<modal>1</modal>
<dhEmi>2026-10-23T08:00:00-03:00</dhEmi>
<tpEmis>1</tpEmis>
<procEmi>0</procEmi>
<verProc>1.0.0</verProc>
<UFIni>SP</UFIni>
<UFFim>RJ</UFFim>
<infMunCarrega>
<cMunCarrega>3550308</cMunCarrega>
<xMunCarrega>SAO PAULO</xMunCarrega>
</infMunCarrega>
</ide>
<emit>
<CNPJ>12345678000199</CNPJ>
<IE>123456789012</IE>
<xNome>TRANSPORTADORA XYZ LTDA</xNome>
<enderEmit>
<xLgr>RUA DAS FLORES</xLgr>
<nro>100</nro>
<xBairro>CENTRO</xBairro>
<cMun>3550308</cMun>
<xMun>SAO PAULO</xMun>
<CEP>01001000</CEP>
<UF>SP</UF>
</enderEmit>
</emit>
<infModal versaoModal="3.00">
<rodo>
<veicTracao>
<placa>ABC1234</placa>
<tara>2000</tara>
<capKG>40000</capKG>
<condutor>
<xNome>JOAO DA SILVA</xNome>
<CPF>12345678909</CPF>
</condutor>
<tpRod>06</tpRod>
<tpCar>01</tpCar>
<UF>SP</UF>
</veicTracao>
</rodo>
</infModal>
<infDoc>
<infMunDescarga>
<cMunDescarga>3304557</cMunDescarga>
<xMunDescarga>RIO DE JANEIRO</xMunDescarga>
<infNFe>
<chNFe>35231012345678000199550010001234561001234567</chNFe>
</infNFe>
</infMunDescarga>
</infDoc>
<tot>
<qNFe>1</qNFe>
<vCarga>5000.00</vCarga>
<cUnid>01</cUnid>
<qCarga>350.0000</qCarga>
</tot>
</infMDFe>
</MDFe>
curl -X POST https://api.emitix.com.br/mdf/emitir \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-H "api-key: SUA_API_KEY_AQUI" \
-d "$(jq -n --rawfile xml mdfe.xml '{xml: $xml}')"
Para emitir mesmo com recursos já em viagem em outro manifesto, acrescente o campo ignorarAlertaRecursos:
-d "$(jq -n --rawfile xml mdfe.xml '{xml: $xml, ignorarAlertaRecursos: true}')"
Regras e erros comuns
Todos os erros abaixo voltam como 400 Bad Request.
| Mensagem | O que aconteceu | Como resolver |
|---|---|---|
Não é permitido informar os campos 'mdf' e 'xml' simultaneamente. | A requisição trouxe os dois campos. | Envie apenas um deles. |
É obrigatório informar o campo 'mdf' ou 'xml'. | Nenhum dos dois foi enviado. | Envie mdf (JSON) ou xml. |
XML não pode ser vazio. | O campo xml chegou em branco. | Confira se o arquivo foi lido antes de montar o corpo. |
XML de MDF-e inválido ou malformado: ... | O XML tem erro de sintaxe (tag aberta e não fechada, por exemplo). | Valide o XML em um editor ou validador antes de enviar. |
XML inválido: não foi possível identificar a estrutura do MDF-e. | Nenhum dos formatos aceitos foi encontrado. | Use uma das raízes da tabela de formatos aceitos. |
Estrutura de MDF-e inválida no XML informado. | O manifesto não tem os grupos ide nem emit. | Inclua os grupos ide e emit. |
Apenas MDF-e (modelo 58) podem ser enviadas para esta rota. | A tag mod do XML não é 58. | Corrija o modelo para 58. |
Qual emitente será usado?
O emitente é identificado pelo CNPJ (ou CPF) da tag emit do XML, a mesma regra da emissão em JSON. O certificado cadastrado nesse emitente é usado automaticamente, a menos que você envie certificate e pass_certificate na requisição.