ICBO_BLDG_PERMIT Formula

If your agency sets up standard job values according to the International Conference of Building Officials (ICBO), you can use your valuations to calculate building permit fees. For example, you can determine the fee for all job values between $1500 and $20,000.

For each range that you include in the ICBO BLDG PERMIT formula you must determine the maximum job value in that range, the fee factor for that range, and the modular base for that range. You should also determine the minimum fee for a job value within any range. Depending on the ICBO valuations, the ICBO_BLDG_PERMIT formula can calculate fees based on these values.

Formula Equation

If X =< R1 (below Range 1), then Fee = M

If R1 < X = R2 (Range 1), then Fee = M + N1 * (mod(X) base B1 – R1) / B1

Generalized:

If Ri < X = Ri+1, then Fee = M + Sum(Flower ranges) + Ni * (mod(X) base Bi – Ri) / Bi

Out of Range:

If X > Rmax, then Fee = M + Sum(Flower ranges) + Nmax * mod(X) base Bmax – Rmax) / Bmax

Input Parameter Format

[M, R1, N1, B1 (, R2, N2, B2], (R3, N3, B3 …,Rmax, Nmax,Bmax))

Where,

M is the minimum fixed fee.

Ri is the range below.

Ri+1 is the range above.

Ni is the fee factor for range i.

Bi is the modular base for range i.

Fi is the fee for range i.

Example 1

This example illustrates the Building Permit Fees based on the parameter below for Valuations of $1500 and $20,000.

Parameter:

(23.50,500,3.05,100,2000,14,1000,25000,10.10,1000,50000,7,1000,100000,5.60,1000,500000, 4.75,1000,1000000,3.65,1000,9999999,3.65,1000)

Valuation (X) = $1500 Fee = $54.00

Valuation Range Maximum Fee Equation at this Range Maximum Fee at this Range Equation at a Valuation (X) within this Range Fee at a Valuation within this Range
$1 - $500 23.50 $23.50 23.50 $23.50
$500 - $2000 (2000 – 500) / 100 * 3.05 $45.75 (X – 500) / 100 * 3.05 (1500 – 500) / 100 * 3.05 $30.50
SUM     $23.50 + $30.50 $54.00

Valuation (X) = $20,000 Fee = $321.25

Valuation Range Maximum Fee Equation at this Range Maximum Fee at this Range Equation at a Valuation (X) within this Range Fee at a Valuation within this Range
$1 - $500 23.50 $23.50 23.50 $23.50
$500 - $2000 (2000 – 500) / 100 * 3.05 $45.75 (2000 – 500) / 100 * 3.05 $45.75
$2000 - $25000 (25000 – 2000) / 1000 * 14 $322.00 (X – 2000) / 1000 * 14(20000 – 2000) / 1000 * 14 $252.00
SUM     $23.50 + $45.75 + $252.00 $321.25

Example 2

Parameter: (10, 100, 1.5, 10, 200, 1, 20)

If X = 15, because X = R1, then Fee = M, therefore Fee = 10.

If X = 123, because R1 < X = R2, then Fee = M + Sum(Flower ranges) + N1 * (mod(X) base B1 – R1) / B1

Fee = 10 + 0 + 1.5 * (mod(123) base 10 – 100) / 10

Fee = 10 + 1.5 * (130 – 100) / 10

Therefore, Fee = 14.5

If X = 209, because X > Rmax, then Fee = M + Sum(Flower ranges) + N2 * mod(X) base B2 – R2) / B2

Fee = M + N1 * (mod(R2) base B1 – R1) / B1 + N2* mod(X) base B2 – R2) / B2

Fee = 10 + 1.5 * (mod(200) base 10 – 100) / 10 + 1 * (mod(209) base 20 – 200) / 20

Fee = 10 + 1.5 * (200 – 100) / 10 + 1 * (220 – 200) / 20

Fee = 10 + 15 + 1

Therefore, Fee = 26

If X = 451, because X > Rmax, then Fee = M + Sum(Flower ranges) + N2 * mod(X) base B2 – R2) / B2

Fee = M + N1 * (mod(R2) base B1 – R1) / B1 + N2 * mod(X) base B2 – R2) / B2

Fee = 10 + 1.5 * (mod(200) base 10 – 100) / 10 + 1 * (mod(451) base 20 – 200) / 20

Fee = 10 + 1.5 * (200 – 100) / 10 + 1 * (460 – 200) / 20

Fee = 10 + 15 + 13

Therefore, Fee = 38

Example 3

Parameter: 10, 100, 1.5, 10, 200, 1, 20, 1000, 3, 100

If X = 451, because R2 < X =< R3, then Fee = M + Sum(Flower ranges) + N2* mod(X) base B2 – R2) / B2

Fee = M + N1 * (mod(R2) base B1 – R1) / B1 + N2 * mod(X) base B2 – R2) / B2

Fee = 10 + 1.5 * (mod(200) base 10 – 100) / 10 + 1 * (mod(451) base 20 – 200) / 20

Fee = 10 + 1.5 * (200 – 100) / 10 + 1 * (460 – 200) / 20

Fee = 10 + 15 + 13

Therefore, Fee = 38

If X = 1550, because X > Rmax, then Fee = M + Sum(Flower ranges) + N3 * mod(X) base B3 – R3) / B3

Fee = M + N1 * (mod(R2) base B1 – R2) / B2+ N2 * mod(R3) base B2 – R2) / B2+ N3 * (mod(X) base B3 – R3) / B3

Fee = 10 + 1.5 * (mod(200) base 10 – 100) / 10 + 1 * (mod(1000) base 20 – 200) / 20 + 3 * (mod(1550) base 100 – 1000) / 100

Fee = 10 + 1.5 * (200 – 100) / 10 + 1 * (1000 – 200) / 20 + 3 * (1600 – 1000) / 100

Fee = 10 + 15 + 40 + 18

Therefore, Fee = 83

Input Parameter Definitions

M The minimum fee for any job value; a fixed fee for job values within your first range of job values.
R The maximum value within a range of job values.
N The fee factor used to multiply the range a job values.
B The modular base of the job value. The modular base determines how Civic Platform rounds off a job value, such as the nearest tenth.

Conditions

  • There is no limit to the number of ranges you can set up for this fee formula, but the total number of characters that you can use to enter input parameters is 500.

  • If you set up only one range of job values, the fee is equal to the minimum fixed fee (M).

  • If you configure multiple ranges up to Rn, the fee includes the sum of the minimum fee and the maximum fee for all other ranges up to and including Rn-1.

  • For an ICBO 1997 Administrative Code Building Permit Fee, use these parameters:

    23.5,500.3.05,100,2000,14,1000,25000,10.1,1000,50000,7,1000, 100000, 5.6,1000,500000,4.75,1000,1000000,3.65,1000