Documentação do ciclo de vida da NF

 

CLUBE DURATEX - CICLO DE VIDA DA NOTA FISCAL

Data

Rev

Autor

Ajuste

18/04/2023

1.0

Felipi Tassinari

Criação

15/05/2023

1.1

Felipi Tassinari

Ajustes e incrementos nas regras

18/05/2023

1.2

Stephanie Vapsys

Revisão

23/05/2023

1.3

Stephanie Vapsys

Revisão + adição de links e fluxograma

04/10/2023

1.4

Stephanie Vapsys

Adição de figuras faltantes

30/10/2023

1.5

Patrícia e Diego

Adição do OCR no fluxo

02/09/2024

1.6

Diego

Adição de novo fluxo de classificação, Validação de Emissor e Comprador ,WhiteList/BlackList,Bloqueio de Usuário e integração com a Serpro.

ESCOPO FUNCIONAL

 

CONCEITOS INICIAIS

Escopo destinado a descrever o ciclo de vida referente às notas fiscais enviadas para campanhas do clube Duratex, dentro da área logada do clube. Desde seu envio, recebimento, processamento, aprovação e troca das notas por DuraCoins. 

 

COMPONENTE  E SERVIÇOS PERTENCENTE AO ENVIO DE NOTA FISCAL

  • A área central da área logada do clube Duratex apresenta um componente para envio de Nota fiscal, que têm diversos estágios de apresentação, de acordo com a situação.

Figura 1 e 2 - componente de envio de nota fiscal estado inicial, em desktop e mobile

 

  • A partir da tela inicial, ao clicar em ENVIAR NOTA FISCAL, o componente alterna para a visão abaixo:

Figura 3 - componente de envio, em seleção de arquivo

 

  • Para realizar o envio no clube, o usuário pode arrastar um arquivo compatível (XML) a partir de seu dispositivo, ou clicar no link para abrir o componente do sistema operacional para localizar o arquivo desejado.

  • Ao realizar o envio de uma nota, a mesma será transmitida por um serviço da API Clube, assim, será criado um registro da nota com seus dados (Id do usuário, url do arquivo, número da nota, data e o nome e seta o status como recebida) no banco de dados. 

  • Após o processo inicial de salvar a nota, ele notifica a API Invoices informando que a mesma foi salva, passando o ID da nota. 

  • Ao ser comunicada a API invoice realiza uma conferência, validando se a nota já foi enviada anteriormente.

  • Após o arquivo enviado com sucesso, é apresentada a tela de feedback:

Figura 4 - componente de envio, feedback de êxito

 

  • Ao ser enviada a nota, a API Invoices busca a nova NF, e envia para o serviço de extração de dados da Dexco.

  • Após a extração dos dados, o serviço da Dexco notifica a API Invoices que a extração terminou.

 

  • SERVIÇOS DA API INVOICES

 

  • A nota XML para ser aceita é obrigatório ter os dados mínimos (tags <nfeProc>,<protNFe>,<infProt> e <chNFe>).

  • Validação de número de NF - OCR - O número identificador de NF tem que ser válido na análise do OCR (enriquecer informações do OCR).

  • Validação de conteúdo de NF - OCR - O conteúdo de NF tem que ser válido válido na análise do OCR.

  • A API Invoices faz uma requisição ao serviço da Dexco para buscar os dados extraídos.

  • Após receber os dados extraídos, os dados da nota fiscal são verificados no sistema de consulta da Serpro utilizando a Chave da Nota. A partir desse momento, são considerados os dados que foram registrados no momento da sua emissão.

  • Verifica se o Usuário está bloqueado para enviar nota.

  • Verifica se o CNPJ do Emissor e Comprador não são iguais.

  • Verifica se a data de emissão da nota está no prazo estipulado pelas regras do clube , esta quantidade de dias é parametrizável via CMS(atualmente é 30 dias).

  • Verifica se o CNPJ que emitiu a NF está incluso em uma block list de CNPJs com suspeita de fraudes.

  • Verifica se os produtos da nota estão com CFOP aceitos pelo sistema.

  • Estando de acordo conforme as validações acima, será Iniciado o processamento dos produtos da NF.

  • É pesquisado na base se já existe uma classificação para o produto.

  • Se não existir uma classificação, se classifica o produto de forma automático ou manual, baseado no parâmetro de classificação cadastrado no CMS.

  • Se for classificação automática, os produtos serão classificados automaticamente. 

    • Para a classificação automática, ele fará uma análise item a item, processando as predições da IA com os dados parametrizados no Banco (manager) referente à faces (1 ou 2), marca, linha, padrão, dimensão e espessura (propriedade ml_classification_name - CMS campo "Nome IA"). 

  • Após as validações acima, será aplicado as regras de faces. (Regra: Se a predição da IA pro item for um painel e o número de faces for > 0  as faces da predição recebem o que foi predito. Se a IA não conseguiu predizer as faces,  e se encontrou o padrão e esse padrão é do tipo cru, o número de faces será 1. Caso seja um padrão diferente de cru, o número de faces terá o valor 2).

  • Em sequência, ocorre uma verificação se todas as classificações passaram do threshold parametrizado no CMS.(Regra de confiabilidade)

  • Após ocorre a verificação se todos os itens foram classificados automaticamente. Se algum item não foi classificado automaticamente, ele fica disponível na Plataforma de BackOffice, aguardando algum usuário fazer sua classificação manual.

  • Mesmo estando configurado no CMS para classificação automática, os Duracois somente estarão disponíveis depois de todos os itens da nota estarem classificados.

  • Se for classificado manual, estes produtos estarão disponíveis no classificador acessado manualmente via CMS com um usuário do tipo IM (Inteligência de mercado). 

  • Estando todos classificados, a NF recebe status como CLASSIFIED, sinalizando que os produtos já foram classificados. 

  • Se algum item ainda não foi classificado, a NF recebe status como MANUAL_CLASSIFYING, sinalizando que algum produto deverá ser classificado manualmente via CMS.

  • Assim a NF é atualizada no banco.

  • Se a NF possuir status CLASSIFIED, a API Invoices notifica a API Pointing que o processo de classificação terminou.

 

  • SERVIÇOS DA API POINTING

    • Buscará o Número da NF classificada no banco de dados.

    • Para cada produto pertencente à NF, será validado se seu status está setado como CLASSIFIED, somente produtos deste status serão pontuados.

    • Após a validação do status, será verificado se o produto pertence a alguma campanha ativa até o momento. As campanhas são cadastradas via CMS, cada campanha possui N padrões participantes que valem pontos. Uma campanha também pode estar ativa apenas em determinados estados do país. Esta validação se dará baseada na data de emissão da NF, id do padrão e a UF).

    • É verificado a quantidade de pontos válidos para cada produto com o status CLASSIFIED.

    • Será selecionado a campanha onde a pontuação ocorra da maior forma.

    • Após a validação da pontuação de cada produto, é verificado se o usuário não atingiu o teto máximo de pontos mensais. Caso positivo, a pontuação deste produto é descartada. (Não cumulativo para o próximo mês).

    • É notificada a API Integration é notificada que uma nova pontuação foi criada junto ao BD.

 

  • SERVIÇOS DA API INTEGRATION

    • API integration realiza a busca da pontuação diretamente no BD.

    • Realiza a request junto a Premmiar, com as informações referente a pontuação do usuário. (login/cpf, description, points, name, originID, expirationDate, externalCode, userId, e productId).

    • Com este request, o user score recebe o status de SCORE_INTEGRATED, sinalizando que este score já foi integrado junto a Premmiar.

 

  • SERVIÇOS DA API NOTIFICAÇÕES

    • Após o processo inicial de salvar a nota, ele notifica a API de notificação, esta é a responsável por enviar as notificações das informações por e-mail, whatsapp ou notificações 

    • internas do Clube duratex.  OBS: A notificação de primeira nota enviada é diferente das demais notas, assim, tendo uma validação que verifica se é a primeira nota enviada ou não.

    • Ao final do processo, após integrar a pontuação de duracoins com a Premmiar, é enviada para a API de notificações os pontos creditados.

    • A API de notificações somente notificará usuário somente se for envio de nota, review de pontuação não tem integração com esta API.

 

  • FLUXO DE REIVINDICAÇÕES DE PONTOS.

    • O usuário deverá entrar em contato com o setor de Marketing por algum canal de comunicação, reivindicando possível erro em sua pontuação de Duracoins.

    • A análise da revisão solicitada deverá ser feita por um usuário com perfil de Gestor de Conteúdo, através do backoffice.

    • Ao realizar a análise e constatar itens com alguma inconsistência na classificação, sendo ela automática ou manual, deverá enviar uma solicitação para a reclassificação marcando a opção que diz que os Duracoins deverão ser recalculadas.

    • Desta maneira, o item passará a estar disponível na parte de classificação manual juntamente com os demais, entrando no ciclo como um novo item ainda não classificado. OBS: itens reclassificados não haverá aviso via notificação quando forem reclassificados.