This Article will help you understand what variables to use in a Standard Booking Contract.
Obviously every contract is different, so this can only be a general guideline.
In ”details” you can fully customize your contracts via HTML, but this article should catch 80% of the placeholders you will need:
*Many contracts start a contract number and a contract date
Use the following variables:
Contract Nr.: [% ph.deal_id %]
Date of Contract (2016-12-31): [% ph.print_date %]
Date of Contract (31.12.2016): [% ph.printdate_dd %].[% ph.printdate_mm %].[% ph.printdate_yyyy %]
*Also important for contracts are the contract partners / parties of the agreement:
Use the following variables here:
[% ph.person_name %]
[% ph.person_address1 %]
[% ph.person_postalcode %] [% ph.person_city %]
[% ph.person_country %]
VAT ID: [% ph.person_vat_id %]
[% ph.promoter_company %]
[% ph.promoter_legalname %]
[% ph.promoter_address1 %]
[% ph.promoter_postalcode %] [% ph.promoter_city %]
[% ph.promoter_country %]
VAT ID: [% ph.promoter_vat_id %]
Here is a variation to make sure that there are no extra spaces before or after the promoters name:
[% ph.promoter_name | trim %]
[% ph.promoter_legalname | trim %]
If you like, you can also add a conditional clause that will display the specified variables only if there is data available, for example: [% IF ph.promoter_company != “” %][% ph.promoter_name %], [% END %]
[% IF ph.promoter_legalname != “” %][% ph.promoter_legalname %], [% END %]
If you►d like the combine both variations above, try this:[% promoter_company = ph.promoter_company | trim; IF promoter_company != ” %][% promoter_company %], [% END %]
[% promoter_legalname = ph.promoter_legalname | trim; IF promoter_legalname != ” %][% promoter_legalname %], [% END %]
This alternative code will check if there is data available for the Promoter Company’s legalname.
If not, it will add the Promoter’s contact instead:
[% IF ph.promoter_legalname == “” %]
[% ph.promoter_contact %]
[% ELSE %]
[% ph.promoter_legalname | trim %]
[% END %]
Combining all of the above here►s what we would probably use as a standard code for the contractual partners
AGREEMENT
BETWEEN
[% IF ph.person_company == “” %][% ph.person_name %][% ELSE %][% ph.person_company %][% END %]
[% ph.person_address1 %]
[% ph.person_postalcode %] [% ph.person_city %]
[% ph.person_country %]
[% IF ph.person_vat_id != “” %]VAT ID: [% ph.person_vat_id %][% END %]
AND
[% ph.promoter_company %]
[% IF ph.promoter_legalname != “” %][% ph.promoter_legalname %], [% END %]
[% ph.promoter_address1 %]
[% ph.promoter_postalcode %] [% ph.promoter_city %]
[% ph.promoter_country %]
[% IF ph.promoter_vat_id != “” %]VAT ID: [% ph.promoter_vat_id %][% END %]
* Next are the basic infos on the name, time and place of the event:
Use the following variables here:
Date : [% ph.date_start %]
Event Name: [% ph.date_name %]
Event Location: [% ph.location_name %]
Street, House Number: [% ph.location_address1 %]
Postcode, Town/City: [% ph.location_postalcode %] [% ph.location_city %]
Location Capacity: [% ph.location_capacity %]
There are more options for our completely customizable date format, for example:
31.12.2016
[% ph.startdate_dd %].[% ph.startdate_mm %].[% ph.startdate_yyyy %]
31. December 2016
[% ph.startdate_dd %]. [% ph.startdate_month(“en”) %] [% ph.startdate_yyyy %]
Monday, December 31. 2016
[% ph.startdate_day(“en”) %], [% ph.startdate_month(“en”) %] [% ph.startdate_dd %].[% ph.startdate_yyyy %]
Lundi, 31. Decembre 2016
[% ph.startdate_day(“fr”) %], [% ph.startdate_dd %].[% ph.startdate_month(“fr”) %] [% ph.startdate_yyyy %]
* Next might be some info about what kind of performance is negotiated and what the duration and set times are:
Performance type (Live/ DJ): [% ph.performance_type %]
Playtime / Set time: [% ph.performance_time %]
Duration / Length of Set: [% ph.performance_time_contract %]
Stage / Floor: [% ph.stage_name %]
* Sooner or later each contract will also include some info about the Artist Fees, Booking Fees, etc.
In ”details” we call this the MONEY DETAILS:
Now this might get a little complicated because there are so many different ways to say the same things. We have seen all kinds of special formats here.
Plus ”details” is able to include calculations and formating in variables and conditional IF ELSE clauses into the HTML templates, which makes it more complex.
Also ”details” allows you to customize all INVOICE ITEMS individually per agency.
That’s where it gets tricky.
Here is a WIKI Article specificly about variables for “Money Sections”, i.e. the deal memos in your templates.
And HERE is an article with an example for a perfect money section.
If in doubt, don’t hesitate to contact us!
Here is an example for a simple Artist Fee:
If you like it simple, this might work:
Artist Fee [% guarantee_fee %] [% ph.currency %]
[% ph.guarantee_vat_rate %]% VAT [% ph.guarantee_vat_amount %] [% ph.currency %]
Total Artist Fee incl. VAT: [% ph.guarantee_gross_amount %] [% ph.currency %]
A more elegant way to produce the same result but include more options is to FIRST define a new variable on the top of the contract and use various aspects of that new variable.
This will pre-load all related data and provide it where needed.
[% artist_fee = ph.invoice(‘Artist Fee’) %]
(…)
Artist Fee [% artist_fee.price %] [% ph.currency %]
[% artist_fee.tax_rate_percent %]% VAT [% artist_fee.price * artist_fee.tax_rate_percent / 100 %] [% ph.currency %]
Total Artist Fee incl. VAT: [% artist_fee.price * (1 + artist_fee.tax_rate_percent / 100) %] [% ph.currency %]
If you want the result to be formatted with two decimals, add the format to the calculations:
[% artist_fee = ph.invoice(‘Artist Fee’) %]
(…)
Artist Fee [% artist_fee.price %] [% ph.currency %]
[% artist_fee.tax_rate_percent %]% VAT [% artist_fee.price * artist_fee.tax_rate_percent / 100 | format(‘%.2f’)%] [% ph.currency %]
Total Artist Fee incl. VAT: [% artist_fee.price * (1 + artist_fee.tax_rate_percent / 100) | format(‘%.2f’)%] [% ph.currency %]
Ok, this will get you a little table with Artist Fee, VAT and a gross amount.
However you will allways get the VAT displayed, even if it’s not applicable.
This is where conditional formating joins the game: this will display the VAT only if a positve VAT rate is selected by the user in the MONEY DETAILS:
[% artist_fee = ph.invoice(‘Artist Fee’) %]
(…)
Artist Fee [% artist_fee.price %] [% ph.currency %]
[% IF artist_fee.tax_rate_percent > 0) %]
[% artist_fee.tax_rate_percent %]% VAT [% artist_fee.price * artist_fee.tax_rate_percent / 100 | format(‘%.2f’)%] [% ph.currency %]
Total Artist Fee incl. VAT: [% artist_fee.price * (1 + artist_fee.tax_rate_percent / 100) | format(‘%.2f’)%] [% ph.currency %]
[% END %]
The above conditional clause adds the VAT line whenever a VAT rate is selected by the user.
Probably however you’d like to NOT leave the choice of VAT on your contract to the user?
Try this then … it will add the VAT to a UK Booking Agency contract automatically if the promoter is also a tax resident of the UK OR a tax resident of another EU country and did NOT provide a valid VAT ID.
Now is this enough customizability for you ?
[% artist_fee = ph.invoice(‘Artist Fee’) %]
(…)
Artist Fee [% artist_fee.price %] [% ph.currency %]
[% IF ph.promoter_country == “United Kingdom” OR (ph.isEU(ph.promoter_country) AND ph.promoter_vat_id == “”) %]
[% artist_fee.tax_rate_percent %]% VAT [% artist_fee.price * artist_fee.tax_rate_percent / 100 | format(‘%.2f’)%] [% ph.currency %]
Total Artist Fee incl. VAT: [% artist_fee.price * (1 + artist_fee.tax_rate_percent / 100) | format(‘%.2f’)%] [% ph.currency %]
[% END %]
*The same will work for the Booking Fee / agency Fee:
Here►s the simple and static version:
Booking Fee [% booking_fee %] [% ph.currency %]
19% VAT [% booking_fee * 0.19 | format(‘%.2f’) %] [% ph.currency %]
Total Booking Fee incl. VAT: [% booking_fee * 1.19 | format(‘%.2f’) %] [% ph.currency %]
… and the flexible, conditinal and customizable version:
[% booking_fee = ph.invoice(‘Booking Fee’) %]
(…)
Booking Fee [% booking_fee.price %] [% ph.currency %]
[% IF ph.promoter_country == “Germany” OR (ph.isEU(ph.promoter_country) AND ph.promoter_vat_id == “”) %]
[% booking_fee.tax_rate_percent %]% VAT [% booking_fee.price * booking_fee.tax_rate_percent / 100 | format(‘%.2f’)%] [% ph.currency %]
Total Booking Fee incl. VAT: [% booking_fee.price * (1 + booking_fee.tax_rate_percent / 100) | format(‘%.2f’)%] [% ph.currency %]
[% END %]
* In addition to the MONEY DETAILS, some contracts mention the artists’s and agency’s bank details for payments. While the Agency’s bank details will most often bee static text, the artists’s bank account will use the following variables:
Account holder: [% ph.artist_account_holder %]
Bank( SWIFT No.: [% ph.artist_swift %]
IBAN: [% ph.artist_iban %]
For more specific information about how to relate Artist’s bank details to templates, click HERE.
For the due dates, again, we have a simple static and a flexible, but somewhat terrifying version:
Here are some options for the Booking Fee due dates:
2016-12-31
[% ph.booking_fee_duedate %]
31.12.2016
[% booking_fee.due_date.split(‘-‘).2 %].[% booking_fee.due_date.split(‘-‘).1 %].[% booking_fee.due_date.split(‘-‘).0 %]
… and some options for the Artist Fee due date:
31.12.2016
[% ph.guarantee_fee_duedate_dd %].[% ph.guarantee_fee_duedate_mm %].[% ph.guarantee_fee_duedate_yyyy %]
31.12.2016
[% artist_fee.due_date.split(‘-‘).2 %].[% artist_fee.due_date.split(‘-‘).1 %].[% artist_fee.due_date.split(‘-‘).0 %]
Maybe in your contract you want to have the due dates automatically calculated in reference to the print date (today) or the event date.
In that case put this definition on top of your contract:[% USE date %]
[% calc = date.calc %]
… and then calculate flexible due days:
example 1: printdate plus 14 days
[% $printdateplus14days = calc.Add_Delta_Days(ph.printdate_yyyy,ph.printdate_mm,ph.printdate_dd,14) %]
[% $printdateplus14days.2 _’.’_ $printdateplus14days.1 _’.’_ $printdateplus14days.0 %]
or example 2: 30 days before event date
[% $thirtydaysbeforedate = calc.Add_Delta_Days(ph.startdate_yyyy,ph.startdate_mm,ph.startdate_dd,-30) %]
[% $thirtydaysbeforedate.2 _’.’_ $thirtydaysbeforedate.1 _’.’_ $thirtydaysbeforedate.0 %]
*Now that we are done with the money section, there are some interesting options for the requirements of the artists in regards to travels, accomodation, hospitality and tech-riders:
For large amounts of text, use our variables for the BOOKING / ARTISTS / Artist Defaults
Travel / Flights en: [% ph.travel_info %]
Travel / Flights 2nd : [% ph.travel_info2 %]
Accomotation / Hotel en: [% ph.hotel_classification %]
Accomotation / Hotel 2nd : [% ph.hotel_classification2 %]
Catering / Hospitality en: [% ph.catering_info %]
Catering / Hospitality 2nd : [% ph.catering_info2 %]
Techrider en: [% ph.techrider %]
Techrider 2nd : [% ph.techrider2 %]
For smaller units, you can either use variables from the BOOKING / ARTISTS / Other Defaults section or even create custom variables. 
Also here is useful tip if you want to automate the selection of one variable or another depending on the performance type (DJ or LIVE): Here is a variable and conditional clause to display variable ”ph.techrider2” whenever the performance type is “Live”, otherwise it will be the standard techrider:[% pt = ph.performance_type %]
[% IF pt.search(‘Live’) OR pt.search(‘live’) %]
[% ph.techrider2 %]
[% ELSE %]
[% ph.techrider %]
[% END %]
Here are more useful placeholders:
Travel Party (Names): [% ph.artist_names %]
Travel Party (Amount of People): [% ph.travel_qty %]
Artist link: [% ph.artist_url1 %]
Artist 2nd link: [% ph.artist_url2 %]
Artist guestlist / free tickets: [% ph.guestlist_tickets %]
Artist Hotel Star-Rate: [% ph.hotel_stars %]
Amount of Rooms: [% ph.double_rooms %]
Amount of Suites: [% ph.suites %]
*When it comes to Hotel dates and the amount of nights in the Hotel, there’s also some variables and calculations available:
this is the Check-in day for the Hotel, in the format: 31.12.2016[% ph.date_hotel_start_dd %].[% ph.date_hotel_start_mm %].[% ph.date_hotel_start_yyyy %]
this is the Check-out day for the Hotel, in the format: 31.12.2016[% ph.date_hotel_end_dd %].[% ph.date_hotel_end_mm %].[% ph.date_hotel_end_yyyy %]
to display “Rooms for x nights” in a document, add this calculation to the template:
a) put on top of template:[% USE date %]
[% calc = date.calc %]
b) and in your template put for Sx [% calc.Delta_Days(
ph.date_hotel_start_yyyy,ph.date_hotel_start_mm,ph.date_hotel_start_dd,ph.date_hotel_end_yyyy,ph.date_hotel_end_mm,ph.date_hotel_end_dd) %]
Example: 1 double room for 2 nights
*Another common placeholder in a Booking contract is the Artist Name to be printed on posters, i.e. the billing:
[% ph.artist %] ([% ph.announce_as %])
*Last but not least, you might want to add the date of contract, or a signature at the bottom of the contract:
Date of Contract (2016-12-31): [% ph.print_date %]
Date of Contract (31.12.2016): [% ph.printdate_dd %].[% ph.printdate_mm %].[% ph.printdate_yyyy %]
Artist Signature: [% ph.signature %]
(needs to be uploaded and included)
new template tag connected to the CHECKLIST feature.
[% ph.checklist(‘Artwork approved’) ? ‘Yes’ : ‘No’ %]
ph.checklist()
Returns a TRUE or FALSE value if the item is checked or not.
Step by Step Guide to variables in a standard Booking Contract
Recently Viewed
Your recent pages