Edson.pol
Membros-
Total de ítens
196 -
Registro em
-
Última visita
-
Days Won
2
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Edson.pol postou
-
Boa tarde... Até hoje, em notas conjugadas eu usava ncm='99' para serviços. Não existe no meu cadastro o NCM para serviços. Baixei uma tabela do NBS (Nomenclatura Brasileira de Serviços" (http://www.assespropr.org.br/images/stories/pdf/cartilha_nbs.pdf) para comparar com a tabela do IPBT e vi que o código tem 9 dígitos, então entendo que não passará na validação da NFe. Por enquanto, vou incluir esse NBS no meu cadastro de serviços, fazer a busca na tabela do IBPT, para pegar a alíquota equivalente 120013100 1 Serviços de manutenção e reparação de veículos automotores rodoviários Neste exemplo, NBS=120013100, alíquota de 18,05%, mas vou continuar a imprimir '99' no DANFE. Como vocês irão fazer em seus sistema ? []´s Edson.
-
Bom dia! Fiz uma tentativa de homologação de boletos no Itaú, e recebi a resposta abaixo: 1 Na parte superior, lado esquerdo, não é obrigatório inserir a logomarca do Itaú na ficha de compensação, somente o nome Banco Itaú SA; Envieu os boletos sem o logotipo... falha minha. 2 A mensagem do campo "Local de Pagamento” da ficha de compensação deverá ser substituída para:" Até o vencimento, preferencialmente no Itaú " e " Após o vencimento, somente no Itaú "; Seria ideal deixar a varíavel fPagamento, na unit de cada banco com o "Local de pagamento" já definido ? 3 A literal "Autenticação Mecânica" deve ser colocada na mesma linha e imediatamente a expressão "FICHA DE COMPENSAÇÃO" e com o mesmo tamanho de fonte; No componente, a informação está como "Autenticação - Ficha de Compensação", falta a palava "Mecânica". 4 Na mesma linha da literal "Instruções" e mesmo tamanho de fonte, deve ser inserida a mensagem: "(Todas as informações deste bloqueto são de exclusiva responsabilidade do cedente)"; No recibo do sacado está correto, somente na ficha de compensação está "errado". 5 O ENDEREÇO CEDENTE / SACADOR AVALISTA deve ser informado o endereço completo do Cedente com o CNPJ. Se o título possuir a figura de Sacador Avalista o endereço informado deverá ser do Sacador Avalista, conforme Lei Federal 12.039 de 01/10/2009, conforme modelo do boleto pag.49, Layout Cobrança Itaú cnab 400 pos; Aqui foi descuido meu, não sabia disto e não passava o endereço do CEDENTE para o componente. Notas: A Lei Federal nº 12.039, que já está em vigor, exige a inclusão do endereço, da razão social e do CNPJ/CPF do cedente ou Sacador Avalista* em todos os boletos de cobrança, no recibo do sacado, com o intuito de identificar o prestador do serviço/produto (emitente da nota) e facilitar o contato do sacado com o emissor, quando necessário; Cedente com Emissão Própria**: O cliente deve adequar seu boleto para incluir as informações de endereço, razão social e CNPJ/CPF do cedente ou Sacador/Avalista dentro do Recibo do Sacado; Para cálculo do DAC dos campos “Agência/Conta” e “Nosso número” foi utilizado o módulo 10; A análise do bloqueto foi feita conforme normas da Carta circular do Banco Central do Brasil. Vou corrigir estes ítens, e tentar homologar novamente hoje. []´s Edson.
-
Bom dia amigos. Estou adequando meu sistema para a alíquota de 4%, nas operações interestaduais com produtos importados. O problema é que tem que ser informado, nos dados adicionais o valor unitário da importação, ou seja vai sair o preço de custo do produto. Isso vai ficar ruim para o emitente, pois imagine o caso de um distribuidor, que compra uma mercadoria por R$ 100,00 e tem uma margem de lucro bruta absurda, tipo 200%, e vende o produto por R$ 300,00. Se tiver que informar o valor da importação (R$100,00), certamente vai haver "encrencas". Alguém tem alguma ídeia sobre o que fazer ? veja mais em: http://www.lefisc.com.br/news/resolucao_do_senado_13_de_2012_aliquota_interestadual_mercadorias_importadas_perguntas_e_respostas_SP.htm Para produtos importados, somente o valor da importação deverá ser informado, mas se o produto sofrer alguma processo de industrialização, aí terá que ser criada a FCI tbm... []´s Edson.
-
Pra começar bem 2013, lá vem mais novidades: SAT-ISS http://www.prefeitura.sp.gov.br/cidade/secretarias/financas/servicos/iss/index.php?p=10310 ISS/SP NFS-e. SISTEMA AUTENTICADOR E TRANSMISSOR (SAT-ISS) Implantação e Prazo de Obrigatoriedade O Secretário Municipal de Finanças, através da Instrução Normativa SF/SUREM 17/2012 (DOM de 22/12/2012), instituiu o Sistema Autenticador e Transmissor de Documentos Fiscais Eletrônicos (SAT-ISS), que se destina à emissão e transmissão da Nota Fiscal Eletrônica de Serviços (NFS-e), e à realização de controles de natureza fiscal referentes a prestações de serviços sujeitas ao ISSQN. Dentre as alterações implantadas pela instrução citada, merece destaque o impedimento de uso do Recibo Provisório de Serviço – RPS por contribuintes obrigados ao SAT-ISS. A utilização do SAT-ISS é opcional no período de 01.06.2013 a 30.06.2013, passando a ser obrigatória a partir de 01.07.2013. Econet Editora Empresarial Ltda Imposto sobre Serviços (ISS) Projeto SAT/ISS O Projeto SAT/ISS visa ao desenvolvimento de um sistema autenticador e transmissor de documentos fiscais eletrônicos, com o objetivo de documentar, de forma eletrônica, as prestações de serviços no Município de São Paulo. O equipamento SAT será composto por um módulo de hardware com software embarcado, que irá possibilitar, por intermédio do uso de comunicação via banda larga, a transmissão do Recibo Provisório de Serviços Eletrônico (RPS-e), periodicamente, à Secretaria Municipal de Finanças, após sua validação e autenticação, devendo operar de forma integrada ao Aplicativo Comercial de frente de caixa. Especificação Técnica de Requisitos - SAT/ISS Este documento tem por objetivo a definição das especificações e critérios técnicos necessários para orientar a fabricação do equipamento Sistema Autenticador e Transmissor de Documentos Fiscais Eletrônicos – SAT-ISS. Comunicado SF/COTEC nº 001, de 27 de março de 2012 Promove Consulta Pública no período de 29 de março a 27 de abril de 2012, com a finalidade de dirimir dúvidas e coletar contribuições para definição dos requisitos do Equipamento Sistema Autenticador e Transmissor de Documentos Fiscais (SAT/ISS). Comunicado SF/COTEC nº 002, de 27 de março de 2012 Promove Audiência Pública com a finalidade de dirimir dúvidas sobre os requisitos do Equipamento Sistema Autenticador e Transmissor de Documentos Fiscais (SAT/ISS). Apresentação SAT/ISS Veja as informações apresentadas na Audiência Pública realizada no dia 09/04/2012, com a finalidade de dirimir dúvidas e coletar contribuições para a definição dos requisitos do Sistema Autenticador e Transmissor de Documentos Fiscais Eletrônicos (SAT/ISS), conforme divulgado por meio do Comunicado SF/COTEC nº 002/2012. []´s Edson.
-
Bom dia. Eu tive alguns problemas com sinais, dá uma lida neste tópico: vai que resolve... []´s Edson.
-
Bom dia. Não tenho como testar agora, mas vi em algum lugar que || (dois "pipes") servem para quebrar as linhas, tipo: LINHA A|| LINHA B|| LINHA C|| Vou testar amanhã, se funcionar depois dou um retorno. []´s Edson.
-
Boa noite. Estava recebendo o erro abaixo: Erro: "arquivo enviado fora da estrutura do arquivo xml de entrada". Perdi algumas horas procurando pelo em ovo... o problema éram caracteres especiais nos dados do tomador, ex: "Fulano & Sicrano Ltda." O "E Comecial - &" causava o erro. Caso alguém também passe por isto, segue uma função para remover acentos e caracteres especiais: //Exemplo de uso: txt:=TrocaCarEspec('', True); //Devolve: FULANO SICRANO LTDA function TrocaCarEspec(aTexto : string; aLimExt : boolean) : string; const //Lista de caracteres especiais xCarEsp: array[1..38] of String = ('á', 'à', 'ã', 'â', 'ä','Á', 'À', 'Ã', 'Â', 'Ä', 'é', 'è','É', 'È','í', 'ì','Í', 'Ì', 'ó', 'ò', 'ö','õ', 'ô','Ó', 'Ò', 'Ö', 'Õ', 'Ô', 'ú', 'ù', 'ü','Ú','Ù', 'Ü','ç','Ç','ñ','Ñ'); //Lista de caracteres para troca xCarTro: array[1..38] of String = ('a', 'a', 'a', 'a', 'a','A', 'A', 'A', 'A', 'A', 'e', 'e','E', 'E','i', 'i','I', 'I', 'o', 'o', 'o','o', 'o','O', 'O', 'O', 'O', 'O', 'u', 'u', 'u','u','u', 'u','c','C','n', 'N'); //Lista de Caracteres Extras xCarExt: array[1..48] of string = ('<','>','!','@','#','$','%','¨','&','*', '(',')','_','+','=','{','}','[',']','?', ';',':',',','|','*','"','~','^','´','`', '¨','æ','Æ','ø','£','Ø','ƒ','ª','º','¿', '®','½','¼','ß','µ','þ','ý','Ý'); var xTexto : string; i : Integer; begin xTexto := aTexto; for i:=1 to 38 do xTexto := StringReplace(xTexto, xCarEsp[i], xCarTro[i], [rfreplaceall]); //De acordo com o parâmetro aLimExt, elimina caracteres extras. if (aLimExt) then for i:=1 to 48 do xTexto := StringReplace(xTexto, xCarExt[i], '', [rfreplaceall]); Result := xTexto; end; Ou será que estou "comento barriga" e tem algo pronto no ACBr pra isto ? []´s Edson.
-
Boa noite. Resolvi o problema informando os mesmos valores em ValorIss e ValorIssRetido. if Servico.Valores.IssRetido = stNormal then begin //SE ISS NÃO FOR RETIDO... Servico.Valores.ValorIss := RoundTo5(ValorISS, -2); //Servico.Valores.ValorIssRetido := 0.00; end else begin // SE ISS FOR RETIDO... Servico.Valores.ValorIss := RoundTo5(ValorISS, -2); Servico.Valores.ValorIssRetido := RoundTo5(ValorISS, -2); end; []´s Edson.
-
Bom dia! Estou com este erro, mas não entendi a causa. Erro: "O campo ValorIss informado incorretamente" Nesta nota, o ISS seria retido (pessoa jurídica, na mesma cidade do emitente) Tentei deixar ValorIss=0 e ValorIssRetido=nnn. Tentei comentar a linha do "ValorIss", mas o XML gera a tag mesmo assim. if DM3.qrNFSeIssRetido.AsString='S' then Servico.Valores.IssRetido := stRetencao else Servico.Valores.IssRetido := stNormal; Servico.Valores.OutrasRetencoes := DM3.qrNFSeOutrasRetencoes.Value; Servico.Valores.DescontoIncondicionado := DM3.qrNFSeDescIncondic.Value; Servico.Valores.DescontoCondicionado := DM3.qrNFSeDescCondic.Value; Servico.Valores.BaseCalculo := DM3.qrNFSeBaseCalculo.Value; aliquotaIss := DM3.qrNFSeAliquota.Value; Servico.Valores.Aliquota := aliquotaISS/100; ValorISS := Servico.Valores.BaseCalculo * aliquotaISS/100; if Servico.Valores.IssRetido = stNormal then begin Servico.Valores.ValorIss := RoundTo5(ValorISS, -2); //Servico.Valores.ValorIssRetido := 0.00; end else begin //Servico.Valores.ValorIss := 0.00; Servico.Valores.ValorIssRetido := RoundTo5(ValorISS, -2); end; XML gerado: - - - 116 UNICA 1 2012-12-04T00:00:00 1 1 1 2 1 - - 230.00 1 0.00 4.60 230.00 0.0200 225.40 01.07 344 REF.NOVEMBRO/2012 3525300 A dúvida: Tem que sair as duas tags (ValorIss e ValorIssRetido) quando o ISS é retido? []´s Edson.
-
CUPOM FISCAL ELETRÔNICO (CF-e-SAT) - Obrigatoriedade
um tópico no fórum postou Edson.pol Dúvidas Gerais sobre o ACBr
Bom dia. Acabou de sair do forno... ICMS/SP CUPOM FISCAL ELETRÔNICO (CF-e-SAT) Obrigatoriedade O Coordenador da Administração Tributária do Estado de São Paulo, através da Portaria CAT 147/2012, estabelece a obrigatoriedade e procedimentos referente a emissão do CF-e-SAT, modelo 59 (Cupom Fiscal Eletrônico), em substituição ao Cupom Fiscal emitido por equipamento Emissor de Cupom Fiscal - ECF e à Nota Fiscal de Venda a Consumidor, modelo 2. A emissão do Cupom Fiscal Eletrônico será obrigatória: 1) em substituição ao Cupom Fiscal emitido por equipamento Emissor de Cupom Fiscal - ECF: a partir da data da inscrição no Cadastro de Contribuintes do ICMS, para os estabelecimentos que vierem a ser inscritos a partir de 01.07.2013; 2) em substituição à Nota Fiscal de Venda a Consumidor, modelo 2: a) a partir de 01.01.2014, para os contribuintes que auferirem receita bruta maior ou igual a R$ 100.000,00 no ano de 2013; a partir de 01.01.2015, para os contribuintes que auferirem receita bruta maior ou igual a R$ 80.000,00 no ano de 2014; c) a partir de 01.01.2016, para os contribuintes que auferirem receita bruta maior ou igual a R$ 60.000,00 no ano de 2015; d) decorrido o prazo indicado no item “c”, a partir do primeiro dia do ano subseqüente àquele em que o contribuinte auferir receita bruta maior ou igual a R$ 60.000,00. O CF-e será emitido por meio do Sistema de Autenticação e Transmissão de Cupom Fiscal Eletrônico - SAT, mediante assinatura digital gerada com base em certificado digital atribuído ao contribuinte, de forma a garantir a sua validade jurídica. Fonte: Econet Editora Empresarial Ltda []´s Edson. -
Bom dia ! Estou tentando consultar as notas emitidas para a minha empresa, tem poucas, umas 5 por mês. O erro é o mesmo do Dionatan, (o primeiro post desta tread)... (control C / control V editado ) Informo o meu CNPJ (usando o meu certificado A3) Indicador de NF-e consultada: 0 (zero) Indicador do Emissor da NF-e: 0 (zero) Último NSU recebido pela Empresa: 0 (zero) Sou do estado do SP testei ambos em Produção e Homologação. Em ambos deu erro simplesmente o botão de erro com nenhuma mensagem dentro. E apenas retorna a aba do log com descrição: Versão : 1.01 Ambiente : 1 Versão Aplicativo : 1.0.0 Status Código : 137 Status Descrição : Nenhum documento localizado para o destinatario Recebimento : 25/10/2012 17:33:02 Ind. Continuação : 1 Último NSU : 5590046265 Depois disto, não consigo pegar o último NSU pelo componente, ele é "destruído" em algum lugar, não encontrei onde. Como faço para pegar o retorno com o ultNSU ? Minha idéia é fazer um loop, informando o último NSU, até que o indicador de continuação seja igual a zero. Estou testando manualmente, mas fiz umas 50 vezes e não veio nada até agora. Será que serão 500 vezes como alguém relatou aqui ? []´s Edson.
-
Boa noite Dionatan. Comigo também está ocorrendo o erro. Fiz exatamento como você, sou do estado de SP e também testei em Produção/Homologação. Alguém teve sucesso nesta consulta ?
-
Mais um "Salve" pro Kiko Fernandes ! Também sempre paro pra ler as respostas dele, pois sempre são coerentes e acertam na mosca. Só um 'adendo', se me permitem. O desconto tem que ser "rateado" , em percentuais relativos ao valor de cada ítem. +- isso: aliquotaDesconto := 0 somaDesconto := 0 vTotalProdutos := 105,00 vTotalDesconto := 20,00 ItensNota.Fist; while not ItensNota.eof do begin aliquotaDesconto := ItensNota.ValorTotaldoItem / vTotalProdutos; valorDescontoRateado := aliquotaDesconto * vTotalDesconto; somaDesconto:=somaDesconto+valorDescontoRateado; ItensNota.edit; ItensNota.ValorDesconto := valorDescontoRateado; ItensNota.post; ItensNota.next end; // Verifique se "somaDesconto" é igual ao vTotalDesconto, pois pode dar alguns centavos de diferença // aí, pode-se jogar a diferença no último ítem, pro desconto "bater" []´s Edson.
-
Boa noite Italo. Estou usando o demo para testar o funcionamento do componente em Jaú. O padrão aqui é o Ginfes. Adicionei no "URL_Municipios.xml" o texto abaixo. 3525300 Jau/SP GINFES 1.2 180000 false - https://homologacao.ginfes.com.br/ServiceGinfesImpl https://homologacao.ginfes.com.br/ServiceGinfesImpl https://homologacao.ginfes.com.br/ServiceGinfesImpl https://homologacao.ginfes.com.br/ServiceGinfesImpl https://homologacao.ginfes.com.br/ServiceGinfesImpl https://homologacao.ginfes.com.br/ServiceGinfesImpl - https://producao.ginfes.com.br/ServiceGinfesImpl https://producao.ginfes.com.br/ServiceGinfesImpl https://producao.ginfes.com.br/ServiceGinfesImpl https://producao.ginfes.com.br/ServiceGinfesImpl https://producao.ginfes.com.br/ServiceGinfesImpl https://producao.ginfes.com.br/ServiceGinfesImpl Não está validando o XML gerado pelo demo, dá a msg "O nó não é válido nem inválido, pois nenhuma declaração de DTD ou esquema foi encontrado". Ctrl V do xml - - - 1 UNICA 1 2011-10-05T20:25:14 1 5 1 1 1 - - 50.46 50.10 10.00 10.00 10.00 10.00 10.00 1 20.00 19.55 10.00 10.00 0.100 10.00 10.00 10.00 1122 123 118879 discriminacao 252587 - 99999999000199 1733160024 - - - 99999999000191 1733160024 INSCRICAO DE TESTE - RUA PRINCIPAL 100 APTO 11 CENTRO 3106200 MG 30160010 - 1122223333 [email protected] Pesquisei pelo erro, nas não entendi o que o está causando. Penso que sejam os esquemas, tentei criar outra pasta C:\Squemas, e configurá-la mas continua o erro. Tem alguma idéia do que possa ser ? Grato. Edson.
-
A sua nota só tem um ítem, e este ítem é serviço ? Se for isso, não é mais permitido na nota fiscal eletrônica. Tem que haver pelo menos 1 ítem com tributação de ICMS. Para notas conjugadas (1 produto e 1 serviço) você pode usar a NFe, mas consulte a sua prefeitura antes de emitir. Para notas apenas com serviço(s) você terá que ver com sua prefeitura. Algumas estão adotando web-services, como na NFe, outras somente com emissão via site. []´s Edson.
-
Milenium, Eu usei assim: with Imposto do begin with ISSQN do begin vAliq := AliquotaIss; vISSQN := IssItem;; vBC := DM2.qrNf02PrecoTot.AsFloat; cMunFG := StrToInt(xIBGE); cListServ :=1401; if (PessoaFisica) or not (ClienteDaCidade) then cSitTrib:= ISSQNcSitTribNORMAL else cSitTrib:= ISSQNcSitTribRETIDA; end; // ISSQNcSitTribVazio , ISSQNcSitTribNORMAL, ISSQNcSitTribRETIDA, ISSQNcSitTribSUBSTITUTA,ISSQNcSitTribISENTA end; []´s Edson.
-
boa tarde gigainfo. +- isso: vTotalProdutos = 105,00 vTotalDesconto = 20,00 while not table.eof do begin aliquotaDesconto := ValorTotaldoItem / vTotalProdutos; valorDescontoRateado := aliquotaDesconto * vTotalDesconto; table.edit; table.ValorDesconto := valorDescontoRateado; table.post; table.next end;
-
Boa tarde Kiko Fernandes. Cara, muito obrigado ! Matou o coelho "com uma cx dágua só" Repassei umas 200 vezes o código e não notei a falta da tag "cSitTrib" no ISSQN. Problema resolvido. []´s Edson.
-
Kiko Fernandes, Obrigado pela resposta. Mas... * Se no ACBrNfe for informado somente o ISSQN, dá o erro "O elemento ICMSSN é inesperado" with Imposto do begin with ISSQN do begin vAliq := AliquotaIss; vISSQN := IssItem;; vBC := DM2.qrNf02PrecoTot.AsFloat; cMunFG := StrToInt(xIBGE); cListServ :=1401; end; end; E se informo o ISSQN e o ICMS, o xml não é gerado com as informções do ISSQN with Imposto do begin with ICMS do begin orig := 0; CSOSN := 400 ; ... o xml é gerado sem a tag ISSQN no ítem, e o ICMS sai como 'ICMSSN', o que causa o erro. - - S-001 PRESTACAO DE SERVICOS 99 5933 SV 1.0000 100.0000000000 100.00 SV 1.0000 100.0000000000 0 - - - 0 0 - - 01 0.00 0.00 0.00 - - 01 0.00 0.00 0.00 Não estou entendo o que causa o erro. Alguém tem algum exemplo de código (Delphi) de geração de notas conjugadas (pra versão 2.0) ? []´s Edson.
-
Boa noite. (e desculpem o post longo...) Estou com problemas em notas conjugadas. O erro é o seguinte: "O elemento ICMSSN é inesperado" Estou gerando o xml com este código: while not DM2.qrNf02.Eof do begin with Det.Add do begin Inc(nSequen); Prod.nItem := nSequen; Prod.CFOP := DM2.qrNf02CFOP.AsString Prod.cProd := DM2.qrNf02Codigo.AsString; Prod.cEAN := xEAN; Prod.xProd := txt; Prod.NCM := SemDigitos(DM2.qrNf02NCM.AsString); Prod.qCom := DM2.qrNf02Quantidade.Value; Prod.uCom := DM2.qrNf02UM.Value; Prod.vUnCom := DM2.qrNf02PrecoUni.Value; Prod.qTrib := DM2.qrNf02Quantidade.Value; Prod.uTrib := DM2.qrNf02UM.Value; Prod.vUnTrib := DM2.qrNf02PrecoUni.Value; Prod.vProd := DM2.qrNf02PrecoTot.Value; Prod.vFrete := DM2.qrNf02Frete.AsFloat; Prod.vSeg := DM2.qrNf02Seguro.AsFloat; Prod.vDesc := DM2.qrNf02Desconto.AsFloat; Prod.vOutro := DM2.qrNf02Despesas.AsFloat; Prod.cEANTrib := ''; // SE FOR UM SERVIÇO if DM2.qrNf02ProdServ.AsString='S' then begin Prod.IndTot := itNaoSomaTotalNFe; IssItem:=DM2.qrNf02PrecoTot.AsFloat * AliquotaIss/100; somaServicos:=somaServicos+DM2.qrNf02PrecoTot.Value; * NESTA PARTE, SE INFORMO O CSOSN, A NOTA É VALIDADA, MAS O XML FICA MEIO DOIDO COMO PODEM VER MAIS ABAIXO { if (CRT='1') then begin aCSOSN:= csosn400; with Imposto do begin with ICMS do begin orig := xOrigem; CSOSN := aCSOSN; end; end; end else begin aCST:=cst40; with Imposto do begin with ICMS do begin CST := aCST; vBC := 0; pICMS := 0; vICMS := 0; end; end; end; } * SE FOR INFORMADO SOMENTE O ISSQN, DÁ O ERRO [b]"O elemento ICMSSN é inesperado"[/b] with Imposto do begin with ISSQN do begin vAliq := AliquotaIss; vISSQN := IssItem;; vBC := DM2.qrNf02PrecoTot.AsFloat; cMunFG := StrToInt(xIBGE); cListServ :=1401; end; end; else begin // SE FOR UM PRODUTO Prod.IndTot := itSomaTotalNFe; vCredItem:= Arredonda(DM2.qrNf02PrecoTot.Value*AlqIcmsDAS/100); with Imposto do begin with ICMS do begin orig := xOrigem; if (CRT='1') then begin // Simples Nacional CSOSN := aCSOSN ; //modBC := dbiPrecoTabelado; case aCSOSN of csosn101: begin pCredSN := AlqIcmsDAS; vCredICMSSN := vCredItem; end; csosn102,csosn103,csosn300,csosn400: begin //Tags ORIG e CSON já criadas antes do case //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 (v.2.0) (v.2.0) vCredItem:=0; end; csosn201: begin modBCST := dbisMargemValorAgregado; pMVAST := DM2.qrNf02pMVAST.AsFloat; pRedBCST := DM2.qrNf02pRedBCST.AsFloat; vBCST := DM2.qrNf02vBCST.AsFloat; pICMSST := DM2.qrNf02pICMSST.AsFloat; vICMSST := DM2.qrNf02vICMSST.AsFloat; pCredSN := AlqIcmsDAS; vCredICMSSN := vCredItem; end; csosn202,csosn203: begin modBCST := dbisMargemValorAgregado; pMVAST := DM2.qrNf02pMVAST.AsFloat; pRedBCST := DM2.qrNf02pRedBCST.AsFloat; vBCST := DM2.qrNf02vBCST.AsFloat; pICMSST := DM2.qrNf02pICMSST.AsFloat; vICMSST := DM2.qrNf02vICMSST.AsFloat; vCredItem:=0; end; csosn500: begin vBCSTRET := 0; vICMSSTRET := 0; vCredItem:=0; end; csosn900: begin modBC := dbiMargemValorAgregado; pRedBC := DM2.qrNf02pRedBCST.AsFloat; vBC := DM2.qrNf02BaseICMS.AsFloat; pICMS := DM2.qrNf02ICMS.AsFloat; vICMS := DM2.qrNf02ValorICMS.AsFloat; modBCST := dbisMargemValorAgregado; pMVAST := DM2.qrNf02pMVAST.AsFloat; pRedBCST := DM2.qrNf02pRedBCST.AsFloat; vBCST := DM2.qrNf02vBCST.AsFloat; pICMSST := DM2.qrNf02pICMSST.AsFloat; vICMSST := DM2.qrNf02vICMSST.AsFloat; pCredSN := AlqIcmsDAS; vCredICMSSN := vCredItem; end; end; vTotCred:=vTotCred+vCredItem; end else begin // Regime Normal CST := aCST ; //modBC := dbiPrecoTabelado; if txt='20' then pRedBC := DM2.qrNf02Reducao.AsFloat; if (txt='40') or (txt='41') then begin vBC := 0; pICMS := 0; vICMS := 0; end else begin vBC := DM2.qrNf02BaseICMS.AsFloat; pICMS := DM2.qrNf02ICMS.AsFloat; vICMS := DM2.qrNf02ValorICMS.AsFloat; end; end; end; end; if DM2.qrNf02IPI.AsFloat>0 then begin with Imposto do begin with IPI do begin CST := ipi49; IPI.pIPI:= DM2.qrNf02IPI.AsFloat; IPI.vIPI:= DM2.qrNf02ValorIPI.AsFloat;; IPI.vBC := DM2.qrNf02Quantidade.Value * DM2.qrNf02PrecoUni.Value; end; end; end; with Imposto do begin with PIS do begin CST := pis99; PIS.qBCProd := 0; PIS.vAliqProd := 0; PIS.vPIS := 0; end; end; with Imposto do begin with COFINS do begin CST := cof99; COFINS.qBCProd := 0; COFINS.vAliqProd := 0; COFINS.vCOFINS := 0; end; end; O XML gerado está assim: - - P0425 OE CEDRO 10ML 33012912 5102 FR 1.0000 7.2100000000 7.21 FR 1.0000 7.2100000000 1 - - - 0 101 2.58 0.19 - - 99 0.00 0.00 0.00 - - 99 0.00 0.00 0.00 - - S-001 PRESTACAO DE SERVICOS 99 5933 SV 1.0000 100.0000000000 100.00 SV 1.0000 100.0000000000 0 - - - 0 0 - - 01 0.00 0.00 0.00 - - 01 0.00 0.00 0.00 - - 0.00 0.00 0.00 0.00 7.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 107.21 - 100.00 100.00 2.00 Como podem ver, o item 001 está correto, mas o 002 (Serviço) não contém a tag ISSQN. No manual de integração, página 128 temos: "O grupo ISSQN é mutuamente exclusivo com os grupos ICMS, IPI e II, isto é se ISSQN for informado os grupos ICMS, IPI e II não serão informados e viceversa (v2.0)." Estou fazendo algo errado na forma de passar os valores ? (Antes da versão 2.0 usava desta forma e funcionava corretamente) Se você leu até aqui, sou muito grato ! Edson