Actualização de IVAS – Software Wintouch

29 Junho, 2010 por Almeno Rocha Deixar um comentário »

Como sabem a partir do dia 1 de Junho entram em vigor as novas taxas de IVA e para quem como eu tem que manter os sistemas de gestão de dezenas de clientes em funcionamento, sabe que é uma dor de cabeça.

Sendo assim vou deixar aqui uma ajuda para quem dá suporte a aplicações da WINTOUCH.

Todos sabem que no dia será impossivel passar em todos os clientes para fazer essa alteração, tanto é que uma grande parte dos clientes fecham dia 30 de Junho quase de madrugada e abrem dia 1 de Julho de manha.

Então a solução passa por criar uma query SQL com todas as alterações necessárias e um ficheiro .bat para executar no dia 1 de Julho antes de começar a Facturar.

Deixo aqui o que precisam fazer:

1-Criar um ficheiro chamado iva.bat com o seguinte código:

pause
sqlcmd -S .\sqlexpress -i sgw.iva.sql

pause

Tenham atenção que só funciona em SQL 2005 ou 2008, e se usarem outra estancia que não seja “sqlexpress” precisam alterar.

2-Caso seja wSir e usem o documento wsir.vdtxiva.cfd precisam alterar o mesmo, a minha sugestão vai para incluirem o seguinte código no ficheiro .bat :

@ echo off

setlocal

REM DIRECTORIA_* acaba com um \

set DIRECTORIA_=”C:\Programas\wintouch\SGW\mapas\”

ren %DIRECTORIA_%wsir.vdtxiva.cfd wsir.vdtxiva_old.cfd

ren %DIRECTORIA_%wsir.vdtxiva_new.cfd wsir.vdtxiva.cfd

3-Precisam duplicar o ficheiro aqui descrito e dar-lhe o nome wsir.vdtxiva_new.cfd e alterar os campos do resumo de IVA para os seguintes,:

<@AL2>Iva <txIva3>% <incid3> <valoriva3> <totaliva3>

<@AL2>Iva <txIva5>% <incid5> <valoriva5> <totaliva5>

<@AL2>Iva <txIva7>% <incid7> <valoriva7> <totaliva7>

Tenham atenção que esta ordem é apenas para o caso de existirem ja 4 taxas de IVA configuradas (0,5,12,20), isto deve-se a uma falha no wSir que vai buscar as taxas para impressão por ordem de taxa na tabela wgcivas.

4-Criar uma query sql com o nome wgc.ivas.sql e guardar na mesma directoria do ficehiro .bat, colocando seguinte código:

/* mudar wsir pelo nome da base de dados a alterar */

use WSIR

/* novas taxas de iva, o codigo nome e taxa fica igual assim sera mais facil identificar  */

insert into wgcivas (codigo, nome, taxa, cblcgeral, cblcanalitica, cblcccusto, exportado, grupobalanca, tipomovimento, txrecargo) values (21, 21, 21, 0, 0, 0, 0, 0,0, 0)

insert into wgcivas (codigo, nome, taxa, cblcgeral, cblcanalitica, cblcccusto, exportado, grupobalanca, tipomovimento, txrecargo) values (13, 13, 13, 0, 0, 0, 0, 0,0, 0)

insert into wgcivas (codigo, nome, taxa, cblcgeral, cblcanalitica, cblcccusto, exportado, grupobalanca, tipomovimento, txrecargo) values (6, 6, 6, 0, 0, 0, 0, 0,0, 0)

/* altera IVA com base na taxa configurada */

update wgcartigos set iva=’21′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.iva WHERE(wgcivas.taxa = ’20′)

update wgcartigos set iva=’13′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.iva WHERE(wgcivas.taxa = ’12′)

update wgcartigos set iva=’6′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.iva WHERE(wgcivas.taxa = ’5′)

update wgcartigos set ivacompra=’21′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.ivacompra WHERE(wgcivas.taxa = ’20′)

update wgcartigos set ivacompra=’13′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.ivacompra WHERE(wgcivas.taxa = ’12′)

update wgcartigos set ivacompra=’6′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.ivacompra WHERE(wgcivas.taxa = ’5′)

update wgcartigos set iva1=’21′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.iva1 WHERE(wgcivas.taxa = ’20′)

update wgcartigos set iva1=’13′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.iva1 WHERE(wgcivas.taxa = ’12′)

update wgcartigos set iva1=’6′ FROM wgcartigos INNER JOIN wgcivas ON wgcivas.codigo = wgcartigos.iva1 WHERE(wgcivas.taxa = ’5′)

update wgcparametros set ivavenda=’21′ FROM wgcparametros INNER JOIN wgcivas ON wgcivas.codigo = wgcparametros.ivavenda WHERE(wgcivas.taxa = ’20′)

update wgcparametros set ivavenda=’13′ FROM wgcparametros INNER JOIN wgcivas ON wgcivas.codigo = wgcparametros.ivavenda WHERE(wgcivas.taxa = ’12′)

update wgcparametros set ivavenda=’6′ FROM wgcparametros INNER JOIN wgcivas ON wgcivas.codigo = wgcparametros.ivavenda WHERE(wgcivas.taxa = ’5′)

update wgcparametros set ivacompra=’21′ FROM wgcparametros INNER JOIN wgcivas ON wgcivas.codigo = wgcparametros.ivacompra WHERE(wgcivas.taxa = ’20′)

update wgcparametros set ivacompra=’13′ FROM wgcparametros INNER JOIN wgcivas ON wgcivas.codigo = wgcparametros.ivacompra WHERE(wgcivas.taxa = ’12′)

update wgcparametros set ivacompra=’6′ FROM wgcparametros INNER JOIN wgcivas ON wgcivas.codigo = wgcparametros.ivacompra WHERE(wgcivas.taxa = ’5′)

5- Por fim criem um atalho para este .bat e no dia 1 de Julho antes de iniciar a facturação o cliente apenas tem que dar 2 cliques para fazer a alteração,sao uns segundinhos e “boom, fez-se o chocapic… :) )…

Espero que aproveitem a dica, tardia mas mais vale tarde do que nunca.

2leep.com

8 comentários

  1. Andre Soares diz:

    Boa tarde e um bom ano,

    Relativamente ao processo de alteração do IVA de 21% para 23%, o procedimento é o mesmo?

    Cmpts,

  2. andré guerreiro diz:

    Bom dia.

    Relativamente a este procedimento, duas questões, apenas:

    1 – Caso não tenha wSir, basta-me fazer o passo 1, 4, e 5, certo?

    2 – No ficheiro iva.bat, quando se executa a query sql (“sqlcmd -S .\sqlexpress -i sgw.iva.sql”), o ficheiro sgw.iva.sql é o criado no ponto 4, certo?

    Com os melhores cumprimentos,

    André G.

  3. Durval diz:

    como faço para actualizar a tabela wgcartigoslinhasprecos ?

    Agradecia que enviasse resposta para o mail durvalfilipe@gmail.com

    Abraço e obrigado.

    PS: o post resultou muito bem :-)

  4. zeca diz:

    É necessário fazer isso tudo? não basta alterar as taxas de iva 5 para 6 de 12 para 13 e de 20 para 21 ? não opções do programa?

    Cumprimentos

    • Não, temos que manter essas taxas pois as vendas anteriores a 1 de Julho ficam com esse codigo. E no caso de alguma reconstrução ficaremos com valores errados. O que tem que se fazer é criar novas taxas e aplicá-las aos artigos.

Deixar uma resposta