Any PDF document in Scoro – a quote, invoice, bill, work report, or other – can be fully customized and made to look exactly how you'd like it to. This way, whenever you send out a document from your site, it looks professional and includes all the necessary data by default.
Navigate to Settings > Site settings > PDF templates to access all your templates.
This article will show you how to create, customize, and delete PDF templates on your site.
Jump to…
1. Managing PDF template permissions
Users with the Manage custom fields and PDF templates permission can create, modify, and delete PDF templates.
Learn more about permission sets.
2. Creating or modifying a new PDF template
To create a new PDF template:
- Go to Settings > Site settings > PDF templates.
- Click the Create template button.
To modify an existing PDF template:
- Go to Settings > Site settings > PDF templates.
- Click on the template name first, then click the Modify button. Alternatively, you can click the icon on the left of the template name.
You can add text, dynamic fields, and other elements in each section as needed. There are 5 tabs for customizing specific parts of the PDF template:
Let's go through the customization options available under each tab!
Note!
- To preview the changes you've made to your PDF template, you can click Save and check the preview of your template.
- The template preview shows placeholders for dynamic fields. If you want to see how the template looks with real data, open the PDF for any document that uses this template. E.g., if you've modified the PDF template for quotes, click the PDF button on any quote.
2.1. Settings tab
The Settings tab is where you determine what the PDF template will be used for and customize the overall look of the document.
When creating a new template:
- Start by selecting the type of PDF template from the Choose template type dropdown field.
- To simplify your customization process, click the Choose design button and select any of the standard designs available for most template types. After selecting a design, the template sections are automatically filled with the default information; however, you can customize all sections to create the desired look for your PDF.
Each document type has different designs available. For example, quote template designs include a terms and conditions block, which you can easily update with your own text.
The Settings tab also lets you set or modify the following details:
- Template name – enter a name that will help you easily distinguish this PDF template from the others, especially if you have multiple templates for the same template type (e.g., different quote templates).
-
File name – use regular text, dynamic fields, or a combination of both. Use the suggested dynamic fields or add ones from the other template sections.
- Font – select the font and the font size.
- Logo width – the logo on your PDFs is the same as the one you've set under your Company data and logo settings, but you can adjust the width of the PDF while modifying the template. To ensure the best quality for your logo, use the .svg file format.
- Page settings – customize the page size, orientation, units, and margins as needed.
- Add custom CSS styles – our PDF template generator also supports custom CSS styling, which lets you add custom fonts, watermarks, background images, and other details to your PDF templates. Learn more about using CSS styling.
If you have set up a Customer portal for your Scoro site, you can use the For internal use only toggle to control whether the template can be used as the default PDF template in the Customer portal:
- Disable this toggle if the template can be used in the Customer portal.
- Enable this toggle if you don't want the portal users to use the template for document viewing in the Customer portal, as well as signal for the team not to use the template for exporting or sending out documents.
2.2. Header tab
The header is the very top part of the document. The Header tab lets you customize the look of your PDF headers. You can create separate headers for the first page and all the following pages to display different information.
We recommend adding essential information about your company and the client details on the first page header to ensure that each section has enough space to display all the information.
You can always add any other information needed – use the dropdowns to insert the available dynamic fields or click the Add button to create your own.
We recommend displaying the company's logo in the header on the following pages. To do this:
- Click where you want to insert the logo in the On following pages box.
- Select 'Logo' in the dynamic field drop-down or enter [a]logo[/a] in the editor.
2.3. Main content tab
The Main content tab lets you customize the main part of your document, which typically displays the price calculation table or other custom tables containing important information, such as signatures or custom comments. You can add relevant dynamic fields if needed.
To configure the price calculation, go to the Price calculation table tab. Learn more about it in the next section.
2.4. Price calculation table tab
The Price calculation table tab lets you customize the price calculation table, the part of the document that displays the products and their prices. You can customize the columns used in the table, fields used in the ‘Total’ block of the table, and other settings that impact how the information is displayed.
To customize the columns used in the price calculation table:
- Drag and drop the available fields into the Columns used in the calculation table section.
- To adjust their order, simply drag the fields to the right place as needed.
- To remove a field from the calculation table, simply drag and drop it back to the section with the available fields.
- Adjust the width of each column to display the information properly, ensuring the total table width is 100%; otherwise, your table may not fit in the document.
- We recommend reserving at least 30% width for the ‘Product description’ column, as it usually takes up the most space in this table.
- (optional) You can enter custom column names in the Title field for each column.
To customize the fields used in the total block of the price calculation table:
- Drag and drop the fields you want to include in the total block of the price calculation table.
- To adjust their order, simply drag the fields to the necessary place.
- To remove a field from the calculation table, simply drag-and-drop it in the available fields section.
- If you’re using line-based discounts on tax rates, we recommend using the Sum of line discounts and Tax rate breakdown fields.
- (optional) You can enter custom field names in the Title field for each field.
In the Price calculation table settings section, you’ll find even more settings for customizing how the pricing calculation table and the data on it should look or behave, including options for:
- hiding/showing the product service descriptions
- hiding rows with no price
- customizing colors for background, text, and borders
- and more!
By default, most numerical fields on PDF documents have a fixed two-decimal formatting. However, you can use the Decimal places in PDF fields dropdown field to select how many decimal places are shown for the Quantity, Price, Client discount, Discount, and Buying price values on your PDF documents.
2.5. Footer tab
The footer is the bottom part of your PDF document. Like in previous sections, in the Footer tab, you can add dynamic fields if needed. Usually, the company address and bank details are added here, but feel free to add any related information.
3. Useful formatting tips
Our PDF template generator offers a rich selection of customization options, allowing you to customize your PDFs to the finest detail. While we can't cover all the settings and their combinations, below are a few formatting tips that may be useful when perfecting your templates:
3.1. Using dynamic fields
Dynamic fields are placeholders that automatically populate specific information when a document is created from the template. When inserted in the template, these fields have a [a] tag in front and a [/a] tag at the end. The text between the tags is the field name, which is replaced with the corresponding dynamic values when using the template.
You can also add a condition for your dynamic field that determines when the dynamic value is shown on the document created from the template. On the template, a dynamic field with a condition starts with [a][if] and ends with [/a][/if].
Adding multiple dynamic fields and other elements may require sufficient spacing or particular alignment for a balanced look. We recommend using tables and inserting the different content bits and fields in the table cells.
3.2. Adjusting cell and table width
To adjust cell width:
- Right-click on the cell you need to adjust
- Go to Cell > Cell properties and adjust the width.
To adjust the total table width, click the Table properties button. For the best look, we recommend keeping a 100% table width.
3.3. Customizing table borders
By default, the borders of the tables in the template aren't visible. To add a frame to the table, click the Table properties button in the table toolbar and increase the border width; for example, 2 pixels.
3.4. Adding a page break
Add the New page dynamic field if you wish to add a page break.
4. Duplicating a PDF template
If you need multiple variations of the same PDF template, you can create and modify one template and then duplicate it (if your permissions allow it). To do so:
- Click on the template name in the template list, then click the Duplicate button.
- Modify the template as needed and click Save.
5. Using CSS styling
Note! This feature is included in the Enterprise plan. For other plans, it is available as an add-on in Settings > Administration > Plan, add-ons, & billing.
CSS is a language used in web development to describe how certain elements should be displayed. It enables you to fine-tune the appearance of your documents with custom fonts, spacing, layout, backgrounds, watermarks, etc.
Our PDF documents are generated from regular HTML and CSS – this means that general styling can be done by just using element selectors like <body>, <h1>, <td>, etc. Adding class attributes to elements will make them easier to target with CSS. Note that some documents may already have default styling and inline CSS styles – use !important with your declarations or make your declarations more specific to override something that's already declared.
While CSS styling adds a lot of flexibility to document designs, things may break when adding the code incorrectly. Preview your PDF and test your styling modifications by viewing the actual code sent to the PDF generator:
- Open any PDF document from your Scoro site
- Add &html=1 at the end of the URL – e.g., https://yoursite.scoro.com/quotes/print/1/?plang=eng&pdf_template=1&html=1.
5.1. Adding a background color or image
Any part of your document can have a background color or image as the background. To add a background to the whole document, use the <body> element selector.
In the example below, we've also defined the background image size to control how it fits into the page. Using vh (viewport height) or vw (viewport width) resizes the image based on the page size, while auto retains the image's aspect ratio.
body {
background: url(your_image_url) !important;
background-size: auto 100vh !important;
} 5.2. Selecting custom fonts
You can import as many custom fonts as you like and use different fonts in various places in your PDFs. Since custom fonts need to be declared, make sure your CSS code starts with the @font-face rule declaration or @import if you're importing your fonts from libraries like the Google Fonts library.
Note! Using custom fonts with variable source files can cause issues with editing the PDF document or copying text from it. To avoid such issues, use static fonts instead. Read more about variable fonts.
The example below shows how the code would look when importing fonts from the Google Fonts library. We're also using the <body> selector to apply this font family to all texts.
@import url('https://fonts.googleapis.com/css2?family=Shadows+Into+Light');
body {
font-family: "Shadows Into Light" !important;
}5.3. Adding a watermark
Another useful styling option is a watermark – some text or a visual, typically used to indicate the document's authenticity, protect it against unauthorized distribution, or simply for aesthetic value. You can add a watermark element to your document content and style it with CSS, or just use a CSS pseudo-element like ::after.
The code would look something like the example below. Here, the watermark's content is regular text with some simple styling added. The fixed position places the watermark relative to the page and repeats it on all pages. The top, bottom, and transform coordinates shift and place the element at the center of the page. Translate rotates the element by shifting it on the vertical and horizontal axes.
body::after {
content: "Confidential";
font-size: 50pt;
color: red;
opacity: 0.3;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(30deg);
}6. Deleting a PDF template
Note!
- PDF templates can be deleted only by users with the Manage custom fields and PDF templates permission.
- Before deleting a PDF template, check if it may be used as the default PDF template for the Customer Portal (if your site has the portal set up). If yes, make sure to change it to another template; otherwise, your portal users won't be able to view documents that used that template.
To delete a template:
- Click on the PDF template name, then click Modify.
- Click Delete and confirm your choice.
7. Frequently asked questions
Can I generate PDFs in different languages? Do I need to translate them?
If your site has several languages enabled, you can generate PDFs in different languages – simply select the necessary language from the language dropdown field when generating the PDF in the document view (e.g., while viewing a quote):
- All dynamic fields will automatically appear in the selected language (e.g., the dynamic fields on a Quote in German will also be in German).
- However, any regular text entered in the template sections won't be translated.
If custom translations are needed, please get in touch with our Support team.