- Home
- Financiamento
- Cartão - escondida
- Conta
- Empréstimos
- Renegociacao
- LoginSemSAML
- Ofertas Públicas
- Abrir Aplicativo BV
- Promoções
- Para Empresas
- Política de Cookies
- Ouvidoria
- Termos de Uso
- Política de privacidade
- Saiba mais
- Portabilidade de Empréstimo
- Links Oficiais
- Asset
- Carta de Contestação
- Inovação
- Institucional
- Fenauto
- Veículos
- DTVM
- BV private
- Open Finance
- Revisauto
- App BV
- Cartões
- Seguros
- Seguro Proteção Financeira
- Seguros nao Comercializados
- Seguro Auto
- Seguro Garantia Mecanica
- Seguro Auto Responsabilidade Civil Facultativa - RCF
- Seguro Auto Darwin
- Seguro Auto Casco
- Seguro Auto Completo
- Seguro Auto Total Cadastro
- Seguro Parcial para Automóveis
- Assistencias
- Plano Odontológico
- Renda Protegida Premiada
- Seguro Cartão Protegido
- Seguro Acidentes Pessoais Premiado
- Seguro Residencial
- Documentos e Informações
- Seguro Placa Solar
- Proximo Passo
- Boleto
- Atendimento
- Produtos não comercializados
- Cobrança
- Open Finance
- Gestão Open Finance
- Minha BV
- Resultados de Pesquisa
- Home
- Financiamento
- Cartão - escondida
- Conta
- Empréstimos
- Renegociacao
- LoginSemSAML
- Ofertas Públicas
- Abrir Aplicativo BV
- Promoções
- Para Empresas
- Política de Cookies
- Ouvidoria
- Termos de Uso
- Política de privacidade
- Saiba mais
- Portabilidade de Empréstimo
- Links Oficiais
- Asset
- Carta de Contestação
- Inovação
- Institucional
- Fenauto
- Veículos
- DTVM
- BV private
- Open Finance
- Revisauto
- App BV
- Cartões
- Seguros
- Seguro Proteção Financeira
- Seguros nao Comercializados
- Seguro Auto
- Seguro Garantia Mecanica
- Seguro Auto Responsabilidade Civil Facultativa - RCF
- Seguro Auto Darwin
- Seguro Auto Casco
- Seguro Auto Completo
- Seguro Auto Total Cadastro
- Seguro Parcial para Automóveis
- Assistencias
- Plano Odontológico
- Renda Protegida Premiada
- Seguro Cartão Protegido
- Seguro Acidentes Pessoais Premiado
- Seguro Residencial
- Documentos e Informações
- Seguro Placa Solar
- Proximo Passo
- Boleto
- Atendimento
- Produtos não comercializados
- Cobrança
- Open Finance
- Gestão Open Finance
- Minha BV
- Resultados de Pesquisa
The following has evaluated to null or missing:
==> disclaimerURL [in template "20097#20123#2946458" at line 54, column 17]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: disclaimerURL = disclaimerURL.getData() [in template "20097#20123#2946458" at line 54, column 3]
---- 1<#function formatText text> 2 <#assign cleanedText=text?lower_case 3 cleanedText=cleanedText?replace("à|á|ã|â", "a" , 'r' ) 4 cleanedText=cleanedText?replace("é|è|ê", "e" , 'r' ) 5 cleanedText=cleanedText?replace("í|ì|î", "i" , 'r' ) 6 cleanedText=cleanedText?replace("ó|ò|õ|ô", "o" , 'r' ) 7 cleanedText=cleanedText?replace("ú|ù|û", "u" , 'r' ) 8 cleanedText=cleanedText?replace("ç", "c" , 'r' ) 9 cleanedText=cleanedText?replace("!", "" , 'r' ) 10 cleanedText=cleanedText?replace("(?<=[0-9] 11 )(?:ª|º)", "" , 'r' ) 12 cleanedText=cleanedText?replace("\\s+", "-" , 'r' )> 13 <#return cleanedText> 14</#function> 15<#assign instanceId=.vars["reserved-article-id"].data> 16<#function truncateIgnoringSpaces text maxLength> 17 <#assign 18 count=0 19 result=""> 20 <#list text?split("") as char> 21 <#if count < maxLength> 22 <#assign result +=char> 23 <#if char !=" "> 24 <#assign count +=1> 25 </#if> 26 </#if> 27 </#list> 28 <#return result> 29</#function> 30<#function applyBold text> 31 <#assign boldText=text?replace("\\*\\*(.*?)\\*\\*", "<strong>$1</strong>" , "r" ) /> 32 <#return boldText> 33</#function> 34<#assign 35 backgroundColorContent=backgroundColor.getData() 36 inverseBackgrounds=["background-primary-pure", "background-primary-high" , "background-secondary-high" ] 37 isInverseButton=inverseBackgrounds?seq_contains(backgroundColorContent) 38 isAfterFirstBanner=getterUtil.getBoolean(bannerOrder.getData()) 39 isGradientDesk=getterUtil.getBoolean(backgroundGradient.getData()) 40 isGradientMobile=getterUtil.getBoolean(backgroundGradientMobile.getData()) 41 deskImage=desktopImage.getData() 42 mobImage=mobileImage.getData() 43 title=truncateIgnoringSpaces(bannerTitle.getData(), 40) 44 dataTitle=formatText(title) 45 subtitle=truncateIgnoringSpaces(bannerSubtitle.getData(), 160) 46 textFirstButton=truncateIgnoringSpaces(buttonText.getData(), 30) 47 dataFirstButton=formatText(textFirstButton) 48 linkFirstButton=buttonLink.getData() 49 ariaFirstButton=buttonAria.getData() 50 targetFirstButton=buttonTarget.getData() 51 disclaimerText=truncateIgnoringSpaces(bannerDisclaimerText.getData(), 70) 52 disclaimerTextFile=truncateIgnoringSpaces(bannerDisclaimerTextFile.getData(), 30) 53 disclaimerUploadFile=disclaimerFile.getData() 54 disclaimerURL=disclaimerURL.getData() 55> 56<div class="main-banner-product ${backgroundColorContent}" data-background-color="${backgroundColorContent}" data-component-id="${instanceId}"> 57 <div class="row flex-column-reverse flex-lg-row justify-content-between align-items-end"> 58 <div class="d-none d-lg-block col-lg-1 main-banner-product__col-off"></div> 59 <div class="col-12 col-lg main-banner-product__content pb-7"> 60 <div class="d-flex flex-column main-banner-product__template justify-content-between pt-lg-5"> 61 <div> 62 <#if title??> 63 <#if isAfterFirstBanner> 64 <h2 class="mb-3 mb-lg-4 main-banner-product__title" data-title="${dataTitle}"> 65 ${title} 66 </h2> 67 <#else> 68 <h1 class="mb-3 mb-lg-6 main-banner-product__title" data-title="${dataTitle}"> 69 ${title} 70 </h1> 71 </#if> 72 <hr class="mt-0 mb-4 mb-lg-6 main-banner-product__line"> 73 </#if> 74 <#if subtitle??> 75 <p class="mb-0 mb-lg-8 main-banner-product__body-text"> 76 ${applyBold(subtitle)} 77 </p> 78 </#if> 79 </div> 80 <div> 81 <div class="d-flex flex-column justify-content-between align-items-baseline mb-2"> 82 <#if textFirstButton?? && textFirstButton !=""> 83 <#if ((disclaimerText?? && disclaimerText !="" ) || (disclaimerTextFile?? && disclaimerTextFile !="" ))> 84 <#if isInverseButton> 85 <a 86 class="js-main-banner-product-button bv-btn-2 bv-btn-2__primary-inverse" 87 href="${linkFirstButton}" 88 data-link="${linkFirstButton}" 89 target="${targetFirstButton}" 90 data-title="${dataTitle}" 91 data-text="${dataFirstButton}" 92 <#if ariaFirstButton?has_content> aria-label="${ariaFirstButton}"</#if> 93 > 94 ${textFirstButton} 95 </a> 96 <#else> 97 <a 98 class="js-main-banner-product-button bv-btn-2 bv-btn-2__primary" 99 href="${linkFirstButton}" 100 data-link="${linkFirstButton}" 101 target="${targetFirstButton}" 102 data-title="${dataTitle}" 103 data-text="${dataFirstButton}" 104 <#if ariaFirstButton?has_content> aria-label="${ariaFirstButton}"</#if> 105 > 106 ${textFirstButton} 107 </a> 108 </#if> 109 <#else> 110 <#if isInverseButton> 111 <a 112 class="js-main-banner-product-button bv-btn-2 bv-btn-2__primary-inverse mb-lg-10" 113 href="${linkFirstButton}" 114 data-link="${linkFirstButton}" 115 target="${targetFirstButton}" 116 data-title="${dataTitle}" 117 data-text="${dataFirstButton}" 118 <#if ariaFirstButton?has_content> aria-label="${ariaFirstButton}"</#if> 119 > 120 ${textFirstButton} 121 </a> 122 <#else> 123 <a 124 class="js-main-banner-product-button bv-btn-2 bv-btn-2__primary mb-lg-10" 125 href="${linkFirstButton}" 126 data-link="${linkFirstButton}" 127 target="${targetFirstButton}" 128 data-title="${dataTitle}" 129 data-text="${dataFirstButton}" 130 <#if ariaFirstButton?has_content> aria-label="${ariaFirstButton}"</#if> 131 > 132 ${textFirstButton} 133 </a> 134 </#if> 135 </#if> 136 </#if> 137 </div> 138 <div class="main-banner-product__disclaimer-area"> 139 <#assign finalDisclaimerLink = (disclaimerURL?? && disclaimerURL != "")?then(disclaimerURL, disclaimerUploadFile)> 140 <#if disclaimerText?? && disclaimerUploadFile?? && disclaimerTextFile?? && isInverseButton> 141 <p class=" main-banner-product__disclaimer-text mb-2 mb-lg-0"> 142 ${disclaimerText} 143 <a 144 class="disclaimer-link-primary-inverse js-main-banner-product-link" 145 aria-label="link para ${disclaimerTextFile}" 146 href="${finalDisclaimerLink}" 147 target="_blank" 148 rel="noopener" 149 data-link="${finalDisclaimerLink}" 150 data-title="${languageUtil.format(locale, "${disclaimerTextFile}", false)}" 151 data-text="${disclaimerText} ${disclaimerTextFile}" 152 > 153 ${languageUtil.format(locale, "${disclaimerTextFile}", false)} 154 </a> 155 </p> 156 </#if> 157 <#if disclaimerText?? && finalDisclaimerLink?? && disclaimerTextFile?? && !isInverseButton> 158 <p class=" main-banner-product__disclaimer-text mb-2 mb-lg-0"> 159 ${disclaimerText} 160 <a 161 class="disclaimer-link-primary js-main-banner-product-link" 162 aria-label="link para ${disclaimerTextFile}" 163 href="${finalDisclaimerLink}" 164 target="_blank" 165 data-link="${finalDisclaimerLink}" 166 data-title="${languageUtil.format(locale, "${disclaimerTextFile}", false)}" 167 data-text="${disclaimerText} ${disclaimerTextFile}" 168 > 169 ${languageUtil.format(locale, "${disclaimerTextFile}", false)} 170 </a> 171 </p> 172 </#if> 173 <#if disclaimerText?? && !disclaimerTextFile?? || disclaimerText?? && !finalDisclaimerLink??> 174 <p class="main-banner-product__disclaimer-text mb-2 mb-lg-0"> 175 ${disclaimerText} 176 </p> 177 </#if> 178 <#if !disclaimerText?? && finalDisclaimerLink?? && disclaimerTextFile??> 179 <#if isInverseButton> 180 <a 181 class="disclaimer-link-primary-inverse mb-2 mb-lg-0 js-main-banner-product-link" 182 aria-label="link para ${disclaimerTextFile}" 183 href="${finalDisclaimerLink}" 184 target="_blank" 185 > 186 ${languageUtil.format(locale, "${disclaimerTextFile}", false)} 187 </a> 188 <#else> 189 <a 190 class="disclaimer-link-primary mb-2 mb-lg-0 js-main-banner-product-link" 191 aria-label="link para ${disclaimerTextFile}" 192 href="${finalDisclaimerLink}" 193 target="_blank" 194 > 195 ${languageUtil.format(locale, "${disclaimerTextFile}", false)} 196 </a> 197 </#if> 198 </#if> 199 </div> 200 </div> 201 </div> 202 </div> 203 <div class="d-none d-lg-block col-lg pr-0"> 204 <#if deskImage?? && deskImage !=""> 205 <img 206 fetchpriority="high" 207 class="main-banner-product__image horizontal-grad ${isGradientDesk?then('background-gradient','')}" 208 alt="${desktopImage.getAttribute("alt")}" 209 data-fileentryid="${desktopImage.getAttribute("fileEntryId")}" 210 src="${deskImage}" /> 211 </#if> 212 </div> 213 <div class="d-block d-lg-none col-12 text-center main-banner-product__mobile-wrapper"> 214 <#if mobImage?? && mobImage !=""> 215 <img 216 fetchpriority="high" 217 class="main-banner-product__image vertical-grad ${isGradientMobile?then('background-gradient','')}" 218 alt="${mobileImage.getAttribute("alt")}" 219 data-fileentryid="${mobileImage.getAttribute("fileEntryId")}" 220 src="${mobImage}" /> 221 </#if> 222 </div> 223 </div> 224</div> 225 226<style> 227 .background-primary-high .background-gradient.horizontal-grad { 228 mask-image: linear-gradient(270.22deg, var(--color-primary-low) 60.61%, rgba(237, 239, 252, 0) 99.9%); 229 -webkit-mask-image: linear-gradient(270.22deg, var(--color-primary-low) 60.61%, rgba(237, 239, 252, 0) 99.9%); 230 } 231 232 .background-primary-pure .background-gradient.horizontal-grad { 233 mask-image: linear-gradient(269.89deg, var(--color-primary-low) 71.07%, rgba(237, 239, 252, 0) 99.9%); 234 -webkit-mask-image: linear-gradient(269.89deg, var(--color-primary-low) 71.07%, rgba(237, 239, 252, 0) 99.9%); 235 } 236 237 @media screen and (min-width: 1280px) { 238 .main-banner-product { 239 width: 1096px; 240 } 241 } 242 243 .main-banner-product__image { 244 visibility: hidden; 245 } 246 247 .main-banner-product__image[src] { 248 visibility: visible; 249 } 250</style> 251 252<script> 253 document.addEventListener("DOMContentLoaded", () => { 254 const bannerButtons = document.querySelectorAll( 255 ".main-banner-product .js-main-banner-product-button" 256 ); 257 258 const bannerLinks = document.querySelectorAll( 259 ".main-banner-product .js-main-banner-product-link" 260 ); 261 262 bannerLinks.forEach((link) => { 263 link.addEventListener("click", () => { 264 const parentBanner = link.closest(".main-banner-product"); 265 const title = formatText( 266 parentBanner.querySelector(".main-banner-product__title").textContent 267 ); 268 const text = link.dataset.text; 269 const componentId = parentBanner.dataset.componentId; 270 window.gaDatalayer.sendCtaClickEvent({ 271 event: "link_click", 272 component: "button", 273 title: title, 274 text: text, 275 component_id: componentId, 276 }); 277 }); 278 }); 279 280 bannerButtons.forEach((btn) => { 281 btn.addEventListener("click", () => { 282 const parentBanner = btn.closest(".main-banner-product"); 283 const title = formatText( 284 parentBanner.querySelector(".main-banner-product__title").textContent 285 ); 286 const text = btn.dataset.text; 287 const componentId = parentBanner.dataset.componentId; 288 window.gaDatalayer.sendCtaClickEvent({ 289 event: "button_click", 290 component: "button", 291 title: title, 292 text: text, 293 component_id: componentId, 294 }); 295 }); 296 }); 297 298 const formatText = (text) => { 299 return text 300 .toLowerCase() 301 .replace(/[\u2028\u2029\u00A0]/g, " ") 302 .replace(new RegExp("[ÁÀÂÃ]", "gi"), "a") 303 .replace(new RegExp("[ÉÈÊ]", "gi"), "e") 304 .replace(new RegExp("[ÍÌÎ]", "gi"), "i") 305 .replace(new RegExp("[ÓÒÔÕ]", "gi"), "o") 306 .replace(new RegExp("[ÚÙÛ]", "gi"), "u") 307 .replace(new RegExp("[Ç]", "gi"), "c") 308 .replace(new RegExp("/<brs*[/]?>/", "gi"), "-") 309 .replace(new RegExp("[.,;!?]", "g"), "") 310 .replace(/[:?!@*+#$%^&]/g, "") 311 .trim() 312 .replace(/\s+/g, "-"); 313 }; 314 }); 315</script> Encontre o crédito ideal para você
Pra sua versão que quer realizar planos, aqui tem crédito pra acelerar essa conquista.
Empréstimo com Garantia de Veículo BV
Aqui você pode ter grana extra com taxas especiais. Use seu carro quitado como garantia sem vender.
Sujeito a análise. Consulte condições.


Empréstimo Pessoal BV
Só cliente BV tem crédito rápido para organizar a vida financeira e aliviar as despesas.
Sujeito a análise. Consulte condições.
Produto válido apenas para correntistas BV.


Aumente suas chances de ter seu crédito aprovado!

Empréstimo Consignado Privado BV
Conteúdos em alta
Conteúdos em alta
FAQ sobre Empréstimos BV
O BV oferece empréstimo pessoal e com garantia de veículo, cada um adaptado a diferentes perfis e necessidades.
Após a aprovação do seu empréstimo BV, o valor pode cair na conta em poucas horas, dependendo do tipo de empréstimo contratado.
Sim, você pode antecipar parcelas a qualquer momento e ainda garantir desconto proporcional nos juros.
O BV oferece empréstimo pessoal e com garantia de veículo, cada um adaptado a diferentes perfis e necessidades.
Após a aprovação do seu empréstimo BV, o valor pode cair na conta em poucas horas, dependendo do tipo de empréstimo contratado.
Sim, você pode antecipar parcelas a qualquer momento e ainda garantir desconto proporcional nos juros.

