Pular para o conteúdo
Como funciona este fórum

Moderado por Emanuel Kaufman. As três primeiras mensagens de cada pessoa passam por revisão e respondemos em até 1 dia útil.

Aqui se discute o comportamento do sistema. Decisão tributária é sempre da sua empresa, e ninguém neste fórum dá parecer.

Tudo o que você publicar é público e pode ser usado por terceiros, inclusive por sistemas de IA. Não publique dado de cliente, nome de empresa nem tela do produto.

Esta pergunta foi sinalizada
7 Respostas

Pessoal, estou travada nisso. O cenário é este, bem, meu adendo: um SAP de logística, e o time está ligando o DRC do SAP ao KSEF da Polônia para a filial de lá. Montei o XML da nota no formato que o portal pede e enviei um teste no ambiente de qualidade. O retorno veio com erro de validação no cabeçalho, e o log só mostra um código genérico, sem dizer qual campo falhou. Já revisei o mapeamento duas vezes, comparei com o modelo do parceiro e a diferença é mínima. Alguém que tenha integrado o DRC com o KSEF consegue apontar onde costuma estar a falha e como vocês validam o XML antes do envio?


Atualização:

Quando testei sua sugestão, o erro mudou de lugar e saiu do cabeçalho para uma linha de item, Daniela Nunes, obrigado pela orientação. O cadastro do destinatário estava certo, bem, meu adendo, e eu tinha esquecido um campo de unidade de medida no DRC. Ainda assim o retorno do KSEF não aponta a linha exata. Você costuma filtrar o retorno por item ou compara o XML inteiro contra um modelo validado?

Avatar
Cancelar
Melhor resposta

Raramente a falha nasce no envio. O ponto central, ao fechar a matéria, é que o problema costuma estar no mapeamento e na geração do XML. Vale montar uma tabela de campos obrigatórios com a visão do ambiente da Polônia, testar uma nota simples e comparar cada rejeição com o que foi gerado. Também faz sentido manter uma trilha de quem alterou cada campo, para que a análise não dependa da memória de ninguém. Como recomendação prática final, o time deve reproduzir o erro em um ambiente controlado, corrigir uma causa por vez e só então liberar o lote para a operação, registrando o resultado de cada passo. Para aprofundar, veja migração do GRC NFE para o DRC.

Avatar
Cancelar
Melhor resposta

Thiago Barbosa, bem, o fato é que guardar cada XML rejeitado é bom, mas eu discordo de transformar isso em regra geral. Em agro, a gente migrou de outro ERP e o histórico antigo nem tinha o mesmo formato, então a comparação gera ruído. Antes de montar o acervo, precisamos de um modelo de referência limpo e de um critério para saber se a rejeição veio do cadastro ou do envio. Sem isso, o acervo só guarda erros diferentes.

Avatar
Cancelar
Melhor resposta

O risco que já vi é a equipe corrigir o XML sem registrar a versão do modelo, e o lote seguinte volta a falhar sem ninguém entender por quê. Complemento o ponto do Eduardo Oliveira sobre a trilha: sem o histórico de geração, a auditoria não consegue provar qual mudança resolveu. Eu sei que, saindo um pouco do tema, muita gente só pensa na urgência e esquece dos registros. Na minha mineração, a regra simples foi guardar cada XML rejeitado com o horário e o retorno, para comparar depois. Assim a falha vira padrão e não susto.

Avatar
Cancelar
Melhor resposta

Concordo em parte com você, Daniela Nunes, a tabela ajuda muito, mas, olha, antes de mais nada, eu discordo de tratar a rejeição como erro de cadastro só porque o item é novo. Na minha siderurgia, o formato da nota pede uma informação que o DRC não traz, então sobra o campo vazio. Você conseguiu fechar isso com alguma customização ou ficou só no mapeamento?

Avatar
Cancelar
Melhor resposta

Veja, aqui na empresa, uma dúvida curta: por que confiar no modelo validado se ele pode ter sido criado com o mesmo mapeamento que está quebrado? Eu discordo de Daniela Nunes nesse ponto, e veja, aqui na minha área, já vimos modelo antigo passar no teste e falhar em produção, porque o ambiente da Polônia pode exigir campos que a versão antiga não preenche. Antes de comparar com um modelo, eu checaria a geração do XML, do início ao envio, e só depois o retorno. Se a trilha não mostra quem gerou cada campo, o diagnóstico fica preso ao log genérico.

Avatar
Cancelar
Melhor resposta

Na minha rotina de fechamento no automotivo, a gente só descobre o erro de item quando o lote já foi enviado, Daniela Nunes. Aqui o retorno chega depois do envio e isso atrasa tudo. O segredo é, viu, separar o cadastro de unidade do cadastro de imposto antes de qualquer teste. Você disse para comparar com o modelo validado: qual ferramenta vocês usam para gerar esse modelo a partir do DRC?

Avatar
Cancelar
Melhor resposta

O erro de cabeçalho quase sempre está no mapeamento dos dados mestres, não no envio, então comece pelo cadastro do emitente e do destinatário no DRC. Seja como for, eu não validaria o XML só no portal, porque um teste de qualidade pode aceitar campos que a produção rejeita. Monte uma tabela de campos obrigatórios com o formato da Polônia, compare nota a nota com o XML gerado pelo SAP e registre cada rejeição com o código devolvido. Quando o log for genérico, o caminho mais rápido é reproduzir com uma nota simples, sem impostos, e acrescentar os campos um a um.

Avatar
Cancelar

Sua resposta

Tente oferecer uma resposta substancial. Se quiser comentar sobre a pergunta ou resposta, basta utilizar a ferramenta de comentários. Lembre-se de que você sempre pode revisar suas respostas - Não há necessidade de responder à mesma pergunta duas vezes. Não esqueça de votar - Selecionar as melhores perguntas e respostas é realmente útil!

Perguntas relacionadas

Mais conversas em SAP DRC e eDocument.

Ver todas do fórum