import ICRT from 'src/entities/@shared/types/crt.type'; import IOrigem from 'src/entities/@shared/types/origem.type'; import IUF from 'src/entities/@shared/types/uf.type'; import { IModalidadeBaseCalculoICMSST } from '../types/modalidade-base-calculo-icms-st.type'; import { IMotivoDesoneracaoICMS } from '../types/motivo-desoneracao-icms.type'; import { ITipoNota } from '../types/tipo-nota.type'; import { ITributacao } from '../types/tributacao.type'; export interface IObtainTaxParams { idNaturezaOperacao: number; } export interface IObtainTaxBody { tipoNota: ITipoNota; uf: IUF; municipio: { id: number; }; calcularImpostos?: boolean; crt?: ICRT; loja: { id: number; unidadeNegocio?: { id: number; }; }; produto: { id: number; valorUnitario: number; cupomFiscal: number; origem: IOrigem; quantidade: number; }; } export interface IObtainTaxResponse { data: { faturada?: boolean; observacoes?: string; pisCofinsPresumido?: boolean; somaImpostosTotal?: boolean; somaIcmsTotal?: boolean; aliquotaFunrural?: number; descontaFunrural?: boolean; consumidorFinal?: boolean; retImpostoRetido?: boolean; retAliquotaIr?: number; retValorIr?: number; retAliquotaCsll?: number; retValorCsll?: number; descontoCondicional?: boolean; baseComissao?: number; icms?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; porcentagemFcpDifal?: number; valorFcpDifal?: number; valorFcpEfetivo?: number; porcentagemFcp?: number; porcentagemFcpUfDestino?: number; modalidadeBaseCalculo?: number; valorPauta?: number; aliquotaPresumido?: number; porcentagemBaseCalculoUfDestino?: number; porcentagemIcmsUfDestino?: number; tipoPartilha?: number; valorIcmsDesonerado?: number; motivoDesoneracaoIcms?: IMotivoDesoneracaoICMS; baseDiferimento?: number; valorBaseDiferimento?: number; valorPresumido?: number; aliquotaPosicao?: number; }; valorPmc?: number; aliquotaValorAproxImpostos?: number; informacoesAdicionaisFisco?: string; incluirFreteIpi?: boolean; simples?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; baseDiferimento?: number; modalidadeBaseCalculo?: number; valorPauta?: number; valorImpostoSt?: number; valorBaseCalculoSt?: number; baseCalculoSt?: number; percentualAdicionadoSt?: number; modalidadeBaseCalculoSt?: number; valorPautaSt?: number; aliquotaSt?: number; aliquotaStRetido?: number; baseStRetido?: number; valorUnitarioBaseCstRetencao?: number; valorUnitarioIcmsStRetencao?: number; valorUnitarioIcmsSubstituto?: number; }; ipi?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; valorIpiFixoUnitario?: number; classeEnquadramentoIpi?: string; codigoEnquadramentoIpi?: number; codigoSelo?: string; codigoExTipi?: number; }; issqn?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; codigoListaServicos?: string; descontarIssTotalNota?: boolean; reterIss?: boolean; }; pis?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; valorPisFixo?: number; }; cofins?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; valorCofinsFixo?: number; }; icmsSt?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; percentualAdicionado?: number; modalidadeBaseCalculo?: IModalidadeBaseCalculoICMSST; valorPauta?: number; }; pisSt?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; }; cofinsSt?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; }; ii?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; }; codigoBeneficioFiscal?: string; porcentagemFcp?: number; cfop?: number; simplesSt?: { regraOperacao?: { id: number; }; tributacao?: ITributacao; cst?: string; aliquota?: number; base?: number; valorBaseCalculo?: number; valorImposto?: number; observacoes?: string; informacoesAdicionaisFisco?: string; }; }; }