UC00093 - Relatório Livro Fiscal de Entrada
Conteúdo |
Objetivo
- Emitir o relatório de livro de entrada, atendendo o fisco e permitindo ao usuário conferir dados para o SPED.
Atores
- Usuário
Pré-requisitos
- Considerar documento Padrões de desenvolvimento
- No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Relatório livro fiscal de entrada. Este nome será utilizado para criar a página no Wiki.
Resultado esperado
- Gerar o relatório fiscal dos documentos de saída, que inclui notas emitidas e cupons fiscais. Não haverá mapa resumo de ECF, por enquanto.
Diagrama de classes
Fluxo de eventos
Fluxos principais
Fluxo 1: Usuário acessa a rotina no menu Relatórios -> Livros Fiscais -> Livro de Saída.
- Sistema exibe os campos de filtragem conforme RN01.
Fluxo 2: Usuário informa dados para filtragem.
- Sistema procede conforme regra de negócio RN02, e em seguida, após clicar em <Imprimir> o sistema exibe os dados conforme RN03. Importante alertar que esta rotina não exibirá dados em grid, e sim fará a impressão diretamente.
Regras de negócio
RN01 - Tela inicial de filtragem
- Filial: Usar componente padrão do sistema já preenchido com a filial logada. O usuário só poderá marcar uma filial por relatório.
- Período: Usar componente padrão do sistema, para data inicial e final. Importante destacar que não tem sentido tirar este relatório com mais de um mês, mas, não será feita nenhuma validação quanto a isto.
- Número inicial da página: Trazer como default o número 1.
- Formato de impressão: Utilizar componente padrão do sistema, imprimindo nos formatos PDF e DOC com a opção de compactar (.zip).
RN02 - Busca/filtragem dos dados para gerar o livro de entrada
A busca de dados para o livro de entrada consiste em filtrar todos os documentos fiscais de entrada que satisfaçam os filtros informados (filial e período). No caso de documentos fiscais de entrada, deverá ser considerada a data de entrada dos mesmos no sistema.
Os resultados deverão ser agrupados por:
- Espécie
- UF de origem
- CFOP
- Alíquota
Após agrupados, os resultados deverão ser ordenados da seguinte forma:
- Data de entrada
- Número (da nota)
RN03 - Explicação dos Campos do Relatório
Informações Iniciais
O relatório busca dados de duas grandes fontes: notas fiscais de saída (Documento Fiscal Saída) e cupons fiscais (DoctoPedidoDevolucao.CupomFiscal). Como podem haver muitos cupons fiscais em um dia, é facultado agrupá-los por dia/número do ECF. Outra informação importante é que os dados são agrupados por CFOP/alíquota (tanto na NF quanto no ECF). Uma nf com dois CFOP´s (5102 e 5403, por exemplo) terão pelo menos duas linhas. Se em um mesmp CFOP houver alíquotas diferentes, podendo ainda ter mais sub-detalhes (repare o modelo com duas CFOP´s abaixo). A mesma regra vale para os cupons.
Após realizar a filtragem, o sistema deverá emitir um relatório, de acordo com os modelos abaixo (lembrando que não há consulta e a impressão só precisa ser em PDF.
Explicação das colunas:
- ESP: informar NF quando for documentos fiscais de saída (NF) e CF quando for cupons fiscais.
- Série: se documento fiscal de saída (NF) informar a série presente nesta classe, com um dígito apenas. Se cupom fiscal, preencher com o número do ECF/Máquina, com 3 dígitos (atributo presenta na classe de informações do ECF).
- Dia:
- Número: número da NF ou número do primeiro cupom + último cupom do dia, agrupados por ECF.
- UF: listar o estado do destinatário da NF, caso documento de saída, ou o estado da filial, caso cupom fiscal.
- Valor contábil: valor final da NF ou soma de todos os cupons fiscais, acumulados por ECF. Sendo assim, se a empresa possui 4 equipamentos de ECF, teremos 4 linhas, pelo menos.
- Codificação Contábil: nada a imprimir.
- Codificação Fiscal: refere-se ao CFOP (código fiscal da operação). Este campo divide o valor contábil, e a soma da parte tributada + isentas + outras deve sempre coincidir com o mesmo.
- ICMS/IPI: por ora sempre listar a constante "ICMS".
- Base de Cálculo: Para NF agrupar por CFOP/alíquota de ICMS, dados que estão na classe de itens de nota de saída, atributo baseValorIcms. Para os cupons, os dados estão na classe ComplementoECFItem, e (PROCURAR GIL).
- Aliq: atributo aliquotaIcm das mesmas classes acima.
- Imposto Debitado: atributo valorIcm das mesmas classes acima.
- Isentas ou Não Tributadas: soma do atributo icmsIsento
- Outras: soma do atributo icmsOutras
- Observações: se a NF for cancelada, imprimir a constante "CANCELADA".
IMPORTANTE: nos livros de ICMS, valor contábil SEMPRE será igual a soma de base de cálculo do ICMS + Isentas + Outras.