RENAVE · Resolução CONTRAN 1.026/2026

As notas do estoque de veículos, prontas pela API

O RENAVE recebe só a chave da NF-e e confere quem emitiu e para quem. A API do ForeCast monta a compra de pessoa física, a venda, a consignação, a devolução e a transferência com o destinatário certo, e o seu sistema só manda o carro e as pessoas.

Nenhuma NF-e de veículo foi emitida ainda: a produção é liberada para cada revenda depois da primeira nota autorizada em homologação.

O que é o RENAVE, quem é obrigado e qual o prazo? Leia o guia completo.

resposta de POST /v2/nfe
{
  "ref": "venda-9BWAG45U0KT123456",
  "status": "autorizado",
  "chave_nfe": "41260936120187000104550010000000081415273680",
  "protocolo": "141260001590722",
  "cpf_cnpj_destinatario": "52998224725",
  "caminho_xml_nota_fiscal": "/v2/nfe/venda-9BWAG45U0KT123456.xml"
}

O caminho

Quatro passos, nesta ordem

A nota precisa estar autorizada e com o destinatário igual ao do estoque antes de a chave ir ao RENAVE.

  1. 01

    Solicite a entrada ou a saída no RENAVE

    Pela integradora, como hoje. O RENAVE só aceita a nota DEPOIS da solicitação.

  2. 02

    Emita a NF-e no ForeCast com operacao_veiculo

    Mande o carro e a pessoa do outro lado. O ForeCast escolhe tipo, CFOP, finalidade e natureza, e põe chassi, RENAVAM e placa na nota.

  3. 03

    Receba a chave de 44 dígitos

    Na resposta do POST ou no webhook nfe.autorizada, com o CNPJ da loja e a sua ref.

  4. 04

    Envie a chave ao RENAVE

    O RENAVE busca a nota pela chave e confere emitente e destinatário contra o estoque. Destinatário diferente do vendedor ou do comprador cadastrado é recusa.

operacao_veiculo

Oito operações prontas

Você manda operacao_veiculo, o veículo em cada item e a pessoa do outro lado. Chassi, RENAVAM e placa vão para as informações do item; sem código de produto, o chassi vira o código.

operacao_veiculoNotaDestinatárioPrecisa de
compra_pfEntrada 1.102Vendedor pessoa física (CPF)Regra de compra do NCM
vendaSaída 5.102 (6.102 fora do estado)Comprador (CPF ou CNPJ)Regra de venda; PIS/COFINS sobre a margem com veiculo.valor_aquisicao
consignacao_entradaEntrada 1.917Dono pessoa física (CPF)Regra do CFOP 1917 com o cClassTrib
consignacao_vendaSaída 5.115Comprador (CPF ou CNPJ)Regra de venda (ou do CFOP 5115)
consignacao_devolucaoSaída 5.918, finalidade 4Dono (CPF ou CNPJ)Chave da entrada em consignação; regra do CFOP 5918
devolucao_vendaEntrada 1.202, finalidade 4Quem comprou (CPF ou CNPJ)Chave da venda; regra do CFOP 1202
devolucao_compraSaída 5.202, finalidade 4Quem vendeu (CPF ou CNPJ)Chave da compra; regra do CFOP 5202 com o cClassTrib
transferenciaSaída 5.152 (só a origem emite)Outra loja da mesma empresa (CNPJ + IE)Regra do CFOP 5152; IBS/CBS 410002 automático

Tudo que a SEFAZ recusaria depois — CFOP de outra operação, destinatário errado, chave referenciada inválida, operação sem a tributação da loja — volta como 400 com a correção, antes de reservar número.

Compra de usado de pessoa físicaA nota de entrada que a loja emite quando compra de particular. IBS/CBS sai com 410017 no Regime Normal.
comando
curl -u "$TOKEN_DA_REVENDA:" -H "Content-Type: application/json" \
  -X POST "https://forecastfiscal.com.br/api/v2/nfe?ref=compra-9BWAG45U0KT123456"
corpo (JSON)
{
  "cnpj_emitente": "36120187000104",
  "operacao_veiculo": "compra_pf",
  "cpf_destinatario": "11144477735",
  "nome_destinatario": "JOAO DA SILVA",
  "logradouro_destinatario": "Rua das Flores", "numero_destinatario": "10",
  "bairro_destinatario": "Centro", "municipio_destinatario": "Maringa",
  "uf_destinatario": "PR", "cep_destinatario": "87013000",
  "items": [{
    "descricao": "VW GOL 1.0 2019/2020",
    "codigo_ncm": "87032100",
    "valor_bruto": 45000.00,
    "veiculo": {
      "chassi": "9BWAG45U0KT123456", "renavam": "01234567890", "placa": "ABC1D23",
      "marca_modelo": "VW GOL 1.0", "ano_fabricacao": 2019, "ano_modelo": 2020,
      "cor": "PRATA", "quilometragem": 45000
    }
  }],
  "formas_pagamento": [{ "forma_pagamento": "90", "valor_pagamento": 0 }]
}
Venda de usado com PIS/COFINS sobre a margemO custo de aquisição nunca sai na nota: serve só para a base do PIS/COFINS quando a regra de venda pede a margem.
comando
curl -u "$TOKEN_DA_REVENDA:" -H "Content-Type: application/json" \
  -X POST "https://forecastfiscal.com.br/api/v2/nfe?ref=venda-9BWAG45U0KT123456"
corpo (JSON)
{
  "cnpj_emitente": "36120187000104",
  "operacao_veiculo": "venda",
  "cpf_destinatario": "52998224725",
  "nome_destinatario": "MARIA SOUZA",
  "logradouro_destinatario": "Rua B", "numero_destinatario": "20",
  "bairro_destinatario": "Centro", "municipio_destinatario": "Maringa",
  "uf_destinatario": "PR", "cep_destinatario": "87013000",
  "items": [{
    "descricao": "VW GOL 1.0 2019/2020",
    "codigo_ncm": "87032100",
    "valor_bruto": 52000.00,
    "veiculo": {
      "chassi": "9BWAG45U0KT123456", "renavam": "01234567890", "placa": "ABC1D23",
      "valor_aquisicao": 45000.00
    }
  }],
  "formas_pagamento": [{ "forma_pagamento": "17", "valor_pagamento": 52000.00 }]
}
Transferência para a filialSó a loja de origem emite. A loja que recebe usa a MESMA chave como nota de entrada no RENAVE. Sem formas_pagamento, sai "sem pagamento".
comando
curl -u "$TOKEN_DA_REVENDA:" -H "Content-Type: application/json" \
  -X POST "https://forecastfiscal.com.br/api/v2/nfe?ref=transf-9BWAG45U0KT123456"
corpo (JSON)
{
  "cnpj_emitente": "36120187000104",
  "operacao_veiculo": "transferencia",
  "cnpj_destinatario": "36120187000295",
  "inscricao_estadual_destinatario": "9012345678",
  "nome_destinatario": "REVENDA LTDA - FILIAL",
  "logradouro_destinatario": "Av Colombo", "numero_destinatario": "500",
  "bairro_destinatario": "Zona 7", "municipio_destinatario": "Maringa",
  "uf_destinatario": "PR", "cep_destinatario": "87020000",
  "items": [{
    "descricao": "VW GOL 1.0 2019/2020",
    "codigo_ncm": "87032100",
    "valor_bruto": 45000.00,
    "veiculo": { "chassi": "9BWAG45U0KT123456", "renavam": "01234567890", "placa": "ABC1D23" }
  }]
}
Devolução de vendaFinalidade 4 e a chave da venda. A chave é conferida (modelo 55 e dígito verificador) antes de gastar número.
comando
curl -u "$TOKEN_DA_REVENDA:" -H "Content-Type: application/json" \
  -X POST "https://forecastfiscal.com.br/api/v2/nfe?ref=devolucao-9BWAG45U0KT123456"
corpo (JSON)
{
  "cnpj_emitente": "36120187000104",
  "operacao_veiculo": "devolucao_venda",
  "notas_referenciadas": [{ "chave_nfe": "41260936120187000104550010000000071415273685" }],
  "cpf_destinatario": "52998224725",
  "nome_destinatario": "MARIA SOUZA",
  "logradouro_destinatario": "Rua B", "numero_destinatario": "20",
  "bairro_destinatario": "Centro", "municipio_destinatario": "Maringa",
  "uf_destinatario": "PR", "cep_destinatario": "87013000",
  "items": [{
    "descricao": "VW GOL 1.0 2019/2020",
    "codigo_ncm": "87032100",
    "valor_bruto": 52000.00,
    "veiculo": { "chassi": "9BWAG45U0KT123456", "renavam": "01234567890", "placa": "ABC1D23" }
  }]
}

Tributação

Quem decide o imposto é o contador da loja

O ForeCast não adivinha CST de veículo: cada revenda cadastra as regras por NCM — compra, venda e, por CFOP, devolução, transferência e consignação. Operação sem regra é recusada com o CFOP que falta.

PUT /v2/empresas/{cnpj}/regras_tributarias
curl -u "$TOKEN_DA_REVENDA:" -H "Content-Type: application/json" \
  -X PUT "https://forecastfiscal.com.br/api/v2/empresas/36120187000104/regras_tributarias" -d '{
  "regras": [
    { "nome": "Compra de veiculo", "ncms": ["8703"], "operacao": "entrada",
      "icms_situacao_tributaria": "90",
      "pis_situacao_tributaria": "70", "cofins_situacao_tributaria": "70" },
    { "nome": "Venda de veiculo usado", "ncms": ["8703"], "operacao": "saida",
      "icms_situacao_tributaria": "20", "icms_aliquota": 12, "icms_reducao_base_calculo": 95,
      "pis_situacao_tributaria": "01", "pis_aliquota_porcentual": 0.65,
      "cofins_situacao_tributaria": "01", "cofins_aliquota_porcentual": 3,
      "pis_cofins_sobre_margem": true },
    { "nome": "Transferencia", "ncms": ["87"], "cfops": ["5152", "6152"],
      "icms_situacao_tributaria": "41",
      "pis_situacao_tributaria": "08", "cofins_situacao_tributaria": "08" }
  ]
}'

IBS/CBS: no Regime Normal a nota de veículo sempre leva o grupo. Transferência sai com 410002 e compra de pessoa física com 410017 (tabela oficial do SVRS); nas demais, o código vem da regra.

Parceiros

Para sistemas de gestão e integradoras: um token seu, um token por loja

O modelo que você já conhece da Focus NFe. Com o token do parceiro, você cria a revenda e recebe os tokens dela; com o token da revenda, usa a API de sempre. Você paga por nota autorizada em produção da carteira, e acompanha tudo no painel.

criar a revenda
curl -u "$TOKEN_DO_PARCEIRO:" -H "Content-Type: application/json" \
  -X POST "https://forecastfiscal.com.br/api/v2/parceiro/revendas" -d '{
  "cnpj": "36120187000104", "nome": "REVENDA LTDA", "inscricao_estadual": "9083840169",
  "logradouro": "Avenida Brasil", "numero": "1000", "bairro": "Centro",
  "municipio": "Maringa", "uf": "PR", "cep": "87013000",
  "regime_tributario": 3, "email_contato": "fiscal@revenda.com.br"
}'
resposta (os tokens aparecem uma vez)
{
  "account_id": "8d3c…",
  "cnpj": "36120187000104",
  "nome": "REVENDA LTDA",
  "status": "ATIVA",
  "token_homologacao": "ff_hml_…",
  "token_producao": "ff_prod_…",
  "empresa": { "cnpj": "36120187000104", "razaoSocial": "REVENDA LTDA", … },
  "proximos_passos": [ "POST /v2/empresas/36120187000104/certificado …", … ],
  "aviso": "Guarde os tokens agora: eles nao serao mostrados de novo …"
}

Referência

Rotas do parceiro

Autenticação por token no usuário do Basic Auth (senha vazia) ou Bearer — igual à Focus. Token de homologação nunca emite nota real.

POST/v2/parceiro/revendasCria a revenda e devolve os tokens de homologação e produção dela (uma única vez).
GET/v2/parceiro/revendasA carteira: revendas, CNPJs, certificado, produção habilitada e notas do mês.
GET/v2/parceiro/revendas/{cnpj}Uma revenda pelo CNPJ de qualquer empresa dela.
POST/v2/parceiro/revendas/{cnpj}/tokensRevoga e gera tokens novos ({"ambiente": "producao"} ou os dois).
GET/v2/parceiro/relatorio?competencia=AAAA-MMNotas autorizadas em produção por CNPJ × preço por nota — a base da sua fatura.

Com o token da revenda

POST/v2/empresas/{cnpj}/certificadoCertificado A1: {"arquivo_certificado_base64": "…", "senha_certificado": "…"}.
PUT/v2/empresas/{cnpj}/regras_tributariasA tributação de cada operação, dita pelo contador da loja.
POST/v2/hooksWebhook: {"url": "https://…", "event": "nfe"} — recebe nfe.autorizada com a chave.
PUT/v2/empresas/{cnpj}{"habilita_nfe": true} com o token do ambiente, depois do teste em homologação.
POST/v2/nfe?ref={sua-ref}Emite. A ref é a sua chave de idempotência: repetir a chamada não gera outra nota.

Referência completa de todos os campos em /api/docs. Para virar parceiro e definir o preço por nota, fale com o ForeCast.