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''')
 
(59 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 ==  
  
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.
+
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).
  
A moeda que definirá o produto será sinalizada através do campo “moeda” na tabela de produtos.  
+
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.  
  
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.  
+
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.
  
Isso permitirá inclusão de outras moedas de forma fácil, colaborando na manutenção dos dados. É importante lembrar que valor final do pedido deve ser dado sempre em Real.
+
É importante salientar que valor final do pedido deve ser dado sempre em Real.
  
 
== Implementação ==
 
== Implementação ==
Linha 31: Linha 42:
 
'''- 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'.
  
'''- Integração das informações de moeda cadastradas no ERP:'''
+
'''- 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.
 
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.
Linha 43: Linha 54:
 
As informações de taxa de câmbio da tabela SM2 do ERP serão salvas na tabela TIPO_MOEDA do GeoSales.  
 
As informações de taxa de câmbio da tabela SM2 do ERP serão salvas na tabela TIPO_MOEDA do GeoSales.  
  
'''- Associando a moeda que será utilizada para um produto específico:'''
+
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.
 +
 
 +
{| class="wikitable"
 +
! colspan="5"  | TIPO_MOEDA
 +
|-
 +
! style="width:200px" |Coluna
 +
! 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(campo e tabela a definir com o cliente), 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 de conversão, 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:
 +
 
 +
[[Arquivo: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:
 +
 
 +
[[Arquivo:Decomposicao taxas cambio item.png]]
  
'''- Sinalizar a existência de itens com moeda estrangeiras no pedido:'''
+
'''- Enviar ao ERP informação do valor de itens na sua moeda estrangeira: '''
  
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.  
+
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.
  
Para viabilizar essa situação, é necessário incluir um campo para salvar essa flag, na tabela PEDIDO.
+
{| class="wikitable"
 +
! colspan="5"  | ITEM_PEDIDO
 +
|-
 +
! 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.
 +
|-
 +
|}
  
 
{| class="wikitable"
 
{| class="wikitable"
! colspan="5"  | PEDIDO
+
! colspan="5"  | ITEM_PEDIDO_RETORNO
 
|-
 
|-
! 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.
 
 
|-
 
|-
 
|}
 
|}
  
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.
  
Na tela de pedido, pequenos ajustes devem ser feitos de forma a sinalizar a existência de itens com diferentes taxas de câmbios, por exemplo:
+
'''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.'''
  
[[Arquivo:Pedidos diferentes moedas1.png]]
+
== Regras de Negócio ==
  
Nesta imagem podemos visualizar, através das setas em vermelhos, componentes de texto que irão ser alteradas conforme o símbolo referente a moeda que será utilizada naquele item.  
+
'''RN1 - ''' O valor final do final do pedido será calculado sempre na moeda padrão, ou seja, Real.
  
O preço unitário item a item poderá, então, ser dado em diversos tipos de moedas, conforme o cadastro no ERP, e precisará ser definido separadamente para cada item inserido no pedido.  
+
'''RN2 - ''' O campo DT_ATUALIZACAO_MOEDA deve ser setado com a data de cada atualização de taxa de câmbio.
  
É importante salientar que o valor final do item, com cálculo de impostos será dado em Real, bem como o valor final de pedido e todas as outras informações exibidas no pedido, como pode ser visualizado na imagem abaixo:
+
'''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.
  
[[Arquivo:Pedidos diferentes moedas2.png]]
+
'''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.
  
== Regras de Negócio ==
+
'''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.
  
'''RN1 - ''' Um produto só pode ter uma moeda associada a ele.  
+
'''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.
  
'''RN2 - ''' Caso não haja nenhuma moeda vinculada a um determinado produto no ERP será utilizada a moeda padrão local, ou seja, real.
+
'''RN10 - ''' 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.
  
'''RN3 - ''' 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)
+
'''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"
 
{| 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
+
|-
 +
| Desenvolvimento - GeoSales || Anderson Gomes || 06/08/2018
 +
|-
 +
| Integração - GeoSales || Carlos Robson || 06/08/2018
 +
|-
 +
|}
 +
 
 +
=== Empresa solicitante ===
 +
 
 +
{| class="wikitable"
 +
! style="width:200px" |Setor
 +
! style="width:180px" |Aprovado Por
 +
! style="width:100px" |Data
 +
! 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