Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Microsiga Protheus | Módulo | SIGAFIN |
Segmento Executor |
| ||
Projeto | PDR_SER_CTR011 | IRM | PCREQ-7939 |
Requisito | PCREQ-7940 | Subtarefa | PDR_SER_CTR011-124 |
Chamado | Não se aplica. | ||
Release de Entrega Planejada | 12.1.7 Abril/16 | Réplica | Não se aplica. |
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( X ) Outro Todos. | ||
Outros | .Não se aplica. |
Objetivo
Ajustar e criar novas mensagens únicas, relacionadas a controladoria, em prol de atender as necessidades na integração do backoffice Protheus com o software de gestão de hotelaria da Bematech, CMNet.
Definição da Regra de Negócio
Rotinas Envolvidas | ||
Rotina | Tipo de Operação | Opção de Menu |
FINI040 | Alteração | Não se aplica. |
MATI020 | Alteração | Não se aplica. |
MATI030 | Alteração | Não se aplica. |
MATI040 | Alteração | Não se aplica. |
MATA490 | Alteração | SigaFIN > Atualizações > Comissoes > Manutenção das Comissões. |
MATI490 | Criação | Não se aplica. |
FINA440 | Alteração | SigaFIN > Miscelanea > Recalculos > Recálculo de Comissão. |
FINA791 | Criação | SigaFIN > Atualizações > Hotelaria > Fatura de Hotel |
FINI791 | Criação | Não se aplica. |
O backoffice Protheus será responsável pelo controle financeiro, fiscal e contábil das operações de hotelaria realizadas através do software CMNet.
Para tais fins, os seguintes processos serão integrados com o uso de mensagem única:
- Cadastro de cliente (pessoa física e jurídica, nacional e internacional).
- Cadastro de fornecedor (para empresa comissionada, nacional e internacional)
- Cadastro de vendedor (para empresa comissionada)
- Inclusão de recebimento antecipado (RA)
- Inclusão de provisionamento de reserva (PR a receber)
- Inclusão de adiantamento com cartão (CC / CD + NCC)
- Cancelamento de adiantamento
- Devolução de adiantamento
- Cancelamento de devolução de adiantamentos
- Alteração de valores provisionados em prol da reserva (alteração de PR a receber)
- Análise de crédito de empresas (cliente pessoa jurídica)
- Inclusão de bloco F100
- Cadastro de Produtos
- Inclusão de cupom fiscal
- Cancelamento de cupom fiscal
- Inclusão de recibo provisório de serviço (RPS)
- Cancelamento de RPS
- Redução Z
- Geração de Danfe sobre cupom
- Sincronização de RPS transmitida (envio dos números eletrônicos após transmissão ao SEFAZ)
- Cadastro de Comissões
- Faturas de Hotelaria
Os itens marcados em negrito são processos do loja e não serão tratados nessa especificação.
Para que todos esses processos sejam adequadamente integrados, serão necessárias algumas melhorias nas rotinas de Controladoria e Loja. Esta especificação tratará apenas as alterações necessárias voltadas a controladoria.
Faturas de Hotelaria |
Na hotelaria existe a possibilidade de uma empresa ter um contrato com o hotel, de forma a permitir que seus funcionários fiquem hospedados em um período e, ao fazer checkout, as despesas da estadia desse hóspede podem ser faturadas contra a empresa em questão, gerando títulos para recebimentos futuros dos valores referentes aos serviços e produtos consumidos (RPS e Cupons Fiscais). Ou seja, nesse exemplo o hóspede não paga nada ao sair do hotel e a empresa é quem paga isso em um momento futuro, conforme regras estabelecidas em seu contrato.
Esse processo precisará ser integrado ao Protheus, pois o mesmo gera títulos financeiros que estão associados a determinados Recibos Provisórios de Serviços (RPS) e Cupons Fiscais. Para isso, serão necessários os seguintes pontos:
- Criação de duas novas tabelas: XXX FO8 - Cabeçalho da Fatura e YYY FO9 - Amarração da Fatura x Notas (RPS/Cupom);
- Criação de uma nova mensagem única para recebimento das informações de Faturas de Hotel;
- Criação de uma nova rotina de menu no Protheus (FINA791), para apenas visualização das informações de Faturas (Não haverá opção de Inclusão, Alteração e Exclusão no Protheus);
- Criação de um adapter para tratar o recebimento da mensagem única de Faturas (FINI791);
- Criação de um novo tipo de título para diferenciar os títulos gerados na mensagem de faturas de hotel;
- Criação de novo parâmetro para definição de Natureza dos títulos gerados no processo de faturas de hotel: MV_HTLNAFT;
Detalhes técnicos:
- A rotina de faturas de hotelaria, no Protheus, será apenas para visualização dos registros e estará divida em três partes, conforme proposto no Protótipo 01 - Tela de Faturas de Hotelaria. As três partes são: Cabeçalho da Fatura (tabela XXX), Notas (Tabela YYY) e Títulos a Receber. Essa rotina deverá ser codificada em MVC.
Detalhes da Mensagem (XSD):
Nome da Mensagem: HotelInvoice
Versão: 1.000
Tipo: Event
Estrutura:
TAG SUPERIOR | TAG | Obrigatória | Descrição |
BusinessContent | CompanyId | Não | Código da Empresa. |
BusinessContent | BranchId | Não | Código da Filial. |
BusinessContent | CompanyInternalId | Não | InternalId das informações da empresa. |
BusinessContent | InternalID | Não | Identificador único da fatura |
BusinessContent | Code | Não | Código da fatura |
BusinessContent | IssueDate | Não | Data de Emissão da fatura |
BusinessContent | CustomerVendorInternalId | Não | Identificador único do Cliente da fatura |
BusinessContent | Value | Não | Valor da Fatura |
BusinessContent\ListOfRetailSales\RetailSales | RetailSalesInternalId | Não | Identificador Único do RPS/Cupom Fiscal integrado com a mensagem RetailSales |
BusinessContent\ListOfAccountReceivableInformation\AccountReceivableInformation | Value | Não | Valor do Título a Receber |
BusinessContent\ListOfAccountReceivableInformation\AccountReceivableInformation | DueDate | Não | Data de Vencimento do Título a Receber |
ReturnContent | ListOfInternalId | Não | Lista de InternalIds gerados no cadastro |
Cancelamento de Faturas de Hotelaria |
Comissões |
Nesta integração o detentor da regra de negócio para cálculo de comissões é o CMNet, que atende as regras especificas para a hotelaria. Portanto, o Protheus precisará estar preparado para receber essas comissões já calculadas. Para isso, será criada uma nova mensagem única: SalesCharge.
A rotina de Atualização de Comissões (MATA490) deverá ser alterada para trabalhar com mensagem única, ou seja, passará a ter uma IntegDef e será necessário criar o Adapter dessa rotina (MATI490). O Protheus irá apenas receber essa mensagem, portanto, no adapter não haverá tratamentos para envio.
Ao receber as informações, o Protheus irá gravar a comissão (SE3) através da Execauto da rotina MATA490. Caso grave com sucesso, deverá também gravar o de/para na XXF, relacionando as chaves dos registros dos dois sistemas e deverá retornar um ListOfInternalId padrão de mensagens do tipo Event (cadastro). Para gravação da tabela XXF, deve-se utilizar a seguinte função de Framework: CFGA070Mnt.
Exemplo de retorno de ListOfInternalId:
<ListOfInternalId>
<InternalId>
<Name>SalesChargeInternalId</Name> <- Nome do InternalId
<Origin>000000001</Origin> <- Chave do registro gerado na origem da mensagem
<Destination>99|01|COM|TIT001|01|001|VEND01</Destination> <- Chave gerada no Protheus após gravação do registro
</InternalId>
</ListOfInternalId>
Exemplo de gravação de de/para na XXF:
CFGA070Mnt( "BEMATECH", "SE3", "E3_NUM", "000000001", "99|01|COM|TIT001|01|001|VEND01", .F. )
Após gravadas as informações da SE3, o processo de pagamento das comissões (geração do contas a pagar e baixa do mesmo) seguirá o fluxo padrão do backoffice, de forma manual conforme melhor determinado pelo cliente que utilizará a integração.
Visto que quem possuí a regra de cálculo é o sistema de hotelaria, não será possível fazer o recálculo dos registro de comissão gerados por essa integração. Logo, deverá haver uma trava na rotina de Récalculo de Comissão (FINA440) para não permitir tal processo caso a origem da comissão seja integração (E3_ORIGEM = I). Também deverá haver uma trava para não permitir a alteração e exclusão de registros integrados através da rotina de manutenção de comissão (MATA490).
Detalhes técnicos:
- Toda comissão deve estar associada à um contas a receber. Porém, na hotelaria, a comissão pode nascer de um processo de fatura de hotel e não estará associado à um título a receber, mas sim à fatura em questão. Nesses casos, o número da fatura deverá trafegar na tag onde normalmente trafegaria o número do título a receber. Com essa informação, o adapter deverá buscar a fatura no Protheus e ver qual título foi gerado para a mesma. Então a chave do título encontrado será utilizado no registro de comissão. Caso a fatura tenha mais de um título gerado (fatura parcelada), associar a comissão ao primeiro título dessa fatura (título com a menor data de vencimento).
- Para toda comissão gravada através de mensagem única, gravar o campo E3_ORIGEM com o novo valor I, indicando integração (rotina MATI490).
IMPORTANTE: Esse novo valor deverá ser documentado na página do TDN:
http://tdn.totvs.com/pages/releaseview.action?pageId=184781116
- Codificar o adapter de forma atualizada, utilizando a classe tXmlManager ao invés de XmlParser.
- O Adapter deverá tratar os eventos de Inclusão, Alteração e Exclusão. Na inclusão e alteração, deverá retornar o ListOfinternalId na resposta. Na exclusão, deverá apagar o de/para na XXF e não deve retornar ListOfInternalId na resposta. Para saber a operação do cadastro, deve-se olhar a tag "Event", que por sua vez pode ter dois valores: "UPSERT" ou "DELETE". Se for delete, é uma operação de exclusão. Se for upsert, deve-se primeiramente buscar a chave externa (recebida na tag InternalID) no de/para do Protheus. Se encontrar algum registro, deve-se considerar que é uma operação de alteração. Do contrário, é um processo de inclusão.
Exemplo de exclusão de de/para na XXF:
CFGA070Mnt( "BEMATECH", "SE3", "E3_NUM", "000000001", "99|01|COM|TIT001|01|001|VEND01", .T. )
- Adicionar um tratamento para considerar a rotina MATI490 na função FA440Origem, no fonte FINA440. Para esse caso o retorno deverá ser "I".
- Criar uma função no adapter (MATI490) para encontrar a chave do registro de comissão no Protheus, à partir da chave externa recebida na mensagem.
- Criar uma função no adapter (MATI490) para criar o valor de InternalId com a chave da comissão no Protheus.
Detalhes da Mensagem (XSD):
Nome da Mensagem: SalesCharge
Versão: 1.000
Tipo: Event
Estrutura:
TAG SUPERIOR | TAG | Obrigatória | Descrição |
BusinessContent | CompanyId | Não | Código da Empresa. |
BusinessContent | BranchId | Não | Código da Filial. |
BusinessContent | CompanyInternalId | Não | InternalId das informações da empresa. |
BusinessContent | InternalID | Não | Identificador Único da Comissão |
BusinessContent | SellerInternalId | Não | InternalId do Vendedor |
BusinessContent | AccountReceivableDocumentInternalId | Não | InternalId do Título a Receber que originou a comissão |
BusinessContent | AccountReceivableDocumentPrefix | Não | Prefixo do Título a Receber que originou a comissão |
BusinessContent | AccountReceivableDocumentNumber | Não | Número do Título a Receber que originou a comissão |
BusinessContent | AccountReceivableDocumentParcel | Não | Parcela do Título a Receber que originou a comissão |
BusinessContent | AccountReceivableDocumentTypeCode | Não | Tipo do Título a Receber que originou a comissão |
BusinessContent | CustomerVendorInternalId | Não | Identificador único do Cliente do título a Receber que originou a comissão |
BusinessContent | CustomerVendorCode | Não | Código do Cliente do título a Receber que originou a comissão |
BusinessContent | CustomerVendorStore | Não | Loja do Cliente do título a Receber que originou a comissão |
BusinessContent | IssueDate | Não | Data de Emissão da Comissão |
BusinessContent | BaseValue | Não | Valor Base da Comissão |
BusinessContent | SalesChargePercentage | Não | Percentual de comissão sobre valor base |
BusinessContent | Value | Não | Valor da Comissão |
BusinessContent | DueDate | Não | Data de Vencimento da Comissão |
BusinessContent | Currency | Não | Moeda da Comissão |
ReturnContent | ListOfInternalId | Não | Lista de InternalIds gerados no cadastro |
Anexos:
Exemplo - ExecAuto de Comissões
Tabelas Utilizadas
- SA1 – Clientes
- SA2 – Fornecedores
- SA3 – Vendedores
- SE1 – Títulos a receber
- SE3 – Comissão de Vendas
- AI0 – Complementos de Clientes
- FLY – RPS x NFe
- SF3 – Livros Fiscais
- SFT – Livro Fiscal por Item de NF
- CF8 – Demais Docs. Pis Cofins
Protótipo de Tela
Protótipo 01 - Tela de Faturas de Hotelaria
Casos de Uso
UC 001 - Inclusão de Comissão vinculada à um título- Integração
Objetivo: Incluir registro de comissão (tabela SE3) vinculado à um contas a receber.
Pré-condição:
- Cadastro do adapter MATI490, para habilitar o recebimento da mensagem única SalesCharge (SigaCFG > Ambiente > Schedule > Adapter E.a.i.).
- Cadastro do de/para de empresa e filial utilizada na integração entre os sistemas Protheus e CMNet (SigaCFG > Ambiente > Schedule > Emp Filial mensagem única).
- Cadastro de Cliente integrado ao CMNet (UC XXX);
- Cadastro de Título a Receber integrado ao CMNet (UC XXX);
- Cadastro de Vendedor integrado ao CMNet (UC XXX);
Inicializador:
- CMNet.
Fluxo Básico de Eventos:
1.0 Acessar o sistema CMNet e realizar o processo de geração de comissão vinculada à um movimento de contas a receber;
1.1 O sistema deverá se comunicar com o Protheus, enviando a mensagem única de comissões;
2.0 Verificar no Monitor EAI, do Protheus, se a mensagem foi recebida e processada com sucesso (SigaCFG > Ambiente > Schedule > Schedule > Monitor E.a.i.)..
2.1 Verificar na tela de Manutenção de Comissão se o registro foi gravado com sucesso (SigaFIN > Atualizações > Comissões > Manutenção das comissões)..
2.2 Verificar se o de/para foi gravado com sucesso, relacionando os códigos de ambos os sistemas na rotina De/Para de mensagem única (SigaCFG > Ambiente > Schedule > De/Para de mensagem única).
Fim do caso de uso
UC 002 - Inclusão de Comissão vinculada à Fatura de hotel - Integração
Objetivo: Incluir registro de comissão (tabela SE3) vinculado à uma Fatura de hotel.
Pré-condição:
- Cadastro do adapter MATI490, para habilitar o recebimento da mensagem única SalesCharge (SigaCFG > Ambiente > Schedule > Adapter E.a.i.).
- Cadastro do de/para de empresa e filial utilizada na integração entre os sistemas Protheus e CMNet (SigaCFG > Ambiente > Schedule > Emp Filial mensagem única).
- Cadastro de Cliente integrado ao CMNet (UC XXX);
- Cadastro de Fatura de Hotel integrado ao CMNet (UC XXX);
- Cadastro de Vendedor integrado ao CMNet (UC XXX);
Inicializador:
- CMNet.
Fluxo Básico de Eventos:
1.0 Acessar o sistema CMNet e realizar o processo de geração de comissão vinculada à uma fatura;
1.1 O sistema deverá se comunicar com o Protheus, enviando a mensagem única de comissões;
2.0 Verificar no Monitor EAI, do Protheus, se a mensagem foi recebida e processada com sucesso (SigaCFG > Ambiente > Schedule > Schedule > Monitor E.a.i.);
2.1 Verificar na tela de Manutenção de Comissão se o registro foi gravado com sucesso e se está vinculado a um título a receber (SigaFIN > Atualizações > Comissões > Manutenção das Comissões);
2.2 Verificar se o de/para foi gravado com sucesso, relacionando os códigos de ambos os sistemas na rotina De/Para de mensagem única (SigaCFG > Ambiente > Schedule > De/Para de mensagem única).
Fim do caso de uso
UC 003 - Alteração de Comissão - Integração
Objetivo: Alterar dados do registro de comissão já integrado.
Pré-condição:
- Execução do caso de uso UC 001 ou UC 002.
Inicializador:
- CMNet.
Fluxo Básico de Eventos:
1.0 Acessar o sistema CMNet e realizar o processo de alteração de comissão;
1.1 O sistema deverá se comunicar com o Protheus, enviando a mensagem única de comissões;
2.0 Verificar no Monitor EAI, do Protheus, se a mensagem foi recebida e processada com sucesso (SigaCFG > Ambiente > Schedule > Schedule > Monitor E.a.i.);
2.1 Verificar na tela de Manutenção de Comissão se as alterações do registro foram gravadas com sucesso (SigaFIN > Atualizações > Comissões > Manutenção das Comissões).
Fim do caso de uso
UC 004 - Alteração de Comissão Manualmente no backoffice
Objetivo: Validar bloqueio de alteração de dados do registro de comissão, já integrado, de forma manual no Protheus através da rotina de manutenção de comissões.
Pré-condição:
- Execução do caso de uso UC 001 ou UC 002.
Inicializador:
- Protheus Financeiro.
Fluxo Básico de Eventos:
1.0 Acessar a rotina de Manutenção de Comissões (SigaFIN > Atualizações > Comissões > Manutenção das Comissões);
1.1 Selecionar um registro de comissão que tenha sido gerado no CMNet e integrado ao Protheus;
1.2 Clicar em Alterar;
1.3 Deverá ser exibido um alerta informando que não será possível alterar esse registro, pois sua origem é externa ao sistema (integração).
Fim do caso de uso
UC 005 - Exclusão de Comissão - Integração
Objetivo: Excluir registro de comissão já integrado.
Pré-condição:
- Execução do caso de uso UC 001 ou UC 002.
Inicializador:
- CMNet.
Fluxo Básico de Eventos:
1.0 Acessar o sistema CMNet e realizar o processo de exclusão de comissão;
1.1 O sistema deverá se comunicar com o Protheus, enviando a mensagem única de comissões, com operação DELETE;
2.0 Verificar no Monitor EAI, do Protheus, se a mensagem foi recebida e processada com sucesso (SigaCFG > Ambiente > Schedule > Schedule > Monitor E.a.i.);
2.1 Verificar na tela de Manutenção de Comissão se o registro foi excluído com sucesso (SigaFIN > Atualizações > Comissões > Manutenção das Comissões).
Fim do caso de uso
UC 006 - Exclusão de Comissão Manualmente no backoffice
Objetivo: Validar bloqueio de exclusão de dados do registro de comissão, já integrado, de forma manual no Protheus através da rotina de manutenção de comissões.
Pré-condição:
- Execução do caso de uso UC 001 ou UC 002.
Inicializador:
- Protheus Financeiro.
Fluxo Básico de Eventos:
1.0 Acessar a rotina de Manutenção de Comissões (SigaFIN > Atualizações > Comissões > Manutenção das Comissões);
1.1 Selecionar um registro de comissão que tenha sido gerado no CMNet e integrado ao Protheus;
1.2 Clicar em Excluir;
1.3 Deverá ser exibido um alerta informando que não será possível excluir esse registro, pois sua origem é externa ao sistema (integração).
Fim do caso de uso
UC 007 - Recálculo de Comissão no backoffice
Objetivo: Validar bloqueio de recálculo dos registros de comissão, já integrados, através da rotina de recálculo de comissões do Protheus.
Pré-condição:
- Execução do caso de uso UC 001 ou UC 002.
Inicializador:
- Protheus Financeiro.
Fluxo Básico de Eventos:
1.0 Acessar a rotina de Recálculo de Comissões (SigaFIN > Miscelanea > Recalculos > Recálculo de Comissão);
1.1 Configurar os parâmetros da rotina com dados coerentes aos registros de comissão que foram integrados;
1.2 Executar o processo de recálculo;
1.3 Validar se não houve nenhuma alteração nos dados das comissões integradas, através da rotina de manutenção de comissões (SigaFIN > Atualizações > Comissões > Manutenção das Comissões).
Fim do caso de uso
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|