Bom dia.
Estou com um dúvida no repasse de ICMS ST, o que ocorre é o seguinte, na NT 2016 002 V 1.30, fala que o repasse é somente interestadual, conforme imagem abaixo.
Porém a regra da Unit pcnNFeW, não esta levando em consideração isso.
if (nfe.infNFe.Versao >= 4) and
(nfe.Det.Imposto.ICMS.CST = cst60) and //Ajuste para funcionar no ACBrNFeMonitor ((nfe.Det.Imposto.ICMS.vBCSTRet <> 0) or //Qdo passar CST 60 e algum campo de repasse de ICMS ST (nfe.Det.Imposto.ICMS.vICMSSTRet <> 0) or //estiver preenchido será trocado o cst para cstRep60 (nfe.Det.Imposto.ICMS.vBCSTDest <> 0) or (nfe.Det.Imposto.ICMS.vICMSSTDest <> 0)) then nfe.Det.Imposto.ICMS.CST := cstRep60;
Ai na versão 4.00 se eu possuir ICMS ST Retido anteriormente e o CST 060, essa regra sempre esta mudando para cstRep60, mesma com operações internas.
Gostaria de saber a opinião de vocês sobre a adição de outra verificação, deixando desta forma.
if (nfe.infNFe.Versao >= 4) and (nfe.Dest.EnderDest.UF <> nfe.Emit.EnderEmit.UF) and (nfe.Det.Imposto.ICMS.CST = cst60) and //Ajuste para funcionar no ACBrNFeMonitor ((nfe.Det.Imposto.ICMS.vBCSTRet <> 0) or //Qdo passar CST 60 e algum campo de repasse de ICMS ST (nfe.Det.Imposto.ICMS.vICMSSTRet <> 0) or //estiver preenchido será trocado o cst para cstRep60 (nfe.Det.Imposto.ICMS.vBCSTDest <> 0) or (nfe.Det.Imposto.ICMS.vICMSSTDest <> 0)) then nfe.Det.Imposto.ICMS.CST := cstRep60;
Fico no aguardo.