Generate quotes using the template engine

Overview

Smartcat lets you generate quotes in PDF format. You can use the standard template or create your own templates with the Smartcat Template Engine. You can build a single template for all clients or an individual template for each client.


Data model

The following data model is used to generate quotes in PDF format. You can use these objects and their fields to build custom templates with the Smartcat Template Engine.

Company

Information about the company that issued the quote.

Field name Data type Description
Name string Company name as in profile
LegalName string Legal name

The standard template uses the company's legal name if available. Otherwise, the name from the company's profile is used:

<<if [Company.LegalName != null]>>
<<[Company.LegalName]>><<else>><<[Company.Name]>><</if>>

Client

Client details taken from the client card.

Field name Data type Description
Name string Name
LegalName string Legal company name
Vat string VAT number or other tax ID
Kpp string KPP (only for Russian legal entities)
MainContact ClientContact Primary contact's name
AdditionalContacts ClientContact[] Other contacts' names
Country string 3-letter country code
Address string Client's legal address
VendorManager Manager Your manager who works with a client
Industry string Client's industry
Website string Client's website
Language string Language for communication
Comment string Comment taken from a client card

ClientContact

Field name Data type Description
FullName string Contact's full name
Email string Contact's email address
Phone string Contact's phone number
Position string Contact's position
Comment string Comment left for a contact in a client card

Manager

Field name Data type Description
FullName string Your manager's full name
Email string Your manager's email address
PhoneNumber string Your manager's phone number

Below is an example of how to use the Client object:

<<[Client.Name]>>
VAT: <<[Client.Vat]>>
<<if [Client.MainContact != null]>>Main contact: <<[Client.MainContact.FullName]>><</if>>
<<if [Client.AdditionalContacts.Any()]>>Additional contacts:
<<foreach [a in Client.AdditionalContacts]>>
<<[a.FullName]>> <<link ["mailto:" + a.Email] [a.Email]>>
<<if [a.PhoneNumber != null]>> <<link ["tel:" + a.PhoneNumber] [a.PhoneNumber]>>
<</if>>
<</foreach>>
<</if>>

Project

Project details.

Field name Data type Description
Name string Name
Number string Project number
Filenames string[] File names in a project, including extensions
SourceLanguage string Source language
TargetLanguages string Target languages
WorkflowStages string Workflow stages
Managers Manager[] List of project managers

Manager

Field name Data type Description
FullName string Project manager's full name
Email string Email address
PhoneNumber string Phone number

Below is an example of how to use the Project object. This displays the details of the first two managers if they are included in the list of managers:

<<if [Project.Managers.Any()]>>
<<foreach [m in Project.Managers.Take(2)]>><<[m.FullName]>>,
<<[m.Email]>>
<<next>><<if [m.FullName != null]>><<[m.FullName]>>,
<<[m.Email]>><</if>><</foreach>>
<</if>>

Quote

Quote details.

Field name Data type Description
Number string Quote number
TotalCost decimal Total project cost
Currency string Alphabetic currency code
CurrencySymbol string Currency sign
DueDate DateTime Quote validity
ClientContactName string Contact person name used in a quote
ClientContactEmail string Contact email address used in a quote
Services Service[] List of services

Service

Field name Data type Description
Name string Service name
SourceLanguage string Source language
TargetLanguage string Target language
UnitCount decimal Number of service units
Rate decimal Rate per unit
TotalCost decimal Total service cost
UnitType string Type of units payable
DetalizationRows DetalizationRow[] List of elements included in the service breakdown

DetalizationRow

Field name Data type Description
Name string Unit category name, for example: 102% matches, repetitions
UnitCount decimal Number of units within a breakdown element
Rate decimal Discounted rate per payable unit
FullRate decimal Full rate per payable unit
TotalCost decimal Total cost of a breakdown element
UnitType string Type of units payable

Below is an example of how to use the Quote object. This displays the list of services, specifying the source and target languages:

<<foreach [s in Quote.Services]>><<[s.Name]>>
<<if [s.TargetLanguage != null]>><<[s.SourceLanguage]>> - <<[s.TargetLanguage]>><</if>>
<</foreach>>

Still need help?

Our support team responds within one business day.

Open a support case