Price agreements and subscriptions

Infradox version 31.2 supports pricing agreements that you can link to user accounts. This function can also be used for subscriptions.

Page last updated on 2 November 2021

Recommended reading

Jump to

Introduction

Infradox lets you create any number of pricing agreements which you can then link to user and/or organisation accounts. Multiple agreements can be linked to accounts. You can use the pricing agreements just for your own information (pricing agreements will appear on order pages in backoffice), but you can also make price agreements available on the client facing pages. I.e. if there are pricing agreements that a user can apply when ordering a file, these will appear on preview pages and the cart page. Users will however still be able to order files without making use of any of the agreements available to them (unless you don’t want this). Pricing agreements can be configured to limit what an agreement can be used for, e.g. you can exclude certain suppliers, you can make an agreement valid for a certain period only, for images only, for royalty free only, for files of a fixed size only and so on. And you can also limit the number of downloads – either indefinitely or in a month. This way you can configure agreements to be used for subscriptions.

Creating and editing price agreements

To view and edit pricing agreements, go to User management and click on the Pricing agreements button in the toolbar. This will open a dialog showing all the previously created agreements. To add a new agreement, click Add agreement at the top. The properties dialog as in the screen shot below will display.

The first tab has the following properties:

“Use for pre-paid subscription”
In version 32.11 or later you’ll see a checkbox “Use for pre-paid subscription” if you are creating a new agreement. Tick this box to set the correct settings for agreements that are to be used for this purpose. Previous versions don’t have this checkbox yet.
Can be assigned
If this setting is enabled, the agreement can be linked to user and organisation accounts.
Enable on website
If you create an agreement for use by staff members only, then leave this unchecked. To make it available to users on the client facing pages, check this setting.
Title
Enter a short title that makes clear what this agreement entails.
Description
Enter a complete description of what the agreement entails. On client facing pages only the title appears and when the user hovers over the help icon, the full description appears. If the agreement is limited (see below) to certain types of content or suppliers, then make this clear in the description.
Media
Select the content types/media for which the agreement can be used.
Rights
You can limit the agreement so that it can be used for Rights managed or Royalty free files only.
Type
You can limit the agreement so that it can be used for Editorial or Commercial files only.
Maximum files, and Periodicity
Agreements can be configured to be used for a maximum number of files only. Either indefinitely or within a month. Note that when you link an agreement to an account, you can specify the start and end date. So if you are creating an agreement for e.g. a subscription that lets a user download 50 files per month for a year, then enter 50 in the maximum files input box and select per month in the dropdown box next to it.
Fixed size
Enter 0 to leave the normal download function unchanged (i.e. the user can choose a file size on the download page) or enter a number of pixels for a fixed file size. The file will always be the specified size regardless of the pixel sizes etc that you have configured via File collections.
Fixed size label
If the agreement is configured for a fixed size (above) then the normal file information (configured via File collections) won’t display, the text that you enter will display instead. Note that his option can be used with Images only.
Discount
If you are configuring an agreement for staff member use only (i.e. users won’t see it or be able to select it) then you can configure a discount percentage.
File price
Enter a price in your own currency. These prices will be visible to the user if the setting Hide prices (at the bottom of the dialog) is not checked. If the agreement is available to end users then prices should be made visible – unless the agreement is used for a pre paid subscription.
Disable user’s discount
With this setting checked, the normal discount that may have been configured on the user’s account will not be applied on orders that have one or more files with this agreement applied.
Disable coupons
With this setting checked the user won’t be able to apply a coupon code (for extra discount) to orders that have one or more files with this agreement.
Hide prices
If you don’t want to show the price on the client facing pages, then check this setting. This can be used if the agreement is created for a subscription.
Hide total price
With this setting checked, the total price will not show at the bottom of the cart page. Again, this is for agreements that are created for subscriptions.
Enable download permissions
Check this setting if the user is allowed to download the files immediately – even if his/her account does not have immediate download permissions.

Note that an agreement will not appear on the client facing pages unless it can be applied to a file. I.e. the properties that you configure determine whether an agreement can be used for a certain file or not. So for example, agreements for RF files only can not be used for RM files.

Suppliers

You can limit agreements to files that are not from certain suppliers, or that are from specific suppliers only. And the same is true for supplier groups. Click on the Suppliers tab and enter part of a supplier name in the input box and press enter. A list of matching names will appear in the list. You can click on the names to add them to the box. When you’re done adding the suppliers, click close to hide the list. You’ll finally need to select either the “Excluded” or “Included” radio button. If Included is selected, then the agreement can be used for files from the specified suppliers only. If Excluded is selected, then the agreement can be used for all files except the files from the files of the selected suppliers.
You can also include or exclude entire supplier groups. This works the same as described above.

Linking agreements to accounts

You can link agreements to both user accounts and organisation accounts. The agreements available to a user are the agreements linked to his/her organisation and those linked to the user’s account. Find the user account (or organisation account) and open its properties. Click on the Prices tab. All the agreements that you have created are listed in the box on the right. The box on the left shows the agreements that are linked to the account (see below screen shot). To link an agreement, drag it from the box on the right to the box on the left. To remove it drag it from the left to the right. If you have created many agreements you can type a few letters in the Filter input box. This will help you find the agreement that you’re looking for (agreements that do not have what you entered in the title are hidden).

When you drag an agreement to the box on the left, a dialog will open. Select a start date for the agreement.
You can (temporarily) disable the agreement for a user. For example if you don’t want the agreement to be used for orders if the subscription invoice has not yet been paid in full. It is recommended to describe why the agreement is disabled in the notes box.
The end date is optional, you need to enter a date only if the agreement is valid for a specific time period only.

You can change a user (or organisation) agreement with the edit link.

Important

  • A user’s agreement data is read only when the user logs in. If you make changes to an agreement while a user is logged in, such changes will not take effect until after the user has logged out and in again. Also read the FAQ’s below
  • Note that you do not have to create new agreements for different user or organisation accounts. Simply link an agreement to as many user or organisation accounts as you want.
  • You can’t create a subscription invoice if you have not configured the agreement to be used as such. Read the below paragraph “Using agreements for subscriptions”.

Management pages

  • The User management overview page has a new filter that lets you list user accounts with one or more pricing agreements only.
  • There’s an orange indication in the user overview for accounts that have agreements.
  • The Order management overview page clearly indicates that there are files to which price agreements are applied.
  • The admin Order page shows how many agreements the user has. You can click on the button to show the agreement details.
  • The admin Order page shows the applied agreement for each order detail
  • Administrators/Staff members can apply pricing agreements to a user’s order details

Using agreements for subscriptions

You can create price agreements that you can use for pre-paid subscriptions. For example to let a user download 10 files in a month for a fixed price.

If you are using the invoicing module, you can create an invoice for a subscription and all downloads will be automatically added to the subscription invoice so that supplier payments et cetera work as normal. Here’s how you can do this:

  1. Create a price agreement and configure it so that it can be used as a subscription (i.e. you must specify a price per file and a maximum number of files that can be downloaded, and the price agreements must be “client facing” or your user won’t be able to select it when downloading/ordering files).
  2. If the agreement is for a single user, then link the agreement to a user account by dragging it from the box on the right to the box on the left in the user properties dialog.
    If the agreement applies to all users of an organisation, then do not link the agreement to a user account but to the organisation.

If your website is running on version 32.11 or later then click on the Save button (not Save and Close) in the user dialog. The list of linked agreements will reload in the user dialog, and the agreement that you have just linked will show “Create invoice”. Click this link to add the subscription invoice for this account. The invoice will load so that you can make changes (if any) and then click Save.

If the agreement is linked to an organisation, then make sure to create the invoice for the organisation.

If your website is running on an earlier version, then do the following (you can still use this method in 32.11 or later too):

  1. Create an invoice and select the “Final” radio button.
    This will make the Subscriptions drop down box appear (above the radio buttons) with all the user’s subscriptions that are suitable for invoicing.
    You can only select subscriptions that are not already invoiced.
  2. Select the subscription that you want to invoice, and create an invoice detail with a price that matches the subscription total (e.g. 10 files for 10 Euro each means that the invoice detail amount must be 100 Euro.
  3. Save the invoice.
  • The filters on the Invoice management page let you filter the overview for subscription invoices.
  • You can create a Credit note for subscription invoices as long as no files have been downloaded.
  • Invoice details are automatically added to the subscription invoice when the user creates an order by use of the subscription.
    However, invoice details are not created until download permissions are enabled.
    If you have configured the subscription to automatically enable download permissions, you won’t have to do anything.
  • The invoice detail with the total subscription amount is automatically updated every time an invoice detail is automatically added.
  • The subscription is automatically marked as “Fulfilled” when the maximum number of downloads has been reached.
    Both the website admin and the user will receive an e-mail notification about this.

Important

  • If an agreement that is configured to be used as a subscription does not have automatic download permissions configured, then the order detail will not be added to a linked subscription invoice when the user finalizes an order.  The order detail will be added to the invoice automatically when you grant download permissions on the order.
  • If an order detail has a blocking restriction, then the order detail will not be added to a linked subscription invoice when the user finalizes an order.  The order detail will be added to the invoice automatically when you remove the blocking restriction from the order detail, and grant download permissions on the order.
  • If you create an agreement/subscription that is to be used by more than one user belonging to an organisation, then create a subscription invoice for the main finance account of that organisation (you can select the main finance account on the “Invoices to” tab of the organisation dialog).

The below screen shot shows the agreement dialog with price agreements that have been configured for subscriptions and that are invoiced:

An automatically updated subscription invoice:

How to…

Apply a price agreement to order details manually

To apply a user’s price agreement to one or more order details, open the order page. First select the order details that you want to change with the check boxes in the left most column. Or click the check box in the header bar to select all order details. At the top of the page there’s a button with the label “There are price agreements for this user account”. Click this button to display all the user’s price agreements and/or subscriptions, this includes the ones that are linked to the user’s organisation. Click the “Apply” button to attach agreement to the selected order details.

Important

  • This function does not check the conditions/restrictions of the agreement, you will have to make sure that the price agreement can be attached to the order detail.
  • Applying a price agreement may change the prices and other properties that are stored in the order details, as the prices of the agreement will be applied.
  • If the price agreement is invoiced as a subscription invoice, then the subscription invoice will be automatically updated.
  • If the message “You have selected one or more order details that are already invoiced” appears, then remove the price agreements from those order details first (below).

Change order details to other price agreements

If there are multiple price agreements for a user and you want to change the applied agreement to a different one, you can follow the same procedure as described in the paragraph “Applying a price agreement to order details manually”. Note that if the order details are linked to an agreement for which a subscription invoice exists, that you’ll have to remove the agreement from the order details first (below).

Removing price agreements from order details

Open the order and select the order details that you want to change. Then click the “Agreements” button in the toolbar. Click the button to remove the agreements from the selected order details. If there are subscription invoices for the agreements, these are automatically updated by this action.

Important

  • This action will fail if you try to remove a price agreement for which a subscription invoice exists from an order detail – and the invoice detail is already marked as “paid” to the contributor/supplier (i.e. it was part of a payment run).

Add files to a subscription invoice

You can add files to a subscription invoice from the order pages only. Please read “Applying a price agreement to order details manually” above.

Remove files from a subscription invoice

You can remove files from subscription invoices – provided that the invoice detail is not marked as paid to the contributor/supplier, i.e. it has not been part of a payment run yet. To remove a file, open the Invoice page and click on “Remove detail” in the invoice detail row. The agreement will be removed from the order detail. The invoice detail will be removed from the invoice and the invoice will be updated after which the page will reload.

Note that you can also remove files from subscription invoices from an order page. This is described in the paragraph “Removing price agreements from order details” above.

FAQ and Troubleshooting

  1. If an agreement that is configured to be used as a subscription does not have automatic download permissions configured, then the order detail will not be added to a linked subscription invoice. Note that in this case, the order detail will be automatically added to the invoice when you grant download permissions on the order.
  2. If an order detail has a blocking restriction, then the order detail will not be added to a linked subscription invoice when the user finalizes an order. If you remove the blocking restriction from the order detail, it will be automatically added to the invoice once you have granted download permissions on the order.
  3. If you link a price agreement to a user account and you select a start date that is not in the future, then the user will be able to select that agreement for his/her orders. Files are added to subscription invoices when a user finalizes an order. If the subscription invoice has not yet been made, then the files can’t be added to the invoice. You can remedy this by either selecting a start date that’s in the future so that you can create a subscription invoice before the agreement is available to the user.
    Or you can add files to the subscription invoice afterwards as described in the paragraph “Applying a price agreement to order details manually”.
  4. If you are sure that the above items do not apply, then make sure that the subscription invoice is created for either this user, or for the main finance account if the agreement is attached to an organisation/company.

Make sure that

  • the user is actually linked to the organisation/company (open the user properties dialog and check the Organisation tab),
  • the agreement’s start and end dates are correct,
  • the agreement is not disabled,
  • the agreement is not already “fulfilled”, e.g. that the maximum number of files has not already been reached,
  • the agreement is marked as “visible on the client facing pages”,
  • the subscription invoice is created for the main finance account of the user’s organisation/company. You can select the main finance account by opening the organisation’s property dialog, then select the user account on the “Invoices to” tab.

This is not possible. You can create a separate credit note so that the contributor’s amount will be correct with the next payment run.

Make sure that

  • the user has logged out and in again,
  • the date range is correct – i.e. that it’s still valid,
  • the agreement is not disabled,
  • the agreement is not already “fulfilled”, e.g. that the maximum number of files has not already been reached,
  • the agreement is marked as “visible on the client facing pages”.

Make sure that

  • the date range is correct – i.e. that it’s still valid,
  • the agreement is not disabled,
  • the agreement is not already “fulfilled”, e.g. that the maximum number of files has not already been reached,
  • the file that the user tries to order matches the conditions of the agreement (e.g. a subscription for RF images won’t let you order RM images).

You can “disable” an agreement when you link it to a user or organisation account (or when you change it later on).  Remember to untick the “Disabled” check box once the invoice has been paid.

Yes, create an invoice as you normally would. The files that are linked to a subscription invoice are skipped.

You can create a credit not for the invoice and after that you can apply a price agreement/subscription to the order details as described in the paragraph “Applying a price agreement to order details manually”.

If a price agreement is attached to an organisation, there is a very slight chance that two users finalize an order at the exact same time. This may result in more files being added than should be allowed.

It is however more likely that files were added to an agreement by an admin without checking the number of allowed files.

This can have happened if

  • you changed the settings of an agreement after the order was created,
  • you applied an agreement to an order detail without checking its conditions and restrictions.

First make sure that the “Enable on website” check box is ticked. If it is then make sure that you have configured the agreement to be used as a subscription agreement. Subscription agreements must have a “File price” and all the check boxes in the “Settings” section at the bottom of the dialog must be on.

Make sure that the agreement is configured to be used as a “subscription” agreement (see above).
If it is, then make sure that a main invoice account has been configured for the organisation on the organisation dialog’s “Invoices to” tab.

If a subscription is created for an organisation, then all its users (i.e. accounts linked to the organisation) can use the subscription to order files.
If the subscription was created for the user that has left the organisation, then you should disable that user’s account. Other user accounts can not order files using the existing agreement. It is not possible to transfer an agreement to a different user or organisation account. You can create a new subscription for the remaining files and then create a new subscription invoice for that agreement that you can immediately mark as paid.

Agreements/subscriptions that are created for an organisation are always available to all users belonging to the organisation. If you don’t want this, then you can create subscriptions for individual users only. In that case you’ll need to create separate subscription invoices too.

You can no longer change the start date and end date after a subscription is marked as fulfilled. You can also no longer change the “Disabled” setting of a fulfilled subscription after it has already been saved with this setting. You can still change the notes.

Subscription invoices that are created for an organisation appear on the overview of the main finance account only, such invoices do not show on the overview of each user account belonging to the organisation.

The price agreement was removed from the user account. Before 32.11 this was possible even if there were order details that were created using a price agreement, provided that those order details were not invoiced. This has been changed in version 32.11 – you can no longer remove a price agreement from an account if there are order details for the agreement. You can remove agreements from order details as described in the above paragraphs, after which it will be possible to remove the agreement from the user or organisation account.

Select the agreement in the filters drop down at the top of the order management page. Then tick the “Ignore date range” box.
You can also specify other filter parameters, for example to list all the orders that were submitted for a specific price agreement by a user.

Select the agreement in the filters drop down at the top of the user management page. Then select the “Ignore date range” option in the date range filters box.

Technical implementation

The following paragraphs are about technical implementation of the price agreements functionality if you want to make price agreements available on the client facing pages (you can also use price agreements for your own information only).
The required templates, JavaScript and CSS for use on the client facing pages must be added to the code editor. We have taken this approach to allow for maximum flexibility. I.e. to let us/you change how the process works depending on your specific requirements. You’ll find examples in the code editor that you can use, but we are of course available to take care of all of this for you.

Backoffice settings

Once the technical implementation (read below) is completed, there are a few settings that you need to change in Backoffice:

  • Go to Site configuration > Preview pages > Buttons – and tick the setting Hide Quote, Pricing and Download buttons if there are pricing agreements.
  • Go to Site configuration > Cart page > Cart page settings – and enable the price agreements.

Furthermore there are some optional changes that you may want to make:

  • To list the user’s price agreements on his/her account page, go to Site configuration, Website forms and open the section My account form. At the bottom of this section, check the Price agreements setting. Scroll down and click Save. Users can now see their price agreements and how many files they have ordered. If a price agreement limits the number of files one can download, it will also show how many files can still be ordered.
  • Note that an overview of the user’s agreements are also visible on the cart page. There’s a button for it at the top of the cart page.

Templates, script and CSS for price agreements

The following templates must be added in the code editor:

  • Preview > Price agreements outer (170) – the HTML that will contain the details (below)
  • Preview > Price agreements inner (171) – the HTML that is repeated for every available agreement within the outer HTML
  • Cart page > Price agreements outer (180) – the HTML that will contain the details (below)
  • Cart page > Price agreements inner (181) – the HTML that is repeated for every available agreement within the outer HTML
  • Order page > Price agreements outer (190) – the HTML to display information re the price agreement that is linked to the order detail
  • Several pages* > Price agreements info detail (191) – the HTML to display information re the user’s price agreements

* Template 191 is used to display information about the user’s price agreements and this template is/can be used on the My Account page, the Cart page and the Order page.

You can find ready to use examples for each of the above templates in the code editor.

CSS

In the code editor you’ll find the CSS necessary for this example, the file is called price-agreements-radios.txt. Copy the CSS and paste it into the code editor. It looks like this:

Javascript

To let the user add a file to the cart from the preview pages with a selected pricing agreement, you will need to add the beforepreview method to the client object, or if it already exists then you’ll just have to add the script to it. Below is the example script that you can find in the code editor examples . It lets the user select a pricing agreement or other use (in case the user doesn’t want to apply one of the available agreements), and to add a file to the cart with that selection applied. The name of the file with the code for our example is before-preview-method-priceagreements-radio.txt.

Cart page script

Finally, you’ll need to add the Javascript for the Cart page (the Javascript object name is xscart). In the code editor, open template 43 – Cart script. Then click on Load example, select and and load the example script in the dialog and save your template.

Testing

Once you have completed all the steps in this article, you should create a testing price agreement and then link that agreement to one of your testing accounts. When logged in with the testing account in one browser, and with your admin account in another browser – create a few orders to familiarize yourself with the process and to make sure that everything works as expected on both the client facing pages and in back office. Do not link price agreements to other user accounts if you have not tested the process at least once.