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
Boa tarde e um bom ano,
Relativamente ao processo de alteração do IVA de 21% para 23%, o procedimento é o mesmo?
Cmpts,
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.
Exactamente…
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
A resposta aqui: http://almenorocha.net/actualizar-precos-iva-wintouch/
Já agora por curiosidade.
É parceiro ou cliente final?
E de que zona do país?
Sou cliente final de Amarante. Abraço e obrigado pela resposta. Vou experimentar para ver se resolvo a coisa.
É 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.