Como gerar o PDF de um evento da NF-e com o DANFE original anexado
Envie o XML processado de um evento, como a CC-e, e o XML autorizado da NF-e original para gerar o PDF e anexar o DANFE da nota. Este tutorial explica como gerar novamente o PDF de um evento vinculado a uma NF-e já autorizada. O caso principal é a Carta de Correção Eletrônica (CC-e): a requisição envia o XML processado do evento no conteúdo principal e o XML autorizado da NF-e de origem como anexo.
Como gerar o PDF de um evento da NF-e com o DANFE original anexado
Antes de começar: entenda a diferença entre evento e nova NF-e
Um evento é uma ação posterior vinculada a uma NF-e já autorizada. Exemplos comuns são:
- Carta de Correção Eletrônica (CC-e);
- Cancelamento.
Já a NF-e complementar e a NF-e de ajuste são novas NF-es. Elas possuem chave de acesso, XML autorizado e DANFE próprios.
| Situação | O que gerar | XML necessário |
|---|---|---|
| CC-e ou outro evento processado | PDF do evento | procEventoNFe do evento + nfeProc da NF-e original |
| NF-e complementar | DANFE da nova NF-e | nfeProc da NF-e complementar |
| NF-e de ajuste | DANFE da nova NF-e | nfeProc da NF-e de ajuste |
Não trate uma NF-e complementar ou de ajuste como se fosse um evento. Elas não usam o XML de evento nem precisam anexar a NF-e original para gerar seu próprio DANFE.
Pré-requisitos
Para gerar o PDF de um evento, tenha em mãos:
- Token de acesso válido;
- CPF ou CNPJ do emitente;
- Chave de acesso da NF-e original;
- XML processado do evento, no formato
procEventoNFe; - XML autorizado da NF-e original, no formato
nfeProc.
O evento deve estar processado e autorizado. Não envie somente o XML de solicitação, como
envEvento.
Os dois XMLs da requisição
A geração do PDF usa uma requisição multipart/form-data com dois XMLs:
| Campo | Arquivo enviado | Uso no PDF |
|---|---|---|
xmlContent | procEventoNFe | É o evento que será apresentado no PDF. |
xmlAutorizadoParaEvento | nfeProc | É a NF-e autorizada à qual o evento está vinculado e deve ser enviada como anexo multipart. |
Os dois XMLs devem referenciar a mesma chave de acesso. Não inverta os campos.
Gerar novamente o PDF do evento
Use a rota abaixo:
POST /api/v1/{CPF_CNPJ}/NFe/DANFE/{chaveDFe}?regerar=true&anexarDFe=trueParâmetros:
regerar=true: gera um novo PDF e substitui o PDF armazenado para a chave informada;anexarDFe=true: inclui o DANFE da NF-e original após o PDF do evento;{chaveDFe}: chave de acesso da NF-e original.
Exemplo com cURL
curl --request POST \
--url "https://{servidor}/api/v1/{CPF_CNPJ}/NFe/DANFE/{chaveDFe}?regerar=true&anexarDFe=true" \
--header "Authorization: Bearer {seu_token}" \
--form "xmlContent=<caminho/para/evento-processado.xml" \
--form "xmlAutorizadoParaEvento=@caminho/para/nfe-autorizada.xml;type=application/xml"O retorno é um arquivo PDF. Salve-o junto aos XMLs usados na geração para manter o histórico fiscal completo.
Quando houver mais de uma CC-e
Cada CC-e possui um nSeqEvento e gera um procEventoNFe próprio. Portanto, gere um PDF por evento.
Para duas cartas de correção vinculadas à mesma NF-e:
- Envie o primeiro
procEventoNFeemxmlContente o mesmonfeProcoriginal emxmlAutorizadoParaEvento; - Gere o primeiro PDF;
- Repita a chamada usando o segundo
procEventoNFe; - Mantenha o mesmo
nfeProc, pois a NF-e original não mudou.
Não envie dois ou mais
procEventoNFeno mesmo campoxmlContent. Cada evento deve ser processado em uma requisição separada.
Gerar sem anexar o DANFE original
Caso seja necessário gerar somente o PDF do evento, omita anexarDFe ou informe anexarDFe=false:
POST /api/v1/{CPF_CNPJ}/NFe/DANFE/{chaveDFe}?regerar=true&anexarDFe=falseErros comuns
- Evento não processado: use o XML
procEventoNFeretornado após o processamento do evento, não o XML inicial de envio. - XMLs invertidos: envie o evento em
xmlContente a NF-e original emxmlAutorizadoParaEvento. - Chaves diferentes: confirme que o evento e o
nfeProcse referem à mesma NF-e. - Várias CC-e no mesmo PDF: faça uma chamada por sequência de evento.
- NF-e complementar ou de ajuste no fluxo de evento: gere o DANFE próprio dessas notas a partir do
nfeProccorrespondente.
Observação sobre outros eventos
O formato da requisição usa um XML de evento processado e o XML autorizado da NF-e relacionada. Antes de publicar um fluxo específico para outro tipo de evento, valide no ambiente de homologação se o layout de PDF atende à necessidade fiscal e operacional do processo.