Generate invoices using the template engine

Discover how to generate invoices in Smartcat using standard or custom templates, understand the data model for invoice generation, and manage details ranging from general invoice information to vendor and customer specifics.

Smartcat allows you to generate invoices 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 invoices in PDF format. These objects and their respective fields can be used to develop custom templates using the Smartcat Template Engine technology.

Invoice

General invoice details

Field name

Data type

Description

Number

string

Internal invoice number in Smartcat’s system

ExternalNumber

string

External invoice number

DateSent

DateTime

Invoice date

DatePaid

DateTime

Payment date

Currency

string

Invoice currency

TotalCost

decimal

Total cost of all services listed on the invoice

AccountId

string

Invoice creator’s account ID

IsPaid

bool

A boolean value indicating whether the invoice is paid. Returnstrueif the invoice is paid.

PaymentReceiveDestination

A method of receiving invoice payments. ReturnsBalance (1)if the Smartcat balance is selected as the preferred method orExternalBankAccount (2)if the company’s external bank account is selected as the preferred method.

TotalCostDescription

string

Total cost of all services spelled out in Russian (for Russian users)

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

Invoice No. <<[Invoice.Number]>>Invoice date <<[Invoice.DateSent]>>

InvoiceJobs

A collection of objects containing information on services added to the invoice

Field name

Data type

Description

Cost

decimal

Service cost

Currency

string

Service currency

JobServiceType

string

Service name

ProjectName

string

For services created based on a quote, this field contains the project name as well as the source and target languages. For other services, it contains the description of the service.

IsInternalJob

bool

Service type. For services created based on a quote, this field returnstrue. For other types of services, it returnsfalse.

Below is an example of how to use the InvoiceJobs collection:

<><<[job.JobServiceType]>><<[job.ProjectName]>><<[job.Cost]>> <<[job.Currency]>><>

VendorLegalEntity

Company details

Field name

Data type

Description

Id

string

Details ID

Name

string

Details name

Beneficiary

string

Beneficiary

AgentReportContactPerson

string

Contact person’s name

LegalAddress

string

Registered address

Vat

string

VAT number or other tax ID

CountryCode

string

Country code

BankName

string

Bank name

BankCode

string

Bank code

Swift

string

SWIFT code

BankAccount

string

Bank account number

AchRouting

string

ACH routing number

WireRouting

string

Wire routing number

TransitNumber

string

ABA number

RegistrationNumber

string

Registration number

BankCorrAccount

string

Correspondent bank account number

BankCorrBankEn

string

Correspondent bank

BankCorrBankRu

string

Correspondent bank in Russian (for Russian users)

Iban

string

International bank account number (IBAN)

BankAddress

string

Bank address

Kpp

string

KPP number (for Russian users)

Bic

string

BIK code (for Russian users)

SignerFullName

string

Signee’s full name

SignerPosition

string

Signee’s position

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

<<[VendorLegalEntity.Name]>><><<[VendorLegalEntity.LegalAddress]>><>

Customer

Customer details

Field name

Data type

Description

Name

string

Name

LegalName

string

Legal company name

Address

string

Customer's legal address

Website

string

Customer's website

Industry

string

Customer's industry

Vat

string

VAT number or other tax ID

Kpp

string

KPP(КПП - only for Russian legal entities)

Country

string

3-letter country code

VendorManager

string

Your manager who works with a client

Language

string

Language for communication

Comment

string

Comment taken from a client card

ContactName

string

Primary contact's name

ContactEmail

string

Primary contact's email

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

<<[Customer.Name]>>VAT number / Tax ID:<<[Customer.Vat]>>