No artigo a seguir, você pode consultar o conjunto das rotinas responsáveis do faturamento de grandes volumes de pedidos; visto que, esse processo consiste na transformação de um pedido em uma nota, onde o pedido já contém todas as informações necessárias para a geração da nota.
Assim, o sistema irá, basicamente, clonar as principais tabelas para o novo documento. Sabendo disso, temos a seguir as tabelas que serão clonadas ao realizar o faturamento:
- TGFCAB;
- TGFRAV;
- TGFRAT;
- TGFITE;
- TGFVAR;
- TGFDIN; e
- TGFFIN.
Todo o processamento ocorrerá através de uma fila de faturamento, sendo que essa fila será planejada por um JOB que processa e atualiza os status de cada pedido/lote, conforme as etapas do processo.
Mesmo que haja somente uma duplicação das tabelas citadas acima, temos ainda algumas configurações das quais você deve se atentar. A seguir, descreveremos sobre cada uma delas:
TOP de faturamento Série de faturamento
Geração de lote assíncrono (NF-e) Busca de autorização assíncrona (NF-e)
Impressão de nota... Faturamento e acompanhamento
TOP de faturamento
O Tipo de Operação utilizado no faturamento, será o mesmo da TOP de destino do documento de origem.
Série de faturamento
Faça o cadastro de diferentes séries por Empresa/TOP na tela Tipo de Operação - TOP, aba "Série por empresa". Se você não realizar nenhuma configuração para a TOP de faturamento, a mesma série do documento de origem será utilizada.
Estoque
A atualização de estoque ocorrerá conforme a TOP de faturamento.
Financeiro
Os financeiros também serão copiados da origem desde que a TOP de faturamento atualize financeiro. O status do faturamento pode ser acompanhado através da tabela TGFRFT, ou serviço específico que será detalhado mais adiante. Nela temos informações como:
- Número do lote;
- Nro. único do pedido;
- Status do pedido/lote;
- Dh. inclusão;
- Dh. última tentativa de processamento.
Sendo que, podemos ter os status a seguir:
- Pendente: O pedido foi registrado para faturamento, mas ainda não foi processado.
- Aguardando correção: O documento não foi faturado por alguma inconsistência de cadastro podendo ser configuração de faturamento, estoque, etc.
- Documento faturado: O pedido foi transformado em nota, mas no caso de documento fiscal, não significa que a nota já foi aprovada na SEFAZ. O serviço de consulta de status do faturamento também retorna a situação da NF-e.
- Erro de impressão: No caso de documento fiscal significa que a nota já foi aprovada, mas não foi possível gerar o PDF e link para download do documento; assim, poderá ser um problema no modelo utilizado para impressão.
- NF-e impressa: A nota foi aprovada (no caso de documento fiscal) e o PDF gerado será disponibilizado no repositório de arquivos.
Temos também, outra estrutura denominada TGFLFT que irá armazenar os possíveis erros e avisos no decorrer do processo de faturamento. Assim, considere o exemplo:
Caso um pedido/lote esteja com status igual a Aguardando correção, na TGFLFT será detalhado qual foi o impedimento ocorreu nesse faturamento. Se um pedido/lote esteja com status igual a Erro de impressão, também constará nessa tabela o motivo pelo qual não foi possível gerar o PDF da nota.
Observação: Os problemas originados pela SEFAZ não constarão nessa tabela, mas o serviço de resumo do faturamento está preparado para buscar as informações necessárias na tabela de ocorrências.
Geração de lote assíncrono (NF-e)
Após a transformação do pedido em nota, o sistema inclui o documento gerado em uma fila de envio de lote para SEFAZ. Um JOB fica exclusivamente responsável por essa fila e processa os documentos em ordem cronológica.
Nota: Esse recurso pode ser desativado por meio do parâmetro "Gera lote assincrono no fat. grandes volumes? - FATGVLOTASYNC".
Busca de autorização assíncrona (NF-e)
Similar a geração do lote assíncrono, a autorização também é realizada por um JOB que trabalha baseado em fila e busca as autorizações de forma independente do envio do lote. Essa estratégia é ativada automaticamente caso a geração de lote assíncrona esteja ligada.
Impressão de nota de disponibilização de PDF via repositório de arquivos
Um JOB fica responsável pela geração do PDF da nota e a disponibilização do artefato no repositório de arquivos. Por padrão esse recurso fica ativado, mas pode ser desligado ao desabilitar o parâmetro "Gera impressão repositório fat. grandes volumes? - FATGVIMPASYNC".
Devido a grande quantidade de documentos que podem ser gerados diariamente, esses artefatos ficarão disponíveis pelo período determinado no parâmetro "Qtd. dias para manter PDF notas no repositório - QTDDIASPDFNOTA".
Para que o link de download seja gerado corretamente, você deve configurar também o parâmetro "Endereço para acesso externo ao WGE - ENDACESSEXTWGE", que contém o endereço do Sankhya-Om para acesso externo.
Faturamento e acompanhamento
O início do processo de faturamento, acontece pela chamada de um serviço que inclui os pedidos em uma fila para processamento:
Serviço: mgecom@SelecaoDocumentoSP.faturarLote
Parâmetros:
{
numLote : 1,
documentos : [2695, 2694, 2714]
}
numLote: Identificador único do tipo inteiro, gerado e controlado pelo Cliente. Sendo ele, um parâmetro obrigatório.
Documentos: Consiste em um arranjo contendo os números únicos dos documentos que serão faturados. Na sua ausência, o sistema entende que será realizado um reprocessamento do lote, ou seja, os documentos que não foram faturados serão reprocessados.
O acompanhamento do faturamento pode ser realizado através de outro serviço que fornecerá o status atual do processo para cada um dos pedidos incluídos na fila de processamento.
Serviço: mgecom@SelecaoDocumentoSP.getResumoLoteFaturamento
Parâmetros:
{
numLote : 1,
documentos : [2695, 2694, 2714]
}
numLote: Identificador único do tipo inteiro, gerado e controlado pelo Cliente; trata-se de um parâmetro obrigatório.
Documentos: É um arranjo contendo os números únicos dos documentos que se deseja verificar o status. Na sua ausência o sistema entende que deve ser gerado o resumo de todo o lote. Observe abaixo os exemplos de retornos:
- Para um documento pendente de faturamento:
- Documento com erro de faturamento:
- Para um documento faturado, mas com erro de validação na geração do lote:
- Para um documento faturado e aprovado, mas ainda não impresso:
- Para um documento faturado e aprovado, mas com erro de impressão:
- Para um documento faturado, aprovado e impresso:
Para que você possa utilizar os serviços, será necessário compreender nossa API de integração que pode ser baixada no site de downloads.sankhya.com.br. No arquivo compactado API Integracao será encontrada a documentação e os exemplos de uso da API.
Observação: Uma sugestão para obter um melhor aproveitamento das rotinas que foram criadas, é utilizar pelo menos 3 instâncias do Sankhya-Om, da seguinte forma:
- Uma instância para faturamento e envio de lotes para Sefaz;
- Uma instância para buscar autorização;
- Uma instância para gerar o PDF dos documentos e disponibilizar no repositório de arquivos.
Nota: Para que cada instância utilize apenas os JOBS necessários, configure o Jboss ou o Wildfly com o seguinte argumento:
- Instância 1: Job de faturamento e envio de lotes para Sefaz
-Dsankhyaw.only.jobs=-10017,-10019 - Instância 2: Job para buscar autorização
-Dsankhyaw.only.jobs=-10001 - Instância 3: Job para gerar PDF das notas e disponibilizar no repositório
-Dsankhyaw.only.jobs=-10018
Comentários
0 comentário
Por favor, entre para comentar.