Free RUBS calculator for splitting utility bills

Split a building's utility bill across its units by occupants, square footage, bedrooms or a mix. Every charge comes with the formula behind it, and nothing you enter leaves your browser.

1 The bill

The owner pays this part of the bill, which covers shared spaces such as hallways, laundry rooms and landscaping.

2 How to split it

Pick one or more ways to split the bill and give each a share. The shares must add up to 100%.

Weights by count (optional)

Some owners count each extra person in a household for less than a full share. List a weight for each count, starting from 0. With 0, 1, 1.6, 2.2, one occupant counts as 1, two as 1.6 and three as 2.2.

Bedroom weights also give studios a share. With 1, 1, 2, 3, a studio counts the same as a one bedroom.

Empty units
3 Units

Fill in the columns your split uses. Leave days occupied blank for a unit that was occupied the whole time, and enter 0 for one that was empty.

Import units from a CSV

Choose a file or paste rows with columns for unit, square feet, bedrooms, occupants and days occupied. With a header row, the columns can be in any order. Importing replaces the units above.

Charges

    How RUBS works

    RUBS, or ratio utility billing, splits one master-metered utility bill across the units in a building that don't have their own meters. Each unit pays in proportion to something you can count, such as the people living there or the size of the unit.

    This calculator works in three steps:

    1. It takes any common area deduction off the top. The owner pays it.
    2. It splits what's left by each method's share. With square footage at 50%, half of what's left is split by each unit's floor area.
    3. It rounds every charge to the cent with the largest remainder method, so the charges and the owner's part add up to the bill exactly and nobody is more than a cent off.

    A unit occupied for part of the period pays for the days it was occupied. By default, the owner pays for the days a unit was empty. Occupants are the exception: an empty unit has no occupants, so it has no occupant share to pay.

    Before you bill tenants

    Rules for billing tenants for utilities differ by province, state and city, and your leases have to allow it. Check what applies to your buildings before you send a bill. This calculator does the math, and it isn't legal advice.

    Use it in your own code

    The calculator is an MIT licensed TypeScript library with no dependencies.

    npm install @quickcasa/rubs-calculator
    import { allocateBill } from '@quickcasa/rubs-calculator'
    
    const allocation = allocateBill({
      totalCents: 41_218,
      periodDays: 30,
      methods: [{ factor: 'occupants', percent: 100 }],
      units: [
        { id: '101', occupants: 2 },
        { id: '102', occupants: 3 },
      ],
    })

    The README covers every option.