Ola,
Estou tenho o acbrnfe funcionando no meu software mas ao fazer o teste colocando a empresa como regime simples nacional o xml esta sendo recusado pelo webservice, quando faco o teste com regime normal funciona normalmente.
erro do webservice:
Erro nao espereado - Falha na validação dos dados da nota 941
Element '{http://www.portalfiscal.inf.br/nfe}ICMSSN'is unexpected according to content model of parent element '{http://www.portalfiscal.inf.br/nfe}ICMS'.
Expecting: {http://www.portalfiscal.inf.br/nfe}ICMS00,{http://www.portalfiscal.inf.br/nfe}ICMS10, {http://www.portalfiscal.inf.br/nfe}....
trecho de codigo:
Emit.CRT := crtSimplesNacional;
with Det.Add do
begin
Prod.nItem := i + 1; // Número sequencial, para cada item deve ser incrementado
Prod.cProd := movimento.Itens[i].codc;
Prod.cEAN := movimento.Itens[i].cbarras;
Prod.xProd := movimento.Itens[i].descri;
Prod.NCM := movimento.Itens[i].ncm; // '10063011';
Prod.EXTIPI := '';
Prod.CFOP := '5101';
Prod.uCom := 'UN';
Prod.qCom := movimento.Itens[i].quant;
Prod.vUnCom := movimento.Itens[i].preco;
Prod.vProd := movimento.Itens[i].getTotal;
//incrementa o valor dos produtos
vTotalProdutos := vTotalProdutos + movimento.Itens[i].getTotal;
Prod.cEANTrib := movimento.Itens[i].cbarras;
Prod.uTrib := 'UN';
Prod.qTrib := movimento.Itens[i].quant;
Prod.vUnTrib := movimento.Itens[i].preco;
Prod.vOutro := movimento.Itens[i].por;
Prod.vFrete := 0;
Prod.vSeg := 0;
vItenDesc := 0;
vItenDesc := TMathFunc.GetValuePercentage(TMathFunc.GetPercentage(movimento.Desconto, movimento.Total - movimento.Percentual), movimento.Itens[i].getTotal); //movimento.Desconto / movimento.itenscount)));
Prod.vDesc := vItenDesc;
vTotalDesc := vTotalDesc + vItenDesc;
cTotalOutros := cTotalOutros + movimento.Itens[i].por;
infAdProd := '';
with Imposto do
begin
with ICMS do
begin
CST := cst00; //(cst00, cst10, cst20, cst30, cst40, cst41, cst45, cst50, cst51, cst60, cst70, cst80, cst81, cst90, cstPart10, cstPart90, cstRep41, cstVazio, cstICMSOutraUF, cstICMSSN);
ICMS.orig := oeNacional;
ICMS.modBC := dbiValorOperacao;
ICMS.vBC := movimento.Itens[i].getTotal; //teste
if movimento.Itens[i].alicota = 'FF' then
begin
ICMS.pICMS := 0;
end
else
begin
ICMS.pICMS := 17;
end;
vProdutoICMS := TMathFunc.Round((movimento.Itens[i].getTotal * ICMS.pICMS) / 100.00, 3); //StrToCurr(FormatFloat('###,###,#0.00',((movimento.Itens[i].getTotal *ICMS.pICMS)/100.00)));
ICMS.vICMS := vProdutoICMS;
//incrementa valor total do icms da nota
vTotalICMSProdutos := vTotalICMSProdutos + vProdutoICMS;
ICMS.modBCST := dbisMargemValorAgregado;
ICMS.pMVAST := 0;
ICMS.pRedBCST := 0;
ICMS.vBCST := 0;
ICMS.pICMSST := 0;
ICMS.vICMSST := 0;
ICMS.pRedBC := 0;
end; // ICMS
// lei da transparencia nos impostos
vTotTrib := ((movimento.Itens[i].getTotal * movimento.Itens[i].ncmaliq) / 100);
vTotalImpostos := vTotalImpostos + vTotTrib; // vTotalImpostos + TMathFunc.GetValuePercentage(45, movimento.itens[i].getTotal);
end; //Imposto
end; //Det
xml gerado em anexo:
25150400146429000191650010000009411000009410-nfe.xml