Excess Mileage Billing

Excess Mileage Billing

 

PURPOSE

Rental contracts let a customer drive a vehicle for a period — weeks, months, or a full year — and return it. This feature automatically bills a customer for driving beyond their allowed annual mileage, checked every time the regular Invoicing Run executes, or on demand via a dedicated report, and it correctly enforces a genuine "once-a-year" limit rather than letting the allowance refresh every time it happens to be checked. It also makes sure that if the vehicle is returned mid-year (an Asset Assessment), the customer is only billed for whatever excess mileage is left over on top of what was already billed periodically — never billed twice for the same distance.

SETUP

  1. Mileage Options — a reusable allowance package:
    • Annual Mileage — the allowed distance per 12-month period.
    • Over Mileage Grace Limit (km) — a buffer added on top of the allowance before any charge starts.

Assign the option to a vehicle via the Asset's Mileage Option field — this is required for excess mileage billing to apply to that vehicle at all; a vehicle with no Mileage Option assigned is never billed for excess mileage. Selecting an option automatically copies its Annual Mileage and Grace Limit onto the Asset.

  1. Financial Product, under Excess Mileage Billing:
    • Mileage Invoicing Method — No Mileage (off), Invoice with Next Installment (billed automatically every regular installment), or Invoice on Demand (never billed by the regular Invoicing Run — only via the dedicated report below).
    • Excess Mileage VAT Group — the VAT group applied to the charge line.
    • Invoice Type For Excess Mileage — only used when Invoice on Demand creates its own standalone invoice for this product.
    • Reset Mileage — see HOW TO USE below; this is the flag this update focuses on.

Separately, under the product's mileage-limit settings: Mileage Limit Applies controls whether Asset Assessment (end-of-lease settlement) considers excess mileage at all — independent of Mileage Invoicing Method, which only governs the periodic Invoicing Run.

  1. Leasing Posting Setup — Excess Mileage Rev. Acc. (Cr): the G/L revenue account excess mileage charges post to.

4.      (Optional) Invoice Description Setup's I: Excess Mileage Charge template customizes the charge line's wording; a default description is used if left blank.

HOW TO USE

Getting it billed:

  • Invoice with Next Installment — runs automatically with every regular installment invoice, no separate step.
  • Invoice on Demand — run the Excess Mileage Invoicing Run report whenever you want to bill it, independent of the installment schedule. It only picks up contracts on this method; every other method is skipped.
  • No Mileage — the feature never runs for this product.

How the allowance works: every vehicle's Mileage Option allowance is a genuine 12-month pool, not a slice reissued every time it's checked. The full annual allowance is available from day one of the pool. The system tracks how much has already been billed within the current pool, so checking again doesn't re-grant a fresh allowance — only newly-driven distance beyond what's already billed gets charged. Once distance crosses Allowance + Grace, the customer is billed the full amount over the plain allowance (not just the amount over the allowance-plus-grace) — the grace limit only decides whether a charge starts, not how much of it ends up forgiven. The pool always closes and reopens fresh once its 12 months are up, regardless of Reset Mileage.

What Reset Mileage controls, with an example:

Take a vehicle with Annual Mileage = 20,000, Grace = 5,000 (so the billing threshold is 25,000), priced at $0.30/km, with its pool starting Jan 1 at 0 km.

Date

Reading

Distance since pool start

What happens

Jul 1

24,999 km

24,999 km

Under the 25,000 km threshold → no charge

Aug 1

26,000 km

26,000 km

Over the threshold → billed for 26,000 − 20,000 = 6,000 km ($1,800)

 

That much is identical whether Reset Mileage is on or off. What happens next is where the flag matters:

  • Reset Mileage OFF (default): the pool keeps running from its original Jan 1 start. A reading of 27,000 km on Sep 1 is measured against that same pool: total distance owed since Jan 1 is now 27,000 − 20,000 = 7,000 km, minus the 6,000 already billed → billed for the new 1,000 km. Every km driven past the original threshold keeps being billed, all the way until the pool's 12 months are up and it resets naturally.
  • Reset Mileage ON: the moment the Aug 1 bill happens, the pool closes early and a brand-new pool opens right there — Aug 1, 26,000 km, with a full fresh 20,000 km allowance and 5,000 km grace. The same Sep 1 reading of 27,000 km is now only 1,000 km into this new pool, nowhere near its own 25,000 km threshold → no charge. The customer would need to drive 25,000 km more from Aug 1 (i.e. reach ~51,000 km) before being billed again, instead of continuing to be billed for every km over the original threshold.

In short: off means "once triggered, every excess km keeps getting billed until the year is up"; on means "each bill also gives the customer a clean, full allowance to use up again immediately."

Asset Assessment (end-of-lease settlement): if a vehicle had excess mileage billed periodically at some point in its life, returning it mid-pool no longer double-counts that distance. The assessment finds the last periodically-billed reading and only charges for the distance driven — and the excess over the allowance — since that point, using the exact same calculation described above. If excess mileage billing was never used for that vehicle, the assessment's excess mileage figure is calculated exactly as before (from the vehicle's starting mileage and lease term).

Everything else:

  • The Odometer Ledger shows the full breakdown behind every reading — pool start date/reading, distance, allowance, grace, already-billed-so-far, charge amount, and price per km — so it's always possible to see why a reading was or wasn't billed without recalculating by hand. A processed reading becomes read-only.
  • A charge only counts as confirmed once its invoice is actually posted — an unposted or later-deleted invoice doesn't consume the reading.
  • Posting a Credit Memo against a posted excess mileage line, or reversing that posting via Business Central's Reverse Transaction, automatically resets the affected tracking so the next run recalculates it. Leasing administrators can also clear a reading's tracking manually via the Reverse Excess Mileage Processed Flag action on the Odometer Ledger — this only resets internal tracking, it does not itself cancel or credit an already-posted invoice.