---
title: "Retornar comparativo série-a-série entre proposta e tabela"
method: GET
path: "/v4/comercial/reservas/{idReserva}/comparativo-tabela-de-preco"
tags: ["Reservas"]
---

# Retornar comparativo série-a-série entre proposta e tabela

`GET /v4/comercial/reservas/{idReserva}/comparativo-tabela-de-preco`

## Request

- Base URL: `https://integracao.cvcrm.com.br/api`
- URL: `https://integracao.cvcrm.com.br/api/v4/comercial/reservas/{idReserva}/comparativo-tabela-de-preco`
- Auth: HTTP bearer

Retorna o comparativo série-a-série entre a proposta (parcelas cadastradas na reserva)
e a tabela de preço vinculada à unidade. Quando a reserva tem `tabela_minima`
(ou `idTabelaMinima` é informado), retorna também um segundo comparativo sob a chave `minima`.

## Path parameters

- `idReserva` integer, required

## Query parameters

- `idTabela` integer
- `idTabelaMinima` integer

## Response `200`

Comparativo calculado

- object
  - `status` string
  - `code` integer
  - `data` ComparativoTabelaPrecoResponse
    - `filtros` ComparativoFiltros, required
      - `idTabela` integer, nullable
      - `idTabelaMinima` integer, nullable
      - `idTabelaResolvido` integer, nullable
      - `idTabelaMinimaResolvido` integer, nullable
    - `principal` ComparativoBloco, required
      - `idTabela` integer
      - `nomeTabela` string, nullable
      - `totais` ComparativoTotais
        - `valorContratoProposta` number, float
        - `valorContratoTabela` number, float
        - `vplProposta` number, float
        - `vplTabela` number, float
        - `totalCondicoes` number, float: Sum(valor × qtdParcelas) das séries da proposta
        - `totalTabela` number, float: Sum(valor × qtdParcelas) das séries da tabela
        - `status` 'maior' | 'menor' | 'igual': Comparação totalCondicoes × totalTabela
      - `diferencas` ComparativoDiferencas
        - `vpl` object: Diferença VPL: vplProposta − vplTabela
          - `valor` number, float: Em R$
          - `percentual` number, float: Relativo ao vplTabela
        - `valorContrato` object: Diferença do valor de contrato: valorContratoProposta − valorContratoTabela
          - `valor` number, float: Em R$
          - `percentual` number, float: Relativo ao valorContratoTabela
        - `valorPorMetro` object
          - `areaPrivativa` number, float: m² da unidade da reserva
          - `tabela` number, float: valorContratoTabela / areaPrivativa
          - `proposta` number, float: valorContratoProposta / areaPrivativa
        - `valorRecebidoSemFinanciamento` object: Soma valor × qtdParcelas das séries com financiamento != S
          - `tabela` number, float
          - `proposta` number, float
      - `series` ComparativoSerie[]
        - `idSerie` integer
        - `nome` string
        - `proposta` SerieProposta, nullable
          - `qtdParcelas` integer
          - `valor` number, float: Valor de cada parcela da série
          - `valorPresente` number, float: Valor presente (VPL) da série na proposta, em R$ — soma do vpl_parcela já gravado em cada parcela da série. A soma das séries corresponde ao totais.vplProposta, exceto quando a reserva tem séries contrato_fora (entram no total, ficam fora de series).
          - `vencimento` string, nullable
          - `exibirVencimento` boolean
          - `pctParcial` number, float: % sobre totalCondicoes
          - `prosoluto` boolean
          - `financiamento` boolean
          - `ato` boolean
        - `tabela` SerieTabela, nullable
          - `qtdParcelas` integer
          - `valor` number, float: Valor de cada parcela da série
          - `valorPresente` number, float: Valor presente (VPL) da série na tabela, em R$ — parcelas da série descontadas pelos juros da reserva, na mesma data-base do cálculo total (reservas.data_base_calculo_pv quando válida, senão o primeiro vencimento do conjunto de séries), de modo que as séries repartem o totais.vplTabela (a soma pode diferir dele em centavos, porque cada série é arredondada em duas casas antes de entrar na resposta).
          - `vencimento` string, nullable
          - `exibirVencimento` boolean
          - `pctParcial` number, float: % sobre totalTabela
        - `diferenca` SerieDiferenca
          - `status` 'maior' | 'menor' | 'igual' | 'sem_proposta' | 'sem_tabela'
          - `pctDiferenca` number, float: |pctTabela − pctProposta|
          - `valorDiferenca` number, float: |valorTabela − valorProposta| total da série
    - `minima` ComparativoBloco, required
      - `idTabela` integer
      - `nomeTabela` string, nullable
      - `totais` ComparativoTotais
        - `valorContratoProposta` number, float
        - `valorContratoTabela` number, float
        - `vplProposta` number, float
        - `vplTabela` number, float
        - `totalCondicoes` number, float: Sum(valor × qtdParcelas) das séries da proposta
        - `totalTabela` number, float: Sum(valor × qtdParcelas) das séries da tabela
        - `status` 'maior' | 'menor' | 'igual': Comparação totalCondicoes × totalTabela
      - `diferencas` ComparativoDiferencas
        - `vpl` object: Diferença VPL: vplProposta − vplTabela
          - `valor` number, float: Em R$
          - `percentual` number, float: Relativo ao vplTabela
        - `valorContrato` object: Diferença do valor de contrato: valorContratoProposta − valorContratoTabela
          - `valor` number, float: Em R$
          - `percentual` number, float: Relativo ao valorContratoTabela
        - `valorPorMetro` object
          - `areaPrivativa` number, float: m² da unidade da reserva
          - `tabela` number, float: valorContratoTabela / areaPrivativa
          - `proposta` number, float: valorContratoProposta / areaPrivativa
        - `valorRecebidoSemFinanciamento` object: Soma valor × qtdParcelas das séries com financiamento != S
          - `tabela` number, float
          - `proposta` number, float
      - `series` ComparativoSerie[]
        - `idSerie` integer
        - `nome` string
        - `proposta` SerieProposta, nullable
          - `qtdParcelas` integer
          - `valor` number, float: Valor de cada parcela da série
          - `valorPresente` number, float: Valor presente (VPL) da série na proposta, em R$ — soma do vpl_parcela já gravado em cada parcela da série. A soma das séries corresponde ao totais.vplProposta, exceto quando a reserva tem séries contrato_fora (entram no total, ficam fora de series).
          - `vencimento` string, nullable
          - `exibirVencimento` boolean
          - `pctParcial` number, float: % sobre totalCondicoes
          - `prosoluto` boolean
          - `financiamento` boolean
          - `ato` boolean
        - `tabela` SerieTabela, nullable
          - `qtdParcelas` integer
          - `valor` number, float: Valor de cada parcela da série
          - `valorPresente` number, float: Valor presente (VPL) da série na tabela, em R$ — parcelas da série descontadas pelos juros da reserva, na mesma data-base do cálculo total (reservas.data_base_calculo_pv quando válida, senão o primeiro vencimento do conjunto de séries), de modo que as séries repartem o totais.vplTabela (a soma pode diferir dele em centavos, porque cada série é arredondada em duas casas antes de entrar na resposta).
          - `vencimento` string, nullable
          - `exibirVencimento` boolean
          - `pctParcial` number, float: % sobre totalTabela
        - `diferenca` SerieDiferenca
          - `status` 'maior' | 'menor' | 'igual' | 'sem_proposta' | 'sem_tabela'
          - `pctDiferenca` number, float: |pctTabela − pctProposta|
          - `valorDiferenca` number, float: |valorTabela − valorProposta| total da série

## Other responses

- `400`: Filtros inválidos
- `401`: Não autenticado
- `403`: Sem permissão
- `404`: Reserva inexistente ou sem condições
- `500`: Erro inesperado

---

[API](https://skmtc.dev/cvcrm/apis/servi-os-internos-do-construtor-de-vendas.md) - [All operations](https://skmtc.dev/cvcrm/apis/servi-os-internos-do-construtor-de-vendas/llms.txt) - [OpenAPI document](https://skmtc.dev/cvcrm/apis/servi-os-internos-do-construtor-de-vendas/revisions/9f2fd517acbb?raw)
