Olá @Italo Giurizzato Junior
Adicionei as seguintes validações em ACBrNFeNotasFiscais.pas linha 1051, unit em anexo, se puder avaliar e se tiver de acordo adicionar aos fontes
if (NFe.Ide.modelo = 65) then
begin
GravaLog('Validar: 383-NFCe Item com CSOSN indevido [nItem: '+IntToStr(Prod.nItem)+']');
if Imposto.ICMS.CSOSN in [csosn101, csosn201, csosn202, csosn203] then
AdicionaErro('383-Rejeição: NFC-e Item com CSOSN indevido [nItem: '+IntToStr(Prod.nItem)+']');
GravaLog('Validar: 766-NFCe Item com CST indevido [nItem: '+IntToStr(Prod.nItem)+']');
if Imposto.ICMS.CST in [cst10, cst30, cst50, cst51, cst70] then
AdicionaErro('766-Rejeição: NFC-e Item com CST indevido [nItem: '+IntToStr(Prod.nItem)+']');
Quando for emitida uma NFC-e com Código de Situação da Operação – Simples Nacional (CSOSN) diferente da lista abaixo, será retornado a rejeição "383 - Item com CSOSN indevido":
102 - Tributada pelo Simples Nacional sem permissão de crédito;
103 - Isenção do ICMS no Simples Nacional para faixa de receita bruta;
300 - Imune;
400 - Não tributada pelo Simples Nacional;
500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação;
900 - Outros (a critério da UF);
Quando for emitido uma NFC-e e com CST de ICMS diferente da lista abaixo será retornado a rejeição "766 - Rejeição: Item com CST indevido":
00 - Tributada integramente;
20 - Com redução da Base de Cálculo;
40 - Isenta;
41 - Não tributada;
60 - ICMS cobrado anteriormente por substituição tributária;
90 - Outros (a critério da UF).
Removi a validação abaixo já que já é contemplada pela validação acima
GravaLog('Validar: 766-NFCe CST 50 [nItem: '+IntToStr(Prod.nItem)+']');
if (Imposto.ICMS.CST = cst50) then
AdicionaErro('766-Rejeição: NFC-e com CST 50-Suspensão [nItem: '+IntToStr(Prod.nItem)+']');
ACBrNFeNotasFiscais.pas