Estou desenvolvendo um ERP, onde o usuário gerencia as vendas, emite as notas e consegue capturar as notas de entrada (NFeDistribuicaoDFe). Até aqui beleza.
Porém, tenho clientes que emitem nota fiscal em outro emissor TAMBÉM (exemplo, shoppe, Mercadolivre, etc). Como nosso sistema é um sistema que faz o gerenciamento de vendas, controle de estoque e financeiro, eu precisava consultar as notas fiscais que a própria empresa emitiu em outro emissor para poder alimentar as vendas, estoque, financeiro, etc. E isso está sendo desafiador, pois não encontro nada, mas fico pensativo de como que as empresas como Sieg, meudanfe, fsist, e outros conseguem puxar essas notas, até mesmo só com a chave de acesso da nota.
Importante: eu sempre tenho o certificado A1 do emitente. Então não é o caso de "estranho querendo bisbilhotar nota dos outros" — a pergunta é: sendo o próprio emitente, como recuperar o XML completo (com itens (produtos)) das saídas que a empresa emitiu em outro sistema (e que a gente não tem o arquivo)?
Testei tudo em produção com o cert do próprio emitente, e mesmo assim bate no muro.
O que já testei (cStat reais, produção, notas reais)
1. NFeDistribuicaoDFe → consChNFe (baixar por chave)
Numa NF-e 55 autorizada e viva, com 3 certificados:
- Emitente (cert do próprio) → cStat 641 "NF-e indisponível para o emitente"
- Terceiro (nem emit nem dest) → cStat 640 "não possui permissão para consultar esta NF-e"
- Destinatário → cStat 138, mas só resNFe (resumo, sem itens (produtos), sem assinatura)
2. NfeConsultaProtocolo4 (consSitNFe)
Retorna cStat 100 + protNFe (status). Nunca o <infNFe> com itens (produtos).
3. autXML (na emissão)
Só funciona se o CNPJ estava no <autXML> na hora da emissão. Não dá pra nota já emitida. E no caso, seria um esforço muito grande do usuário configurar nos outros emissores essa tag, as vezes nem tem opção. Shopee por exemplo coloca o próprio CNPJ da shopee nessa tag.
4. Evento Ator Interessado (tpEvento 110150, NT 2020.007)
Minha maior aposta (autXML pós-emissão). Payload passou no schema (com tpAutorizacao=1
exige xCondUso, senão cStat 829). MAS autorizar um CNPJ que não emite CT-e →
cStat 371 "CNPJ/CPF Autorizado não é emitente de CT-e". Só autoriza transportadora.
5. NfeDownloadNF
Desativado em 2016, substituído pelo DistribuicaoDFe (### 1.) com a trava por parte.
6. distNSU (feed de distribuição, cert do emitente) → não retorna as próprias emissões (só entradas/eventos — a SEFAZ assume que o emitente já tem o XML);
7. NfeDownloadContab (SEF-SC) com o cert do próprio contribuinte → cStat 8002 (o serviço estadual só atende contador vinculado; recusa o cert do próprio titular);
8. consSitNFe → só protocolo/status, sem os itens.
O que eu já consigo:
Pros clientes onde tenho contador vinculado, o download-contabilista da SEF-SC (indAtor=1) me dá a saída com itens — beleza (mas só construí para SC por enquanto);
Pra qualquer outra empresa, dá pra enumerar as saídas (chave/número/status) via consSit + o "truque do 613", mas isso é nível-chave de acesso apenas, sem itens (produtos), que é o que preciso para poder gerar venda a partir da consulta, movimentar estoque e alimentar financeiro.
Perguntas
1. Existe algum webservice/endpoint oficial (federal ou estadual) que devolva o conteúdo com itens de uma NF-e 55 por chave ou certificado digital do EMISSOR, que ignorei?
2. A SIEG tem em sua documentação de que consegue puxar as notas com o certificado digital A1 em ~23 estados, eles pedem para anexar um XML de alguma nota recente, e com isso conseguem puxar as próximas. Qual a lógica disso será?