Generate quotes using the template engine
Smartcat allows you to generate quotes in PDF format. For this purpose, you can use the standard template or create your own templates using the Smartcat Template Engine technology. It can be used to create a single template for all clients or individual templates for each client.
Below is the data model used to generate quotes in PDF format. These objects and their respective fields can be used to develop custom templates using the Smartcat Template Engine technology.
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 provided in the company’s profile is used:
<<if [Company.LegalName != null]>>
<<[Company.LegalName]>><<else>><<[Company.Name]>><</if>>
Client | ||
Client details taken from theclient 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 | ||
FullName | string | contact's full name |
string | contact's email address | |
Phone | string | contact's email address |
Position | string | contact's position |
Comment | string | Comment left to a contact in a client card |
Manager | ||
FullName | string | Your manager’s full name |
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 projectincluding extensions |
SourceLanguage | string | Source language |
TargetLanguages | string | Target languages |
WorkflowStages | string | Workflow stages |
Managers | Manager[] | List of project managers |
Manager | ||
FullName | string | Project manager’s full name |
string | Email address | |
PhoneNumber | string | Phone number |
Below is an example of how to use the Project object. Let’s display the details of the first two managers if they are included in the list of managers:
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 | ||
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 | ||
Name | string | Unit category name. E.g.: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. Let's display 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>>