Recurring Invoice – Dynamic Variables

Since this article was published, we have updated our Recurring Invoices feature. You can get updated information here.

Dynamic variables are smart tags on a recurring profile that are replaced with actual data when the invoice is generated. These tags can be used in Subject, Line Item Description & Notes fields.

We support the following tags. Please note that these tags must start and end with :: for Avaza to replace them with real values. Issue Date as the name suggests is the date that is set in the Issue Date field of the invoice.

Simple Tags Issue Date Result Comments
::Month(IssueDate):: 10 July 2015 7 Month function returns the month number of the invoice issue date.
::Day(IssueDate):: 10 July 2015 10 Day function returns the day number of the invoice issue date.
::Year(IssueDate):: 10 July 2015 2015 Year function returns the year of the invoice issue date.
::MonthName(IssueDate):: 10 July 2015 July Month Name function returns the full name of the month.

These tags can be used together with other text and to turbo boost them you can also add or subtract days or months. We have listed a few examples below however you can use them in any combination based on your own requirements.

Scenario Combination Tags Example Issue Date Example Frequency Result
For current month and year. You can enter some text and then two tags with a space between them. For month of ::MonthName(IssueDate):: ::Year(IssueDate):: 10 July 2015 Every 1 Month For month of July 2015
For next month use Add Months function as per this example. For month of ::MonthName(AddMonths(IssueDate,1)):: ::Year(AddMonths(IssueDate,1)):: 10 July 2015 Every 1 Month For month of August 2015
For last month. Add -1 to the Add Months function. For month of ::MonthName(AddMonths(IssueDate,-1))::

::Year(AddMonths(IssueDate,-1))::

10 July 2015 Every 1 Month For month of June 2015
Note that even if next month is in a new year the function gets the correct result. For month of ::MonthName(AddMonths(IssueDate,1)):: ::Year(AddMonths(IssueDate,1)):: 10 Dec 2015 Every 1 Month For month of January 2016
For 2 month range. It can be any range as far as it is consistent with the frequency of the recurring profile. This invoice covers ::MonthName(IssueDate):: ::Year(IssueDate):: to ::MonthName(AddMonths(IssueDate,2)):: ::Year(AddMonths(IssueDate,2)):: 10 July 2015 Every 2 Months This invoice covers July 2015 to Aug 2015
For last 7 days. It can be any date range as far as it is consistent with the frequency of the recurring profile. Service fee for ::Day(AddDays(IssueDate,-6)):: ::MonthName(AddDays(IssueDate,-6)):: ::Year(AddDays(IssueDate,-6)):: to ::Day(IssueDate):: ::MonthName(IssueDate):: ::Year(IssueDate):: 10 July 2015 Every 7 Days Service fee for 4 July 2015 to 10 July 2016

Technical Notes:

Functions:
int Month (Date) – returns the month number. expects a Date parameter
int Day (Date) – returns the day number. expects a Date parameter
int Year (Date) – returns the year number. expects a Date parameter
Date AddDays(Date, int) – takes a date parameter, and number of days integer to add/subtract. returns Date
Date AddMonths(Date, int) – takes a date parameter, and number of days integer to add/subtract. returns Date
string MonthName(Date) – returns the month name. Expects a Date parameter

Variables:
IssueDate – is a Date.