Membros Pro Windel Sistemas Postado 18 Março Membros Pro Postado 18 Março Bom Dia, Temos uma demanda de um cliente nosso, este precisaria calcular os impostos de CSLL e IR, porém não contém esses valores na ACBR API para a emissão do CT-e, assim gostaria de solicitar a inclusão dessas informações do infTribFed na ACBR API CT-e
Consultores Solution valterpatrick Postado 19 Março Consultores Solution Postado 19 Março 23 horas atrás, Windel Sistemas disse: Bom Dia, Temos uma demanda de um cliente nosso, este precisaria calcular os impostos de CSLL e IR, porém não contém esses valores na ACBR API para a emissão do CT-e, assim gostaria de solicitar a inclusão dessas informações do infTribFed na ACBR API CT-e Já tentou enviar no payload os campos? Talvez no exemplo não tenha, mas é gerado internamente. Observação: Estes dados só são gerados quando a versão do CTe é 3.00 acima e é CTeOS. Fontes: https://svn.code.sf.net/p/acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/Base/ACBrCTe.XmlWriter.pas function TCTeXmlWriter.Gerar_Imp: TACBrXmlNode; begin if (VersaoDF >= ve300) and (ModeloDF = moCTeOS) then Result.AppendChild(Gerar_infTribFed); end; function TCTeXmlWriter.Gerar_infTribFed: TACBrXmlNode; function InformarINSS: Integer; begin if ((Length(OnlyNumber(Trim(CTe.toma.CNPJCPF))) = 14) or (CTe.toma.EnderToma.cPais <> 1058)) and (CTe.Ide.tpServ in [tsTranspPessoas, tsExcessoBagagem]) then Result := 1 else Result := 0; end; begin Result := nil; if ((CTe.Imp.infTribFed.vPIS > 0) or (CTe.Imp.infTribFed.vCOFINS > 0) or (CTe.Imp.infTribFed.vIR > 0) or ((CTe.Imp.infTribFed.vINSS > 0) or (InformarINSS = 1)) or (CTe.Imp.infTribFed.vCSLL > 0)) then begin Result := FDocument.CreateElement('infTribFed'); Result.AppendChild(AddNode(tcDe2, '#244', 'vPIS', 1, 15, 0, CTe.Imp.infTribFed.vPIS, DSC_VPIS)); Result.AppendChild(AddNode(tcDe2, '#244', 'vCOFINS', 1, 15, 0, CTe.Imp.infTribFed.vCOFINS, DSC_VCOFINS)); Result.AppendChild(AddNode(tcDe2, '#244', 'vIR', 1, 15, 0, CTe.Imp.infTribFed.vIR, DSC_VIR)); Result.AppendChild(AddNode(tcDe2, '#244', 'vINSS', 1, 15, InformarINSS, CTe.Imp.infTribFed.vINSS, DSC_VINSS)); Result.AppendChild(AddNode(tcDe2, '#244', 'vCSLL', 1, 15, 0, CTe.Imp.infTribFed.vCSLL, DSC_VCSLL)); end; end; Valter Patrick Gerente de Projetos na empresa CTEC Consultor ACBr (33)98400-0936 GitHub: https://github.com/valterpatrick Ajude o Projeto ACBr crescer - Assine o Clube PRO (15) 2105-0750 (15)99790-2976. Discord
Membros Pro Windel Sistemas Postado 19 Março Autor Membros Pro Postado 19 Março 5 horas atrás, valterpatrick disse: Já tentou enviar no payload os campos? Talvez no exemplo não tenha, mas é gerado internamente. Observação: Estes dados só são gerados quando a versão do CTe é 3.00 acima e é CTeOS. Fontes: https://svn.code.sf.net/p/acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/Base/ACBrCTe.XmlWriter.pas function TCTeXmlWriter.Gerar_Imp: TACBrXmlNode; begin if (VersaoDF >= ve300) and (ModeloDF = moCTeOS) then Result.AppendChild(Gerar_infTribFed); end; function TCTeXmlWriter.Gerar_infTribFed: TACBrXmlNode; function InformarINSS: Integer; begin if ((Length(OnlyNumber(Trim(CTe.toma.CNPJCPF))) = 14) or (CTe.toma.EnderToma.cPais <> 1058)) and (CTe.Ide.tpServ in [tsTranspPessoas, tsExcessoBagagem]) then Result := 1 else Result := 0; end; begin Result := nil; if ((CTe.Imp.infTribFed.vPIS > 0) or (CTe.Imp.infTribFed.vCOFINS > 0) or (CTe.Imp.infTribFed.vIR > 0) or ((CTe.Imp.infTribFed.vINSS > 0) or (InformarINSS = 1)) or (CTe.Imp.infTribFed.vCSLL > 0)) then begin Result := FDocument.CreateElement('infTribFed'); Result.AppendChild(AddNode(tcDe2, '#244', 'vPIS', 1, 15, 0, CTe.Imp.infTribFed.vPIS, DSC_VPIS)); Result.AppendChild(AddNode(tcDe2, '#244', 'vCOFINS', 1, 15, 0, CTe.Imp.infTribFed.vCOFINS, DSC_VCOFINS)); Result.AppendChild(AddNode(tcDe2, '#244', 'vIR', 1, 15, 0, CTe.Imp.infTribFed.vIR, DSC_VIR)); Result.AppendChild(AddNode(tcDe2, '#244', 'vINSS', 1, 15, InformarINSS, CTe.Imp.infTribFed.vINSS, DSC_VINSS)); Result.AppendChild(AddNode(tcDe2, '#244', 'vCSLL', 1, 15, 0, CTe.Imp.infTribFed.vCSLL, DSC_VCSLL)); end; end; Verdade, não tinha me ligado que era somente de CT-e OS, para esse já enviamos os valores.
Consultores valterpatrick Postado 19 Março Consultores Postado 19 Março 1 minuto atrás, Windel Sistemas disse: Verdade, não tinha me ligado que era somente de CT-e OS, para esse já enviamos os valores. Tendo em vista isto, resolvido ou precisa de ajuda em algo mais? Valter Patrick Gerente de Projetos na empresa CTEC Consultor ACBr (33)98400-0936 GitHub: https://github.com/valterpatrick Ajude o Projeto ACBr crescer - Assine o Clube PRO (15) 2105-0750 (15)99790-2976. Discord
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora