UC00099 - Integração Java/ECF

De Wiki Java - Interno
Edição feita às 09h50min de 13 de abril de 2015 por Daniel (disc | contribs)

Ir para: navegação, pesquisa

Conteúdo

Objetivo

Atores

  • Usuário

Pré-requisitos

Resultado esperado

Diagrama de classes

ECF.png

Fluxo de eventos

Fluxos principais

Fluxo 1:

Fluxos alternativos

Fluxo 1: Com os parâmetros de ECF da filial logada configurados como IMPORTA SERVIÇO = Sim e OPERAÇÃO DO PAF = NFC-e, o usuário faz um pedido no Resulth WEB que contem produtos e serviços e em seguida tenta importa-lo no ECF.

  • O ECF importará o pedido normalmente, mas considerará somente os produtos do mesmo. Enquanto OPERAÇÃO DO PAF = NFC-e os serviços serão desprezados na importação de pedidos.

Fluxos de exceção

Fluxo 1: Usuário inicializa o módulo ECF, sendo que ele possui em uma determinada filial dois ou mais ECF´s cujas configurações estão diferentes uma da outra.

  • Se nos parâmetros da filial as configurações de todos os ECF´s/PDV´s não forem exatamente iguais para a filial logada, será emitida ao usuário a seguinte mensagem de alerta: Para a filial XXX - XXXXXX existem um ou mais ECF´s cujas configurações diferem dos demais. É altamente recomendado que todos os ECF´s utilizem a mesma configuração. Onde X corresponde ao código e nome da filial.
  • A mensagem será apenas um alerta e não impedirá o usuário de prosseguir com seu fluxo.

Regras de negócio

RN01 - Operações

No banco de dados padrão do Resulth WEB serão disponibilizadas as operações a serem utilizadas na interação com o ECF conforme segue abaixo:

  • VENDA DIRETA NO ECF: Operação padrão do sistema para vendas realizadas diretamente no ECF que serão sincronizadas/enviadas para o Resulth WEB. Esta operação terá as seguintes características:
    1. Ativa = Sim
    2. Considera em vendas = Sim
    3. Considera em comissão = Sim
    4. Devolução de compras = Não
    5. Gera contabilidade = Não
    6. Gera estoque = Sim
    7. Gera financeiro = Sim
    8. Saída corresponde a uma NF feita manualmente = Não
    9. Nota fiscal de ajuste = Não utiliza
    10. Gera livros fiscais = Sim
    11. Permite bonificação = Não
    12. Calcula ICMS = Sim
    13. Calcula PIS = Sim
    14. Calcula COFINS = Sim
    15. Destacar/Informar ST manualmente = Não
    16. Calcula IPI/Destacar = Não
  • VENDA NO ECF IMPORTANDO PDV: Operação padrão do sistema para vendas no ECF através da importação de PDV (não será utilizada na importação de DAV) que serão sincronizadas com o Resulth WEB. Esta operação terá as seguintes características:
    1. Ativa = Sim
    2. Considera em vendas = Não
    3. Considera em comissão = Não
    4. Devolução de compras = Não
    5. Gera contabilidade = Não
    6. Gera estoque = Sim
    7. Gera financeiro = Não
    8. Saída corresponde a uma NF feita manualmente = Não
    9. Nota fiscal de ajuste = Não utiliza
    10. Gera livros fiscais = Sim
    11. Permite bonificação = Não
    12. Calcula ICMS = Sim
    13. Calcula PIS = Sim
    14. Calcula COFINS = Sim
    15. Destacar/Informar ST manualmente = Não
    16. Calcula IPI/Destacar = Não
    
    Para pedidos do tipo OS não será necessário ter uma operação padrão definida uma vez que as movimentações de estoque e geração do financeiro já foram realizados. 
    Em outras palavras, o cupom gerado para um pedido de OS não movimentará estoque nem gerará financeiro.
    
    Pedidos do tipo DAV não podem movimentar estoque e nem gerar financeiro. Sendo assim, quando importados no ECF, as movimentações serão geradas quando o cupom for 
    sincronizado com o Resulth WEB a exemplo de como ocorre com a venda direta no ECF.
    
    Operações padrão para integração com o ECF não podem ser alteradas ou excluídas pelo usuário.

RN02 - Sincronização

PDV´s importados para o ECF

Ao importar PDV´s para o ECF as seguintes regras devem ser observadas:

  1. PDV´s que já movimentaram estoque: Estes pedidos serão listados no ECF junto com os demais pedidos que ainda não movimentaram estoque, porém não poderão ser importados para emissão do cupom. Caso usuário informe diretamente o código ou selecione na filtragem um PDV que já movimentou estoque, o ECF abortará a importação do mesmo e emitirá ao usuário a seguinte mensagem de alerta: A emissão de cupom fiscal a partir da importação de um PDV é configurada por padrão para movimentar estoque e portanto o pedido selecionado não poderá ser importado, uma vez que ele já movimentou estoque de seus itens.
  2. Formas de pagamento: As formas de pagamento utilizadas no encerramento do cupom deverão ser compatíveis com as formas de pagamento do PDV importado. Para isto, quando um PDV for importado para o ECF, o sistema (ECF) deverá desabilitar todas as formas de pagamento e preencher automaticamente os valores de cada uma conforme as formas de pagamento utilizadas no PDV.
    • Se o ECF estiver configurado para não importar serviço e um determinado PDV conter serviço(s), para esta importação em específico as regras acima deverão ser desconsideradas.
    • Caso no PDV tenha sido utilizada a forma de pagamento financeira, ao preencher automaticamente as formas de pagamento no encerramento do cupom o sistema considerará o total financiado como dinheiro.


Os cupons dos PDV´s importados para o ECF serão enviados para o Resulth WEB, e neste ponto será gerado o movimento de estoque dos itens de cada cupom utilizando a operação VENDA NO ECF IMPORTANDO PDV conforme regra de negócio RN01.

Vendas diretas e DAV´s importados

Os cupons dos DAV´s importados e das vendas feitas diretamente no ECF serão enviados para o Resulth WEB, e neste ponto serão gerados os movimentos de estoque dos itens e também o financeiro de acordo com as formas de pagamento informadas em cada cupom utilizando a operação VENDA DIRETA NO ECF conforme regra de negócio RN01.


Antes de gerar o financeiro para os cupons sincronizados, o sistema deverá verificar nos parâmetros do PDV:

  1. Gerar movimento de caixa para as vendas? Se este parâmetro estiver marcado como Sim, com o subcaixa informado para centralizar vendas do PDV (logo à direita do parâmetro em questão) serão gerados movimentos de caixa para cada cupom com o subcaixa informado.
  2. Utiliza fechamento de caixa? Se este parâmetro estiver marcado como Sim, com o subcaixa do operador que emitiu os cupons serão gerados movimentos de caixa.
  3. Independente se Gerar movimento de caixa para as vendas? = Sim ou Utiliza fechamento de caixa? = Sim, ao gerar movimento de caixa será considerado:
    • Se a opção Para todas as vendas estiver marcada como Sim, na conta caixa informada logo à sua direita será gerado o movimento de caixa com o valor total de cada cupom utilizando o subcaixa que centraliza as vendas do PDV ou o subcaixa do operador que emitiu os cupons.
    • Caso uma ou mais formas de pagamento esteja(m) marcada(s) como Sim, na(s) conta(s) caixa informada(s) será(ão) gerado(s) movimento(s) de caixa com o(s) valor(es) da(s) respectiva(s) forma(s) de pagamento de cada cupom utilizando o subcaixa que centraliza as vendas do PDV ou o subcaixa do operador que emitiu os cupons. Se houver em um determinado cupom um forma de pagamento que está marcada nos parâmetros do PDV como Não e que não possui uma conta caixa informada, não será gerado movimento de caixa com o valor da mesma.

RN03 - Integração com controle de caixa/checkouts

Para vendas serem consideradas pelo controle de caixa, independente de sua origem, deverão ser observados:


Importação de PDV e OS para o ECF

Pedidos do tipo 55 e 65 importados para o ECF serão considerados pela rotina de controle de caixa descartando a existência do cupom fiscal uma vez que a geração do financeiro só pode ser realizada pelo PDV. Em outras palavras, OS´s e PDV´s serão considerados pelo controle de caixa normalmente (se o PDV for configurado para tal) independente deles terem sido importados para o ECF ou não.

    
    Se o PDV gera financeiro,  movimento no subcaixa do operador que possui caixa aberto será gerado pelo Resulth WEB.


Importação de DAV e venda direta no ECF

Partindo do pré-suposto que o DAV não movimenta estoque nem gera financeiro, após importado para o ECF o mesmo será tratado como uma venda direta ao sincronizar seu cupom com o Resulth WEB. Para vendas diretas no ECF o movimento de estoque e a geração do financeiro serão realizados quando os respectivos cupons forem sincronizados com o Resulth WEB.


Antes de cada venda direta ou a importação de um DAV, o sistema (ECF) deverá:

  1. Verificar se o retaguarda (Resulth WEB) utiliza fechamento de caixa: Na aba Faturamento dos parâmetros do PDV deverá ser verificado o estado do parâmetro Utiliza fechamento de caixa?. Se o parâmetro em questão estiver como Não, os demais passos deverão ser ignorados e a venda direta ou importação do DAV procederá normalmente. Se o parâmetro estiver como Sim, executar os próximos passos.
  2. Verificar se o caixa do operador foi/está aberto: Para que um determinado operador consiga vender ou importar DAV no ECF é necessário que seu caixa esteja aberto no retaguarda (Resulth WEB). Caso o caixa do operador não esteja aberto o sistema (ECF) deverá abortar a venda ou importação do DAV e emitir ao usuário uma mensagem de alerta com a não conformidade.
    • Caso não exista no retaguarda caixa aberto para o usuário/operador logado no ECF, exibir a mensagem: O sistema de retaguarda (Resulth WEB) está configurado para utilizar fechamento de caixa e não ha caixa aberto para o operador logado. Faça a abertura do caixa do operador em questão e tente novamente.
    • Caso o caixa do usuário/operador já tenha sido fechado, exibir a mensagem: O caixa do operador logado já foi fechado e portanto o mesmo não poderá realizar vendas.

RN04 - NFC-e

Em resumo a NFC-e será tratada/sincronizada como um cupom fiscal no Resulth WEB, ou seja, os dados de um pedido de NFC-e serão visualizados e considerados da mesma maneira que um pedido de cupom fiscal. O que irá diferenciar um pedido de cupom fiscal de um pedido de NFC-e no Resulth WEB será a existência de um documento fiscal (a NFC-e propriamente dita), que será criado para todas as NFC-e´s sincronizadas para o Resulth WEB e considerado também em rotinas fiscais como SPED e livros de saída.

No Resulth WEB o documento fiscal da NFC-e será contabilizado somente em rotinas/relatórios fiscais, ou seja, não será possível visualizar ou manipular a NFC-e em qualquer outra rotina do sistema. Para isto o usuário deverá utilizar os recursos do módulo ECF.

Sincronização dos dados

A sincronização entenderá que os procedimentos de NFC-e deverão ser realizados quando nos parâmetros da filial logada, para o número de PDV/ECF, estiverem marcados os parâmetros OPERAÇÃO DO PAF = NFC-e e AMBIENTE NFC-e = Produção.


Uma vez que o sistema identificou que ao invés de cupom fiscal será sincronizada a NFC-e, o procedimento será o seguinte:

  1. Quando o ECF consumir o webservice de sincronização ao invés de popular o objeto DadosCupomDelphi com os dados do cupom a partir das tabelas VENDPDV e ENCERRA, ele deverá popular o objeto DadosNFCeDelphi com os dados do pedido da NFC-e (tabelas PEDIDOC e PEDIDOI) e também com os dados fiscais da mesma (tabelas NFSAIDI e NFSAIDC).
  2. Com o objeto DadosNFCeDelphi populado, será utilizada a classe MontaCupomFiscalImportacaoServiceImpl para preparar um objeto do tipo CupomFiscal e persisti-lo no banco de dados gravando no Resulth WEB o pedido da NFC-e exatamente na mesma estrutura onde é gravado o cupom fiscal.
    • O pedido da NFC-e deverá ser gravado no Resulth WEB com o mesmo código gerado pelo Delphi na tabela PEDIDOC.
  3. Em seguida deverá ser gerado um documento fiscal de saída para o pedido da NFC-e que fora gravado. Para isto poderá ser utilizada a classe PedidoNotaServiceImpl.


Validações e regras de sincronização

  1. Somente serão sincronizadas para o Resulth WEB NFC-e´s cujo status junto a SEFAZ é Autorizada ou Cancelada.
    • A sincronização de NFC-e´s de status Cancelada deverá excluir completamente tanto o pedido quanto o documento fiscal de saída gerados no Resulth WEB desfazendo as respectivas movimentações financeiras e de estoque.
  2. Caso nos parâmetros da filial logada o ECF esteja configurado como IMPORTA SERVIÇO = Sim e OPERAÇÃO DO PAF = NFC-e, para pedidos realizados no Resulth WEB que contenham produtos e serviços importados para o ECF, serão considerados somente produtos.

DadosNFCeDelphi

Atributo da classe DadosNFCeDelphi TABELA BD ECF CAMPO OBSERVAÇÃO
numeroPedidoNFCe PEDIDOC CODPEDIDO
numeroNFCe COMPLNFCE NUMNFCE
serieNFCe COMPLNFCE SERIE

Equivalência dos dados de documento fiscal

Cabeçalho da NFC-e

Atributo da classe DocumentoSaida extends DocumentoFiscal TABELA BD ECF CAMPO OBSERVAÇÃO
filial NFSAIDC CODEMPRESA Código da filial do ECF correspondente a uma filial do Resulth WEB
pessoa NFSAIDC CODCLIENTE
numero NFSAIDC NUMNF
dataEmissao NFSAIDC DT_EMISSAO
serie COMPLNFCE SERIE
modeloNotaFiscal -- -- Utilizar modelo 65, ou seja, NFC-e - Nota Fiscal Eletrônica ao Consumidor Final
especieNotaFiscal -- -- Utilizar o modelo NFC-e, //Nota Fiscal Eletrônica ao Consumidor Final
observacaoLivrosFiscais NFSAIDC OBSLIVROFISCAL
pagamento -- -- Será gerado se no encerramento da NFC-e foi gerado contas a receber ou parcelas avulsas.
valorNF NFSAIDC TOTALNF
observacao NFSAIDC OBSERVACAO
numDocOrig -- -- Armazena os documentos a receber gerados caso existam.
transportador NFSAIDC CODTRANSPT
notaFiscalEletronica -- --
portalFiscalPrefeitura -- --
pagamentosRetencoes -- --
operacao -- --
itens NFSAIDI -- Ver tabela Itens da NFC-e.
dataSaida NFSAIDC DATASAIDA
horaSaida NFSAIDC HORASAIDA
cancelada NFSAIDC CANCELADO
notaManual -- --
dadoAdicionalNF NFSAIDC DADOSADIC
pedidos -- -- Utilizar o CupomFiscal -> DoctoPedidoDevolucao gerado na sincronização do pedido NFC-e para o Resulth WEB.
encerramento -- -- Não gerar. O encerramento ficará na CupomFiscal -> DoctoPedidoDevolucao.
notasRetencaoPisCofinsCsll -- --
pisCofinsCsllRetidoFonte -- --
idNotaAdevolver -- --

Itens da NFC-e

Atributo da classe ItemNota TABELA BD ECF CAMPO OBSERVAÇÃO
nota -- -- Utilizar objeto gerado para o cabeçalho da NFC-e.
item NFSAIDI CODPROD
grade NFSAIDI CODGRADE Irrelevante, pois o webservice de sincronização irá devolver o ID do RrelacionamentoGrade.
sequencia -- -- Gerado automaticamente para notas digitadas.
cfop NFSAIDI CFOP
quantidade NFSAIDI QUANTIDADE
quantidadeConvertida -- --
unidade NFSAIDI UNIDADESAIDA
preco NFSAIDI PRECOUNIT
precoConvertido -- --
iss NFSAIDI ALIQISS Aplicar a alíquota de ISS sobre o total do item para obter o valor do imposto.
ipi NFSAIDI
  • VALORIPI
  • VLRBASEIPI
icm NFSAIDI
  • VLRICMS
  • VLRBASEICMS
st NFSAIDI
  • VLRICMSST
  • VLRBASEICMSST
stForaNF -- --
pis NFSAIDI
  • VLRPIS
  • BASEPIS
cofins NFSAIDI
  • VLRCOFINS
  • BASECOFINS
aproveitamentoCredito -- --
descontoItem NFSAIDI DESCONTOVLR
totalItem NFSAIDI QUANTIDADE * PRECOUNIT
totalRateado NFSAIDI TOTALRATEADO
cst NFSAIDI CODTRIBUT
csosn NFSAIDI CODCSOSN
rateio -- --
seriaisDigitados CONTSER
lotesDigitados -- --
itensNotaEntradaSerial -- --
itensNotaEntradaLote -- --
complemento -- --
original -- --
itemBonificado -- --

Ferramentas pessoais
Espaços nominais

Variantes
Visualizações
Ações
Navegação
Ferramentas