Best Practice: Setting Up a JustOn Project

You use Salesforce to manage customers, deals or products. Now you want to monetize your offering – you need e-invoicing with JustOn Billing & Invoice Management. The guidelines below will get you going.


Your businesses vary, and so do the ways you set up your billing and invoicing solution. There are, however, some general recommendations. Following them helps realizing JustOn projects smoothly.

This article both

Best Practice: Setting Up Billing and Invoicing Solution walks you through setting up JustOn Billing & Invoice Management completely for two major business scenarios: contract-based recurring billing and one-time sales.

How to Proceed

Production vs. Sandbox

Basically, we recommend to install and configure most of JustOn Billing & Invoice Management in your production org. Doing so

  • saves time and money,
  • keeps your business running without interferences,
  • makes sure all data and access permissions are available.

For details, see Why install and configure JustOn in a production org?

This advice does, however, not extend to custom implementations or functional tests. To this end, we still recommend to create a sandbox copy of your production org after the general JustOn configuration is done.

Note that we do not recommend to use developer sandboxes for two reasons: they do not contain any of your original org's data, and setting up JustOn does usually not involve Apex development. Therefore, use full or partial sandboxes instead (see Sandbox Types and Templates in the Salesforce Help).

Remember that your approach may vary, but here is our rule of thumb:

  1. Beyond the installation itself, you do everything that involves the creation or modification of data records within the scope of the delivered package in the production org.

    alt text

    This includes, among others,

    • Custom settings
    • Templates
    • Dunning process configuration
    • Bookkeeping data generation

    Once done, you refresh your sandbox and proceed to customize your solution.

  2. In the sandbox, you can do anything that extends the scope of the delivered package and all testing.

    alt text

    • Creating custom objects
    • Creating custom fields on standard, JustOn or custom objects
    • Setting up custom processes
    • Scheduling jobs

    Once done, you create a change set and deploy it to your production org.


Note that depending on some feature's complexity you may have to iteratively switch between configuring the production org and customizing in a sandbox.

Related information

Deploy Enhancements from Sandboxes in the Salesforce Help
Sandbox Types and Templates in the Salesforce Help
Create a Sandbox in the Salesforce Help
Refresh Your Sandbox in the Salesforce Help
Change Sets in the Salesforce Help

JustOn Installation

Before you start, make yourself familiar with JustOn's operating requirements:

Which Salesforce edition is required for JustOn?
Which browsers does JustOn support?
Why install and configure JustOn in a production org?
Why install JustOn for admins only?

Preparing JustOn Installation

  1. Enable the following Salesforce features for JustOn Billing & Invoice Management:

  2. For development purposes, disable browser caching for the Salesforce session (see why).

    1. Click to enter Setup, then open the Session Settings page.

      In Salesforce Lightning, navigate to Security > Session Settings.

      In Salesforce Classic, navigate to Security Controls > Session Settings.

    2. In the Caching section, deselect the checkbox Enable secure and persistent browser caching to improve performance.

    3. Click Save.

Installing JustOn

  1. Open the app listing in Salesforce AppExchange to get JustOn Billing & Invoice Management.
  2. Click Get It Now to invoke the installation procedure.
  3. Follow the instructions and provide the required information as necessary.

    When prompted

    • Choose the option Install for Admins Only (see why)
    • Allow access to third-party websites (see why)

Post-Installation Steps

To complete the basic installation:

  1. As a system administrator, grant login access to JustOn Support.

    For details, see How to grant login access to JustOn support?

  2. Assign the relevant permissions to your users who need them.

    This involves creating a permission set that covers the required access settings for

    • the Balance object, its fields and the Balance tab,
    • the Type field of the Task object,
    • and any project-specific custom objects and fields, Visualforce pages and Apex classes.

    For details, see Enabling Access for New Users.

  3. Assign a JustOn license to your users.

    For details, see Assigning Licenses for Managed Packages in the Salesforce Help.

Feature Implementation

Modeling Billing and Invoicing

Generally, your business model and the nature of your products determine how to set up the billing engine of JustOn Billing & Invoice Management:

  • If you want to bill recurring items, usage data, etc. on a regular basis, we recommend to create subscriptions and, consequently, to produce invoices based on them.
  • If you sell one-time products, however, you do not need subscriptions – you can directly create invoices from arbitrary objects.

Deciding how to set up JustOn billing

For details, see

Other specifics that may impact the way you configure the software include

  • Billing type, depending on the nature of your products: One-Time, Transactional (for usage data), Recurring or Recurring Prorated
  • Your pricing model
  • Number of involved parties, like in a marketplace model


Whatever process you model, configuring JustOn billing and invoicing processes usually involves

  • Creating a number of custom fields on your source objects – controlling fields, which hold meta data for assignment purposes and process control, and data fields, which hold the actual data to be invoiced
  • Creating filters, which selectively narrow down the set of records included in an invoice run or subscription build
  • Setting up the (automatic) invoice generation
  • Creating a permission set that covers the required access settings for any project-specific custom objects and fields

As mentioned before, depending on the features' complexity you may have to iteratively switch between configuring the production org and customizing in a sandbox.

Best Practice: Modeling Billing and Invoicing walks you through setting up JustOn Billing & Invoice Management completely for two major business scenarios: contract-based recurring billing and one-time sales.

Configuring JustOn

To meet your business requirements, configuring JustOn involves a number of additional tasks beyond implementing the actual billing and invoicing model. Usually, you cover these topics in the production org.


The template is the model based on which the PDF copy of an invoice, dunning reminder or account statement is rendered. It defines its contents and layout. Produced PDF documents are intended to be distributed via email or postal service to customers, and can be exported and archived.

Combining data with a template to produce an output

In addition to the fields that are printed to the PDF, the templates also include texts for the email that JustOn sends to distribute the rendered PDF documents.

You create a dedicated template for each language (and, possibly, other criteria) you want to support.

How to specify which template to use?

Depending on your business scenarios, you may have to use dedicated templates to support, for example,

  • different locales (languages),
  • specific customer groups,
  • individual business entities.

So if there are multiple templates, what is the best way to specify which one to use – for a specific use case or as a fallback?

This is how JustOn Billing & Invoice Management looks for a template:

ON_Template field on the invoice source records
ON_Template field on the account
     ↳ Template field on the business entity
          ↳ Default template

(1) To predefine a specific template for your standard use cases, you usually set it via the ON field ON_Template on your source records for the invoice generation.

Generally, ON_Template is a formula field. In the simplest use case, you just name the template to use. If necessary, however, you use a formula that returns a dedicated template according to your specific criteria – target region, business entity, product group, etc.

(2) As a more general setting, you can define a dedicated template per customer – using an ON_Template field on the account. If the source record does not specify a template, JustOn uses the one set on the account.

(3) In addition, you can set a template per business entity. If there is no template defined on the source record or the account, it is retrieved from the Template field on the business entity that is related to the target record (invoice or statement).

(4) If neither the source record, the account nor the business entity specify a template to use, JustOn Billing & Invoice Management falls back to the Default template. Note that you can leave the Default template shipped with the package untouched and use this as your fallback, or create a custom template according to your needs and name it Default.


As long as an invoice has the status Draft, you can assign another template to the invoice.

Preparing templates usually involves the following tasks:

  • Defining standard texts for both the printed document and the related email
  • Including a logo, adjusting the layout
  • Defining a counter
  • With templates v1, creating placeholders for custom fields to be included in templates
  • With templates v1, creating template details for your use cases


The way you configure and work with templates differs depending on the PDF rendering approach you use:

  • Visualforce PDF rendering (v1)
  • JustOn PDF service (v2)

For details, see Working With Templates.

Custom Settings

Custom settings are a means to manage custom sets of data that can be accessed across your org. For an introduction and general information, refer to Create Custom Data Sets in the Salesforce Help.

JustOn ships a number of custom settings to support the business processes around invoice generation and management. The most relevant that you are very likely to use include


Modify the list view All for your custom settings to show all relevant fields in the table. For details, see Create a Custom List View in the Salesforce Help.

Page Layouts

In order to meet your users' needs, you may have to modify existing page layouts or create new ones.

Additional Features

Depending on your business use cases, you may need to configure additional features like

For a summary of JustOn's features, see JustOn Overview. For further explanatory documentation, see

For definitions of individual concepts, refer to our glossary.