Voorbeeld auto

Hieronder een data van de Peugeot e-2008 - .

car Peugeot e-2008
versie ev 3 fase gt 100kW aut
car_ad_type_id_hist
car_mileage 4 KMT
car_model_year 2023
car_first_registration
car_production_date --
car_fuel_type
car_age_in_months --
car_co2_emissions
car_max_contract_duration maand(en)
car_bijtelling %
car_price_buy_for_offered_country € 32890 incl. btw. / incl. bpm

 

Debug

{'params': {}, 'contract_types': {'flz': {'max_contract_duration': 62, 'min_contract_duration': 12, 'invest_amount': 27181, 'down_payment': 2718, 'max_down_payment': 21744, 'result': 2718, 'interest': 7.75}, 'flp': {'max_contract_duration': 62, 'min_contract_duration': 12, 'invest_amount': 27181, 'down_payment': 2718, 'max_down_payment': 21744, 'result': 2718, 'interest': 7.75}, 'kp': {'profit_margin': 5, 'transportation_costs': 150, 'buy_price': 32889}, 'fol': {'invest_amount': 27181, 'max_contract_duration': 62, 'min_contract_duration': 24}}, 'limits': {'flz': {'contract_time': {'min': 12, 'step': 1, 'default': 62, 'max': 62, 'options': [12, 24, 36, 48, 60, 62]}, 'invest_amount': {'min': 0, 'step': 1, 'default': 27181, 'max': 27181}, 'down_payment': {'min': 0, 'step': 1, 'default': 2718, 'max': 21744}, 'result': {'min': 0, 'step': 1, 'default': 2718, 'max': 2718}}, 'flp': {'contract_time': {'min': 12, 'step': 1, 'default': 62, 'max': 62, 'options': [12, 24, 36, 48, 60, 62]}, 'invest_amount': {'min': 0, 'step': 1, 'default': 27181, 'max': 27181}, 'down_payment': {'min': 0, 'step': 1, 'default': 2718, 'max': 21744}, 'result': {'min': 0, 'step': 1, 'default': 2718, 'max': 2718}}}, 'warnings': ['car is is owned by mobido, so using 0 as values for steps 5a and 7a', 'no match for bpm_forfaitaire | fuel_type: elektrisch | car_age_in_months: 10']}

Rekenvoorbeeld

Hieronder het rekenvoorbeeld.

omschrijving bedrag sub opmerking
land van herkomst NL
btw/marge auto BTW auto
1 geadverteerde NL prijs € 32.890 incl. NL BTW / incl. BPM
2 BPM uit de prijs € 32.890 € 0 BPM moet er uit als NL en BTW auto
3 NL BTW uit de prijs € 27.181 € 5.709 dit is dus de excl. BTW prijs
4 aankoopbedrag € 27.181 subtotaal
5a additionele posten
transportkosten € 0 deze hoger als land != NL
keuringskosten € 0 alleen vanuit het buitenland
schade herstel € 0
onderhoudsbeurt € 0
garantie € 0 0% over de aankoopprijs excl. btw. excl. bpm. van € 27.181 uit stap 4
€ 0 subtotaal posten
5b additionele accessoires
€ 0 subtotaal accessoires
6 subtotaal € 27.181 subtotaal
7a winstmarge € 0 0% (5% b2b / 8% b2c) marge van de aankoopprijs € 27.181 uit stap 4
7b btw toeslag marge auto € 0 niet van toepassing
8 subtotaal / verkoopprijs € 27.181 excl. BTW excl. BPM
9 BTW € 5.708 21% over verkoopprijs van € 27.181 uit stap 8
10 BPM € 0 voor een 'elektrisch' voertuig met 0 gram CO2 emissies
11 REKENprijs excl. BTW incl. BPM
= input voor alle lease-berekeningen
€ 27.181
12 KOOPprijs incl. BTW incl. BPM € 32.889

 

Financieringsvormen

Binnen de EVtoolbox werken we met de volgende financieringsvormen. Op dit moment zijn enkel fol en flz uitgewerkt en opvraagbaar Deze worden hieronder verder toegelicht. De flp wordt ook reeds berekend, maar wordt nog nergens ontsloten.

title site value
Netto Operational Lease nol
Full Operational Lease Lease-e website fol
Private Lease pl
Financial Lease zakelijk Lease-e financial lease website flz
Financial Lease particulier flp
Koop Mobido website kp

 

Inclusief of exclusief BTW en BPM

Buitenlands Autoscout aanbod wordt omgerekend naar Nederlandse BTW voor bijvoorbeeld het Full Operational Lease aanbod op de Lease-e website. Belangrijk om te vermelden is dat voor de Financial Lease zakelijke variant de invest_amount de prijs van de auto zonder btw. genomen wordt en voor de particuliere variant incl. btw. Daarna wordt (indien van toepassing) de BPM er overheen gerekend. Voor de berekening van de BPM is een speciale testsuite ingericht en uitleg over deze berekeningen zijn daar te vinden.

In het onderstaande voorbeeld is middels de debug te zien hoe de prijs opgebouwd is.

motiv > models.py > Car

def get_price_calc(self):

  price_buy_incl_vat = self.get_price_buy_vat(incl_or_excl='incl')
  price_buy_excl_vat = self.get_price_buy_vat(incl_or_excl='excl')
  bpm = self.get_bpm()
  
  price_buy_total_incl = self.price_buy
  if price_buy_incl_vat:
      price_buy_total_incl = price_buy_incl_vat
      if bpm and 'calc_netto_bpm' in bpm and bpm['calc_netto_bpm']:
          price_buy_total_incl = price_buy_total_incl + bpm['calc_netto_bpm']
  price_buy_total_excl = self.price_buy
  if price_buy_excl_vat:
      price_buy_total_excl = price_buy_excl_vat
      if bpm and 'calc_netto_bpm' in bpm and bpm['calc_netto_bpm']:
          price_buy_total_excl = price_buy_total_excl + bpm['calc_netto_bpm']

  return {
      'vat': {
          'nl': VAT_PER_COUNTRY['NL'],
          'source': VAT_PER_COUNTRY[self.offered_by_country],
      },
      'bpm': {
          'calc_co2_price_total': math.floor(bpm['calc_co2_price_total']) if bpm and 'calc_co2_price_total' in bpm else None,
      'calc_netto_bpm': math.floor(bpm['calc_netto_bpm']) if bpm and 'calc_netto_bpm' in bpm else None,
          'co2_emissions': bpm['co2_emissions'] if bpm and 'co2_emissions' in bpm else None,
          'car_age_in_months': bpm['car_age_in_months'] if bpm and 'car_age_in_months' in bpm else None,
      },
      'price_currency': self.price_currency,
      'price_buy': self.price_buy,
      'price_buy_incl_vat': price_buy_incl_vat,
      'price_buy_excl_vat': price_buy_excl_vat,
      'price_buy_total_incl': math.floor(price_buy_total_incl), # incl
      'price_buy_total_excl': math.floor(price_buy_total_excl), # excl
  }
    

 

Financial Lease zakelijk

Onderstaand gedeelte gaat over het berekenen van de Financial lease voor de zakelijke doelgroep, de flz. Deze berekening wordt zelf uitgevoerd binnen de EVtoolbox en is eerder gebruikt binnen de Aiways website. Hiervoor zijn een aantal instelbare en beheerbare variabelen beschikbaar, te weten:

category title key value type description
Financial Lease zakelijk Contractduur contract_duration 72 getal
Financial Lease zakelijk Aanbetaling klant downpayment 10% percentage
Financial Lease zakelijk Slotsom klant final_term 10% percentage
Financial Lease zakelijk Slotsom bij 24 maanden final_term_24_months 30% percentage
Financial Lease zakelijk Slotsom bij 36 maanden final_term_36_months 25% percentage
Financial Lease zakelijk Slotsom bij 48 maanden final_term_48_months 20% percentage
Financial Lease zakelijk Slotsom bij 60 maanden final_term_60_months 15% percentage
Financial Lease zakelijk Slotsom bij 72 maanden final_term_72_months 10% percentage
Financial Lease zakelijk DHG rentepercentage interest 7.75% percentage
Financial Lease zakelijk DHG marge margin 5% percentage
Financial Lease zakelijk Aanbetaling (max) klant max_downpayment 80% percentage

 

Voor de berekening van de FL is een speciale testsuite ingericht en uitleg over deze berekeningen zijn daar te vinden. Onderstaand stuk code laat zien hoe de instelbare variabelen gebruikt worden om tot bepaalde getallen te komen. De waardes tussen [blokhaken] komen uit bovenstaande tabel.

motiv > helpers > calculations.py

def get_interest_and_down_payment_and_result_and_contract_duration_for_invest_amount(category, invest_amount):

  invest_amount_incl_margin = invest_amount + ((invest_amount / 100) * [margin])
  interest = [interest] / 100
  down_payment = (invest_amount / 100) * [downpayment]
  result = (invest_amount / 100) * [final_term]
  contract_duration = [contract_duration]

  return invest_amount_incl_margin, interest, down_payment, result, contract_duration
        

 

Wanneer deze waardes berekend zijn kunnen deze ingevoerd worden in de formule welke tot de leesprijs komt. In het voorbeeld wordt middels het debug knopje de opbouw van de prijs getoond.

motiv > helpers > calculations.py

def calculate_fl_price(invest_amount, interest, down_payment, result, contract_time):

  price = round(npf.pmt(
    interest / 12,
    contract_time,
    -(invest_amount - down_payment),
    fv=result
  ),2)
        

 

Full Operational Lease

Voor de berekening van de Full Operational Lease wordt gebruik gemaakt van AutoDisk. Voor de berekening van deze prijzen zijn een looptijd (contractduur) en het verwacht aantal kilometers per jaar relevant. Ook is het belangrijk dat de auto goed ge-versie-matcht is, aangezien AutoDisk oa. het ntypeidhist, nkentekendatumdeeleen en nkmstand gebruikt in de berekeningen. Wanneer een auto niet goed is gematcht kan het zijn dat er een verkeerde prijs en/of geen prijs teruggegeven wordt door AutoDisk. Deze prijs dient dus altijd op 'sanity' gecheckt te worden.

Het voorbeeld hierboven toont tevens de debug informatie voor de Full Operational Lease prijs. In de berekening worden een aantal controles gedaan. Zo is de maximale contractduur (standaard 72 maanden) afhankelijk van de leeftijd van de auto. Soms wordt deze dus automatisch naar beneden bijgesteld.

 

Voorbeeld

Hieronder een rekenvoorbeeld voor de Peugeot e-2008. Refresh (F5) deze pagina voor een ander voorbeeld.

Bron
price_buy (NL, 21% vat) € 32.890 (EUR)
price_buy (NL, 21% btw) € 32.890 (EUR)
price_buy (excl btw) € 27.181 (EUR)
bpm n.v.t.
price_buy_total (debug) € 32.890
max_contract_duration 62 maanden
btw_car
price_fixed

 

Algemene Lease waardes
model_bijtelling_range 4-22%
version_bijtelling 16%
car_bijtelling 16%
price_contract_type
acties FOL lease-prijs calculator bpm calculator

 

Full Operational Lease = Autodisk calculatie
price_fol_updated_date 16 april 2024 08:33
price_fol (debug) 546,56 p/m
price_fol_contract_duration 63 mnd
price_fol_contract_mileage 10000 km

 

Koop
price_fol_updated_date 2 mei 2024 16:27
price_kp incl. btw incl. bpm (debug) 32889,00

 

Financial Lease = 'Aiways' calculatie
price_fl_updated_date 2 mei 2024 16:27
price_flz (debug) 444,29 p/m
price_flz_contract_duration 62 mnd
price_flp (debug) 444,29 p/m
price_flp_contract_duration 62 mnd