Mudanças entre as edições de "Taxa de câmbio por item"

De GeoSales
Ir para navegação Ir para pesquisar
(Pequenas correções na descrição da tabela '''FAIXA_PRECO_MOEDA''')
 
(64 revisões intermediárias por 4 usuários não estão sendo mostradas)
Linha 7: Linha 7:
 
|  14/05/2018  ||  Ryvane Maria  ||  Criação do Documento  
 
|  14/05/2018  ||  Ryvane Maria  ||  Criação do Documento  
 
|-
 
|-
 +
|  23/05/2018  ||  Marcus Fábio Salviano  ||  Aprovação Desenvolvimento
 +
|-
 +
|  03/08/2018  ||  Ryvane Maria  ||  Alteração do Documento segundo solicitação do cliente
 +
|-
 +
|  13/09/2018  ||  Ryvane Maria  ||  Incluindo a tabela FAIXA_PRECO_MOEDA.
 +
|-
 +
|  13/09/2018  ||  Jefferson Quesado ||  Pequenas correções na descrição da tabela '''FAIXA_PRECO_MOEDA'''.
 
|}
 
|}
  
 
== Necessidade ==
 
== Necessidade ==
  
São comercializados itens em diferentes tipos de moedas, principalmente Euro e Dólar. É necessário que o sistema esteja apto a processar esse tipo de pedido com várias moedas.
+
São comercializados itens que podem ser convertidos em diferentes tipos de moedas, principalmente Euro e Dólar. É necessário que o sistema esteja apto a processar esse tipo de pedido, explicitando o valor, item a item, em várias moedas.
  
Para que isso ocorra, deve-se permitir ao usuário inserir itens com diferentes taxas de cambio, para diferentes tipos de moeda, no momento do cadastro do pedido.
+
Alguns produtos tem seu valor de tabela de preço dado em moeda estrangeira, sendo assim, o GeoSales deve, após o vendedor informar o valor (dado em moeda estrangeira), converter este valor e inserir o valor do produto, em real, no pedido. Desta forma, o vendedor deverá digitar o valor do produto, que deve ser sinalizado a respeito da sua moeda, visualizando então o valor em moeda estrangeira, e realizando a negociação daquele produto.
  
No momento da tiragem do pedido, o sistema deve apresentar o valor total dos produtos, tanto em real, quanto na moeda estrangeira referente aquele item, possibilitando que o usuário visualize os distintos valores, sob aplicação de diferentes taxas de câmbio, para aquele produto, de acordo com a cotação diária daquela moeda.
+
No momento da tiragem do pedido, o sistema deve apresentar o valor total dos produtos, tanto em real, quanto em outras moedas, possibilitando que o usuário visualize os distintos valores, sob aplicação de diferentes taxas de câmbio, para aquele produto, de acordo com a cotação diária daquela moeda.
  
 
== Solução ==  
 
== Solução ==  
  
Será criado um CRUD para possibilitar o cadastro das informações de moedas, além disso, esse cadastro poderá ser carregado também através de integração. Nesse cadastro poderão ser inseridos o nome da moeda, o seu símbolo e a sua taxa de câmbio.
+
Inicialmente, deverão ser cadastradas no ERP as informações de moedas e suas taxas de câmbio. Essas informações serão trazidas para o GeoSales através de integração. Nesse cadastro poderão ser inseridos dados como o nome da moeda, o seu símbolo e a sua taxa de câmbio. Essa situação permitirá a inclusão de outras moedas de forma fácil, colaborando na manutenção dos dados.
  
A moeda que definirá o produto será sinalizada através do campo “moeda” na tabela de produtos.  
+
Serão integradas as informações da tabela de preço cadastradas na tabela padrão (DA1) de vendas do protheus, bem como o tipo da moeda que aquele produto será aplicado. No momento da criação do pedido, o valor trazido será utilizado como base para que, a partir do valor digitado (em moeda estrangeira) pelo vendedor, seja convertido para real, e inserido no pedido. O vendedor será informado, no momento da inserção do item, a respeito da moeda que aquele produto deve ser trabalhado.  
  
No momento do pedido, na tela da decomposição do produto, o GeoSales irá mostrar o valor em dólar, em euro e em reais, para todos os produtos. O usuário poderá visualizar também a data e a hora da alteração da taxa de câmbio.  
+
É importante salientar que o valor trazido da tabela de vendas já deverá ser o valor correspondente a sua moeda de venda. (Por exemplo, um produto que cuja venda é feita em dólar, caso seu valor na tabela de venda seja 3,65 o Geosales entenderá que se trata de 3,65 dólares, e realizará a devida conversão ao inserir o item no pedido).
  
Isso permitirá inclusão de outras moedas de forma fácil, colaborando na manutenção dos dados.  
+
No momento da criação do pedido, na tela da decomposição do produto, o GeoSales irá mostrar o valor em dólar, em euro e em reais, para todos os produtos. O usuário poderá visualizar também a data e a hora da alteração da taxa de câmbio de cada moeda.
O valor final do pedido será dado sempre em Reais. (Moeda local)
+
 
 +
As informações do valor do produto em moeda estrangeira serão persistidas, de acordo com a moeda cadastrada para o produto, e enviadas ao ERP.
 +
 
 +
É importante salientar que valor final do pedido deve ser dado sempre em Real.
  
 
== Implementação ==
 
== Implementação ==
 
  
 
'''- Criação de uma configuração com a finalidade de informar a existência de diferentes moedas:'''
 
'''- Criação de uma configuração com a finalidade de informar a existência de diferentes moedas:'''
  
Será criada configuração para ativar a funcionalidade de cálculo do valor do pedido por taxa de câmbio.
+
Será criada configuração para ativar a funcionalidade de visualização do valor dos itens por taxa de câmbio.
  
Caso esta configuração esteja ativa, o sistema deverá seguir os passos descritos neste documento.  
+
Caso esta configuração esteja ativa, o sistema deverá exibir informações de moeda na decomposição de preço.  
  
 
A configuração, chamada de 'UTILIZA_MOEDA_ESTRANGEIRA', poderá receber os valores 'S', para ativá-la, ou 'N', para desativá-la. O valor default para essa configuração é 'N'.
 
A configuração, chamada de 'UTILIZA_MOEDA_ESTRANGEIRA', poderá receber os valores 'S', para ativá-la, ou 'N', para desativá-la. O valor default para essa configuração é 'N'.
  
'''- Criação de um CRUD com a finalidade de cadastrar as informações de moeda:'''
+
'''- Integração das informações de taxa de câmbio cadastradas no ERP:'''
  
Inicialmente, será necessário criar um CRUD, com a finalidade de cadastar as informações de moeda. Neste cadastro poderão ser inseridos o nome da moeda (por exemplo: real), a sua sigla (por exemplo: RE, para real, DL para dólar e etc.) e a sua taxa de câmbio (valor que será utilizado para realizar a conversão de moeda).  
+
No ERP, a tabela SM2 será integrada com a finalidade de atualizar a taxa de câmbio. É desta tabela que o GeoSales irá trazer a informação de taxa de câmbio, para converter os valores emitidos em moeda estrangeira para real.
  
É importante salientar que, inserindo as informações de moeda neste cadastro, o valor da taxa de câmbio será fixo e não será atualizado diariamente, da mesma forma que seria caso o dado fosse cadastrado no ERP.
+
As informações de taxa de câmbio da tabela SM2 do ERP serão salvas na tabela TIPO_MOEDA do GeoSales.  
  
'''- Integração das informações de moeda cadastradas no ERP:'''
+
Além disso, deverá ser criado um campo para salvar a data de atualização da taxa de câmbio para uma moeda específica. Este campo deverá ser atualizado sempre que a taxa de câmbio for integrada.
  
No ERP, a tabela SM2 será integrada com a finalidade de atualizar a taxa de câmbio. É desta tabela que o GeoSales irá trazer a informação de taxa de câmbio, para converter os valores emitidos em moeda estrangeira para real.
+
{| class="wikitable"
 
+
! colspan="5"  | TIPO_MOEDA
As informações de taxa de câmbio da tabela SM2 do ERP serão salvas na tabela XXXXXX do GeoSales.  
+
|-
 
+
! style="width:200px" |Coluna
'''- Associando a moeda que será utilizada para um produto específico:'''
+
! Tipo
 +
! style="width:200px" |Obrigatório
 +
! style="width:300px" |Chave Primária
 +
! style="width:300px" |Explicação
 +
|-
 +
| DT_ATUALIZACAO_MOEDA
 +
| DATETIME
 +
| NAO
 +
| NAO
 +
| Data da última atualização da taxa de câmbio.
 +
|-
 +
|}
  
A associação produto x moeda deverá ser feita exclusivamente no ERP. É necessário que, na tabela de produto, seja associado, produto a produto uma moeda especificando qual taxa de câmbio será utilizada para este produto específico.
+
'''- Integração das informações de moeda associada ao produto no ERP:'''
  
Essa associação será trazida do ERP através do campo XXXXXX da tabela XXXXXX, e salva no ambiente geosales, no campo MOEDA da tabela PRODUTO.
+
Serão integradas as informações da tabela de preço cadastradas na tabela padrão (DA1) de vendas do protheus, e, associada ao produto, deverá ser trazido o tipo da moeda que aquele produto será aplicado.
  
Para viabilizar essa situação, é necessário incluir um campo para associar a moeda a ser utilizada, na tabela PRODUTO.
+
A informação da moeda, associada ao produto no campo DA1_MOEDA da tabela de vendas DA1 deverá ser salva no campo DS_SIGLA_MOEDA que será criado com esta finalidade da tabela FAIXA_PRECO_MOEDA, para determinar o preço daquele produto, na sua respectiva moeda.
  
 
{| class="wikitable"
 
{| class="wikitable"
! colspan="5"  | PRODUTO
+
! colspan="5"  | FAIXA_PRECO_MOEDA
 
|-
 
|-
! style="width:150px" |Coluna
+
! style="width:200px" |Coluna
 
! Tipo
 
! Tipo
! style="width:150px" |Obrigatório
+
! style="width:200px" |Obrigatório
! style="width:150px" |Chave Primária
+
! style="width:300px" |Chave Primária
! style="width:250px" |Explicação
+
! style="width:300px" |Explicação
 
|-  
 
|-  
| CD_TIPO_MOEDA
+
| CD_SEQUENCIAL || VARCHAR || SIM || SIM || Código do sequencial
| INT
+
|-
| NAO
+
| QT_MIN_FAIXA || VARCHAR || SIM || SIM || Quantidade mínima dessa faixa de escalonamento
| NAO
+
|-
| Moeda prevalente na venda do produto.
+
| DS_SIGLA_MOEDA || VARCHAR || SIM || SIM || Moeda de venda
 +
|-
 +
| VR_PRECO_MINIMO || VARCHAR || SIM || NÃO || Valor mínimo dessa faixa de escalonamento
 +
|-
 +
| VR_PRECO_SUGERIDO || VARCHAR || SIM || NÃO || Valor sugerido dessa faixa de escalonamento
 +
|-
 +
| VR_PRECO_MAXIMO || VARCHAR || SIM || NÃO || Valor máximo dessa faixa de escalonamento
 
|-
 
|-
 
|}
 
|}
  
'''- Tratar a possibilidade de usar de diversas moedas na tiragem do pedido:'''
+
Veja os [http://sync.geosalesmobile.com:8185/erp-importer/sandbox/self-conscious/faixa_preco_moeda.json metadados da tabela]
 +
 
 +
'''- Converter o valor da moeda ao inserir o item no pedido:'''
 +
 
 +
Será informado ao vendedor no momento da inserção do item a moeda em que aquele produto deve ser trabalhado. Desta forma, o vendedor pode ter a ciência de que a quantidade inserida refletirá no valor do produto em dólar/euro.
 +
 
 +
É importante salientar que, apesar de ser inserido seu valor em moeda estrangeira, ao passo da inserção do item no pedido, esse valor será convertido, de acordo com a quantidade digitada, no valor total do produto em reais, e então inserido no pedido.
 +
 
 +
Por exemplo: O vendedor, na inserção dos dados do produto, seleciona um item, e este item tem como valor '4,50'. O campo DS_SIGLA_MOEDA da tabela FAIXA_PRECO_MOEDA define que este produto é vendido em dólar. Isso quer dizer que o valor deste produto é de 4,50 dólares. O vendedor digita então a quantidade desejada e, ao inserir este item no pedido seu valor é convertido para a moeda 'real' de acordo com a última taxa de câmbio cadastrada na tabela TIPO_MOEDA para a respectiva moeda do produto. Deste modo, o item inserido será visualizado no pedido sempre na moeda padrão 'real'.
 +
 
 +
É importante salientar que o valor do item só será convertido para real quando este item for inserido no pedido.
 +
 
 +
'''- Tratar a possibilidade de visualizar o valor dos itens em uma moeda estrangeira, uma na tiragem do pedido:'''
  
 
No momento da tiragem do pedido, o usuário irá realizar o fluxo usual de cadastro de cabeçalho de pedido e de inserção de itens, porém, ao selecionar um novo item para ser inserido no pedido, e definir a quantidade que será inserida, o sistema deverá realizar os seguintes passos:  
 
No momento da tiragem do pedido, o usuário irá realizar o fluxo usual de cadastro de cabeçalho de pedido e de inserção de itens, porém, ao selecionar um novo item para ser inserido no pedido, e definir a quantidade que será inserida, o sistema deverá realizar os seguintes passos:  
  
  1) Verificar a moeda daquele produto(Euro, Dólar, Real, etc) na tabela PRODUTO, através do campo CD_MOEDA;
+
  1) As taxas de câmbio utilizadas serão integradas da tabela SM2 do ERP e cada moeda será associada a sua taxa de câmbio;
2) Baseado na moeda definida nesta tabela, deverá ser feita a conversão desta moeda para real. A taxa de câmbio utilizada será integrada da tabela SM2 do ERP e cada moeda será associada a sua taxa de câmbio;
+
  2) Deverá ser feita a conversão do valor de cada item, para todas as moedas cadastradas. Com a finalidade de exibir na pop-up de decomposição do preço.
  3) Capturando a informação de taxa de câmbio, o sistema deverá realizar essa conversão, pois o valor do pedido será dado em reais, ou seja, antes de adicionar o valor do item ao pedido, este deverá ser convertido para real.  
+
  3) Da decomposição de preço, deverão ser criados novos campos que sinalizem o valor daquele item convertido em cadas moeda cadastrada.
  4) Apesar de ser somado ao valor final do pedido o total em Real dos itens, o usuário irá visualizar, item a item, na tela de pedido, o valor digitado na sua moeda original, seja ela Euro, Dólar, Real ou outra qualquer.
+
 
 +
Deverão ser disponibilizadas para visualização as informações de descrição da moeda (por exemplo: Dólar), símbolo (Por exemplo: $), taxa de câmbio, sua data de atualização, e valor total daquele item convertido nesta moeda.
 +
 
 +
Para que isso ocorra, será necessário inserir alguns campos na tela de decomposição do preço, como pode-se visualizar no protótipo abaixo:
  
'''- Sinalizar a existência de itens com moeda estrangeiras no pedido:'''
+
[[Arquivo:Decomposicao taxas cambio.png]]
  
Para sinalizar que aquele pedido possuem itens com moeda estrangeira, será criada uma flag, na tabela PEDIDO, chamada ID_MOEDA_ESTRANGEIRA, que será setada com o valor 'S' caso haja itens com moeda estrangeira no pedido, ou 'N' caso não hajam. Esse campo assumirá o valor 'N' no caso de nulidade.  
+
Deve ser possível visualizar, nesta tela, as informações de moeda daquele item, além da data de atualização da taxa de câmbio.
  
Para viabilizar essa situação, é necessário incluir um campo para salvar essa flag, na tabela PEDIDO.
+
É importante salientar que essas informações são exclusivamente informativas, ou seja não vão interferir no valor final do pedido, que será dado em real, como já ocorre atualmente.
 +
 
 +
Além disso deve ser possível, também, visualizar a decomposição de preço antes de inserir um item no pedido, tal qual o protótipo abaixo:
 +
 
 +
[[Arquivo:Decomposicao taxas cambio item.png]]
 +
 
 +
'''- Enviar ao ERP informação do valor de itens na sua moeda estrangeira: '''
 +
 
 +
Serão criados dois novos campos na tabela ITEM_PEDIDO, com a finalidade de persistir o valor de venda em moeda estrangeira do item, e qual a sua moeda de aplicação.
  
 
{| class="wikitable"
 
{| class="wikitable"
! colspan="5"  | PEDIDO
+
! colspan="5"  | ITEM_PEDIDO
 
|-
 
|-
! style="width:150px" |Coluna
+
! style="width:200px" |Coluna
 
! Tipo
 
! Tipo
! style="width:150px" |Obrigatório
+
! style="width:200px" |Obrigatório
! style="width:150px" |Chave Primária
+
! style="width:300px" |Chave Primária
! style="width:250px" |Explicação
+
! style="width:300px" |Explicação
 
|-  
 
|-  
| ID_MOEDA_ESTRANGEIRA
+
| DS_SIGLA_MOEDA || VARCHAR(50) || NAO || NAO || Descrição da moeda de venda do produto.
| INT
+
|-
| NAO
+
| VR_ITEM_MOEDA || DECIMAL || NAO || NAO || Valor do item em moeda estrangeira.
| NAO
+
|-
| Flag que define se o pedido possui moeda estrangeira.
+
|}
 +
 
 +
{| class="wikitable"
 +
! colspan="5"  | ITEM_PEDIDO_RETORNO
 +
|-
 +
! style="width:200px" |Coluna
 +
! Tipo
 +
! style="width:200px" |Obrigatório
 +
! style="width:300px" |Chave Primária
 +
! style="width:300px" |Explicação
 +
|-
 +
| DS_SIGLA_MOEDA || VARCHAR(50) || NAO || NAO || Descrição da moeda de venda do produto.
 +
|-
 +
| VR_ITEM_MOEDA || DECIMAL || NAO || NAO || Valor do item em moeda estrangeira.
 
|-
 
|-
 
|}
 
|}
  
Informado que o pedido contém moeda estrangeira, será enviado através da tabela ITEM_PEDIDO no campo VR_ITEM_MOEDA_ESTRANGEIRA a taxa de câmbio utilizada para realizar a conversão de moeda deste item. (O valor da taxa de câmbio da moeda, trazido da tabela SM2)
+
O campo DS_SIGLA_MOEDA irá salvar a informação da moeda estrangeira que foi aplicada para aquele item (a mesma associada ao item, cadastrada na tabela FAIXA_PRECO_MOEDA). O campo VR_ITEM_MOEDA irá persistir a informação de valor do item na moeda estrangeira respectiva, também cadastrado na tabela FAIXA_PRECO_MOEDA. É importante salientar que estes dados se tratam do valor aplicado naquela venda, ou seja, a moeda e o valor cadastrado na tabela FAIXA_PRECO_MOEDA no momento da inserção do item.
 +
 
 +
Essas informações serão integradas junto a tabela de ITEM_PEDIDO, e, quando a moeda do item for diferente de real, o valor do item (em moeda estrangeira) enviado será o contido no campo VR_ITEM_MOEDA.
  
----
+
O campo referente a moeda, DS_SIGLA_MOEDA será salvo no campo UB_MOEDKG do ERP. O campo referente a =o valor do item em moeda estrangeira VR_ITEM_MOEDA será salvo no campo UB_PRCKG do ERP.
  
salvar na tabela a taxa de cambio real como se fosse o valor 1
+
'''Obs.: Todos os protótipos acima são meramente ilustrativos e, no momento do desenvolvimento, podem sofrer alguma alteração, em virtude de viabilidade técnica.'''
  
 
== Regras de Negócio ==
 
== Regras de Negócio ==
  
'''RN1 - ''' O cadastro de uma moeda específica sobrepõe qualquer possível integração dessa informação. Isso significa que, mesmo que este dado tenha sido integrado do ERP, caso seja cadastrada uma moeda no portal, a taxa de câmbio que será utilizada para conversão será a cadastrada pelo usuário.  
+
'''RN1 - ''' O valor final do final do pedido será calculado sempre na moeda padrão, ou seja, Real.
 +
 
 +
'''RN2 - ''' O campo DT_ATUALIZACAO_MOEDA deve ser setado com a data de cada atualização de taxa de câmbio.
  
'''RN2 - ''' Um produto só pode ter uma moeda associada a ele.  
+
'''RN3 - ''' A informação da tabela de preço será integrada sem necessidade de realizar conversão da moeda, ou seja, o valor cadastrado na tabela de preço do produto no ERP deve ser o valor já convertido para moeda estrangeira e será aplicado diretamente no preço do produto. Ao inserir o produto no pedido, o valor deste produto será convertido para real, caso ele seja um produto com moeda estrangeira.
  
'''RN3 - ''' Caso não haja nenhuma moeda vinculada a um determinado produto no ERP, ou nenhum cadastro de moeda relacionado a este produto no GeoSales, será utilizada a moeda padrão local, ou seja, real.
+
'''RN4 - ''' Este levantamento não contempla alteração em nenhum relatório do Geosales. Portanto, os relatórios que envolvem informações a respeito dos valores do item do pedido serão dados em moeda local (real), e não serão exibidas informações a respeito de outras moedas ou de taxa de câmbio.
  
'''RN4 - ''' Caso a moeda do produto for a moeda local, ou seja, real, não será necessária realizar a conversão de moeda. (Deixar o cálculo padrão com taxa de câmbio igual a 1 é uma opção)
+
'''RN5 - ''' Após inserir o item no pedido, sob este item constará o valor em real convertido. Porém, o usuário poderá visualizar o valor em euro e dólar aplicado sob o item na tela de decomposição do preço.
 +
 
 +
'''RN6 - ''' A taxa de câmbio utilizada para conversão dos valores dos itens será data pela taxa vigente no dia da inserção do item.
 +
 
 +
'''RN7 - ''' Será possível que, num mesmo pedido, sejam incluídos produtos com diferentes moedas.
 +
 
 +
'''RN8 - ''' Um produto só poderá ser associado a uma única moeda. Isso significa que um produto não poderá ser vendido em duas moedas, mesmo que para clientes diferentes.
 +
 
 +
'''RN9 - ''' Caso o usuário deseje editar um item já inserido, o GeoSales trará o valor de tabela de preço atual para aquele item.
 +
 
 +
'''RN10 - ''' Só será exibido, na decomposição de preço, o valor em diferentes moedas, caso exista uma taxa de câmbio cadastrada para a respectiva moeda.
 +
 
 +
'''RN11 - ''' Caso o valor da taxa de câmbio da tabela SM2 do ERP seja igual a zero, este valor não deve ser integrado. Isso tem como finalidade preservar a ultima taxa de câmbio válida cadastrada.
  
 
== Aprovação ==
 
== Aprovação ==
  
 
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.  
 
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.  
 +
 +
=== GeoSales ===
 +
 +
{| class="wikitable"
 +
! style="width:200px" |Setor
 +
! style="width:180px" |Aprovado Por
 +
! style="width:100px" |Data
 +
|-
 +
| Desenvolvimento - GeoSales || Anderson Gomes || 06/08/2018
 +
|-
 +
| Integração - GeoSales || Carlos Robson || 06/08/2018
 +
|-
 +
|}
 +
 +
=== Empresa solicitante ===
  
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="width:200px" |Setor  
 
! style="width:200px" |Setor  
 
! style="width:180px" |Aprovado Por
 
! style="width:180px" |Aprovado Por
! style="width:200px" |Data
+
! style="width:100px" |Data
! style="width:300px" |Assinatura
+
! style="width:200px" |Assinatura
 +
|-
 +
| Gerente TI - Cliente        ||  ||  ||
 
|-  
 
|-  
| Gerente TI
+
| Gerente de Projeto - Cliente || ||  ||
|  
 
|
 
|
 
 
|-  
 
|-  
| Gerente Projeto
+
| Gerente Comercial - Cliente  || ||  ||
|  
 
|
 
|
 
 
|-  
 
|-  
| Gerente Comercial
 
|
 
|
 
|
 
 
|}
 
|}

Edição atual tal como às 17h47min de 13 de setembro de 2018

Histórico de Revisões

Data Quem Comentários
14/05/2018 Ryvane Maria Criação do Documento
23/05/2018 Marcus Fábio Salviano Aprovação Desenvolvimento
03/08/2018 Ryvane Maria Alteração do Documento segundo solicitação do cliente
13/09/2018 Ryvane Maria Incluindo a tabela FAIXA_PRECO_MOEDA.
13/09/2018 Jefferson Quesado Pequenas correções na descrição da tabela FAIXA_PRECO_MOEDA.

Necessidade

São comercializados itens que podem ser convertidos em diferentes tipos de moedas, principalmente Euro e Dólar. É necessário que o sistema esteja apto a processar esse tipo de pedido, explicitando o valor, item a item, em várias moedas.

Alguns produtos tem seu valor de tabela de preço dado em moeda estrangeira, sendo assim, o GeoSales deve, após o vendedor informar o valor (dado em moeda estrangeira), converter este valor e inserir o valor do produto, em real, no pedido. Desta forma, o vendedor deverá digitar o valor do produto, que deve ser sinalizado a respeito da sua moeda, visualizando então o valor em moeda estrangeira, e realizando a negociação daquele produto.

No momento da tiragem do pedido, o sistema deve apresentar o valor total dos produtos, tanto em real, quanto em outras moedas, possibilitando que o usuário visualize os distintos valores, sob aplicação de diferentes taxas de câmbio, para aquele produto, de acordo com a cotação diária daquela moeda.

Solução

Inicialmente, deverão ser cadastradas no ERP as informações de moedas e suas taxas de câmbio. Essas informações serão trazidas para o GeoSales através de integração. Nesse cadastro poderão ser inseridos dados como o nome da moeda, o seu símbolo e a sua taxa de câmbio. Essa situação permitirá a inclusão de outras moedas de forma fácil, colaborando na manutenção dos dados.

Serão integradas as informações da tabela de preço cadastradas na tabela padrão (DA1) de vendas do protheus, bem como o tipo da moeda que aquele produto será aplicado. No momento da criação do pedido, o valor trazido será utilizado como base para que, a partir do valor digitado (em moeda estrangeira) pelo vendedor, seja convertido para real, e inserido no pedido. O vendedor será informado, no momento da inserção do item, a respeito da moeda que aquele produto deve ser trabalhado.

É importante salientar que o valor trazido da tabela de vendas já deverá ser o valor correspondente a sua moeda de venda. (Por exemplo, um produto que cuja venda é feita em dólar, caso seu valor na tabela de venda seja 3,65 o Geosales entenderá que se trata de 3,65 dólares, e realizará a devida conversão ao inserir o item no pedido).

No momento da criação do pedido, na tela da decomposição do produto, o GeoSales irá mostrar o valor em dólar, em euro e em reais, para todos os produtos. O usuário poderá visualizar também a data e a hora da alteração da taxa de câmbio de cada moeda.

As informações do valor do produto em moeda estrangeira serão persistidas, de acordo com a moeda cadastrada para o produto, e enviadas ao ERP.

É importante salientar que valor final do pedido deve ser dado sempre em Real.

Implementação

- Criação de uma configuração com a finalidade de informar a existência de diferentes moedas:

Será criada configuração para ativar a funcionalidade de visualização do valor dos itens por taxa de câmbio.

Caso esta configuração esteja ativa, o sistema deverá exibir informações de moeda na decomposição de preço.

A configuração, chamada de 'UTILIZA_MOEDA_ESTRANGEIRA', poderá receber os valores 'S', para ativá-la, ou 'N', para desativá-la. O valor default para essa configuração é 'N'.

- Integração das informações de taxa de câmbio cadastradas no ERP:

No ERP, a tabela SM2 será integrada com a finalidade de atualizar a taxa de câmbio. É desta tabela que o GeoSales irá trazer a informação de taxa de câmbio, para converter os valores emitidos em moeda estrangeira para real.

As informações de taxa de câmbio da tabela SM2 do ERP serão salvas na tabela TIPO_MOEDA do GeoSales.

Além disso, deverá ser criado um campo para salvar a data de atualização da taxa de câmbio para uma moeda específica. Este campo deverá ser atualizado sempre que a taxa de câmbio for integrada.

TIPO_MOEDA
Coluna Tipo Obrigatório Chave Primária Explicação
DT_ATUALIZACAO_MOEDA DATETIME NAO NAO Data da última atualização da taxa de câmbio.

- Integração das informações de moeda associada ao produto no ERP:

Serão integradas as informações da tabela de preço cadastradas na tabela padrão (DA1) de vendas do protheus, e, associada ao produto, deverá ser trazido o tipo da moeda que aquele produto será aplicado.

A informação da moeda, associada ao produto no campo DA1_MOEDA da tabela de vendas DA1 deverá ser salva no campo DS_SIGLA_MOEDA que será criado com esta finalidade da tabela FAIXA_PRECO_MOEDA, para determinar o preço daquele produto, na sua respectiva moeda.

FAIXA_PRECO_MOEDA
Coluna Tipo Obrigatório Chave Primária Explicação
CD_SEQUENCIAL VARCHAR SIM SIM Código do sequencial
QT_MIN_FAIXA VARCHAR SIM SIM Quantidade mínima dessa faixa de escalonamento
DS_SIGLA_MOEDA VARCHAR SIM SIM Moeda de venda
VR_PRECO_MINIMO VARCHAR SIM NÃO Valor mínimo dessa faixa de escalonamento
VR_PRECO_SUGERIDO VARCHAR SIM NÃO Valor sugerido dessa faixa de escalonamento
VR_PRECO_MAXIMO VARCHAR SIM NÃO Valor máximo dessa faixa de escalonamento

Veja os metadados da tabela

- Converter o valor da moeda ao inserir o item no pedido:

Será informado ao vendedor no momento da inserção do item a moeda em que aquele produto deve ser trabalhado. Desta forma, o vendedor pode ter a ciência de que a quantidade inserida refletirá no valor do produto em dólar/euro.

É importante salientar que, apesar de ser inserido seu valor em moeda estrangeira, ao passo da inserção do item no pedido, esse valor será convertido, de acordo com a quantidade digitada, no valor total do produto em reais, e então inserido no pedido.

Por exemplo: O vendedor, na inserção dos dados do produto, seleciona um item, e este item tem como valor '4,50'. O campo DS_SIGLA_MOEDA da tabela FAIXA_PRECO_MOEDA define que este produto é vendido em dólar. Isso quer dizer que o valor deste produto é de 4,50 dólares. O vendedor digita então a quantidade desejada e, ao inserir este item no pedido seu valor é convertido para a moeda 'real' de acordo com a última taxa de câmbio cadastrada na tabela TIPO_MOEDA para a respectiva moeda do produto. Deste modo, o item inserido será visualizado no pedido sempre na moeda padrão 'real'.

É importante salientar que o valor do item só será convertido para real quando este item for inserido no pedido.

- Tratar a possibilidade de visualizar o valor dos itens em uma moeda estrangeira, uma na tiragem do pedido:

No momento da tiragem do pedido, o usuário irá realizar o fluxo usual de cadastro de cabeçalho de pedido e de inserção de itens, porém, ao selecionar um novo item para ser inserido no pedido, e definir a quantidade que será inserida, o sistema deverá realizar os seguintes passos:

1) As taxas de câmbio utilizadas serão integradas da tabela SM2 do ERP e cada moeda será associada a sua taxa de câmbio;
2) Deverá ser feita a conversão do valor de cada item, para todas as moedas cadastradas. Com a finalidade de exibir na pop-up de decomposição do preço.
3) Da decomposição de preço, deverão ser criados novos campos que sinalizem o valor daquele item convertido em cadas moeda cadastrada.

Deverão ser disponibilizadas para visualização as informações de descrição da moeda (por exemplo: Dólar), símbolo (Por exemplo: $), taxa de câmbio, sua data de atualização, e valor total daquele item convertido nesta moeda.

Para que isso ocorra, será necessário inserir alguns campos na tela de decomposição do preço, como pode-se visualizar no protótipo abaixo:

Decomposicao taxas cambio.png

Deve ser possível visualizar, nesta tela, as informações de moeda daquele item, além da data de atualização da taxa de câmbio.

É importante salientar que essas informações são exclusivamente informativas, ou seja não vão interferir no valor final do pedido, que será dado em real, como já ocorre atualmente.

Além disso deve ser possível, também, visualizar a decomposição de preço antes de inserir um item no pedido, tal qual o protótipo abaixo:

Decomposicao taxas cambio item.png

- Enviar ao ERP informação do valor de itens na sua moeda estrangeira:

Serão criados dois novos campos na tabela ITEM_PEDIDO, com a finalidade de persistir o valor de venda em moeda estrangeira do item, e qual a sua moeda de aplicação.

ITEM_PEDIDO
Coluna Tipo Obrigatório Chave Primária Explicação
DS_SIGLA_MOEDA VARCHAR(50) NAO NAO Descrição da moeda de venda do produto.
VR_ITEM_MOEDA DECIMAL NAO NAO Valor do item em moeda estrangeira.
ITEM_PEDIDO_RETORNO
Coluna Tipo Obrigatório Chave Primária Explicação
DS_SIGLA_MOEDA VARCHAR(50) NAO NAO Descrição da moeda de venda do produto.
VR_ITEM_MOEDA DECIMAL NAO NAO Valor do item em moeda estrangeira.

O campo DS_SIGLA_MOEDA irá salvar a informação da moeda estrangeira que foi aplicada para aquele item (a mesma associada ao item, cadastrada na tabela FAIXA_PRECO_MOEDA). O campo VR_ITEM_MOEDA irá persistir a informação de valor do item na moeda estrangeira respectiva, também cadastrado na tabela FAIXA_PRECO_MOEDA. É importante salientar que estes dados se tratam do valor aplicado naquela venda, ou seja, a moeda e o valor cadastrado na tabela FAIXA_PRECO_MOEDA no momento da inserção do item.

Essas informações serão integradas junto a tabela de ITEM_PEDIDO, e, quando a moeda do item for diferente de real, o valor do item (em moeda estrangeira) enviado será o contido no campo VR_ITEM_MOEDA.

O campo referente a moeda, DS_SIGLA_MOEDA será salvo no campo UB_MOEDKG do ERP. O campo referente a =o valor do item em moeda estrangeira VR_ITEM_MOEDA será salvo no campo UB_PRCKG do ERP.

Obs.: Todos os protótipos acima são meramente ilustrativos e, no momento do desenvolvimento, podem sofrer alguma alteração, em virtude de viabilidade técnica.

Regras de Negócio

RN1 - O valor final do final do pedido será calculado sempre na moeda padrão, ou seja, Real.

RN2 - O campo DT_ATUALIZACAO_MOEDA deve ser setado com a data de cada atualização de taxa de câmbio.

RN3 - A informação da tabela de preço será integrada sem necessidade de realizar conversão da moeda, ou seja, o valor cadastrado na tabela de preço do produto no ERP deve ser o valor já convertido para moeda estrangeira e será aplicado diretamente no preço do produto. Ao inserir o produto no pedido, o valor deste produto será convertido para real, caso ele seja um produto com moeda estrangeira.

RN4 - Este levantamento não contempla alteração em nenhum relatório do Geosales. Portanto, os relatórios que envolvem informações a respeito dos valores do item do pedido serão dados em moeda local (real), e não serão exibidas informações a respeito de outras moedas ou de taxa de câmbio.

RN5 - Após inserir o item no pedido, sob este item constará o valor em real convertido. Porém, o usuário poderá visualizar o valor em euro e dólar aplicado sob o item na tela de decomposição do preço.

RN6 - A taxa de câmbio utilizada para conversão dos valores dos itens será data pela taxa vigente no dia da inserção do item.

RN7 - Será possível que, num mesmo pedido, sejam incluídos produtos com diferentes moedas.

RN8 - Um produto só poderá ser associado a uma única moeda. Isso significa que um produto não poderá ser vendido em duas moedas, mesmo que para clientes diferentes.

RN9 - Caso o usuário deseje editar um item já inserido, o GeoSales trará o valor de tabela de preço atual para aquele item.

RN10 - Só será exibido, na decomposição de preço, o valor em diferentes moedas, caso exista uma taxa de câmbio cadastrada para a respectiva moeda.

RN11 - Caso o valor da taxa de câmbio da tabela SM2 do ERP seja igual a zero, este valor não deve ser integrado. Isso tem como finalidade preservar a ultima taxa de câmbio válida cadastrada.

Aprovação

Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.

GeoSales

Setor Aprovado Por Data
Desenvolvimento - GeoSales Anderson Gomes 06/08/2018
Integração - GeoSales Carlos Robson 06/08/2018

Empresa solicitante

Setor Aprovado Por Data Assinatura
Gerente TI - Cliente
Gerente de Projeto - Cliente
Gerente Comercial - Cliente