Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3391 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Ola , Meu Sat tanca em Produçao, e tambem quando uso o SDK, so esta funcionando

quando coloco a opcao  Regime Tributario como RTRegimeNormal, como RTSimplesNacional deu retorno erro 6010

mas a empresa com SAT em Producao eh  Regime Simples Nacional, e ai?   .....o que fazer? o restante esta tudo funcionando normal

ja mandei um cupom com RTRegimeNormal e depois consultei na Sefaz o QRcode e deu tudo certo, mas o Regime Tributario esta errado. 

  • Membros Pro
Postado (editado)

Xiiiii    , se for isso , estou ferrado, pois eh o contador que da os codigos para a tributacao no sistema, nao entendo, quais os tributos que devem ser para cada tipo de empresa... so sei que a empresa opera pelo Simples Nacional...entao vou ter que ver isso com o contador .....

Alem de queimar a cabeca , programando, ainda tenho que entender  essa paranoia de tributacao brasileira? ...So DEUS mesmo...

 

Editado por geanjesus
  • Membros Pro
Postado

Geanjesus,

Boa tarde. Dá uma lida no arquivo de orientações do leiaute da cfe que você vai entender o que fazer. Veja este código de exemplo:(pela mor hein, é um código simples)

    with ACBrSAT.CFe do
    begin
        ide.numeroCaixa := 1;

        if(length(trim(sCPFCNPJ_Consumidor)) > 0) then
        begin
            Dest.CNPJCPF := RemoveCaracteresEsp(sCPFCNPJ_Consumidor);
            Dest.xNome := RemoveCaracteresEsp(sNome_Consumidor);
        end else
        begin
            Dest.CNPJCPF := '';
            Dest.xNome := 'CONSUMIDOR';
        end;

        For A := 0 to (grdDados.RowCount - 1) do  // Itens constantes no stringgrid de vendas
        begin
            with Det.Add do
            begin
               nItem := A + 1;
               Prod.cProd := grdDados.Cells[1,a];
               Prod.cEAN := '';
               Prod.xProd := Copy(RemoveCaracteresEsp(grdDados.Cells[2,a]),1,19);
               Prod.NCM := '99';
               Prod.CFOP := '5102';
               Prod.uCom := Copy(grdDados.Cells[38,a],1,2);
               Prod.qCom := StrToFloat(grdDados.Cells[3,a]);
               Prod.vUnCom := StrToFloat(grdDados.Cells[4,a]);
               Prod.indRegra := irTruncamento;
               Prod.vDesc := 0;
               Prod.vOutro := 0;

               rTotalItem := (Prod.qCom * Prod.vUnCom);

               if(_EMP_REGI = 'S') then  // se a empresa for do simplessss
                   Imposto.vItem12741 := rTotalItem * rAliq_SIMPLES/100  // isso ta nos parametros do sistema
               else
                   Imposto.vItem12741 := rTotalItem * rAliq_NORMAL/100;  // mantenho as duas separadas para controle meu
               rValorImposto := rValorImposto + Imposto.vItem12741;

               sOrigemMerc := Trim(grdDados.Cells[60,a]);
               case sOrigemMerc[1] of
                  '0' : Imposto.ICMS.orig := oeNacional;
                  '1' : Imposto.ICMS.orig := oeEstrangeiraImportacaoDireta;
                  '2' : Imposto.ICMS.orig := oeEstrangeiraAdquiridaBrasil;
                  '3' : Imposto.ICMS.orig := oeNacionalConteudoImportacaoSuperior40;
                  '4' : Imposto.ICMS.orig := oeNacionalProcessosBasicos;
                  '5' : Imposto.ICMS.orig := oeNacionalConteudoImportacaoInferiorIgual40;
                  '6' : Imposto.ICMS.orig := oeEstrangeiraImportacaoDiretaSemSimilar;
                  '7' : Imposto.ICMS.orig := oeEstrangeiraAdquiridaBrasilSemSimilar;
                  '8' : Imposto.ICMS.orig := oeNacionalConteudoImportacaoSuperior70;
               else 
                        Imposto.ICMS.orig := oeNacional;
               end;

               // eram produtos que funcionavam com ECF, nao deu pra migar, obrigado SEFAZ
               if(length(trim(grdDados.Cells[35,a])) > 0) then
               begin
                   if(trim(grdDados.Cells[35,a]) = 'FF') then
                   begin
                       if(_EMP_REGI = 'S') then
                           Imposto.ICMS.CSOSN := csosn500
                       else
                           Imposto.ICMS.CST := cst60;
                   end else
                   if(trim(grdDados.Cells[35,a]) = 'II') then
                   begin
                       if(_EMP_REGI = 'S') then
                           Imposto.ICMS.CSOSN := csosn300
                       else
                           Imposto.ICMS.CST := cst40;
                   end else
                   if(trim(grdDados.Cells[35,a]) = 'NN') then
                   begin
                       if(_EMP_REGI = 'S') then
                           Imposto.ICMS.CSOSN := csosn300
                       else
                           Imposto.ICMS.CST := cst41;
                   end else
                   begin
                       if(_EMP_REGI = 'S') then
                           Imposto.ICMS.CSOSN := csosn102
                       else
                       begin
                           Imposto.ICMS.CST := cst90; // sei la o que ta cadastro no cliente, vai OUTRAS mesmo, depois acerta o cadastro
                           Imposto.ICMS.pICMS := 0;
                       end;
                   end;
               end
               else
               begin
                   // alegria, nao tem nenhuma informacao do produto se e isento, tributado, st, nada
                   if(_EMP_REGI = 'S') then
                       Imposto.ICMS.CSOSN := csosn102
                   else
                   begin
                       Imposto.ICMS.CST := cst90;
                       Imposto.ICMS.pICMS := 0;
                   end;
               end;

               Imposto.PIS.CST := pis49;
               Imposto.PISST.qBCProd := 0;
               Imposto.PISST.vAliqProd := 0;

               Imposto.COFINS.CST := cof49;
               Imposto.COFINSST.qBCProd := 0;
               Imposto.COFINSST.vAliqProd := 0;

               if(length(trim(grdDados.Cells[80,a])) > 0) // o usuario inputou alguma informacao relevante do produto    
                   infAdProd := grdDados.cells[80,a]
               else
                   infAdProd := '';
            end;
        end;

        Total.vCFe := rDinheiro+rCheque+rCartao+rPrazo; // meus totalizadores da venda
        Total.vCFeLei12741 := rValorImposto;

        // a venda teve desconto ou acrescimo?
        if(rDescValor > 0) then 
            Total.DescAcrEntr.vDescSubtot := rDescValor
        else
        if(rAcreValor > 0) then
            Total.DescAcrEntr.vAcresSubtot := rAcreValor
        else
            Total.DescAcrEntr.vDescSubtot := 0;

        if(rDinheiro > 0) then begin
            dmDados.AtualizaTipoVenda('I','DINHEIRO', sVenda, IntToStr(iCaixa), variables._EMP_CODI, rDinheiro);
            with Pagto.Add do
            begin
              cMP := mpDinheiro;
              vMP := rDinheiro;
            end;
        end;

        if(rCheque > 0) then begin
            dmDatos.AtualizaTipoVenda('I','CHEQUE PRE-DATADO', sVenda, IntToStr(iCaixa), variables._EMP_CODI, rCheque);
            with Pagto.Add do
            begin
              cMP := mpCheque;
              vMP := rCheque;
            end;
        end;

        if(rPrazo > 0) then begin
            dmDatos.AtualizaTipoVenda('I','CREDIARIO', sVenda, IntToStr(iCaixa), variables._EMP_CODI, rPrazo);
            with Pagto.Add do
            begin
              cMP := mpCreditoLoja;
              vMP := rPrazo;
            end;
        end;

        if(rCartao > 0) then begin
           // acha indice da descricao de pagto
           dmDatos.AtualizaTipoVenda('I',NomeFormaPagtoCartao, sVenda, IntToStr(iCaixa), variables._EMP_CODI, rCartao);
            with Pagto.Add do
            begin
              cMP := mpCartaodeCredito;
              vMP := rCartao;
            end;
        end;

        InfAdic.infCpl := 'nome do nosso software' ;
        InfAdic.infCpl := InfAdic.infCpl + #13+#10+ sObservacao; // isso aqui de pular linha nao vira nada...kkkkkk....
    end;

    mVendaEnviar.Clear;
    mVendaEnviar.Lines.Text := ACBrSAT.CFe.GerarXML( True );

    // super ultra gambi
    Inkey(500);

    ACBrSAT.EnviarDadosVenda( mVendaEnviar.Text );

    if ACBrSAT.Resposta.codigoDeRetorno = 6000 then
    begin
        Inkey(100);
        // Tipo de Extrato a Imprimir
        ACBrSAT.ImprimirExtrato;
    end
    else
    begin
        // melou
        UpdateMemo(True, 'ON-LINE ' + ACBrSAT.Rede.lanIP, ACBrSAT.Resposta.mensagemRetorno, ACBrSAT.Resposta.mensagemSEFAZ);
        Abort;
    end;    

Veja que há variáveis que controlam se a empresa que está utilizando é do simples ou não, e a partir daí no meu menu de configuração eu determino qual tributação do SAT será usada e na hora de vendar eu verifico isso antes de gerar as tags dos campos de impostos.

Espero ter ajudado em algo.

Até mais,

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

  • Membros Pro
Postado (editado)

Ola Alexandre e demais ..obrigado por tentar me ajudar, mas esta ocorrendo o seguinte

mando como Regime Normal e esta indo normal , inclusive o Xml de retorno do Sat me traz

<cRegTrib>1</cRegTrib>  que seria o Simples nacional,  entao aparentemente esta tudo ok

deixei operando assim, pois se coloco RTSimplesNacional,  ai nao vai mesmo...Misteeerios....isso ai é com o pessoal do ACbr.

O contador me passou algumas informacoes, e configurei no sistema e dessa forma esta funcionando,

se vai dar problemas la na frente, nao sei...consultei alguns cupoms atraves do QRcode na Sefaz e parece tudo ok... 

 

Editado por geanjesus
complemento de informacao
  • Fundadores
Postado

Você diz: que quando Alimenta o CFe com RTSimplesNacional, o CFe gerado não é aceito pelo SAT ?

Li os tópicos anteriores,mas não achei em nenhum deles um exemplo do XML recusado em anexo...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado (editado)

Ola Daniel , eu nao mexo em nada.... coloco como RTSimplesNacional e  retorna erro 6010  e nao vai,

entao mudo para RTRegimeNormal ai vai normal e no xml de retorno <cRegTrib>1</cRegTrib> e os calculos

estao aparentemente corretos. bem eu estava no cliente ate Hoje de manha e agora nao tenho aqui os xml enviados

mas amanha ou segunda vou pegar algum xml remotamente e posto aqui para voce analisar,

ja dei uma olhada  no xml  e os impostos o cfop, e o cst, estao todos corretos , porisso me referi como misterio..... 

ah o cliente esta a 300 km de distancia agora....

Editado por geanjesus
  • Membros Pro
Postado

quis dizer cst  pis e cofins  = 49   ( nao incidencia)  e csosn = 102 cfop = 5102 .....5405  csosn 500 -> FF  csosn 300 -> I I etc...

  • Este tópico foi criado há 3391 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.