Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 6, 2025

Addresses feedback on PR #42 to make ISSQN calculation in CalculaBaseCalculoIbsCbs consistent with how other taxes (PIS, COFINS, ICMS) are calculated.

Changes

  • Replace manual ISSQN calculation with TributacaoIssqn class - Ensures discount handling respects _tipoDesconto parameter through proper abstraction
  • Add error handling with try-catch - Returns 0 on calculation errors to prevent IBS/CBS base calculation failures
  • Pass false to Calcula() - Skips retention calculations (ValorRetPis, ValorRetCofins, etc.) since only ISSQN value is needed for base deduction

Before:

private decimal CalcularValorIssqn()
{
    if (_tributavel.IsServico && _tributavel.PercentualIssqn > 0)
    {
        var baseCalculoIssqn = (_tributavel.ValorProduto * _tributavel.QuantidadeProduto) - _tributavel.Desconto;
        return baseCalculoIssqn * _tributavel.PercentualIssqn / 100;
    }
    return 0m;
}

After:

private decimal CalcularValorIssqn()
{
    if (_tributavel.IsServico && _tributavel.PercentualIssqn > 0)
    {
        try
        {
            var tributacaoIssqn = new TributacaoIssqn(_tributavel, _tipoDesconto);
            return tributacaoIssqn.Calcula(false).Valor;
        }
        catch
        {
            return 0m;
        }
    }
    return 0m;
}

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] WIP address feedback on previous PR Refactor ISSQN calculation to use TributacaoIssqn class for consistency Nov 6, 2025
Copilot AI requested a review from robertorp November 6, 2025 17:02
@robertorp robertorp marked this pull request as ready for review November 6, 2025 17:09
@robertorp robertorp merged commit 04db98e into ra/feat-reforma-tributaria Nov 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants