Como preparar o PHC GO para responder a esta necessidade?
- Poderá criar artigos específicos com a taxa a 0% e o respetivo motivo de isenção* para serem utilizados durante a vigência desta lei.
- Poderá alterar a ficha de cada produto, colocando na tabela de IVA o valor de “PT Isenta - 0%” e o respetivo motivo de isenção*.
- A partir do plano Corporate, poderá executar um processamento para alterar todos os registos pretendidos em simultâneo.
*Motivo de isenção: M26 - Isenção de IVA com direito à dedução no cabaz alimentar - Lei n.º 17/2023, de 14 de abril
Solução 1: Criar artigos
Poderá seguir os seguintes passos:
- Menu -> Artigos e Serviços
- Introduza artigo
- Na secção de impostos selecionar
- Taxa de IVA: “PT Isenta - 0%”
- Motivo de isenção de imposto: Isenção de IVA com direito à dedução no cabaz alimentar
- Gravar
Solução 2: Alterar artigos
Poderá seguir os seguintes passos:
- Menu -> Artigos e Serviços
- Abrir o artigo a alterar
- Na barra superior clicar em “Edite”
- Após abrir o modo de edição, na secção de “Impostos” fazer as seguintes alterações:
- Taxa de IVA: “PT Isenta - 0%”
- Motivo de isenção de imposto: Isenção de IVA com direito à dedução no cabaz alimentar
- Grave
Solução 3: Processamento
Poderá seguir os seguintes passos:
- Menu -> GO Studio -> Toolbox -> Processamentos
- “Introduza processamento”
- Cabeçalho:
- Nome: Atualização da tabela de IVA e motivo de isenção de imposto nos artigos (meramente exemplificativo)
- Título: Medida Temporária (meramente exemplificativo)
- Detalhes
- Entidade: Artigos e Serviços
- É processamento de entidade: sim
- Dados iniciais
- Descrição do processamento: podem aproveitar esta secção para colocar uma breve descrição da lei (opcional)
- Dados a processar
- Código para obter os dados de origem do processamento: "Select ststamp as stamp, ref, design, Isnull((Select taxa from taxasiva where taxasiva.codigo=st.tabiva),null ) from ST(nolock) where st.inactivo=0 order by ref asc"
- Colunas da tabela de apresentação dos dados de origem
- Dados do arranque
- Pode ser executado para todos os registos: Sim
- Texto do botão de executar sobre todos os registos: Atualizar todos os artigos (meramente exemplificativo)
- Texto do botão de executar os registos selecionados: Atualizar apenas os artigos selecionados (meramente exemplificativo)
- Dados de execução
"For Each sItem As Object In SelectedItems
Dim stBiz As SDKBiz = SDK.Business.CreateBiz("ST")
Dim myST As StVO = SDK.Query.getEntityData(Of stVO)(New FilterItem("ref", Comparison.Equal, sItem.ref)).FirstOrDefault()
If Not IsNothing(myST) Then
myST.tabiva = 4
myST.miseimpstamp="z202209221653183990043045"
messagesList.Addrange(stBiz.save(myST))
If messages.count() = 0 then
successList.Add(New With {
.ref = myST.ref,
.design = myST.design,
.navigationUrl="mainform/st/view;stamp=" & myST.ststamp
})
End If
End IF
Next"
10. Dados do resultado
Notas
Existe o pressuposto de que ao código de IVA “4” corresponde o IVA à taxa 0%.
O motivo de isenção utilizado no código corresponde ao registo PHC “M19 - Outras isenções - Isenções temporárias determinadas em diploma próprio”. O motivo a utilizar no código é o M26, conforme definido pela AT, que afetará o código “myST.miseimpstamp=” onde deve colocar o stamp do motivo de isenção.
Como reverter as alterações efetuadas nos passos anteriores?
Solução 1: Alterar artigos
Poderá seguir os seguintes passos:
- Menu -> Artigos e Serviços
- Abrir o artigo a alterar
- Na barra superior clicar em “Edite”
- Após abrir o modo de edição, na secção de “Impostos” fazer as seguintes alterações:
- Taxa de IVA: "PT Normal - 23,00%"(meramente exemplificativo)
- Grave
Solução 2: Processamento
Poderá seguir os seguintes passos:
- Menu -> GO Studio -> Toolbox -> Processamentos
- “Introduza processamento”
- Cabeçalho:
- Nome: Atualização da tabela de IVA (meramente exemplificativo)
- Título: Reversão IVA 0% (meramente exemplificativo)
- Detalhes
- Entidade: Artigos e Serviços
- É processamento de entidade: sim
- Dados iniciais
- Descrição do processamento: podem aproveitar esta secção para colocar uma breve descrição da lei (opcional)
- Dados a processar
- Código para obter os dados de origem do processamento:
"
Select ststamp as stamp, ref, design, Isnull((Select taxa from taxasiva where taxasiva.codigo=st.tabiva),null ) as taxa from ST(nolock) where st.inactivo=0 and st.tabiva = 4 and st.miseimpstamp=´z202209221653183990043045´ order by ref asc
"
- Colunas da tabela de apresentação dos dados de origem
- Dados do arranque
- Pode ser executado para todos os registos: Sim
- Texto do botão de executar sobre todos os registos: Atualizar todos os artigos (meramente exemplificativo)
- Texto do botão de executar os registos selecionados: Atualizar apenas os artigos selecionados (meramente exemplificativo)
- Dados de execução
For Each sItem As Object In SelectedItems
Dim stBiz As SDKBiz = SDK.Business.CreateBiz(
"ST"
)
Dim myST As StVO = SDK.Query.getEntityData(Of stVO)(New FilterItem(
"ref"
, Comparison.Equal, sItem.ref)).FirstOrDefault()
If Not IsNothing(myST) Then
myST.tabiva =
2
myST.miseimpstamp=
""
messagesList.Addrange(stBiz.save(myST))
If messages.count() =
0
then
successList.Add(New With {
.ref = myST.ref,
.design = myST.design,
.navigationUrl="mainform/st/view;stamp=" & myST.ststamp
})
End If
End IF
Next"
10. Dados do resultado
sticky_note_2Notas
A titulo de exemplo, foi criado o processamento alterando da tabela de IVA 4 para tabela de IVA 2 e também, limpando o motivo de insenção. Contudo que este processamento pode ser adaptado em função das suas necessidades.