Creating & Editing Templates

Templates are standard layouts used for letters, emails and documents including quotes, invoices and goods-out notes. Brightpearl provide some standard system templates to use but you can copy, edit and create your own designs to fit with your own company branding.

You'll find all your templates under Settings > Templates:

  • Document templates include all your print and email designs. Select your defaults on your channel brand.
  • SMS templates can be used for creating standard text messages.
  • Quicknote templates are really useful for quickly adding standard notes throughout Brightpearl, e.g. on orders, contacts, inventory corrections...

You'll need a template every time you create a document:

  • Quote
  • Pro-forma invoice
  • Invoice
  • Goods-out note
  • Statement
  • Emails
  • Purchase order
  • Remittance advice

Add as many as you need, and you can create different designs for different purposes, for example, if you're trading as different companies, or if you're drop-shipping for a company and need to use their logo, or maybe you use different paper layouts with sticky labels in different places when using different couriers.

You can apply different branding to templates and select the default templates for a particular brand by using Channel Brands.

You can select default templates per delivery method on your shipping methods.

Creating & editing templates

Go to Settings > Templates and select the type of template you wish to add. Click to edit an existing template or add a new template.

Template Name

Name your template. When you email any document using this template the name is used to populate the email subject line. You can include widgets to pull in data from the record, such as quote or invoice number or your company name.

Visual/HTML mode

You can easily switch templates between visual and HTML mode. Visual mode helps you see what the template will look like and includes the WYSIWYG tool bar to help you edit. Everything you alter in visual mode updates the HTML. To make more complicated and effective designs you'll probably require some HTML knowledge.

Copying existing templates

When you add a new template you can easily begin from a standard template by selecting a pre-designed template. If you have another template you want to copy you can copy the HTML of that template and paste into your new one (in HTML mode).

Product table

When you are generating documents such as quotes, invoices, goods-out notes and purchase orders you'll want to display a list of the products and charges included, along with the prices, quantities and total. These details are added with a single widget, the Table of Products (_productTable_).

product table

Product table font sizes

The product table font sizes can be altered using CSS. Why not copy some CSS from our sample templates.

This is some example CSS taken from one of our sample templates which alters the product table headers and items to 10px:

product table fon size

Custom columns

You can customise the columns in the product table at the bottom of your template. We've provided some options for you to select from depending on what sort of document it is for, but you can also edit the columns and rename the columns as you desire, for example, you might want to change the language the column heading are in.

At the bottom of the template edit screen you'll find a drop-down menu where you can select some pre-defined columns. Selecting one of these will drop the detail into the field below where you can edit it. Here's an example:

qty,Qty|name,Item name|sku,SKU|item_net,Item net|row_net,Total net|item_gross,Item gross|row_gross,Total gross

You need to tell Brightpearl what data to display and what the column heading is by writing the field name followed by the column heading, e.g. item_net,Item net.

Each column is separated with the pipe character (|). 

custom columns

Columns available are:

qty, name, sku, ean, upc, isbn, price, discount, item_net, item_tax, item_gross, row_net, row_gross, row_tax, barcode, length, height, width, volume, weight, picked, packed, box, location

You can also include any of your product custom fields. Set up custom fields at Settings > Custom fields > Products. Each custom field is given a unique code which you can use, prefixed with PCF_. To include that information in you product table edit the custom columns to include the code, e.g. "PCF_YOURCODE". Remember to specify what the colum heading should be "PCF_YOURCODE,heading name".

Matrix printing on templates

If you're selling lots of items on an order, the result could be a long print out as each item has its own row. There are a few options available to you to help with this, which can be set from the bottom of the edit template screen:

Bring options up from under the item name into their own column

In the first screenshot you can see that "Shoe size" is a column, and that there is no shoe size under the product name. Just add "option[Shoe size],Shoe size" to the custom columns for that template to trigger this. You can have as many option columns as you like.

Show a product group in matrix layout

In the screenshot below you can see that Shirts have "Size" and "Color". We've chosen this template to show the sizes in a grid format, so instead of having 4 rows for each color, you now just have one. We've done the same thing with the boxes (which have lengths) to show you an order with products that have different options. To trigger the matrix layout, add ONE custom column to your template. For this example: "matrix[Size,Length],Header". Note that the name you give this column doesn't show.

combining  option columns

Combining option columns and matrix layouts

You can add both to your custom columns for any template. Since a matrix can only show ONE option for any product, if you have products with more than one option (shirts have two : Size and Color), you can put one in the matrix and one as a column. The screen shot below shows how we've promoted Color into a column:

things to aware of

Things to be aware of...

Matrix layout is not supported for packing notes, since we still need one item per row for the quantity columns "shipped, on the order, to follow". Sometimes you need to show the location of the items, which usually varies per size or color. You can however bring all your options into columns to reduce the length of the printout and print fewer pages.

If you try and make a complex matrix for a product set that causes layout conflicts, then the matrix won't show. So you can't put Size AND Color into the matrix if an order contains a product that has both size and color. If different products on the order have either size OR color, then you could put both options in the matrix.

If the different variants in a grouped (matrix) row have different prices, we just show a dash if your template has unit price columns (item_net, item_gross etc).

Widgets

Widgets are like Mail Merge fields in Microsoft Word. They allow you to pull in data from the record you are working on into a document or QuickNote, for example, invoice number, customer name, billing and delivery address. You can even include custom fields from sales, purchases, customer or supplier records; those custom fields from product records can be included into the product table widget by customising the columns. You can also merge your company logo into documents by adding the logo widget; if you are using different channel brands you can have mulitple company logos which will be pulled in automatically at the right time.

To add a widget to a template simply place your cursor where you want the field to be placed and select then it from the list. If you are adding widgets to a QuickNote you'll need to type the widget name into the note.

General details widgets

Any of these widgets used on a template or QuickNote will pull in your own company details from your channel brands found in Settings > Company > Company information. The channel brand applied relies on the channel used on the record. Where no channel is relevant on the record (e.g. general email sent from customer record), the default channel brand is used.

Widget Name Widget
(entered onto template)
Description
(where required)
My company name _myCompanyName_ Displays your company name as specified on the channel brand. The channel brand applied relies on the channel assigned to the record. Where no channel is applicable the default channel branding is used.
My company logo %logo% Displays your company logo as uploaded on the channel brand.
My company address _myCompanyAddress_ Displays your full company address as stated on the channel brand.
My company email _myCompanyEmail_ This widget uses the email address specified on the channel brand.
My company accounts email _myCompanyAccountsEmail This widget uses the accounts email address specified on the channel brand.
My company telephone _myCompanyTel_ This information is pulled from the telephone field on the channel brand.
My company VAT number _myCompanyVAT_ Your company VAT or Tax number, as specified in the Financials tab of your channel brand.
My company bank account _myCompanyBank_ Your company bank account number as specified in the Financials tab of your channel brand.
My company sort code _myCompanySort_ Your bank sort code as specified in the Financials tab of your channel brand.
My company SWIFT _myCompanySWIFT_ Your company SWIFT code as specificed in the Financials tab of your channel brand.
My company number _myCompanyNum_ Your company registered number.
Sender's name _staffName_ The member of staff who sent the email / added the note.
Todays' date _date_ The date used will be when you're emailing or printing the document.

Contact details widgets

Any of these widgets used on a template or QuickNote will pull in details directly from the contact record applicable where the note or email is being created.

Widget Name Widget
(entered onto template)
Description
(where required)
Contact salutation _contactSalutation_ Mr / Miss / Mrs etc. as per their contact record.
Contact name _contactName_ The contact's first and last name as on their contact record. Also see Orders --Customers--.
Contact first name _contactFirstName_ The contact's first name as on their contact record.
Contact last name _contactLastName_ The contact's last name as on their contact record.
Contact company _contactCompany_ The contact's company name as on their contact record.
Contact telephone _contactPhone_ The contact's telephone number as on their contact record.
Contact telephone 2 _contactTel2_ The contact's alternative telephone number as per the Telephone 2 field on their contact record.
Contact fax _contactFax_ The contact's fax number as on their contact record.
Contact email _contactEmail_ The contact's email address as on their contact record.
Contact address _contactAddress_ The contact's default address taken from the contact record. Also see Orders --Customer--.
Contact VAT _contactVAT_ The VAT/Tax number recorded on the contact record.
Contact Code _contactCode_ The account code assigned to the contact.
Contact Ebay alias _contactEbayAlias_  The contact's eBay username / alias as specified in the Info tab of their contact record.
Contact credit days _contactCreditDays_ This shows the number of credit days a contact has, as stated in the Financial tab of their contact record.
Contact credit terms _contactCreditTerms_ This shows the credit terms a contact has, as stated in their contact record.
Contact credit limit _contactCreditLimit_ This shows the credit limit a contact has, as stated in the Financial tab of their contact record.

Invoice reminders widgets

These widgets are relevant only when used for emails or notes created against a specific invoice record.

Widget Name Widget
(entered onto template)
Description
(where required)
Invoice total _invoiceTotal_ This is pulled from the Total field on the Invoice. 

Statements widgets

Use these widgets to create a statement template.

Widget Name Widget
(entered onto template)
Description
(where required)
Statement table _statementDetail_ When used in a template this widget will display all account activity for the customer account between two dates.
Outstanding statement table _outstandingStatementDetail_ When used in a template this widget will display all outstanding items for the customer account up to a particular date.

Orders widgets

Any of these widgets used on a template or QuickNote will pull in details directly from the associated order. When using these widgets the email or QuickNote must relate to a specific and individual order (i.e. created directly on the order), otherwise they will not pull in any data.

Widget Name Widget
(entered onto template)
Description
(where required)
Order ref _orderRef_ This is the Brightpearl order ID.
Parent order ref _parentOrderId_ Where the order has been cloned or created as a back order it will have a parent order.
Customer ref _orderCustomerRef_ If a customer reference has been recorded on the order it will be displayed.
Order status _orderStatusText_ This specifies which status has been used for the order.
Order date created _orderDate_ This is the date that the order was created in Brightpearl, which includes both date and time created.
Order comments _orderComments_ This will list any notes that have been emailed to the customer via the Notes and payment history tab on the order.
Table of products _productTable_ Includes a full table of the products on the order. The columns displayed is customisable.
Channel name _channelName_ This is pulled from the Channel field on the order.
Project name _projectName_ This will specify the Project that this order has been assigned to (if any).
Assigned to _assignedTo_ The name of the staff member assigned to the order.
Ship method name _shipMethodName_ The name set against the shipping method on the order.
Ship method code _shipMethodCode_ The code set against the shipping method in the setup area.
Link to order in web account area _webLink_ Provides a link to view the order/invoice on the web portal.
Total weight _totalWeight_ Calculates the total weight of the items on the order. This relies on weights being recorded against individual product records.
Total items _totalItems_ Specifies the total number of stock-tracked items on the order.

-- Invoicing -- widgets

Once an order has been invoiced the following widgets can be used to display invoice information taken directly from the invoice record.

Widget Name Widget
(entered onto template)
Description
(where required)
Invoice ref _invoiceRef_ The invoice reference number created by Brightpearl.
Invoice date _invoiceDate_ The invoice/tax date on the invoice record.
Invoice due date _invoiceDue_ The date the payment is due for the invoice as set on the order itself.
Settlement discount rate _settDiscRate_ The settlement discount rate specified on the order.
Settlement discount days _settDiscDays_ The settlement discount days specified on the order.

-- Customer -- widgets

The following widgets will pull data about the main contact details from the contact record or the sales order / invoice. This information is applied to the order from the contact record but may have been changed within the order which will take precedence.

Widget Name Widget
(entered onto template)
Description
(where required)
Customer name _customerName_ Main customer name as on the order.
Customer telephone _customerTel_ The main customer telephone number as on the order.
Customer fax _customerFax_ The main fax number for the customer from the contact record.
Customer mobile _customerMobile_ The mobile number for the customer as on the order.
Customer email address _customerEmail_ The main email as on the order.
Customer address _customerAddress_ This will display the full customer address taken from the contact record.
Customer Bank Name _customerBankName_ The bank name recorded on the contact record.
Customer Bank Account Number _customerBankAccount_ The bank account number recorded on the contact record.
Customer Sort Code _customerSort_ The bank sort code recorded on the contact record.
Customer SWIFT _customerSWIFT_ Obsolete
Customer IBAN _customerIBAN_ Obsolete

-- Billing -- widgets

These widgets will display the contact billing details taken from the order.

Widget Name Widget
(entered onto template)
Description
(where required)
Billing name _billingName_ The name of the billing contact as on the primary contact record.
Billing telephone _billingTel_ The telephone number for the billing contact as on the primary contact record.
Billing mobile _billingMobile_ The mobile number for the billing contact as on the primary contact record.
Billing fax _billingFax_ The fax number for the billing contact as on the primary contact record.
Billing email address _billingEmail_ The email address for the billing contact as on the primary contact record.
Billing address _billingAddress_ This will display the full billing address. If you wish to specify certain address fields, then please use the widgets listed below.
Billing street _billingAdd1_ This will display the street address line for the billing imary contact only.
Billing suburb _billingAdd2_ This will display the suburb address line for the billing contact only.
Billing city _billingCity_ This will display the city address line for the billing contact only.
Billing state _billingState_ This will display the state address line for the billing contact only.
Billing postcode _billingPostCode_ This will display the postcode address line for the billing contact only.

-- Delivery -- widgets

These widgets will display the contact billing details taken from the order.

Widget Name Widget
(entered onto template)
Description
(where required)
Delivery method name _shipMethodName_ The name set against the shipping method on the order.
Delivery method code _shipMethodCode_ The code set against the shipping method in the setup area.
Delivery tracking reference _shipTrackingRef_ This code pulls tracking information into Goods Out Notes only; not orders.
Delivery name _deliveryName_ The contact name for the delivery address as specified in the Addresses tab on the contact or order.
Delivery telephone _deliveryTel_ This will display the delivery telephone number  as shown in the Addresses tab on the contact or order.
Delivery fax _deliveryFax_ This will display the delivery fax number  as shown on the contact record.
Delivery mobile _deliveryMobile_ This will display the delivery mobile number as shown in the Addresses tab on the contact or order.
Delivery email address _deliveryEmail_ This will display the delivery email address as shown in the Addresses tab on the contact or order.
Delivery address _deliveryAddress_ This will display the full Delivery address. If you wish to specify certain address fields, then please use the widgets listed below.
Delivery street _deliveryAdd1_ This will display the street delivery address line for the contact only.
Delivery suburb _deliveryAdd2_ This will display the suburb delivery address line for the contact only.
Delivery city _deliveryCity_ This will display the city delivery address line for the contact only.
Delivery state _deliveryState_ This will display the state delivery address line for the contact only.
Delivery postcode _deliveryPostCode_ This will display the postcode delivery address line for the contact only.
Delivery date _deliveryDate_ This will display the delivery date as shown on the order.

Transfer widgets

These widgets can be used to display details of a warehouse transfer.

Widget Name Widget
(entered onto template)
Description
(where required)
Transfer reference _transferRef_ Include the transfer reference from a warehouse transfer.

Custom field widgets

Custom fields from sales, purchases, customer and supplier records can be added to templates using widgets. Custom fields always begin "_PCF_" followed by the code set on the custom field.

Product record custom fields can only be added into the _productTable_ widget by customising the columns (see below).

Widget Name Widget
(entered onto template)
Description
(where required)
Custom field name _PCF_CUSTOMFIELDCODE_ Inserts the custom field detail.

Barcodes

Barcode can be added to templates, such as invoices and goods-out notes, by adding _barcode_ widget.

You will need to set your barcode label type as "Code 128" at Settings > Other > Labels.

Scanning this will let you identify the document, perhaps using our API.

You can also show a barcode for each item on the goods-out note. You will need to configure custom columns on the goods-out template by including the _productTable_ widget with the column code "barcode" to display it inline with it.

barcode packing note

Custom Fields

You can add custom fields to sales and purchases and products, and then display this information anywhere you like on templates; Quotes, Invoices, goods-out notes and so on. When you create a custom field, you're given a code that starts with PCF_. Use the select-menu on the template edit screen to insert a custom field at the cursor, or manually type the widget code _PCF_MYCODE_. Product custom fields can only be added to the product table.

Tips for Design

  • Don't get too clever. Your templates need to be reliable and robust, not graphic design projects.
  • Always keep a backup copy of the HTML somewhere on your local hard drive to restore if you really get in a mess.
  • Stick with standard inline CSS and don't set any fixed widths if you can avoid it. For example, 1000px fixed width may work in a web browser window but when the PDF is generated, the text will be shrunk to fit everything in.
  • Use tables for layout. Trust us, it's way more reliable. There is no external style sheet that's pulled in to the template, and the PDF engine doesn't support fancy CSS.

Language

If you sell to customers in a different language, you can use the custom columns to define the headers in their language. You could create a copy of your templates as "Quote - Espanol" and "Invoice - Espanol" for example. You can choose which template you want to use when you send them by email.

Read about defining your own custom columns above.

Set your default templates

Until you select which templates you want to use as defaults Brightpearl will always select these templates (with their ID numbers):

default templates

Once you've created new templates you can select which ones to use as default against your company or "channel brand". Go to Settings > Company > Company information. Click to edit your channel brand and select the templates tab. 

When you have multiple channel brands you can select different templates, or use the same ones! Remember to also upload your logo so this will also pull into the templates!

When you have different shipping methods you can select different goods-out notes templates per shipping method at Settings > Shipping > Shipping methods. Click the edit your shipping method and select the templates tab.

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.