The BDP Quote Builder allows you to build up a series of charges, fees and costs which fall into categories as follows:

  • Sale legal fees – Excluding VAT.
  • Sale estate agency fees – Excluding VAT
  • Sale outlays – Including VAT
  • Purchase fees – Excluding VAT
  • Purchase outlays – Including VAT
  • Misc – Excluded from calculation loop

All fees in a given category are added together. If the category is excluding VAT, BDP will calculate the VAT amount and this is available as a separate placeholder.

All fee items can be based on an algorithm, or calculation conditional on the amount. The algorithm used is in the form of


This can be interpreted as any amount less than or equal to 250,000, calculate this amount as 2% of the purchase or sales price (depending on context). If the amount is less than or equal to 500,000 (but more that 250,000.01) calculate this amount as 3%, and for all other amounts, set a fixed fee of 12,000. If a percentage symbol is used, the system will treat the calculation as a percentage, and if no percentage symbol is used, then a fixed-fee will be assumed. Do not use currency symbols – these can be added to the Word template.

Adding a new Fee Part

  • Go to Configuration > Configuration in the left hand menu.
  • Open the Fee Configuration panel if it’s not open already.
  • Click Add a new part.

Select the part type (see list above) and fill in the boxes as follows:

Part name – this is a friendly name for users of the system to identify the fee.

Hook – this is a unique name without any spaces that the system will use to identify the fee part and will use in placeholders referring to the fee.

Algorithm – this box contains the default fee, percentage or calculation for this fee part. A zero can be entered in this box if you wish to manually enter the amount each time.

Continue to build up a list of fee parts for your business and pay close attention to the categories and the VAT treatment of those categories. Adding a placeholder in a template to display a fee category total, for example [var.fees.saleOutlays] will loop through all the fees in that category and display the total. In this way you can display your different fee categories separately in the document.

Special fee parts – Misc category

The Misc category is treated slightly differently from the other fee parts insofar as it is excluded from any calculations but can itself perform calculations.

N.B. fee parts are calculated in the order the appear in the configuration. You can only reference fee parts that are above your calculated fee part.

For example, you might have a letter asking a vendor for a deposit against costs incurred, plus professional fees, with the balance to follow on completion of the sale. You would therefore create two new Misc Fee Parts: Deposit and Initial payment. The deposit fee part could be, for example,


meaning that a deposit of 750 is taken for all values under £499,999.99 and a deposit of £1,000 is taken for all values over £500,000. Again, don’t use currency symbols.

Then we have a second Misc Fee Part containing a calculation. Let’s call the hook “preSaleDeposit”:


This is referring to the hook fields mentioned earlier and is telling the system to add together the sum of the Initial deposit fee part (hook name “initialDeposit” in our example) and the Professional Fees (which in our example are entered into BDP with a hook name of “profFees”), and put the result into our fee part with the hook name “preSaleDeposit”.

These misc fee parts can then be added to the template using placeholders


Replace the “hookName” part of the example above with the actual name of the hook, so in our example above we will use


Outputting the fee parts to your document template

Using the syntax


where “suffix” represents one of the options below, and hookName represents the custom hook name that you gave the fee part in the BDP config., there are a number of ways the fee part can be output.

defaultInput = default input based on fee config (i.e. 5%)
feeValInput = exact or new input for specific property (i.e. 4% instead of 5% for a disscount)
defaultVal = default value (i.e. £8,000 for 5% on 160k)
rawOutputVal = raw value, so 6400 instead of £6,400
outputVal = actual output value taking in to account the specific property input so £6,400 for 4% on 160k