Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 23-08-2017 em Posts
-
Olá @Renan Cavalieri, Como foi dito pelo @Agnaldo Prates, você precisará sim ter pelo menos noção básica de legislação tributária, e tenha sempre em mente que essa legislação é muito dinâmica, ou seja, você precisa acompanhar sempre porque as coisas mudam com bastante frequência. Primeiro, em qual estado você está? Além das normas Nacional, há a legislação própria de cada estado, veja porque: 1-Há cinco tipos de impostos, a saber: ICMS/ISSQN/IPI/PIS-PASEP e COFINS. ICMS = Estadual. Cada estado tem sua legislação própria. ISSQN = Municipal (para prestadores de serviço) e cada município tem suas alíquotas e legislação própria. IPI = Federal. Usado por fabricantes e importadores PIS/PASEP e COFINS = Federal. Esse é para todo mundo... Isto para efeito de emissão de nota fiscal. Há outros que são calculados pelo contabilista durante a escrituração e apuração do imposto, que não entram na NF-e, tais como: IRPJ, CSLL e CPP. 2-Há dois Regimes de apuração do imposto: a-Simples Nacional (também conhecido como Regime Especial) b-RPA = Regime Periódico de Apuração (também é comum dizer Regime Normal). 3-No Regime Normal (RPA), há duas Formas de apuração: a-Lucro Presumido - Esse tem direito a algumas coisas do Regime Especial, como a alíquota do PIS/PASEP e COFINS por exemplo. b-Lucro Real - Lucro Real, é o mais exigente dos regimes, você precisa emitir alguns tipos de notas não obrigatórias para os demais regimes, tal como perda de mercadoria, descartes, doação ou bonificação. A apuração é feita com base no faturamento Bruto menos a somatória das notas de entrada (compras), as despesas permitidas pela legislação, como folha de pagamento, alimentação, transporte, etc., as perdas ou descartes (doação e bonificação não se deduz da base de cálculo), e que resulta no Lucro Real para apuração do imposto a recolher. 4-Quem usa CST e quem usa CSOSN: a-O Simples Nacional usa CSOSN = Código de Situação da Operação no Simples Nacional, e têm 3 dígitos. b-Lucro Presumido e Lucro Real usam CST = Código da Situação Tributária, e têm dois dígitos. No DANFE, a origem do produto precede o CST e CSOSN, a origem dos produtos pode ser classificadas entre 0 a 8, assim, se um produto tem CST 00 e origem Nacional será impresso no DANFE: 000. Cada estado tem seu RICMS. Por exemplo, como estou em SP, para entender como funciona as alíquotas aplicadas a quais produtos, e quais CST/CSOSN usar, precisa conhecer MINIMAMENTE os Artigos: 52, 54, 54A, 55, 55A, 56C, e os Anexos I (Produtos Isentos) e II (Produtos com Redução Tributária): RICMS/2000-SP Quanto a entender sobre o regime Simples Nacional, você precisa conhecer minimamente: Lei Complementar 123/2006 Resolução CGSN 94/20113 pontos
-
Gente, desculpe, já achei o problema Meu sistema estava truncando valor unitário da hora de calcular... desculpe...1 ponto
-
Obrigado, irei verificar. Peço desculpas pelo erro, é a primeira vez que utilizo o fórum, não acontecerá mais.1 ponto
-
Marcos, Eu faço da seguinte forma: // Configurações -> Arquivos DMDFe.CTe.Configuracoes.Arquivos.AdicionarLiteral := True; DMDFe.CTe.Configuracoes.Arquivos.EmissaoPathCTe := True; DMDFe.CTe.Configuracoes.Arquivos.SepararPorMes := True; DMDFe.CTe.Configuracoes.Arquivos.SepararPorModelo := False; DMDFe.CTe.Configuracoes.Arquivos.SepararPorCNPJ := False; DMDFe.CTe.Configuracoes.Arquivos.Salvar := True; DMDFe.CTe.Configuracoes.Arquivos.PathCTe := Trim(DM_CTA.ParamDFePathSalvar.AsString); DMDFe.CTe.Configuracoes.Arquivos.PathInu := Trim(DM_CTA.ParamDFePathSalvar.AsString); DMDFe.CTe.Configuracoes.Arquivos.PathEvento := Trim(DM_CTA.ParamDFePathSalvar.AsString); DMDFe.CTe.Configuracoes.Arquivos.PathSchemas := Trim(DM_CTA.ParamDFePathSchema.AsString); PathMensal := DMDFe.CTe.Configuracoes.Arquivos.GetPathCTe(0); DMDFe.CTe.Configuracoes.Arquivos.PathSalvar := PathMensal; Onde DMDFe é um Data Module e o componente ACBrCTe1 foi renomeado para CTe.1 ponto
-
Bom dia André, Analisando o WSDL do provedor com o arquivo INI do mesmo noite que no WSDL não existe nenhuma URL definida para o SoapAction, já no arquivo INI consta a palavra enviar. Veja como esta no arquivo INI: [SoapAction] Recepcionar=enviar ConsSit='' ConsLote=nfdSaida ConsNFSeRps= ConsNFSe= Cancelar=NfdEntradaCancelar Gerar= RecSincrono= Substituir=enviar A minha sugestão é: [SoapAction] Recepcionar=* ConsSit='' ConsLote=* ConsNFSeRps=* ConsNFSe=* Cancelar=* Gerar=* RecSincrono=* Substituir=* Ou seja atribuir o caractere * para todos o SoapAction. Faça essa alteração e refaça os testes. Se funcionar nos de um retorno para que possamos fazer o mesmo e enviar o arquivo INI corrigido para o repositório.1 ponto
-
Bom dia José, Monte o TXT da seguinte forma: [Seg001]respSeg=1CNPJ=09999926000170nApol=065459334-5xSeg=PORTO SEGUROCNPJ=121212210001711 ponto
-
Bom dia. Você não precisa saber "tudo" sobre legislação tributária, mas com certeza necessitará de um conhecimento básico pra tal, em especial no que diz respeito à integração dos teus sistemas às regras fiscais. Mas nem tudo está perdido. Ainda bem que aqui mesmo existe uma solução, e o melhor, preparada por grandes especialistas tanto em programação de altíssimo nível quanto às adequações às normas legais. Lhe indico ler a respeito do ACBrMonitorPlus. Você precisa apenas configurá-lo, gerar os arquivos TXT obedecendo os comandos necessários e pronto. Penso que, pelo caminho que parece que você precise percorrer, esta solução é a menos dolorosa.1 ponto
-
Pessoal! Em minha situação resolvi do seguinte modo: Instalado o FastReport VCL baixado pelo link indicado pelo Juliomar; Atualizado os fontes do ACBr e Reinstalado.1 ponto
-
De acordo com o código da Synapse, se não encontrar o "AUTH" , na lista de capacidades do Servidor, ele não fará login.... s := FindCap('AUTH '); if s = '' then s := FindCap('AUTH='); auths := UpperCase(s); if s <> '' then begin if (Pos('PLAIN', auths) > 0) then FAuthDone := AuthPlain; if (not FauthDone) and (Pos('LOGIN', auths) > 0) then FAuthDone := AuthLogin; if (not FauthDone) and (Pos('CRAM-MD5', auths) > 0) then FAuthDone := AuthCram; end; Aparentemente é algum erro na configuração do seu servidor SMTP... Tente o seguinte ajuste, em smtpsend.pas, definindo um valor padrão "AUTH PLAIN", se nenhuma informação de autenticação seja enviada pelo servidor... s := FindCap('AUTH '); if s = '' then s := FindCap('AUTH='); if s = '' then s := 'AUTH PLAIN';1 ponto
-
1 ponto
-
Bom dia amigos. Parabéns pelo trabalho. Fiz essa pequena API para emissão de boletos, usando o ACBR Monitor Plus. Gostaria de compartilhar com vocês aqui: Toda a comunicação é feita pela rede usando JSON. Essa é a API. Aqui o aplicativo de teste que se comunica com o servidor. Abraços!1 ponto
-
Pessoal, tenho um cadastro com pouco mais de 17 mil itens apenas de drogaria. Somente itens de NFe importadas dos distribuidores. coloquei ean13, ncm e a descricao caso queiram conferir algo. Se alguem tiver cadastro de drogaria com estas informaçoes, posta aqui. abraço drogaria_ean-ncm-descricao.txt1 ponto
-
dreamsoft_PR, Bom dia! Dá uma olhada nesse POST : Lá tem um pequeno exemplo de como tratar um retorno pelo ACBr. Espero que seja útil pra você. Até mais,1 ponto
-
Vinícius, Boa noite. Bem vindo então, rsrs, abandonamos o cobrebemx também. Bom, no retorno eu trato dessa maneira: procedure TfrmXTrataRetornoBancario.LerRetornoAcbr; var bErroACBr : boolean; i : Integer; begin if(cmbLocalCobranca.ItemIndex=-1) then begin MsgInfo('Selecione um local de cobrança primeiro'); Exit; end; bErroACBr := false; try ConfigACBr; // lembrando que quando configuro deixo a tag ACBrBoleto.LeCedenteRetorno := true; except bErroAcbr := true; MsgErro('Dados não foram inseridos corretamente no componente ACBr'); end; if(bErroAcbr) then Exit; // o arquivo pode estar em qualquer lugar. ACBrBoleto.DirArqRetorno := ExtractFilePath(txtArqRetorno.Text); // somente o nome do arquivo ACBrBoleto.NomeArqRetorno := ExtractFileName(txtArqRetorno.Text); // carrega na coleção ocorrencias de cobrança ACBrBoleto.LerRetorno; txtRegistros.Value := 0; for i := 0 to ACBrBoleto.ListadeBoletos.Count - 1 do begin gridPesquisa.RowCount := i + 2; gridPesquisa.Cells[0,i + 1] := IntToStr(i); gridPesquisa.Cells[1,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].NossoNumero; gridPesquisa.Cells[8,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].SeuNumero; gridPesquisa.Cells[9,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].NumeroDocumento; gridPesquisa.Cells[2,i + 1] := FormatDateTime('dd/mm/yyyy',ACBrBoleto.ListadeBoletos.Objects[i].DataCredito); gridPesquisa.Cells[3,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].Carteira; gridPesquisa.Cells[4,i + 1] := FormatDateTime('dd/mm/yyyy',ACBrBoleto.ListadeBoletos.Objects[i].DataOcorrencia); gridPesquisa.Cells[5,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].CodigoLiquidacao; gridPesquisa.Cells[6,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].CodigoLiquidacaoDescricao; gridPesquisa.Cells[7,i + 1] := ACBrBoleto.ListadeBoletos.Objects[i].Sacado.NomeSacado; if(ACBrBoleto.ListadeBoletos.Objects[i].ValorRecebido > 0) then gridPesquisa.Cells[10,i + 1] := 'SIM' else begin gridPesquisa.Cells[10,i + 1] := 'NAO'; gridPesquisa.Cells[2,i + 1] := ''; end; if(trim(gridPesquisa.Cells[6,i + 1]) = 'Compensação Eletrônica') then gridPesquisa.Cells[6,i + 1] := 'Comp.Eletrônica'; if(trim(gridPesquisa.Cells[2,i + 1]) = '') then gridPesquisa.Cells[6,i + 1] := ''; gridPesquisa.Cells[11,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorRecebido); gridPesquisa.Cells[12,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorDesconto); gridPesquisa.Cells[13,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorMoraJuros); gridPesquisa.Cells[14,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorOutrasDespesas + ACBrBoleto.ListadeBoletos.Objects[i].ValorIOF ); gridPesquisa.Cells[15,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorOutrasDespesas); gridPesquisa.Cells[16,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorPago); gridPesquisa.Cells[17,i + 1] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorDespesaCobranca); if( DescricaoMotivoRejeicaoComando.Text <> '' ) then // problemas na baixa, registro o motivo grdListado.Cells[18,i + 1] := grdListado.Cells[1,i + 1]+' - '+DescricaoMotivoRejeicaoComando.Text else begin // localizar título no sistema qryPesquisa.Close; qryPesquisa.SQL.Clear; qryPesquisa.SQL.Add('SELECT id, vencto, venda, cliente, situacaotit FROM contasareceber WHERE nossonumero = ''' + Trim(gridPesquisa.Cells[1,i + 1]) + ''''); qryPesquisa.SQL.Add('AND empresa = ' + variables._EMP_CODI); qryPesquisa.Open; if(not qryPesquisa.Eof) then begin gridPesquisa.Cells[0 ,i + 1] := 'SIM'; gridPesquisa.Cells[20,i + 1] := qryPesquisa.FieldByName('id').AsString; gridPesquisa.Cells[22,i + 1] := qryPesquisa.FieldByName('vencto').AsString; gridPesquisa.Cells[23,i + 1] := qryPesquisa.FieldByName('cliente').AsString; if qryPesquisa.FieldByName('venda').AsString = '' then gridPesquisa.Cells[21,i + 1] := '0' // lancto avulso else gridPesquisa.Cells[21,i + 1] := qryPesquisa.FieldByName('venda').AsString; if(qryPesquisa.FieldByName('situacaotit').AsString = 'P') then gridPesquisa.Cells[8,i + 1] := 'SIM' // alguem já baixou else gridPesquisa.Cells[8,i + 1] := 'NAO'; end else begin gridPesquisa.Cells[20,i + 1] := ''; gridPesquisa.Cells[21,i + 1] := '0'; end; qryPesquisa.Close; end; gridPesquisa.Row := i + 1; end; end; Dessa maneira, eu abro o arquivo de retorno, leio e pesquiso no meu bd pelo nosso número que gerei na remessa. Assim eu obtenho a ID do meu contas a receber e fica um botão na tela chamado PROCESSAR BAIXA pro usuário comandar as baixas. Veja aí se ajuda, Até mais,1 ponto
-
Boa noite. na realidade o arquivo retornado pelo banco não está de acordo com o manual fornecido pelo mesmo. Página 13 do Manual disponível em svn svn.code.sf.net/p/acbr/code/tools/Bancos/Itau IDENTIFICAÇÃO DO TIPO DE INSCRIÇÃO/EMPRESA 002 003 9(02) / 01=CPF 02=CNPJ NÚMERO DE INSCRIÇÃO DA EMPRESA (CPF/CNPJ) 004 017 Em seu arquivo as posições 02 a 03 estão preenchidas com "02", porém o conteúdo das posições 04 a 17 é um CPF. Att.1 ponto
