Package 'frbaremekm'

Title: French Tax Mileage Allowance Scale ('Bareme Kilometrique')
Description: The French tax mileage allowance scale ('bareme kilometrique') used to deduct professional travel costs ('frais reels') from French income tax: tax returns 2022 to 2026 (income years 2021 to 2025), cars, motorcycles and mopeds, 135 rates, with the 20 % increase for 100 % electric vehicles. Port of the Go package 'baremekm' published by MaCalculatriceEnLigne; no dependency.
Authors: Rédaction MaCalculatrice [aut, cre], MaCalculatriceEnLigne [cph]
Maintainer: Rédaction MaCalculatrice <[email protected]>
License: MIT + file LICENSE
Version: 0.1.0
Built: 2026-10-07 09:27:15 UTC
Source: https://github.com/tresor4k/fr-bareme-km-r

Help Index


Deductible amount of the French mileage allowance scale

Description

Deductible amount in euros, rounded to the cent (half away from zero), for km professional kilometres driven in the income year preceding the declaration year. bareme_amount applies to thermal, hybrid and hydrogen vehicles; bareme_amount_electric adds the 20 % increase for 100 % electric vehicles, applied to the computed amount before rounding.

Usage

bareme_amount(year, vehicle, cv, km)
bareme_amount_electric(year, vehicle, cv, km)

Arguments

year

declaration year, 2022 to 2026.

vehicle

"automobile", "motocyclette" (more than 50 cm3) or "cyclomoteur".

cv

fiscal horsepower, a whole number >= 1 (ignored for mopeds).

km

professional kilometres, a finite number >= 0.

Details

Arguments are recycled to a common length. The band applies when min_km < km <= max_km, or 0 <= km <= max_km for the first band; amount = km * coef + constant (see bareme_rates). An input outside the scale signals an error of class baremekm_out_of_scale and baremekm_year, baremekm_vehicle, baremekm_horsepower or baremekm_km.

Value

A numeric vector of amounts in euros.

Source

French mileage allowance calculator: https://macalculatriceenligne.com/finance/divers/calcul-frais-kilometriques/. This is an aid to calculation, not tax advice. The official texts prevail.

Examples

# 2026 tax return (2025 kilometres), 5 CV car, 4 000 km
bareme_amount(2026, "automobile", 5, 4000)          # 2544
bareme_amount_electric(2026, "automobile", 5, 4000) # 3052.8
bareme_amount(2026, "automobile", 5, c(5000, 5001)) # 3180 3180.36
tryCatch(bareme_amount(2021, "automobile", 5, 4000),
         baremekm_year = function(e) conditionMessage(e))

Horsepower class of the French mileage allowance scale

Description

Horsepower class of a whole fiscal horsepower, named as in the source: "cv3_et_moins", "cv4", "cv5", "cv6", "cv7_et_plus" for cars; "cv1_2", "cv3_4_5", "cv_plus_de_5" for motorcycles; "toutes" for mopeds, whose cv is ignored.

Usage

bareme_class(vehicle, cv)

Arguments

vehicle

"automobile", "motocyclette" or "cyclomoteur".

cv

fiscal horsepower, a whole number >= 1.

Value

A character vector of class names.

Examples

bareme_class("automobile", 1:8)
bareme_class("motocyclette", 4)

The 135 rates of the French mileage allowance scale

Description

The French tax mileage allowance scale ("bareme kilometrique"), tax returns 2022 to 2026, in the order of the source: one row per distance band.

Usage

bareme_rates()

Value

A data.frame of 135 rows and 7 columns:

year

declaration year (integer).

vehicle

"automobile", "motocyclette" or "cyclomoteur".

class

horsepower class, see bareme_class.

min_km, max_km

band limits; max_km is Inf for the last band.

coef, constant

amount in euros = km * coef + constant.

Source

Port of the Go package baremekm (generated from its source), itself a port of the SWI-Prolog pack fr_bareme_km 1.0.0. Official sources: BOFIP BOI-BAREME-000001 (2022, 2023), DGFiP brochures pratiques IR (2024 to 2026), service-public.gouv.fr A14686 (2026). Dataset: doi:10.17632/5s59m9wycw.1 (CC BY 4.0). See also bareme_source.

Examples

r <- bareme_rates()
r[r$year == 2026 & r$vehicle == "automobile", ]

Official source and income year of a declaration year

Description

bareme_source returns the official text against which the scale of a declaration year was cross-checked. bareme_income_year returns the income year whose kilometres are declared (declaration year - 1).

Usage

bareme_source(year)
bareme_income_year(year)

Arguments

year

declaration year, 2022 to 2026.

Value

A character vector (bareme_source) or an integer vector (bareme_income_year).

Examples

bareme_source(2026)
bareme_income_year(2026) # 2025