Calcule em tempo real o VET (Valor Efetivo Total), alíquotas de IOF e Spread para operações de pagamentos internacionais e eFX de acordo com as normas do Banco Central.
{
"event": "fx_quote.calculated",
"timestamp": "2026-07-22T10:00:00.000Z",
"bacen_regulation": {
"normative": "Resolução BCB 148/277/561",
"efx_category": "Prestador de Serviços de Pagamento Internacional",
"simplified_efx_eligible": true,
"limit_threshold_usd": 10000
},
"quote": {
"currency_code": "USD",
"foreign_amount": 100,
"base_rate_ptax": 5.6,
"spread_percentage": 2,
"effective_rate_with_spread": 5.712,
"iof_percentage": 4.38,
"iof_amount_brl": 25.02,
"spread_amount_brl": 11.2,
"total_payable_brl": 596.22,
"vet_per_unit_brl": 5.9622
}
}def calculate_vet_efx(foreign_amount: float, base_rate: float, spread_percent: float, iof_percent: float):
"""
Calcula o Valor Efetivo Total (VET) e encargos para operações eFX (Regra Banco Central).
"""
effective_exchange_rate = base_rate * (1 + (spread_percent / 100))
subtotal_brl = foreign_amount * effective_exchange_rate
iof_amount = round(subtotal_brl * (iof_percent / 100), 2)
total_brl = round(subtotal_brl + iof_amount, 2)
# VET = Total Pago em BRL / Valor na Moeda Estrangeira
vet_per_unit = round(total_brl / foreign_amount, 4)
return {
"foreign_amount": foreign_amount,
"base_rate": base_rate,
"spread_percent": spread_percent,
"iof_percent": iof_percent,
"iof_amount_brl": iof_amount,
"total_brl": total_brl,
"vet_per_unit": vet_per_unit,
"is_efx_compliant": foreign_amount <= 10000.00
}